Recent Posts

Backend 기본 개념

Backend 기본 개념은 POJO·DTO·SSE·JPA/ORM·헥사고날 아키텍처·DI/DIP·JWT·CORS를 통해 서버 설계의 핵심 경계를 빠르게 이해하게 해주는 입문 정리다.

k6 & hey 부하 테스트 완전 가이드

참고 자료 부하 테스트(Load Testing)는 시스템이 예상 트래픽 조건에서 정상적으로 동작하는지 검증하는 비기능(non-functional) 테스트다.

JPA Auditing & EntityListener 완전 가이드

참고 자료 AuditingEntityListener는 JPA 엔티티의 라이프사이클 이벤트(@PrePersist, @PreUpdate)를 감지하여 감사(Audit) 메타데이터를 자동으로 채우는…

YAGNI 원칙과 Strategy Pattern

YAGNI, You Aren’t Gonna Need It, Strategy Pattern, 전략 패턴, OCP, Open-Closed Principle, GoF, 디자인 패턴, 행위 패턴, i…

Uvicorn - Python ASGI 서버

⚠️ 프로덕션에서는 Nginx에서 SSL 처리를 권장 (Let’s Encrypt 등) Uvicorn, ASGI, WSGI, uvloop, httptools, Gunicorn, FastAPI,…

Swagger와 H2 - 개발 환경 도구

어노테이션 용도 위치 @Tag 컨트롤러 그룹 이름 클래스 @Operation API 설명 메서드 @Parameter 파라미터 설명 파라미터 @Schema 모델/필드 설명 DTO 클래스/필드 @…

Streamlit Server

Streamlit, Python, 데이터 앱, 대시보드, Session State, 캐싱, WebSocket, Gradio, Dash

SSO (Single Sign-On) 연동

SSO, Single Sign-On, IdP, SP, OIDC, OpenID Connect, OAuth 2.0, SAML, JWT, ID Token, JIT Provisioning, 인증, 인…

SQLAlchemy - Python ORM

SQLAlchemy, ORM, Object-Relational Mapping, Core, Session, Mapped, mapped_column, relationship, async, Asyn…

AWS S3 요금체계

스토리지 클래스 저장 비용/GB/월 GET 1,000건 최소 보관 가용성 적합한 용도 S3 Standard ~$0.023 ~$0.0004 없음 99.99% 자주 접근하는 데이터 Intellig…

S3 vs RDS 데이터 저장 선택 기준

데이터 유형 S3 RDS 이유 사용자 정보 (이름, 이메일) ✅ 검색/수정 빈번, 관계 프로필 이미지 ✅ 파일, 수정 드묾 주문 내역 ✅ 트랜잭션, 관계, 검색 주문 첨부 파일 ✅ 파일 상품…

Remember Me 로그인 유지 완전 가이드

Session Cookie만 사용하던 시대의 사용자 경험 문제: - 매일 아침 이메일 확인 시 매번 로그인 필요 - 개인 PC에서도 브라우저 재시작마다 재인증 - 비밀번호 기억 부담 → 단순…

RDS와 EKS 아키텍처

항목 RDS (일반) Aurora Read Replica 최대 5개 최대 15개 Replica Auto Scaling ❌ ✅ Serverless 옵션 ❌ ✅ (v2) 스토리지 자동 확장 제한적…

POST only API 설계 패턴

사내 프로젝트에서는 모든 API 엔드포인트에 POST 메서드만 사용하는 정책을 적용하고 있습니다.

pnpm 패키지 매니저

항목 npm yarn (classic) pnpm 출시 2010 2016 2017 저장 방식 프로젝트별 복사 프로젝트별 복사 글로벌 store + 링크 디스크 사용 높음 높음 매우 낮음 설치 속…

OAuth 2.0과 Keycloak

이 문서에서는 현대 웹/모바일 애플리케이션의 인증/인가 표준인 OAuth 2.0과 OpenID Connect(OIDC), 그리고 이를 구현한 오픈소스 IAM 솔루션 Keycloak에 대해 상세…

Kustomize Base/Overlay 패턴

항목 Kustomize Helm 핵심 추상화 Overlay / Patch 패키지 매니저 + 템플릿 설정 언어 순수 YAML + 패치 Go 템플릿 + values.yaml kubectl 통합 네…

Kotlin 프로젝트 디렉토리 구조 원칙

장점: - 단순하고 익숙함 (Spring Boot 튜토리얼 기본 구조) - 계층이 명확하게 보임 - 소규모 프로젝트에서 빠르게 시작 가능 단점: - 주문 기능 하나 수정 시 4~5개 패키지를…

Kotlin Sealed Class

Sealed Class, Sealed Interface, when, 완전성, Exhaustiveness, ADT, Algebraic Data Type, Sum Type, 스마트 캐스트, Sma…

Kotlin companion object

companion object, Kotlin, static, 싱글톤, 팩토리 패턴, @JvmStatic, @JvmField, 객체지향

Kubernetes 기본 개념

구성요소 역할 API Server 모든 요청의 진입점, REST API 제공 etcd 클러스터 상태 저장소 (Key-Value) Scheduler Pod를 어떤 Node에 배치할지 결정 Con…

