모든 포스트

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까지 정리합니다.

앵귤러 고급 강좌 #2 Signals 심화 — computed, effect, model
10 분 소요

앵귤러 고급 강좌 #2 Signals 심화 — computed, effect, model

앵귤러의 새 반응형 모델인 Signals를 본격적으로 들여다봅니다. computed, effect, input/output/model, linkedSignal, RxJS와의 협업까지 한곳에 정리합니다.

장고 고급 #2 Custom management commands
7 분 소요

장고 고급 #2 Custom management commands

manage.py의 정체부터, BaseCommand 상속, 인자 처리, cron 결합, call_command, 테스트까지 장고 운영의 한 축인 커스텀 커맨드를 정리합니다.

타입스크립트 + React 실전 #6 fetch와 API 응답 타이핑
6 분 소요

타입스크립트 + React 실전 #6 fetch와 API 응답 타이핑

제네릭 fetcher의 한계와 위험, 그리고 zod 런타임 검증으로 외부 데이터를 정말 안전하게 다루는 패턴까지 정리합니다.

AWS 고급 #2 ECR: 이미지 레지스트리
8 분 소요

AWS 고급 #2 ECR: 이미지 레지스트리

Amazon ECR private / public, IAM 인증, docker push / pull, 이미지 스캔, 라이프사이클 정책, 멀티 아키텍처(linux/amd64 + arm64)까지. ECS와 Lambda가 가져갈 이미지를 어디에 보관하는지 정리합니다.

K8s 중급 #5 Health check — liveness / readiness / startup probe
21 분 소요

K8s 중급 #5 Health check — liveness / readiness / startup probe

[#4](/ko/posts/k8s-intermediate-4)까지 Pod의 자원 모델을 정리했다면, 이번 글은 K8s가 컨테이너의 "살아 있음"과 "트래픽을 받을 준비됨"을 어떻게 판단하는가의 모델입니다. 세 종류의 probe — liveness, readiness, startup — 이 각자 다른 역할을 맡고, 잘못 설정하면 무한 재시작 루프,트래픽 미스,기동 실패 같은 운영 사고로 직결됩니다. `httpGet` / `tcpSocket` / `exec` 세 검사 방식, `initialDelaySeconds` / `periodSeconds` / `failureThreshold` 같은 공통 매개변수, liveness에 외부 의존성을 넣었을 때의 cascading failure, `terminationGracePeriodSeconds`와 PreStop 훅이 그리는 graceful shutdown까지 한 사이클로 정리하겠습니다.

RHEL 고급 #1 부팅 프로세스 — GRUB2, dracut, 복구 모드
10 분 소요

RHEL 고급 #1 부팅 프로세스 — GRUB2, dracut, 복구 모드

RHEL 머신이 전원이 들어와서 로그인 프롬프트가 뜨기까지의 전체 흐름을 단계별로 정리합니다. UEFI/BIOS, GRUB2 설정과 grub2-mkconfig, initramfs와 dracut 재생성, systemd target과 default.target, rescue/emergency 모드, GRUB 편집을 거쳐 root 비밀번호를 복구하는 절차까지 한 사이클로 다루겠습니다.

도커 실전 강좌 #2 Django + PostgreSQL compose — 두 컨테이너 한 묶음
9 분 소요

도커 실전 강좌 #2 Django + PostgreSQL compose — 두 컨테이너 한 묶음

Django 앱과 PostgreSQL을 docker compose 한 파일에 묶어보겠습니다. 마이그레이션 entrypoint, depends_on과 healthcheck의 연결, 데이터 볼륨, .env 분리, collectstatic까지 compose가 풀어주는 작업을 운영 형태로 정리합니다.

모던 파이썬 고급 #3 메타클래스 — 언제 정말 필요한가
6 분 소요

모던 파이썬 고급 #3 메타클래스 — 언제 정말 필요한가

클래스를 만드는 클래스를 다룹니다. type의 정체, __init_subclass__와의 분담, 클래스 데코레이터로 풀 수 있는 경우, 그리고 진짜 메타클래스가 필요한 좁은 영역까지 정리합니다.

앵귤러 고급 강좌 #1 Change Detection — Default, OnPush, Zoneless
9 분 소요

앵귤러 고급 강좌 #1 Change Detection — Default, OnPush, Zoneless

앵귤러 성능의 심장인 Change Detection을 처음부터 끝까지 짚어봅니다. Default와 OnPush 전략, NgZone과 zone.js의 역할, 그리고 Signals를 등에 업고 등장한 Zoneless 앵귤러까지 다뤄봅니다.