https://github.com/facebook/zstd оч быстрая либа для сжатия данных. обгоняет, судя по бенчмаркам zlib и по скорости и по сжатию. https://crates.io/crates/zstd есть и под #rust и под #go и под другие
GitHub
GitHub - facebook/zstd: Zstandard - Fast real-time compression algorithm
Zstandard - Fast real-time compression algorithm. Contribute to facebook/zstd development by creating an account on GitHub.
https://crates.io/crates/build_timestamp #rust пакет что бы проставлять дату билда в константу. удобно для хэлп мессаджей
https://towardsdatascience.com/rust-powered-command-line-utilities-to-increase-your-productivity-eea03a4cf83a вот не ожидал а зашла тула
https://towardsdatascience.com/awesome-rust-powered-command-line-utilities-b5359c38692
skim фузи серч на растhttps://towardsdatascience.com/awesome-rust-powered-command-line-utilities-b5359c38692
ripgrep и fd тоже неплохоMedium
Rust-Powered Command-Line Utilities to Increase Your Productivity
Modern and Fast Tools Under Your Belt
как превратить три байта в u32 в #rust. почему то код который предложили в начале мне сложней написать даже, чем верный.
https://dev.to/wayofthepie/three-bytes-to-an-integer-13g5
https://dev.to/wayofthepie/three-bytes-to-an-integer-13g5
DEV Community
Three bytes to an integer
Turn three u8's into a u32.
готовая либа для проптестов на #rust https://blog.logrocket.com/property-based-testing-in-rust-with-proptest/ с примерами
LogRocket Blog
Property-based testing in Rust with Proptest - LogRocket Blog
Property-based testing isn’t always the answer, but the very act of considering your code's abstract properties can help you understand it better.
небольшая подборка базовых тулов и советов для разработки на #rust https://www.lpalmieri.com/posts/2020-06-06-zero-to-production-1-setup-toolchain-ides-ci/
Lpalmieri
Setup - Toolchain, IDEs, CI
A personal blog focused on software, Machine Learning and other passing fads.
https://github.com/rustic-games/sm мне кажется это лучшая либа для реализации zero-cost стэйт машин на #rust. анализируется статически, все переходы заранее чекаются до рантайма
GitHub
GitHub - rustic-games/sm: 🚀 SM – a static State Machine library
🚀 SM – a static State Machine library. Contribute to rustic-games/sm development by creating an account on GitHub.
https://github.com/nickbabcock/highway-rs шустрый хэш от гугла, реализованный на чистом #rust очень высокая скорость работы за счет аллокации на стэке и веторизации вычислений SIMD. подробнее про алгоритм https://github.com/google/highwayhash
GitHub
GitHub - nickbabcock/highway-rs: Native Rust port of Google's HighwayHash, which makes use of SIMD instructions for a fast and…
Native Rust port of Google's HighwayHash, which makes use of SIMD instructions for a fast and strong hash function - nickbabcock/highway-rs
https://docs.rs/bytes/0.5.5/bytes/ удобный пакет для работы с сетевым кодом, "нулевое" количество копирований в памяти
docs.rs
bytes - Rust
API documentation for the Rust `bytes` crate.
https://www.youtube.com/watch?v=yI6csSs72bg шикарное видео. про историю процессоров
x86. впрочем канал https://www.youtube.com/user/nhtchannellive тоже хорошYouTube
Внутри CPU: Intel 8086
Строение родоначальника x86 совместимых процессоров. Intel 8086
Канал House of NHTi: https://www.youtube.com/user/nhtchannellive
https://pc-01.tech - сайт канала. Свежие новости о железе, обзоры и тесты комплектующих.
https://vk.com/pc_0_1 - группа "Этот…
Канал House of NHTi: https://www.youtube.com/user/nhtchannellive
https://pc-01.tech - сайт канала. Свежие новости о железе, обзоры и тесты комплектующих.
https://vk.com/pc_0_1 - группа "Этот…
https://github.com/serde-rs/json-benchmark бенчмарк библиотек для сериализации/парсинга JSON на #rust. simd очень крут. но много ансэва внутри. не знаю насколько это может быть проблемой. но скорость впечатляет. но JSON всеравно один из самых неэффективных форматов для парсинга
GitHub
GitHub - serde-rs/json-benchmark: nativejson-benchmark in Rust
nativejson-benchmark in Rust. Contribute to serde-rs/json-benchmark development by creating an account on GitHub.
https://github.com/Geal/nom очень эффективная либа для парсинга байтовых массивов на #rust. ну и как всегда для #rust либы на первом плане перформанс и минимум аллокаций
GitHub
GitHub - rust-bakery/nom: Rust parser combinator framework
Rust parser combinator framework. Contribute to rust-bakery/nom development by creating an account on GitHub.
https://www.youtube.com/watch?v=mstZT431AeQ&feature=youtu.be то как построить неистовый ACL для всех сервисов гугла.
Zanzibar: Google’s Consistent, Global Authorization System
https://storage.googleapis.com/pub-tools-public-publication-data/pdf/2f0d7fed0dc90dea0f5d105e34c4d70776d73345.pdf
Zanzibar: Google’s Consistent, Global Authorization System
https://storage.googleapis.com/pub-tools-public-publication-data/pdf/2f0d7fed0dc90dea0f5d105e34c4d70776d73345.pdf
YouTube
USENIX ATC '19 - Zanzibar: Google’s Consistent, Global Authorization System
Ramon Caceres, Ruoming Pang, Mike Burrows, Zhifeng Chen, Pratik Dave, Nathan Germer, Alexander Golynski, Kevin Graney, and Nina Kang, Google; Lea Kissner, H...
BufWriter<Master<'_>>
https://docs.rs/bytes/0.5.5/bytes/ удобный пакет для работы с сетевым кодом, "нулевое" количество копирований в памяти
все больше и больше изумляюсь тому как это сделано и то что оно умеет. аплодирую стоя
https://www.youtube.com/watch?v=bzja9fQWzdA
https://www.youtube.com/watch?v=OCpt1I0MWXE
https://www.youtube.com/watch?v=8GE6ltLRJA4
наверное лучшее что можно найти от А-Я по реализации собственного интерфейса (почти драйвер) для TCP на #rust. вот жаль что не нашел чуть раньше, когда разбирался и мне это нужно было срочно
жаль под Шиндовс нет такого
https://www.youtube.com/watch?v=OCpt1I0MWXE
https://www.youtube.com/watch?v=8GE6ltLRJA4
наверное лучшее что можно найти от А-Я по реализации собственного интерфейса (почти драйвер) для TCP на #rust. вот жаль что не нашел чуть раньше, когда разбирался и мне это нужно было срочно
жаль под Шиндовс нет такого
YouTube
Implementing TCP in Rust (part 1)
In this stream, we started implementing the ubiquitous TCP protocol that underlies much of the traffic on the internet! In particular, we followed RFC 793 — https://tools.ietf.org/html/rfc793 — which describes the original protocol, with the goal of being…
Еще раз про итераторы в #rust.
Iter, IntoIter, Map, Lifetime, FromIter, Collect, dyn, impl
https://www.youtube.com/watch?v=lQt0adYPdfQ&feature=youtu.be
Iter, IntoIter, Map, Lifetime, FromIter, Collect, dyn, impl
https://www.youtube.com/watch?v=lQt0adYPdfQ&feature=youtu.be
YouTube
Rust Stream: Iterators
In this stream meant for intermediate Rustaceans we go behind the scenes of iterators by implementing our own version of the Iterator trait along with several other bits of functionality you're probably already familiar with from the standard library. By…
про то как сделать простейший Pool чего угодно c Guard. так же немного про RefCell и Deref и AsRef
https://www.youtube.com/watch?v=lmEKIvLh9D4&feature=youtu.be
https://www.youtube.com/watch?v=lmEKIvLh9D4&feature=youtu.be
YouTube
Rust Stream: The Guard Pattern and Interior Mutability
A stream meant for "advanced beginners" of Rust on the "guard pattern" a common API construct for wrapping items in order to do things when those items are no longer used. In this video we implement a simple resource pool that allows users to get items from…
OnceCell
почти как Cell но для non-Copy типов в #rust
- Interior mutability pattern
- UnsafeCell
- Raw Pointers
- AsRef,AsMut
- sync::Once
LowLevel либа. куча нюансов. в койта веки было неподдельно интересно смотреть
https://www.youtube.com/watch?v=YBG8QTO8fNI
почти как Cell но для non-Copy типов в #rust
- Interior mutability pattern
- UnsafeCell
- Raw Pointers
- AsRef,AsMut
- sync::Once
LowLevel либа. куча нюансов. в койта веки было неподдельно интересно смотреть
https://www.youtube.com/watch?v=YBG8QTO8fNI
YouTube
Boiled Down Crate 🦀: OnceCell
In this stream, we recreate the OnceCell crate, a simple utility crate for initializing a value once. https://crates.io/crates/once_cell