Read more »

모두 보기

[스타트업/기술] SSoT 기반 카탈로그 시스템 설계 | 파편화된 가격 데이터의 비효율성을 극복하고 프로모션 구조 구축하기

서비스를 고도화하는 작업을 진행하면 할수록 초기에 잘 동작하는 것처럼 보였던 설계가 발목을 잡는 순간이 온다. 최근 우리 서비스의 결제 및 가격 구조를 개편하면서 이 사실을 다시 한번 뼈저리게 느꼈다. 기존에는 각 콘텐츠마다 가격을 개별적으로 설정할 수 있도록 설계되어 있었다. 하지만 본격적으로 서비스 출시를 앞두고, 프로모션을 기획해야 하는 시점이 오자 이 구조는 기술 부채로 다가왔다. 오늘은 파편화된 데이터 구조의 한계를 SSoT(Sing…

hyeon_B

[스타트업/이슈] Google Play 인앱 결제 API | "insufficient permissions" 오류

지난 시간 을 통해 만든 서버에서 구글 플레이(Google Play) 인앱 결제 영수증 검증을 위해 백엔드 서버에서 API를 호출하는 과정 중 참 황당한 에러를 마주했다. 서버 로그에 남은 에러 메시지는 다음과 같았다. error_code: "internal" error_message: "The current user has insufficient permissions to perform the requested o…

hyeon_B

[스타트업/기술] Node.js & App Store 인앱결제 | 결제 시스템 아키텍처 (Part 2)

지난 글 에서는 안드로이드 생태계에서 구글 플레이 API를 활용하여 서버 검증 아키텍처를 어떻게 구축하는지 다루었다. 클라이언트의 상태를 신뢰하지 않고 서버가 주도권을 쥐어야 한다는 원칙은 iOS 환경인 앱스토어(App Store) 결제에서도 동일하게 적용된다. 하지만 Flutter를 통해 크로스 플랫폼 앱을 개발하면서, 구글과 애플이 Proof of Purchase을 다루는 방식에 꽤 큰 아키텍처적 차이가 있음을 알게 되었다. 애플은 WWD…

hyeon_B

[스타트업/기술] Node.js & Google Play 인앱결제 | 결제 시스템 아키텍처 설계 (Part 1)

이제 실제로 사용자에게 가치를 제공하고 그에 대한 정당한 대가를 받는 '결제 시스템'을 구축해야 할 시점이 왔다. 현재 개발 중인 서비스에 S-Coin이라는 재화 시스템을 도입하면서, 구글 플레이 스토어(Android)와 앱스토어(iOS)의 인앱결제(In-App Purchase) 프로세스를 연동하기로 했다. 이 글에서는 2편에 걸쳐 구성될 결제 시스템 구축기의 첫 번째로, 구글 플레이 스토어 인앱결제의 아키텍처와 검증 원리에 대…

hyeon_B

[스타트업/기술] GitHub Actions CI 파이프라인 | 프로덕션 배포 전 런타임 에러를 차단하는 테스트 자동화

서비스 출시 준비 중 발견한 치명적인 문제점 지난 시간 에 이어 sleuth의 백엔드 서버(FastAPI & Cloud Run) 로직을 프로덕션 환경을 위해 고도화하는 작업에 집중하고 있다. 평소처럼 로컬 환경에서 새로운 기능을 테스트해 보니 매끄럽게 잘 동작하기에, 큰 고민 없이 main 브랜치에 코드를 직접 푸시하고 배포를 진행했다. 팀에 개발을 담당하는 인력이 많이 없기도 하고, 백엔드 서버를 지금은 혼자 구축하고 있기에 편의를…

hyeon_B

[스타트업/기술] GCP Vertex AI | 프로덕션 환경을 위한 GeminiAPI 마이그레이션

지난 글들에서는 Sleuth의 코어 로직을 클라이언트에서 분리하여 FastAPI로 백엔드를 구축하고, 이를 GCP Cloud Run이라는 서버리스 인프라에 안착시킨 과정을 정리했다. (Cloud Run의 Scale-to-Zero와 콜드 스타트 최적화에 대한 내용은 이전 포스팅 을 참고하길 바란다.) 내부 아키텍처가 갖추어졌으니, 이제 실제 운영 환경의 쏟아지는 트래픽을 견뎌낼 수 있는지 검증할 차례다. 하지만 테스트를 시작하자마자 코드가 아닌…

hyeon_B
게시물 더보기
검색결과 없음

Contents