들어가기에 앞서
이 글은 블로그 개발의 회고를 적은 글로 일기장의 형태를 띄고 있습니다. 구체적인 블로그 개발에 대한 글은 프로젝트 카테고리에 담을 예정입니다.
개발 동기
나는 예전부터 기록하는 것을 좋아했다. 개발자가 되기 이전에도 일기장을 꾸준히 써왔고 어느덧 일기장을 쓴지 6년차가 되어간다.
이러한 상황에서 나에겐 나만의 블로그를 개설하는것에 대한 로망이 있었다. 하지만 어떻게 작성해야 하는지에 대해 아는것이 너무 부족하여 의욕만 가진 채로 멈췄던 것 같다. 그러던 도중 개인적인 좋은 기회를 얻었고 이 기회를 통해 블로그를 개설할 용기를 얻었다.
단순히 AI에게 해줘! 한다면?
요즘은 ai 코딩의 시대라고 한다. 하지만 어떤 기술을 어떤 버전으로 선택할지는 온전히 나의 몫이다. 이를 이번 블로그 프로젝트를 하면서 가장 크게 느꼈다.
예를 들면 이런 식이다. Next.js를 쓴다고만 하니까 16버전 대신 15버전을 추천하기도 하고, 로컬 폰트를 적용해달라고 하니 예전 방식의 폰트 적용을 해서 FOUC 오류가 발생하기도 했다. next-auth의 경우 cursor나 chatgpt가 발견하지 못한 오류를 claude.ai를 활용하여 "버전이 다르면 .env에 들어가는 키값이 다르구나!" 하는 사실을 겨우 알게 되었다.
웹에 대한, 기술에 대한 전반적인 지식 자체를 넓히는 것이 중요하다
는 것을 다시 한번 뼈저리게 느끼게 되었다.
0부터 시작하는 웹사이트 배포
사실 나는 프론트엔드 개발자로서 프론트엔드 배포를 한 경험 자체는 있는 편이다. 하지만 대부분이 딸깍배포였고 대표적으로는 AWS amplify, Vercel배포였다. 특히 amplify는 클릭 몇 번만에 할 수 있는 것들이 너무 많았다.
- 환경변수 설정
- cicd 파이프라인 연결
- 무중단 배포
- ssl 인증서 발급 (https)
하지만 이번 기회로 시작한 블로그는 그런 딸깍 방식으로 만들고 싶지 않았다. 몇 가지 이유가 있다.
기회가 주어짐
자동으로 해주는 것은 물론 편리하지만 나는 지금 아니면 0부터 웹개발을 할 기회가 없다고 생각했다. 지금의 나에겐 배울만한 의지도, 실행할 시간도 충분했다.
웹 개발의 전반을 배우고 싶음
지금 당장은 프론트엔드 개발만 하면 되는 시기이긴 하지만 "프론트엔드 개발자가 프론트만 알면 되는거 아냐?"라는 물음에는 절대 동의할 수 없다. 프론트엔드 개발자라도 소통을 위해서는 개발 전반에 대한 지식도 있어야 하고 디자이너와 소통하기 위해서는 디자인에 대한 지식 역시 보유하고 있어야 한다고 생각한다.
생각보다 쉽네?
생각외로 큰 고비가 있지는 않았다. 여러 라이브러리들이나 Digital Ocean의 경우 DOCS가 잘 정리되어 있었고 읽어도 어려운 경우는 ai의 정리를 보며 흐름을 정리했다. 기술 선택의 갈림길에서는 3가지 이상의 가짓수를 제안받은 후 마지막 결정권을 가져갔다. 예를 들면 이런 식이다.
블로그 글을 저장하는 방식은 어떻게 할까?
- mdx파일로 next.js 안에 저장하면 됩니다. 관리가 간편하고 db가 필요 없습니다.
- mysql과 같은 DB에 저장하면 됩니다. 관리가 복잡해지는 대신 좀 더 확장성이 좋아집니다.
- Headless CMS 사용하면 됩니다. 대신 외부 서비스에 의존하게 되고, API 호출 비용이나 속도 이슈가 생길 수 있어요.
이렇게 여러가지 예시를 비교분석한 후 2번을 선택하였다.
마치며
모든 웹 개발자들에게 자신만의 블로그를 만들어보세요! 라고 권장하고 싶을 정도로 유익했던 시간이었다. 언제까지 기록이 이어질지 모르겠지만 도메인을 3년치를 사두었으니 3년은 채워야하지 않을까?