B-트리의 귀환 — 빠르고 페이지화 가능한 노드 레이아웃 설계
TUM 연구진이 가변 길이 키를 지원하는 B-트리의 노드 레이아웃 여섯 가지 최적화를 구현하고 비교합니다. 키 특성과 작업 비율에 맞춰 레이아웃을 고르는 적응형 B-트리는 메모리 전용 인덱스와의 성능 차이를 줄이며, 조밀한 정수 키에서는 완전 조밀 리프가 조회·삽입 성능을 크게 높입니다.
TUM 연구진이 가변 길이 키를 지원하는 B-트리의 노드 레이아웃 여섯 가지 최적화를 구현하고 비교합니다. 키 특성과 작업 비율에 맞춰 레이아웃을 고르는 적응형 B-트리는 메모리 전용 인덱스와의 성능 차이를 줄이며, 조밀한 정수 키에서는 완전 조밀 리프가 조회·삽입 성능을 크게 높입니다.
저자는 프로그래밍도 글쓰기나 음악처럼 예술이며, 일상적인 실무 코드에도 미적 판단과 창작 과정이 담긴다고 주장합니다. AI로 평범한 프로젝트까지 없애면 숙련을 쌓을 기회와 새로운 발상의 가능성도 사라질 수 있다고 경고합니다.
Rust 1.100.0부터 32비트 Windows 타깃인 i686-pc-windows-msvc와 i686-pc-windows-gnu용 호스트 도구 배포를 중단합니다. 표준 라이브러리는 계속 제공하며, 32비트 Windows 바이너리는 지원되는 64비트 호스트에서 크로스 컴파일해야 합니다.
Hetzner가 클라우드 네트워크를 구축해 온 과정을 소개하고, 현재 Open vSwitch 기반 스택의 구성과 패킷 처리 방식을 설명합니다. 100만 대가 넘는 클라우드 서버를 지원하는 구조와 확장성 한계를 짚으며, 다음 편에서 자체 개발한 새 스택을 다루겠다고 예고합니다.
Let’s Encrypt는 2027년 2월 10일부터 기본 인증서 유효기간을 90일에서 64일로 줄입니다. 자동 갱신이 만료일에 맞춰져 있다면 갱신 시점을 수명 3분의 2 지점으로 조정하고, 스테이징 환경에서 미리 점검해야 합니다.
한 서비스에서 RwLock과 Crossbeam의 epoch 기반 원자 포인터를 비교한 벤치마크입니다. 16,384개 항목을 순회할 때 항목마다 락을 잡고 푸는 대신, 순회당 epoch를 한 번 고정하자 읽기 처리량이 약 15.9k에서 229.1k로 늘고 지연 시간도 줄었습니다.
Git 저장소를 SHA-1에서 SHA-256으로 바꾸는 절차와 서브모듈 처리 방법을 설명합니다. 서브모듈 저장소를 먼저 변환하고 marks 파일로 객체 ID를 다시 연결해야 하며, Forgejo 저장소를 제자리에서 바꾸는 방법에는 기존 커밋 참조가 깨질 위험이 있습니다.
Guix는 `GUIX_EXTENSIONS_PATH`에 설치한 Guile 모듈을 새 `guix` 명령으로 불러옵니다. 글은 확장 모듈 작성부터 도움말 등록과 Guix 패키징까지 `guix hello` 예제로 안내하며, 새 확장 스키마가 컴파일된 모듈을 찾아 실행 성능을 높인다고 설명합니다.
Rust 언어팀이 사용자 정의 스마트 포인터도 내장 참조처럼 다룰 수 있도록 컴파일러의 ‘place’ 개념을 라이브러리 코드에 노출하는 설계를 제안했습니다. 아직 프로토타입 단계이며, borrow checker가 포인터별 읽기·쓰기·빌리기 규칙을 이해하도록 만드는 것이 목표입니다.
Rust의 오류 집합을 타입 선언 없이 조합하고, 처리한 오류를 반환 타입에서 제거하는 라이브러리 eros를 소개합니다. 함수 시그니처에 실제로 남은 오류만 표현하면서 운영 맥락도 함께 전달하는 방식을 설명합니다.
Casuarina Linux 개발자가 배포판 유지보수를 중단하기로 했습니다. C++ 표준 라이브러리 호환성 문제와 부트스트랩 과정의 타협, 유지보수 부담을 겪은 뒤 2026년 10월 말 패키지 업데이트를 멈출 계획입니다.
jujutsu 0.46.0은 Git worktree와 jj 워크스페이스를 함께 관리하는 기능을 추가하고, 워크스페이스 제거와 다른 리비전의 파일 편집을 지원합니다. 여러 remote에 push하거나 diff 헤더에서 소스 심볼을 확인하는 기능도 포함합니다.
검색엔진 색인을 원치 않았던 블로그 운영자가 robots.txt와 robots 메타 태그를 차례로 적용해 Google 검색 결과에서 사이트를 제외했습니다. robots.txt로 크롤링을 막으면 Googlebot이 페이지의 noindex 메타 태그를 읽지 못한다는 점이 핵심입니다.
휴대전화와 브라우저, 서버에 들어가는 오픈소스 소프트웨어 23개의 변경 기록을 분석해 실제 유지보수자가 얼마나 적은지 살펴봅니다. 여러 프로젝트에서 소수의 기여자가 대부분의 변경을 맡고 있으며, 유지보수 재원도 프로젝트마다 크게 다릅니다.
Git은 변경되지 않는 콘텐츠 주소 기반 객체 저장소뿐 아니라, 문자열 키로 객체를 가리키는 변경 가능한 참조(ref) 저장소도 사용합니다. 브랜치와 태그가 ref라는 점을 바탕으로 fetch 인수와 로컬·원격 브랜치의 차이를 풀어 설명합니다.
비밀값을 지우려고 넣은 코드가 컴파일러 최적화나 함수 호출 규약 때문에 효과를 내지 못하고, 오히려 메모리에 복사본을 만들기도 합니다. 글은 C와 arm64 컴파일 결과를 비교하며, 버퍼 삭제는 계속하되 작은 지역 변수는 실제로 어디에 저장되고 무엇이 남는지 확인하라고 설명합니다.
curl 프로젝트가 보안 취약점 22건을 수정한 curl 8.23.0을 2026년 10월 14일 공개합니다. 이 가운데 CVE-2026-92392는 HIGH 등급이며, 프로젝트는 패치가 배포될 때까지 세부 내용을 공개하지 않기로 했습니다.
소형 컴파일러 rat의 선형 스캔 레지스터 할당기를 1,392줄에서 584줄짜리 우선순위 기반 할당기로 바꾼 과정을 설명합니다. 새 할당기는 레지스터 축출이나 구간 분할 없이도 명령어를 3.6% 줄이고, SQLite를 -O0으로 컴파일할 때 전체 컴파일 시간을 43% 단축했습니다.
Chimera Linux 개발자가 패키지 도구 cbuild의 설계 원칙과 빌드 인프라를 설명합니다. 모든 개발자가 로컬에서 원격 빌드를 재현하고, 샌드박스·검사·의존성 정렬을 도구에 맡기는 방식으로 작은 커뮤니티의 유지보수 부담을 줄입니다.
학교의 자동 채점 환경에서 허용되지 않은 C 함수를 직접 호출하는 과정을 설명합니다. ASan이 바꿔치기한 함수와 libc 함수의 메모리 배치를 이용해 주소를 계산하고, 실행 권한이 있는 메모리에서 시스템 호출을 수행하는 방식입니다.