블로그
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 3673 편
#2026-03 762#culture 283#deep-dive 275#kubernetes 260#career 233#ai 221#llm 217#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
Python 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-7032026년 10월 11일, 루트 KSK가 바뀐다 — 지금 루트 존에 실제로 들어 있는 것
DNSSEC의 신뢰 앵커인 루트 KSK가 2026년 10월 11일에 KSK-2017에서 KSK-2024로 넘어갑니다. 대부분의 리졸버에게 이것은 RFC 5011 덕분에 아무 일도 아니지만, 트러스트 앵커를 갱신하지 못한 검증 리졸버에게는 그날 모든 조회가 SERVFAIL로 죽는 절벽입니다. 이 글은 루트 존을 직접 조회해 지금 무엇이 들어 있는지 확인하는 데서 시작해, 8단계 6년짜리 롤오버
2026-07-16 · 46 분 읽기 #network#dns#dnssec#security#protocol네이티브 히스토그램은 stable이 됐는데, 왜 아직 못 켜고 있나
2022년 11월 v2.40에서 실험 기능으로 등장한 Prometheus 네이티브 히스토그램은 2025년 12월 3.8.0에서 stable이 됐고, 2026년 7월 1일 릴리스된 3.13이 이 기능을 stable 상태로 담은 첫 LTS입니다. 기존 3.5 LTS는 2026년 7월 31일에 지원이 끝나므로, LTS 트랙을 타는 조직에게는 지금이 실제 결정 시점입니다. 다만 stable이라는 단
2026-07-16 · 32 분 읽기 #prometheus#observability#native-histograms#metrics#monitoring패스키 이식성은 절반만 도착했다 — CXF는 표준이 됐고, CXP는 아직 2024년 워킹 드래프트다
FIDO의 자격증명 교환 스펙은 두 개입니다. 무엇을 주고받는지 정의하는 CXF는 2025년 8월 14일 Proposed Standard가 됐고 2026년 3월 9일 errata까지 나왔지만, 어떻게 주고받는지 정의하는 CXP는 아직 2024년 10월 3일 워킹 드래프트에 멈춰 있습니다. 그 드래프트는 자기 자신에 대해 "어떤 구현의 근거로도 삼으려는 의도가 없다", "어떤 공식적 지위도 없
2026-07-16 · 30 분 읽기 #security#passkeys#webauthn#fido#standardsPQ 인증서가 아직 안 오는 이유 — ML-DSA 서명 크기, 10kB의 벽, 그리고 Merkle Tree Certificates
포스트양자 전환에서 키 교환(암호화)은 이미 상당히 진행됐지만, 인증서와 서명 쪽은 아직 출발선에 있습니다. 이유는 암호학이 아니라 크기입니다 — FIPS 204가 정한 ML-DSA-44 서명은 2,420바이트로 ECDSA P-256의 64바이트보다 훨씬 크고, 오늘날 웹 핸드셰이크가 서명 5개와 공개키 2개를 나르기 때문에 그대로 갈아끼우면 인증 데이터만 1만 바이트를 넘습니다. Cloud
2026-07-16 · 38 분 읽기 #security#post-quantum-cryptography#tls#webpki#certificatesQUIC은 왜 빠른 인터넷에서 느려지는가 — 수신 측 CPU와 아직 오지 않은 커널 QUIC
QUIC은 핸드셰이크 지연과 손실 복구에서 분명히 이겼습니다. 구글이 인터넷 규모로 측정한 검색 지연 8.0%(데스크톱) 감소, 영상 리버퍼율 18.0% 감소가 그 증거입니다. 그런데 링크가 빨라지면 이야기가 뒤집힙니다 — WWW 2024의 측정 연구는 대역폭이 1 Gbps에 이르면 Chrome에서 QUIC이 HTTP/2보다 45.2% 느려진다고 보고했고, 범인은 흔히 지목되는 암호화도 서버
2026-07-16 · 35 분 읽기 #network#protocol#performance#linux-kernelProtobuf Edition 2026 — 조여지는 기본값 세 개와, protoc가 처음 강제하는 스키마 크기 한계
2026년 7월 13일 protobuf.dev에 Edition 2026 발표가 올라왔고, 나흘 앞선 7월 9일에 이미 v36.0-rc1이 나와 있었습니다. Edition 2026은 새 문법을 하나도 추가하지 않는 대신 기본값 세 개를 조입니다 — 이름 충돌 금지(STYLE2026), 심볼 가시성 STRICT, 그리고 protoc 사상 처음으로 스키마 크기 한계를 강제하는 enforceprot
2026-07-16 · 30 분 읽기 #grpc#protobuf#api-design#serializationOTel의 Kubernetes 속성이 stable이 됐다 — k8sattributes 기본값이 뒤집히기 전에 할 일
OpenTelemetry의 Kubernetes 시맨틱 컨벤션이 2026년 6월 12일 semconv v1.42.0에서 stable로 승급했습니다. 그런데 Collector의 k8sattributes 프로세서는 아직 기본값이 옛 스키마(v0)라, 대부분의 사람은 아무 일도 겪지 않았습니다. 문제는 이게 영구적이지 않다는 것입니다 — Collector RFC가 정한 롤아웃대로라면 피처 게이트가
2026-07-16 · 22 분 읽기 #opentelemetry#observability#kubernetes#semantic-conventions#telemetry-pipelineMySQL 9.7 다음 버전은 26.7 — 2026년 봄, MySQL과 MariaDB가 릴리스 모델을 정리한 방식
2026년 4월 21일 MySQL 9.7.0이 GA로 나오면서 8.4 이후 거의 2년 만에 새 LTS 라인이 열렸고, 같은 달 MySQL 8.0은 Extended Support가 끝나 Sustaining Support로 내려갔습니다. 그리고 6월 16일 Oracle은 버전 번호를 YY.M 캘린더 버저닝으로 바꾼다고 발표해, 9.7 다음 혁신 릴리스는 9.8이 아니라 26.7이 됐습니다. Ma
2026-07-16 · 34 분 읽기 #mysql#mariadb#database#versioning#devopsPD 분리는 처리량을 늘리지 않는다 — 프리필/디코드 분리가 실제로 사는 것
프리필과 디코드를 다른 GPU로 쪼개는 PD 분리는 2026년 vLLM·SGLang·TensorRT-LLM에 모두 들어온 설계지만, 어디를 봐도 "2배에서 7배"라는 숫자만 돌아다닙니다. 그런데 vLLM 공식 문서는 같은 기능을 두고 "분리 프리필은 처리량을 개선하지 않는다"고 대문자로 못 박아 두었습니다. 둘 다 맞습니다 — 그 벤더 숫자들은 전부 처리량이 아니라 goodput(SLO를 지
2026-07-16 · 30 분 읽기 #llm#ai#inference#kv-cache#vllmAWS Lambda MicroVMs — 에이전트가 짠 코드를 VM 격리로 실행한다는 것, 그리고 스냅샷이 만드는 새 문제
AWS가 2026년 6월 22일 Lambda MicroVMs를 출시했습니다. Firecracker 마이크로 VM을 서비스로 파는 물건이고, 노린 시장은 명확합니다 — 사용자나 AI가 생성한 코드를 테넌트별로 격리해 실행하는 일. 컨테이너의 공유 커널 문제를 VM 경계로 치우고, 부팅 대신 미리 만들어 둔 Firecracker 스냅샷에서 되살아나 시작 지연을 없앱니다. 그런데 바로 그 스냅샷이
2026-07-16 · 30 분 읽기 #security#firecracker#microvm#aws-lambda#sandboxingOpenTofu 1.12의 동적 prevent_destroy — lifecycle의 정적 제약이 풀린 자리와 그 대가
Terraform의 lifecycle 블록은 설계상 리터럴 값만 받습니다. 의존성 그래프를 만드는 단계에서 처리되기 때문에 변수를 평가할 시점이 아직 아니라는 것이 HashiCorp 문서의 설명이고, "변수를 쓰게 해 달라"는 요청은 2016년부터 있었습니다. OpenTofu 1.12(2026년 5월 14일)는 preventdestroy의 평가를 설정 로더에서 언어 런타임으로 옮겨 이 제약을
2026-07-16 · 22 분 읽기 #opentofu#terraform#iac#devops#state-managementLoRA rank를 바꾸면 학습률도 바꿔야 하나 — μA(2026)가 가른 두 레짐, 그리고 그 측정의 한계
LoRA에서 rank를 바꾸면 최적 학습률을 다시 찾아야 한다는 통념과, "1/r 스케일링을 쓰면 학습률은 rank와 무관하다"는 통념이 실무에서 동시에 돌아다닙니다. 2026년 2월 arXiv에 올라온 μA(Maximal-Update Adaptation) 논문은 이 둘이 모두 맞다고 말합니다 — 단, 당신이 어떤 α 규약과 어떤 초기화를 쓰느냐에 따라. 이 글은 μA가 유도한 두 레짐(η가
2026-07-16 · 31 분 읽기 #llm#lora#fine-tuning#peft#trainingParquet 2.13.0의 nan_count와 IEEE 754 total order — float 통계가 3년 3개월 만에 고쳐진 이야기
Parquet의 min/max 통계는 쿼리 엔진이 데이터를 건너뛰게 해 주는 장치입니다. 그런데 부동소수점 컬럼에서는 이 장치가 10년 넘게 미묘하게 고장 나 있었습니다 — NaN은 어떤 비교에서도 false를 내므로 통계에서 배제되는데, 그러면 NaN이 든 페이지가 max보다 큰 값을 찾는 쿼리에서 통째로 스킵될 수 있습니다. 성능 문제가 아니라 결과가 틀리는 문제입니다. 2026년 6월
2026-07-16 · 30 분 읽기 #data-engineering#parquet#columnar-storage#apache-arrowJDK 26의 final 필드 변경 경고 — JEP 500이 실제로 바꾼 것, 그리고 지금 확인해 둘 것
JDK 26(2026년 3월 17일 GA)은 JEP 500 "Prepare to Make Final Mean Final"을 통해, 딥 리플렉션으로 final 필드를 재할당하는 코드에 런타임 경고를 띄우기 시작했습니다. JDK 5 이후로 setAccessible(true) 다음의 Field.set()은 final 필드를 마음대로 바꿀 수 있었고, Gson 같은 역직렬화 라이브러리와 필드 주입
2026-07-16 · 30 분 읽기 #java#jvm#reflection#serialization#migrationNix 2.35가 플레이크 소스를 store에 덜 복사한다 — 6년 8개월 걸린 이슈, 그리고 업스트림이 lazy trees 대신 고른 길
2026년 7월 13일 태그된 Nix 2.35.0의 첫 번째 하이라이트는 "Sources are copied to the store more lazily"입니다. 이 한 줄이 닫은 이슈 3121은 2019년 10월 7일 Eelco Dolstra 본인이 열었고, 2026년 6월 9일에 닫혔습니다 — 2,437일. 흥미로운 건 정작 머지된 물건이 Dolstra의 lazy trees가 아니라는 점
2026-07-16 · 25 분 읽기 #nix#reproducible-builds#build-systems#developer-experience#open-sourceKotlin Swift export가 Alpha가 됐다 — Objective-C 다리를 걷어내는 중이지만, 아직 건너지는 마십시오
Kotlin Multiplatform이 iOS에서 치러 온 가장 큰 세금은 Objective-C 다리였습니다. Kotlin 코드가 Swift로 넘어가려면 반드시 Objective-C 헤더를 거쳐야 했고, 그 과정에서 Int?는 KotlinInt로 박싱되고, 제네릭은 클래스에만 남고, suspend 함수는 컴플리션 핸들러가 됐습니다. Swift export는 그 중간 다리를 없애고 Kotlin
2026-07-16 · 30 분 읽기 #kotlin#kotlin-multiplatform#swift#ios#compilerMCP가 세션을 걷어낸다 — 2026-07-28 리비전의 스테이트리스 코어 읽기
MCP 사양의 다음 리비전 2026-07-28은 출시 이후 가장 큰 변경입니다. 핵심은 프로토콜 계층에서 상태를 걷어내는 것 — initialize 핸드셰이크와 Mcp-Session-Id 세션이 사라지고, 모든 요청이 meta에 프로토콜 버전과 클라이언트 능력을 실어 스스로를 설명합니다. 그 대가로 서버가 되묻는 방식이 MRTR(Multi Round-Trip Requests)로 뒤집히고, S
2026-07-16 · 31 분 읽기 #mcp#ai#protocol#agents#integrationGo 1.26의 goroutineleak 프로파일 — GC의 마킹으로 고루틴 누수를 잡는다
Go 1.26(2026년 2월 10일)이 runtime/pprof에 goroutineleak 프로파일을 실험 기능으로 추가했습니다. 아이디어는 GC의 마킹 단계를 재활용하는 것입니다 — 실행 가능한 고루틴만 루트로 삼아 마킹한 뒤, 어떤 고루틴도 도달할 수 없는 동시성 프리미티브에 블록된 고루틴을 누수로 보고합니다. 메모리 도달 가능성이 고루틴 생존성의 건전한 과대근사라는 점이 핵심이고, 그
2026-07-16 · 32 분 읽기 #go#goroutine#garbage-collection#profiling#debuggingCXL 메모리 티어링, 커널은 어디까지 왔나 — DAMON이 머지한 것과 숫자가 재지 않은 것
CXL 하드웨어가 서버에 꽂혀 있어도 뜨거운 페이지와 식은 페이지를 실제로 옮기는 건 커널입니다. 2026년 7월 현재 리눅스 mainline에는 DAMON/DAMOS 기반 티어링 부품이 6.11부터 7.2-rc1까지 나눠 들어와 있지만, 정작 "그냥 켜면 되는" 티어링 커널 모듈은 없고 CONFIGDAMON은 Linus가 기본값 활성화를 되돌린 뒤로 여전히 꺼져 있습니다. 이 글은 어떤 코
2026-07-16 · 34 분 읽기 #hardware#cxl#memory#linux-kernel#performance