블로그를 시작하면서

2023.12.11

미루고 미루던 블로그 개발을 드디어 마무리했다. 물론 최소한의 블로그의 형태만 갖추어서 추가해야하는 부분은 아직도 산더미같이 많다. 그래도 기록하여 남길 수 있는 공간이 생겼다.
원래는 퇴사하고 4개월 가량 아무것도 안 하면서 리프레쉬하는 기간동안 취미, 운동 그리고 가끔의 여행을 즐기면서 틈틈히 하려고 했었다. 그렇게 열심히 놀지도 않았는데 계속 미루게 됐다. 결국 다시 이직 준비를 시작하는 시점에서야 블로그 개발을 시작했다.

개발 블로그를 시작하려고 마음 먹었을 때 선택지는 3개였다. 블로그 플랫폼, 오픈소스 테마를 활용한 개발, 밑바닥부터 직접 개발하기였는데 빠르게 시작하려면 당연히 플랫폼 활용이었다. 하지만 어렵겠지만 계속 내 입맛대로 커스텀해서 내 정체성을 한눈에 보여줄 수 있는 블로그를 만들고 싶었다. 결국 시간이 좀 더 걸리겠지만 Nextjs로 내가 직접 블로그를 만들어보기로 했다.
지금 컨셉은 ide나 코드 에디터였는데 아직은 그렇게 보일 정도로 만들진 못한 것 같다.

주요 기술 스택

  • next@13
  • typescript
  • contentlayer
  • tailwind + css module

대부분 선택한 이유는 생산성이었다. contentlayer은 블로그 포스팅을 위한 콘텐츠를 가장 쉽게 관리할 수 있는 방법이라고 생각했고, 블로그 스타일링은 복잡하지 않을 것 같아 tailwind의 utility class로도 충분할 거라고 생각했다. 그리고 이전까진 npm만 사용했었는데 이번엔 패키지 관리로 pnpm을 사용했다.

Why next 13?

이전에 진행했던 프로젝트에서 next 12를 사용했던 적이 있었다. 당시에 13이 나온지 얼마 안 됐어서 안정성을 이유로 12를 사용했었다. 지금은 이미 13 버전이 릴리즈된지도 오래되었고, 이제는 14 버전까지 나오고 있는 상황에서 13을 안 쓸 이유가 없었다.
프로젝트가 중간에 중단되면서 next를 깊이 써보지 못하고 SSR 프레임워크에 대한 맛보기 정도만 했었다. SSR 프레임워크에 대한 이해를 하는데는 아쉬움이 없었지만, 이번에 꾸준히 운영하면서 더 익숙해지고 싶다.

그래도 13을 선택한 이유는 특히 이번에 변경된 app router 때문이었다.
대부분의 프로젝트 디렉토리 구조를 컴포넌트, 유틸, 페이지, api 등 기능별로 경우가 많았다. 이렇게 나눴을 때 각 폴더 안에서 페이지와 비슷한 구조의 폴더를 만들고 있는 경우가 많았다. 문제가 되는 건 아니었지만 Domain Driven에서 영감을 받아서 약간 변형한 형태로 디렉토리 구조를 짜고 싶었다. 마침 next 13부터 app Router 방식을 기본으로 추천하고 있었는데 이 방식이 딱 내가 생각하고 있던 폴더 구조와 일치했다. 결국 디렉토리 구조를 바탕으로 라우팅하는 고전적인 방식으로 회귀한 느낌이 들긴 하지만 지금 이 구조가 만족스럽다.

app router 구조를 채택했기 때문에 모든 컴포넌트가 기본적으로 서버 컴포넌트로 동작하게 된다. 서버 컴포넌트는 아직 제대로 공부해보지 않아서 아직 잘 쓰고 있지는 않은 것 같지만 좀 더 나은 결과물을 산출할 수 있지 않을지.

Why pnpm?

회사에서 프로젝트를 npm으로 관리했을 때 package install 속도와 ghost dependency 문제를 겪고 있었다. 당시에는 다른 이슈에 좀 더 신경을 쓰느라 패키지 매니저로 해결해보진 못 했었다. yarn, pnpm으로 npm이 갖고 있는 여러 문제를 해결할 수 있다는 것만 알고 있었다. 그래서 이번엔 패키지 매니저를 바꿔보고자 결심을 했다.
yarnpnpm 중에 고민을 했는데 선택은 pnpm이었다. 속도 측면에선 yarn이 우세하다고 하긴 했지만 아직 프로젝트가 작기 때문에 크게 고려할 사항은 아니었다. 직접 비교해본건 아니었고 Yarn 대신 pnpm으로 넘어간 3가지 이유을 읽어보고, yarn pnp의 호환성 이슈와 pnpm도 pnp 기능을 제공하기 시작했다는 점에서 yarn 대신 pnpm을 선택하게 되었다.

개인적으로 node version을 volta로 관리하고 있는데 npm, yarn만 지원하고 있는 상태라 호환성 관련한 이슈를 직접 확인해보고 yarn도 사용해보려고 한다.

앞으로는?

매번 글을 작성해보면 느끼지만 내가 쓴 글은 언제나 좀 딱딱한 것 같다. 지금 블로그 모습이 너무 단순해서 시너지가 엄청난 것 같다. 빨리 더욱 블로그를 다채롭게 꾸미고 싶다.

지금 첫 글을 쓰고 있는 지금 이 상황에서도 벌써 글의 가독성을 헤치는 몇몇 스타일들이 눈에 띈다. 처음부터 완벽한 스타일을 적용할 거라는 생각이 들지는 않았다. 계속 포스팅을 작성해나가면서 껄끄러운 부분에 대한 스타일을 계속 고쳐나갈 생각이고, 최우선으로 모바일에서 읽기 편하도록 반응형으로 변경할 예정이다.

꾸준히 블로그를 이어나갈 수 있길 바라며, 1년 뒤에는 더욱 다채로운 블로그가 되어있길...