JWT 인증 메커니즘

항목 HS256 (대칭) RS256 (비대칭) 키 하나의 Secret Key Private Key + Public Key 서명 Secret Key로 서명 Private Key로 서명 검증 같은…

Jenkins vs GitHub Actions

항목 Jenkins GitHub Actions 호스팅 Self-hosted SaaS (+ self-hosted runner) 비용 모델 무료 (인프라 비용) 분당 과금 (무료 티어) 설정 방식…

Istio와 Service Mesh

Istio, Service Mesh, Sidecar, Envoy, Proxy, mTLS, VirtualService, DestinationRule, Gateway, 트래픽 관리, 카나리 배포

Interceptor/Middleware 패턴

Interceptor/Middleware 패턴의 핵심 개념과 실무 적용 포인트를 함께 정리한 글이다.

Hibernate와 Soft Delete

이 문서에서는 Java/Kotlin 진영의 대표적인 ORM 프레임워크인 Hibernate의 탄생 배경과 핵심 개념, 그리고 데이터 삭제 전략인 Soft Delete의 필요성과 구현 방법을 상세…

Hibernate ddl-auto

Hibernate, JPA, ddl-auto, update, validate, create, create-drop, Flyway, Liquibase, 스키마 마이그레이션, Spring Boot…

GDPR (General Data Protection Regulation)

GDPR, 개인정보보호, Privacy, 동의, Consent, 쿠키 배너, 잊힐 권리, Right to Erasure, 데이터 이동권, Data Portability, DPO, Data Pr…

FastAPI 프레임워크

FastAPI, Python, Pydantic, ASGI, Starlette, Uvicorn, 비동기, 타입 힌트, Swagger, OpenAPI, Django, Flask

DuckDB 분석 데이터베이스

SQLite DuckDB PostgreSQL Spark 용도 OLTP OLAP OLTP+OLAP 대규모 OLAP 설치 없음 없음 서버 필요 클러스터 필요 저장 방식 행 지향 열 지향 행 지향…

Dual Write 패턴

Dual Write 패턴의 핵심 개념과 실무 적용 포인트를 함께 정리한 글이다.

DDD 설계 원칙

DDD, Domain-Driven Design, Bounded Context, Ubiquitous Language, Aggregate, Aggregate Root, Entity, Value O…

Carbon Design System (IBM)

Carbon, IBM, 디자인 시스템, Design System, React, 접근성, A11y, WCAG, IBM Plex, 디자인 토큰, Figma, 컴포넌트 라이브러리, 엔터프라이즈, D…

Backend 기본 개념

POJO = Plain Old Java Object = 평범한 옛날 자바 객체 DTO = Data Transfer Object = 데이터 전송 객체 SSE = Server-Sent Events…

AWS 기본 개념 통합

EC2 = Elastic Compute Cloud = 탄력적 컴퓨팅 클라우드 ECS = Elastic Container Service = 탄력적 컨테이너 서비스 EKS = Elastic Kub…

AWS Credentials Provider

항목 DefaultCredentialsProvider CustomCredentialProvider 구현 주체 AWS SDK 내장 개발자 직접 구현 설정 방식 자동 (환경 기반) 명시적 코드 유…

Fan-In, Race Condition, Pessimistic Lock

관련 이슈: example-org/example1673 - Dashboard OCR 항목이 terminal 전이 누락 시 계속 처리중으로 보이는 문제 여러 갈래로 나뉘었던 비동기 작업이 하나로 합쳐지는…

엔티티 ID 설계 전략

Many objects are not fundamentally defined by their attributes, but rather by a thread of continuity and…

CQRS와 Event Sourcing 완전 가이드

용어 풀네임 / 어원 의미 CQRS Command Query Responsibility Segregation 명령(쓰기)과 질의(읽기)의 책임을 물리적으로 분리하는 아키텍처 패턴 CQS Com…

Lettuce Redis 클라이언트

Lettuce Redis 클라이언트의 핵심 개념과 실무 적용 포인트를 함께 정리한 글이다.

Spring Boot Actuator Health

Spring Boot Actuator, Health Endpoint, Liveness Probe, Readiness Probe, Startup Probe, Kubernetes, HealthIn…

DestinationRule과 서비스 QoS

DestinationRule은 Istio 서비스 메시에서 라우팅이 결정된 이후 트래픽이 목적지에 어떻게 도달할지를 정의하는 CRD(Custom Resource Definition)이다.

Agentic Engineering

Agentic Engineering Context Engineering Harness Engineering Prompt Engineering Vibe Coding ReAct Agent Loop…

iOS App Reversing

iPhone 탈옥, Frida 설치, IPA 덤프까지 iOS 리버싱 가이드

Bazel 기초

Bazel 프로젝트 구성 파일과 빌드 시스템 기초

Streaming Systems

도서 Streaming Systems를 읽으며 정리한 스트리밍 시스템 개념

Crackmes - Junkrat

난독화와 Anti-Debugging이 적용된 crackme 문제 풀이

Vim Config Syntax

Vim의 key mapping, autocommand 등 설정 문법 정리

Cow in Rust

Rust의 Copy-On-Write 스마트 포인터 std::borrow::Cow 분석