태그: #systems
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 63 편
브라우저에서 시스템을 시뮬레이션하기 — WASM이 가능하게 한 것과 여전히 막는 것
2026년 7월 말 해커뉴스에 올라온 ccsim은 gVisor의 사용자 공간 TCP 스택 두 벌을 통째로 WebAssembly로 빌드해 브라우저 워커에서 돌립니다. v86은 x86 CPU를 WASM으로 JIT 컴파일해 윈도우 98을 부팅시키고, WebVM은 CheerpX 위에서 수정하지 않은 데비안을 띄웁니다. 이 글은 이런 브라우저 시뮬레이터들이 공유하는 패턴과 제약을 정리합니다. 원시 소
2026-07-31 · 28 분 읽기 #webassembly#wasm#simulation#browser#systemsWASI 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#systemsFerrocene의 인증된 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#systemsRust 소유권·빌림·라이프타임 완전정복
Rust가 가비지 컬렉터 없이 메모리 안전을 보장하는 핵심 세 가지 — 소유권, 빌림, 라이프타임을 처음부터 끝까지. 이동(move) 시맨틱, 빌림 검사기의 &mut XOR & 규칙, 라이프타임이 왜 필요한지, E0382·E0502 같은 대표 에러를 읽는 법, Copy와 Clone의 차이까지 예제 중심으로 정리합니다.
2026-07-03 · 24 분 읽기 #rust#ownership#systems결제 시스템 설계 입문: 결제 플로우·PG·카드망·정산
"결제 버튼을 누르면 무슨 일이 벌어지는가"를 엔지니어의 시선으로 풀어냅니다. 승인·매입·정산의 차이, 가맹점·PG/PSP·매입사·카드망·발급사라는 다섯 주체, 3-D Secure, 차지백, 대사(reconciliation), 멱등성, PCI-DSS까지. 돈이 오가는 시스템을 설계하기 전에 반드시 알아야 할 지도를 그립니다.
2026-07-03 · 27 분 읽기 #payments#fintech#systems동시성 vs 병렬성 — 다루기와 실제로 하기의 차이
Rob Pike의 유명한 구분 — 동시성은 여러 일을 "다루는" 것이고, 병렬성은 여러 일을 "동시에 하는" 것입니다. 스레드와 이벤트 루프, 경쟁 조건과 데이터 레이스, 뮤텍스와 데드락, 식사하는 철학자, 원자적 연산, 그리고 언제 async(I/O)가 이기고 언제 스레드(CPU)가 이기는지를 정리합니다.
2026-07-03 · 24 분 읽기 #concurrency#systems#fundamentalsRust 스마트 포인터: Box·Rc·Arc·RefCell와 내부 가변성
Rust의 소유권 규칙만으로는 표현하기 힘든 상황을 스마트 포인터가 풀어 줍니다. 힙에 값을 놓는 Box, 소유권을 공유하는 Rc와 스레드 안전한 Arc, 컴파일 타임 빌림 규칙을 런타임으로 옮기는 RefCell과 Mutex의 내부 가변성, Deref 강제 변환, 그리고 Rc가 만드는 순환 참조 누수를 Weak로 끊는 법까지 예제로 익힙니다.
2026-06-30 · 20 분 읽기 #rust#memory#systems레이트 리미팅 알고리즘 완전정복: 고정 윈도우·슬라이딩 윈도우·토큰 버킷·리키 버킷
고정 윈도우, 슬라이딩 윈도우 로그와 카운터, 토큰 버킷, 리키 버킷까지 대표적인 레이트 리미팅 알고리즘을 하나씩 대조합니다. 버스트를 어떻게 다룰지, Redis로 분산 환경에서 어떻게 구현할지, 그리고 429와 Retry-After, 클라이언트의 백오프 예절까지 정리합니다.
2026-06-25 · 21 분 읽기 #systems#api#reliability스택 vs 힙: 메모리의 진실
스택과 힙은 그냥 "메모리의 두 영역"이 아닙니다. 프레임과 LIFO로 움직이는 빠르고 고정된 스택, malloc과 GC가 다스리는 동적인 힙, 그 사이를 잇는 포인터와 참조, 스택 오버플로와 OOM, 값·참조 의미론, 재귀 깊이, 그리고 소유권·GC·수동 관리까지. 프로그램이 실제로 메모리를 어떻게 쓰는지 밑바닥부터 파헤칩니다.
2026-06-24 · 29 분 읽기 #systems#memory#fundamentals캐시 무효화 완전정복
"컴퓨터 과학에서 어려운 두 가지: 캐시 무효화와 이름 짓기." 캐시가 왜 그렇게 어려운지, TTL·write-through·write-behind·cache-aside 같은 전략, 캐시 스탬피드(도그파일)와 그 완화(잠금·지터·stale-while-revalidate), 이벤트 기반과 버전 키를 이용한 무효화, 그리고 CPU에서 브라우저까지 이어지는 캐시 계층을 정리합니다.
2026-06-19 · 29 분 읽기 #performance#caching#systems메커니컬 심퍼시: 하드웨어를 이해하는 코드
같은 시간 복잡도의 코드가 실제로는 수십 배 차이 나는 이유는 하드웨어에 있습니다. CPU 캐시(L1/L2/L3)와 캐시 라인, 배열과 링크드 리스트의 데이터 지역성, 분기 예측, 거짓 공유, 메모리 계층의 지연 시간, 그리고 왜 배열의 구조(SoA)가 중요한지까지. 하드웨어에 우호적인 코드를 쓰는 메커니컬 심퍼시의 세계로 들어갑니다.
2026-06-18 · 31 분 읽기 #performance#systems#cpu콘텐츠 주소 지정 저장소: 같은 아이디어, 어디에나
데이터를 위치가 아니라 그 내용의 해시로 주소 지정한다는 하나의 아이디어가, Git 객체·Docker 레이어·IPFS·Nix 스토어·비트토렌트에 똑같이 흐르고 있습니다. 이 발상이 어떻게 중복 제거·무결성·캐싱을 공짜로 주는지, 불변성이 왜 따라오는지, 그리고 머클 트리와 DAG가 이를 어떻게 확장하는지 실무 관점에서 정리합니다.
2026-06-10 · 26 분 읽기 #systems#storage#hashing브라우저 밖의 WebAssembly
WebAssembly는 브라우저에서 태어났지만, 진짜 야심은 그 밖에 있습니다. WASI라는 POSIX 비슷한 시스템 인터페이스, 엣지·서버리스(Fastly, Cloudflare Workers), Envoy·Figma·데이터베이스의 플러그인 시스템, 그리고 컴포넌트 모델까지. 근접 네이티브·샌드박스·이식성이라는 세 성질이 왜 WASM을 범용 런타임으로 만드는지 실무 관점에서 정리합니다.
2026-06-09 · 26 분 읽기 #webassembly#wasm#systemsSQLite Internals Deep Dive — B-tree, WAL, VFS, Virtual Table, Query Planner 완전 정복 (2025)
전 세계에서 가장 많이 배포된 소프트웨어이자 1조 개 이상의 데이터베이스로 활동 중인 SQLite. 이 글은 SQLite의 내부를 처음부터 해부합니다. D. Richard Hipp의 2000년 설계부터 현재까지의 진화, B-tree 기반 페이지 저장, Rollback Journal과 WAL 모드의 차이, Pager와 Page Cache, VFS(Virtual Filesystem) 추상화, V
2026-04-15 · 40 분 읽기 #sqlite#database#btree#wal#embeddedObservability 완벽 가이드 — Metrics, Logs, Traces, Profiling: Prometheus, OpenTelemetry, Jaeger, Loki, Grafana 모든 것 (2025)
Observability의 모든 것 — Monitoring과 Observability의 차이, 네 가지 기둥(Metrics, Logs, Traces, Profiling), Prometheus의 시계열 DB와 PromQL, OpenTelemetry의 통합 데이터 모델, Jaeger의 span/trace 모델, Loki의 label 인덱싱, Grafana 대시보드, SRE의 SLI/SLO/SLA
2026-04-15 · 43 분 읽기 #observability#monitoring#prometheus#opentelemetry#jaegerNix Package Manager Deep Dive — 재현 가능한 빌드, Derivation, Flakes, NixOS 완전 정복 (2025)
"works on my machine"을 OS 수준에서 해결하는 도구, Nix. 이 글은 Nix를 처음부터 해부합니다. Eelco Dolstra의 2003년 박사 논문에서 시작된 아이디어, "빌드는 순수 함수"라는 핵심 통찰, 콘텐트 주소 기반 /nix/store, Derivation과 .drv 파일, Nix 언어, 샌드박스 빌드, 바이너리 캐시, nixpkgs(세계 최대 패키지 저장소),
2026-04-15 · 38 분 읽기 #nix#nixos#reproducible-builds#package-manager#devopsHTTP/3와 QUIC 내부 완전 해부 — 0-RTT, Stream Multiplexing, Connection Migration, BBR, WebTransport까지
HTTP/2의 HOL blocking을 풀려 커널을 떠나 UDP로 내려간 QUIC의 여정. 0-RTT 핸드셰이크, 스트림 멀티플렉싱, 와이파이↔LTE 연결 마이그레이션, BBR 혼잡 제어, WebTransport, 그리고 HTTP/3 실측 채택률까지.
2026-04-15 · 17 분 읽기 #http3#quic#networking#tls#performanceGit Internals Deep Dive — Object Model, Packfile, Merge 알고리즘, Reflog, 프로토콜 완전 정복 (2025)
매일 사용하지만 대부분 개발자가 블랙박스로 여기는 도구, Git. 이 글은 Git의 내부를 처음부터 해부합니다. Content-addressable 파일시스템으로서의 본질, blob/tree/commit/tag 객체 모델, SHA-1 해시 체인, 느슨한 객체(loose object)와 packfile, 델타 압축, refs와 packed-refs, index(스테이징 에어리어), ort 알고
2026-04-15 · 37 분 읽기 #git#version-control#object-model#packfile#mergeWebAssembly Deep Dive — Wasm VM, Wasmtime, WASI, Component Model, Edge Computing 완전 정복 (2025)
WebAssembly는 브라우저의 숙주에서 탈출해 서버, 엣지, 플러그인 시스템의 핵심 런타임이 되었습니다. 이 글은 Wasm의 내부부터 실무까지 해부합니다. 스택 기반 VM과 선형 메모리, 검증기, JIT(Cranelift/TurboFan), WASI로의 확장, Component Model과 WIT 인터페이스, Wasmtime/Wasmer/V8/WasmEdge 구현 비교, Fastly Co
2026-04-15 · 42 분 읽기 #webassembly#wasmtime#wasi#component-model#runtimeWebAssembly와 WASI 완전 해부 — 바이트코드, Sandbox, Component Model, Wasmtime, 엣지 런타임까지
브라우저에서 C++을 돌리는 낭만이 어떻게 백엔드를 바꿨는가. asm.js 기원부터 Wasm 바이트코드, Capability 기반 Sandbox, WASI, Component Model, Wasmtime/Wasmer/WasmEdge 런타임 비교, Cloudflare Workers의 엣지 전략까지.
2026-04-15 · 23 분 읽기 #webassembly#wasi#cloudflare-workers#wasmtime#systems