블로그 시리즈
여러 편으로 이어지는 글을 시리즈별로 모았습니다. 앞에서부터 읽으면 한 주제를 처음부터 끝까지 따라갈 수 있습니다.
오늘의 영어 표현 30편
- Happy to take a stab at this: 이슈를 맡겠다고 나설 때
- What did you expect to happen: 버그 보고의 기본, 기대한 동작과 실제 동작
- I can't reproduce this on ...: 재현이 안 될 때 상대를 탓하지 않고 말하기
- As far as I can tell: 확신과 겸손 사이, 「제가 본 바로는」
- Would you be open to ...?: PR 을 보내기 전에 방향을 묻는 공손한 제안
- Let me know if I'm missing something: 내 이해가 틀렸을 가능성을 열어 두는 한 줄
- Fixes #1234: PR 설명의 첫 줄, 이슈를 닫는 키워드
- No functional change: 동작은 그대로라고 리뷰어를 안심시키는 말
- This is out of scope for this PR: 범위를 지키며 정중하게 선을 긋기
- I'll address this in a follow-up PR: 지금 말고 다음 PR 에서 하겠다는 약속
- Marking this as a draft: 아직 리뷰받을 준비가 안 됐다고 알리기
- Rebased onto main: 브랜치를 최신으로 맞췄다고 알리는 한 줄
- PTAL, Could you take another look?: 고친 뒤 다시 봐 달라고 부탁하기
- Nit: 사소한 지적이라고 미리 알려 주는 머리말
- LGTM: 「좋아 보입니다」와 Kubernetes 의 /lgtm, /approve
- Good catch: 내 실수를 짚어 준 리뷰어에게 고마움을 전하는 말
- Addressed in a1b2c3d: 리뷰 지적을 어느 커밋에서 고쳤는지 알리기
- I'd lean towards ...: 강요하지 않고 내 선호를 밝히는 말
- Not a blocker: 병합을 막는 지적과 막지 않는 지적을 가르는 말
- Feel free to push back: 반대 의견을 먼저 청하는 리뷰어의 말
- Could you squash your commits?: 커밋을 합쳐 달라는 요청에 답하기
- That's a fair point: 상대 말이 일리 있다고 인정할 때
- Thanks for bearing with me: 오래 기다려 준 리뷰어에게 하는 인사
- Friendly ping: 답이 없는 PR 을 재촉하지 않고 다시 알리기
- Sorry for the noise: 불필요한 알림을 보냈을 때의 짧은 사과
- Heads-up: 미리 알려 두는 한 줄 공지
- I'll circle back: 지금은 답을 미루고 나중에 다시 오겠다는 약속
- For what it's worth: 도움이 될지 모르지만 보태는 한마디
- This landed in main: 병합됐다, 그리고 릴리스에 실렸다를 구분해 말하기
- Could we backport this?: 고친 내용을 지난 릴리스에도 넣어 달라고 할 때
toss ml infra 24편
- 하이브리드 GPU 쿠버네티스와 Cilium·Istio 네트워크
- GPU Operator 스택 해부와 트러블슈팅
- LLM 추론의 기본과 vLLM 내부: KV 캐시, PagedAttention, 스케줄러
- vLLM 과 SGLang 비교, 그리고 벤치마크를 제대로 하는 법
- 분산 추론과 NVIDIA Dynamo: 병렬화, prefill/decode 분리, KV 캐시 이동
- RDMA와 NCCL로 읽는 GPU 네트워크: InfiniBand, RoCE, 쿠버네티스 배치
- AI 스토리지와 KV 캐시 오프로드: 가중치 로딩 경로부터 LMCache 실측까지
- 쿠버네티스 CRD 와 오퍼레이터로 LLM 서빙 배포 자동화하기
- 멀티테넌트 GPU 스케줄링과 용량 계획
- GPU 하드웨어·드라이버 장애 진단
- GPU 패스스루와 vfio-pci: VM 에 GPU 를 통째로 넘기는 원리
- 작은 모델로 vLLM 직접 재 보기: 부하, KV 캐시 용량, 접두사 캐시, 청크 크기
- LoRA 어댑터 서빙을 직접 재 보기: 처리량 비용, 어댑터 슬롯, 실행 중 적재
- 모델 가중치 암호화와 보호: 저장 시 암호화의 비용을 재고, 어디까지 막는지 정리하기
- DCGM exporter 지표 전부 해부: 실제로 나오는 18개와 나오지 않는 것
- Cilium 지표 전부 해부: 에이전트, 오퍼레이터, Envoy, Hubble 네 곳
- 실시간 음성 대화 앱을 만들 때 쓸 NVIDIA 오픈소스: Nemotron 음성 에이전트, PersonaPlex, NeMo
- 실시간 음성 대화, 부품별로 직접 잰 지연: 음성인식 0.2초, LLM 첫 토큰 0.07초, 음성합성은 길이의 절반
- 음성 대화의 원리를 숫자로 확인하기: 디코딩은 메모리 대역폭, 합성은 프레임 수, 스트리밍은 캐시
- ML·AI 인프라와 쿠버네티스 엔지니어가 알면 좋은 지식 지도: 직접 재 본 숫자와 함께
- GPU Operator 파드 구성요소와 역할, 호스트에 드라이버가 없어도 되는가
- NVIDIA Dynamo 직접 써 보기: KV 인식 라우팅은 거의 다 맞혔고, 분리 서빙은 한 장에서 5배, 서버 둘 사이에서 20배 넘게 느렸다
- LLM 서빙을 OpenTelemetry 로 관측하기: vLLM 에서 실제로 나오는 신호, 표준과의 거리, 컬렉터로 메우기
- 전이중 음성 통화를 웹소켓으로 중계하기: 브라우저 마이크에서 GPU 모델까지
공업수학 시리즈 24편
- 공업수학 시리즈 1편: 공업수학은 왜 중요한가
- 공업수학 시리즈 2편: 1차 미분방정식의 개념
- 공업수학 시리즈 3편: 변수분리, 적분인자, 완전미분
- 공업수학 시리즈 4편: 2차 선형 미분방정식
- 공업수학 시리즈 5편: 감쇠, 강제진동, 공진
- 공업수학 시리즈 6편: 고차 미분방정식과 초기값 문제
- 공업수학 시리즈 7편: 연립 미분방정식과 상태공간
- 공업수학 시리즈 8편: 급수해와 ordinary point
- 공업수학 시리즈 9편: 라플라스 변환의 직관
- 공업수학 시리즈 10편: 라플라스 변환으로 초기값 문제 풀기
- 공업수학 시리즈 11편: 행렬과 선형연립방정식
- 공업수학 시리즈 12편: 소거법, 역행렬, 행렬식
- 공업수학 시리즈 13편: 고유값과 고유벡터
- 공업수학 시리즈 14편: 대각화와 동적 시스템
- 공업수학 시리즈 15편: 벡터, 기하, 벡터장
- 공업수학 시리즈 16편: gradient, divergence, curl
- 공업수학 시리즈 17편: 선적분, 면적분, 적분 정리
- 공업수학 시리즈 18편: 푸리에 급수
- 공업수학 시리즈 19편: 푸리에 변환과 주파수영역
- 공업수학 시리즈 20편: 편미분방정식의 분류와 의미
- 공업수학 시리즈 21편: 열방정식, 파동방정식, 라플라스 방정식
- 공업수학 시리즈 22편: 복소수와 해석 함수
- 공업수학 시리즈 23편: 복소 적분과 유수 아이디어
- 공업수학 시리즈 24편: 수치해석, 최적화, 그래프, 확률과 통계 로드맵
컴파일러 20편
- [컴파일러] 01. 컴파일러의 구조와 동작 원리
- [컴파일러] 02. 프로그래밍 언어 기초와 컴파일러 기술 응용
- [컴파일러] 03. 간단한 구문 지시 번역기 만들기
- [컴파일러] 04. 어휘 분석 - 토큰, 패턴, 정규 표현식
- [컴파일러] 05. 유한 오토마타와 어휘 분석기 구현
- [컴파일러] 06. 구문 분석 (1) - Top-Down 파싱과 LL 파서
- [컴파일러] 07. 구문 분석 (2) - Bottom-Up 파싱과 LR 파서
- [컴파일러] 08. 구문 지시 번역 - SDD와 SDT
- [컴파일러] 09. 중간 코드 생성 - 3주소 코드와 타입 검사
- [컴파일러] 10. 실행 시간 환경 - 스택, 힙, 가비지 컬렉션
- [컴파일러] 11. 코드 생성 - 기본 블록과 흐름 그래프
- [컴파일러] 12. 코드 생성 알고리즘과 레지스터 할당
- [컴파일러] 13. 머신 독립 코드 최적화 기초
- [컴파일러] 14. 데이터 흐름 분석 프레임워크
- [컴파일러] 15. 루프 최적화와 코드 이동
- [컴파일러] 16. 명령어 수준 병렬성과 스케줄링
- [컴파일러] 17. 병렬성 검출과 루프 변환
- [컴파일러] 18. 프로시저 간 분석과 포인터 분석
- [컴파일러] 19. SSA 형식과 현대 컴파일러 최적화
- [컴파일러] 20. 현대 컴파일러의 발전과 응용
컴퓨터 네트워크 20편
- [컴퓨터 네트워크] 01. 인터넷이란 무엇인가
- [컴퓨터 네트워크] 02. 네트워크 코어: 패킷 교환 vs 회선 교환
- [컴퓨터 네트워크] 03. 네트워크 지연, 손실, 처리량
- [컴퓨터 네트워크] 04. 프로토콜 계층과 서비스 모델
- [컴퓨터 네트워크] 05. 애플리케이션 계층: HTTP와 웹
- [컴퓨터 네트워크] 06. DNS와 이메일 프로토콜
- [컴퓨터 네트워크] 07. 소켓 프로그래밍: TCP와 UDP
- [컴퓨터 네트워크] 08. 전송 계층: 다중화/역다중화와 UDP
- [컴퓨터 네트워크] 09. 신뢰적 데이터 전송의 원리
- [컴퓨터 네트워크] 10. TCP 완전 정복: 연결, 흐름제어, 혼잡제어
- [컴퓨터 네트워크] 11. 네트워크 계층 개요: 포워딩과 라우팅
- [컴퓨터 네트워크] 12. IP 프로토콜: 데이터그램과 주소 체계
- [컴퓨터 네트워크] 13. 라우팅 알고리즘: Link-State와 Distance-Vector
- [컴퓨터 네트워크] 14. 인터넷 라우팅: OSPF와 BGP
- [컴퓨터 네트워크] 15. 링크 계층: 오류 검출과 다중 접속 프로토콜
- [컴퓨터 네트워크] 16. 이더넷, 스위치, VLAN
- [컴퓨터 네트워크] 17. 무선 네트워크와 모바일 통신
- [컴퓨터 네트워크] 18. 멀티미디어 네트워킹과 스트리밍
- [컴퓨터 네트워크] 19. 네트워크 보안: 암호학부터 방화벽까지
- [컴퓨터 네트워크] 20. 네트워크 관리와 SNMP
심층 강화학습 20편
- [심층 강화학습] 01. 강화학습이란: MDP와 기본 개념
- [심층 강화학습] 02. OpenAI Gym으로 시작하는 강화학습
- [심층 강화학습] 03. PyTorch 딥러닝 기초: 텐서부터 신경망까지
- [심층 강화학습] 04. Cross-Entropy 방법으로 CartPole 풀기
- [심층 강화학습] 05. 벨만 방정식과 가치 반복
- [심층 강화학습] 06. Deep Q-Network: DQN의 원리와 구현
- [심층 강화학습] 07. DQN 확장: Double DQN, Dueling DQN, Rainbow
- [심층 강화학습] 08. 강화학습으로 주식 트레이딩 만들기
- [심층 강화학습] 09. Policy Gradient: 정책 기반 강화학습
- [심층 강화학습] 10. Actor-Critic 방법: A2C와 하이퍼파라미터 튜닝
- [심층 강화학습] 11. A3C: 비동기 Advantage Actor-Critic
- [심층 강화학습] 12. 강화학습으로 챗봇 훈련하기
- [심층 강화학습] 13. 웹 내비게이션과 강화학습
- [심층 강화학습] 14. 연속 행동 공간: DDPG와 분포 정책
- [심층 강화학습] 15. Trust Region 방법: TRPO, PPO, ACKTR
- [심층 강화학습] 16. Black-Box 최적화: 진화 전략과 유전 알고리즘
- [심층 강화학습] 17. 모델 기반 강화학습: Imagination-Augmented Agent
- [심층 강화학습] 18. AlphaGo Zero: 자기 대국으로 배우는 AI
- [심층 강화학습] 19. 심층 강화학습의 실전 응용 사례
- [심층 강화학습] 20. 심층 강화학습 총정리: 알고리즘 비교와 선택 가이드
운영체제 20편
- [운영체제] 01. 운영체제란 무엇인가
- [운영체제] 02. 운영체제 구조와 서비스
- [운영체제] 03. 프로세스: 개념, 생성, 통신
- [운영체제] 04. 스레드와 동시성 프로그래밍
- [운영체제] 05. CPU 스케줄링 알고리즘
- [운영체제] 06. 프로세스 동기화 도구
- [운영체제] 07. 동기화 문제: 생산자-소비자, 철학자 식사
- [운영체제] 08. 교착 상태: 예방, 회피, 탐지, 복구
- [운영체제] 09. 메인 메모리 관리
- [운영체제] 10. 가상 메모리: 요구 페이징부터 스래싱까지
- [운영체제] 11. 대용량 저장장치 구조
- [운영체제] 12. I/O 시스템
- [운영체제] 13. 파일 시스템 인터페이스
- [운영체제] 14. 파일 시스템 구현
- [운영체제] 15. 파일 시스템 내부 구조
- [운영체제] 16. 보안: 위협과 방어
- [운영체제] 17. 보호: 접근 제어와 샌드박싱
- [운영체제] 18. 가상 머신: 하이퍼바이저부터 컨테이너까지
- [운영체제] 19. 네트워크와 분산 시스템
- [운영체제] 20. 리눅스와 Windows 10 운영체제 비교
탁구 로봇 팔의 기초 15편
- 공을 치기까지: 인지에서 모터 전류까지 일곱 단계와 시간 예산
- 좌표계와 변환: 회전 행렬, 동차 변환, 오일러 각과 쿼터니언, 카메라에서 탁구대로
- 정기구학: DH 파라미터와 지수 곱(PoE), 2링크 평면 팔과 3축 손목
- 역기구학: 두 해, 손목 분리, 뉴턴법과 감쇠 최소제곱, 특이점, 해가 없을 때
- 야코비안과 속도: 관절 속도 한계로 낼 수 있는 라켓 속력
- 공 비행 방정식: 중력·항력·Magnus, 오일러와 RK4, 바운스 모델, 칼만 필터
- 타격을 방정식으로: 원하는 착지점에서 거꾸로 라켓 속도와 법선을 구하기
- 궤적 생성: 3차·5차 다항식, 사다리꼴, 최소 저크, 한계 안의 최소 시간, 경유점
- 제어: PID, 피드포워드, 계산 토크, FOC 전류 루프와 위치 루프의 층, 제어 주기
- 고전 방법과 강화학습: 무엇을 방정식으로 풀고 무엇을 학습에 맡길까
- 강화학습의 틀: MDP, 상태·행동·보상·할인, 정책과 가치 함수를 탁구 팔로 읽기
- 정책 경사와 PPO: 비율을 자르는 이유, 이점 함수와 GAE, 가치 함수, 엔트로피
- 보상 설계와 행동 공간: 희소 보상과 형태 보상, 보상 해킹, 관절 한계 벌점, 직접 제어 대 하이브리드
- 시뮬레이션에서 실물로: 도메인 랜덤화, 지연·잡음 모델링, 시스템 식별, 대량 병렬 시뮬레이션
- 강화학습 평가: 학습 공과 평가 공, 시드 여러 개의 중앙값, 마지막 값 보고, 기준선
비전 모델 읽기 2 12편
- 대조 학습과 CLIP: 그림과 글을 짝지어 배우면 처음 보는 것도 맞힌다
- 자기지도 학습 1: SimCLR·MoCo 에서 DINO·DINOv2 까지 — 라벨 없이 특징을 배우는 법과 「붕괴」 막기
- 자기지도 학습 2: MAE — 그림의 4분의 3을 가리고 맞히게 하면 왜 잘 배우나
- 지식 증류: 큰 모델이 아는 것을 작은 모델로 옮기기 — 그리고 「녹화본 교사 → 실시간 학생」
- 광류와 RAFT: 움직임을 화소로 읽기 — 모든 짝을 한 번 비교하고, 같은 갱신을 되풀이한다
- 영상 모델: 3D 합성곱, 두 갈래(SlowFast), 주의(TimeSformer) — 그리고 영상에서 가리고 맞히기(VideoMAE)
- 사람 자세 1: 히트맵으로 관절 찾기 — OpenPose 의 PAF, HRNet, 그리고 위에서 아래로 대 아래에서 위로
- 사람 자세 2: ViTPose, RTMPose 의 SimCC, RTMO — 실시간과 정확도 사이에서 고르기
- 작고 빠른 공 추적의 학습 원리: TrackNet V1–V5, WASB, TOTNet, BlurBall 은 무엇을 어떻게 가르쳤나
- 정밀 이벤트 찾기: E2E-Spot, T-DEED, AdaSpot — 「몇 번째 프레임」 을 맞히도록 학습시키는 법과 mAP@δ
- 카메라 한 대로 3D 궤적과 회전 읽기: TT3D, Uplifting Table Tennis, TT4D — 물리 모델 대 학습 모델
- 영상-언어 모델과 스트리밍: 어떻게 학습시키고, 스포츠 벤치마크에서 왜 약한가
비전 모델 읽기 1 12편
- 합성곱 신경망은 무엇을 배우나: 필터, 수용 영역, 역전파, 그리고 LeNet 과 AlexNet
- ResNet: 잔차 연결이 깊은 망을 학습 가능하게 만든 이유와 배치 정규화
- U-Net 과 HRNet: 해상도를 지키는 구조와 히트맵 출력
- 손실 함수와 학습 기법: 교차 엔트로피, focal loss, 히트맵 손실, 증강, 학습률 스케줄, 혼합 정밀도
- 물체 검출 1: 두 단계 검출기 R-CNN 에서 Faster R-CNN 까지, 그리고 앵커
- 물체 검출 2: 한 단계 YOLO 계열과 실시간성, 그리고 라이선스
- Vision Transformer: 그림을 16×16 조각의 문장으로 읽기, 그리고 데이터가 많이 필요한 이유
- DETR: 검출을 집합 예측으로, 헝가리안 매칭과 앵커 없는 검출
- Segment Anything(SAM): 프롬프트 분할, 데이터 엔진, 그리고 인코더 한 번·디코더 여러 번
- SAM 2 와 EfficientTAM: 메모리 어텐션으로 영상 속 물체를 따라가기, 그리고 가볍게 만들기
- SAM 3: 글자로 개념을 불러 전부 칠하기, 그리고 우리가 쓸 수 없었던 이유
- 열린 어휘 검출: CLIP 글자 임베딩을 검출기에 붙이기 — OWL-ViT, OWLv2, Grounding DINO, YOLO-World, YOLOE
로봇 시뮬레이션 실험실 10편
- ROS 2 와 Gazebo 로 로봇 주행 시뮬레이션: 바퀴가 말하는 「완벽」을 믿지 않기
- 탁구공 물리를 MuJoCo 로 재기: 반발, 항력, 회전이 시뮬레이터 설정 한 줄에 달려 있다
- 탁구 로봇을 오픈하드웨어로 만들 수 있을까: 레일, 스윙 축, 카메라, 그리고 라이선스
- PX4 드론을 쿠버네티스 파드에서 날리기: SITL 사각형 임무와 소스 빌드에서 겪은 여섯 가지
- 탁구 로봇의 고전 제어 기준선: 보고, 예측하고, 휘두르면 몇 개나 넘길까
- DeepMind 탁구 로봇을 원문으로 읽고 시뮬레이터로 따져 본 개선 방향
- 탁구 팔 강화학습: 기준선을 넘었지만, 이득의 대부분은 학습이 아니었다
- 디지털 트윈과 AI 탁구 심판: 실제 바운드로 물리를 맞추고, 정답을 아는 시험장에서 심판을 시험하기
- 탁구 로봇이 공 하나를 넘기기까지: 단계별 시뮬레이션 영상으로 본 계산
- 사람 모양 로봇 상체로 탁구 치기: Unitree G1 을 시뮬레이터에 세우고 사람 속도 한계를 걸어 본 기준선
가상화 10편
- [가상화] 01. 가상화 기술의 기초: Type 1 vs Type 2 하이퍼바이저
- [가상화] 02. QEMU와 KVM: 오픈소스 가상화의 핵심
- [가상화] 03. VirtualBox와 VMware: 데스크톱부터 엔터프라이즈까지
- [가상화] 04. GPU 가상화 기술 총정리: Passthrough, vGPU, MIG, SR-IOV
- [가상화] 05. AWS EC2와 Nitro 시스템: 클라우드 가상화의 진화
- [가상화] 06. KubeVirt: 쿠버네티스 위에서 VM 실행하기
- [가상화] 07. NVIDIA GPU Operator: 쿠버네티스 GPU 관리 자동화
- [가상화] 08. KubeVirt + GPU: VM에서 GPU 가속 활용하기
- [가상화] 09. 가상화 플랫폼 비교: QEMU vs VirtualBox vs VMware vs KubeVirt
- [가상화] 10. 가상화 기술의 미래: 컨피덴셜 컴퓨팅부터 GPU 디스어그리게이션까지
vLLM 기능 지도 9편
- vLLM 기능 지도: 무엇이 있고, 언제 이득이며, 판마다 무엇이 바뀌었나
- 연속 배칭, chunked prefill, 접두사 캐시를 반복 측정으로 다시 재기
- 추측 디코딩: 맞히면 네 배, 못 맞히면 손해
- 구조화 출력: 토큰마다 「쓸 수 없는 글자」를 가리는 비용
- 도구 호출: 파서가 글을 함수 호출로 바꾸고, strict 가 인자를 묶는다
- 양자화: 가중치를 8비트로 줄이면 디코드가 빨라지는 까닭과 그 대가
- KV 오프로딩과 분리 서빙: 밀려난 접두사를 CPU 에서 다시 불러오기
- 운영 기능: 잠자기 모드, 기동 시간, /metrics, 그리고 --api-key 가 지키지 않는 길
- 병렬화, 멀티모달, 풀링: GPU 한 장으로 잴 수 있는 것과 없는 것
gRPC 해부 8편
- gRPC 가 푸는 문제와 전체 그림: 계약서, 코드 생성, 채널, HTTP/2
- protobuf 와이어 형식: 21바이트를 한 칸씩
- HTTP/2 위의 gRPC: 머리말, 5바이트 접두, 트레일러의 상태 코드
- 스트리밍, deadline, 재시도, keepalive: 호출이 길어지거나 실패할 때
- 쿠버네티스에서의 gRPC: 한 파드로 쏠리는 이유와 헬스 체크
- 작은 클러스터에서 실제로 도는 gRPC: etcd, CRI, Hubble, OTLP
- grpc-go 코드 지도: ClientConn 에서 http2Client 까지, Serve 에서 핸들러까지
- gRPC 디버깅과 관측: grpcurl, 리플렉션, channelz, 그리고 메트릭의 함정
KubeVirt 소스 코드 읽기 8편
- KubeVirt 소스 코드 읽기 1: 저장소 지도 — 어디부터 읽을까
- KubeVirt 소스 코드 읽기 2: API 와 CRD — 타입, 생성 코드, 웹훅
- KubeVirt 소스 코드 읽기 3: virt-controller — VM 과 VMI 의 reconcile
- KubeVirt 소스 코드 읽기 4: virt-handler — 노드에서 VMI 를 맞추기
- KubeVirt 소스 코드 읽기 5: virt-launcher — 도메인 XML 과 QEMU
- KubeVirt 소스 코드 읽기 6: CDI — DataVolume, importer, 크기 계산, 복제
- KubeVirt 소스 코드 읽기 7: 장치 패스스루 — GPU 가 도메인 XML 이 되기까지
- KubeVirt 소스 코드 읽기 8: 기여 입문 — 리뷰를 읽고, 첫 PR 을 고르고, 시험을 돌리기
비전 모델 읽기 3 8편
- 33ms 의 예산: 끝단 지연과 처리량은 다른 숫자다
- 숫자를 줄이기: FP16·BF16·INT8 양자화, 사후 양자화와 양자화 인식 학습, 보정 데이터
- 그래프 컴파일러와 런타임: 연산 융합, torch.compile, ONNX Runtime·TensorRT
- 작은 모델 만들기: 깊이별 분리 합성곱·가지치기·증류, 그리고 EfficientTAM
- 매 프레임 다 돌리지 않기: 검출+추적, 키프레임, 해상도, ROI — 그리고 공 찾기의 512×288
- 묶어 돌리기와 지연: 배치 크기, 동시 세션, GPU 나눠 쓰기
- 폰과 브라우저 안에서 돌리기: WebGPU, WASM, WebNN, Core ML 과 무엇을 어디서 할까
- TT Score 실시간 경로의 실제 예산표 — 어디에 몇 ms 를 쓰고, 무엇을 아직 못 쟀나
TT Score 모델 해부 8편
- 휴대폰 영상에서 점수까지: TT Score 의 네 층과 시간 예산
- 공 찾기: TrackNet 에서 WASB, BlurBall 까지 — 히트맵, 여러 프레임, 번짐의 가운데
- 탁구대 찾기: SAM 2.1, EfficientTAM, SAM 3 와 네 모서리에서 호모그래피까지
- 자세와 라켓: RTMPose 의 SimCC, MediaPipe 의 두 단계, RacketVision 의 라켓 5점
- 이벤트와 심판: 궤적에서 바운드를 뽑고 규칙으로 점수를 매기기, 66.9% 에서 93.1% 까지
- 소리로 바운드 듣기: onset 검출과 표면 분류, 그리고 실제 녹음에서는 효과가 없었다는 기록
- 탁구 데이터셋 직접 세어 보기: OpenTTGames, Extended, T3Set, TT Sounds, RacketVision, LATTE-MV
- 영상-언어 모델은 왜 판정을 못 하나: 1초에 한 장, 초 단위 시각, 그리고 테니스 벤치마크
AI 시대 생존 가이드 8편
- AI 시대 생존 가이드 1편: 개발자에서 DevOps/플랫폼 엔지니어로 - 로드맵과 현실적 전략
- AI 시대 생존 가이드 2편: 개발자에서 LLM 엔지니어/AI 엔지니어로 전환하기
- AI 시대 생존 가이드 3편: 회계사와 변호사를 위한 AI 도구 활용 완전 가이드
- AI 시대 생존 가이드 4편: 모든 직장인을 위한 AI 리터러시와 생존 전략
- AI 시대 생존 가이드 5편: 데이터 사이언티스트의 미래 - 위기인가, 기회인가?
- AI 시대 생존 가이드 6편: 기획자/PM이 AI 프로덕트 매니저로 진화하는 법
- AI 시대 생존 가이드 7편: 주니어 개발자를 위한 특별 가이드 - AI와 함께 성장하기
- AI 시대 생존 가이드 8편: 디자이너를 위한 AI 생존 전략 - Midjourney, Figma AI 시대
오픈소스 구조 읽기 7편
- CloudNativePG 읽기: PID 1 의 매니저, 소켓 너머의 플러그인, WAL 한 조각의 여행
- Cilium 읽기: 에이전트가 BPF 맵을 채우고, 커널 훅이 그 맵만 보고 판단하는 구조
- containerd 와 CRI 읽기: kubelet 의 gRPC 한 통이 runc 까지 내려가는 길
- vLLM production-stack · LMCache · llm-d: 엔진 앞단과 KV 캐시 계층의 코드 지도
- MetalLB 읽기: 주소를 정하는 controller, 손을 드는 speaker, 그리고 해시 한 줄의 선거
- NVIDIA GPU Operator 읽기: ClusterPolicy 하나가 GPU 노드를 준비시키고, dcgm-exporter 가 GPU 의 주인을 찾는 길
- Argo CD·Argo Workflows 읽기: 비교하는 고리와 파드 안의 일꾼, 그리고 CronJob 하나의 상태 판정
vLLM 내부 구조 7편
- vLLM 내부 구조 (1) — 요청 하나가 토큰이 되어 나오기까지
- vLLM 내부 구조 (2) — PagedAttention은 KV 캐시를 왜 페이지로 쪼갰는가
- vLLM 내부 구조 (3) — 연속 배칭이 GPU를 놀게 두지 않는 방법
- vLLM 내부 구조 (4) — 스케줄러와 선점, 처리량이 갑자기 무너지는 지점
- vLLM 내부 구조 (5) — 접두사 캐싱, 시스템 프롬프트 설계가 곧 성능이 되는 이유
- vLLM 내부 구조 (6) — 컨텍스트 윈도우, max_model_len, max_tokens 완전 정리
- vLLM 내부 구조 (7) — 배포 튜닝과 흔한 함정, OOM 진단 순서
TT Lab 점수판 해부 6편
학생 VM 이 뜨기까지 6편
- 학생 VM 이 뜨기까지 1: 학생·백엔드·KubeVirt·스토리지, 네 층으로 본 전체 그림
- 학생 VM 이 뜨기까지 2: KubeVirt 안쪽 — VM 은 왜 파드 안에서 도는가
- 학생 VM 이 뜨기까지 3: 디스크는 PVC 다 — DataVolume, 접근 모드, 볼륨 모드
- 학생 VM 이 뜨기까지 4: PVC 관점의 오버레이 — 골든 디스크 하나, 학생마다 얇은 쓰기 층
- 학생 VM 이 뜨기까지 5: 수명과 회수 — 무엇을 어떤 순서로 지우고, 실패해도 멈추지 않게
- 학생 VM 이 뜨기까지 6: 격리 — 게스트 안 root 가 클러스터를 못 건드리는 이유
지금 주목받는 오픈소스 6편
오픈소스 기여 기록 5편
- 되살아나는 플래그와 비어 보이는 버킷: SeaweedFS weed mini 도움말 PR 이 동작 변경으로 이어진 이야기
- Grafana 관리자 비밀번호는 첫 기동에만 읽힌다: Grafana 헬름 차트 README PR 이 26분 만에 병합되기까지
- vLLM 이 지운 메트릭 이름을 문서가 아직 부를 때: llm-d 문서 PR 이 2시간 9분 만에 병합되기까지
- lookup 을 시험하라던 다섯 명령 중 둘은 템플릿을 그리지 않는다: Helm 문서 PR 이 15시간 54분 만에 병합되기까지
- 리다이렉트로만 살아 있던 주소: alpine/k8s 이미지 빌드 PR 이 7시간 37분 만에 병합되기까지