사운드 리소스 전달을 위한 WebApp 만들기
·2023.07.04 09:00
비개발자의 Git 진입장벽을 낮추기 위해 S3와 Git을 결합한 사운드 리소스 전달 WebApp 'Sonic'을 개발했다.
게임 개발 시 웹 드라이브를 통한 리소스 전달은 버전 관리가 어렵고, Git은 비개발자에게 심리적·물질적 부담이 크다는 단점이 있다. 이를 해결하기 위해 쿠키런: 킹덤 개발팀은 Sonic이라는 사운드 리소스 전달 WebApp을 개발했다.
설계의 핵심 원칙은 복잡성 최소화다. UI는 사운드팀의 push와 클라이언트팀의 checkout 기능만 노출하여 사용성을 극대화했으며, 아키텍처 역시 불필요한 컴포넌트를 배제했다.
주요 구현 특징은 다음과 같다:
- 빠른 파일 비교: **xxHash32(WASM)**를 사용하여 변경된 파일만 빠르게 추려낸다.
- 효율적인 저장: 사운드 파일은 AWS S3의 Versioning Bucket에 저장하고, 메타데이터는 Local Git을 DBMS처럼 활용해 관리한다.
- 기술 스택: Next.js와 tRPC를 활용한 풀스택 구조로 개발 공수를 줄였다.
Sonic은 S3 업로드와 Git 커밋을 결합하여, 비개발자도 복잡한 Git 명령어나 충돌 걱정 없이 리소스의 버전을 관리하고 동기화할 수 있는 환경을 제공한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.