🚀 2026 스타트업 컨퍼런스

스포티파이로 인생의 로그를 로테이션하는 기술

스포티파이로 인생의 로그를 로테이션하는 기술

김현수·2026년 1월 4일·3

개발자의 시선으로 바라본 음악 아카이빙 전략. 스포티파이를 활용해 인생의 기억을 로그 로테이션처럼 관리하고 시계열 데이터로 축적하는 시스템적인 접근법을 소개합니다.

개발자로서 10년 넘게 일하다 보니 직업병이 하나 생겼습니다. 바로 모든 것에 '로그(Log)'를 남기고 싶어 한다는 점입니다. 서버가 500 에러를 뱉으며 뻗어버렸을 때, 우리가 가장 먼저 찾는 것이 무엇인가요? 바로 서버 로그입니다. 로그가 없으면 도대체 무슨 일이 있었는지, 그 당시의 시스템 상태가 어땠는지 파악할 길이 막막해지니까요. 그런데 문득 그런 생각이 들더군요. 정작 내 인생의 로그는 제대로 남기고 있는 걸까? 사진 몇 장, 캘린더 일정 몇 개가 전부인 건 아닐까 하고요.

코드를 짤 때 가장 골치 아픈 게 레거시 코드라면, 인생에서 가장 다루기 힘든 건 '흐릿해진 기억'입니다. 사진은 그 순간의 UI(User Interface)를 보여주지만, 그때의 감정과 분위기라는 백엔드 로직까지 담아내지는 못합니다. 그러다 흥미로운 방법론을 하나 접하게 되었습니다. 바로 음악 스트리밍 서비스인 스포티파이(Spotify)를 이용해 인생의 로그를 관리하는 방법입니다. 단순히 음악을 듣는 게 아니라, 10년 치 기억을 '아카이빙'하는 시스템적인 접근법이죠.

이 방법의 핵심 알고리즘은 서버 운영에서 흔히 사용하는 '로그 로테이션(Log Rotation)'과 놀랍도록 닮았습니다. 매년 1월 1일이 되면 아주 엄격한 절차를 수행합니다. 우선 지난 1년 동안 '좋아요'를 눌렀던 모든 곡을 모아 해당 연도의 이름을 딴 플레이리스트로 백업합니다. 그리고 가장 중요한 단계가 남았습니다. 바로 현재의 '좋아요' 목록을 전부 비우는 것입니다. 버퍼(Buffer)를 플러시(Flush)하듯 깨끗하게 비우고 새해를 시작하는 셈이죠. 혹시 모를 데이터 손실에 대비해 구글 시트에 메타데이터를 백업해 두는 이중화 작업도 잊지 않습니다.

왜 굳이 이렇게 번거로운 짓을 하냐고 물으실 수 있습니다. 하지만 이 방식의 진가는 데이터가 '시계열(Time-series)'로 쌓여 있다는 점에 있습니다. '좋아요'를 누른 순서가 그대로 보존되기 때문에, 특정 연도의 플레이리스트를 열고 스크롤 바를 4분의 1 지점으로 내리면 정확히 그해 봄의 기억이 재생됩니다. 2018년 가을에 내가 어떤 기분으로 출근했는지, 2021년 여름에 마감 기한을 맞추며 어떤 노래에 의지했는지가 순서대로 펼쳐지는 것이죠. 무작위 셔플이 아니라 순차적으로 쌓인 로그만이 줄 수 있는 맥락입니다.

저도 예전에 진행했던 대규모 차세대 프로젝트가 떠오릅니다. 당시 매일 야근하며 듣던 특정 로파이(Lo-fi) 트랙이 있었는데, 지금도 그 곡을 들으면 당시의 새벽 공기, 모니터 불빛, 그리고 함께 고생했던 동료들과의 전우애가 생생하게 되살아납니다. 이 방법론을 제안한 사람은 이를 '롤링 윈도우(Rolling Window)'라고 표현하더군요. 현재 내가 듣고 있는 음악이 현재의 나를 정의하는 창이 되고, 시간이 지나면 그 창은 과거라는 아카이브로 이동합니다.

여기서 지켜야 할 중요한 엔지니어링 원칙이 하나 있습니다. 바로 '데이터 무결성(Integrity)'입니다. 과거 연도의 플레이리스트에 있는 곡은 현재의 '좋아요' 리스트에 다시 추가하지 않는 것을 권장합니다. 마치 깃(Git) 커밋 히스토리를 조작하지 않는 것처럼 말이죠. 과거의 기억은 그 자리에 불변(Immutable) 상태로 두어야, 나중에 그 노래를 다시 들었을 때 기억이 섞이지 않고(Cache Pollution) 온전한 타임머신 역할을 할 수 있기 때문입니다.

우리는 매일 수많은 코드를 작성하고 배포하지만, 정작 나 자신을 위한 회고에는 소홀할 때가 많습니다. 다가오는 새해에는 여러분도 자신만의 '음악 로그 시스템'을 구축해 보는 건 어떨까요? 복잡한 ELK 스택(Elasticsearch, Logstash, Kibana)을 구축할 필요도 없습니다. 그저 '좋아요' 버튼을 누르고, 일 년에 한 번 정리하는 것만으로 충분합니다. 10년 뒤, 여러분이 쌓아 올린 이 로그 데이터는 그 어떤 기술 부채보다 값진 자산이 되어 있을 겁니다.

김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!