개발
코드 / 아키텍처 / 디버깅
-
멀티 사이트 PG 분기 로직 통합과 관제 페이지 신규 구성
사이트별 PG 관제 페이지를 새로 붙이면서, 분기 처리 로직을 PgConfigUtil로 뽑아낸 작업이었다.
읽기 → -
히어로 영역에 970x250 광고 슬롯 추가와 두 도메인 적용
base.html 한 파일에 광고 슬롯을 새로 박아 넣는 작업 — 단순해 보이지만 결정까지 꽤 많은 맥락이 붙어 있었다.
읽기 → -
Next.js 광고 스크립트 hoist 버그 수정과 폴링 안정화
Next.js 환경에서 서드파티 광고 스크립트가 조용히 씹히는 버그를 잡았다.
읽기 → -
광고 슬롯을 DB 기반으로 설계해 배포 없이 설정 변경 가능하게 개선
광고 슬롯 컴포넌트를 처음부터 새로 설계하면서 DB 패턴을 함께 도입한 작업이었다.
읽기 → -
Mobon 광고 슬롯을 DB로 제어 가능하게 패턴 통일
광고 슬롯 컴포넌트에 admin_db 패턴을 붙이는 작업을 마무리했다. ssul/money/gov 세 레이아웃에서 이미 검증된 패턴이었고, MobonSlot도 동일하게 맞추는 게 맞다고 판단해서 진행했음.
읽기 → -
인앱결제 전체 플로우와 구독 권한 확인까지 연결 완료
단계별 IAP 전체 플로우를 한 번에 연결하는 작업이었다. 페이월 UI부터 결제, 가족공유, 소셜로그인, JWT 인증, 그리고 entitlement 확인까지 — 개념상으로는 "결제 한 번"이지만 실제로는 레이어가 꽤 많이 쌓인다.
읽기 → -
Flutter 앱에 FCM 푸시 알림 수신과 설정 화면 첫 통합
Flutter 앱에 FCM을 처음으로 붙이는 작업을 마무리했다. firebase_messaging 패키지 연동부터 토큰 등록, 알림 수신 시 화면 이동, 푸시 설정 UI까지 한 번에 묶어서 올린 커밋이다.
읽기 → -
Flutter 앱에 다국어 골격을 초기에 구축한 이유와 구조
Flutter 앱에 i18n 골격을 처음 박아 넣은 날 작업 회고.
읽기 → -
전체 페이지 스크롤 버그와 마크업 패턴 파편화를 한 번에 정리
두 파일만 건드렸는데, 이게 생각보다 팀 전체 흐름을 정리하는 작업이었다.
읽기 → -
광고 슬롯 데이터 접근을 전체 카테고리와 같은 패턴으로 통일
MobonSlot 컴포넌트를 admin_db 패턴으로 전환한 작업이다. gov, money 카테고리에서 먼저 정착된 패턴을 ads 쪽에도 맞춰 통일시킨 것.
읽기 → -
Daily Bible 어드민 4개 페이지 스키마 불일치 일괄 수정
Daily Bible 어드민 페이지 4개가 한꺼번에 schema mismatch로 터졌다. 한 번에 정리했다.
읽기 → -
결제 프로바이더 응답 키를 상수로 모아 리팩터링
결제 어댑터 레이어 내부를 정리하는 작업을 했다. 구체적으로는 특정 결제 프로바이더의 응답을 파싱할 때 쓰던 Map 키 문자열들을 상수로 뽑아낸 리팩터링이다.
읽기 → -
Daily Bible 어드민에 캘린더·검색·통계·푸시 페이지 신설
Daily Bible 어드민 메뉴를 새로 파고, 캘린더 / 검색 / 통계 / 푸시 4개 페이지를 한 커밋에 올렸다.
읽기 → -
어드민 API 7개와 Bearer 인증을 처음부터 제대로 설계한 이유
단계 어드민 API 7개를 한 번에 설계하고 Bearer token 인증까지 붙인 작업이었다.
읽기 → -
모비온 광고 트래킹 스크립트 URL을 공식 CDN으로 교체해 수치 누락 해소
광고 스크립트 로딩 URL이 엉뚱한 곳을 가리키고 있었다. 원인을 파고들어보니 Mobon HawkEyesMaker.js가 공식 CDN이 아닌 예전 URL로 박혀 있었고, 이걸 모비온 공식 CDN 주소로 교체하는 작업을 했다.
읽기 → -
광고 슬롯 구조를 DB 중앙 관리로 전환하고 970px 사이즈 추가
광고 슬롯 구조를 손봤다. 단순히 사이즈 하나 추가하는 작업처럼 보이지만, 실제로는 DB 연결 패턴 자체를 바꾸는 작업이 함께 묶여 있었다.
읽기 → -
알 수 없는 라우트 진입 시 빈 화면 멈춤 수정
알 수 없는 라우트로 진입했을 때 앱이 그냥 빈 화면으로 멈추는 문제를 잡았다.
읽기 → -
블로그에 정적 페이지·사이트맵·푸터를 추가해 서비스 완성도를 높인 과정
블로그 서비스의 뼈대는 어느 정도 잡혀 있었는데, 정작 About / Contact / Privacy 같은 "정보성 정적 페이지"가 없었다. 크롤러가 들어왔을 때 sitemap도 없고, footer도 없으면 서비스 완성도가 떨어진다는 판단이 있었고, 이 타이밍에 한 번에 묶어서 처리했다.
읽기 → -
에이전트 이벤트 서버를 외부 도구 없이 직접 셀프호스팅한 이유
자체 agent event server를 처음부터 새로 올린 작업이었다.
읽기 → -
포트폴리오 사이트에 한영 개인정보 처리방침 페이지 추가
개인정보 처리방침 페이지를 한국어/영어 두 버전으로 만들고, footer에 링크까지 연결했다.
읽기 →