📍 이 글은 사이트를 만들게 된 배경과 기획 과정에 대한 설명이 주를 이룹니다.
들어가며
어느덧 개발자로 일한 지 2년이 넘었습니다.
지금까지 어떤 개발자로 성장했을까? 내가 가진 장점은 무엇일까? 스스로에게 질문해보니,
저는 프로덕트를 아끼고 사랑하는 개발자라는 생각이 들었습니다.
운 좋게도 첫 회사에서 초기 제품을 개발하고 런칭하는 과정을 경험할 수 있었습니다.
그 경험을 통해 제품에 대한 애정이 많이 생겼고, 이 제품이 성장해가는 모습을 보며 기쁨을 얻고
더 동기부여가 되며 일을 해왔던 것 같습니다.
그러다 문득 생각이 들었습니다. 내가 온전히 사랑하고 책임질 수 있는 나만의 프로덕트를 가지고 있을까?
그렇지 않다는 것을 깨달았고, 나만의 프로덕트를 가지고 싶어졌습니다.
무엇을 개발할까? 서비스에 대한 기획부터 시작해야 할까?
생각이 너무 많아졌고 이런저런 고민을 시작하다가, 제가 가진 고민들과 경험들을 기록할 만한
나만의 공간이 있었으면 좋겠다고 생각했습니다.
"그래. 나만의 블로그를 만들자. 처음부터 하나하나 만들어보자."
기술 스택 선택
블로그 제작에 대한 생각은 예전부터 쭉 가지고 있었고, 2년전 쯤 어떤 인도 개발자분의 유튜브 영상을 보면서 실제 작업도 진행했었습니다. 다만 회사일이 바쁘다는 핑계로 블로그의 기본 뼈대까지만 만들고 더이상의 작업은 진행되지 않았었구요.
기존에 작업된 내용은 당시 저에게 익숙했던 스택인 페이지 라우터 기반의 Next.js와 emotion을 이용하여 구현되어있었습니다.
Next.js가 15 버전까지 나온 이 시점에 개인 프로젝트를 페이지 라우터 기반으로 다시 시작한다는게 학습 차원에서는 아쉽다라는 생각이 들어 앱 라우터 기반으로 마이그레이션을 고민했습니다.
앱 라우터 기반의 서버 컴포넌트에서의 emotion 지원 이슈 마이그레이션을 진행한다면 emotion도 대체하는 과정이 필요했습니다.
하지만 기존 선택한 옵션들이 사이트의 기능 구현에 충분히 적합했을 뿐만 아니라, 제가 가장 익숙하고 자신 있는 기술 스택을 선택하는 것이 프로젝트의 재미를 유지하는 데 중요하다고 판단했습니다. 결국 기존 구현된 토대 위에서 개발을 이어가기로 했습니다. 이를 통해 개발 속도를 높이고, 나만의 블로그 제작이라는 본래 목표에 더 집중할 수 있었습니다.
주요 기술 스택
-
Next.js
-
emotion
-
이 외에도 TypeScript, ESLint, Prettier 등을 활용해 코드 품질을 관리하고, 개발 효율성을 높이는 데 주력했습니다.
필요한 기능과 과정
기본적인 블로그 사이트 구성을 위해 생각한 기능은 다음과 같습니다.
- 작성된 마크다운을 파싱하고 렌더링하는 기본 블로그 기능
- ToC(Table of Contents)
- 다크 모드
- 코드 하이라이팅 커스텀
- 게시글 그룹화
- 검색 기능
- SEO
- RSS
- 댓글 (옵셔널)
- 읽기 소요 시간 추정 표시 (옵셔널)
위 기능들을 주말과 퇴근 후 짬짬히 시간을 내어 개발을 진행했고 게시글을 작성하는 시간을 포함하여 1~2주 정도 소요된 것 같습니다. 디자인 시스템을 셋팅하고 꾸미는 부분에 가장 많은 시간이 소요되었지 실제 기능 구현에는 크게 시간이 필요하진 않았던 것 같습니다. 구현에 필요한 부분들을 제공하는 라이브러리들도 관리도 잘 되고있는 편이며 관련 자료들이 정말 많은 편입니다.
다만 디자인 능력 없는 개발자이다보니 개인적으로는 기능 보다는 사이트를 보기좋게 꾸미는게 더 어렵더군요. 😅
블로그 제작을 마무리한 뒤에는 Vercel을 이용하여 배포를 진행했습니다.
배포 과정을 간소화하면서도 효율적인 성능을 제공하는 Vercel은 특히 개인 프로젝트에서 추천할 만한 선택이었습니다.
코드는 GitHub에 공개해 두었으니, 관심 있으신 분들은 참고해보세요.
마무리
더 구현하고 싶은 부분들이 많이 남았지만, 기술 블로그를 직접 만드는 일은 충분히 가치 있고 재미있는 경험이라고 생각합니다.
회사에서는 모든 결정에 논의가 필요했고, 코드를 작성할 때도 보수적이고 관습적인 방향을 따랐던 것 같습니다. 반면, 이 프로젝트에서는 자유롭게 코드를 작성하고 제 생각대로 디자인과 기능을 만들어가는 과정에서 해방감과 즐거움을 느끼고 있습니다.
기술 블로그를 직접 만들까 고민하시는 분들이 계시다면, 망설이지 말고 시작해보시길 추천드립니다.
저는 앞으로 이 공간을 통해 개발 과정에서의 고민과 결정들, 그리고 배운 점들을 하나씩 기록해나갈 예정입니다.
직접 만든 공간인 만큼, 이곳에 담길 글들도 더 애정을 가지고 써내려가보려고 합니다. 이 사이트의 진짜 데이터베이스는 결국 제가 쓰는 글들이 될 테니까요.