ABOUT / SORUNE
About this site
소프트웨어를 만들고, 이미 만들어진 시스템을 다시 고치고, 가능하면 직접 운영해보는 개발자입니다.
개인 프로젝트를 만들고, 예전에 짠 코드를 다시 뜯어고치고, 집에서 서버를 굴리고 있다.
처음부터 완벽한 구조를 잡고 시작하는 편은 아니다. 필요한 걸 먼저 만들고 실제로 써보면서 이상한 부분을 고친다. 개발할 때는 맞다고 생각했던 게 운영에 올리고 나서 틀렸다는 걸 알게 되는 경우도 많다.
이 블로그에는 그 과정에서 생긴 일을 적는다.
요즘 만들고 있는 것
PhotoGram
예전에 만든 사진 서비스를 다시 고치는 중이다.
오래된 Spring 프로젝트를 최신 환경으로 옮기는 것부터 시작해서 검색, 장소, 미디어 처리, 인증 같은 기능도 다시 보고 있다.
새 기능을 붙이는 것보다 예전 코드가 왜 그렇게 되어 있는지 파악하는 데 시간이 더 걸릴 때도 있다. 테스트가 통과해도 실제 흐름이 이상하면 다시 코드를 읽고 고친다.
PaaS · Server Ops · Security Guard
집에서 서버 여러 대를 운영하면서 배포나 상태 확인을 반복하다 보니 하나씩 자동화하기 시작했다.
PaaS는 어디에 무엇을 띄울지 관리하고, Server Ops는 각 서버에서 실제로 무슨 일이 일어나고 있는지 수집한다. Security Guard는 그 정보를 보고 보안 문제를 판단하고 필요한 조치를 요청한다.
처음부터 세 프로젝트로 나눌 생각이 있었던 건 아니다. 만들다 보니 역할이 갈렸고, 지금도 필요한 부분을 계속 정리하고 있다.
CharaWeave
같은 캐릭터를 웹, 모바일, 데스크톱에서 함께 쓰려고 만드는 SDK와 runtime이다.
실행 환경이 달라도 캐릭터 설정과 행동 규칙을 한쪽에서 관리할 수 있게 만드는 게 목표다. 아직 실험 중이라 구조가 자주 바뀐다.
AI를 쓰는 방식
개발할 때 AI를 꽤 많이 쓴다.
초안 작성이나 반복 작업은 확실히 빨라졌다. 대신 지금 어느 저장소와 브랜치에서 작업 중인지, 테스트가 실제로 뭘 확인했는지, AI가 요청하지 않은 데까지 손댄 건 없는지는 직접 계속 확인한다.
여러 작업을 동시에 돌리다 보면 어느 브랜치에서 뭘 했는지 헷갈리기 쉽다. 그래서 작업 범위, 기준 커밋, 테스트 결과는 짧게라도 적어둔다.
AI가 만든 구현을 그대로 믿었다가 통째로 되돌린 적도 있고, 테스트를 다 통과한 뒤 코드를 다시 읽다가 설계 문제를 발견한 적도 있다. 그런 내용도 블로그에 같이 적는다.
이 블로그에 쓰는 것
대부분 실제 작업 중 생긴 문제에서 글이 시작된다.
무슨 문제가 있었는지, 처음에는 어떻게 봤는지, 어디서 틀렸는지, 결국 어떻게 고쳤는지를 적는다.
정답처럼 정리된 튜토리얼을 만들려는 건 아니다. 그때 모르는 부분이 있었으면 그대로 남기고, 나중에 생각이 바뀌면 왜 바뀌었는지도 덧붙인다.
코드와 결과물은 포트폴리오와 GitHub에 두고, 여기에는 그 사이에 있었던 작업과 시행착오를 남긴다.