반응형

웹 사이트 성능을 평가하는 지표로 활용되는 Lighthouse 점수.

브라우저로 사이트 접속 하고

개발자도구>Lighthouse  들어가서 점수 확인하는 일이 종종 있습니다

그렇다고

lighthouse 점수가 절대지표는 아니기 때문에(동일 시간에 측정해도 달라짐)

참고치로만 사용하고 있기는 하나
통계나 모니터링 수치로 활용하지 못하고 있습니다.

매번 누군가 수작업으로 기록하면 가능할 거라는 막연한 선입견 때문이....더 정확학 이유 입니다.

 

경험적으로 특정 시점 이후로 웹사이트 성능이 저하되는 것이 접수되면

그제서야 lighthouse 점수가 낮아졌음을 발견하기도 합니다.

 

그래서 lighthouse 점수를 일정 시간 간격으로 측정하고

기록하는 것을 자동화 하는 것에 대해 고민했습니다

 

요즘 업무 자동화에 활용하고 있는 파이썬으로 그 기능을 구현 했습니다

(DB 연동은 제외하고)

lighthouse 점수를 가져오는 코드는 아래와 같습니다

*테스트는 jupyter notebook 에서 수행되었습니다

import os
import json

# 필요한 패키지를 설치합니다.
os.system('npm install -g lighthouse')

# Lighthouse를 실행하고 결과를 JSON 파일로 저장합니다.
os.system('lighthouse --quiet --chrome-flags="--headless" --output=json --output-path=./report.json http://www.naver.com/')

# with open('example.txt', 'r', encoding='utf-8') as f:
#     text = f.read()
    
# JSON 파일에서 데이터를 읽어옵니다.
with open('./report.json', 'r', encoding='utf-8') as f:
#     print(f)
    data = json.load(f)
#     print(data)

# Lighthouse 점수를 출력합니다.
score = data['categories']['performance']['score'] * 100
print('Lighthouse performance 점수:', score)
score = data['categories']['accessibility']['score'] * 100
print('Lighthouse accessibility 점수:', score)
score = data['categories']['best-practices']['score'] * 100
print('Lighthouse best-practices 점수:', score)
score = data['categories']['seo']['score'] * 100
print('Lighthouse seo 점수:', score)
score = data['categories']['pwa']['score'] * 100
print('Lighthouse pwa 점수:', score)

[Result]

Lighthouse performance 점수: 32.0
Lighthouse accessibility 점수: 78.0
Lighthouse best-practices 점수: 92.0
Lighthouse seo 점수: 75.0
Lighthouse pwa 점수: 33.0
반응형
반응형

자주 사용하는 거 기록해 두기!

 

파일명으로  찾기

find ./ -name "*단어*"

파일 크기로  찾기

find ./ -size 5c
5 bytes 찾으려면 1c
5 KB 찾으려면 15k

파일명으로 차아서 지우

find ./ -name "*단어*" -delete

폴더명으로  찾기

ls -R | grep "단어"

빈 폴더 찾기

 

find ./ -empty -type d

빈 폴더 찾아 지우기

 

find ./ -empty -type d -delete -print

 

반응형
반응형

개발 중 제목과 같은 에러가 발생했습니다

"inconsistent use of tabs and spaces in indentation"

 

들여쓰기 시, tab 과 space 가 혼재 되어 있을때 발생한다고 합니다

겉에 보이는 상황은

동일한 들여쓰기인데....난감...

 

아무리 들여다 봐도 안 보입니다

일부러 다른 일을 하다가 보았는데도...상황은 동일....

 

혹시나 하고

메모장으로 copy&paste 를 했더니....

이제서야 잘못된 들여쓰기가 보이는....매직아이급 마법이....

 

동일 문제를 격는 분들은 

너무 고민 마시고

태초의 tool(?) 인 notepad (메모장)에서 확인해 보시길 권장합니다

 

또는 edit tool (editplus, ultraedit, notepad++, ...) 에서

tab, space 를 보이도록 설정해서 확인 할수도 있습니다.

 

noepad++

반응형

'programming > python' 카테고리의 다른 글

[Python] Lighthouse score 가져오기  (0) 2023.04.26

+ Recent posts