블로그
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
git history — Git이 rebase 옆에 놓은 실험적 history 재작성 명령어
Git 2.54(2026-04-20)에 git history라는 새 명령어가 실험적으로 들어왔고, 2.55(2026-06-29)에서 fixup 서브커맨드가 추가됐습니다. reword/split/fixup 세 가지 흔한 history 재작성 작업을 인터랙티브 rebase 없이 명령 한 줄로 처리하고, 대상 커밋의 자손 브랜치들을 원자적 ref 트랜잭션으로 한꺼번에 갱신합니다. 메인테이너 Pat
2026-07-16 · 28 분 읽기 #git#version-control#jujutsu#rebase벡터 인덱스의 기본값이 HNSW에서 디스크로 바뀐 이유 — Elasticsearch bbq_disk의 트레이드오프 ♪ 들을 수 있어요
Elasticsearch 9.4(2026-05-05)부터 float 벡터의 기본 인덱스 타입이 bbqdisk, 즉 디스크 기반 IVF로 바뀌었습니다. 1년 사이에 기본값이 int8hnsw에서 bbqhnsw로, 다시 그래프가 아닌 디스크 인덱스로 옮겨간 것인데, 이 이동은 벡터 검색의 진짜 비용이 계산이 아니라 RAM에 있다는 판단을 담고 있습니다. 이 글은 HNSW의 메모리 절벽이 벤더 벤치
2026-07-16 · 41 분 읽기 #vector-database#elasticsearch#ann-index#quantization#hnswClang 22의 MSVC ABI 변경 — vector deleting destructor와 아직 22.1.x에 남아 있는 delete[] 힙 손상
Clang 22.1.0(2026-02-24)은 MSVC ABI를 타깃할 때의 소멸자 코드 생성을 두 군데 바꿨습니다. 하나는 ::delete 처리를 MSVC와 맞춘 것이고, 다른 하나는 2014년에 열린 이슈를 11년 7개월 만에 닫은 vector deleting destructor 지원입니다. 둘 다 진짜 버그를 고치는 변경이지만, vftable 슬롯에 들어가는 심볼이 바뀌는 ABI 변경이
2026-07-16 · 29 분 읽기 #llvm#clang#cpp#compilerDuckDB에 클라이언트-서버 프로토콜이 생겼다 — Quack이 바꾸는 것과 바꾸지 않는 것
2026년 5월 12일 DuckDB 팀이 Quack을 발표했습니다. HTTP 위에 얹은 클라이언트-서버 프로토콜로, DuckDB 인스턴스 두 개가 서로 클라이언트와 서버가 되어 같은 데이터베이스를 여러 프로세스에서 동시에 읽고 쓸 수 있게 합니다. 7년 동안 "인프로세스"를 정체성으로 내세운 프로젝트가 스스로 서버를 붙인 셈이라, 무엇이 바뀌었는지보다 무엇이 안 바뀌었는지가 더 중요합니다.
2026-07-16 · 31 분 읽기 #database#duckdb#olap#analytics#data-engineeringC++26 계약(Contracts) — 114 대 12로 통과된 기능, 그리고 GCC 16.1이라는 유일한 구현
2026년 3월 28일 WG21은 C++26의 기술 작업을 끝냈습니다. 표결은 만장일치가 아니었고(찬성 114, 반대 12, 기권 3), 비만장일치의 주된 이유는 계약(contracts)이었습니다. 계약은 pre·post·contractassert로 사전조건과 사후조건을 언어 차원에서 적는 기능이지만, 그 검사가 실제로 실행될지는 소스 코드가 아니라 빌드 설정이 정합니다 — 표준 문구 그대로
2026-07-16 · 31 분 읽기 #cpp#cpp26#contracts#wg21#gccTypeScript 7이 GA됐다 — 8~12배는 진짜지만, 오늘 못 옮기는 사람들이 있다 ♪ 들을 수 있어요
2026년 7월 8일, TypeScript 7.0이 GA됐습니다. Go로 다시 쓴 네이티브 포트가 더 이상 별도 바이너리가 아니라 그냥 tsc입니다 — npm install -D typescript을 하면 그게 들어옵니다. Microsoft가 보고한 전체 빌드 속도 향상은 8~12배이고, VS Code 코드베이스 기준 125.7초에서 10.6초로 떨어졌습니다. 하지만 헤드라인이 가리는 두 가
2026-07-16 · 32 분 읽기 #typescript#compiler#tooling#build-systems#compile-timescontainerd 2.3의 EROFS 네이티브 레이어 — 언팩을 없애는 대신 무엇을 냈나 ♪ 들을 수 있어요
2026년 4월 30일 나온 containerd 2.3은 레지스트리에서 EROFS 파일시스템 이미지를 그대로 받아 마운트하는 경로를 열었습니다. tar를 풀지 않으니 언팩 단계가 통째로 사라지고, 그 자리에 blob 복사 한 번만 남습니다. 다만 이건 다들 기다리는 지연 로딩(lazy pull)이 아닙니다 — containerd 자신의 seekable-erofs PR이 "청크 테이블은 쓰지만
2026-07-16 · 32 분 읽기 #container#containerd#oci#storage#linuxDebian이 재현 불가능한 패키지의 testing 이행을 막기 시작했다 — 게이트가 실제로 막는 것과 막지 않는 것 ♪ 들을 수 있어요
2026년 5월 9일, Debian 릴리스 팀은 이행 소프트웨어 britney를 재현 가능성 검사와 연결했습니다. 다음 날 메일링 리스트에 올라온 문장은 "Debian must ship reproducible packages"였지만, 실제로 막히는 것은 재현되지 않는 신규 패키지와 재현되던 패키지의 회귀 두 가지뿐입니다. 이 글은 그 게이트를 뜯어봅니다 — buildd가 남긴 .buildin
2026-07-16 · 37 분 읽기 #devops#reproducible-builds#debian#supply-chain#ci-cdROV가 막아낸 것, ASPA가 아직 못 막는 것 — 2026년 6월 텔레그램 하이재킹과 라우팅 보안의 다음 층 ♪ 들을 수 있어요
2026년 6월 16일 인도 Rcom(AS18101)이 텔레그램 프리픽스를 하이재킹했고, Kentik 측정으로 그 경로는 자사 BGP 소스의 1.6%에만 도달했습니다. RPKI ROV가 실제로 작동한 사례입니다. 하지만 이건 origin을 위조하지 않은 서투른 하이재킹이었기 때문이고, ROV의 구조적 천장은 route leak — origin이 정당한 채로 잘못된 경로를 타는 경우 — 을 전
2026-07-16 · 39 분 읽기 #network#bgp#rpki#routing#securityRedis 8.8의 Array 타입 — 스트림 이후 처음 늘어난 코어 자료구조, 그리고 Valkey에는 없는 것
2026년 5월, Redis 8.8과 Valkey 9.1이 엿새 간격으로 나왔습니다. Redis 8.8에는 antirez가 직접 만든 새 코어 자료구조 Array가 들어갔습니다 — 인덱스 자체가 의미를 갖는 데이터(센서의 분 단위 슬롯, 예약 시스템의 칸 번호, 파일의 줄 번호)를 위한 희소 인덱스 컨테이너로, 명령어 18개와 슬라이스 기반 희소 인코딩, 서버 사이드 집계와 정규식 grep까
2026-07-16 · 27 분 읽기 #redis#valkey#data-structures#performance#open-source5노드 Raft에서 3노드가 한꺼번에 죽은 이유 — Coinbase 2026년 5월 7일 장애 읽기 ♪ 들을 수 있어요
2026년 5월 7일 저녁 AWS us-east-1의 가용 영역 use1-az4에서 데이터 홀 한 곳의 냉각 장치가 동시에 고장 났고, Coinbase는 거래와 입출금을 포함한 대부분의 서비스가 약 8시간 중단되는 장애를 겪었습니다. 6월 1일 공개된 Coinbase의 포스트모템은 5노드 Raft 체결 엔진 중 3노드가 동시에 죽어 쿼럼을 잃은 과정과, AWS 관리형 Kafka인 MSK의 컨
2026-07-16 · 35 분 읽기 #distributed-systems#postmortem#consensus#aws#resiliencebcachefs가 이레이저 코딩의 experimental 딱지를 뗀 이야기 — 그리고 그게 무슨 뜻인지
2025년 9월 29일 리누스 토발즈는 커밋 하나로 커널에서 bcachefs 코드 117,483줄을 지웠고, bcachefs는 ZFS처럼 DKMS 모듈로 배포되는 파일시스템이 됐습니다. 드라마는 그것으로 끝났고, 2026년의 진짜 뉴스는 따로 있습니다 — bcachefs의 이레이저 코딩(RAID5/6에 해당하는 기능)이 experimental 딱지를 뗐습니다. 그런데 이 사실을 옮긴 문장 하
2026-07-16 · 29 분 읽기 #linux#kernel#filesystem#bcachefs#storage이슈 하나로 공급망 끝까지 — CI 안의 에이전트가 무너진 방식과, 방어가 실제로 막아준 만큼 ♪ 들을 수 있어요
2026년 6월 1일 GMO Flatt Security의 RyotaK가 공개한 Claude Code GitHub Actions 취약점은, CI 파이프라인에 들어온 에이전트가 어떻게 저장소 전체를 넘기는 통로가 되는지를 끝까지 따라간 사례입니다. 봇 판정 한 줄이 신뢰 경계를 무너뜨리고, 이슈 본문에 심긴 지시가 명령이 되고, 읽기 전용처럼 보이는 명령 하나가 유출 채널이 됩니다. 이 글은 그
2026-07-16 · 40 분 읽기 #security#ai#prompt-injection#supply-chain#ci-cdPostgres 19의 pg_plan_advice — 힌트를 거절해 온 프로젝트가 내놓은 타협안
PostgreSQL 프로젝트는 오랫동안 옵티마이저 힌트를 거절해 왔습니다. 그런데 2026년 6월 4일 나온 PostgreSQL 19 Beta 1에 Robert Haas가 만든 pgplanadvice와 pgstashadvice가 contrib 모듈로 들어갔습니다. 이건 오라클식 힌트가 아닙니다 — 조언은 SQL 밖에 살고, 플래너를 대체하는 게 아니라 탐색 공간을 좁히기만 하며, 문서의 표현
2026-07-16 · 26 분 읽기 #postgresql#query-planner#query-optimization#database#performancellama.cpp가 브라우저로 들어왔다 — WebGPU 백엔드가 16개 기기에서 측정한 천장
UC Santa Cruz 팀이 2026년 5월에 공개한 LlamaWeb은 llama.cpp의 WebGPU 백엔드로, 8개 벤더의 기기 16대에서 브라우저 LLM 추론을 실측한 지금까지 가장 넓은 데이터셋을 남겼습니다. 결과는 양면적입니다. 기존 브라우저 프레임워크(WebLLM, Transformers.js)보다 메모리를 29~33% 덜 쓰고 디코드 처리량은 45~69% 높지만, prefill
2026-07-16 · 31 분 읽기 #webgpu#llm-inference#llama-cpp#on-device-ai#browserIceberg v3 로우 리니지 — 행 ID는 파일에 저장되지 않는다
Apache Iceberg 포맷 v3는 모든 행에 안정적인 식별자를 부여하는 로우 리니지를 스펙에 넣었고, 이건 옵션이 아니라 v3 테이블이면 무조건 켜집니다. 그런데 이 값은 데이터 파일에 저장되지 않습니다 — 테이블의 next-row-id에서 스냅샷, 매니페스트, 데이터 파일로 내려오는 상속 체인을 통해 읽는 시점에 계산됩니다. 낙관적 커밋이 재시도될 때 데이터 파일을 다시 쓰지 않기 위
2026-07-16 · 31 분 읽기 #iceberg#lakehouse#table-format#data-engineering#spark플랫폼을 쓰는 팀이 처리량 8%, 변경 안정성 14%가 더 낮았다 — DORA 데이터를 인과로 읽으면 안 되는 이유 ♪ 들을 수 있어요
2026년 현재 내부 개발자 플랫폼 도입률은 90%로 보고됩니다. 그런데 그 숫자를 낸 DORA 리포트 자신의 데이터에는 불편한 결과가 같이 들어 있습니다 — 2024년 리포트에서 플랫폼 사용자는 개인 생산성이 8%, 팀 성과가 10% 높았지만 처리량은 8%, 변경 안정성은 14% 낮았고, DORA는 이걸 "놀라운 결과"라 불렀습니다. 더 중요한 건 DORA가 직접 내놓은 세 가지 가설 중
2026-07-16 · 37 분 읽기 #platform-engineering#dora#internal-developer-platform#devex#research-methodsaxios 계정 탈취 3시간 — provenance는 켜져 있었고, 아무도 확인하지 않았다 ♪ 들을 수 있어요
2026년 3월 31일 00:21 UTC, 주간 다운로드 8천만 건이 넘는 axios에 악성 버전 1.14.1이 올라왔습니다. 흥미로운 건 axios가 이미 npm trusted publishing을 쓰고 있었다는 점입니다 — 직전 정상 릴리스 1.14.0은 GitHub Actions가 OIDC로 발행했고 SLSA provenance까지 붙어 있었습니다. 그런데도 막지 못했습니다. trust
2026-07-16 · 33 분 읽기 #security#supply-chain#npm#nodejs#devsecops문서에서 지식 그래프로 — 정직한 구축 파이프라인
'문서에서 지식 그래프를 뽑는다'는 데모에서는 LLM 호출 한 번처럼 보입니다. 하지만 고객의 문서를 실제로 쿼리 가능한 그래프로 바꾸는 일은 여섯 단계의 파이프라인이고, 비용과 고통의 대부분은 추출이 아니라 엔티티 해소에 있습니다. 이 글은 스키마(온톨로지)를 먼저 정하는 이유, LLM 기반 스키마 제약 추출(LangChain LLMGraphTransformer, LlamaIndex의 Si
2026-07-15 · 19 분 읽기 #knowledge-graph#ai#llm#data-engineering지식 그래프 도구·프레임워크 지도 — 무엇을 언제 고르나
그래프 데이터베이스, RDF·온톨로지 스택, 그래프 RAG 프레임워크는 지난 2년 사이 폭발적으로 늘었습니다. 링크 목록은 이미 많으니, 이 글은 대신 정직하게 의견을 담은 지도를 그립니다. 카테고리마다 무엇에 쓰는지, 대표 도구 두세 개, 그리고 "언제 무엇을 고를지"를 분명히 말합니다 — 임베디드(Kùzu) vs 서버(Neo4j), 형식 OWL/RDF vs 실용 프로퍼티 그래프, 직접 짜
2026-07-15 · 18 분 읽기 #tools#knowledge-graph#graph-rag#ontology#frameworks