All Tags

#Backend

49 articles with this tag

Backend·Mon Jan 05 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

GitLab CI/CD 시리즈 #2: Variables와 Secrets 관리

GitLab CI/CD의 변수 유형과 우선순위, Protected/Masked 변수, 그리고 Vault 연동까지 시크릿 관리 전략을 다룹니다.

Backend·2026-01-05

GitOps 심화 시리즈 #6: CI/CD 파이프라인 통합과 Progressive Delivery

GitOps에서 CI와 CD의 분리, Image Updater, Progressive Delivery(Argo Rollouts, Flagger)를 다루는 시리즈 완결편입니다.

Backend·2026-01-05

GitOps 심화 시리즈 #5: Secrets Management - Git에 비밀을 안전하게 저장하기

GitOps에서 Secrets를 안전하게 관리하는 방법. Sealed Secrets, External Secrets Operator, SOPS의 동작 원리와 선택 기준을 다룹니다.

Backend·2026-01-05

GitOps 심화 시리즈 #4: 환경별 설정 관리 - Kustomize vs Helm

Kustomize의 Base/Overlays 패턴, Helm의 values 관리 전략, 그리고 언제 무엇을 선택해야 하는지 실무 관점에서 다룹니다.

Backend·2026-01-05

GitOps 심화 시리즈 #3: Flux CD - GitOps Toolkit과 컨트롤러 아키텍처

Flux의 GitOps Toolkit 아키텍처, Source/Kustomize/Helm Controller의 동작 원리, 그리고 ArgoCD와의 상세 비교를 다룹니다.

Backend·2026-01-05

GitOps 심화 시리즈 #2: ArgoCD Deep Dive - 아키텍처와 동작 원리

ArgoCD의 내부 아키텍처, Application CRD 상세 분석, Sync 전략, 그리고 ApplicationSet으로 멀티 클러스터를 관리하는 방법을 깊이 있게 다룹니다.

Backend·2026-01-05

GitOps 심화 시리즈 #1: GitOps란 무엇인가 - 철학과 원칙

GitOps의 4가지 핵심 원칙, Push vs Pull 배포 모델의 차이, 그리고 Kubernetes Controller 패턴과의 연결고리를 깊이 있게 이해합니다.

Backend·2026-01-05

GitLab CI/CD 시리즈 #6: 외부 통합 - Triggers, Webhooks, API

Pipeline Triggers, Webhooks, API를 통한 외부 시스템 연동, ChatOps, 그리고 GitOps 도구와의 통합을 다룹니다.

Backend·2026-01-05

GitLab CI/CD 시리즈 #5: 고급 Job 제어 - rules, needs, DAG

rules 조건 분기, needs를 활용한 DAG 실행, Job 템플릿과 extends, !reference 태그까지 고급 Job 제어 기법을 다룹니다.

Backend·2026-01-05

GitLab CI/CD 시리즈 #4: Pipeline 아키텍처 - Parent-Child와 Multi-Project

복잡한 파이프라인을 효율적으로 관리하기 위한 Parent-Child Pipeline, Multi-Project Pipeline, 동적 파이프라인 생성을 다룹니다.

Backend·2026-01-05

GitLab CI/CD 시리즈 #3: Runners와 Executors - Docker-in-Docker 심화

GitLab Runner의 아키텍처와 Executor 유형, Docker-in-Docker(DinD) 설정, Kubernetes Executor 구성을 다룹니다.

Backend·2026-01-05

GitLab CI/CD 시리즈 #1: 기초 - .gitlab-ci.yml의 구조와 Pipeline 이해

GitLab CI/CD의 핵심인 .gitlab-ci.yml 파일 구조, Stages와 Jobs의 관계, Pipeline 실행 흐름을 체계적으로 이해합니다.

Backend·2026-01-04

Kubernetes 심화 시리즈 #6: 보안 완전 가이드

RBAC, NetworkPolicy, Pod Security Standards(PSS)까지 Kubernetes 보안의 모든 것을 깊이 있게 다룹니다.

Backend·2026-01-04

Kubernetes 심화 시리즈 #5: 오토스케일링 완전 가이드

HPA v2, VPA, Cluster Autoscaler, Karpenter, KEDA까지 Kubernetes 오토스케일링의 모든 것을 깊이 있게 다룹니다.

Backend·2026-01-03

Kubernetes 심화 시리즈 #4: Istio 서비스 메시 완전 가이드

Istio의 VirtualService, DestinationRule, Gateway를 깊이 있게 다루며, 와일드카드 서브도메인 + AWS Route 53/ACM 연동까지 실전 패턴을 알아봅니다.

Backend·2026-01-03

Kubernetes 심화 시리즈 #3: 설정 및 시크릿 관리 완전 가이드

ConfigMap과 Secrets의 내부 동작부터 AWS Secrets Manager CSI Driver 통합까지, 프로덕션 환경의 설정 관리 전략을 깊이 있게 다룹니다.

