리다이렉트 서버와 FCM 푸시 연동
푸시 클릭·노출 통계를 위해 리다이렉트 서버와 FCM 푸시를 연동하고 로그 적재 구조를 설계했습니다. 웹 푸시 노출은 아이콘 이미지 응답을 활용해 수집하는 방식으로 보완했습니다.

푸시 클릭·노출 통계를 위해 리다이렉트 서버와 FCM 푸시를 연동하고 로그 적재 구조를 설계했습니다. 웹 푸시 노출은 아이콘 이미지 응답을 활용해 수집하는 방식으로 보완했습니다.
분산 환경의 회원 서비스에서 세션 저장소를 Aerospike에서 Redis로 교체하며 Spring Session을 도입한 과정을 정리했습니다. 모듈별 ID 생성과 직접 호출 문제를 캐시, 헤더 전달, Nginx 설정으로 개선했습니다.
레거시 Redirect 서버를 Spring Boot 기반으로 리팩토링해 클릭 요청, 캐시, 로그 구조를 개선했습니다. 푸시 연동과 Short URL 처리까지 통합해 확장 가능한 형태로 설계했습니다.
FCM 푸시의 TOKEN, TOPIC 개념과 발송 흐름을 정리하고 서버 설계 사례를 소개했습니다. 또한 멀티 FirebaseApp 관리, iOS APNs 이슈, FCM의 한계점까지 함께 다뤘습니다.
검색 대상 문서를 Kafka와 Solr로 색인·서빙하는 플랫폼 구축 과정을 소개했습니다. 기본 검색, 시간 범위 검색, 필터 검색과 성능 검증까지 함께 다루었습니다.
DynamoDB의 핵심 개념과 설계 기준을 RDBMS ERD 관점에서 정리했습니다. Access Pattern을 먼저 정의하고 Reverse Modeling으로 테이블과 인덱스를 설계하는 흐름을 설명했습니다.
NestJS 서비스 메소드에 캐시와 cron 로직을 반복 작성하는 문제를 줄이기 위해 커스텀 `@ZumCache` 데코레이터를 설계했습니다. DiscoveryService와 MetadataScanner를 활용해 Provider 인스턴스를 탐색하고, 메타데이터 기반으로 캐시와 주기 갱신을 자동화했습니다.
서비스별 Scheduler DB 분산으로 중단된 Quartz Scheduler Admin을 다시 사용할 수 있게 고도화했습니다. 동적 DataSource 관리, 즉시 실행, 구글 OAuth 로그인, 실행 이력 관리와 RoutingDataSource 구조를 구현했습니다.
모바일 줌의 Spring Boot 백엔드를 Node.js Express와 Vue SSR 기반으로 전환했습니다. 검색엔진 유입과 TPS가 개선되고 코드와 메모리 사용량도 줄었습니다.
Vue.js와 Spring Boot로 주제별 영상 제공 모바일 웹 서비스를 구현했습니다. 크롤링, 캐시, JWT, 코드 스플리팅과 GitHub 기반 일정 관리까지 함께 다뤘습니다.
Amazon MQ Topic 기반 Pub-Sub로 전환한 뒤 발생한 메시지 중복 처리 문제를 다뤘습니다. ActiveMQ Virtual Topics를 적용해 하나의 메시지를 여러 Batch 서버에 분산 소비하도록 해결했습니다.
4주간 소셜 로그인 기반 게시판 CMS 파일럿 프로젝트를 구현하며 Vue와 SpringBoot 실무 기술을 학습했습니다. 이미지 업로드, 권한 처리, XSS 방지 같은 구현과 문제 해결 과정을 정리했습니다.