쌓인 기록에서 찾기
무엇을 찾으세요? 날짜를 몰라도 됩니다. 제목·Key Point·요약·태그를 한꺼번에 뒤집니다.
검색 범위 2026년 8월 13일 (목) 부터 2026년 11월 3일 (화)까지 3800건
8건 · "malloc"조건 지우기 ×
001 15:11 ▲ 100 · 댓글 16 AFL++ 퍼즈 테스팅으로 버그 잡는 8가지 기법 6년간 약 1,000개 프로젝트를 퍼즈 테스팅한 경험에 바탕해 AFL++ 도구로 C/C++ 프로그램의 버그를 더 효과적으로 발견하는 기법 8가지를 소개한다. 보안 · Tips for more effective fuzz testing with AFL++
Key Point 퍼즈 테스팅은 복잡한 입력을 받는 모든 프로그램에서 버그를 드러낼 수 있지만 실제로는 거의 사용되지 않으므로, 이 기법들을 적용하면 기존 테스팅에서 놓친 결함을 발견할 수 있다.
핵심 요약
6년간 약 1,000개 프로젝트를 퍼즈 테스팅한 경험에 바탕해 AFL++ 도구로 C/C++ 프로그램의 버그를 더 효과적으로 발견하는 기법 8가지를 소개한다. 먼저 Address Sanitizer(ASan)와 Undefined Behavior Sanitizer(UBSan)를 활성화하되, ASan 옵션에서 detect_stack_use_after_return=1과 max_malloc_fill_size로 최대한 민감하게 설정해야 한다. 지속 모드(persistent mode)를 사용하면 일반 모드보다 10배 빠르게 퍼즈 테스팅이 가능하며, 표준 템플릿이 아닌 개선된 fuzztmpl.c를 사용하는 것이 좋다. 전체 요약 9문장 읽기 → 002 12:11 ▲ 114 · 댓글 106 Rust 개발자가 놀라는 C언어의 특이한 점들 Rust를 먼저 배운 프로그래머가 C를 배우면서 마주친 언어의 차이를 설명하는 글이다. 인프라 · 데브옵스 · C for Rust programmers
Key Point Rust 개발자가 C 코드를 작성하거나 C 기반 시스템 프로그래밍에 진입할 때 마주치는 구체적인 함정과 설계 선택 차이를 파악할 수 있다.
핵심 요약
Rust를 먼저 배운 프로그래머가 C를 배우면서 마주친 언어의 차이를 설명하는 글이다. C99 이전에는 불린 타입이 없었으며, C99에서 추가되었지만 true와 false는 매크로 정의일 뿐 C23에서야 진정한 원시 타입이 되었다. Rust의 &str는 주소 8바이트와 길이 8바이트로 총 16바이트인 반면, C는 모든 문자열을 널 종료 바이트(\0)로 끝낸다. 전체 요약 10문장 읽기 → 003 16:56 ▲ 147 · 댓글 66 고속 링커 mold, Rust로 완전 재작성해 3.0 출시 mold 3.0은 C++에서 Rust로 완전히 재작성한 첫 릴리스로, 2.42.1의 마지막 C++ 버전을 대체하며 같은 커맨드라인 옵션과 대상 아키텍처를 지원한다. 인프라 · 데브옵스 · Mold Linker Version 3.0.0 Release – Rewritten in Rust
Key Point C++ 기반의 고성능 링커가 Rust로 재작성되며 안전성과 호환성이 향상되었고, Linux 배포판의 기본 링커 채택을 목표로 하는 만큼 시스템 수준의 변화에 영향을 미칠 수 있다.
핵심 요약
mold 3.0은 C++에서 Rust로 완전히 재작성한 첫 릴리스로, 2.42.1의 마지막 C++ 버전을 대체하며 같은 커맨드라인 옵션과 대상 아키텍처를 지원한다. 링커 성능은 2.42.1과 동등하며, GNU ld와의 호환성을 강화하고 Linux 배포판의 기본 링커로 채택되는 것을 목표로 한다. Gentoo 패키지 빌드를 포함한 광범위한 호환성 검증을 거쳤으며 회귀(regression)는 발견되지 않았다. 전체 요약 13문장 읽기 → 004 21:11 ▲ 118 · 댓글 40 1+1 계산하다가 함수형 프로그래밍 언어를 만들었다 데이터 구조 과제에서 1+1+1을 이진 트리로 평가하는 것에서 출발했다. 오픈소스 · 도구 · Needed 1+1, built a functional programming language
Key Point 간단한 산술 과제에서 출발해 메모리 할당, 가비지 컬렉션, 클로저, 함수형 언어까지 스스로 구현해가는 과정에서 핵심 개념들을 실제로 이해하는 방법을 보여준다.
핵심 요약
데이터 구조 과제에서 1+1+1을 이진 트리로 평가하는 것에서 출발했다. 초기에는 Add, Sub, Mul, Div 등 연산을 모두 다른 경우로 표현했지만, 모두 두 식을 받아 하나를 반환하므로 일반화된 Func 노드로 단순화했다. 변수를 추가하려면 해시 테이블이 필요했는데, C에 내장 해시 테이블이 없어서 직접 구현했다. 전체 요약 12문장 읽기 → 005 00:11 당일 +229 아이폰에서 윈도우 게임 실행, Madeira 프로젝트 공개 비탈옥 아이폰에서 x86-64 윈도우 게임을 실행할 수 있는 Madeira 프로젝트가 GitHub에 공개됐다. 하드웨어 · 시스템 · willfaust/Madeira · C
Key Point 비탈옥 아이폰에서 기존에 불가능했던 윈도우 게임 실행을 가능하게 한 기술 구현으로, iOS 게임 개발자와 에뮬레이션 관심층에게 새로운 기술 기반을 제시한다.
핵심 요약
비탈옥 아이폰에서 x86-64 윈도우 게임을 실행할 수 있는 Madeira 프로젝트가 GitHub에 공개됐다. Wine(ARM64EC), FEX-Emu(x86-64 → ARM64 변환), DXMT(D3D11 → Metal 변환)를 조합해 iOS 상에서 Mach 프로세스로 동작한다. 현재 Thumper와 ULTRAKILL은 완전히 플레이 가능하며, Marvel Cosmic Invasion은 게임플레이까지 진행되지만 제어 신뢰성과 안정성 문제가 있다. 전체 요약 8문장 읽기 → 006 22:29 ▲ 115 · 댓글 47 KVM 게스트에서 NVIDIA GPU에 직접 접근하는 Virtio-nvgpu NVIDIA GPU에 KVM 게스트 내부에서 드라이버 수준으로 직접 접근하는 virtio-nvgpu 프로젝트로, 게스트 성능이 베어메탈의 98~100% 수준을 유지한다. 인프라 · 데브옵스 · Virtio-nvgpu: Near-native Nvidia GPU access inside a KVM guest
Key Point KVM 게스트 내 GPU 접근을 드라이버 수준에서 구현해 기존 방식(Venus)보다 VM 바운더리 크로싱을 ~100배 줄이면서도 베어메탈 성능의 98% 이상을 유지할 수 있는 기술적 가능성을 보여준다.
핵심 요약
NVIDIA GPU에 KVM 게스트 내부에서 드라이버 수준으로 직접 접근하는 virtio-nvgpu 프로젝트로, 게스트 성능이 베어메탈의 98~100% 수준을 유지한다. 기존 virtio-gpu + Venus는 Vulkan/OpenGL 호출을 프레임당 2,000회 이상 직렬화하여 1~3ms의 지연을 발생시키지만, virtio-nvgpu는 ioctl 수준에서만 포워딩하여 프레임당 5~20회 VM 바운더리 크로싱만 필요하다. 게스트가 NVIDIA의 실제 사용자 드라이버를 변경 없이 실행하고 로컬에서 GPU 커맨드 버퍼를 생성하므로, NVENC 인코딩과 CUDA 제로카피 상호운용이 가능하다. 전체 요약 13문장 읽기 → 007 18:10 ▲ 120 · 댓글 34 Jemalloc 5.4.0 릴리스, 160개 커밋으로 성능 개선 메모리 할당자 Jemalloc이 5.4.0 버전을 공개했으며, 160개 이상의 커밋을 포함한 대규모 업데이트다. 인프라 · 데브옵스 · Jemalloc 5.4.0
Key Point 메모리 할당 성능이 시스템 전체에 미치는 영향이 크므로, 주요 메모리 할당자의 구조적 개선과 호환성 강화를 파악해야 한다.
핵심 요약
메모리 할당자 Jemalloc이 5.4.0 버전을 공개했으며, 160개 이상의 커밋을 포함한 대규모 업데이트다. Pinned 메모리 추적, CPU 기반 아레나 선택 재개, 정적 컴파일 옵션 추가 등 새로운 기능을 제공한다. 7개의 레거시 tcache 제어 옵션을 제거하고 동적 정책으로 교체해 메모리 관리 방식을 개선했다. 전체 요약 6문장 읽기 → 008 00:10 ▲ 105 · 댓글 29 malloc() 알고리즘 비교 분석 멀티스레드 프로그램에서 메모리 할당/해제는 힙 경합으로 인해 병목이 되며, 스레드·프로세서 수 증가에 따라 오히려 성능이 저하된다. 인프라 · 데브옵스 · Comparison of Malloc() Algorithms
Key Point 멀티스레드 프로그램의 메모리 할당 성능을 크리티컬하게 좌우하는 malloc 알고리즘의 구조와 장단점을 체계적으로 비교하므로, 고성능 시스템 설계 시 올바른 할당자 선택이 필요하다.
핵심 요약
멀티스레드 프로그램에서 메모리 할당/해제는 힙 경합으로 인해 병목이 되며, 스레드·프로세서 수 증가에 따라 오히려 성능이 저하된다. malloc() 발전 과정은 단순 링크드리스트 방식에서 버킷힙, 크기별 분류, 아레나 풀(CPU·스레드별 메모리 풀)로 진화했다. 프론트엔드는 CLAB·TLAB·아레나 방식으로, 백엔드는 버디 알고리즘과 BIPOP 테이블로 메모리 조각화를 관리한다. 전체 요약 5문장 읽기 →