2026년 10월 30일 금요일
미단재

2026년 10월

← 전체 아카이브

총 114편

웅파 · 2026-10-21
혼자 쓰는 맛집 앱 Pagus 만들기
한 줄 요약 — 사용자가 나 하나뿐인 앱은 "다들 이렇게 하니까"를 버리고, 내 손에 맞는 결정을 하나씩 쌓아가는 일이었다. 파구스(Pagus)는 파주 인근 로컬 맛집 지도입니다. 라틴어로 '마을'이라는 뜻인데, 동…
웅파 · 2026-10-21
사진 동선 앱에서 남의 사진이 보였다 — 위치 데이터를 다룰 때 놓치기 쉬운 것
로그인도 하고 소유자 검증도 통과했는데, 화면에 뜬 사진은 다른 사람의 것일 수 있었습니다. 제가 운영하는 사진 동선 앱 Iter에서 실제로 있었던 버그입니다. 권한 검사 코드는 멀쩡했고, 문제는 파일 이름이었습니다…
웅파 · 2026-10-21
코드 대신 그림을 그린 하루 — AI로 명함 한 장 만들기
개발 글만 쓰다 보니 블로그가 좀 딱딱해졌다. 오늘은 말랑한 이야기를 하나 해보려 한다. 어느 날 하루, 코드는 한 줄도 안 짜고 명함만 만든 날의 기록이다. 도구는 AI였다. 디자인 앱을 AI 에이전트(Claude…
웅파 · 2026-10-21
새로고침하면 공간이 사라진다: 저장 버튼을 의심하기 전에 순서를 봤다
AICella는 방 도면을 그리고 가구를 배치하는 웹 도면 편집기다. 어느 날 이런 제보가 들어왔다. 공간 하나 추가하고 저장을 했는데 새로고침 후에 사라져버렸어. 도면 편집기에서 작업물이 사라지는 건 가장 치명적인…
웅파 · 2026-10-21
멀티테넌트 API에서 company_id를 요청이 아니라 JWT에서 뽑는 이유 — AI 보안 리뷰로 재처리 API 뜯어보기
AI 면접 플랫폼 AILego에는 "답변 재처리" 기능이 있다. 면접 영상 청크 업로드나 후처리(STT, 채점)가 실패한 답변을 관리자가 버튼 한 번으로 다시 돌리는 기능이다. 응시자는 이미 면접을 마쳤으니 영상을…
웅파 · 2026-10-21
"회원탈퇴가 없네?"에서 시작해 1221개 테스트까지
쇼핑몰을 만들다 보면 어느 날 문득 깨닫는다. 가입은 되는데 탈퇴가 없다. 이번 글은 그 한 줄짜리 요구에서 시작해, 설계·구현·리뷰·병합을 거쳐 테스트 1221개가 전부 초록불이 되기까지의 기록이다. AI 에이전트…
웅파 · 2026-10-21
CI 고치다 PR이 15개 쌓인 날: #129부터 #144까지 실패 일지
러너를 옮기고 CI를 돌렸더니 1시간 넘게 돌다 죽었다. 한 줄 고치고 재실행, 또 실패, 또 한 줄. 하루가 지나고 보니 PR 번호가 #129에서 #144까지 올라가 있었다. 결과편("CI 46초")이 아니라, 그…
웅파 · 2026-10-21
AI가 잘못 건드린 메인 체크아웃을 복구한 이야기
AI에게 작업을 맡기다 보면 언젠가 이런 순간이 온다. 세션 중간에 AI가 메인 저장소를 잘못 건드린 것이다. 이번 글은 그 상황을 dev 브랜치의 깨끗한 상태로 되돌린 기록이다. 복구 과정에서 무엇을 건드리지 않았…
웅파 · 2026-10-21
"깃헙에 시크릿이 노출됐습니다" 메일을 받았다 — 진짜 위험은 따로 있었다
어느 날 메일함에 이런 제목의 메일이 와 있었다. GitHub 저장소에 시크릿이 노출되었습니다 가슴이 철렁했다. 그런데 발신 도메인을 보니 getgitguardian.com이었다. 내가 아는 GitGuardian의…
웅파 · 2026-10-21
슈퍼관리자 로그인 에러를 고치다가, 계정 발급을 php spark 한 줄로 바꾼 이야기
슈퍼관리자로 로그인했더니 403이 떴다. 원인을 찾아 고치고 나니, 더 큰 문제가 보였다. 계정을 만드는 방법이 너무 수동이었다. 1. 증상: 로그인은 되는데 화면이 Forbidden 슈퍼관리자 계정으로 로그인하면…
웅파 · 2026-10-21
큐 워커 운영 장애 연속극: systemd 워커가 안 도는 이유 체크리스트
AILego(비동시 AI 화상면접 SaaS)를 운영 서버에 처음 올리던 날, 웹은 멀쩡한데 큐 워커만 뜨지 않았다. 에러는 하나가 아니라 연속극이었다. 하나를 고치면 다음 에러가 나왔다. 그날 겪은 순서대로 기록하고…
웅파 · 2026-10-21
GitHub 개인 계정 Mac 러너에서 조직 Linux 러너로: 이전하면서 드러난 CI의 숨은 버그들
CI 러너를 옮기는 일은 "runs-on 한 줄만 바꾸면 끝"처럼 보입니다. 실제로 저도 그렇게 생각하고 시작했습니다. 그런데 여러 저장소를 한꺼번에 옮겨 보니, 러너 이전은 단순한 인프라 교체가 아니었습니다. 그동…
웅파 · 2026-10-21
게시판 이미지 경로·캡션 저장·카테고리 누락 — 운영서버에서만 터진 버그 3연타
한 줄 요약 — 세 버그 모두 코드가 "틀린" 게 아니라, 로컬에는 없고 운영에만 있던 것(글 주소의 모양, 쌓여 있던 옛 글, 이관해 온 카테고리)을 코드가 가정하지 못해서 터졌다. 들어가며 AIPicto(그림책·…
웅파 · 2026-10-21
Claude에 MCP로 디자인 툴 붙이기 — DesignCraft·PhotoCraft 설치부터 명함, 카툰 효과까지
한 줄 요약 — 포토샵·인디자인을 Rust로 다시 만든 오픈소스 Craft 앱에는 MCP 서버가 들어 있다. claude mcp add 한 줄로 붙이면 Claude Code가 명함을 조판하고 사진에 효과를 입힌 뒤,…
웅파 · 2026-10-21
제품 하나 만들 때마다 반복한 일: 이슈 → worktree → PR → 정리
지난 1년 동안 클로드코드로 제품을 여러 개 만들었습니다. 제품마다 기획도, 도메인도, 화면도 달랐습니다. 그런데 돌아보니 하루 일과는 놀라울 만큼 똑같았습니다. 이슈를 하나 열고, worktree를 따고, 작업하고…
웅파 · 2026-10-21
네이버 연동 3종 함정 정리: 로그인 DB 저장, 쇼핑 검색 API 오류, 서치어드바이저 메타
한 줄 요약 — 네이버 연동은 문서대로 붙이면 "동작"은 한다. 문제는 그 다음, 데이터를 저장하고 운영에 올리는 순간에 터진다. CI4로 만든 제품들에 네이버를 세 군데 붙였다. 회원가입용 네이버 로그인, 상품 가…
웅파 · 2026-10-21
PG 결제 연동 삽질 모음 — AICopia에서 이니시스·카카오페이·네이버페이와 싸운 기록
PG 결제 연동 삽질 모음 — AICopia에서 이니시스·카카오페이·네이버페이와 싸운 기록 2026년 10월 21일 · @martin PG 연동은 "SDK 붙이고 콜백 받으면 끝"이 아니었다. 쇼핑몰 솔루션 AICo…
웅파 · 2026-10-20
스쿼시 머지 vs 머지 커밋: 1인 개발자의 PR 전략
들어가며 결론부터 말하면, 저는 feature → dev는 스쿼시 머지로, dev → main은 머지 커밋으로 합칩니다. 작업 단위는 커밋 하나로 깔끔하게, 배포 단위는 경계가 보이게 남기기 위해서입니다. 이 글을…
웅파 · 2026-10-20
리뷰 스팸을 AI로 감시할 때의 운영 규칙: 자동 삭제보다 검토 큐가 먼저인 이유
리뷰 스팸을 AI로 감시할 때 가장 먼저 정해야 할 것은 어떤 모델을 사용할지가 아니다. 더 중요한 질문은 이것이다. AI가 의심스럽다고 판단한 리뷰를 바로 삭제할 것인가, 아니면 사람이 검토할 수 있도록 큐에 넣을…
웅파 · 2026-10-20
그림책 서비스의 게스트 열람 워터마크
UX와 불법 공유 방어 사이의 타협 그림책 서비스를 만들면서 가장 오래 고민한 문제 중 하나는 “로그인하지 않은 방문자에게 어디까지 보여줄 것인가”였다. 콘텐츠를 보여주지 않으면 가입 전환이 어렵다. 반대로 원본 이…