프로덕트
참여 프로젝트
CJ ENM 이벤트 페이지와 빌더
2025 MAMA 이벤트 페이지의 캐시 정책을 설계했습니다. 운영자가 시즌별 페이지를 직접 편집하고 배포할 수 있는 빌더도 만들었습니다.
- 기간
- 2025.08 ~ 2025.12
- 소속
- CJ ENM
- 역할
- 캐시 정책과 페이지 빌더 설계, 구현
- 핵심 기능
- 운영자가 빌더에서 이벤트 페이지를 조립하고, 미리보기부터 배포와 이전 버전 복원까지 처리할 수 있게 했습니다.
- 작업과 결과
- 정적 본문과 실시간 투표 데이터의 캐시 정책 분리
- 편집부터 이전 버전으로 되돌리기까지 운영자가 한 흐름으로 처리
- 새 화면 블록을 등록해 빌더 확장
- 기술 스택
- CDN
- JSON Schema
배경
2025 MAMA 이벤트 페이지에서 콘텐츠와 투표 데이터를 전달하는 방식을 설계했습니다. 본문은 미리 만들어 제공하되, 투표와 시상 결과는 바뀐 내용을 제때 보여 줘야 했습니다.
시즌마다 페이지를 새로 만들고 문구나 디자인을 바꿀 때도 개발자 배포가 필요했습니다. 운영자가 직접 편집하고 배포할 수 있도록 페이지 빌더도 만들었습니다.
결정과 구현
- 2025 MAMA 이벤트 페이지: 페이지 본문은 정적으로 만들어 CDN에서 빠르게 응답하고, 시상 결과가 바뀌는 순간에만 캐시를 갱신했습니다.
- 투표와 실시간 데이터는 캐시를 거치지 않는 별도 경로로 분리하고, 비정상 요청을 막는 장치를 함께 적용했습니다.
- 여러 언어 페이지를 동시에 배포하면서, 검색 엔진이 언어별로 정확히 인덱싱하도록 메타 태그를 언어마다 나눴습니다.
- 로우코드 페이지 빌더: 콘텐츠 정의(JSON 스키마)와 렌더링(컴포넌트)을 분리해, 빌더에서 편집한 결과가 그대로 실서비스 페이지에 반영되도록 다시 설계했습니다.
- 웹 빌더는 컴포넌트를 섹션, 레이아웃, 블록의 3계층으로 카탈로그화하고, 운영자가 드래그로 조립하면서 실서비스와 같은 화면으로 미리 확인할 수 있게 구성했습니다.
- JSON 런타임을 두어 실서비스 페이지가 빌더의 스키마를 그대로 읽고 렌더링하게 했습니다. 새 컴포넌트는 별도 코드 변경 없이 등록만으로 추가할 수 있고, 편집과 미리보기, 배포, 버전 롤백은 하나의 흐름으로 묶었습니다.