[250318] 개인 과제가 끝났으니 회고해야지

김경민·2025년 3월 19일

TIL

목록 보기
57/64

🚀 개인 과제 제출 완료! 간단한 회고

이번 과제는 Next.js의 기초를 활용한 프로젝트였어요. Next.js 자체가 처음이었던 만큼 모르는 게 많아서 시행착오도 많았고, “아, 처음부터 이렇게 할 걸…” 하는 생각이 정말 많이 들었습니다. 이번 글에서는 그 아쉬운 점들과 배운 점들을 정리해 보려고 합니다.

😩 너무 아쉬워!

아쉬웠던 점을 하나씩 되짚어 보겠습니다.

1. 상호작용이 필요한 컴포넌트의 분리 부족

상호작용이 필요한 컴포넌트는 미리 잘 나눠서 렌더링에 방해되지 않게 해야 했는데, 그런 전략이 부족했어요. 그래서 클라이언트 렌더링과 서버 렌더링이 섞이면서 불필요한 렌더링이 발생했던 것 같습니다.

2. 과도한 fetch 호출

서버에서 fetch를 무분별하게 호출했는데, 받아온 응답 데이터가 몇백 줄씩 되다 보니 렌더링에 부하가 심했습니다. 불필요한 데이터를 필터링하거나, 필요한 데이터만 선택적으로 가져오는 방법을 적용했어야 했습니다.

3. 새로운 파일 구조의 미숙함

새로운 파일 구조를 도전하면서 오히려 더 헷갈렸어요. 상수나 매직 넘버를 정리해 둘 파일도 없이 작업이 끝난 뒤에야 그 필요성을 깨달았습니다. 파일 구조에 대한 경험 부족이 그대로 드러난 부분입니다.

4. Route Handler 사용법의 늦은 깨달음

프로젝트 중반부에 Route Handler의 효율적인 사용법을 깨달았는데, 이미 코드 구조가 잡힌 상태라 수정하기 어려운 상황이었습니다. 처음부터 Route Handler를 잘 활용했더라면 더 효율적인 데이터 관리가 가능했을 텐데 아쉬움이 남습니다.

🌟 그래도 이건 잘했다!

아쉬운 점이 많았지만 잘한 부분도 있었습니다.

  • Next.js의 렌더링 기법을 잘 적용했어요.

  • Next.js에서 강조하는 SSR, SSG, ISR, CSR 같은 렌더링 방식의 차이와 사용처를 명확히 이해하게 되었습니다.

  • 처음에는 use client가 정확히 어떤 역할을 하는지 몰랐지만, 이제는 서버에서 정적인 HTML을 생성한 후 동적인 UI로 전환하는 흐름을 잘 이해했습니다. 덕분에 앞으로의 프로젝트에서는 Next.js의 렌더링 최적화가 더 자연스러워질 것 같습니다.

🔥 다음 목표

React도 팀 프로젝트를 거치며 감이 잡히고 실력이 늘었다는 걸 체감했기 때문에, Next.js도 마찬가지로 실전 경험을 쌓으면서 더 발전시킬 계획입니다. 앞으로의 팀 프로젝트에서는 이번 시행착오를 교훈 삼아 더 완성도 높은 코드를 작성하고 싶습니다.

마무리 한 줄

"자기 반성은 성장의 첫 걸음이다" - 소크라테스

이번 과제는 기대보다 반성이 많았던 과제였습니다. 하지만 피하지 않고 직시하며 반성한 만큼, 다음 프로젝트에서는 확실히 성장한 모습을 보일 수 있을 거라고 자신합니다. 💪


📌 이제 진짜 Next.js랑 친해질 시간이다! 😎🔥

profile
김경민입니다.

0개의 댓글