본문 바로가기

Tech Notes122

AI 호출 3분, 사용자는 1초도 못 기다린다 — 큐 패턴 도입기 아키텍처 · 1인 개발자 메모 AI 호출 3분, 사용자는 1초도 못 기다린다— 큐 패턴 도입기 사용자 입장에서 3분 빈 화면. 그게 정말 답일 리가 없잖아요. Cloudflare Workers + Queues + D1 + R2로 백엔드를 다시 설계한 이야기. 2026-05-26 · 약 9분 소요 문제: 3분 빈 화면 특정 이미지 생성 AI를 부르면 결과가 나오기까지 약 3분이 걸립니다. 모델의 본질적 처리 시간이라 줄일 수 없어요. 문제는 이게 사용자가 요청 직후 결과를 기대하는 화면에서 발생한다는 거예요. 3분 동안 스피너만 보고 있게 만들 순 없죠. 3분이라는 시간감 비교: 유튜브 광고 스킵 가능 시간 5초. 메신저 메시지 전송 0.5초. 모바일 송금 1~2초. 그.. 2026. 5. 31.
서버 CLI 도구 정리 — Wrangler, gh, Supabase CLI 개발 도구 · 1인 개발자 메모 서버 CLI 도구 정리— Wrangler, gh, Supabase CLI 클라우드 인프라를 다루다 보면 결국 터미널로 돌아오게 됩니다. 사이드 프로젝트를 진행하면서 실제로 쓴 세 가지 CLI를 정리했어요. 2026-05-26 · 약 6분 소요 왜 이 글을 쓰게 됐냐 오늘 프로젝트 백엔드를 Cloudflare로 옮기기로 결정하면서 wrangler login을 입력하려는데 문득 이런 생각이 들었어요. "이거 도대체 뭐지? 왜 굳이 CLI를 쓰는 거지?" 이미 gh는 일상적으로 쓰고 있고, 한때 Supabase CLI도 보던 시기가 있었는데 막상 셋의 차이를 누가 물어보면 즉답이 어렵더라고요.. 2026. 5. 26.
앱인토스 결제 프로세스 앱인토스의 SDK 를 보고 결제모듈을 작성하던 중, 에러가 발생했고 앱인토스 개발자 커뮤니티에 질문을 남겨서 친절하게 답변을 받았다. 다시 로직을 보니 결제 성공 후에 우리 서버에서 '그래서 이 주문이 맞냐고?' 란 검증을 한번 더 해서 NOT_FOUND 가 계속 나오는 문제가 발생하고 있었다. 나름의 추측으로는 응답시간이 너무 짧거나(?) 트랜잭션(음...) 등의 이유로 직전 성공 건에 대해서fail 이 난 것 같았다. 문제의 로직> /api/purchase/grant 앱인토스 미니앱에 인앱결제를 붙이면서 가장 헷갈렸던 부분은 "어느 시점에 우리 서버가 개입해야 하는가" 였다. 공식 문서를 읽어도 흐름이 머릿속에 잘 그려지지 않아서, 직접 구현하며 정리한 내용을 공유한다. 전체 흐름 한눈에 보기 사.. 2026. 5. 18.
고양이 타로 앱에 서버를 안 두기로 했다 — Edge Function 도입기 React Native 타로 앱을 만들고 있습니다. iOS App Store 출시를 준비하면서 결제 검증과 일일 무료 사용 제한 같은 백엔드 로직이 필요해졌습니다. 그런데 "서버를 띄우자"가 첫 번째 답은 아니었습니다. 월 사용자가 100명일지 1,000명일지 아직 모르는 MVP 단계에서 EC2나 Vercel에 Express 서버를 24시간 켜두는 건 과한 결정이었습니다. 결국 Supabase의 Edge Functions를 도입했고, 이 글은 그 과정에서 배운 것의 정리입니다. 1. 왜 클라이언트만으로는 안 되는가 처음엔 단순하게 생각했습니다. "결제는 Apple이 처리하니까 앱에서 영수증 받아서 직접 처리하면 되지 않나?" 하지만 두 가지 문제가 있었습니다. 문제 1: 신뢰할.. 2026. 5. 11.
[앱인토스] 토스 로그인과 JWT, 14일의 비밀 JWT 토스 로그인 앱인토스 OAuth2토스 로그인과 JWT,14일의 비밀을 파헤치다2026년 4월 · miracle-tech.tistory.com앱인토스 미니앱을 만들다 보면 토스 로그인을 반드시 구현해야 한다. 그런데 토큰이 세 종류나 등장하고, 유효기간도 제각각이라 처음엔 꽤 혼란스럽다.이번 글에서는 호텔 키카드 비유를 통해 토스 로그인의 토큰 구조를 아주 쉽게 정리해본다. 이런일이 발생했음 ======================================================================JWT 7일 만료 ↓ check API → 401 ↓ .catch(()=>{}) 로 에러 삼킴 ↓ received = undefined → falsy ↓ "아.. 2026. 4. 26.
Vercel Function vs Express 미들웨어 Vercel로 API를 만들다 보면 두 가지 구조 중 하나를 선택하게 됩니다.api/attendance/status.ts 같은 Vercel Function 파일routes/attendance.ts 같은 Express 라우터둘 다 같은 URL로 접근하고, 같은 일을 합니다. 그런데 왜 Express를 쓰는 게 더 낫다고 하는 걸까요?이번 포스팅에서 음식점 비유와 실제 코드로 명확하게 정리해 드릴게요.핵심 차이 한 문장으로Vercel Function = 주문마다 주방을 새로 차리는 것Express 미들웨어 = 이미 열려 있는 식당에서 요리만 하는 것 Vercel Function 구조 — 파일 하나가 서버 하나Vercel Function은 파일 경로가 곧 URL 경로입니다.api/attendance/statu.. 2026. 4. 25.
반응형