티스토리 뷰
이전에 Next.js 프로젝트인 `Quick-News`의 `Lighthouse` 점수 개선을 시도한 적이 있었다.
다행히, `Performace` 점수를 제외한 나머지 세 개 점수는 모두 100점으로 개선할 수 있었다. 그러나, 가장 중요한 `Performance` 점수를 개선하는 데 굉장히 많은 어려움을 겪고 있었다. (이는 현재 진행형이다)
`Lighthouse`에서 어떤 점이 문제이고, 어떻게 개선하면 좋을지에 대해 나타난 정보들을 모두 확인하여 많은 개선 시도를 했음에도 불구하고, 점수는 크게 개선되지 않았다.
한 가지, 현 컴퓨터의 성능이 굉장히 오래된 컴퓨터이기 때문에, 성능 상 문제로 인해 `Performance` 점수에 영향을 줄 수 있다는 것을 고려해도, 위의 점수는 굉장히 낮다. 나는 70점을 목표로 `BFCache`를 개선하거나, 이미지 크기를 `Webp`로 변경하여 최적화를 하거나, 중복된 컴포넌트 또는 불필요한 코드들을 제거하여 비효율적인 부분을 줄이는 등 여러가지 시도를 했다. 그렇게 해서 나온 점수가 위의 점수이다.
페이지 로드가 느려서 발생한 문제는 컴퓨터 성능과 관련이 있기 때문에 어쩔 수 없다고 생각해도, 도저히 다른 부분은 이해가 안 된다. 아직 어떤 해결 방법을 찾지 못했다.
그러다가, 구독 중인 `개발바닥` 채널의 최신 영상을 보게 됐다. (`개발바닥` 채널을 운영하는 두 분은 배달의민족인 우아한형제들에서 서버 개발자였던 `향로`님과 반려생활에서 서버 개발자로 근무하고 계시는 `호돌맨`님이다.)
바로, 반려생활의 웹 서비스를 `Next.js`로 구현했다는 내용이었다.
"반려생활 앱만 있었는데, 웹 서비스로 만들었다고?", "그것도 Next.js로?"
궁금했다. 반려생활의 웹 서비스 성능이 어떤지 말이다. 그래서 반려생활에 접속하여 `Lighthouse`를 실행해봤다.
점수를 확인하고 나서 깜짝 놀랐다. 예상 외로 점수가 낮아서 말이다. 위의 `Quick-News` 프로젝트의 점수보다 더 낮다는 것에 오히려 당황했다.
물론, 프로젝트의 규모에서 큰 차이가 있겠지만, 내 실력과 반려생활 개발자 분들의 실력 차이도 크기 때문에 좋은 성능으로 구현했을 것이라고 생각했다.
이 결과를 보고 나니, 성능을 개선하는 게 얼마나 어려운 일인지 크게 깨닫게 됐다.
"이것을 수정하면 되겠지.", "저것만 고치면 되겠지."
이런 단순한 생각으로 성능을 개선할 수 있다고 생각한 것이 민망했다. 조금 더 진지하게, 더 깊게 고민하여 성능 개선에 다가가야 할 필요성을 느꼈다.
'프론트엔드 > NextJS' 카테고리의 다른 글
캘린더 메모 서비스 스케치 (0) | 2025.01.15 |
---|---|
이제서야 깨달은 SSR로 데이터 가져오기 (0) | 2024.10.05 |
Next.js에서 SSR 방식으로 News API 데이터 가져오기 실패 (0) | 2024.10.02 |
첫 Lighthouse 개선기 (Accessibility/Best Practices/SEO) (1) | 2024.09.07 |
퀵뉴스 프로젝트, 검색 요청 개선기 (0) | 2024.02.16 |
- Total
- Today
- Yesterday
- 자바스크립트
- 원티드 프리온보딩
- 포스텍애플아카데미
- 그룹인터뷰후기
- node
- DB Error MongooseServerSelectionError
- PostechAppleDeveloperAcademy
- Express
- #포스텍애플디벨로퍼아카데미
- Singleton
- 원티드 프리온보딩 챌린지
- 설명회느낌점
- 싱글톤
- 고민한 부분
- 신입개발자가 준비해야 할 것들
- javascript
- 개발자이력서꿀팁
- 코딩테스트 대비
- 포스텍애플디벨로퍼아카데미
- Default Branch
- 깃허브 Merge
- LottieFiles
- React
- 개발 이력서 지원 팁
- 최종추가합격
- 스프링
- if(kakao)dev2022
- 프론트엔드 챌린지
- 조코딩과함께
- Frontend
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |