Rust 1.94 ๋ฆด๋ฆฌ์Šค. FreeBSD ์ปค๋„์—์„œ Rust ์‚ฌ์šฉ ์‹คํ—˜. Rust๋กœ ๊ตฌํ˜„ํ•œ Turso ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ VCAD.

๋ชจ์งˆ๋ผ ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœ๋˜์—ˆ์ง€๋งŒ ํ˜„์žฌ๋Š” ๋…๋ฆฝ ๋น„์˜๋ฆฌ ๋‹จ์ฒด์ธ Rust Foundation์˜ ํ›„์›์œผ๋กœ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋Š” Rust 1.94 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ์™€ ๋Ÿฐํƒ€์ž„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ๋†’์€ ๋ณ‘๋ ฌ์„ฑ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค(๋Ÿฐํƒ€์ž„์€ ๊ธฐ๋ณธ ์ดˆ๊ธฐํ™” ๋ฐ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์œ ์ง€ ๊ด€๋ฆฌ๋กœ ์ถ•์†Œ๋จ).

Rust์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ์‹์€ ํฌ์ธํ„ฐ ์กฐ์ž‘ ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ , ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜, ๋„ ํฌ์ธํ„ฐ๋ฅผ ์—ญ์ฐธ์กฐํ•˜๊ฑฐ๋‚˜, ๋ฒ„ํผ ์˜ค๋ฒ„๋Ÿฐ์„ ์ผ์œผํ‚ค๋Š” ๋“ฑ ์ €์ˆ˜์ค€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์˜ˆ๋ฐฉํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐฐํฌ, ๋นŒ๋“œ ๊ฐ„์†Œํ™” ๋ฐ ์ข…์†์„ฑ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด Cargo ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ŠคํŒ…์„ ์œ„ํ•ด crates.io ์ €์žฅ์†Œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์€ ์ปดํŒŒ์ผ ์‹œ๊ฐ„์— ์ฐธ์กฐ ํ™•์ธ, ๊ฐœ์ฒด ์†Œ์œ ๊ถŒ ์ถ”์ , ๊ฐœ์ฒด ์ˆ˜๋ช…(๋ฒ”์œ„) ์ถ”์  ๋ฐ ์ฝ”๋“œ ์‹คํ–‰ ์ค‘ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค์˜ ์ •ํ™•์„ฑ ํ‰๊ฐ€๋ฅผ ํ†ตํ•ด Rust์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. Rust๋Š” ๋˜ํ•œ ์ •์ˆ˜ ์˜ค๋ฒ„ํ”Œ๋กœ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ , ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ณ€์ˆ˜ ๊ฐ’์˜ ํ•„์ˆ˜ ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š”ํ•˜๋ฉฐ, ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•˜๊ณ , ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ถˆ๋ณ€ ์ฐธ์กฐ ๋ฐ ๋ณ€์ˆ˜ ๊ฐœ๋…์„ ์ ์šฉํ•˜๊ณ , ๊ฐ•๋ ฅํ•œ ์ •์  ์œ ํ˜• ์ง€์ •์„ ์ œ๊ณตํ•˜์—ฌ ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜๋ฅผ ์ตœ์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • ์ด์ œ slice ํƒ€์ž…์— array_windows ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋Š” ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ์œˆ๋„์šฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šฌ๋ผ์ด์Šค๋ฅผ ์ˆœํšŒํ•˜๋Š” ์ดํ„ฐ๋ ˆ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ์œˆ๋„์šฐ๋Š” ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์š”์†Œ์”ฉ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์˜ windows ๋ฉ”์„œ๋“œ์™€ ๋‹ฌ๋ฆฌ array_windows๋Š” ๊ณ ์ •๋œ ์œˆ๋„์šฐ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ ๋ฐ˜๋ณต๋งˆ๋‹ค ํฌ๊ธฐ๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์€ ์Šฌ๋ผ์ด์Šค(&[T]) ๋Œ€์‹  ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด(&[T; N])์— ๋Œ€ํ•œ ์ฐธ์กฐ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด ํฌ๊ธฐ๊ฐ€ ์ปดํŒŒ์ผ๋Ÿฌ์— ๋ฏธ๋ฆฌ ์•Œ๋ ค์ ธ ์žˆ์œผ๋ฏ€๋กœ, ๊ฐ ๋ฐ˜๋ณต ๋‹จ๊ณ„์—์„œ ๊ฒฝ๊ณ„ ๊ฒ€์‚ฌ๋ฅผ ์ƒ๋žตํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ: let slice = [0, 1, 2, 3]; let mut iter = slice.array_windows(); assert_eq!(iter.next().unwrap(), &[0, 1]); assert_eq!(iter.next().unwrap(), &[1, 2]); assert_eq!(iter.next().unwrap(), &[2, 3]); assert!(iter.next().is_none());
  • Cargo ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์˜ ๊ตฌ์„ฑ ํŒŒ์ผ(.cargo/config.toml)์€ ๋‹ค๋ฅธ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ œ์ž๋ฆฌ์— ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” "include" ์ง€์‹œ์–ด๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. include = [ "frodo.toml", "samwise.toml", ] include = [ { path = "required.toml" }, { path = "optional.toml", optional = true }, ]
  • ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ฐ ๊ตฌ์„ฑ ํŒŒ์ผ์— TOML 1.1 ๋งˆํฌ์—… ์–ธ์–ด์˜ ์ƒˆ ๋ฒ„์ „ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒˆ ๋ฒ„์ „์€ ์—ฌ๋Ÿฌ ์ค„๋กœ ๋œ ๋‚ด์žฅ ํ…Œ์ด๋ธ”, 16์ง„์ˆ˜ ๋ฐ”์ดํŠธ ํ‘œํ˜„์„ ์‚ฝ์ž…ํ•˜๊ธฐ ์œ„ํ•œ "\xHH" ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค, "\u001B"๋ฅผ ์œ„ํ•œ "\e" ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋งˆ์ง€๋ง‰ ์š”์†Œ ๋์— ์‰ผํ‘œ๋ฅผ ๋‚จ๊ธฐ๊ณ  ์‹œ๊ฐ„ ๊ฐ’์—์„œ ์ดˆ๋ฅผ ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ `serde = { version = "1.0", features = ["derive"] }`๋Š” `serde = { version = "1.0", features = ["derive"], }`๋กœ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • API์˜ ์ƒˆ๋กœ์šด ๋ถ€๋ถ„์ด ์•ˆ์ •ํ™”๋œ ํŠน์„ฑ์˜ ๋ฉ”์„œ๋“œ ๋ฐ ๊ตฌํ˜„์„ ํฌํ•จํ•˜์—ฌ ์•ˆ์ •์ ์ธ ๋ฒ”์ฃผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • <[T]>::array_windows
    • <[T]>::element_offset
    • ๋ ˆ์ด์ง€์…€::๊ฒŸ
    • LazyCell::get_mut
    • LazyCell::force_mut
    • ๋ ˆ์ด์ง€๋ฝ::๊ฒŸ
    • LazyLock::get_mut
    • LazyLock::force_mut
    • impl TryFrom ์‚ฌ์šฉ
    • std::iter::Peekable::next_if_map
    • std::iter::Peekable::next_if_map_mut
    • x86 avx512fp16 ๋ช…๋ น์–ด์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ
    • AArch64 NEON fp16 ๋ช…๋ น์–ด์˜ ๋‚ด๋ถ€ ๊ตฌ์กฐ
    • f32::consts::EULER_GAMMA
    • f64::consts::EULER_GAMMA
    • f32::consts::๊ณจ๋“ _๋น„์œจ
    • f64::consts::๊ณจ๋“ _๋น„์œจ
  • "const" ๊ธฐํ˜ธ๋Š” ํ•จ์ˆ˜์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค:
    • f32::mul_add
    • f64::mul_add
  • riscv64im-unknown-none-elf ํ”Œ๋žซํผ์ด ์ง€์› ๋ ˆ๋ฒจ 3์œผ๋กœ ์ƒํ–ฅ ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์› ๋ ˆ๋ฒจ 3์—๋Š” ๊ธฐ๋ณธ ์ง€์›์ด ํฌํ•จ๋˜์ง€๋งŒ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ, ๊ณต์‹ ๋นŒ๋“œ ๋ฆด๋ฆฌ์Šค ๋˜๋Š” ๋นŒ๋“œ ๊ฒ€์ฆ์€ ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ์ตœ๊ทผ ๋ฐœํ‘œ๋œ Rust ๊ด€๋ จ ํ”„๋กœ์ ํŠธ ๋ฐ ์ด๋ฒคํŠธ๋“ค์„ ์†Œ๊ฐœํ•ด ๋“œ๋ฆฌ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

  • Rust ์ปดํŒŒ์ผ๋Ÿฌ์— Sony PlayStation 1 ํ”Œ๋žซํผ ์ง€์›์„ ๊ตฌํ˜„ํ•˜๊ณ  Apple Silicon ์นฉ์ด ํƒ‘์žฌ๋œ ์ปดํ“จํ„ฐ์— FreeBSD๋ฅผ ํฌํŒ…ํ•œ Ayrton Muรฑoz๊ฐ€ FreeBSD์šฉ ์ปค๋„ ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ Rust๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. FreeBSD ์ปค๋„์—์„œ Rust ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” KPI(์ปค๋„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค) ๋ฐ”์ธ๋”ฉ ์„ธํŠธ๊ฐ€ ํ…Œ์ŠคํŠธ์šฉ์œผ๋กœ ์ œ๊ณต๋˜์—ˆ์œผ๋ฉฐ, ์ด ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ œ์ž‘๋œ virtio ์‚ฌ์šด๋“œ ๋“œ๋ผ์ด๋ฒ„(virtio_snd), M2 MacBook ํ‚ค๋ณด๋“œ์šฉ DockChannel HID ๋“œ๋ผ์ด๋ฒ„, ๊ทธ๋ฆฌ๊ณ  Apple Silicon ์นฉ์ด ํƒ‘์žฌ๋œ Mac ์ปดํ“จํ„ฐ ํ•˜์œ„ ์‹œ์Šคํ…œ์šฉ ์ €์ˆ˜์ค€ ๋“œ๋ผ์ด๋ฒ„๋„ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

    Rust ๋ฐ”์ธ๋”ฉ ๊ฐœ๋ฐœ์€ 2024๋…„ ๋ง๋ถ€ํ„ฐ ์ง„ํ–‰๋˜์–ด ์™”์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ฐ”์ธ๋”ฉ์€ C-KPI์˜ ์ผ๋ถ€๋งŒ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ถˆ์•ˆ์ •ํ•œ ์ƒํƒœ์ด์ง€๋งŒ, ํ–ฅํ›„ C ์–ธ์–ด์šฉ ์œ ์‚ฌ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฐ™์€ ์ˆ˜์ค€์˜ ์•ˆ์ •์„ฑ์„ ํ™•๋ณดํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋กœ ์ œ์‹œ๋œ virtio_snd ๋“œ๋ผ์ด๋ฒ„๋Š” QEMU์—์„œ ์Œ์•…์„ ์žฌ์ƒํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. 2026๋…„๊นŒ์ง€ Rust ๋ฐ”์ธ๋”ฉ์ด ์ถฉ๋ถ„ํžˆ ์•ˆ์ •ํ™”๋˜์–ด ๊ด€์‹ฌ ์žˆ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

  • NetBSD ๊ฐœ๋ฐœ์ž ๋ฒ ๋‹ˆ ์ง€๊ฑฐํŠธ๋Š” NetBSD ์ปค๋„์— Rust ์ง€์›์ด ํฌํ•จ๋˜์ง€ ์•Š์„ ์ด์œ ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌํ•ญ๋“ค์„ ์ œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. NetBSD๋Š” Rust๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. pkgsrc์— ์žˆ๋Š” ๊ธฐ์กด Rust ํˆด์ฒด์ธ์„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํ•œ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋ฉฐ, ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” ์†Œ์ˆ˜์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. Rust์— ๋Œ€ํ•œ ์ปค๋„ ์ง€์›์„ ์œ„ํ•ด์„œ๋Š” Rust ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๊ธฐ๋ณธ ์‹œ์Šคํ…œ์— ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. NetBSD์—์„œ Rust๋ฅผ ๋ถ€ํŠธ์ŠคํŠธ๋ž˜ํ•‘ํ•˜๋Š” ๋ฐ์—๋Š” ๋ ˆ๊ฑฐ์‹œ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจํ‚ค์ง€๊ฐ€ ์‚ฌ์šฉ๋˜๋Š”๋ฐ, ์ด๋Š” ์†Œ์Šค ์ฝ”๋“œ๋กœ ๋ฐฐํฌ๋˜๋Š” ๋…๋ฆฝ ์‹คํ–‰ํ˜• ๋ฐฐํฌํŒ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Rust์˜ ๋ฆด๋ฆฌ์Šค ์ฃผ๊ธฐ๋Š” NetBSD์˜ ๋ ˆ๊ฑฐ์‹œ ๋ธŒ๋žœ์น˜ ๊ฐœ๋ฐœ ๋ฐ ์ง€์› ์ฃผ๊ธฐ์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด, 2020๋…„์— ์ถœ์‹œ๋œ NetBSD 9๋Š” ๊ณ„์† ์ง€์›๋˜๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” 6๋…„ ๋œ Rust ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์ง€์›ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค).
  • ะžะฟัƒะฑะปะธะบะพะฒะฐะฝ ะฒั‹ะฟัƒัะบ ะฒัั‚ั€ะฐะธะฒะฐะตะผะพะน ะฒ ะฟั€ะธะปะพะถะตะฝะธั ะกะฃะ‘ะ” Turso 0.5, ะฝะฐะฟะธัะฐะฝะฝะพะน ะฝะฐ ัะทั‹ะบะต Rust ะธ ัะพะฒะผะตัั‚ะธะผะพะน ั SQLite ะฝะฐ ัƒั€ะพะฒะฝะต ะดะธะฐะปะตะบั‚ะฐ SQL, ั„ะพั€ะผะฐั‚ะฐ ั„ะฐะนะปะพะฒ ะ‘ะ” ะธ C API. ะ˜ะท ั€ะฐััˆะธั€ะตะฝะฝั‹ั… ะฒะพะทะผะพะถะฝะพัั‚ะตะน ะพั‚ะผะตั‡ะฐะตั‚ัั ะผะตั…ะฐะฝะธะทะผ CDC (Change data capture) ะดะปั ะพั‚ัะปะตะถะธะฒะฐะฝะธั ะธะทะผะตะฝะตะฝะธั ะ‘ะ” ะฒ ั€ะตะฐะปัŒะฝะพะผ ะฒั€ะตะผะตะฝะธ, ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะต io_uring ะดะปั ะฐัะธะฝั…ั€ะพะฝะฝะพะณะพ ะฒะฒะพะดะฐ/ะฒั‹ะฒะพะดะฐ ะฒ Linux, ะฟะพะดะดะตั€ะถะบะฐ ะฒะตะบั‚ะพั€ะฝะพะณะพ ะฟะพะธัะบะฐ, ะฝะฐะปะธั‡ะธะต ะฒั‹ั€ะฐะถะตะฝะธั ALTER ะดะปั ะธะทะผะตะฝะตะฝะธั ัั…ะตะผั‹ ะ‘ะ”, ะฒะพะทะผะพะถะฝะพัั‚ัŒ ัˆะธั„ั€ะพะฒะฐะฝะธั ะดะฐะฝะฝั‹ั… ะฒ ะ‘ะ”, ั€ะตะถะธะผ ะธะฝะบั€ะตะผะตะฝั‚ะฐะปัŒะฝั‹ั… ะฒั‹ั‡ะธัะปะตะฝะธะน, ะบะพะฝัั‚ั€ัƒะบั†ะธั ยซBEGIN CONCURRENTยป.
  • Rust ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ GPU ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.
  • Emuko โ€” ัะผัƒะปัั‚ะพั€ RISC-V, ะฝะฐะฟะธัะฐะฝะฝั‹ะน ะฝะฐ Rust, ัะฟะพัะพะฑะฝั‹ะน ะทะฐะณั€ัƒะถะฐั‚ัŒ Linux, ะฟะพะดะดะตั€ะถะธะฒะฐัŽั‰ะธะน JIT-ะบะพะผะฟะธะปัั†ะธัŽ, ัะฟะพัะพะฑะฝั‹ะน ัะพั…ั€ะฐะฝัั‚ัŒ ะธ ะฒะพััั‚ะฐะฝะฐะฒะปะธะฒะฐั‚ัŒ ัะฝะฐะฟัˆะพั‚ั‹ ัะพัั‚ะพัะฝะธั.
  • RustConn(flatpak)์€ SSH, RDP, VNC, SPICE, Telnet, Serial, Kubernetes, Zero Trust ๋ฐ SFTP๋ฅผ ์ง€์›ํ•˜๋Š” ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์™€์˜ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” GTK4์™€ Wayland๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Rust๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • zlib-rs 0.6 ํ”„๋กœ์ ํŠธ์˜ ์ƒˆ๋กœ์šด ๋ธŒ๋žœ์น˜๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” zlib C API์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋˜๋Š” ์ตœ์ดˆ์˜ ์•ˆ์ • ๋ฒ„์ „์œผ๋กœ, zlib์„ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” zlib ๋ฐ์ดํ„ฐ ์••์ถ• ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์•ˆ์ „ํ•œ ๋Œ€์•ˆ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. zlib-rs ํ”„๋กœ์ ํŠธ๋Š” zlib์˜ ๊ณ ์„ฑ๋Šฅ ๋ณ€ํ˜•์„ ๊ฐœ๋ฐœํ•˜๋Š” zlib-ng ํ”„๋กœ์ ํŠธ๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • VCAD ํ”„๋กœ์ ํŠธ๋Š” Rust ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜๊ณ  MCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ AI ์—์ด์ „ํŠธ์™€ ํ†ตํ•ฉ๋œ ํŒŒ๋ผ๋ฉ”ํŠธ๋ฆญ ์ปดํ“จํ„ฐ ์ง€์› ์„ค๊ณ„(CAD) ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์ž…๋‹ˆ๋‹ค. 3D ๋ชจ๋ธ๋ง, ์‹œ๋ฎฌ๋ ˆ์ด์…˜, 2D ์Šค์ผ€์น˜, ๋ถ€ํ’ˆ ์กฐ๋ฆฝ, STEP ํŒŒ์ผ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ STL/GLB/STEP/DXF ํŒŒ์ผ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Rust ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Mistral Voxtral Mini 4B ์‹ค์‹œ๊ฐ„ AI ๋ชจ๋ธ๊ณผ Burn ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์Œ์„ฑ ์ธ์‹ ์‹œ์Šคํ…œ์ด ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ๋ผ์ด๋ธŒ ์ŠคํŠธ๋ฆฌ๋ฐ ์˜์ƒ์˜ ์Œ์„ฑ ์ธ์‹ ๋ฐ ํ…์ŠคํŠธ ๋ณ€ํ™˜์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • c2rust 0.22 ํˆดํ‚ท์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํˆดํ‚ท์€ C ์ฝ”๋“œ(C99)๋ฅผ ์›๋ž˜ C ์ฝ”๋“œ์™€ ๊ตฌ์กฐ์ ์œผ๋กœ ์œ ์‚ฌํ•œ unsafe Rust ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ด€์šฉ์ ์ธ Rust ์ฝ”๋“œ๋กœ ์ ์ง„์ ์œผ๋กœ ์ „ํ™˜ํ•˜๊ณ  unsafe ๋ธ”๋ก์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster