-
안드로이드 웹뷰 백지 화면, 결제 콜백 평문 트래픽 차단이 원인
안드로이드 웹뷰에서 갑자기 화면이 백지로 뜬 사건 QA에서 "안드로이드 앱 켜면 흰 화면만 나옴" 제보가 들어왔음. iOS는 멀쩡한데 안드로이드만 그럼. 로그를 까보니 익숙한 메시지가 보임. net::ERR_CLEARTEXT_NOT_PERMITTED 원인은 한 줄로 정리됨. 안드로이드 9(API 28)부터 평문 HTTP 트래픽이 기본 차단됨. 우
읽기 → -
북마크 이관 스키마 충돌과 외부 앱 차단 오동작 수정
북마크 이관에서 데이터 깨짐 만남 레거시 다운로드 매니저에서 북마크를 새 브라우저 모듈로 옮기는 작업을 함. 단순 복사인 줄 알았는데 막상 까보니 두 저장소가 스키마부터 달라서 그대로 INSERT 하면 절반이 NULL 로 들어감. 기존 구조와 새 구조 차이를 먼저 정리했음. | 항목 | 레거시 | 신규 | |---|---|---| | 식별자 | 정수
읽기 → -
SNS 영상 감지와 OAuth 리다이렉트 오류 동시에 수정
구글 로그인이 또 깨졌다 오랜만에 사이드 프로젝트 손봤더니 OAuth가 안 됐음. 콘솔에는 redirect_uri_mismatch. 도메인 옮긴 걸 까먹은 게 원인이었음. 등록된 redirect와 실제 요청 URL이 슬래시 한 글자 차이로 어긋나 있었음. - 콘솔 → 인증 정보 → 승인된 리디렉션 URI 갱신 - 로컬/스테이징/프로덕션 3개 환경 따로
읽기 → -
앱 꺼져도 끊기지 않는 다운로드 UX로 전면 개선
다운로드 UX를 다시 짠 이유 기존 다운로드는 화면 떠나면 끊기고, 재진입하면 처음부터 받는 구조였음. "받는 중"인지 "끝났는지" 사용자가 알 길도 없었고, 같은 콘텐츠를 두세 번 다시 받게 만드는 일도 잦았음. 이번에 썸네일 + 백그라운드 서비스 + 세션 유지 + 원탭 받기를 한 번에 묶어서 갈아엎음. 포그라운드 서비스로 끌고 가기 안드로이드는
읽기 → -
브라우저에 북마크·영상 미리보기·페이지 전환 감지 초기화 추가
이번 작업 한 줄 요약 브라우저 컴포넌트 손봤음. 주소창에서 북마크 토글, 영상 썸네일 위에서 짧은 미리보기 재생, 페이지 이동할 때 감지 상태 초기화 — 세 가지가 한 번에 묶였음. 왜 묶어서 했나 세 기능이 별개처럼 보이지만 결국 다 **주소창과 페이지 라이프사이클**을 건드리는 작업이라 분리해서 PR 따는 게 더 번거로웠음. 의존성도 비슷했고
읽기 → -
소셜 로그인 토큰 갱신 무한 루프와 인앱 파일 미리보기 개선
하루치 메모 이번 작업은 네 가지 잡탕 묶음. 미리보기 모달, 뒤로가기 동작, 커스텀 북마크, 소셜 로그인 개선. 하나하나는 작은데 합쳐 놓으니 앱 진입점부터 네이티브 매니페스트까지 다 건드림. 작업한 것 | 항목 | 핵심 변경 | | --- | --- | | 미리보기 모달 | 첨부 파일을 외부 앱 대신 인앱에서 띄움 | | 뒤로가기 | 모달 떠
읽기 → -
매뉴얼 화면에서 사이드바 메뉴가 뒤섞이던 모델 키 충돌 해결
menuList 가 두 개였음 매뉴얼 자동 생성 화면을 손보다 이상한 현상을 만났음. 본문에 떠야 할 항목 리스트가 가끔 사이드바 메뉴로 둔갑함. 새로고침하면 또 바뀜. 캐시 의심부터 했지만 아니었음. 원인은 단순했음. 공통 인터셉터에서 모든 화면에 menuList 라는 이름으로 GNB/사이드바용 메뉴를 모델에 꽂아주고 있었음. 그런데 매뉴얼 생성기에
읽기 → -
결제 플랫폼에 근태관리 모듈 추가하고 메뉴얼 자동 생성 도입
배경 이커머스 결제 플랫폼에 근태관리 SaaS 모듈을 끼워 넣는 작업 시작. 파트너들이 "정산도 여기서 보는데 직원 출퇴근까지 한 화면에서 보면 안 되냐"라고 계속 요청해서 결국 사이드 모듈로 붙이기로 결정함. 테이블 구조 근태 도메인은 본업이 아니라서 최소한으로 잘랐음. 일단 5개만 만듬. | 테이블 | 용도 | | --- | --- | | 직
읽기 → -
결제 플랫폼 README 반년치 부패 한 번에 정리
README 업데이트, 한 시간이면 끝날 줄 알았음 결제 플랫폼 사이드 레포 README가 반년째 방치돼 있길래 가볍게 손보려고 함. 결과적으로 두 시간 넘게 붙잡고 있었음. 문서가 코드보다 빨리 썩는다는 말이 진짜라는 걸 또 체감. 뭐가 문제였나 기존 README 훑어보니 다음 같은 이슈들이 보였음. - 설치 가이드의 의존성 버전이 두 단계 뒤
읽기 → -
README 외부 이미지 과다로 생기는 렌더링 누락 해결
외부 이미지 폭탄으로 README가 안 보임 오늘 머지한 PR 확인하려고 메인 레포 페이지 들어갔더니 README 중간이 통째로 비어있었음. 처음엔 마크다운 문법이 깨진 줄 알고 raw 파일을 열어봤는데 멀쩡함. 그런데 렌더된 페이지에서만 이미지 절반이 X 박스로 뜨고, 어떤 건 아예 placeholder조차 안 나옴. 원인 추적 확인해보니 외부
읽기 → -
프로필 페이지 리디자인으로 체류 시간 3배 늘린 과정
프로필 페이지 갈아엎은 날 오래 묵힌 프로필 페이지를 손봤음. 기존 페이지는 정적인 카드 한 장에 이름·소개·연락처만 박아둔 형태였는데, 방문자가 1초 보고 바로 닫는다는 피드백이 누적돼서 작정하고 리디자인 들어감. 목표는 세 가지였음. - 첫 화면 진입 시 시선 잡아끄는 모션 - 보유 스킬을 한눈에 파악 가능한 아이콘 그리드 - 누적 활동량을 보여
읽기 → -
포트폴리오에서 비공개 저장소 링크 노출 차단
비공개 저장소 링크 제거하다 발견한 권한 누수 포트폴리오 페이지에 프로젝트 리스트 뿌리는데, 비공개 레포까지 그냥 클릭 가능한 링크로 박혀있던 걸 뒤늦게 발견함. 외부에서 클릭하면 404로 튕기긴 하지만, 그 자체로 "여기 비공개 레포 있음"을 노출하는 거라 좋은 그림은 아님. 뭐가 문제였는지 - 카드 컴포넌트에서 repo.url 을 무조건 앵커
읽기 → -
깃허브 프로필을 터미널 테마로 전면 개편한 과정
프로필 README 갈아엎은 이유 오랜만에 깃허브 프로필 들어가봤더니 예전에 대충 박아둔 자기소개랑 깨진 뱃지 몇 개가 다였음. 방문자가 와도 내가 뭘 하는 사람인지, 뭘 만들어왔는지 30초 안에 파악이 안 되는 구조였음. 한 번 갈아엎기로 결정. 목표는 두 가지로 잡음. - **첫 인상에서 정체성 전달**: 어떤 스택을 쓰고 어떤 결과물을 만드는지
읽기 → -
비회원 주문의 쿠폰 핀 발급 오류 수정
비회원 주문에서 터진 핀 생성 버그 이커머스 백오피스에서 핀(쿠폰 코드) 생성 로직을 손봤음. 어드민 화면과 파트너 화면 양쪽에서 핀을 발급할 수 있는데, 비회원 주문이 끼면 회원 식별값이 없어서 다운스트림에서 NPE가 터지거나 매칭이 엉뚱하게 붙는 케이스가 있었음. 원래는 핀 생성 시 회원 식별값을 그대로 던지면 그만이었는데, 비회원 결제 비중이 늘
읽기 → -
이커머스 프로젝트 초기 설정으로 협업·코드 리뷰 품질 잡기
새 프로젝트 첫 삽 오랜만에 빈 디렉토리부터 시작하는 작업을 맡았음. 이커머스 사이드 프로젝트인데, 첫 커밋부터 설정 파일만 4개 깔았음. config 폴더, ESLint, Prettier, gitignore. 기능 코드 한 줄 없는 initial commit이지만, 이게 나중에 가장 중요했음. 왜 처음부터 lint·format을 박았나 - 협업자
읽기 → -
가맹점 수수료 요율 검증으로 마진 역전 버그 차단
문제: 요율 한 번 잘못 바꿨더니 마진이 음수가 됨 파트너 관리 화면에서 가맹점 충전 수수료를 0.5%로 내려달라는 요청 받음. 별생각 없이 업데이트했더니 운영팀에서 바로 핑이 옴. "이거 총판이 0.7% 받고 있는데, 가맹점이 0.5%면 총판이 -0.2% 손실 보는 거 아님?" 맞는 말이었음. 원래 구조 다시 정리해봄: - 가맹점이 가장 높은 요율
읽기 → -
정산 유니크 제약 누락으로 중복 적재되던 문제 수정
dump.rdb 가 또 올라왔음 로컬에서 캐시 띄워놓고 작업하다 보면 워킹 디렉토리에 dump.rdb 가 슬쩍 생김. 평소엔 잘 피해다녔는데 다른 변경이랑 같이 add 되면서 한번 커밋에 따라 들어간 적이 있었음. 수십 MB 바이너리가 히스토리에 박히면 클론할 때마다 짜증나고, 무엇보다 캐시 스냅샷에 뭐가 들었는지 모르니 보안적으로도 찜찜함. 그래서
읽기 → -
파트너 정산 이중 차감과 화면별 잔액 오차 수정
정산 중복 처리, 또 너냐 파트너 정산 화면에서 같은 건이 두 번 차감되는 이슈. 결제 플랫폼 쪽에선 흔한 패턴이긴 한데, 이번엔 정산·대시보드·파트너 어드민·파트너 화면 컨트롤러 4개를 동시에 손봐야 했음. 한 곳만 고치면 다른 화면에서 다시 어긋나서, 결국 합계 산식을 원장 수준에서 한 번에 정리함. 무엇이 문제였나 - 충전 수수료, 결제 수수
읽기 → -
가맹점 계좌 승인 알림 누락과 사이드바 메뉴 미노출 수정
계좌 승인 알림이 사라진 이유 파트너 포탈에서 신규 가맹점 계좌 등록 후 관리자 승인 알림이 안 떴음. 가맹점은 등록했다고 알고 있는데 정작 관리자는 모름. 결과적으로 "왜 며칠째 승인이 안 나냐"는 문의가 누적됨. 원인은 두 군데였음. - 관리자 컨트롤러에서 알림 큐 적재 로직이 빠져있었음 (예전 리팩터링 때 누락 추정) - 파트너 포탈 사이드바에서
읽기 → -
파트너 포털 계좌 조회 API 라우팅 중복 제거로 환경별 응답 불일치 해소
무슨 일이 있었나 파트너 포털 쪽 컨트롤러를 손보다가 같은 경로에 매핑된 핸들러가 두 개 있는 걸 발견함. 한쪽은 신규 응답 스펙으로 갈아탄 메서드, 다른 한쪽은 레거시 단건 계좌 조회 API였음. 둘 다 같은 URL을 물고 있어서 어느 쪽이 먼저 잡히는지 빌드 환경마다 다르게 나오는 게 본질적 문제였음. 운영에서는 신규 메서드가 먼저 잡혀 별 탈 없이
읽기 →