رسټ ۱.۹۳ خپور شو. ریکس، فجال ۳، او آرټي ۱.۹.۰ پروژې

د رسټ ۱.۸۹ پروګرامینګ ژبه، چې د موزیلا پروژې لخوا تاسیس شوې وه مګر اوس د خپلواک غیر انتفاعي رسټ بنسټ تر څارنې لاندې رامینځته شوې، خپره شوې ده. ژبه د حافظې خوندیتوب باندې تمرکز کوي او د دندې اجرا کولو لوړ موازي ترلاسه کولو لپاره وسایل چمتو کوي، پداسې حال کې چې د کثافاتو راټولونکي او د چلولو وخت کارولو پرته ترسره کیږي (د چلولو وخت د معیاري کتابتون لومړني پیل او ساتنې ته راټیټ شوی).

د زنګ د حافظې اداره کولو میتودونه پرمخ وړونکي د خطا څخه ژغوري کله چې د پوائنټرونو مینځل کیږي او د هغو ستونزو په وړاندې ساتنه کوي چې د ټیټې کچې حافظې اداره کولو له امله رامینځته کیږي ، لکه د حافظې ساحې ته لاسرسی وروسته له دې چې خلاص شو ، د نول پوائنټرونو ته اشاره کول ، د بفر اوورونونه او نور. د کتابتونونو توزیع کولو، جوړونه چمتو کول او د انحصارونو اداره کول، پروژه د کارګو پیکج مدیر ته وده ورکوي. د crates.io ذخیره د کتابتونونو کوربه کولو لپاره ملاتړ کیږي.

د حافظې خوندیتوب د تالیف په وخت کې په زنګ کې د حوالې چیک کولو له لارې چمتو کیږي ، د شیانو ملکیت تعقیب ساتل ، د څیز ژوند وخت (سکوپس) ساتل ، او د کوډ اجرا کولو پرمهال د حافظې لاسرسي سموالي ارزول. زنګ د انټیجر د زیاتیدو پروړاندې محافظت هم چمتو کوي ، د کارونې دمخه د متغیر ارزښتونو لازمي ابتکار ته اړتیا لري ، په معیاري کتابتون کې خطاګانې په ښه توګه اداره کوي ، د ډیفالټ لخوا د بدلیدونکي حوالې او متغیر مفهوم پلي کوي ، د منطقي غلطیو کمولو لپاره قوي جامد ټایپ وړاندیز کوي.

