일기
회고 / 메모
-
진상 다섯 번과 차단 루프, 그리고 쿼리 81개
오늘 같은 날은 퇴근하면서 커밋 로그를 다시 열어봐야 믿어진다. PriceLens 심사 차단 항목 처리부터 kp-pay 인증 루프 막기, 대시보드 쿼리 뜯기까지. 두 프로젝트를 동시에 굴렸고 둘 다 불이 나 있었다. 오전에 뭘 했는지가 오후엔 기억이 안 날 정도로 컨텍스트 전환이 잦았다.
읽기 → -
명세서 뜯어고치는 사이 앱 심사가 또 걸렸다
이런 날이 있다. 아침에 딱 하나만 끝내자 싶었는데 커밋이 서른 개를 넘기는 날. 프로젝트가 동시에 네 개 돌아가고 있으니 당연하다면 당연한 건데, 그래도 매번 이 느낌이 익숙해지지 않는다. 오전에 명세서 작업 붙잡고 있는데 Xcode가 ITMS 에러 뱉고, 그걸 잡으러 갔더니 파트너 포탈 쪽 슬랙 알림 들어오고. 쿼리는 돌고 배치는 돌고. 서로 다른 컨텍
읽기 → -
배포 파이프라인 뜯어고치고 앱을 심사 대기열에 올린 날
오늘은 유난히 컨텍스트 전환이 많은 하루였다. 오전에는 CI/CD 워크플로우를 들여다보고 있었고, 오후 중간엔 세션 관련 버그를 잡았고, 어느 순간엔 Flutter 프로젝트의 App Store Connect 심사 노트를 다듬고 있었다. 그날그날 한 가지를 몰아서 파는 날이 있고, 여러 레이어를 왔다 갔다 하는 날이 있는데 오늘은 확실히 후자였다.
읽기 → -
ASC 함정 다 밟으며 앱 넷 심사 올린 날
파트너포털 주문관리 쿠폰탭 묶음 보기 기능부터 붙이기 시작했다. 아침의 첫 커밋이었다.
읽기 → -
7개 앱 프로 게이트 총공
오늘은 커밋 로그만 봐도 좀 멍해진다. 앱 일곱 개를 하루에 동시에 손댔다. 각각 다른 언어, 다른 도메인, 다른 스토어 상태. Flutter 다섯 개에 Swift 하나, 그리고 JSP 웹 대시보드 하나. 아침부터 밤까지 맥락 전환이 끊이지 않았고 어느 순간부터는 "지금 내가 어느 앱 보고 있지?"를 머릿속에서 한 번씩 확인하면서 코딩하고 있었다.
읽기 → -
발송포탈 전면 확장에 앱 출시 준비까지, 욕심부린 날
커밋 로그를 닫고 나서 멍하니 있었다. 40개 가까운 커밋이 오늘 하루에 쌓였다. 두 개의 완전히 다른 시스템, 완전히 다른 기술 스택에서 동시에 작업이 돌아갔다. 한쪽에서는 JSP와 MyBatis 쿼리 매퍼, 다른 한쪽에서는 Flutter와 iOS 프로비저닝 프로파일. 이 두 세계가 오늘 하루 안에서 교차했다.
읽기 → -
가상계좌 데드락 잡고 스토어 여섯 채운 날
오늘은 완전히 다른 두 세계를 동시에 뛰었다. 오전은 Java 레거시 결제 코드 속에서 데드락을 뒤쫓는 시간이었고, 오후는 앱스토어 자동화 파이프라인을 끝까지 밀어붙이는 시간이었다. 이 두 가지가 같은 하루에 섞이면 어떻게 되는지 몸으로 알게 됐다. 집중이 쪼개진다. 한 쪽에서 제대로 빠져들려는 순간 다른 쪽에서 뭔가 터진다. 그래도 어쨌든 둘 다 끝냈다.
읽기 → -
발화 시점 바꾸다 설계 절반을 뒤집은 날
아침을 balanceDashboard.jsp 748행으로 시작했다는 게 좀 상징적이다. EL 오타 하나 때문에 운영 잔액 대시보드 JSP 컴파일이 죽어 있었다. name이랑 parentLevelCode 병합 표현식에서 오타가 끼어 있었고, 그 탓에 화면이 그냥 뻗어 있는 상태였다. 빠르게 들어가서 수정하고 나오긴 했는데, 아침 첫 커밋이 오타 픽스라는 건
읽기 → -
pub-3485 해지 통보 하루, 광고 SDK를 전 앱에서 뽑아내다
어제 저녁 슬랙에 떠 있던 알림이 머릿속에 남아 있었다. AdMob pub-3485 계정 해지. 정확히 언제 발효되는지 모른 채 자고 일어났더니 오늘 아침부터 일이 터졌다. 이미 일부 앱에서 광고가 안 뜬다는 신호가 들어오고 있었다. 선택지는 없었다. 오늘 하루 전부를 CAS.ai 마이그레이션에 쏟아야 했다.
읽기 → -
광고 갈아엎고 투어 서른 칸 채운 날
커밋 로그를 다시 훑어보면서 "이거 다 오늘이었나" 싶다. 성격이 완전히 다른 작업 세 덩어리가 동시에 돌아갔다. AdMob 강제 종료 대응, 파트너 포털 온보딩 투어 전면 완비, 중간중간 터진 버그 수습. 각각 하루 한 건씩만 해도 빡빡한 것들이다.
읽기 → -
같은 파일을 일곱 번 고쳐 올린 날
오늘 커밋 로그를 닫기 전에 훑어보다가 멈췄다. fix: rewrite ATT/permission purpose strings for App Review 5.1.1 (all locales) + build bump. 이 타이틀이 일곱 번 나온다. 로케일 조합이 조금씩 다르다. de/en/es/fr/it, de/en/es/fr/id, ar/en/es/hi/id
읽기 → -
23개 쿼리를 한 번에 고치고, 화면을 네 번 뒤집은 날
오늘 아침에 코드를 열었을 때, 처리할 일이 뭔지 대충은 알고 있었다. 파트너 포털 쪽 UI 정리가 남아있었고, 웹훅 기능도 마무리해야 했다. 근데 진짜 첫 번째 이슈는 예상 밖에서 왔다.
읽기 → -
앱 세 개가 동시에 심사 큐로 들어간 날
오늘 저녁 git log를 처음 펼쳤을 때, 커밋이 30개를 훌쩍 넘겨 있었다. 세 개 프로젝트에 걸쳐서. 각자 성격도 다르고, 각자가 요구하는 집중도도 달랐다. 하루를 어떻게 정리하면 좋을지 잠깐 멍하다가, 그냥 흐름대로 쓰기로 했다.
읽기 → -
수수료 규칙 하나가 하루를 통째로 끌고 다닌 날
오늘 아침 첫 번째로 잡은 게 "ADMIN 발급 충전형 쿠폰 수수료 미부과 정책 반영"이었다. 운영자가 명시적으로 관리자 권한으로 발급한 충전형 쿠폰에는 이용중계수수료를 물리지 않는다는 규칙인데, 코드가 이걸 제대로 반영하지 못하고 있었다. 규칙 자체는 명확했고 작업도 깔끔할 것 같았다.
읽기 → -
전 앱 광고 수술하면서 카나스타까지 출시한 날
발단은 CAS.ai 도입 검토였다. AppLovin MAX만 쓰던 구조에서 CAS를 끼워 넣으면 필 레이트를 높일 수 있다는 판단이 있었고, 그 검토를 하다가 더 근본적인 문제를 발견했다. 광고 코드가 앱마다 완전히 제각각이었다.
읽기 → -
보안 패치 18건이 흘러가는 동안 다섯 프로젝트가 끓었다
오전에 커밋 목록을 처음 열었을 때 기분이 묘했다. 보안 감사 결과 첫 묶음이 12건이었다. 하나씩 읽으면서 "이게 지금까지 열려있었다고?" 싶은 것들이 섞여 있었다. 관리자 인가 우회, 엑셀 다운로드 스코프 검증 누락, 파트너 데이터 과노출. 특히 엑셀 쪽은 ap/excel, ap/member, ap/partner, ap/pay, ap/settlement
읽기 → -
스코프 하나가 열두 군데로 번진 하루
오늘은 딱 잘라 말하기 어려운 날이었다. 파트너 포탈만 판 것도 아니고, 즐거운 대량환불만 만진 것도 아니고, 모바일 앱 제출 마무리도 끼어있었다. 세 개 레인이 동시에 달렸고, 어떤 레인은 깔끔하게 마무리됐고, 어떤 레인은 블로커에 처박혀 멈췄다. 그 와중에 봇 인프라도 두꺼워졌다.
읽기 → -
앱 열두 개 챙기는 날은 끝이 없다
오늘은 숫자부터 보자. 커밋이 아흔 개가 넘는다. 프로젝트가 하나였으면 못 믿었을 텐데, 오늘은 Daily Bible, filmdev, RedDose, CamberPro, launch-notify 봇, 포트폴리오 사이트, hwpconv 서버, ASC 파이프라인 스크립트, 그리고 거기에 딸린 온갖 iOS/Android 빌드까지 전부 건드렸다. 팀이 크면 나눠
읽기 → -
세 앱을 하루에 스토어 심사 넣은 날
CamperLevel, Haru Cam, HWP Viewer. 세 개 앱이 동시에 각자 다른 문제를 들고 대기 중인 하루였다. 어느 걸 먼저 건드리느냐의 문제가 아니라, 세 방향 동시 소화를 기본값으로 깔고 시작해야 했다. 아침부터 이미 그 무게가 느껴졌다.
읽기 → -
앱 다섯 개가 동시에 스토어를 두드린 날
오늘 커밋 로그를 다시 펼쳐보니 스크롤이 멈추질 않는다. 세려다가 포기했다.
읽기 →