작성일: 2025년 12월 22일카테고리: Backend, Go, Troubleshooting키워드: Go, GORM, PostgreSQL, Troubleshooting, TimeZone요약GORM을 사용하면서 실제 프로덕션 환경에서 마주친 Edge Cases와 해결 방법을 정리한다. 타임존(KST/UTC) 불일치 문제, Zero Value 업데이트 함정, AutoMigrate와 init.sql의 권한 충돌, 그리고 Upsert, Hook 전파, 연결 끊김 등 실무에서 시간을 허비하기 쉬운 함정들을 다룬다.1. 타임존(TimeZone) 불일치 문제KST(Asia/Seoul) 환경에서 운영할 때 가장 흔하게 겪는 문제다.문제 상황// 한국 시간 2025-12-22 15:00:00에 레코드 생성user :=..
작성일: 2025년 12월 22일카테고리: Backend, Go, Architecture키워드: Go, GORM, Clean Architecture, Repository Pattern, PostgreSQL요약엔터프라이즈급 Go API Server를 구축할 때 GORM을 어떻게 활용해야 하는지 실제 프로젝트 사례를 통해 설명한다. Clean Architecture 기반의 계층 분리, Repository 패턴 구현, Custom Type을 활용한 JSONB 처리, 그리고 멀티테넌시와 감사 로그 설계까지 프로덕션 환경에서 검증된 패턴을 다룬다.프로젝트 구조Clean Architecture를 적용한 Go API Server의 표준 구조다.api/├── cmd/server/ # 애플리케이션..
작성일: 2025년 12월 22일카테고리: Backend, Go키워드: Go, GORM, ORM, PostgreSQL, Database요약GORM은 Go 생태계에서 가장 널리 사용되는 ORM(Object-Relational Mapping) 라이브러리다. 이 글에서는 GORM의 핵심 개념, 주요 기능, 그리고 실제 프로젝트에서의 활용 방법을 다룬다. 데이터베이스 연결부터 모델 정의, CRUD 작업, 관계 설정까지 실무에서 필요한 내용을 단계별로 설명한다.GORM이란GORM(Go Object Relational Mapper)은 Go 언어를 위한 풀 피처 ORM 라이브러리다. 개발자가 SQL을 직접 작성하지 않고도 Go 구조체를 통해 데이터베이스를 조작할 수 있게 해준다.주요 특징Auto Migration: ..
작성일: 2025년 12월 18일카테고리: Authentication, Security, Backend키워드: Ory Kratos, Self-Service Flow, Session, Cookie, CSRF, Login요약Ory Kratos의 Self-Service Login Flow는 CSRF 방어, 세션 관리, SPA 지원을 위해 설계된 상태 기반 인증 플로우다. Flow 생성, 로그인 제출, 세션 확인의 3단계로 구성되며, 각 단계에서 보안 검증이 이루어진다. 이 글에서는 로그인 버튼을 누르면 발생하는 모든 요청과 응답을 추적하고, 세션 쿠키의 보안 속성과 에러 처리 방법을 다룬다.개요로그인 버튼을 눌렀을 때 뒤에서 무슨 일이 일어나는지 살펴보자.놀이공원 입장권 발급에 비유하면:번호표 받기: 창구에서..
작성일: 2025년 12월 18일카테고리: Backend, Protocol, Microservices키워드: gRPC, REST, Protocol Buffers, HTTP/2, Microservices, Streaming요약gRPC는 Google이 개발한 고성능 RPC 프레임워크로, Protocol Buffers와 HTTP/2를 기반으로 한다. REST와 비교하여 바이너리 직렬화로 60-70% 작은 메시지 크기, HTTP/2 멀티플렉싱으로 동시 요청 처리, 양방향 스트리밍 등의 장점이 있다. 이 글에서는 gRPC의 핵심 개념, REST와의 차이점, 4가지 통신 패턴, 실전 활용 가이드를 다룬다.gRPC란?gRPC는 Google이 개발한 고성능 원격 프로시저 호출(RPC) 프레임워크다.flowchart L..
작성일: 2025년 12월 18일카테고리: Architecture, Microservices, Backend키워드: API Gateway, Microservices, Routing, Authentication, Rate Limiting, Load Balancing요약API Gateway는 클라이언트와 백엔드 서비스 사이에 위치하여 모든 API 요청의 단일 진입점 역할을 한다. 라우팅, 인증, Rate Limiting, 로드밸런싱, 캐싱 등 공통 관심사를 중앙에서 처리하여 보안 강화, 운영 단순화, 유연한 확장을 가능하게 한다. 이 글에서는 API Gateway의 필요성, 핵심 기능, 동작 흐름, 주요 사용 사례를 다룬다.API Gateway란?API Gateway는 클라이언트와 백엔드 서비스 사이에 위치..
작성일: 2025년 12월 6일카테고리: Authentication, Authorization, Architecture, Backend키워드: Ory Kratos, Ory Hydra, Ory Keto, Ory Oathkeeper, Zero Trust, OAuth2, ReBAC요약ImpRun v3 플랫폼은 Ory 스택 전체(Kratos, Hydra, Keto, Oathkeeper)를 통합하여 엔터프라이즈급 인증/인가 시스템을 구축했다. 각 컴포넌트가 명확한 역할을 담당하며, Zero Trust 아키텍처를 기반으로 웹 애플리케이션과 외부 API 클라이언트를 모두 지원한다. 이 글에서는 4개 Ory 컴포넌트의 조합 방식과 실제 구현 사례를 다룬다.Ory 스택 구성컴포넌트별 역할컴포넌트역할포트Ory Kratos..
작성일: 2025년 12월 6일카테고리: Authorization, Identity, Backend키워드: Ory Keto, ReBAC, Google Zanzibar, Authorization, Permission, OPL요약Ory Keto는 Google Zanzibar 논문을 기반으로 구현된 오픈소스 권한 관리 시스템이다. 전통적인 RBAC(Role-Based Access Control)의 한계를 넘어, Relationship-Based Access Control(ReBAC)을 통해 복잡한 권한 모델을 효율적으로 처리한다. 이 글에서는 Keto의 핵심 개념과 실제 프로젝트에서의 적용 방법을 다룬다.Google Zanzibar와 ReBACZanzibar의 배경Google Zanzibar는 Google 내..
Ory Kratos를 활용한 사용자 인증 시스템 구축: ImpRun 프로젝트 적용 사례작성일: 2025년 12월 6일카테고리: Authentication, Identity, Backend, Frontend키워드: Ory Kratos, Authentication, Identity Management, OAuth, OIDC, Session요약Ory Kratos는 클라우드 네이티브 환경을 위한 오픈소스 ID 관리 시스템이다. 자체적인 로그인/회원가입 UI를 제공하지 않고, API 기반으로 동작하여 프론트엔드에서 완전한 UI 커스터마이징이 가능하다. 이 글에서는 ImpRun 프로젝트에서 Kratos를 Next.js 프론트엔드와 Go 백엔드에 통합한 실제 구현 사례를 다룬다.Ory Kratos 개요Kratos란K..
작성일: 2025-11-03카테고리: Implementation, Troubleshooting, Architecture난이도: 중급TL;DR문제: "Environment-Agnostic = MongoDB에 baseName만 저장"이라는 착각으로 404 에러 폭탄해결: 환경별 독립 CloudFunction 존재 (dev/hello, staging/hello, prod/hello), extractBaseName() 패턴 전면 적용핵심: "Frontend는 환경 몰라도 됨" ≠ "MongoDB도 환경 몰라도 됨"결과: Function 생성 실패, History 404, Promote 실패 → 모두 해결 (4시간 디버깅)들어가며imprun.dev는 "API 개발부터 AI 통합까지, 모든 것을 하나로 제공"하는 ..
- Total
- Today
- Yesterday
- EnvironmentAgnostic
- api gateway
- react
- GPT-5.1
- Claude
- feature-sliced design
- CLAUDE.md
- zustand
- troubleshooting
- architecture
- authorization
- Development Tools
- ai coding
- backend
- Kubernetes
- frontend
- claude code
- imprun.dev
- NestJS
- Next.js
- Gemini 3.0
- AI agent
- authentication
- Tailwind CSS
- AI
- Developer Tools
- Go
- security
- AGENTS.md
- Claude Opus 4.5
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