اصلي نوښتونه:

  • د Musl معیاري C کتابتون، چې د Rust ویش کې جوړ شوی او د "*-linux-musl" هدف پلیټ فارمونو (aarch64-unknown-linux-musl, x86_64-unknown-linux-musl, powerpc64le-unknown-linux-musl, etc.) لپاره د جامد لینک کولو لپاره کارول کیږي پرته له Musl سیسټمونو کې، نسخه 1.2.5 ته تازه شوی. د متحرک لینک کولو لپاره لږترلږه ملاتړ شوی Musl نسخه هم 1.2.5 ته پورته شوې. Rust دمخه Musl 1.2.3 کارولی و، کوم چې د DNS حل کونکي پلي کولو سره ستونزې درلودې. په Musl 1.2.4 کې، د DNS حل کونکي تازه شوی و ترڅو د TCP پوښتنې لیږلو ملاتړ وکړي که چیرې د UDP غوښتنه ناکامه شي، کوم چې د لوی DNS ریکارډونو پوښتنې کولو سره ستونزه حل کړه او د تکراري DNS سرورونو سره مطابقت ښه کړ چې د لنډ شوي UDP ځوابونو کې د جزوي پایلو بیرته راستنیدو ملاتړ نه کوي. مسل ۱.۲.۵ د DNS حل کونکي کې د اوږد CNAME ترتیبونو سره د ځوابونو اداره کول پلي کوي او هغه مسله حل کوي چې د TCP له لارې لیږدول شوي ځینې لوی ځوابونه یې پریښودل.
  • معیاري کتابتون بیا ډیزاین شوی ترڅو د std::thread_local! میکرو او std::thread::current فعالیت سره د بیا ننوتلو مسلو ته رسیدګي وکړي چې په Rust کې لیکل شوي نړیوال حافظې تخصیص کونکو کې دي، کوم چې د لامحدود تکرار لامل شوی. د std::thread_local! او std::thread::current د ورته تخصیص کونکي زنګ وهلو څخه مخنیوي لپاره چې دوی د حافظې تخصیص کولو هڅه کولو کې کارول کیږي، دوی اوس په مستقیم ډول د سیسټم حافظې تخصیص میکانیزم کاروي.
  • د cfg ځانګړتیاوو کارول اوس د "asm!" بلاکونو دننه اجازه لري چې د اسمبلۍ کوډ لري. دا د مثال په توګه، د asm بلاک دننه د انفرادي بیاناتو په شرایطو کې د پراخ شوي CPU لارښوونې سیټونو کارولو کنټرول ته اجازه ورکوي (مخکې، د cfg ځانګړتیاوې یوازې د ټول asm بلاک لپاره مشخص کیدی شي). asm!( // یا global_asm! یا naked_asm! "nop", #[cfg(target_feature = "sse2")] "nop", // … #[cfg(target_feature = "sse2")] a = const 123, // یوازې په sse2 کې کارول کیږي);
  • د API یوه نوې برخه د ثبات کټګورۍ ته لیږدول شوې، په شمول د ځانګړتیاوو میتودونه او پلي کول ثبات شوي دي:
    • <[ښايي یونی انیټ ]>:: فرض کړئ_init_drop
    • <[ښايي یونی انیټ ]>:: فرض کړئ_init_ref
    • <[ښايي یونی انیټ ]>:: فرض کړئ_په_کې_مټ
    • <[ښايي یونی انیټ ]>:: د ټوټې_کاپي_لیکل
    • <[ښايي یونی انیټ ]>:: د ټوټې_کلون_لیکل
    • سلسله:: په خامو برخو کې
    • Vec::into_raw_parts - د خامو برخو په اړه
    • :: نه چک شوی_ننګ
    • :: نه چک شوی_shl
    • :: نه چک شوی_شېر
    • :: نه چک شوی_shl
    • :: نه چک شوی_شېر
    • <[T]>:: د صف په توګه
    • <[T]>:: د صف_بدل په توګه
    • <*ثابت [T]>:: د صف په توګه
    • <*mut [T]>:: د_mut_array په توګه
    • ویکیډیک::پاپ_فرنټ_ایف
    • ویکیډیک::پاپ_بیک_اف
    • موده::from_nanos_u128
    • توری::MAX_LEN_UTF8
    • توری::MAX_LEN_UTF16
    • سټنډرد::fmt::from_fn
    • سټنډرد::fmt::FromFn
  • د هدف پلیټ فارم "riscv64a23-unknown-linux-gnu" د ملاتړ دوهمې کچې ته لیږدول شوی، چې پکې د جوړونې تضمین شامل دی مګر د ازموینې سویټ پاس کولو هیڅ تضمین نشته.

سربیره پردې، د زنګ پورې اړوند څو پروژې د یادونې وړ دي:

  • د اصلي لپاره Linux развивается фреймворк Rex, позволяющий создавать дополнения для ядра Linux на языке Rust, которые можно использовать для расширения функциональности ядра вместо eBPF. Rex предоставляет те же гарантии безопасности, что и eBPF, но использует для изоляции и обеспечения безопасности возможности языка Rust и легковесный Runtime. Для подобных программ не применяется верификатор, а программы компилируются в нативный код компилятором Rust.

    د ریکس پروګرامونه د رسټ ژبې د فرعي سیټ کارولو ته اجازه ورکوي چې د خوندیتوب تضمین چمتو کوي. اوس مهال، د eBPF پنځه ډوله پروګرامونه ملاتړ کیږي: kprobe، perf_event، tracepoint، xdp، او tc. دا ممکنه ده چې د eBPF مرستندویه دندې زنګ ووهئ، د eBPF نقشې جوړښتونو سره تعامل وکړئ، د کرنل سرچینې اداره کړئ، استثناوې اداره کړئ، او د کرنل جوړښتونو باندې ریپرونه او خلاصې وکاروئ.

  • Fjall 3، چې په Rust کې لیکل شوی د کیلي ارزښت یو ایمبیډ شوی پلورنځی دی، اوس شتون لري. معلومات د Log-Structured-Merge (LSM) ونې په کارولو سره د لاګ په بڼه زیرمه کیږي، د RocksDB سره ورته، چیرې چې بدلونونه د فایل په پای کې د معلوماتو ضمیمه کولو سره لیکل کیږي. د ډیټابیس ته د لاسرسي لپاره د BTreeMap سټایل API چمتو شوی. ملاتړ شوي ځانګړتیاوې د نوم ځایونه، د فارورډ او ریورس رینج لټونونه، جوړ شوی کمپریشن، د سریال کولو وړ لیږدونه، د کیلي جلا ذخیره کول او د دوی اړوند خورا لوی ارزښتونه، او د اتوماتیک شالید ډیټابیس ساتنه شامل دي. کوډ د اپاچي 2.0 جواز لاندې خلاص سرچینه ده.
  • د تور پروژې د ارټي ۱.۹.۰ خپور کړ، چې د تور اوزار کټ یو زنګ تطبیق دی. کله چې د ارټي کوډبیس هغه کچې ته ورسیږي چې د C تطبیق په بشپړ ډول ځای په ځای کولو توان ولري، د تور پراختیا کونکي اراده لري چې ارټي د تور لومړنی تطبیق کړي او په تدریجي ډول د C تطبیق ساتنه پای ته ورسوي. نوې نسخه د ریلونو لپاره فعالیت پلي کولو ته دوام ورکوي او سرورونه ډایرکټري (ډایرکټري اتھارټي)، د متحرک ډول ټاکل شوي پورټونو سره د کار کولو لپاره ښه ملاتړ (proxy.socks_listen = "auto")، د پیاز خدماتو لپاره د کیلي مدیریت لپاره یو تجربوي API اضافه کړ.

سرچینه: opennet.ru

د DDoS محافظت ، VPS VDS سرورونو سره د سایټونو لپاره معتبر کوربه توب واخلئ 🔥 د DDoS محافظت، VPS VDS سرورونو سره د باور وړ ویب پاڼې کوربه توب واخلئ | ProHoster