Backend·2026-01-03

Kubernetes 심화 시리즈 #2: 서비스 네트워킹의 내부 동작 원리

ClusterIP, NodePort, LoadBalancer의 내부 동작 원리를 kube-proxy(iptables/IPVS), AWS ALB/NLB 통합과 함께 깊이 있게 이해합니다.

Backend·2026-01-03

Kubernetes 심화 시리즈 #1: 워크로드 컨트롤러의 내부 동작 원리

Deployment, StatefulSet, DaemonSet, CronJob의 내부 동작 원리를 깊이 있게 이해합니다. Reconciliation Loop, 컨트롤러 패턴, 그리고 실무 트러블슈팅까지.

Data Engineering·2026-01-02

데이터 엔지니어링 시리즈 #1: 백엔드 개발자가 데이터 엔지니어링을 배워야 하는 이유

왜 백엔드 개발자가 데이터 엔지니어링을 알아야 할까요? OLTP의 한계에서 시작하는 데이터 파이프라인의 세계로 안내합니다.

Backend·2026-01-02

Go 인터페이스 설계 원칙 - Accept Interfaces, Return Structs

'Accept interfaces, return structs' 원칙과 포인터 vs 값 수신자 선택 기준을 알아봅니다.

Backend·2026-01-02

Go 에러 핸들링 전략 완벽 가이드

errors.Is, errors.As, 커스텀 에러 타입, 스택 트레이스를 활용한 Go의 효과적인 에러 핸들링 전략을 알아봅니다.

Backend·2026-01-02

Docker 멀티스테이지 빌드 최적화 가이드

멀티스테이지 빌드로 Docker 이미지 크기를 줄이고, 빌드 속도와 보안을 개선하는 실전 전략을 알아봅니다.

Backend·2026-01-01

Enterprise Go 시리즈 #9: Makefile로 개발 워크플로우 자동화

복잡한 Go 명령어들을 Makefile로 추상화하여 팀 전체의 개발 경험을 향상시킵니다. Façade 패턴의 CLI 버전입니다.

Backend·2026-01-01

Enterprise Go 시리즈 #8: Observability와 Debugging

Micrometer, Winston에 익숙한 개발자를 위한 Go Observability 가이드. Grafana 대시보드와 Alert 연동까지 다룹니다.

Backend·2026-01-01

Enterprise Go 시리즈 #7: 테스트 전략과 실전

JUnit, Jest에 익숙한 개발자를 위한 Go 테스트 생태계 가이드. Mock, 통합 테스트, BDD 스타일을 다룹니다.

Backend·2026-01-01

Enterprise Go 시리즈 #6: Resilient한 외부 통신

Resilience4j, Polly에 익숙한 개발자를 위한 Go Resilience 패턴 가이드. Circuit Breaker, Retry, Rate Limiting을 올바르게 조합합니다.

Backend·2026-01-01

Enterprise Go 시리즈 #5: 데이터베이스 연동 패턴

Spring의 @Transactional처럼 편리하게 트랜잭션을 관리하는 Go 패턴을 다룹니다. 어노테이션 하나로 해결되던 것을 Go에서 어떻게 구현할까요?

Backend·2026-01-01

Enterprise Go 시리즈 #4: Goroutine과 Channel 실전 활용

ExecutorService, Worker Threads에 익숙한 개발자를 위한 Go 동시성 모델 가이드. Goroutine의 메모리 특성과 안전한 패턴을 다룹니다.

Backend·2026-01-01

Enterprise Go 시리즈 #3: Context로 요청 생명주기 관리

Java의 ThreadLocal, Node.js의 AsyncLocalStorage에 익숙한 개발자를 위한 Go Context 패턴 가이드입니다.

Backend·2026-01-01

Enterprise Go 시리즈 #2: 견고한 HTTP 서버 구축

Spring MVC의 Filter/Interceptor, Express의 Middleware에 익숙한 개발자를 위한 Echo 미들웨어 설계 가이드입니다.

Backend·2026-01-01

Enterprise Go 시리즈 #1: 프로젝트 설계와 구조화

Kubernetes, Docker CLI, Prometheus, Hugo의 소스 코드를 분석하여 도출한 Go 프로젝트 구조 베스트 프랙티스를 소개합니다.

Backend·2025-12-30

gRPC-Gateway로 단일 API 듀얼 프로토콜 지원

하나의 Proto 정의로 gRPC와 RESTful HTTP API를 동시에 제공하는 gRPC-Gateway 구현 방법을 알아봅니다.

Backend·2025-12-30

Wire를 활용한 Go 의존성 주입(DI) 구현

Google의 Wire를 사용하여 Go 애플리케이션에서 컴파일 타임 의존성 주입을 구현하는 방법을 알아봅니다.

Backend·2025-12-30

Go pprof를 활용한 성능 프로파일링 가이드

