
개발자라면 누구나 자신의 블로그 하나는 있을 겁니다. 그런데 저는 세 개의 블로그 프로젝트를 개발했습니다. (그 중 3번째 프로젝트가 이 블로그입니다.) 단순히 티스토리를 사용해서 글을 적어나갈 수 있을텐데, 왜 이렇게까지 블로그 '개발'에 집착했을까? 이 글에서는 각각의 프로젝트에서 얻은 점과 결국 나만의 블로그를 어떻게 설계할지에 대해서 이야기하려 합니다.
프로젝트 소개
지금까지 세 개의 블로그를 직접 개발했습니다. 단순히 양을 늘린 게 아니라, 각 블로그를 개발하면서 기술적으로나 기획적으로 많이 배웠습니다. 첫 번째는 'Headless CMS + Next.js' 블로그, 두 번째는 'React + MERN스택 클론 코딩' 기반 블로그, 그리고 마지막이 현재 개발 중인 'Next.js + MERN 스택' 풀스택 블로그입니다.
첫 번째 시도: Next.js 활용
가장 먼저 개발했던 블로그는 Headless CMS와 Next.js를 활용한 프로젝트였습니다. 당시 Next.js를 깊이 있게 익히고 싶었고, SSR(서버 사이드 렌더링)의 장점을 가장 잘 살릴 수 있는 프로젝트가 바로 블로그라고 생각했습니다. 스터디원들과 함께 강의를 듣고, 각자 원하는 무료 디자인을 선택해 구현하며 Next.js에 대한 이해를 높일 수 있었습니다.
하지만 Headless CMS는 단순히 프론트엔드 작업뿐만 아니라, 직접 데이터베이스를 다루는 백엔드적인 요소가 강했습니다. 당시에는 무척 낯설고 어려워서 애를 먹었던 기억이 나네요. 그럼에도 불구하고, 이 경험은 백엔드에 대한 막연한 두려움을 없애고 직접 풀스택을 다뤄보고 싶다는 목표를 심어주었습니다.
풀스택 도전과 예상치 못한 난관
첫 블로그 개발로부터 약 1년 뒤, Next.js와 MERN 스택(MongoDB, Express.js, React, Node.js)으로 풀스택 블로그를 만들겠다는 야심찬 계획을 세웠습니다. 개발자로서 기획부터 배포까지, 웹 서비스의 전체 사이클을 혼자서 경험해보고 싶었거든요.
하지만 참고할 만한 강의나 자료 없이 완전히 맨땅에 헤딩하는 식이었습니다. 당연히 예상치 못한 난관에 부딪혔죠. 기본적인 CRUD(생성, 읽기, 수정, 삭제) 기능은 구현했지만, 이미지 업로드나 복잡한 에디터 기능을 구현하는 부분에서 막히고 말았습니다.
해결책: 클론 코딩의 힘
바로 그때, 유튜브에서 React MERN 스택 클론 코딩 강의를 발견했습니다. 이 강의에서 Imagekit을 활용해 이미지 업로드를 처리하는 방식을 보게 되었고, 막혔던 부분을 해결할 실마리를 찾았습니다. 비록 Next.js 기반은 아니었지만, 부족한 부분을 채우기 위해 React 기반 블로그를 하나 더 만들면서 필요한 기술을 익혔죠.
다시 본래 목표였던 Next.js + MERN 스택 블로그로 돌아왔습니다. 클론 코딩에서 얻은 경험을 바탕으로 이미지 업로드와 에디터 기능을 성공적으로 구현할 수 있었고, 여기서 더 나아가 제가 필요로 하는 기능들을 추가하며 욕심을 내기 시작했습니다.
불필요한가? 나만의 블로그를 찾아 떠난 이유
점점 블로그 개발에 손이 많이 가면서, 문득 회의감이 들기 시작했어요. 제가 만드는 블로그는 다른 사용자들이 글을 쓰는 공간이 아니라, 오직 저 혼자만 사용하는 공간이었거든요. 그러다 보니 대다수의 기능이 저만을 위한 것이 되었고, '이렇게까지 할 필요가 있을까?'라는 생각이 들 수밖에 없었습니다.
그럼에도 불구하고 개발을 멈출 수 없었던 이유는, '나는 왜 블로그를 3개씩이나 만들고 있을까?' 라는 근본적인 질문에서 답을 찾고 싶었기 때문이에요.
저는 기존에도 노션(Notion)과 옵시디언(Obsidian)을 주로 기록용으로 사용하고 있었고, 공개할 만한 내용은 티스토리 블로그에 게시해 왔습니다. 이 세 가지 도구를 사용하면서 각각의 장점과 아쉬운 점을 명확히 느낄 수 있었어요. 결국, 이 모든 경험을 바탕으로 각 도구의 장점들을 한데 모아 '나만을 위한 블로그'를 직접 만들어야겠다는 결론에 도달했습니다.
기능 구체화: 나만의 블로그가 필요한 이유
기존에 사용하던 노션, 옵시디언, 티스토리에서 느꼈던 갈증을 해소하고, 저에게 꼭 필요한 기능들을 한곳에 담기 위해 블로그를 직접 만들기로 했습니다.
노션 (Notion)의 체계적인 정리 방식
노션의 가장 큰 장점은 자유로운 폴더화와 태깅 기능이었어요. 프로젝트별로 개발 과정을 정리하거나, 특정 주제의 글들을 체계적으로 묶어두는 데 노션만큼 편리한 도구가 없었죠. 저는 이처럼 프로젝트별 포트폴리오를 한눈에 볼 수 있도록 개발 과정을 정리하고 싶었습니다. 하지만 노션은 개인적인 기록에는 최적화되어 있어도, 외부 공유나 포트폴리오 활용에는 분명한 한계가 있었어요.
옵시디언 (Obsidian)의 연결성과 사고 확장
옵시디언에서 경험한 놀라운 기능은 바로 '[[]]' 형태의 양방향 태깅과 그래프 뷰였습니다. 이미 작성된 글들을 서로 연결하고, 이 연결된 지식들이 그래프 형태로 시각화되는 점이 정말 인상 깊었어요. 이 기능을 통해 제 사고의 흐름과 지식 간의 연결성을 한눈에 파악할 수 있었죠. 블로그에 이 기능을 접목한다면, 단순히 정보를 나열하는 것을 넘어 저의 개발 지식과 아이디어가 어떻게 연결되고 확장되는지를 보여주는 살아있는 포트폴리오가 될 거라 생각했습니다.
티스토리 (Tistory)의 공개성과 통계 기능
티스토리는 블로그 본연의 역할에 충실한 도구였어요. 글을 게시하고 독자들에게 노출하며, 광고를 붙이거나 조회수를 체크하는 기능이 편리했죠. 하지만 에디터 기능이나 글 정리 방식 등에서는 제가 원하는 유연성을 제공하지 못했습니다. 제가 직접 만든 블로그는 티스토리처럼 공개적인 플랫폼으로서의 역할을 하면서도, 위에서 언급한 노션과 옵시디언의 장점들을 흡수해 단순한 글 게시를 넘어선 저만의 허브가 되어야 한다고 결론 내렸습니다.
결론적으로, 저는 노션의 체계적인 정리 방식, 옵시디언의 지식 연결성, 그리고 티스토리의 공개성과 통계 기능을 모두 합쳐 저에게 최적화된 블로그를 만들기로 했습니다. 아직은 미완성이지만, 제가 꿈꾸는 이 이상적인 블로그의 모습을 그리며 계속 나아가고 있습니다.