블로그
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 3672 편
#2026-03 762#culture 283#deep-dive 275#kubernetes 260#career 233#ai 220#llm 216#devops 195#2026-04 158#security 147#observability 118#database 113#communication 108#history 107#architecture 101#productivity 98#performance 93#linux 90#networking 89#finance 87#economy 84#mindset 80#psychology 79#ai-papers 78#food 78#it 78#travel 78#japanese 76#deep-learning 75#english 74#gpu 74#ai-agent 69#business-travel 69#postgresql 66#cs-fundamentals 63#rag 63#systems 63#python 55#learning 54#self-improvement 53
Wayland 색 관리는 어느 릴리스에 실렸나 — 5년 걸린 프로토콜의 배포 연대기, 그리고 X 서버의 2026년
Wayland의 색 관리·HDR 프로토콜 color-management-v1은 2020년 1월에 열린 머지 리퀘스트가 2025년 2월에야 병합된 5년짜리 표준화의 결과물입니다. 이 글은 뉴스 기사가 아니라 저장소 기록으로 배포 시점을 핀으로 꽂습니다 — Mutter는 GNOME 48(2025년 3월)에서 공식 프로토콜을, 49에서 color-representation을, 50(2026년 3월
2026-07-17 · 25 분 읽기 #linux#wayland#hdr#color-management#x11PyTorch 2.13의 torchcomms — c10d를 대체하러 온 새 분산 통신 백엔드
2026년 7월 8일 릴리스된 PyTorch 2.13의 하이라이트 가운데 가장 구조적인 변화는 torchcomms — PyTorch Distributed의 새 통신 백엔드가 코어의 CI와 DeviceMesh 경로에 통합되기 시작한 것입니다. torchcomms는 2025년 10월 Meta가 발표한 실험적 통신 API로, 전역 상태 기반 c10d ProcessGroup의 기술 부채(NCCL 중
2026-07-17 · 19 분 읽기 #pytorch#distributed-training#nccl#deep-learning로컬에서 LLM 돌리려면 VRAM이 얼마나 필요한가 — 표 말고 공식으로 계산하기
"8B 모델에 몇 GB 필요한가요"의 정답은 표가 아니라 두 개의 공식입니다. 가중치는 파라미터 수 곱하기 bpw 나누기 8이고, KV 캐시는 2 곱하기 레이어 수 곱하기 KV 헤드 수 곱하기 headdim 곱하기 바이트 수 곱하기 토큰 수입니다. 이 글은 두 공식을 llama.cpp 소스와 공식 표에 직접 대조해 검증합니다 — ggml 블록 구조체에서 유도한 Q80의 8.5 bpw는 lla
2026-07-17 · 43 분 읽기 #llm#quantization#kv-cache#local-llm#gpuDeno 2.9 — deno desktop 실험, 락파일 그대로 마이그레이션, 그리고 24시간 공급망 기본값
2026년 6월 25일 나온 Deno 2.9는 세 가지 이야기로 요약됩니다. 웹 스택으로 네이티브 데스크톱 앱을 빌드하는 실험 기능 deno desktop(기본은 OS 웹뷰, 옵션으로 CEF 번들), npm·pnpm·yarn·Bun 락파일을 그대로 읽어 deno.lock을 시드하는 마이그레이션 경로, 그리고 갓 게시된 npm 패키지를 24시간 동안 설치 거부하는 min-release-age의
2026-07-17 · 25 분 읽기 #javascript#deno#javascript-runtime#node-compatibility#supply-chainCassandra 6.0-alpha1과 Accord 트랜잭션 — 5년 만의 "범용 트랜잭션"은 지금 어디까지 왔나
2021년 CEP-15로 제안된 Cassandra의 범용 트랜잭션 프로토콜 Accord가 2026년 3~4월, 마침내 6.0-alpha1이라는 실행 가능한 릴리스에 실려 나왔습니다. 리더 없는 합의로 멀티 파티션 strict-serializable 트랜잭션을 정상 조건에서 WAN 왕복 1회에 처리한다는 것이 프로토콜의 약속이고, BEGIN TRANSACTION 구문과 테이블별 transact
2026-07-17 · 24 분 읽기 #database#cassandra#distributed-systems#transactionsAirflow 2 EOL 이후 — 2에서 3으로 가는 실제 작업 목록, 그리고 3.3까지 온 3.x의 현재
Apache Airflow 2는 2026년 4월 22일에 EOL을 지났고, 이제 보안 패치도 나오지 않는 버전입니다. 그런데 2에서 3으로 가는 길은 pip 업그레이드가 아니라 아키텍처 전환입니다 — 워커의 메타데이터 DB 직접 접근이 사라지고, executiondate 계열 컨텍스트 키가 제거되고, 크론 스케줄의 기본 시맨틱까지 바뀝니다. 이 글은 공식 업그레이드 가이드와 릴리스 노트를 원
2026-07-17 · 27 분 읽기 #data-engineering#airflow#workflow-engine#migrationZig 0.16.0 — I/O를 인터페이스로 만든 릴리스, 그리고 그 청구서
2026년 4월 14일 발표된 Zig 0.16.0은 표준 라이브러리의 모든 입출력이 Io 인스턴스를 인자로 받도록 바꿨습니다. Allocator를 인자로 넘기던 Zig의 오래된 습관을 I/O에 그대로 적용한 것으로, 같은 소스 코드가 스레드 기반 구현 위에서도 이벤트 루프 위에서도 돌아가게 하려는 설계입니다. 하지만 릴리스 노트를 실제로 읽어 보면 완성된 구현체는 Io.Threaded 하나뿐
2026-07-16 · 43 분 읽기 #zig#systems-programming#async-io#compilerTriton Gluon — 컴파일러가 숨기던 레이아웃을 손으로 쓰는 언어
Gluon은 Triton과 같은 컴파일러 스택 위에 올라간 하위 레벨 GPU 언어로, Triton이 감춰 두던 레이아웃·공유 메모리·워프 특수화를 커널 작성자에게 그대로 넘깁니다. 존재 이유는 명확합니다 — Triton 컴파일러가 잘 못 뽑는 코드를 만났을 때, 지금까지는 손쓸 방법이 없었기 때문입니다. 이 글은 Gluon이 무엇을 노출하는지, BlockedLayout이 실제로 무엇을 뜻하는
2026-07-16 · 33 분 읽기 #gpu#triton#kernel#compiler#performance시뮬레이션된 고객은 절대 떠나지 않는다 — LLM 유저 시뮬레이터가 에이전트 점수를 부풀리는 지점
τ-bench 계열의 대화형 에이전트 벤치마크에서 "사용자" 역할은 또 다른 LLM이 맡습니다. 그런데 이 시뮬레이터는 측정 대상이 아니라 측정 도구이고, 도구는 교정을 받아야 합니다. 2026년에 나온 세 편의 검증 연구는 같은 방향을 가리킵니다 — 시뮬레이션된 사용자는 너무 협조적입니다. 실제 사람 451명으로 τ-bench 프로토콜을 그대로 돌린 연구는 시뮬레이터가 만드는 "이지 모드"
2026-07-16 · 41 분 읽기 #ai#llm#evaluation#agents#simulationSQLite WAL-reset 버그 — 15년을 숨어 있던 데이터 손상 경합
2026년 3월 3일, SQLite 개발자 Dan이 WAL 모드에서 드물게 데이터베이스를 손상시킬 수 있는 데이터 경합을 찾아 고쳤습니다. 이 버그는 WAL이 도입된 3.7.0(2010-07-21)부터 3.51.2(2026-01-09)까지 모든 버전에 들어 있었고, 3.51.3(2026-03-13)에서 수정됐습니다. 원인은 wal-index 헤더의 nBackfill 필드 하나를 서로 다른 두
2026-07-16 · 35 분 읽기 #sqlite#wal#database-internals#concurrency#data-raceZJIT의 Lightweight Frames — Ruby 4.1에서 메서드 프레임 푸시를 지우는 법과 그 대가
Ruby 4.0은 2025년 12월 25일에 ZJIT을 실었지만, 켜지지 않은 채로 실었습니다 — 바이너리에 컴파일돼 있을 뿐 기본 JIT은 여전히 YJIT입니다. 공식 릴리스 노트의 문장은 "ZJIT은 인터프리터보다 빠르지만 아직 YJIT만큼 빠르지는 않다"였고, 바로 다음 문장이 "Ruby 4.1 ZJIT을 기대해 달라"였습니다. 그 4.1을 겨냥한 작업의 중심에 Lightweight F
2026-07-16 · 34 분 읽기 #ruby#zjit#yjit#jit#compilersched_ext 서브 스케줄러 — 커널 7.1에 절반만 도착한 cgroup별 스케줄러
리눅스 7.1(2026년 6월 14일)에 schedext의 cgroup 서브 스케줄러 지원이 들어갔습니다. 목표는 분명합니다 — cgroup 트리 어디에나 BPF 스케줄러를 붙이고, 부모 스케줄러가 자식들에게 CPU를 동적으로 배분해서, 컨테이너나 애플리케이션 도메인마다 자기 워크로드에 맞는 스케줄링 정책을 돌리는 것입니다. 동기는 cpuset 하드 파티셔닝이 주지 못하는 유연성이고, 멀티테
2026-07-16 · 24 분 읽기 #linux#kernel#scheduler#cgroups#bpfWASI 0.3의 네이티브 async — wasi:io가 사라진 이유, 그리고 아직 안 끝난 일
2026년 6월 11일 WASI 서브그룹이 WASI 0.3.0을 비준했습니다. 핵심은 async가 컴포넌트 모델의 캐노니컬 ABI로 내려갔다는 것이고, 그 결과 wasi:io 패키지가 통째로 사라졌습니다. 이게 중요한 이유는 성능이 아니라 합성 가능성입니다 — WASI 0.2에서는 컴포넌트마다 자기 이벤트 루프를 들고 있어서, async를 쓰는 순간 다른 컴포넌트와 조합할 수 없었습니다(샌드
2026-07-16 · 35 분 읽기 #webassembly#wasm#wasi#component-model#systemsRust 1.97이 Volta 이전 GPU를 잘라냈다 — nvptx64 베이스라인 상향의 내막
Rust 1.97(2026년 7월 9일)은 nvptx64-nvidia-cuda 타깃의 최소 사양을 PTX ISA 7.0(CUDA 11 드라이버 이상)과 SM 7.0(Volta 이상)으로 올렸습니다. Maxwell·Pascal 세대 GPU와 CUDA 10 이하 드라이버는 이제 대상이 아닙니다. 이 글은 실제로 바뀐 숫자, 컴파일러 팀이 근거로 든 세 개의 구체적인 결함(디버그 심볼·아토믹 순서
2026-07-16 · 21 분 읽기 #rust#cuda#gpu#compiler#nvidiaReact Compiler가 Rust로 포팅됐다 — 머지된 것, 아직 아닌 것, 그리고 그 "10배"라는 숫자
2026년 6월 9일, React Compiler를 Rust로 포팅한 PR 36173이 facebook/react main에 머지됐습니다. 461개 파일에 12만 줄이 넘는 코드가 들어왔고, "Babel 플러그인으로 3배, 변환 로직 자체는 약 10배 빠르다"는 숫자가 곧바로 생태계를 돌기 시작했습니다. 그런데 정작 PR 본문에서 저자 Joseph Savona 본인은 그 숫자에 대해 "성능
2026-07-16 · 31 분 읽기 #react#rust#compiler#performance#frontendRISC-V RVA23 프로파일 — 배포판은 베이스라인을 올렸고, 하드웨어는 아직 도착하지 않았다
RVA23은 2024년 10월 21일 비준된 RISC-V 애플리케이션 프로세서 프로파일로, RVA22에서 선택이었던 벡터(V)와 하이퍼바이저(H)를 처음으로 필수로 못 박았습니다. 이게 중요한 이유는 RISC-V의 고질병인 파편화 때문입니다 — 바이너리 배포판이 기댈 공통 분모가 없으면 아무도 벡터 코드를 기본으로 깔 수 없으니까요. 우분투는 25.10부터 최소 베이스라인을 RVA23S64로
2026-07-16 · 30 분 읽기 #risc-v#rva23#ubuntu#toolchain#cpu-architecture러스트 표준 라이브러리 검증 캠페인이 찾아낸 메모리 안전성 버그는 0개였다
AWS와 Rust Foundation이 주도한 verify-rust-std 캠페인의 결과 논문이 2026년 NASA Formal Methods Symposium에 실렸습니다. 저자들이 "소프트웨어 라이브러리를 대상으로 보고된 것 중 가장 큰 검증 캠페인"이라 부르는 이 작업은 자동 생성 하네스 16,748개를 만들어 11,970개를 통과시켰지만, 표준 라이브러리에서 알려지지 않은 메모리 안전
2026-07-16 · 48 분 읽기 #formal-methods#rust#verification#memory-safety#testingPySpark 4.2, Python UDF가 기본으로 Arrow를 탄다 — 타입 강제 변환 225칸 중 132칸이 바뀌는 이야기
2026년 7월 14일 릴리스된 Apache Spark 4.2.0은 SPARK-54555로 spark.sql.execution.pythonUDF.arrow.enabled 기본값을 false에서 true로 뒤집었습니다. 벤더 블로그는 이걸 "코드 재작성 없이 더 빠른 컬럼 경로"라고 소개하지만, 정작 릴리스 어디에도 Arrow 대 pickle의 속도 수치는 공개돼 있지 않습니다. 그리고 진짜
2026-07-16 · 27 분 읽기 #spark#python#arrow#data-engineeringSwift 6.3의 공식 Android SDK — 무엇이 나왔고, 무엇이 의도적으로 빠졌나
2026년 3월 24일 릴리스된 Swift 6.3에 Swift SDK for Android의 첫 공식 릴리스가 포함됐습니다. 10년간의 커뮤니티 포크와 비공식 툴체인을 지나, 이제 swift.org가 직접 빌드하고 배포하는 크로스컴파일 SDK로 Android 바이너리를 만들 수 있습니다. 다만 이게 무슨 뜻인지는 정확히 짚어야 합니다 — SDK가 공식이 된 것이지, Android가 Linux
2026-07-16 · 22 분 읽기 #swift#android-swift#cross-platform#kotlin-multiplatform#swift-package-managerPython 3.15의 abi3t — free-threaded 빌드용 stable ABI가 푸는 문제와 그 대가
PEP 779로 free-threaded 빌드는 3.14에서 실험 딱지를 뗐지만, 기본 빌드가 되는 Phase III 앞에는 인터프리터 성능 말고 하나가 더 있었습니다 — 배포입니다. free-threaded 빌드에서는 stable ABI(abi3)를 쓸 수 없어서, C 확장 저자들은 파이썬 버전 × 스레딩 모드마다 휠을 따로 찍어야 했습니다. PEP 803은 이 구멍을 abi3t라는 sta
2026-07-16 · 23 분 읽기 #python#free-threaded#cpython#concurrency#pep-703