모든 포스트

Pod가 Pending에서 멈출 때: 원인 7가지와 확인 순서
5 분 소요

Pod가 Pending에서 멈출 때: 원인 7가지와 확인 순서

쿠버네티스 Pod가 Pending 상태에서 멈추는 원인을 빈도순으로 정리합니다. describe의 Events 읽는 법부터 리소스 부족, 과도한 requests, nodeSelector·affinity 불일치, taint, PVC 바인딩 대기, ResourceQuota, Cluster Autoscaler가 안 늘어나는 경우까지 확인 명령과 처방을 다룹니다.

S3 스토리지 클래스 비교: Standard부터 Glacier Deep Archive까지
5 분 소요

S3 스토리지 클래스 비교: Standard부터 Glacier Deep Archive까지

S3 스토리지 클래스를 고르는 실무 기준을 정리합니다. 클래스별 보관 단가와 회수 수수료·최소 보관 기간의 전체 지도, Standard-IA의 세 가지 함정(회수 수수료·30일·128KB), Glacier 세 클래스의 차이(즉시·수시간·12시간), 접근 패턴을 모를 때 Intelligent-Tiering이 정답인 이유, 수명주기 전환 요금이 절감을 잡아먹는 조건까지 다룹니다.

Wails로 데스크톱 앱 만들기 #5 실전 기능 — 설정 저장과 에러 처리
5 분 소요

Wails로 데스크톱 앱 만들기 #5 실전 기능 — 설정 저장과 에러 처리

할 일 데이터를 os.UserConfigDir 아래 JSON으로 영속화하고 startup·shutdown 훅에 연결합니다. Go의 error가 프론트엔드 알림까지 이어지는 처리 흐름과 파일 로그, 외부 API 호출을 Go에 두는 이유까지 정리합니다.

ECS Fargate vs EC2: 스펙 조합과 요금 비교
5 분 소요

ECS Fargate vs EC2: 스펙 조합과 요금 비교

ECS 컴퓨팅을 고르는 실무 기준을 정리합니다. 태스크 단위 과금(Fargate)과 인스턴스 단위 과금(EC2)의 구조 차이, Fargate가 허용하는 vCPU·메모리 격자(0.25〜16vCPU·최대 120GB), 같은 스펙의 단가 계산으로 본 프리미엄의 실제 크기, 사용률과 빈 패킹이 비교를 뒤집는 지점, ARM·Spot·Savings Plans로 요금을 내리는 축까지 다룹니다.

Git에 비밀키를 커밋했을 때 — 키 회전과 filter-repo 히스토리 정리
6 분 소요

Git에 비밀키를 커밋했을 때 — 키 회전과 filter-repo 히스토리 정리

AWS 키, API 토큰, .env 파일을 커밋하고 push까지 한 사고의 대응 절차를 정리합니다. 1순위는 히스토리 정리가 아니라 키 무효화입니다. filter-repo로 히스토리를 다시 쓰는 절차와 예방 장치까지 다룹니다.

LLM 자체 호스팅에 필요한 서버 규모 추정: VRAM 계산부터 동시 사용자까지
5 분 소요

LLM 자체 호스팅에 필요한 서버 규모 추정: VRAM 계산부터 동시 사용자까지

사내 LLM을 자체 호스팅할 때 필요한 GPU 규모를 추정하는 순서를 정리합니다. 파라미터 수와 정밀도로 하는 VRAM 계산, KV 캐시와 동시 요청의 관계, 메모리 대역폭과 토큰 생성 속도, 시나리오별 구성 예시, 자체 호스팅과 API의 손익분기까지 다룹니다.

Wails로 데스크톱 앱 만들기 #4 시스템 통합 — 다이얼로그·메뉴·창 제어
5 분 소요

Wails로 데스크톱 앱 만들기 #4 시스템 통합 — 다이얼로그·메뉴·창 제어

네이티브 파일 다이얼로그, 애플리케이션 메뉴와 단축키, 창 제어, 클립보드까지 Wails 런타임 API로 OS와 통합하는 방법을 정리합니다. 웹 프론트엔드가 데스크톱 앱다워지는 단계입니다.

AI 학습 서버와 추론 서버의 차이: 사양이 갈리는 기준
5 분 소요

AI 학습 서버와 추론 서버의 차이: 사양이 갈리는 기준

같은 GPU 서버인데 학습용과 추론용의 사양이 갈리는 이유를 정리합니다. 배치 처리와 요청 처리라는 워크로드 형태 차이, GPU 간 통신과 메모리 대역폭이라는 병목 차이, 정밀도와 양자화, 비용 구조와 겸용의 함정까지 장비 선택 관점으로 다룹니다.

Git detached HEAD에서 빠져나오기 — 원인과 커밋 복구
4 분 소요

Git detached HEAD에서 빠져나오기 — 원인과 커밋 복구

You are in detached HEAD state 경고의 의미를 구조로 설명하고, 상황별 탈출 방법을 정리합니다. 이 상태에서 만든 커밋을 잃지 않고 브랜치로 보존하는 법까지 다룹니다.

Microsoft Graph 실무 입문 #7 운영: 스로틀링, 페이지네이션, delta 쿼리, 변경 알림
7 분 소요

Microsoft Graph 실무 입문 #7 운영: 스로틀링, 페이지네이션, delta 쿼리, 변경 알림

Graph 자동화를 운영 수준으로 끌어올립니다. 429와 Retry-After를 존중하는 재시도, 놓치면 데이터가 잘리는 페이지네이션(@odata.nextLink), 폴링을 대체하는 delta 쿼리(deltaLink 상태 관리), 변경 알림 구독(검증 핸드셰이크·갱신·lifecycleNotificationUrl), JSON 배칭까지 시리즈를 마무리합니다.

RDS 인스턴스 클래스 선택 기준: db.t·db.m·db.r 비교
6 분 소요

RDS 인스턴스 클래스 선택 기준: db.t·db.m·db.r 비교

RDS 인스턴스 클래스를 고르는 실무 기준을 정리합니다. EC2와 같은 이름 규칙에 db. 접두사가 붙는 구조, 같은 하드웨어인데 요금이 두 배쯤 되는 이유(관리 포함·Multi-AZ 별도), db.t를 프로덕션에 쓰면 안 되는 이유, 버퍼 풀 관점에서 db.m과 db.r을 가르는 기준, Graviton 클래스 전환이 EC2보다 쉬운 이유까지 다룹니다.

Wails로 데스크톱 앱 만들기 #3 Go와 프론트엔드 연결 — 메서드 바인딩과 이벤트
5 분 소요

Wails로 데스크톱 앱 만들기 #3 Go와 프론트엔드 연결 — 메서드 바인딩과 이벤트

바인딩 규칙을 표로 정리하고, 할 일 목록 백엔드를 Go로 만들어 React 프론트엔드와 연결합니다. 구조체의 TypeScript 모델 자동 생성과 Go에서 UI로 데이터를 보내는 이벤트 시스템까지 다룹니다.