기존에 운영해왔던 Ghost 블로그가 불의의 사고(?)로 인해서 데이터가 모두 날아가서, 전부터 벼르고 벼루어왔던 블로그를 직접 만들기에 도전하고 있습니다.
처음에는 Lararvel 11 + Inertiajs(React)로 도전을 했는데, SSR과 관련하여 만만치 않은 장벽을 만나서 포기하고 던져버렸습니다. 배포단계에서 꽤 애를 먹었는데, Laravel 배포 만으로도 꽤 버거웠는데 Inertia에서 SSR 서비스를 별도로 가동시키는 구조가 맘에 안들었습니다. Laravel은 Livewire를 따로 공부해서 쓰지 않는이상 당분간 보류해야할거 같습니다. 그런데, React를 쓰면될걸 굳이 Livewire를 공부하고 싶지는 않네요.
그래서 결국 돌고돌아 Next.js 15로 블로그를 만들고 있는데, 아무래도 경험치가 부족한 상황이다보니 만드는데 시간도 많이 들고, 공부해야할 내용도 꽤 많습니다.
그래서 이럴거면 만들면서 업데이트하는 내용들을 블로그로 기록하자는 생각이 들었습니다. 그래서 뭔가 틀어진 형태로 보여지더라도 일단 제작 과정을 담는다는 생각으로 만들어가고 있습니다. 현재로서는 React 19 가 적용된 Nextjs 15로 만들고 있다보니 모든 라이브러리를 설치할때마다 --legacy-peer-deps를 적용해서 설치하는 불편한 상황입니다.
그래도 조금은 즐거운(?) 부분이 있는데, React-hook-form(RHF)을 사용하지 않아도 Server action을 통해서 validation을 거친다던지 좀 색다른 부분이 가능해져서 흥미롭게 삽질(?)하고 있습니다. 역시 괴롭긴 합니다만, RHF와 같이 지나치게 편의를 위해 다양한 기능을 첨부하며 비대해지는 도구를 익히는것보다 순수 웹기술을 기반으로 작성할 수 있다는 부분은 꽤 반가운 부분이라고 생각합니다.
현재 작성하는 글만해도 - 기존의 리액트 방식이었다면 작성되는 내용을 onChange 이벤트를 통해서 상태를 저장해 폼을 제출해야했지만, server action이 가능해지면서 그냥 순수 input 태그만으로도 별다른 onChange 이벤트 제어 없이 form 제출이 가능해졌다는 점이 꽤 즐거운 변화라고 생각합니다.
사실 개인적으로 Next.js는 너무 빠른 버전업, 그로 인해 눈돌아가게 빠르게 변하는 API가 너무 버겁게 느껴지는 구석이 있습니다. 메이저 버전만 벌써 몇번째 업데이트인지 모르겠어요. 이런식으로 빠른 버전업은 사실 그다지 좋은 현상 같지는 않습니다. 익숙하게 사용하면서 빠르게 생산성을 올려야하는데, 생산성을 올리겠다면서 빠르게 기능을 업데이트하다보니 숙련도가 오르기 힘들다는 생각입니다.
비슷한 사례로 디자인 툴로는 피그마 또한 그런 상황같습니다. 적어도 기존의 설치형 그래픽 소프트웨어들은 버전을 선택할 수라도 있었는데, 피그마의 경우엔 SaaS(Software as a Service)로 제공되다보니 일방적인 업데이트로 인해 하루아침에 색다른 인터페이스로 제공되서 당황스럽게 만들곤 하죠.
이런식의 빠른 변화는 점점 버거워지는 부분이 있긴 합니다만, 또 한편으론 즐거운 변화도 있어서 앞으로가 더 기대됩니다.