Skip to content

Systems

  • Published on
    CDN์˜ ๋ชจ๋“  ๊ฒƒ โ€” 1998๋…„ Akamai์—์„œ ์‹œ์ž‘๋œ edge caching์˜ ์—ญ์‚ฌ, Anycast + DNS + GSLB์˜ ๋ผ์šฐํŒ… ์‚ผ์œ„์ผ์ฒด, PoP๊ณผ edge ์„œ๋ฒ„์˜ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ, Cache Key ์„ค๊ณ„์™€ Vary ํ—ค๋”์˜ ํ•จ์ •, HTTP ์บ์‹ฑ ํ—ค๋”(Cache-Control, ETag, If-None-Match, stale-while-revalidate), Origin Shield์™€ Tiered Caching์œผ๋กœ origin ๋ณดํ˜ธํ•˜๊ธฐ, ์‹ค์‹œ๊ฐ„ purge ๋ฉ”์ปค๋‹ˆ์ฆ˜, Edge Compute(Cloudflare Workers, Fastly Compute@Edge, Lambda@Edge), Image ์ตœ์ ํ™”์™€ AVIF/WebP, ๋Œ€์—ญํญ ๋น„์šฉ ๊ฒฝ์ œํ•™, DDoS ํก์ˆ˜์™€ Bot ๊ด€๋ฆฌ, HTTP/3 at edge๊นŒ์ง€ 1,500์ค„๋กœ ์ •๋ฆฌํ•œ edge ์ธํ”„๋ผ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    Cloudflare, Uber, Bloomberg, Yandex๊ฐ€ ๋งค์ผ ์ˆ˜์‹ญ์กฐ ํ–‰์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ„์„ ์—”์ง„, ClickHouse. ์ด ๊ธ€์€ ClickHouse์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์ปฌ๋Ÿผ๋‚˜ vs ๋กœ์šฐ ๊ธฐ๋ฐ˜์˜ ๊ทผ๋ณธ ์ฐจ์ด, MergeTree ์—”์ง„ ํŒจ๋ฐ€๋ฆฌ(Replacing/Summing/Aggregating/Collapsing), Part์™€ Mutation, Sparse Primary Index์™€ Data Skipping Index, ๋ฒกํ„ฐํ™” ์‹คํ–‰๊ณผ SIMD, ์••์ถ• ์ฝ”๋ฑ(LZ4/ZSTD/Delta/Gorilla), Materialized View, ๋ถ„์‚ฐ ์ฟผ๋ฆฌ์™€ ์ƒค๋”ฉ/๋ณต์ œ, Keeper(ZooKeeper ๋Œ€์ฒด), Projections, ๊ทธ๋ฆฌ๊ณ  DuckDB/Druid/Pinot์™€์˜ ๋น„๊ต๊นŒ์ง€ โ€” ํ˜„๋Œ€ OLAP ์—”์ง„์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ClickHouse MergeTree์˜ ๋ชจ๋“  ๊ฒƒ โ€” Columnar ์ €์žฅ์˜ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ, Part์™€ Granule๊ณผ Sparse Primary Index, ORDER BY๊ฐ€ ์™œ ์ค‘์š”ํ•œ๊ฐ€, Projection๊ณผ Skip Index, Materialized View๋กœ ์‹ค์‹œ๊ฐ„ ์ง‘๊ณ„, ReplacingMergeTree/SummingMergeTree/AggregatingMergeTree ๋ณ€ํ˜•, Distributed Table๊ณผ Sharding, ReplicatedMergeTree์™€ Keeper(ZooKeeper ๋Œ€์ฒด), Vectorized Execution Engine, PostgreSQL/Snowflake/BigQuery์™€์˜ ์ฐจ์ด๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌํ•œ OLAP ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    ์ปจํ…Œ์ด๋„ˆ์˜ ๋ชจ๋“  ๊ฒƒ โ€” 1979๋…„ chroot์—์„œ ์‹œ์ž‘ํ•ด FreeBSD jails, Solaris zones, Google cgroups(2006), LXC, Docker(2013), OCI ํ‘œ์ค€ํ™”๊นŒ์ง€์˜ ์—ญ์‚ฌ. 8๊ฐ€์ง€ Linux namespaces, cgroups v1๊ณผ v2, OCI Runtime Specification, runc์™€ containerd ์Šคํƒ, OCI ์ด๋ฏธ์ง€ layer ๋ชจ๋ธ, overlayfs CoW, capabilities/seccomp/AppArmor ๋ณด์•ˆ ๊ณ„์ธต, rootless ์ปจํ…Œ์ด๋„ˆ, Kubernetes ํ†ตํ•ฉ๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌํ•œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€ ๊ตฌ์กฐ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    Python์˜ "๋А๋ฆผ"์€ ์‚ฌ์‹ค์ด์ง€๋งŒ ์™œ ๋А๋ฆฐ์ง€, ์–ด๋–ป๊ฒŒ ๋นจ๋ผ์ง€๊ณ  ์žˆ๋Š”์ง€๋Š” ๋Œ€๋ถ€๋ถ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ์ด ๊ธ€์€ CPython์˜ ์‹ฌ์žฅ์ธ ceval.c ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค โ†’ AST โ†’ ๋ฐ”์ดํŠธ์ฝ”๋“œ ์ปดํŒŒ์ผ, Code/Frame/Cell ๊ฐ์ฒด, ๊ฑฐ๋Œ€ํ•œ dispatch ๋ฃจํ”„, Computed GOTO์™€ Switch, Python 3.11+์˜ specializing adaptive ์ธํ„ฐํ”„๋ฆฌํ„ฐ(PEP 659)์™€ inline cache, Python 3.13์˜ free-threaded(PEP 703)๊ณผ copy-and-patch JIT(PEP 744), dis ๋ชจ๋“ˆ๋กœ ๋ฐ”์ดํŠธ์ฝ”๋“œ ํƒํ—˜, CPython์˜ ์—ญ์‚ฌ์  ์„ค๊ณ„ ๊ฒฐ์ •๊ณผ ๋ฏธ๋ž˜ ๋ฐฉํ–ฅ โ€” Python์ด ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ChatGPT, Stable Diffusion, Sora๋ฅผ ๋Œ๋ฆฌ๋Š” ์—”์ง„, NVIDIA GPU์™€ CUDA. ์ด ๊ธ€์€ CUDA ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. GPU ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜(SM, Warp, CUDA Core), SIMT vs SIMD, ์Šค๋ ˆ๋“œ ๊ณ„์ธต(Grid/Block/Thread), ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต(Global/Shared/Constant/Register), Memory Coalescing์ด ์™œ ์ตœ์šฐ์„  ์ตœ์ ํ™”์ธ์ง€, Warp Divergence, Shared Memory Bank Conflict, Tensor Core๊ฐ€ 2017๋…„ GPU๋ฅผ AI ๊ฐ€์†๊ธฐ๋กœ ๋งŒ๋“  ์ด์œ , Stream๊ณผ CUDA Graph, ๋ฉ€ํ‹ฐ GPU(NCCL, P2P), Triton๊ณผ cutlass๋กœ์˜ ์ถ”์ƒํ™”, ๊ทธ๋ฆฌ๊ณ  CUDA vs ROCm/SYCL/Metal ๋น„๊ต๊นŒ์ง€ โ€” AI ์ธํ”„๋ผ์˜ ๊ธฐ๋ฐ˜์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ์ธํ„ฐ๋„ท์—์„œ ๋งค์ผ ์ˆ˜์กฐ ๋ฒˆ ์‹คํ–‰๋˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ํ”ผ์ƒ์ ์œผ๋กœ๋งŒ ์ดํ•ดํ•˜๋Š” ์‹œ์Šคํ…œ, DNS. ์ด ๊ธ€์€ DNS๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์ธต์  ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ ์žฌ๊ท€/๋ฐ˜๋ณต ์กฐํšŒ, ์บ์‹ฑ๊ณผ TTL, Record ํƒ€์ž…(A/AAAA/CNAME/MX/SRV/TXT), DNSSEC์˜ ์‹ ๋ขฐ ์ฒด์ธ, DNS over HTTPS/TLS๋กœ์˜ ์•”ํ˜ธํ™” ์ „ํ™˜, Anycast๋กœ ๋ถ„์‚ฐ๋œ 13๊ฐœ root server, Cloudflare 1.1.1.1๊ณผ Google 8.8.8.8 ๋‚ด๋ถ€ ์•„ํ‚คํ…์ฒ˜, CoreDNS/Unbound/Knot ๊ตฌํ˜„ ๋น„๊ต, ๊ทธ๋ฆฌ๊ณ  DNS ๊ธฐ๋ฐ˜ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ DDoS ๋ฐฉ์–ด๊นŒ์ง€ โ€” ์ธํ„ฐ๋„ท์˜ ๊ทผ๊ฐ„์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    DNS์˜ ๋ชจ๋“  ๊ฒƒ โ€” hosts.txt์—์„œ ์‹œ์ž‘๋œ ์ด๋ฆ„ ์‹œ์Šคํ…œ์˜ ์—ญ์‚ฌ, ์ฟผ๋ฆฌ ํ๋ฆ„(stub โ†’ recursive โ†’ root โ†’ TLD โ†’ authoritative), ๋ ˆ์ฝ”๋“œ ํƒ€์ž…(A/AAAA/CNAME/MX/TXT/NS/SOA/SRV/CAA/HTTPS/SVCB), EDNS0์™€ ํŒจํ‚ท ํ•œ๊ณ„, DNSSEC์˜ chain of trust์™€ RRSIG/DNSKEY/DS/NSEC3, DoH/DoT/DoQ ์•”ํ˜ธํ™” DNS, Anycast๋กœ CDN์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹, DNS ์บ์‹ฑ๊ณผ TTL์˜ ํ˜„์‹ค, CoreDNS์™€ Kubernetes service discovery, DNS amplification ๊ณต๊ฒฉ, ์šด์˜ ์•ˆํ‹ฐํŒจํ„ด๊ณผ "It's always DNS" ๊ฒฉ์–ธ์˜ ์ง„์‹ค๊นŒ์ง€ 1,500์ค„๋กœ ์ •๋ฆฌํ•œ DNS ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    "์žฅ์• ์˜ ์ ˆ๋ฐ˜์€ DNS"๋ผ๋Š” ๋†๋‹ด์˜ ์‹ค์ฒด. nslookup ํ•œ ๋ฒˆ์ด ์–ด๋–ป๊ฒŒ 13๊ฐœ ๋ฃจํŠธ ์„œ๋ฒ„๋ถ€ํ„ฐ ๊ถŒํ•œ ์„œ๋ฒ„๋ฅผ ๊ฑฐ์น˜๋Š”์ง€, Kubernetes์˜ ndots=5 ํ•จ์ •, 1.1.1.1๊ณผ 8.8.8.8์˜ ์ฐจ์ด, DoH์˜ ํ”„๋ผ์ด๋ฒ„์‹œ ๋น„์šฉ๊นŒ์ง€ ํ•œ ๋ฒˆ์—.
  • Published on
    Pandas๋ฅผ ๋Œ€์ฒดํ•˜๊ณ  ClickHouse๋ฅผ ์ž„๋ฒ ๋””๋“œ๋กœ ๊ฐ€์ ธ์˜จ ๋ถ„์„ ์—”์ง„, DuckDB. ์ด ๊ธ€์€ DuckDB์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Mark Raasveldt์™€ Hannes Mรผhleisen์˜ 2018๋…„ CWI ํ”„๋กœ์ ํŠธ๋ถ€ํ„ฐ 2024๋…„ 1.0 ๋ฆด๋ฆฌ์Šค๊นŒ์ง€์˜ ์—ฌ์ •, ๋‹จ์ผ ํŒŒ์ผ ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค ์„ค๊ณ„, ์ปฌ๋Ÿผ๋‚˜ ์ €์žฅ + Vector(1024 ํ–‰ chunk), HyPer ์Šคํƒ€์ผ Morsel-Driven ๋ณ‘๋ ฌ ์‹คํ–‰, ์ฟผ๋ฆฌ ์ตœ์ ํ™”๊ธฐ์™€ cost-based join order, DuckDB Storage Format๊ณผ compression, Python/R/WASM/Node ๋ฐ”์ธ๋”ฉ, Parquet/Arrow ๋„ค์ดํ‹ฐ๋ธŒ ํ†ตํ•ฉ, Polars์™€์˜ ๊ด€๊ณ„, Pandas ๋Œ€์ฒด ์›Œํฌํ”Œ๋กœ์šฐ, ๊ทธ๋ฆฌ๊ณ  MotherDuck ํด๋ผ์šฐ๋“œ ํ™•์žฅ๊นŒ์ง€ โ€” ์ž„๋ฒ ๋””๋“œ OLAP ์—”์ง„์˜ ๊ฒฐ์ •ํŒ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ์ปค๋„์— ์•ˆ์ „ํ•˜๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ฃผ์ž…ํ•œ๋‹ค โ€” ๊ทธ๊ฒƒ์ด eBPF์˜ ํ˜๋ช…์ด๋‹ค. ์ด ๊ธ€์€ eBPF์˜ ๋‚ด๋ถ€๋ถ€ํ„ฐ ์‹ค์ „๊นŒ์ง€ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ๋จธ์‹ ๊ณผ ๋ฐ”์ดํŠธ์ฝ”๋“œ ๊ตฌ์กฐ, ํ”„๋กœ๊ทธ๋žจ์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” Verifier, ๋งต(Hash/Array/Ring Buffer/Perf), ํ”„๋กœ๊ทธ๋žจ ํƒ€์ž…(kprobe/tracepoint/XDP/TC/LSM), BTF์™€ CO-RE, XDP ๊ณ ์„ฑ๋Šฅ ํŒจํ‚ท ์ฒ˜๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  Cilium/Falco/Pixie๊ฐ€ ์ด๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ํ™œ์šฉํ•˜๋Š”์ง€ โ€” ๊ด€์ธก์„ฑ, ๋ณด์•ˆ, ๋„คํŠธ์›Œํ‚น์„ ์žฌ์ •์˜ํ•œ ๊ธฐ์ˆ ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    eBPF์˜ ๋ชจ๋“  ๊ฒƒ โ€” 1992๋…„ cBPF์—์„œ 2014๋…„ eBPF, ๊ทธ๋ฆฌ๊ณ  2024๋…„ sched_ext๊นŒ์ง€์˜ ์—ญ์‚ฌ. 11๊ฐœ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ€์ƒ ๋จธ์‹  ISA, Verifier์˜ ์ •์  ๋ถ„์„, JIT ์ปดํŒŒ์ผ, BTF์™€ CO-RE, 17์ข… ์ด์ƒ์˜ BPF Map, 200๊ฐœ ๋„˜๋Š” ํ—ฌํผ ํ•จ์ˆ˜, kprobe/uprobe/tracepoint/XDP/tc/LSM/cgroup/sched_ext ์–ดํƒœ์น˜ ํฌ์ธํŠธ, libbpf vs BCC vs bpftrace, CiliumยทTetragonยทFalcoยทbpftune ์‹ค์ œ ์‚ฌ๋ก€๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌ.
  • Published on
    ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ๊ฒƒ โ€” 1959๋…„ John McCarthy์˜ mark-and-sweep์—์„œ 2025๋…„์˜ ZGC์™€ Shenandoah๊นŒ์ง€. Mark-Sweep, Mark-Compact, Cheney์˜ copying GC, reference counting, generational hypothesis, write barrier, tri-color invariant, JVM์˜ G1/ZGC/Shenandoah ๋‚ด๋ถ€, Go์˜ ๋™์‹œ GC, V8์˜ Scavenger์™€ Orinoco, .NET GC, Python์˜ cycle collector, ์ •๋ฐ€ vs ๋ณด์ˆ˜์  GC, ๊ทธ๋ฆฌ๊ณ  GC ํŠœ๋‹๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌ.
  • Published on
    ๋งค์ผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ธ”๋ž™๋ฐ•์Šค๋กœ ์—ฌ๊ธฐ๋Š” ๋„๊ตฌ, Git. ์ด ๊ธ€์€ Git์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Content-addressable ํŒŒ์ผ์‹œ์Šคํ…œ์œผ๋กœ์„œ์˜ ๋ณธ์งˆ, blob/tree/commit/tag ๊ฐ์ฒด ๋ชจ๋ธ, SHA-1 ํ•ด์‹œ ์ฒด์ธ, ๋А์Šจํ•œ ๊ฐ์ฒด(loose object)์™€ packfile, ๋ธํƒ€ ์••์ถ•, refs์™€ packed-refs, index(์Šคํ…Œ์ด์ง• ์—์–ด๋ฆฌ์–ด), ort ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๊ต์ฒด๋œ merge ๋‚ด๋ถ€, rebase ๋ฉ”์นด๋‹‰, reflog, ์˜ค๋ธŒ์ ํŠธ GC, ๋ถ€๋ถ„ ํด๋ก ๊ณผ sparse checkout, ๊ทธ๋ฆฌ๊ณ  push/fetch ํ”„๋กœํ† ์ฝœ๊นŒ์ง€ โ€” Git์„ ๋งˆ๋ฒ•์ด ์•„๋‹Œ ์—”์ง€๋‹ˆ์–ด๋ง์œผ๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    Go์˜ ๊ฐ€๋ฒผ์šด ๊ณ ๋ฃจํ‹ด์ด ์–ด๋–ป๊ฒŒ ์ˆ˜์‹ญ๋งŒ ๊ฐœ์”ฉ ๋™์ž‘ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ–ˆ๋‹ค๋ฉด, ์ด ๊ธ€์€ Go ๋Ÿฐํƒ€์ž„ ๋‚ด๋ถ€๋ฅผ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. GMP ์Šค์ผ€์ค„๋Ÿฌ ๊ตฌ์กฐ, Local Run Queue์™€ Work-Stealing, ๊ณ ๋ฃจํ‹ด ์Šคํƒ์˜ ๋™์  ์ฆ๊ฐ€(Copy-on-Grow), cooperative์—์„œ asynchronous๋กœ ์ง„ํ™”ํ•œ Preemption, netpoller์™€ syscall handoff, GC์™€ ์Šค์ผ€์ค„๋Ÿฌ์˜ ์ƒํ˜ธ์ž‘์šฉ, ๊ทธ๋ฆฌ๊ณ  ์‹ค๋ฌด์—์„œ GOMAXPROCS ํŠœ๋‹๊ณผ ์Šค์ผ€์ค„๋Ÿฌ ํŠธ๋ ˆ์ด์Šค๋กœ ๋ณ‘๋ชฉ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•๊นŒ์ง€ โ€” Go์˜ ๋™์‹œ์„ฑ ๋ชจ๋ธ์„ ๋‚ด๋ถ€๋ถ€ํ„ฐ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ๋ชจ๋“  ์–ธ์–ด์™€ ์‹œ์Šคํ…œ์— ๋“ค์–ด์žˆ๋Š” ๊ธฐ๋ณธ ์ž๋ฃŒ๊ตฌ์กฐ์ง€๋งŒ ํ˜„๋Œ€ ๊ตฌํ˜„์˜ ๋‚ด๋ถ€๋Š” ์ž˜ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ํ•ด์‹œ๋งต. ์ด ๊ธ€์€ ํ•ด์‹œ๋งต์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์ฒด์ด๋‹ vs ๊ฐœ๋ฐฉ ์ฃผ์†Œ๋ฒ•, Linear/Quadratic/Double probing, Robin Hood์˜ ๋ถ„์‚ฐ ๊ฐ์†Œ ์ „๋žต, Hopscotch์™€ Cuckoo, Google Swiss Table์ด SIMD๋กœ 16๊ฐœ ์Šฌ๋กฏ์„ ํ•œ ๋ฒˆ์— ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•, Facebook F14, Rust hashbrown, Python dict์˜ perturbation, Java HashMap์˜ tree ์ „ํ™˜, ํ•ด์‹œ ํ•จ์ˆ˜ ์„ ํƒ(SipHash vs xxHash vs FNV), hash flooding DDoS, ๊ทธ๋ฆฌ๊ณ  ๋ฒค์น˜๋งˆํฌ์™€ ์‹ค๋ฌด ํŠœ๋‹๊นŒ์ง€ โ€” ํ˜„๋Œ€ ํ•ด์‹œ๋งต์˜ ์„ฑ๋Šฅ ๋น„๊ฒฐ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    HTTP/2์˜ HOL blocking์„ ํ’€๋ ค ์ปค๋„์„ ๋– ๋‚˜ UDP๋กœ ๋‚ด๋ ค๊ฐ„ QUIC์˜ ์—ฌ์ •. 0-RTT ํ•ธ๋“œ์…ฐ์ดํฌ, ์ŠคํŠธ๋ฆผ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ, ์™€์ดํŒŒ์ดโ†”LTE ์—ฐ๊ฒฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, BBR ํ˜ผ์žก ์ œ์–ด, WebTransport, ๊ทธ๋ฆฌ๊ณ  HTTP/3 ์‹ค์ธก ์ฑ„ํƒ๋ฅ ๊นŒ์ง€.
  • Published on
    ํด๋ผ์šฐ๋“œ, ์ปจํ…Œ์ด๋„ˆ, ์„œ๋ฒ„๋ฆฌ์Šค์˜ ๊ทผ๊ฐ„์ด์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ธ”๋ž™๋ฐ•์Šค๋กœ ์—ฌ๊ธฐ๋Š” ํ•˜์ดํผ๋ฐ”์ด์ € ๊ธฐ์ˆ . ์ด ๊ธ€์€ ๊ฐ€์ƒํ™”๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. 1967๋…„ IBM CP-40๋ถ€ํ„ฐ VMware, Xen, KVM๊นŒ์ง€์˜ ์—ญ์‚ฌ, Type 1 vs Type 2, ์ „์ฒด ๊ฐ€์ƒํ™” vs ํŒŒ๋ผ๋ฒ„์ธ„์–ผํ™”, x86 virtualization์˜ ๋‚œ์ œ(ring 0)์™€ Intel VT-x / AMD-V๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€, VMEntry/VMExit, ์ค‘์ฒฉ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(EPT/NPT), KVM์ด Linux ์ปค๋„์„ ํ•˜์ดํผ๋ฐ”์ด์ €๋กœ ๋งŒ๋“  ๋ฐฉ๋ฒ•, QEMU์˜ device emulation, VirtIO paravirtualized ์žฅ์น˜, Xen์˜ Dom0/DomU ๊ตฌ์กฐ, AWS Firecracker๊ฐ€ 125ms boot์„ ๋‹ฌ์„ฑํ•œ ๋ฐฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ์ปจํ…Œ์ด๋„ˆ/gVisor์™€์˜ ๋น„๊ต๊นŒ์ง€ โ€” ํ˜„๋Œ€ ํด๋ผ์šฐ๋“œ์˜ ๊ทผ๊ฐ„์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    io_uring์˜ ๋ชจ๋“  ๊ฒƒ โ€” Jens Axboe๊ฐ€ 2019๋…„ Linux 5.1์— ๋„์ž…ํ•œ ์ฐจ์„ธ๋Œ€ ๋น„๋™๊ธฐ I/O ์ธํ„ฐํŽ˜์ด์Šค์˜ SQ/CQ ๋ง ๋ฒ„ํผ ๊ตฌ์กฐ, mmap ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ, SQPOLL ์ปค๋„ ์Šค๋ ˆ๋“œ, ๋ฉ€ํ‹ฐ์ƒท ์—ฐ์‚ฐ, ๋“ฑ๋ก ๋ฒ„ํผ/ํŒŒ์ผ, NVMe passthrough, Rust tokio-uring/monoio ์ƒํƒœ๊ณ„๊นŒ์ง€ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค. epoll ํ•œ๊ณ„, AIO ์‹คํŒจ ์—ญ์‚ฌ, ๋ณด์•ˆ CVE, ์‹ค์ „ ๋ฒค์น˜๋งˆํฌ, ScyllaDBยทRocksDB ์ ์šฉ ์‚ฌ๋ก€ ํฌํ•จ.
  • Published on
    Kafka๋ฅผ ์“ฐ๋Š” ๊ณณ์€ ๋งŽ์ง€๋งŒ ๋‚ด๋ถ€๋ฅผ ์•„๋Š” ์‚ฌ๋žŒ์€ ๋“œ๋ฌผ๋‹ค. ํŒŒํ‹ฐ์…˜๊ณผ Leader/ISR, Log Segment์˜ ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ, Exactly-Once Semantics์˜ ์ง„์‹ค, Transactional Outbox, Event Sourcing vs CDC, Schema Registry, 100ms SLA ๋‹ฌ์„ฑ๋ฒ•๊นŒ์ง€.
  • Published on
    Kubernetes ๋‚ด๋ถ€ ๊ตฌ์กฐ์˜ ๋ชจ๋“  ๊ฒƒ โ€” Google Borg์—์„œ ์‹œ์ž‘ํ•œ ์—ญ์‚ฌ, etcd์˜ Raft consensus, API Server์˜ REST์™€ watch ํ”„๋กœํ† ์ฝœ, scheduler์˜ filter/score ์•Œ๊ณ ๋ฆฌ์ฆ˜, controller manager์˜ reconciliation loop, kubelet์˜ Pod lifecycle, CRI/CNI/CSI ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ชจ๋ธ, kube-proxy์˜ service ๊ตฌํ˜„, RBAC๊ณผ NetworkPolicy ๋ณด์•ˆ ๋ชจ๋ธ, sidecar-less์™€ eBPF ๊ธฐ๋ฐ˜ ๋ชจ๋˜ ํŒจํ„ด๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌํ•œ ํด๋Ÿฌ์Šคํ„ฐ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    kubectl apply ํ•œ ์ค„์ด ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”๊ฐ€. API Server โ†’ etcd Raft ํ•ฉ์˜ โ†’ ์Šค์ผ€์ค„๋Ÿฌ ์ ์ˆ˜ ๊ณ„์‚ฐ โ†’ kubelet โ†’ CRI/CNI/CSI๊นŒ์ง€, Kubernetes์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ๊ณผ ๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ์„ ๋ฐ”๋‹ฅ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค.
  • Published on
    VS Code, Vim, Neovim, Emacs, JetBrains, GitHub Copilot, Cursor โ€” ๋ชจ๋“  ํ˜„๋Œ€ ์—๋””ํ„ฐ์™€ AI ์ฝ”๋”ฉ ๋„๊ตฌ๊ฐ€ ๊ณต์œ ํ•˜๋Š” ํ‘œ์ค€, Language Server Protocol(LSP). ์ด ๊ธ€์€ LSP๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Nร—M ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ Microsoft์˜ ์„ค๊ณ„ ๊ฒฐ์ •, JSON-RPC 2.0 ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ, Initialize ํ•ธ๋“œ์…ฐ์ดํฌ์™€ capabilities ํ˜‘์ƒ, Document synchronization(Full/Incremental), Completion๊ณผ Signature Help, Hover/Definition/References, Diagnostics(Push vs Pull), Semantic Tokens๊ฐ€ TextMate grammar๋ฅผ ๋Œ€์ฒดํ•œ ์ด์œ , Code Actions์™€ Refactoring, ๊ทธ๋ฆฌ๊ณ  rust-analyzer/clangd/gopls/typescript-language-server ๊ตฌํ˜„ ๋น„๊ต๊นŒ์ง€ โ€” ํ˜„๋Œ€ ๊ฐœ๋ฐœ ๋„๊ตฌ์˜ ๊ทผ๊ฐ„์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ๋งค์ผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋ธ”๋ž™๋ฐ•์Šค๋กœ ์—ฌ๊ธฐ๋Š” Linux ๋ถ€ํŒ… ๊ณผ์ •. ์ด ๊ธ€์€ ์ „์›์ด ๋“ค์–ด์˜จ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ๋กœ๊ทธ์ธ ํ”„๋กฌํ”„ํŠธ๊นŒ์ง€์˜ ์—ฌ์ •์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. x86 real mode๋ถ€ํ„ฐ protected mode์™€ long mode๊นŒ์ง€์˜ CPU ์ „ํ™˜, BIOS vs UEFI, Secure Boot, MBR vs GPT, GRUB์˜ 3๋‹จ๊ณ„(stage 1/1.5/2), ์ปค๋„ ์••์ถ• ํ•ด์ œ์™€ ์ดˆ๊ธฐํ™”, ์™œ initramfs๊ฐ€ ํ•„์š”ํ•œ์ง€, systemd์˜ ๋ณ‘๋ ฌ ์„œ๋น„์Šค ์‹œ์ž‘๊ณผ ์˜์กด์„ฑ DAG, socket activation, ARM๊ณผ Raspberry Pi์˜ ๋…ํŠนํ•œ ๋ถ€ํŒ…, TPM๊ณผ Measured Boot๊นŒ์ง€ โ€” Linux๊ฐ€ ์–ด๋–ป๊ฒŒ ์‹œ์ž‘ํ•˜๋Š”์ง€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    Linux ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ๋ชจ๋“  ๊ฒƒ โ€” x86_64 4/5๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”, ํŽ˜์ด์ง€ ํดํŠธ ๊ฒฝ๋กœ, Buddy ํ• ๋‹น์ž์˜ ์ฐจ์ˆ˜๋ณ„ free list, SLUB์˜ ๊ฐ์ฒด ์บ์‹œ, vmalloc, Page Cache์™€ ๋ผ์ดํŠธ๋ฐฑ, ์Šค์™‘๊ณผ LRU, Transparent Huge Pages, NUMA ์ •์ฑ…, cgroups memory controller์™€ PSI, KSM, CMA๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌํ•œ ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด๋ถ€ ๊ตฌ์กฐ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    ๋ชจ๋“  ํŒจํ‚ท์ด ๊ฑฐ์น˜๋Š” ๊ฒฝ๋กœ์ด์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋ธ”๋ž™๋ฐ•์Šค๋กœ ์—ฌ๊ธฐ๋Š” Linux ๋„คํŠธ์›Œํฌ ์Šคํƒ. ์ด ๊ธ€์€ ํŒจํ‚ท์˜ ์—ฌ์ •์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. NIC ์ธํ„ฐ๋ŸฝํŠธ์™€ NAPI polling, sk_buff ๊ตฌ์กฐ์™€ ์ˆ˜๋ช…, Netfilter/iptables ํ›… ์ˆœ์„œ, Traffic Control๊ณผ qdisc, ์†Œ์ผ“ ๋ ˆ์ด์–ด์™€ TCP ์ƒํƒœ ๋จธ์‹ , GRO/TSO/LRO/GSO ์˜คํ”„๋กœ๋“œ, RPS/RFS๋กœ ๋ฉ€ํ‹ฐ ํ ํ™•์žฅ, Connection Tracking, XDP์™€ io_uring์˜ ์šฐํšŒ ๊ฒฝ๋กœ, ๊ทธ๋ฆฌ๊ณ  ์‹ค๋ฌด์—์„œ ์ง€์—ฐ/๋“œ๋กญ์„ ์ง„๋‹จํ•˜๋Š” ๋ฒ•๊นŒ์ง€ โ€” ์ปค๋„์ด ํŒจํ‚ท์„ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    Linux ์Šค์ผ€์ค„๋Ÿฌ์˜ ๋ชจ๋“  ๊ฒƒ โ€” 1990๋…„๋Œ€ ๋‹จ์ˆœ ๋ผ์šด๋“œ๋กœ๋นˆ์—์„œ O(1) ์Šค์ผ€์ค„๋Ÿฌ, Ingo Molnar์˜ CFS, ๊ทธ๋ฆฌ๊ณ  2023๋…„ EEVDF๋กœ์˜ ์ „ํ™˜๊นŒ์ง€. vruntime์˜ ์˜๋ฏธ, ๋ ˆ๋“œ๋ธ”๋ž™ ํŠธ๋ฆฌ ๊ตฌํ˜„, sched_period์™€ ๊ฐ€์ค‘์น˜, EEVDF์˜ lag/eligible/deadline ๋ชจ๋ธ, ๋ฉ€ํ‹ฐ์ฝ”์–ด ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, NUMA ์ธ์ง€, SCHED_DEADLINE์˜ CBS, PREEMPT_RT, sched_ext์™€ BPF ์Šค์ผ€์ค„๋Ÿฌ๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌ.
  • Published on
    Rust, Swift, Clang, Julia, Kotlin Native, WebAssembly. ์ด ๋ชจ๋‘์˜ ๊ณตํ†ต์ ์€ LLVM์„ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๊ธ€์€ LLVM์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. 3๋‹จ ์•„ํ‚คํ…์ฒ˜(ํ”„๋ก ํŠธ์—”๋“œ โ†’ IR โ†’ ๋ฐฑ์—”๋“œ), SSA ๊ธฐ๋ฐ˜ LLVM IR์˜ ๊ตฌ์กฐ, ์ˆ˜๋ฐฑ ๊ฐœ์˜ ์˜ตํ‹ฐ๋งˆ์ด์ € ํŒจ์Šค๋“ค(InstCombine, GVN, LICM, ์ธ๋ผ์ด๋„ˆ), SelectionDAG์™€ GlobalISel, LTO์™€ PGO, Clang ํ”„๋ก ํŠธ์—”๋“œ, ๊ทธ๋ฆฌ๊ณ  MLIR์˜ dialect ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ๋ ˆ๋ฒจ IR โ€” ํ˜„๋Œ€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    LSM-Tree์˜ ๋ชจ๋“  ๊ฒƒ โ€” 1996๋…„ O'Neil ๋…ผ๋ฌธ์˜ ์›๋ž˜ ์•„์ด๋””์–ด, Memtable๊ณผ SSTable์˜ ๊ตฌ์กฐ, WAL๊ณผ Flush, Leveled vs Tiered vs Universal Compaction, Bloom Filter์™€ Read Path, RUM ์ถ”์ธก (Read-Update-Memory amplification), RocksDB์˜ Column Family์™€ Subcompaction, Cassandra์˜ SizeTiered vs Leveled, ScyllaDB์˜ shard-per-core ์„ค๊ณ„, TiKV์™€ CockroachDB๊ฐ€ RocksDB๋ฅผ ์“ฐ๋Š” ์ด์œ , B-tree์™€์˜ ๊ทผ๋ณธ์  ์ฐจ์ด์ ๊นŒ์ง€ 1,500์ค„๋กœ ์ •๋ฆฌํ•œ LSM ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    malloc() ํ•œ ์ค„ ๋’ค์— ์ˆจ์€ ๊ฑฐ๋Œ€ํ•œ ์—”์ง€๋‹ˆ์–ด๋ง. glibc ptmalloc๋ถ€ํ„ฐ jemalloc, tcmalloc, mimalloc๊นŒ์ง€ โ€” arena, thread cache, slab, fragmentation, ์‹ค์ „ ์„ฑ๋Šฅ ํŠœ๋‹๊นŒ์ง€ 720์ค„๋กœ ์™„์ „ ๋ถ„์„ํ•œ๋‹ค.
  • Published on
    ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ž์˜ ๋ชจ๋“  ๊ฒƒ โ€” Doug Lea์˜ dlmalloc(1987)์—์„œ Microsoft์˜ mimalloc(2019)๊นŒ์ง€์˜ ์—ญ์‚ฌ. ptmalloc/glibc์˜ arena์™€ bin ๊ตฌ์กฐ, jemalloc์˜ size class, tcmalloc์˜ thread cache์™€ page heap, mimalloc์˜ free list sharding, ๋‹จํŽธํ™”์˜ ๋‘ ์ข…๋ฅ˜, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™•์žฅ์„ฑ, NUMA ์ธ์ง€, hardened allocator ๋ณด์•ˆ, ASAN์˜ ๋™์ž‘, ๊ทธ๋ฆฌ๊ณ  RedisยทFirefoxยทChrome์˜ ์‹ค์ „ ์ ์šฉ๊นŒ์ง€ 1,300์ค„๋กœ ์ •๋ฆฌํ•œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    2004๋…„ Igor Sysoev์˜ ํ˜๋ช…๋ถ€ํ„ฐ 2025๋…„๊นŒ์ง€ ์„ธ๊ณ„ ์›น ํŠธ๋ž˜ํ”ฝ์˜ 30% ์ด์ƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Nginx. ์ด ๊ธ€์€ Nginx์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. C10k ๋ฌธ์ œ์™€ Apache prefork์˜ ํ•œ๊ณ„, Master-Worker ์•„ํ‚คํ…์ฒ˜, epoll/kqueue ๊ธฐ๋ฐ˜ reactor ์ด๋ฒคํŠธ ๋ฃจํ”„, 11๋‹จ๊ณ„ phase handler ์‹œ์Šคํ…œ, ์š”์ฒญ ์ƒ๋ช…์ฃผ๊ธฐ, upstream ์ปค๋„ฅ์…˜ ํ’€๋ง๊ณผ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, ์บ์‹ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜, SSL termination, ๋ชจ๋“ˆ ์‹œ์Šคํ…œ(static vs dynamic), ๋ฌด์ค‘๋‹จ ์„ค์ • ์žฌ๋กœ๋“œ, OpenResty์™€ Lua ํ†ตํ•ฉ, ๊ทธ๋ฆฌ๊ณ  Cloudflare Pingora๊ฐ€ ์™œ ํ•„์š”ํ–ˆ๋Š”์ง€๊นŒ์ง€ โ€” ํ˜„๋Œ€ ์›น ์ธํ”„๋ผ์˜ ๊ทผ๊ฐ„์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    "works on my machine"์„ OS ์ˆ˜์ค€์—์„œ ํ•ด๊ฒฐํ•˜๋Š” ๋„๊ตฌ, Nix. ์ด ๊ธ€์€ Nix๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Eelco Dolstra์˜ 2003๋…„ ๋ฐ•์‚ฌ ๋…ผ๋ฌธ์—์„œ ์‹œ์ž‘๋œ ์•„์ด๋””์–ด, "๋นŒ๋“œ๋Š” ์ˆœ์ˆ˜ ํ•จ์ˆ˜"๋ผ๋Š” ํ•ต์‹ฌ ํ†ต์ฐฐ, ์ฝ˜ํ…ํŠธ ์ฃผ์†Œ ๊ธฐ๋ฐ˜ /nix/store, Derivation๊ณผ .drv ํŒŒ์ผ, Nix ์–ธ์–ด, ์ƒŒ๋“œ๋ฐ•์Šค ๋นŒ๋“œ, ๋ฐ”์ด๋„ˆ๋ฆฌ ์บ์‹œ, nixpkgs(์„ธ๊ณ„ ์ตœ๋Œ€ ํŒจํ‚ค์ง€ ์ €์žฅ์†Œ), 2021๋…„ ํŒ๋„๋ฅผ ๋ฐ”๊พผ Flakes, NixOS์˜ ์„ ์–ธ์  ์‹œ์Šคํ…œ ์„ค์ •, Home Manager, direnv ํ†ตํ•ฉ, ๊ทธ๋ฆฌ๊ณ  Docker/Guix์™€์˜ ๋น„๊ต๊นŒ์ง€ โ€” ์žฌํ˜„ ๊ฐ€๋Šฅ์„ฑ์— ์ง‘์ฐฉํ•˜๋Š” ์‹œ์Šคํ…œ ๋„๊ตฌ์˜ ๊ฒฐ์ •ํŒ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    Observability์˜ ๋ชจ๋“  ๊ฒƒ โ€” Monitoring๊ณผ Observability์˜ ์ฐจ์ด, ๋„ค ๊ฐ€์ง€ ๊ธฐ๋‘ฅ(Metrics, Logs, Traces, Profiling), Prometheus์˜ ์‹œ๊ณ„์—ด DB์™€ PromQL, OpenTelemetry์˜ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ, Jaeger์˜ span/trace ๋ชจ๋ธ, Loki์˜ label ์ธ๋ฑ์‹ฑ, Grafana ๋Œ€์‹œ๋ณด๋“œ, SRE์˜ SLI/SLO/SLA, alerting ๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค, eBPF ๊ธฐ๋ฐ˜ zero-instrumentation observability, cardinality ํญ์ฆ๊ณผ ๋น„์šฉ ํ†ต์ œ๊นŒ์ง€ 1,400์ค„๋กœ ์ •๋ฆฌํ•œ ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    Jaeger ๋Œ€์‹œ๋ณด๋“œ์˜ ์˜ˆ์œ ์ŠคํŒฌ ๋’ค์— ์žˆ๋Š” ์ง„์‹ค. OpenTelemetry์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ๋ถ€ํ„ฐ Span/TraceContext ์ „ํŒŒ ๋ฉ”์ปค๋‹ˆ์ฆ˜, Collector ํŒŒ์ดํ”„๋ผ์ธ, Head vs Tail ์ƒ˜ํ”Œ๋ง, eBPF auto-instrumentation, ๊ทธ๋ฆฌ๊ณ  Profile์ด ๋„ค ๋ฒˆ์งธ ๊ธฐ๋‘ฅ์ด ๋œ ์ด์•ผ๊ธฐ๊นŒ์ง€.
  • Published on
    PostgreSQL ๋‚ด๋ถ€์˜ ๋ชจ๋“  ๊ฒƒ โ€” ํ”„๋กœ์„ธ์Šค ์•„ํ‚คํ…์ฒ˜ (postmaster, backend, autovacuum, checkpointer, walwriter), ํŽ˜์ด์ง€์™€ heap tuple์˜ ๋ฐ”์ดํŠธ ๋ ˆ์ด์•„์›ƒ, MVCC์™€ xmin/xmax/ctid, WAL๊ณผ checkpoint์˜ ์ƒํ˜ธ์ž‘์šฉ, Vacuum๊ณผ Visibility Map๊ณผ HOT update, B-tree์™€ GIN/GiST/BRIN ์ธ๋ฑ์Šค, Query Planner์˜ ๋น„์šฉ ์ถ”์ •๊ณผ Genetic Query Optimizer, shared_buffers์™€ OS ํŽ˜์ด์ง€ ์บ์‹œ์˜ ์ด์ค‘ ์บ์‹ฑ, Replication๊ณผ logical decoding๊นŒ์ง€ 1,500์ค„๋กœ ์ •๋ฆฌํ•œ Postgres ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    CockroachDB, TiKV, MyRocks, Kafka Streams, Flink ์ƒํƒœ ๋ฐฑ์—”๋“œ. ์ด ๋ชจ๋‘๊ฐ€ RocksDB๋ฅผ ๋‚ด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์€ RocksDB์™€ LSM-Tree์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Memtable๊ณผ SST ํŒŒ์ผ ๊ตฌ์กฐ, Write Path์™€ Read Path, Compaction ์ „๋žต(Leveled/Tiered/Universal), Bloom Filter์™€ Block Cache, Write/Read/Space Amplification์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„, BlobDB์™€ Integrated BlobDB, Partitioned Index, Column Family, ๊ทธ๋ฆฌ๊ณ  ์‹ค๋ฌด ํŠœ๋‹ ๊ฐ€์ด๋“œ๊นŒ์ง€ โ€” ํ˜„๋Œ€ Write-Heavy ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    Rust ์†Œ์œ ๊ถŒ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๊ฒƒ โ€” 1999๋…„ Cyclone์—์„œ ์ถœ๋ฐœํ•œ affine type ์ด๋ก , ์†Œ์œ ๊ถŒ ์ด์ „๊ณผ move semantics, ๊ณต์œ /๊ฐ€๋ณ€ borrow์˜ XOR ๊ทœ์น™, lifetime annotation๊ณผ elision, Non-Lexical Lifetimes(NLL)๊ณผ Polonius ์ฐจ์„ธ๋Œ€ ์ฒด์ปค, RAII์™€ Drop trait, Box/Rc/Arc/RefCell ๊ฐ™์€ smart pointer, Send/Sync๋กœ ํ‘œํ˜„ํ•˜๋Š” thread safety, Pin๊ณผ self-referential ์ž๋ฃŒ๊ตฌ์กฐ, unsafe์˜ ์—ญํ• ๊นŒ์ง€ 1,300์ค„๋กœ ์ •๋ฆฌํ•œ ์ปดํŒŒ์ผ ํƒ€์ž„ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    Rust์˜ async/await์€ "๋ฌดํ•œํ•œ ๋™์‹œ์„ฑ์„ ๋Ÿฐํƒ€์ž„ ์—†์ด" ์•ฝ์†ํ•˜์ง€๋งŒ, ๊ทธ ๋‚ด๋ถ€๋Š” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์€ Tokio ๋Ÿฐํƒ€์ž„์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. async fn์ด ์–ด๋–ป๊ฒŒ State Machine์œผ๋กœ ์ปดํŒŒ์ผ๋˜๋Š”์ง€, Future/Poll/Waker ํ”„๋กœํ† ์ฝœ, Pin๊ณผ ์ž์ฒด ์ฐธ์กฐ ๊ตฌ์กฐ์ฒด์˜ ์•ˆ์ „์„ฑ, Tokio ์Šค์ผ€์ค„๋Ÿฌ์˜ Work-Stealing๊ณผ LIFO slot, ๋ธ”๋กœํ‚น ์ž‘์—… ์ฒ˜๋ฆฌ(spawn_blocking), Function Coloring ๋ฌธ์ œ์™€ ๋Œ€์•ˆ, ๊ทธ๋ฆฌ๊ณ  ์‹ค๋ฌด์—์„œ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•๊นŒ์ง€ โ€” Rust ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    Sidecar ํ”„๋ก์‹œ๋Š” ์™œ ๋“ฑ์žฅํ–ˆ๊ณ , ์™œ ์ง€๊ธˆ์€ ๋ฒ„๋ ค์ง€๊ณ  ์žˆ๋Š”๊ฐ€. Envoy์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ, xDS API ํ’€๋กœ์šฐ, mTLS ํ•ธ๋“œ์…ฐ์ดํฌ, Ambient Mesh์˜ Ztunnel, Cilium eBPF์˜ Sidecar-less ๋ฉ”์‹œ๊นŒ์ง€ ํ•œ ๋ฒˆ์—.
  • Published on
    ๋ชจ๋“  ํ˜„๋Œ€ CPU์˜ ์ˆจ์€ ๋ณ‘๋ ฌ์„ฑ SIMD. ์ด ๊ธ€์€ CPU ๋ฒกํ„ฐํ™”๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. 1996๋…„ MMX๋ถ€ํ„ฐ AVX-512, ARM NEON, SVE2๊นŒ์ง€์˜ ์ง„ํ™”, 128/256/512 bit ๋ ˆ์ง€์Šคํ„ฐ์™€ ๋Œ€ํ‘œ ๋ช…๋ น์–ด, horizontal/vertical ์—ฐ์‚ฐ ํŒจํ„ด, SoA vs AoS ๋ฐ์ดํ„ฐ ๋ ˆ์ด์•„์›ƒ, ์ž๋™ ๋ฒกํ„ฐํ™”์˜ ํ•œ๊ณ„, C/C++ intrinsics ์ง์ ‘ ์‚ฌ์šฉ, simdjson์ด 4 GB/s JSON ํŒŒ์‹ฑ์„ ๋‹ฌ์„ฑํ•œ ๋ฐฉ๋ฒ•, Highway์™€ std::simd๋กœ ํฌํ„ฐ๋ธ” SIMD ์ž‘์„ฑ, Apple Silicon๊ณผ WebAssembly SIMD, ๊ทธ๋ฆฌ๊ณ  ML ์ถ”๋ก /์••์ถ•/์•”ํ˜ธํ™”์—์„œ์˜ ์‹ค์ „ ํ™œ์šฉ๊นŒ์ง€ โ€” ํ˜„๋Œ€ ๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๊ธฐ๋ฒ•์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ์ „ ์„ธ๊ณ„์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋ฐฐํฌ๋œ ์†Œํ”„ํŠธ์›จ์–ด์ด์ž 1์กฐ ๊ฐœ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ํ™œ๋™ ์ค‘์ธ SQLite. ์ด ๊ธ€์€ SQLite์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. D. Richard Hipp์˜ 2000๋…„ ์„ค๊ณ„๋ถ€ํ„ฐ ํ˜„์žฌ๊นŒ์ง€์˜ ์ง„ํ™”, B-tree ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ์ €์žฅ, Rollback Journal๊ณผ WAL ๋ชจ๋“œ์˜ ์ฐจ์ด, Pager์™€ Page Cache, VFS(Virtual Filesystem) ์ถ”์ƒํ™”, Virtual Table๋กœ ํ™•์žฅ, Query Planner์™€ bytecode VM, FTS5 ์ „๋ฌธ ๊ฒ€์ƒ‰, R-tree ๊ณต๊ฐ„ ์ธ๋ฑ์Šค, ๊ทธ๋ฆฌ๊ณ  "๊ฐ€์žฅ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด"๊ฐ€ ๋œ ๊ด‘์ ์ธ ํ…Œ์ŠคํŠธ ๋ฌธํ™”๊นŒ์ง€ โ€” ๊ฐ€์žฅ ์„ฑ๊ณต์ ์ธ ์ž„๋ฒ ๋””๋“œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ๋งค์ผ ์‚ฌ์šฉํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ๊ฐœ๋ฐœ์ž๊ฐ€ "๊ทธ๋ƒฅ ๋™์ž‘ํ•˜๋Š”" ๋„๊ตฌ๋กœ ์—ฌ๊ธฐ๋Š” SSH. ์ด ๊ธ€์€ SSH ํ”„๋กœํ† ์ฝœ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. 1995๋…„ Tatu Ylรถnen์˜ SSH1์—์„œ ํ˜„๋Œ€ OpenSSH๊นŒ์ง€์˜ ์ง„ํ™”, 3-๋ ˆ์ด์–ด ๊ตฌ์กฐ(Transport/Authentication/Connection), Key Exchange(Diffie-Hellman)์™€ ์ฃผ์š” ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๊ณต๊ฐœํ‚ค/๋น„๋ฐ€๋ฒˆํ˜ธ/GSSAPI ์ธ์ฆ, ๋ฉ€ํ‹ฐํ”Œ๋ ‰์‹ฑ๋œ Channel ์‹œ์Šคํ…œ, ํฌํŠธ ํฌ์›Œ๋”ฉ(Local/Remote/Dynamic), ControlMaster์™€ ProxyJump, SSH CA๋กœ known_hosts ์ง€์˜ฅ ํƒˆ์ถœ, 2023๋…„ Terrapin ๊ณต๊ฒฉ๊ณผ ๋ฐฉ์–ด๊นŒ์ง€ โ€” ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์˜ ๊ต๊ณผ์„œ๋ฅผ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    TLS 1.3๊ณผ QUIC์˜ ๋ชจ๋“  ๊ฒƒ โ€” TLS 1.2์—์„œ 1.3์œผ๋กœ์˜ ํ˜๋ช…์  ๋ณ€ํ™”, 1-RTT ํ•ธ๋“œ์…ฐ์ดํฌ์˜ ์ •ํ™•ํ•œ ๋ฐ”์ดํŠธ ์ˆœ์„œ, ClientHello์™€ ServerHello ๊ตฌ์กฐ, ECDHE ํ‚ค ๊ตํ™˜๊ณผ X25519 Curve25519, HKDF ํ‚ค ์Šค์ผ€์ค„, AEAD ์ „์šฉ ์•”ํ˜ธ ์Šค์œ„ํŠธ, 0-RTT์™€ replay ๊ณต๊ฒฉ, Session Resumption๊ณผ PSK, ์ธ์ฆ์„œ ๊ฒ€์ฆ๊ณผ OCSP stapling, QUIC์˜ ํƒ„์ƒ ๋ฐฐ๊ฒฝ๊ณผ UDP ์„ ํƒ ์ด์œ , QUIC ํŒจํ‚ท ํฌ๋งท๊ณผ Stream, Connection migration, HTTP/3์˜ QPACK ํ—ค๋” ์••์ถ•, ์‹ค์ „ ๋ฐฐํฌ๊นŒ์ง€ 1,500์ค„๋กœ ์ •๋ฆฌํ•œ ์ „์†ก ๋ณด์•ˆ ๋”ฅ๋‹ค์ด๋ธŒ.
  • Published on
    Neovim, Helix, Zed, GitHub ์ฝ”๋“œ ๊ฒ€์ƒ‰์ด ๊ณต์œ ํ•˜๋Š” ํŒŒ์‹ฑ ๊ธฐ์ˆ , Tree-sitter. ์ด ๊ธ€์€ tree-sitter์˜ ๋‚ด๋ถ€๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. Max Brunsfeld์˜ 2018๋…„ Atom ํ”„๋กœ์ ํŠธ ์‹œ์ž‘, LR์—์„œ GLR๋กœ์˜ ํ™•์žฅ, ์ฆ๋ถ„ ์žฌํŒŒ์‹ฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜, Concrete Syntax Tree(CST) vs AST ์ฐจ์ด, ์—๋Ÿฌ ๋ณต๊ตฌ, ํŒŒ์„œ ์ƒ์„ฑ๊ธฐ์™€ grammar.js, s-expression query ์–ธ์–ด, syntax highlighting/folding/indentation ์‘์šฉ, GitHub semantic code search์˜ ์›๋ฆฌ, Neovim nvim-treesitter, Helix/Zed ๋‚ด์žฅ, LSP์™€์˜ ์—ญํ•  ๋ถ„๋‹ด โ€” ํ˜„๋Œ€ ์ฝ”๋“œ ์—๋””ํ„ฐ์˜ ๊ธฐ๋ฐ˜ ๊ธฐ์ˆ ์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ๋ธŒ๋ผ์šฐ์ €์—์„œ C++์„ ๋Œ๋ฆฌ๋Š” ๋‚ญ๋งŒ์ด ์–ด๋–ป๊ฒŒ ๋ฐฑ์—”๋“œ๋ฅผ ๋ฐ”๊ฟจ๋Š”๊ฐ€. asm.js ๊ธฐ์›๋ถ€ํ„ฐ Wasm ๋ฐ”์ดํŠธ์ฝ”๋“œ, Capability ๊ธฐ๋ฐ˜ Sandbox, WASI, Component Model, Wasmtime/Wasmer/WasmEdge ๋Ÿฐํƒ€์ž„ ๋น„๊ต, Cloudflare Workers์˜ ์—ฃ์ง€ ์ „๋žต๊นŒ์ง€.
  • Published on
    WebAssembly๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ์ˆ™์ฃผ์—์„œ ํƒˆ์ถœํ•ด ์„œ๋ฒ„, ์—ฃ์ง€, ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๋Ÿฐํƒ€์ž„์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธ€์€ Wasm์˜ ๋‚ด๋ถ€๋ถ€ํ„ฐ ์‹ค๋ฌด๊นŒ์ง€ ํ•ด๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ ๊ธฐ๋ฐ˜ VM๊ณผ ์„ ํ˜• ๋ฉ”๋ชจ๋ฆฌ, ๊ฒ€์ฆ๊ธฐ, JIT(Cranelift/TurboFan), WASI๋กœ์˜ ํ™•์žฅ, Component Model๊ณผ WIT ์ธํ„ฐํŽ˜์ด์Šค, Wasmtime/Wasmer/V8/WasmEdge ๊ตฌํ˜„ ๋น„๊ต, Fastly Compute@Edge์™€ Cloudflare Workers์˜ ์‹ค์ „ ์„ค๊ณ„, Spin/Wasmer Fleet ๊ฐ™์€ ์„œ๋ฒ„๋ฆฌ์Šค ํ”Œ๋žซํผ๊นŒ์ง€ โ€” Wasm์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์‹ถ์€ ์—”์ง€๋‹ˆ์–ด๋ฅผ ์œ„ํ•œ ์ข…ํ•ฉ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค.
  • Published on
    ์™œ Rust์ธ๊ฐ€? ์†Œ์œ ๊ถŒ ์‹œ์Šคํ…œ, ๋ผ์ดํ”„ํƒ€์ž„, ํŒจํ„ด ๋งค์นญ, ์—๋Ÿฌ ์ฒ˜๋ฆฌ, ๋น„๋™๊ธฐ, Cargo๊นŒ์ง€. C/C++์„ ๋Œ€์ฒดํ•˜๋Š” ์•ˆ์ „ํ•œ ์‹œ์Šคํ…œ ์–ธ์–ด.
  • Published on
    Rust ์กฐ์ง ์ฑ„ํƒ๋ฅ  45.5%(+17.6% YoY), ์ƒ์—…์  ์‚ฌ์šฉ 68.75% ์„ฑ์žฅ, TIOBE ์—ญ๋Œ€ ์ตœ๊ณ  13์œ„. Linux ์ปค๋„, Android, ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ์—์„œ Rust๊ฐ€ ํ•„์ˆ˜๊ฐ€ ๋˜๊ณ  ์žˆ๋‹ค. ํ•™์Šต ๊ณก์„ , ์‹ค์ „ ์‚ฌ์šฉ์ฒ˜, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „๋žต๊นŒ์ง€.
  • Published on
    ๋ผํ”Œ๋ผ์Šค ๋ณ€ํ™˜์ด ์™œ ๋ฏธ๋ถ„๋ฐฉ์ •์‹์„ ๋Œ€์ˆ˜ ๋ฌธ์ œ๋กœ ๋ฐ”๊ฟ” ์ฃผ๋Š”์ง€, ์‹œ๊ฐ„์˜์—ญ๊ณผ s-์˜์—ญ์˜ ๊ด€์  ์ฐจ์ด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.