
RiGrid: Server Driven UI를 통해 변화에 민첩하게 대응하기
서버 주도 UI인 RiGrid로 비즈니스 데이터와 UI 데이터를 분리해 결합도를 낮췄습니다. Grid, Cell, GraphQL 기반 설계로 유지보수성과 확장성을 높였습니다.

서버 주도 UI인 RiGrid로 비즈니스 데이터와 UI 데이터를 분리해 결합도를 낮췄습니다. Grid, Cell, GraphQL 기반 설계로 유지보수성과 확장성을 높였습니다.

글로벌 협업에서 프로덕트 팀 중심의 4가지 협업 패턴을 정리하고 각 패턴의 장단점을 설명했습니다. 데마에칸 사례를 통해 상황에 맞게 구조를 섞어 쓰는 중요성을 공유했습니다.


자체 제작 데이터베이스 Luft의 탄력성을 높이기 위해 shared nothing에서 shared storage로 전환한 경험을 공유했습니다. 구조 변경을 통해 확장성 개선 방향을 다뤘습니다.


로그 인리치먼트로 감사로그의 컨텍스트를 보강한 설계와 구현 사례를 다뤘습니다. 비동기 처리, 메타데이터 저장소, S3 적재와 중복 제거 전략을 설명했습니다.


새로운 팀의 Scala 코드베이스와 아키텍처에 적응한 과정을 공유했습니다. 작은 기능과 디버깅을 반복하며 코드 흐름을 익히고 팀에 녹아드는 방법을 설명했습니다.

모노리스에서 마이크로서비스를 분리할 때의 세부 절차와 요구사항을 정리했습니다. 코드 구조 리팩토링과 피처 플래그로 충돌과 배포 지연을 줄이는 방법을 소개했습니다.

외부 저장소 값과 enum 선언을 `name`이나 `ordinal`로 직접 묶으면 리팩토링 때 외부 계약까지 깨질 수 있습니다. 별도 매핑값과 변환 계층으로 외부 값과 내부 정의를 분리하는 방법을 소개했습니다.

레거시에서 매장 도메인을 분리하기 위한 멀티모듈 아키텍처와 CQRS 적용 과정을 소개했습니다. 또한 Entity와 VO를 추상화해 도메인 모델을 구현한 사례를 설명했습니다.

레거시 백오피스의 매장 도메인을 분리하기 위해 문제와 경계를 먼저 정리했습니다. 이벤트 스토밍과 컨텍스트 매핑으로 바운디드 컨텍스트와 연계 방식을 식별했습니다.


리팩토링을 통해 팀 협업 방식과 코드 구조를 함께 개선한 과정을 공유했습니다. 데일리 미팅, Mob Programming, 점진적 리팩토링으로 유지보수성과 이해도를 높였습니다.

대용량 감사 로그를 효율적으로 저장·조회하기 위한 OVEN의 설계와 운영 방안을 소개했습니다. S3 연동, 경로 기반 파티셔닝, Bloom Filter로 비용과 조회 성능을 개선했습니다.

대용량 감사 로그를 S3 기반 HotStore/ColdStore 구조로 저장·조회하는 방법을 소개했습니다. Athena 연동과 Bloom Filter로 비용과 조회 성능을 함께 개선했습니다.

카카오페이 홈 서버 개편 후 운영 과정에서 Hexagonal Architecture를 적용하고 제거한 경험을 공유합니다. 아키텍처 도입과 유지 여부를 운영 관점에서 검토한 사례입니다.


프로덕트 전략을 목표 달성을 위한 큰 방향성과 조직 정렬의 도구로 설명했습니다. 전사 로드맵과 세부 과제에 적용하는 단계와 질문을 정리했습니다.