나는 [비트코인 블로그](https://btc.coinsect.io)를 운영중이다. 사람들이 흔히 갖는 비트코인에 대한 FUD(Fear / Uncertainty / Doubt), 궁금해하는 점들 또는 기타 기술적 질문들에 대해 매번 답변하는 것이 귀찮아 글로 잘 정리한 뒤 링크만 전달해주기 위해 시작한 블로그이다.
반면 이 블로그는, 개발과 IT 및 개인적 관심사들에 관한 이야기를 하기 위한 공간이다. 그리고 이력서에 React를 할 줄 안다고 써놓고 React로 만든 포트폴리오 하나 없으면 의구심이 들 수 밖에 없기 때문에, Remix를 사용한 포트폴리오를 하나 추가하기 위한 목적도 있다.
사용된 도구들은 다음과 같다:
> Frontend
> - Remix (SSR)
> - Typescript
> - Zustand (모달, 토스트, localStorage에 저장되는 클라이언트 상탯값 등)
>
> Backend (글 가져오는 API)
> - Node.js (Fastify)
Nextjs가 아니라 Remix를 선택한데는 다음 글의 영향이 있었다: [(번역) 내가 Next.js를 사용하지 않는 이유](https://emewjin.github.io/why-wont-use-nextjs/)
간략히 말하자면, Nextjs는 React보다는 Nextjs를 알아야 하는 부분이 많아보였으며, 자신들만의 마개조(e.g. `fetch` 등)도 존재한다는 점 등이 맘에 들지 않았다. 반면 Remix는 순수한 React를 기반으로 단지 SSR만 best-practice로 구현해둔 가벼운 프레임워크로 보여 맘에 들었다.
또 다른 이유로는, Nextjs의 디폴트 번들러는 Webpack인 반면 Remix는 Vite 기반이라는 점이었다. 개발서버를 띄우는 속도나 프로덕션 빌드 속도가 아예 비교를 불허할 정도로 Vite가 빠르기 때문에, 앞으로 새 프로젝트에서는 가급적 Webpack 기반 도구들은 사용하지 않을 생각이다.
tistory, medium 등의 기성 블로그를 선택하지 않은 이유는, 사이트에 대한 무제한의 커스터마이징을 하고 싶다는 이유에 더해 **내 글은 내 DB에서 관리하고 싶다**는 생각 때문이다. 서드파티를 싫어하는 이런 성향은 비트코인을 좋아하는 특성과도 결을 같이 한다. 개발을 할 때도 매우 유명하거나 복잡한 기능을 하는 것들이 아니라면 대부분은 만들어서 쓰려고 하지, 섣불리 `npm install`부터 하지 않는다. 그래서 내 프로젝트들의 `package.json`은 대부분 최소한의 서드파티 라이브러리만으로 구성되어 있다. (e.g. axios, dayjs...)
어쨌든 이 블로그는 커리어 동안 경험한 크고 작은 직무 관련 일(FE, BE, DEVOPS...)들을 위주로 채워나갈 생각이다. 누군가에게 도움이 되는 내용이 있다면 정말 뿌듯할 것 같다.