/ devlog
개발 로그
막혔던 부분, 삽질, 다시 안 헤매려고 남기는 기록. 키워드로 검색하거나 카테고리·태그로 좁혀서 찾으세요.
-
4명 보드게임 추천 — 티츄·스컬킹·러브레터 비교
친구 넷이 모였을 때 하기 좋은 카드게임 3가지를 인원수 재미, 룰 난이도, 한 판 길이로 비교합니다. 온라인으로 바로 시작하는 방법까지.
-
러브레터 보드게임 규칙 정리 — 카드 효과 8종과 승리 조건
카드 16장으로 하는 2~4인 추리·블러핑 게임 러브레터의 진행 방법, 카드 효과 8종, 인원별 승리 조건, 초보자 팁을 정리합니다.
-
마이티 규칙 쉽게 정리 — 주공·프렌드·기루다·조커콜
5인 트릭테이킹 카드게임 마이티의 규칙을 정리합니다. 비딩과 기루다, 프렌드 지목, 마이티·조커·조커콜 특수 카드, 점수 계산과 초보자 팁.
-
약속 시간에 한 명이 안 왔다면 — 티츄·마이티·스컬킹·러브레터를 온라인으로
봇이랑 먼저 연습하고, 늦는 친구는 방 번호만 받아 들어오면 되는 온라인 카드게임. 티츄·마이티·스컬킹·러브레터 4종을 한 번에 소개합니다.
-
카드게임 봇이 상대 손패를 추정하게 만들기 — 패스 로그 가중 샘플링, 그리고 조용히 약해진 봇
티츄 봇이 교환한 카드와 패스 기록으로 상대 손패를 추정하고, 셀프플레이 손익분기(50%)를 넘는 조건에서만 티츄를 부르게 만든 과정. 그리고 필드 하나 때문에 승률 탐색이 에러 없이 기본 전략으로 떨어졌던 버그까지 — 티츄온라인(Node.js) 실제 커밋 기록.
-
스컬킹(Skull King) 하는 법 — 예측 점수 계산과 해적·인어·스컬킹 상성
"내가 말한 만큼만 이겨라." 2~6명이 즐기는 해적 트릭테이킹 카드게임 스컬킹의 규칙, 점수 계산, 특수 카드 상성, 확장 카드를 정리합니다.
-
티츄(Tichu) 규칙 쉽게 정리 — 특수 카드, 조합, 티츄 선언, 점수 계산
4인 2:2 팀전 카드게임 티츄의 규칙을 한 번에 정리합니다. 용·봉황·개·참새 특수 카드, 폭탄, 티츄와 그랜드 티츄 선언, 점수 계산, 초보자 팁까지.
-
배포하면 게임이 끊긴다 — 진행 중인 실시간 매치를 다음 서버로 넘기기
무중단 배포를 해도 WebSocket 게임은 안 끊긴다는 보장이 없다. 구 인스턴스가 "매치 끝날 때까지" 기다리다 10분 유예를 다 태우고 SIGKILL로 죽었다. 이관 단위를 매치 → 라운드 경계로 바꾸고, 응답 유실·중복 방 ID·연속 배포까지 막기까지 — 티츄온라인(Node.js + WebSocket, blue/green) 실제 커밋으로 정리.
-
봇이 이상한 수를 둔다 — 크래시도, 실패하는 테스트도 없는 버그 잡기
"봇이 판돈도 없는 트릭에 마이티를 버려요." 크래시가 아니라 판단 품질이라 스택트레이스도 실패하는 테스트도 없다. 이상한 수를 봇 자신의 판정 함수로 세는 스캐너, dev vs main 한 테이블 A/B, A/A 널 검증까지 — 티츄온라인 마이티 봇을 자가대국으로 디버깅한 기록. 사람 눈에 낭비로 보이던 수가 실제로는 옳아서 되돌린 이야기도.
-
Flutter 구독에 무료체험을 붙였더니 "체험 눌렀는데 즉시 결제"가 터졌다 — Android offer 선택 함정
Android는 구독 productId 하나에 offer(base plan·무료체험)마다 별도의 ProductDetails를 돌려주고, 어느 인스턴스를 PurchaseParam에 넘기느냐가 어떤 offer로 결제될지 결정한다. in_app_purchase에서 id만 맞는 첫 항목을 집으면 체험 버튼이 base plan을 결제하거나 표시 가격이 ₩0으로 뜬다. 링고루프에서 잡은 offer 선택·표시 가격 버그와 수정 코드.
-
앱 15개가 전부 업데이트 대상이 됐다? — Google Play가 하루아침에 올린 두 기준(결제 8+, target 36)
앱 하나 버그가 아니라 Google Play 기준선이 2026-08-31 자로 올라가면서 갖고 있는 앱 15개가 한꺼번에 업데이트 대상이 됐다. 인앱결제 라이브러리 8.0.0+, target API 36(Android 16) — 결제 7.1.1→9.1.0에서 실제로 깨진 API, compileSdk/AGP 버전 체인, 16KB 정렬, Scaffold 바깥 전체화면의 edge-to-edge 인셋까지 규칙찾기·티츄온라인·링고루프 실제 커밋으로 정리.
-
iOS WKWebView에서 특정 도메인만 Custom User-Agent 예외 처리하기 — 카카오 로그인 이슈
WKWebView에 Custom User-Agent를 붙였더니 accounts.kakao.com이 모바일 환경을 인식 못 해 카카오 로그인이 깨졌다. decidePolicyFor에서 UA를 바꾸면 왜 늦는지, 요청을 취소하고 재발행해 어떻게 해결했는지 정리.
-
Android WebView에서 카카오 로그인 "앱으로 열기" 버튼이 안 보일 때 — User-Agent와 스킴 점검
Chrome에선 보이는 카카오톡 "앱으로 열기" 버튼이 Android WebView에선 안 보인다. 패키지 가시성(queries)·콜백 스킴·WebView User-Agent(wv 흔적)를 점검하고, 안 되면 네이티브 카카오 SDK로 우회하는 순서 정리.
-
개발 로그를 시작합니다
막혔던 부분과 다시 안 헤매려고 남기는 기록들을 이 블로그에 정리합니다. 글 쓰는 법과 검색 사용법.
-
정적 블로그를 구글·네이버 검색에 노출시키기 — 색인 준비 전 과정
Astro 정적 블로그를 구글·네이버 검색 결과에 띄우기 위해 한 작업 전부. 정적 HTML 렌더, 글별 메타·OG·JSON-LD, sitemap·robots.txt, Google Search Console·네이버 서치어드바이저 등록과 소유확인, 다국어 hreflang까지.
-
Docker 빌드가 매번 npm install 부터 다시 도는 문제
COPY 순서만 바꿔서 의존성 레이어를 캐싱하면 빌드가 몇 배 빨라진다. 레이어 캐시의 원리와 흔한 실수.