웹 포트폴리오를 만들겠다면 고생하다 밤을 새버리고 아침 6시에 잠든 날이었다. 해가 중천이 되어서야 겨우 12시 전에 일어나 카톡을 확인해보니 처음으로 인프런 서류 합격을 받았다. 즐거운 것도 잠시! 구현과제와 알고리즘 테스트를 제출해야 했다.
솔직히 코테라는 말이 나한테는 너무 벽같이 느껴지는 단어였지만, 무작정 도전했다. 추석 연휴내내 코딩만 했던 것 같다.
문제는 구현 과제가 내가 사용하던 npm, cra가 아니라 yarn, Next.js를 사용해야 했다. 부랴부랴 아침에 눈꼽도 못 떼고 Next.js 강의를 들었는데 강의 내용이 너무 좋았다. 구현 과제를 해야 한다는 압박감도 있었지만 그냥 Next.js가 왜 사용하는지 직접 느낄 수 있었다.
스터디를 하면서 SSR, CSR을 조사하며 공부한 적이 있었는데 그 중 정적 페이지를 만들 때 Next.js를 사용한다는 건 대충 이론 상으로만 알고 있었을 뿐이었다. 직접 구현과제를 통해 사용해보니 정적 페이지 만드느 게 얼마나 유용한지를 알게 되었다.
내가 React.js와 Redux만으로 페이지를 만들 때 했던 고민은 API 요청이 느려지면 깜빡임이 생기고(SPA임에도 그렇게 보임) UX를 위해 로딩 처리를 열심히 해야 했다. 그럴수록 나는 정적 페이지를 꼭 만들어보고 싶었는데 이번 구현과제를 통해 Next.js를 사용해 볼 수 있어서 너무 감사했고 기뻤다.
<div id = root></div>
만 두고 사용해서, 크롤링할 수 있는 HTML 내용이 제한적임, 반면 넥스트는 SSR이라서 HTML을 SEO와 웹 접근성을 보다 향상시킬 수 있음 1. 정적 생성
getStaticProps
/ getStaticPath
2. SSR
getSeverSideProps
1. 상품리스트 API를 정적 페이지로 바꿀 때getServerSideProps
오류
1. 커스텀 404 페이지
404.js
파일을 만들어 꾸미면 끝! 2. _document와 App.js와는 다른 존재