블로그
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
2026년 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#performanceInfluxDB 3 Core의 72시간 제한은 사실 432개 파일 제한이다 — Parquet 재작성이 남긴 청구서
InfluxDB 3는 엔진 전체를 Rust로 다시 쓰고 저장 계층을 Apache Arrow와 Parquet 위에 올렸습니다. 흔히 "Core는 72시간까지만 조회된다"고 알려져 있지만 소스를 읽어 보면 그런 코드는 없습니다. 실제로 존재하는 것은 쿼리 하나가 스캔할 수 있는 Parquet 파일 개수 제한 432개이고, 72시간은 기본 gen1 블록 10분을 곱해서 나온 파생값이자 최선의 경우
2026-07-16 · 34 분 읽기 #database#influxdb#time-series#parquet#storage-engine