사운드 리소스 관리, Sonic으로 단순하게!

by DD
2년 전
조회수 0

사운드 리소스 버전 관리의 어려움을 해결하기 위해 Sonic 웹앱을 개발함

Next.js, tRPC를 활용하여 풀스택 웹앱을 구축하고, S3, Git을 연동함

단순한 설계 원칙을 통해 8개월간 안정적인 운영 및 개발 생산성 향상 달성

단순한 UI 설계: Push & Checkout

Sonic은 사운드팀Push클라이언트팀Checkout 기능만 제공하여 UI 복잡성을 최소화했다. 따라서 불필요한 기능 제거를 통해 사용자 경험을 개선하고, 개발 및 유지보수의 편의성을 높였다. 결과적으로 단순함을 통해 안정성을 확보했다.

S3 Versioning & Git을 활용한 데이터 관리

S3 Versioning Bucket에 사운드 파일을 저장하고, Git을 활용하여 메타데이터를 관리한다. 구체적으로 xxHash32를 사용하여 파일 변경 감지를 수행하고, Git CLI를 통해 버전 관리를 구현했다. 따라서 데이터 무결성을 유지하면서 효율적인 리소스 관리가 가능해졌다.

Merge Conflict 없는 Push Flow

Sonic은 Merge Conflict를 방지하기 위해, 단방향 데이터 흐름을 설계했다. 따라서 Push 요청 시, 자동 Rebase를 수행하여 충돌을 해결한다. 수정/삭제 기능 대신 우회 방법을 사용하여 시스템 안정성을 확보했다. 결과적으로 개발 생산성을 향상시켰다.

사운드 리소스 전달 WebApp 만들기