서론
실전! Spring Boot 3 마이그레이션
들어가며 안녕하세요. LINE Plus에서 태국 LINE BK 채널 서버 개발 및 운영 업무를 맡고 있는 이석재입니다. LINE BK에서는 지난 9월에 LINE BK 보험 중개 서...
techblog.lycorp.co.jp
작년 11월에 회사 기술 블로그에 글을 투고했습니다. 글을 올린 지 벌써 일 년이 넘었습니다. 작년 회고에서 간단하게 소감을 남기긴 했습니다. 하지만 제대로 된 후기를 남긴 적은 없기도 하고 최근에 다시 한번 관련해서 생각할 일이 있어서 이번 기회에 글 작성 동기부터 시작해서 소감까지 기억을 더듬어가면서 다뤄보려고 합니다. 2023년 기준 회사 블로그 조회 수 1위를 달성한 글이 어떻게 탄생하게 되었는지 이야기해 보겠습니다.
글을 작성하게 된 계기
개발자 커리어를 시작한 지 얼마 지나지 않았을 때 몇 가지 목표를 세웠습니다. 그중 하나가 회사 기술 블로그에 글을 투고하는 것이었습니다. 회사 기술 블로그에 글이 올라가려면 주제도 어느 정도 의미 있고 공유할만한 것이어야 합니다. 뿐만 아니라 글도 잘 써야 하고요. 그래서 저는 회사 블로그에 글을 쓴다라는 것은 개발 생태계에 긍정적인 영향을 주는 콘텐츠를 만들었다고 생각합니다. 당시의 저는 이렇게 구체적인 생각은 없었던 것 같고 이유도 명확하진 않지만 회사의 기술력과 좋은 문화를 홍보하는 장인 기술 블로그에 글을 투고한다면 그것만으로도 굉장히 의미 있는 일이 아닐까라고 생각했던 것 같습니다.
구체적으로 회사 블로그에 글을 올리고 싶다고 생각은 2022년 11월에 Spring Boot 3가 정식 릴리즈되었을 때 들었습니다. 당시 저는 신규 프로젝트에 참여해서 Kotlin과 Spring으로 새 API 서버를 개발 중이었습니다. 2023년 연초 오픈을 앞두고 있던 시점에서 Boot 3 릴리즈는 팀 내부적으로 중요한 이슈였습니다. 개발 중인 API 서버는 Boot 2로 개발 중이었는데요. 이것을 업그레이드해서 오픈할지 말지에 대한 결정을 해야 하는 상황이었습니다. 저는 Boot 3 정식 릴리즈전부터 공식 문서, 블로그 포스트, 영상 등 여러 가지 콘텐츠를 참고해서 버전 업그레이드 시 발생하는 변경점에 대해서 정리하고 있었고 개인적으로 Boot 2 코드 베이스를 Boot 3 코드 베이스로 마이그레이션, 테스트하고 이를 공유하는 등 신규 프로젝트를 Boot 3을 적용해서 오픈하려고 많은 준비를 했습니다. 감사하게도 팀에선 저의 노력을 인정해 주시고 믿어주신 덕분에 개발 중인 프로젝트를 Boot 3로 마이그레이션 하고 예정된 날짜에 문제없이 오픈했습니다. 이후에도 팀에서 운영 중인 여러 프로젝트를 Boot 3 환경으로 이관하는 작업을 리뷰했습니다.
지나고 보니 추억(?)이지 당시에 굉장히 많은 삽질을 했습니다. 당시에는 관련 정보가 거의 없었을 때라서 공식 문서나 릴리즈 노트로 알 수 없는 정보는 GitHub 이슈를 찾고 물어보거나 직접 코드를 확인해서 동작 방식이나 설정 방법을 찾았습니다. 이를 통해서 Boot 3 버전 업그레이드 관련해서는 내공이 쌓였고, 이 경험을 모두에게 공유하면 좋겠다고 생각했습니다. 버전 업그레이드는 방법을 모르면 짧게는 몇 시간 길게는 며칠 동안 헤매는 성격의 작업인데요. 삽질은 제가 했으니 이 경험을 잘 정리해서 정보 전달 성격의 콘텐츠를 하나 만들면 적어도 국내에서 Boot 3 마이그레이션 작업을 맡으신 수많은 개발자 분들의 작업 시간을 좀 줄여드릴 수 있지 않을까라고 생각했습니다. 모든 Spring 프로젝트에 대한 변경점을 다루는 것은 현실적으로 어렵지만 적어도 제가 경험한 포인트가 될만한 부분들을 정리해서 한글로 작성된 마이그레이션 가이드 글이 있으면 좋겠다는 생각이었습니다.
다들 공감하시겠지만 글을 쓰는 것은 어렵습니다. 그것도 좋은 글을, 회사 블로그에 올릴만한 글을 쓰는 건 더 어렵습니다. 그래도 시작이 반이라는 말이 있는 것처럼 노트 앱을 열고 모니터와 키보드 앞에 앉았는데요. 다음과 같은 이유로 영 진도가 나가지 않았습니다.
- 정보 전달 성격의 글이다 보니 하나라도 잘못된 정보가 들어가면 글의 신뢰도에 영향을 줍니다.
- 시간이 지나면 유효하지 않거나 잘못된 정보가 될 수 있습니다.
- 전달해야 하는 정보가 많다 보니 글의 구조를 어떻게 잡아야 하는지 감이 오지 않습니다.
1번은 마이그레이션을 하면서 출처를 잘 정리해 놨기 때문에 어느 정도 준비가 되어있었습니다만 2번, 3번이 발목을 잡았습니다. Boot 3 업그레이드와 연관된 수많은 Spring 프로젝트의 변경점을 어떤 구조와 전개 방식으로 다룰지 감이 오질 않았습니다. 무엇보다 마이그레이션 가이드라는 주제 특성상 현재는 안 되던 기능과 버그가 미래에는 지원되고 개선될 텐데 이렇게 되면 결국 제 글은 시간이 지나면 죽은 글이 될 것이라는 생각이 들자 더 글을 쓰기 어려웠습니다. 차라리 개인 블로그에 노트 정리하는 느낌으로 올려볼까라는 생각, 그래도 이 경험을 멋진 모습으로 잘 풀어서 공유하고 싶다는 생각이 머릿속에 가득 차올랐고 진도는 더 나가질 않았습니다.
이렇게 나름대로 고민하던 중에 첫발을 내딛을 수 있게 도와준 좋은 기회가 생겼는데요 2편에서 이어서 다뤄보겠습니다.
'Review' 카테고리의 다른 글
AGI의 시대 (1) | 2024.12.22 |
---|---|
한 권으로 배우는 게임 프로그래밍 (1) | 2024.11.26 |
2024 당근 테크 밋업 후기 🥕 (5) | 2024.11.10 |
오픈 - 비즈니스 패권의 열쇠 (3) | 2024.11.03 |
잘 읽히는 보고서 문장의 비밀 (1) | 2024.09.28 |