블로그
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 3704 편
#2026-03 762#culture 283#deep-dive 275#kubernetes 262#career 233#ai 223#llm 217#devops 198#2026-04 158#security 149#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 67#cs-fundamentals 63#rag 63#systems 63#python 56#learning 54#self-improvement 53
시뮬레이션된 고객은 절대 떠나지 않는다 — 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-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#devops