모든 포스트

LLM은 어떻게 다음 단어를 맞히는가 — 비전공자를 위한 AI 설명
6 분 소요

LLM은 어떻게 다음 단어를 맞히는가 — 비전공자를 위한 AI 설명

ChatGPT 같은 대규모 언어 모델이 글을 이해하는 것이 아니라 다음에 올 단어를 확률로 예측하는 기계라는 원리를 비전공자도 이해할 수 있게 설명합니다.

RHEL 고급 #3 성능 분석 — sar, top/htop, iostat, vmstat, perf
8 분 소요

RHEL 고급 #3 성능 분석 — sar, top/htop, iostat, vmstat, perf

RHEL 머신이 느려졌을 때 어디부터 봐야 할지를 정리합니다. top/htop으로 첫 시야를 잡고, vmstat으로 CPU,메모리,IO를 한 화면에 보고, iostat으로 디스크를 자세히 들여다보고, sar로 시간 흐름을 추적하고, perf로 CPU 핫스폿을 잡는 흐름을 USE(Utilization,Saturation,Errors) 방법론에 맞춰 한 사이클로 다루겠습니다.

도커 실전 강좌 #4 CI에서 이미지 빌드 — GitHub Actions와 BuildKit 캐시
8 분 소요

도커 실전 강좌 #4 CI에서 이미지 빌드 — GitHub Actions와 BuildKit 캐시

GitHub Actions에서 도커 이미지를 빌드하고 푸시하는 정석을 다룹니다. docker/build-push-action, BuildKit의 GHA 캐시(type=gha), 멀티 아키(amd64+arm64) 빌드, 빌드 시점 secrets, 빌드 시간 최적화까지 한 워크플로우 파일에 정리합니다.

모던 파이썬 고급 #5 GIL과 동시성 — threading vs multiprocessing vs asyncio
7 분 소요

모던 파이썬 고급 #5 GIL과 동시성 — threading vs multiprocessing vs asyncio

GIL의 정체, threading/multiprocessing/asyncio 세 도구의 분담, 그리고 Python 3.13~3.14의 free-threaded 빌드(PEP 703/779)까지 한곳에 정리합니다.

앵귤러 고급 강좌 #3 동적 컴포넌트와 ViewContainerRef
11 분 소요

앵귤러 고급 강좌 #3 동적 컴포넌트와 ViewContainerRef

런타임에 컴포넌트를 동적으로 생성하는 패턴을 정리합니다. ViewContainerRef와 createComponent부터 @defer, ngComponentOutlet, CDK Portal, 동적 인젝터, 그리고 메모리 관리까지 한 번에 다룹니다.

장고 고급 #3 쿼리 최적화 — N+1, select_related, EXPLAIN, 인덱스
7 분 소요

장고 고급 #3 쿼리 최적화 — N+1, select_related, EXPLAIN, 인덱스

N+1의 정체부터 select_related/prefetch_related, only/defer, EXPLAIN, 인덱스, bulk_*, select_for_update까지 장고 ORM의 성능 도구상자를 정리합니다.

타입스크립트 심화 #1 keyof와 typeof
6 분 소요

타입스크립트 심화 #1 keyof와 typeof

타입을 만드는 가장 기본 도구 두 가지를 다룹니다. keyof로 키를 모으고 typeof로 값에서 타입을 끌어오는 법, 그리고 둘이 만나면 가능해지는 패턴들까지 정리합니다.

AWS 고급 #3 Lambda 기초
9 분 소요

AWS 고급 #3 Lambda 기초

Lambda의 쓰임새(vs ECS / EC2), runtime / handler / event / context, 동기 vs 비동기 호출, 콜드 스타트와 Provisioned Concurrency, 동시성 / 한도, 로깅과 모니터링까지. AWS 서버리스의 첫 단추를 정리합니다.

K8s 중급 #6 오토스케일링 — HPA / VPA / Cluster Autoscaler
23 분 소요

K8s 중급 #6 오토스케일링 — HPA / VPA / Cluster Autoscaler

[#5](/ko/posts/k8s-intermediate-5)까지 다룬 모델은 단일 Pod의 자원과 건강 신호 차원이었습니다. 그러나 운영의 부하는 시간대,사용자 패턴,이벤트에 따라 출렁이고, 사람이 매번 `replicas` 값을 손으로 맞추는 일은 곧 한계에 부딪힙니다. 이번 글은 그 빈 부분을 메우는 세 차원의 오토스케일링 — Pod 개수를 자동으로 늘리고 줄이는 `HPA`, Pod의 자원 요청,상한을 자동으로 권장,조정하는 `VPA`, 그리고 노드 자체를 자동으로 추가,제거하는 `Cluster Autoscaler`를 한 사이클로 정리하겠습니다. metrics-server라는 전제, HPA의 `autoscaling/v2` 매니페스트와 알고리즘, scale up,down 비대칭의 `behavior`, custom metric과 KEDA, VPA의 세 컴포넌트, HPA,VPA의 충돌, Karpenter까지 다룹니다.

RHEL 고급 #2 커널 튜닝 — sysctl, tuned, kdump
9 분 소요

RHEL 고급 #2 커널 튜닝 — sysctl, tuned, kdump

런타임에 커널 동작을 조정하는 sysctl의 사용법과 영구 설정 분리(/etc/sysctl.d/), 워크로드 프로파일을 한 줄로 갈아끼우는 tuned, 그리고 커널 패닉 시점의 메모리 덤프를 받는 kdump 설정과 crash로 분석하는 흐름까지 한 사이클로 정리하겠습니다. 자주 만지는 vm.swappiness, net.core.somaxconn 같은 키와 tuned 프로파일별 차이도 함께 다룹니다.

도커 실전 강좌 #3 React/Next.js 빌드 컨테이너 — standalone과 NEXT_PUBLIC의 의미
8 분 소요

도커 실전 강좌 #3 React/Next.js 빌드 컨테이너 — standalone과 NEXT_PUBLIC의 의미

Next.js 앱을 컨테이너에 담는 흐름을 정리합니다. standalone output을 쓴 deps → build → runner 세 단계, NEXT_PUBLIC 환경변수가 빌드 시점에 굳는 문제, 정적 export 옵션, Vite 같은 SPA를 nginx로 호스팅하는 방식까지 살펴보겠습니다.

모던 파이썬 고급 #4 비동기 깊이 — 이벤트 루프, gather/wait, async generator
7 분 소요

모던 파이썬 고급 #4 비동기 깊이 — 이벤트 루프, gather/wait, async generator

중급 입문의 다음 단계 — 이벤트 루프의 실제 동작, Future와 Task의 차이, gather vs wait, async generator와 async iteration까지 정리합니다.