태그: #rust
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 51 편
Rust 문자열이 까다로운 이유, 그리고 한글에서 그 선택이 옳은 이유
Rust에서 문자열이 어렵다는 말은 대개 인덱싱이 안 된다는 뜻입니다. 그런데 한글을 다루면 그 제약이 방어 장치였다는 게 드러납니다. "커널 파라미터 튜닝"은 26바이트이고 10글자입니다. str::find가 돌려주는 7과 사람이 세는 4가 다른 이유, len()이 바이트인 이유, 그리고 실제 검색 도구에서 이 차이가 어떻게 버그가 되는지를 실행 결과와 테스트 코드로 확인합니다.
2026-08-19 · 14 분 읽기 #rust#string#utf-8#cjk#korean벤치마크가 거짓말하는 세 가지 방식 — Rust CLI를 실제로 재보고 진 이야기
Rust로 만든 검색 도구를 실제 코퍼스 11,483개 파일에 돌려 ripgrep, grep과 비교했습니다. 결과는 ripgrep이 약 10배 빨랐고 제 도구는 BSD grep과 비슷했습니다. 그런데 이 숫자에 도달하기까지 하니스 버그 세 개가 각각 그럴듯하지만 틀린 결과를 냈습니다. 셸 함수가 실제 도구를 가로챈 일, 프로세스 기준 타이머를 프로세스 간에 뺀 일, time의 출력을 스스로
2026-08-19 · 16 분 읽기 #rust#cli#benchmark#performance#ripgrep지금 주목받는 오픈소스 (5) 데이터와 ML 파이프라인
데이터 파이프라인은 스케줄러 하나로 해결되지 않습니다. 적재, 변환, 오케스트레이션, 실행 엔진, 모델 수명 주기, 검색 저장소가 각각 다른 도구의 영역이 되었습니다. 이 층들에서 실제로 쓰이는 오픈소스 11개를 스타 순위가 아니라 담당 구간별로 묶어 소개합니다. 무엇을 대체하는지, 성숙도가 어느 정도인지, 언제 쓰면 안 되는지를 함께 적었고, 저장소 경로와 라이선스, 스타 수, 최근 푸시는
2026-08-12 · 9 분 읽기 #open-source#data-engineering#mlops#python#rust지금 주목받는 오픈소스 (2) 빌드·에디터·CLI·터미널
패키지 설치, 린트, 번들링처럼 하루에 수십 번 반복되는 작업이 네이티브 언어로 다시 쓰이면서 대기 시간이 초 단위에서 밀리초 단위로 내려갔습니다. 빌드 도구, 에디터, 터미널, CLI 영역에서 실제로 자리를 잡은 오픈소스 12개를 스타 순위가 아니라 역할별로 묶어 소개합니다. 무엇을 대체하는지, 성숙도가 어느 정도인지, 언제 쓰면 안 되는지를 함께 적었고, 저장소 경로와 라이선스, 스타 수
2026-08-12 · 9 분 읽기 #open-source#developer-tools#cli#rust#performanceBun의 Zig to Rust 재작성 11일 — AI 대규모 마이그레이션에서 실제로 옮겨 갈 수 있는 것
Bun이 53만 5천 줄의 Zig 코드를 11일 만에 Rust로 옮긴 과정을 1차 소스로 따라갑니다. 2026년 5월 3일부터 14일까지, 최대 64개의 Claude 인스턴스와 약 50개의 워크플로, 6,502개의 커밋, API 정가 기준 약 16만 5천 달러가 들었습니다. 이 글이 관심 있는 것은 11일이라는 숫자가 아니라 그 숫자를 가능하게 한 조건입니다 — 언어에 독립적인 테스트 스위트
2026-07-31 · 23 분 읽기 #ai#bun#rust#migration#testingServo 임베딩은 crates.io에 올라왔고, Verso는 멈췄다 — 웹뷰 파편화 문제의 2026년 중간 점검
Tauri가 바이너리를 작게 유지하는 비결은 OS 웹뷰(WebKitGTK·WKWebView·WebView2)를 빌려 쓰는 것이고, 그 대가는 플랫폼마다 렌더링이 미묘하게 다른 웹뷰 파편화입니다. 이 문제의 탈출구로 주목받던 Servo 기반 웹뷰 Verso는 2025년 10월 GitHub 미러가 "더 이상 유지보수되지 않는다"는 공지와 함께 아카이브됐고, tauri-runtime-verso 실
2026-07-17 · 21 분 읽기 #desktop#tauri#servo#webview#rustRust 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#frontend러스트 표준 라이브러리 검증 캠페인이 찾아낸 메모리 안전성 버그는 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#testingFerrocene의 인증된 core — 컴파일러는 ASIL D인데 라이브러리는 왜 ASIL B에서 멈추나
"ASIL D 인증받은 Rust 컴파일러"라는 문장은 사실이지만, 거기서 흔히 유추하는 결론은 사실이 아닙니다. Ferrocene은 컴파일러를 ISO 26262 ASIL D / TCL 3 도구로 자격심사받았고, 이건 "이 도구를 쓰면서 ASIL D 소프트웨어를 개발해도 된다"는 뜻이지 "결과물이 ASIL D"라는 뜻이 아닙니다. 정작 당신 코드가 매 줄 호출하는 core 라이브러리는 별개의
2026-07-16 · 44 분 읽기 #embedded#rust#ferrocene#safety#systemspgrust: Postgres를 Rust로 다시 쓰고 회귀 테스트 100%를 통과했다 — 그게 정말 뜻하는 것
Malcolm Matis(malisper)가 Postgres를 Rust로 다시 쓴 pgrust를 공개했습니다. Postgres 18.3 호환을 목표로 4만6천 개가 넘는 회귀 테스트 쿼리를 통과하고, 실제 18.3 데이터 디렉터리에서 부팅됩니다. 이 글은 그 마일스톤이 왜 진짜로 인상적인지, 그리고 "회귀 테스트 100% 통과"가 무엇을 증명하고 무엇을 증명하지 않는지를 정직하게 뜯어봅니다.
2026-07-11 · 12 분 읽기 #postgresql#rust#pgrust#database#regression-testsRust 1.97.0이 나왔다 — 마침 그 cargo로 쿠버네티스 오퍼레이터를 빌드하던 참이었다
Rust 1.97.0이 2026년 7월 9일에 stable로 릴리스됐습니다. 이 글은 릴리스 노트에서 실제로 바뀐 세 가지 — v0 심볼 맹글링의 stable 승격, Cargo의 경고 거부(deny warnings), 그동안 숨어 있던 링커 출력의 기본 노출 — 을 정리하고, 며칠 전 바로 그 cargo 1.97로 쿠버네티스 GPU 오퍼레이터를 빌드했던 실측 경험과 겹쳐 봅니다. 정직한 결론
2026-07-11 · 8 분 읽기 #rust#rust-1.97#release-notes#cargo#kube-rsRust로 쿠버네티스 GPU 오퍼레이터 만들기 — kube-rs로 실제 클러스터를 진단하다
8노드 실운영 홈랩 클러스터(k8s v1.32.5)를 상대로, kube-rs를 써서 GPU 오퍼레이터를 Rust로 직접 만들어 돌렸습니다. GpuInventory 커스텀 리소스를 정의하고, 두 개의 컨트롤러(노드 스캔→CR 상태 기록, 노드 감시→ConfigMap 갱신)를 한 바이너리로 띄워 클러스터 밖에서 실행했습니다. 그리고 오퍼레이터가 실제로 뱉은 결과 — GPU 노드 4개 중 Read
2026-07-11 · 10 분 읽기 #rust#kubernetes#operator#gpu#kube-rsRust 소유권·빌림·라이프타임 완전정복
Rust가 가비지 컬렉터 없이 메모리 안전을 보장하는 핵심 세 가지 — 소유권, 빌림, 라이프타임을 처음부터 끝까지. 이동(move) 시맨틱, 빌림 검사기의 &mut XOR & 규칙, 라이프타임이 왜 필요한지, E0382·E0502 같은 대표 에러를 읽는 법, Copy와 Clone의 차이까지 예제 중심으로 정리합니다.
2026-07-03 · 24 분 읽기 #rust#ownership#systemsRust 열거형·패턴 매칭·에러 처리
Rust에는 null도 예외도 없습니다. 대신 Option과 Result라는 열거형과, 그것을 안전하게 해체하는 패턴 매칭이 있습니다. enum과 대수적 데이터 타입, 빠짐없는(exhaustive) match, if let·let else, ? 연산자로 에러 전파, 그리고 thiserror·anyhow로 실전 에러 타입을 설계하는 법까지 예제로 정리합니다.
2026-07-02 · 20 분 읽기 #rust#error-handling#pattern-matchingRust 트레잇과 제네릭, 트레잇 객체
트레잇은 Rust의 인터페이스이자 그 이상입니다. 트레잇과 인터페이스의 차이, 제네릭 경계(trait bound), 정적 디스패치와 dyn 트레잇 객체(동적 디스패치)의 트레이드오프, 연관 타입, 블랭킷 impl, 그리고 derive 매크로까지 — Rust의 추상화 도구를 예제 중심으로 정리합니다.
2026-07-01 · 20 분 읽기 #rust#traits#genericsRust 스마트 포인터: Box·Rc·Arc·RefCell와 내부 가변성
Rust의 소유권 규칙만으로는 표현하기 힘든 상황을 스마트 포인터가 풀어 줍니다. 힙에 값을 놓는 Box, 소유권을 공유하는 Rc와 스레드 안전한 Arc, 컴파일 타임 빌림 규칙을 런타임으로 옮기는 RefCell과 Mutex의 내부 가변성, Deref 강제 변환, 그리고 Rc가 만드는 순환 참조 누수를 Weak로 끊는 법까지 예제로 익힙니다.
2026-06-30 · 20 분 읽기 #rust#memory#systemsRust 비동기: async/await와 Tokio 런타임
Rust의 async는 다른 언어와 결이 다릅니다. Future는 게으른 상태 기계일 뿐이고, 폴링해 줄 실행기가 없으면 아무 일도 일어나지 않습니다. Future의 정체, .await의 의미, Tokio 런타임과 태스크/spawn, Send + 정적 수명 제약, 비동기 트레이트, select! 로 동시성 다루기, 그리고 블로킹과 비동기를 섞으면 안 되는 이유까지 정리합니다.
2026-06-29 · 20 분 읽기 #rust#async#tokioRust로 웹 API 만들기: Axum과 Actix
Rust로 웹 백엔드를 만드는 실전 안내입니다. Axum의 핸들러·추출기·라우팅·공유 상태, tower 미들웨어, serde로 JSON 다루기, sqlx로 데이터베이스 연동, 견고한 에러 처리, 그리고 대표 경쟁자인 Actix Web과의 비교까지 예제 중심으로 정리합니다.
2026-06-28 · 18 분 읽기 #rust#web#axum#backendRust로 CLI 만들기: clap과 ripgrep·fd·bat의 비결
지난 몇 년간 명령줄 도구들이 조용히 Rust로 다시 쓰였습니다. ripgrep, fd, bat, eza, zoxide, bacon. 왜 이런 르네상스가 일어났는지, 그리고 여러분이 직접 CLI를 만들 때 무엇이 필요한지 정리합니다. clap의 derive API로 인자와 서브커맨드를 선언하고, GC 없는 성능과 SIMD·mmap의 이점을 살피고, 단일 정적 바이너리로 배포하는 방법과 any
2026-06-27 · 16 분 읽기 #rust#cli#tools