Go의 내장 프로파일링 도구 pprof를 활용하여 CPU, 메모리, 고루틴 병목을 분석하는 방법을 알아봅니다.

Backend·2025-12-30

Ginkgo와 Testcontainers를 활용한 통합 테스트 전략

Ginkgo BDD 프레임워크와 Testcontainers를 결합하여 실제 데이터베이스를 사용하는 신뢰성 높은 통합 테스트를 구축하는 방법을 알아봅니다.

Backend·2025-12-30

Go 가비지 컬렉터(GC) 이해와 튜닝 경험

Go의 가비지 컬렉터 동작 원리와 프로덕션 환경에서의 GC 튜닝 경험을 공유합니다.

Backend·2025-12-30

Buf v2 기반 Proto 관리 및 코드 자동 생성

Buf v2를 활용하여 Protobuf 스키마를 체계적으로 관리하고, gRPC 서버/클라이언트, HTTP Gateway, OpenAPI 스펙을 자동 생성하는 방법을 알아봅니다.

Backend_DevOps·2025-12-30

스파이크 트래픽 대응 전략

티켓팅, 이벤트 응모, 플래시 세일 등 순간적으로 폭발하는 쓰기 요청을 처리하기 위한 아키텍처 전략을 다룹니다.

Backend·2025-12-30

Locust 기반 환경별 E2E 테스트 자동화

Locust를 활용하여 개발부터 프로덕션까지 환경별 E2E 테스트를 자동화하고 Kubernetes에서 실행하는 방법을 알아봅니다.

Backend·2025-12-30

Linux 파일 디스크립터 제한 (ulimit) 완벽 가이드

대용량 트래픽 서버에서 'Too many open files' 오류를 해결하기 위한 ulimit 설정 방법을 알아봅니다.

Backend·2025-12-30

Helm 환경별 Values 오버라이드 전략

Helm Chart에서 공통 설정과 환경별 설정을 분리하여 GitOps 방식으로 관리하는 방법을 알아봅니다.

Backend_DevOps·2025-12-27

데코레이터를 이용한 Nest.js에서의 AOP 적용

데코레이터를 이용한 Nest.js에서의 AOP 적용 데코레이터? [데코레이터](<obsidian://open?vault=seogyugim.coinone&file=Typescript%2F%EB%8D%B0%EC%BD%94%EB%A0%88%EC%9D%B4%ED%...

Backend_DevOps·2025-12-27

NestJS Dynamic Module 주의점

NestJS Dynamic Module 주의점 ```typescript export const databaseProviders = [ { provide: MysqlDatasourceKey, inject: [ConfigService, MysqlConfigS...

Backend_DevOps·2025-12-27

NestJS, Cache-Manager v5 사용시 문제 해결법

NestJS, Cache-Manager v5 사용시 문제 해결법 문제 공식문서에 나온대로 하면 발생 원인 가 로 올라가면서 사용법이 아예...

Backend_DevOps·2025-12-27

HTTP 쿠키 보안 설정

HTTP 쿠키 보안 설정 [세션 하이재킹과 XSS](https://developer.mozilla.org/ko/docs/Web/HTTP/Cookies%EC%84%B8%EC%85%98_%ED%95%98%EC%9D%B4%EC%9E%AC%ED%82%B9%EA%B...

Backend_DevOps·2025-12-27

Http 요청 최소화 기법

Http 요청 최소화 기법 뭐가 있을까? 다른 공급자에 대해 HTTP 요구를 수행하는 것은 많은 크롤 프로그램이나 배치 프로그램에서 필요할 수 있지만, 요청 수를 최소화하여 성능을 향상시키고 오류나 타임아웃 위험을 줄이는 것이 중요합니다. HTTP 요청을...

Backend_DevOps·2025-12-27

HTTP Transfer 크기를 줄이는 법

HTTP Transfer 크기를 줄이는 법 종단 간 압축 !종단 간 압축 Accept-...

Backend_DevOps·2025-12-27

EADDRNOTAVAIL

EADDRNOTAVAIL 문제 상황 node.js 서버 애플리케이션을 리눅스 환경에서 사용중이다. 아래와 같은 에러가 발생했다 ```json { "message": "request to aa failed, reason: connect EAD...

Backend_DevOps·2025-12-27

Trunk-Based Development

Trunk-Based Development 트렁크 기반 개발은 개발자들이 라고 부르는 단일 브랜치에서 공동 작업을 수행하는 소스 제어 브랜칭 모델이며, 수명이 긴 다른 개발 브랜치를 생성하지 않기 위한 방법입니다. 그러므로 이 방법을 사용하면 병합지옥...

이 블로그는 제가 알고 있는 것들을 잊지 않기 위해 기록하는 공간입니다.
직접 작성한 글도 있고, AI의 도움을 받아 정리한 글도 있습니다.
정확하지 않은 내용이 있을 수 있으니 참고용으로 봐주세요.

© 2026 Seogyu Kim