사이드프로젝트
취미 빌드 / 실험
-
어드민 내부 클래스 비즈니스 로직 개선으로 운영 안정성 향상
20260329 0035 admin-design-quality 2026-03-29에 기능을 추가하거나 개선했음. 수정 파일: 내부 클래스 실제로 사용자가 쓰는 흐름에서 필요한 기능이었거나, 운영 중 발견된 개선 포인트를 반영한 작업임. 구현 포인트 - 요청 파라미터 검증 및 바인딩 처리 - 내부 클래스에서 비즈니스 로직 처리 - SQL 쿼리 작
읽기 → -
수수료 검증 로직 안정성 개선
20260328 1842 fee-verification 2026-03-28에 기능을 추가하거나 개선했음. 수정 파일: 내부 클래스 실제로 사용자가 쓰는 흐름에서 필요한 기능이었거나, 운영 중 발견된 개선 포인트를 반영한 작업임. 구현 포인트 - 요청 파라미터 검증 및 바인딩 처리 - 내부 클래스에서 비즈니스 로직 처리 - SQL 쿼리 작성 및
읽기 → -
Android 결제 알림 앱 호환성·안정성 개선
v2.0.0: 인증코드 입력 UX 개선 및 버전 업데이트 Android 앱(v2.0.0) 관련 작업을 진행했음. 결제 알림 수신·처리용 앱인데, 알림 캡처 → 파싱 → 서버 전송 흐름으로 동작함. 이번 작업에서는 안정성과 Android 버전 호환성을 중점적으로 개선했음. 주요 변경 | 항목 | 내용 | |---|---| | Android 14/1
읽기 → -
결제 알림 앱 Android 14·15 호환성
v3.1: 운영 환경 API 주소 변경 + 배포용 서명 정보 설정 Android 앱(v3.1) 관련 작업을 진행했음. 결제 알림 수신·처리용 앱인데, 알림 캡처 → 파싱 → 서버 전송 흐름으로 동작함. 이번 작업에서는 안정성과 Android 버전 호환성을 중점적으로 개선했음. 주요 변경 | 항목 | 내용 | |---|---| | Android 1
읽기 → -
결제 알림 캡처 안정화
v2.3: 원격 지원 안정화 + 캡처 로직 개선 + 로그 레벨 조정 Android 앱(v2.3) 관련 작업을 진행했음. 결제 알림 수신·처리용 앱인데, 알림 캡처 → 파싱 → 서버 전송 흐름으로 동작함. 이번 작업에서는 안정성과 Android 버전 호환성을 중점적으로 개선했음. 주요 변경 | 항목 | 내용 | |---|---| | Android
읽기 → -
Android 14 대응으로 결제 알림 캡처 안정성 개선
MediaProjectionHelper 개선: Android 14+ 대응 및 인스턴스 재사용 로직 구현 Android 앱(최신버전) 관련 작업을 진행했음. 결제 알림 수신·처리용 앱인데, 알림 캡처 → 파싱 → 서버 전송 흐름으로 동작함. 이번 작업에서는 안정성과 Android 버전 호환성을 중점적으로 개선했음. 주요 변경 | 항목 | 내용 |
읽기 → -
결제 알림 앱의 Android 15 대응
v1.0.5: 원격 지원 안정화 + 화면 상시 켜짐 + Android 15 대응 Android 앱(v1.0.5) 관련 작업을 진행했음. 결제 알림 수신·처리용 앱인데, 알림 캡처 → 파싱 → 서버 전송 흐름으로 동작함. 이번 작업에서는 안정성과 Android 버전 호환성을 중점적으로 개선했음. 주요 변경 | 항목 | 내용 | |---|---| |
읽기 → -
푸시 URL 누락과 카카오톡 노이즈 필터링 개선
배경 v3.1에서 알림 처리 파이프라인 두 군데 손봤음. 하나는 푸시 페이로드에서 URL을 한 번에 못 잡는 케이스 재시도, 다른 하나는 카카오톡에서 들어오는 시스템 메시지 필터링. 둘 다 운영 데이터 보다가 "이거 왜 누락됐지?" 추적하다 발견함. URL 재캡처 시도 기존에는 푸시 받자마자 한 번 파싱하고 끝냈는데, 페이로드가 잘려서 도착하는 경우가
읽기 → -
정산 추적 위해 원본 페이로드 저장 방식으로 전환
v1.0.2 정리 이번 릴리즈에서 세 가지를 손봤음. payload 필드 추가, 일부 보안 검사 한시 비활성화, 배포 설정 업데이트. 따로 보면 잡일인데 묶어 보면 "왜 이렇게 흘러갔는지" 가 보여서 짧게 정리. payload 필드 추가 이커머스 측 외부 알림을 수신해서 내부 큐로 넘기는 흐름이 있는데, 후속 정산 검증에서 원본 payload 전체
읽기 → -
내장 브라우저에 광고 차단 레이어 구현해 로딩 속도 2배 개선
광고 차단을 직접 붙여본 이유 사내 도구로 쓰는 내장 브라우저에 외부 트래커가 너무 많이 붙어서 응답 속도가 들쭉날쭉했음. 페이지 로딩 자체보다 추적 스크립트 기다리는 시간이 더 길어 보일 정도였고, 그래서 차단 레이어를 직접 끼워 넣어봤음. 접근 방식 비교 확장 기능을 그대로 가져다 쓰는 방법도 있었지만, 임베디드 환경이라 권한이 제한적이었음.
읽기 → -
크로스 오리진 iframe 비디오 감지율을 절반 이상 끌어올린 방법
iframe 안의 비디오, 왜 못 잡나 부모 document에서 querySelectorAll('video') 돌리면 같은 오리진 iframe 안의 비디오까지는 그래도 contentDocument로 파고 들어갈 수 있음. 근데 크로스 오리진 iframe은 브라우저가 막아놔서 접근 자체가 불가. 외부 임베드 페이지가 많은 사이트일수록 감지율이 뚝 떨어짐.
읽기 → -
iframe 내부 영상 감지 누락 수정으로 감지율 향상
사이트마다 다른 DOM 구조 영상 감지 기능이 일부 페이지에서 침묵하는 제보가 들어옴. 직접 들어가 보니 페이지 자체엔 분명히 플레이어가 떠 있는데 감지기는 0개를 리턴함. 콘솔 찍어보니 원인이 명확했음 — 플레이어가 iframe 안에 들어 있는 케이스였음. 기존 videoDetector는 top window 기준으로만 querySelectorAll(
읽기 → -
영상 감지율을 60%에서 94%로 끌어올린 네트워크 후킹 도입
문제 상황 이전 videoDetector는 페이지 로드 시점의 <video> 태그만 훑고 끝났음. 그러다 보니 - SPA에서 라우팅 후 동적으로 붙는 영상은 놓침 - 플레이어가 blob URL이나 MSE로 스트림을 주입하면 src가 비어있어서 못 잡음 - API가 m3u8 매니페스트만 내려주고 DOM에는 아무것도 안 박히는 케이스도 있음 결국 "감지
읽기 → -
안드로이드 웹뷰 백지 화면, 결제 콜백 평문 트래픽 차단이 원인
안드로이드 웹뷰에서 갑자기 화면이 백지로 뜬 사건 QA에서 "안드로이드 앱 켜면 흰 화면만 나옴" 제보가 들어왔음. iOS는 멀쩡한데 안드로이드만 그럼. 로그를 까보니 익숙한 메시지가 보임. net::ERR_CLEARTEXT_NOT_PERMITTED 원인은 한 줄로 정리됨. 안드로이드 9(API 28)부터 평문 HTTP 트래픽이 기본 차단됨. 우
읽기 → -
북마크 이관 스키마 충돌과 외부 앱 차단 오동작 수정
북마크 이관에서 데이터 깨짐 만남 레거시 다운로드 매니저에서 북마크를 새 브라우저 모듈로 옮기는 작업을 함. 단순 복사인 줄 알았는데 막상 까보니 두 저장소가 스키마부터 달라서 그대로 INSERT 하면 절반이 NULL 로 들어감. 기존 구조와 새 구조 차이를 먼저 정리했음. | 항목 | 레거시 | 신규 | |---|---|---| | 식별자 | 정수
읽기 → -
앱 꺼져도 끊기지 않는 다운로드 UX로 전면 개선
다운로드 UX를 다시 짠 이유 기존 다운로드는 화면 떠나면 끊기고, 재진입하면 처음부터 받는 구조였음. "받는 중"인지 "끝났는지" 사용자가 알 길도 없었고, 같은 콘텐츠를 두세 번 다시 받게 만드는 일도 잦았음. 이번에 썸네일 + 백그라운드 서비스 + 세션 유지 + 원탭 받기를 한 번에 묶어서 갈아엎음. 포그라운드 서비스로 끌고 가기 안드로이드는
읽기 → -
브라우저에 북마크·영상 미리보기·페이지 전환 감지 초기화 추가
이번 작업 한 줄 요약 브라우저 컴포넌트 손봤음. 주소창에서 북마크 토글, 영상 썸네일 위에서 짧은 미리보기 재생, 페이지 이동할 때 감지 상태 초기화 — 세 가지가 한 번에 묶였음. 왜 묶어서 했나 세 기능이 별개처럼 보이지만 결국 다 **주소창과 페이지 라이프사이클**을 건드리는 작업이라 분리해서 PR 따는 게 더 번거로웠음. 의존성도 비슷했고
읽기 → -
소셜 로그인 토큰 갱신 무한 루프와 인앱 파일 미리보기 개선
하루치 메모 이번 작업은 네 가지 잡탕 묶음. 미리보기 모달, 뒤로가기 동작, 커스텀 북마크, 소셜 로그인 개선. 하나하나는 작은데 합쳐 놓으니 앱 진입점부터 네이티브 매니페스트까지 다 건드림. 작업한 것 | 항목 | 핵심 변경 | | --- | --- | | 미리보기 모달 | 첨부 파일을 외부 앱 대신 인앱에서 띄움 | | 뒤로가기 | 모달 떠
읽기 → -
결제 플랫폼 README 반년치 부패 한 번에 정리
README 업데이트, 한 시간이면 끝날 줄 알았음 결제 플랫폼 사이드 레포 README가 반년째 방치돼 있길래 가볍게 손보려고 함. 결과적으로 두 시간 넘게 붙잡고 있었음. 문서가 코드보다 빨리 썩는다는 말이 진짜라는 걸 또 체감. 뭐가 문제였나 기존 README 훑어보니 다음 같은 이슈들이 보였음. - 설치 가이드의 의존성 버전이 두 단계 뒤
읽기 → -
README 외부 이미지 과다로 생기는 렌더링 누락 해결
외부 이미지 폭탄으로 README가 안 보임 오늘 머지한 PR 확인하려고 메인 레포 페이지 들어갔더니 README 중간이 통째로 비어있었음. 처음엔 마크다운 문법이 깨진 줄 알고 raw 파일을 열어봤는데 멀쩡함. 그런데 렌더된 페이지에서만 이미지 절반이 X 박스로 뜨고, 어떤 건 아예 placeholder조차 안 나옴. 원인 추적 확인해보니 외부
읽기 →