From 02364980bb6743dbe874ba4ced07a9eba0950074 Mon Sep 17 00:00:00 2001 From: Vitaliy Zinchenko Date: Wed, 8 Nov 2023 12:44:23 +0200 Subject: [PATCH] Translated all files in the repository root Translated cheat_sheets.md. Translated collection_of_collections.md. Translated communicate.md. Translated introduction.md. Translated learn.md. Translated rust_setup.md. Translated toolbox_distros.md. Translated toolbox_general.md. Translated toolbox_multimedia.md. Translated toolbox_scientific.md. Updated links in readme_ua.md. Updated links in about_us_ukr.md. --- about_us_ukr.md | 4 +- cheat_sheets_ua.md | 13 + collection_of_collections_ua.md | 59 ++ communicate_ua.md | 81 +++ introduction_ua.md | 71 +++ learn_ua.md | 442 +++++++++++++ readme_ua.md | 26 +- rust_setup_ua.md | 16 + toolbox_distros_ua.md | 187 ++++++ toolbox_general_ua.md | 1043 +++++++++++++++++++++++++++++++ toolbox_multimedia_ua.md | 380 +++++++++++ toolbox_scientific_ua.md | 116 ++++ 12 files changed, 2423 insertions(+), 15 deletions(-) create mode 100644 cheat_sheets_ua.md create mode 100644 collection_of_collections_ua.md create mode 100644 communicate_ua.md create mode 100644 introduction_ua.md create mode 100644 learn_ua.md create mode 100644 rust_setup_ua.md create mode 100644 toolbox_distros_ua.md create mode 100644 toolbox_general_ua.md create mode 100644 toolbox_multimedia_ua.md create mode 100644 toolbox_scientific_ua.md diff --git a/about_us_ukr.md b/about_us_ukr.md index 22dc21e..d4e4b90 100644 --- a/about_us_ukr.md +++ b/about_us_ukr.md @@ -62,7 +62,7 @@ Rust - мультипарадигмова мова, головними пере Ліпше якщо у вас є код в [плейграунді](https://play.rust-lang.org/). В цьому разі нам не доводиться витрачати додатковий час на те щоб відтворити проблему. *- З чого ліпше почати вивчення?*
-Зверніть увагу на добірку курсів та [матеріалів для освоєння Rust](https://github.com/rust-lang-ua/learn_rust_together), котру ми вибирали вручну. Почніть з розділу “General-purpose courses”. Особливу увагу приділити тим матеріалам, котрі позначені зірочкою. +Зверніть увагу на добірку курсів та [матеріалів для освоєння Rust](https://github.com/rust-lang-ua/learn_rust_together/readme_ua.md), котру ми вибирали вручну. Почніть з розділу “General-purpose courses”. Особливу увагу приділити тим матеріалам, котрі позначені зірочкою. *- До кого звертатися стосовно співпраці?*
Якщо маєте бажання допомогти із модерацією, провести свій захід, дати фідбек чи внести будь-який інший внесок у популяризацію Rust в Україні, то пишіть, будь ласка, [kos](https://t.me/wandalen_me) у Телеграм. @@ -74,7 +74,7 @@ Rust - мультипарадигмова мова, головними пере Чекаємо тебе у нашому дружньому ком’юніті “Вивчаємо Rust Разом”. 💬 Долучайся до [Телеграм-Чату](https://t.me/rustlang_ua) та [Телеграм-Каналу](https://t.me/rustlang_ua). -📖 Ресурси які ми рекомендуємо [тут](https://github.com/rust-lang-ua/learn_rust_together).
+📖 Ресурси які ми рекомендуємо [тут](https://github.com/rust-lang-ua/learn_rust_together/readme_ua.md).
Також шукай нас на платформах: [Twitter](https://twitter.com/LearnTogetherP) | diff --git a/cheat_sheets_ua.md b/cheat_sheets_ua.md new file mode 100644 index 0000000..116d82b --- /dev/null +++ b/cheat_sheets_ua.md @@ -0,0 +1,13 @@ +# :chart_with_upwards_trend: Шпаргалки + +Колекція шпаргалок. + +## Шпаргалки + +- [Шпаргалка з мови Rust](https://cheats.rs/) від [Ральфа Бідерта](https://xr.io/) +- [Розмітка пам'яті](./cheat_sheets_ua.md#розмітка-памяті) від Рафа Левіна +- [Шпаргалка](https://github.com/donbright/rust-lang-cheat-sheet) від [don bright](https://github.com/donbright) : основи + +## Розмітка пам'яті + +![Розмітка пам'яті](./asset/img/cheatsheet/Layout.jpg) diff --git a/collection_of_collections_ua.md b/collection_of_collections_ua.md new file mode 100644 index 0000000..604c30f --- /dev/null +++ b/collection_of_collections_ua.md @@ -0,0 +1,59 @@ +# Збірник збірок + +[:arrow_down: Пояснення до теґів](#пояснення-до-теґів) в кінці сторінки. + +## :label: Каталог проєктів + +( _collection_ ) ( _project_ ) + +- [Rust's GitHub](https://github.com/rust-lang) ( _official_ ) +- [Are we game yet?](https://arewegameyet.rs/) : розробка ігор +- [Are we web yet?](https://www.arewewebyet.org/) : веб +- [Are we GUI yet?](http://www.areweguiyet.com/) : інтерфейси користувача +- [Are we learning yet?](http://www.arewelearningyet.com/) : машинне навчання +- [Lib.rs](https://lib.rs/) +- [Підібраний список коду та ресурсів Rust](https://github.com/rust-unofficial/awesome-rust) від [Е. Данама](https://github.com/edunham) + +## :newspaper: Новинні джерела та робочі групи + +( _collection_ ) ( _newspaper_ ) + +- [Read Rust](https://readrust.net/) +- [This Week in Rust](https://this-week-in-rust.org/) +- [Rust Weekly](https://discu.eu/weekly/rust/?ref=inboxreads) +- [Awesome Rust Weekly](https://rust.libhunt.com/newsletter?ref=inboxreads) +- [Подкаст Rustacean Station](https://rustacean-station.org/) ( _audio_ ) +- [Подкаст New Rustacean](https://newrustacean.com/) ( _audio_ ) +- [Подкаст Building with Rust](https://podcasts.apple.com/gb/podcast/building-with-rust/id1553513574) ( _audio_ ) +- [Робоча група Rust GameDev](https://gamedev.rs/) +- [Подкаст Rust Game Dev](https://rustgamedev.com/) ( _audio_ ) +- [Rust і WebAssembly](https://rustwasm.github.io/) +- [Rust у блокчейні](https://rustinblockchain.org/?ref=inboxreads) + +## :globe_with_meridians: Інші Rust колекції + +( _collection_ ) + +- :blue_book: [Прочитай](https://github.com/sger/RustBooks) : книги по Rust +- :footprints:️ [Почни](./introduction_ua.md) : встановлення та крок за кроком вступ у розробку на Rust. +- :mortar_board: [Вивчай](./learn_ua.md) : збірка матеріалів для вивчення Rust. +- :chart_with_upwards_trend: [Систематизуй](./cheat_sheets_ua.md) : збірка шпаргалок. +- :speech_balloon: [Спілкуйся](./communicate_ua.md) : чати та форуми +- :question: [Отримай відповідь](./about_us_ukr.md#question-faq) : наш FAQ та правила спільноти. +- :wrench: [Досліджуй](./toolbox_general_ua.md) : загальний набір інструментів із збіркою бібліотек. +- :video_game: [Досліджуй](./toolbox_multimedia_ua.md) : набір інструментів для мультимедіа зі збіркою бібліотек для розробки ігор, графіки, відео, аудіо. +- :infinity: [Досліджуй](./toolbox_scientific_ua.md) : науковий набір інструментів зі збіркою бібліотек для математики, фізики, лінійної алгебри, машинного навчання, цифрової обробки сигналів. +- :package: [Досліджуй](./toolbox_distros_ua.md) : набір інструментів для розповсюдження поза екосистемою Rust. +- [Список ресурсів для вивчення Rust](https://github.com/ctjhoa/rust-learning) від [Каміля ТДЖОА](https://github.com/ctjhoa) +- [Список ресурсів для вивчення Rust](https://hackr.io/tutorials/learn-rust) від [hackr.io](https://hackr.io/) +- [Rust Anthology](https://github.com/brson/rust-anthology/blob/master/master-list_ua.md) від [Браяна АНДЕРСОНА](https://github.com/ +- [rust-langdev](https://github.com/Kixiron/rust-langdev) від [Чейза ВІЛСОНА](https://github.com/Kixiron) : інструменти розробки парсерів/мов +- [Awesome Embed Rust](https://github.com/rust-embedded/awesome-embedded-rust) від [Rust Embedded](https://github.com/rust-embedded) ( _about:embed_ ) ( _collection_ ) +- [Awesome Rust and Webassembly](https://github.com/rustwasm/awesome-rust-and-webassembly) від [rustwasm](https://github.com/rustwasm) +- [Rust Forge](https://forge.rust-lang.org/index.html) : документація, корисна для учасників + +## Пояснення до теґів + +- :star: - рекомендовано і надзвичайно рекомендовано +- ( _collection_ ) - збірка ресурсів замість окремого ресурсу +- ( _about:embed_ ) - відповідне оброблення помилок diff --git a/communicate_ua.md b/communicate_ua.md new file mode 100644 index 0000000..84ede6b --- /dev/null +++ b/communicate_ua.md @@ -0,0 +1,81 @@ +# :speech_balloon: Спільнота Rust + +Упорядкований список чатів, потоків новин та форумів зі сфери Rust. Тут ви можете отримати допомогу та інформацію з Rust на цих ресурсах. + +[:arrow_down: Пояснення до теґів](#пояснення-до-теґів) в кінці сторінки. + +## :speaking_head: Чати + +( _chat_ ) + +- [ Вивчаємо Rust Разом ](https://t.me/rustlang_ua) ( _telegram_ ) ( _non-eng_ ) ( _ukraine_ ) +- [ Вивчаємо Rust Разом # Kyiv ](https://t.me/learn_rust_together_kyiv) ( _telegram_ ) ( _non-eng_ ) ( _ukraine_ ) +- [ Вивчаємо Rust Разом # Odesa ](https://t.me/learn_rust_together_odesa) ( _telegram_ ) ( _non-eng_ ) ( _ukraine_ ) +- [ Вивчаємо Rust Разом # Lviv ](https://t.me/learn_rust_together_lviv) ( _telegram_ ) ( _non-eng_ ) ( _ukraine_ ) +- [ Вивчаємо Rust Разом ](https://discord.com/invite/JVCZfTVf5A) ( _discord_ ) ( _non-eng_ ) ( _ukraine_ ) +- [ Вивчаємо Rust Разом ](https://www.reddit.com/r/rustlang_ua/comments/vbxc7s/ukrainian_branch_of_rust_community/) ( _reddit_ ) ( _non-eng_ ) ( _ukraine_ ) +- [ Rust Beginners ](https://t.me/rust_beginners_ru) ( _telegram_ ) ( _non-eng_ ) +- [ Rust — русскоговорящее сообщество ](https://t.me/rustlang_ru) ( _telegram_ ) ( _non-eng_ ) +- [ Learn Rust with RustDevz ](https://t.me/rustdevs) ( _telegram_ ) ( _non-eng_ ) +- [ Rust GameDev — русскоговорящее сообщество ](https://t.me/rust_gamedev_ru) ( _telegram_ ) ( _non-eng_ ) +- [ Embedded Lab ](https://t.me/embedded_lab) ( _telegram_ ) ( _non-eng_ ) +- [ Dimforge ](https://discord.gg/AQ434ubNSa) ( _discord_ ) +- [ Game development in Rust ](https://discord.gg/yNtPTb2) ( _discord_ ) +- [ Rust community ](https://discord.gg/rust-lang-community) ( _discord_ ) +- [ Rustacean Station ](https://discord.gg/aGfw68vhtB) ( _discord_ ) + +### Blockchain + +( _blockchain_ ) + +- [SolanaUkr](https://t.me/solanaUkr) ( _telegram_ ) ( _non-eng_ ) ( _ukraine_ ) +- [Near Protocol UA - Вивчаємо Near разом](https://t.me/nearprotocolua) ( _telegram_ ) ( _non-eng_ ) ( _ukraine_ ) + +## :vibration_mode: Потоки новин + +### Telegram-канали + +( _telegram_ ) ( _stream_ ) + +- [ Канал Вивчаємо Rust Разом ](https://t.me/learn_rust_ukr) ( _non-eng_ ) ( _ukraine_ ) +- [ English channel Learn Rust Together ](https://t.me/learn_rust) +- [ pub ThisWeekInRust {} ](https://t.me/this_week_in_rust) + +### Блоги в Twitter + +( _twitter_ ) ( _blog_ ) + +- [ This Week in Rust ](https://twitter.com/ThisWeekInRust) +- [ Rust Language ](https://twitter.com/rustlang) +- [ Rust Trenging ](https://twitter.com/RustTrending) +- [ Rust-analyzer ](https://twitter.com/rust_analyzer) +- [ Rust GameDev ](https://twitter.com/rust_gamedev) + +### Блоги на веб-сайтах + +( _website_ ) ( _blog_ ) + +- [ Rust Main Blog ](https://blog.rust-lang.org/) +- [ Inside Rust Blog ](https://blog.rust-lang.org/inside-rust/index.html) +- [ Rust GameDev WG ](https://gamedev.rs/) + +## :globe_with_meridians: Форуми + +( _forum_ ) + +- [ Офіційний форум Rust ](https://users.rust-lang.org) + +## Пояснення до теґів + +- ( _forum_ ) -- форум для спілкування з людьми +- ( _chat_ ) -- чат або форум для спілкування з людьми +- ( _stream_ ) -- потік новин або оголошень +- ( _blog_ ) -- блог +- ( _website_ ) -- на веб-сайті +- ( _telegram_ ) -- на телеграмі +- ( _twitter_ ) -- на твіттері +- ( _reddit_ ) -- на реддіті +- ( _linkedin_ ) -- на лінкедіні +- ( _discord_ ) -- на діскорді +- ( _blockchain_ ) -- про блокчейн +- ( _non-eng_ ) -- іноземна мова diff --git a/introduction_ua.md b/introduction_ua.md new file mode 100644 index 0000000..306fb98 --- /dev/null +++ b/introduction_ua.md @@ -0,0 +1,71 @@ +# :footprints:️ Вступ + +Це покрокова інструкція з налаштування та мета для початку розробки в Rust. + +## :crab: Що це? + + + +Rust - це багатопарадигмальна мова програмування, створена для забезпечення продуктивності та безпеки. Це ефективний інструмент для співпраці великих команд розробників з різним рівнем знань. Крім того, згідно з опитуванняи розробників Stack Overflow, Rust є найулюбленішою мовою програмування протягом семи років поспіль. Спільнота Rust традиційно дуже дружня. + +## :book: Ресурси для використання: + +Є кілька найпопулярніших офіційних ресурсів загального призначення для вивчення Rust: + +- [The Rust Book](https://doc.rust-lang.org/book/ch00-00-introduction.html) [:ukraine:](https://rustlangua.github.io/rustbookua.github.io/) [:uk:](https://doc.rust-lang.org/book/ch00-00-introduction.html) + +Можливо, вам буде зручніше почати з відеокурсу, а не з книги. Наприклад, вам може сподобатись [Learn Rust Programming](https://www.youtube.com/watch?v=BpPEoZW5IiY). + +:zap: Інші цікаві джерела ви можете знайти в нашій [чудовій колекції матеріалів](./learn_ua.md). + +## [:gear: Як налаштувати Rust](rust_setup_ua.md) + +## :question: Де отримати допомогу?: + +Якщо ви українець, найкращий спосіб отримати допомогу - приєднатися до нашої спільноти [Українська Rust Спільнота](https://t.me/rustlang_ua), де вас точно почують і допоможуть більш досвідчені учасники. + +:zap: Існує також наша сторінка [Спільнота](./communicate_ua.md), де ви можете знайти багато різних глобальних і локальних чатів і потоків новин Rust. + +## :pushpin: Як задати питання? + +Найкращий спосіб поставити питання - поділитися своїм кодом в [playground](https://play.rust-lang.org/). У цьому випадку іншим учасникам не доведеться витрачати додатковий час на відтворення проблеми. + +## :books: Альтернативні способи опанування Rust + +**1) Практичні вправи, інтерактивний зворотній зв'язок** + +- [Rustlings](https://github.com/rust-lang/rustlings) це проект із невеликими вправами, які допоможуть вам звикнути читати та писати код на Rust. Загалом, ви повинні вирішувати повідомлення компілятора про помилки, змінюючи поданий код. Це дійсно допоможе вам зрозуміти, як працює компілятор і які найпоширеніші проблеми з кодом. Якщо вам важко почати, просто виконайте ці кроки. +- [Rust by practice](https://practice.rs/why-exercise.html) вправи, схожі на rustlings. +- [Exercism](https://exercism.org/tracks/rust) - платформа вільного програмування з відкритим вихідним кодом, яка пропонує вам не лише практику програмування, але й наставництво. Тут ви можете знайти 103 вправи з програмування, які покращать ваше розуміння концепцій Rust. Рекомендовано брати після rustlings. +

+ +

+ +- [Take your first steps with Rust](https://docs.microsoft.com/en-us/learn/paths/rust-first-steps/) - інтерактивний курс. Закладіть фундамент знань, необхідних для створення швидких і ефективних програм у Rust. + +**2) Читання книг** + +Якщо ви новачок у своєму дослідженні Rust, ми настійно рекомендуємо вам почати з [книг загального призначення.](./learn_ua.md#основна-документація)
+Потім ви також можете перейти до офіційної книги [Rust Book](https://doc.rust-lang.org/book/), де ви можете знайти всю необхідну інформацію про Rust, або придбати [Programming Rust](https://rozetka.com.ua/ua/search/?text=programming+rust), обидві книги є одними з найпоширеніших. Крім того, якщо ви націлюєтесь на веб-серверну розробку, вам слід прочитати [Zero To Production](https://www.zero2prod.com/index.html?country=Ukraine&discount_code=EEU60), також доступну як [серія статей](https://github.com/rust-lang-ua/learn_rust_together/blob/master/learn/backend_book.md). + +:zap: Інші цікаві книги ви можете знайти в нашій [чудовій колекції матеріалів](./learn_ua.md#mortar_board-наша-чудова-колекція-матеріалів-для-вивчення-rust). + +**3) Перегляд відео** + +Якщо ви новачок і просто хочете дізнатися, що таке Rust - подивіться [Rust in 100 seconds](https://www.youtube.com/watch?v=5C_HPTJg5ek).
+Щоб зануритися в основи Rust, пройдіть прискорений курс [Crash Course](https://www.youtube.com/watch?v=zF34dRivLOw).
+Щоб глибше вивчити синтаксис Rust і познайомитися з кодом Rust, ми також рекомендуємо вам такі курси, як: + +- [Intro to Rust](https://www.youtube.com/playlist?list=PLJbE2Yu2zumDF6BX6_RdPisRVHgzV02NW) by [Tensor Programming](https://www.youtube.com/c/TensorProgramming) +- [Rust Tutorial](https://www.youtube.com/playlist?list=PLLqEtX6ql2EyPAZ1M2_C0GgVd4A-_L4_5) by [Doug Milford](https://www.youtube.com/channel/UCmBgC0JN41HjyjAXfkdkp-Q) +- [Complete Course](https://www.youtube.com/watch?v=BpPEoZW5IiY) by [freeCodeCamp](https://www.youtube.com/@freecodecamp) +- [The Rust Lang Book](https://www.youtube.com/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8) by [Let's Get Rusty](https://www.youtube.com/c/LetsGetRusty) + +:zap: Більше відеокурсів ви можете знайти в нашій [чудовій колекції для вивчення Rust](./learn_ua.md#перший-тиждень) + +**4) Використання шпаргалок** + +Ще один спосіб освоїти Rust, але через схеми, таблиці та зображення - [Rust Cheat Sheet](https://cheats.rs/). Усі поради, зібрані на одній великій сторінці, завжди стануть у пригоді під час написання коду. Перейдіть до нашої [колекції шпаргалок](./cheat_sheets_ua.md#chart_with_upwards_trend-шпаргалки). +

+ +

diff --git a/learn_ua.md b/learn_ua.md new file mode 100644 index 0000000..858d11b --- /dev/null +++ b/learn_ua.md @@ -0,0 +1,442 @@ +> [:exclamation:] Ми рішуче засуджуємо найбільш недопустиме російське :pirate_flag: невикликане, несправедливе та незаконне вторгнення в Україну, суверенну та демократичну державу. Усі матеріали російською мовою публікуються лише для освітніх цілей. + + + +# :mortar_board: Наша чудова колекція матеріалів для вивчення Rust + +Добірка ресурсів для вивчення Rust. + +[:arrow_down: Пояснення до теґів](#пояснення-до-теґів) в кінці сторінки. + + + +## Основна документація + +( _general_ ) + +- [Документація Rust API](https://doc.rust-lang.org/std/index.html) ( _reading_ ) ( _reference_ ) ( _official_ ) +- [Книга з Rust](https://doc.rust-lang.org/book/title-page.html) [:ukraine:](https://rustlangua.github.io/rustbookua.github.io/) [:uk:](https://doc.rust-lang.org/book/ch00-00-introduction.html) [:pirate_flag:](https://doc.rust-lang.ru/book/) ( _reading_ ) ( _course_ ) ( _official_ ) +- [The Rustonomicon](https://doc.rust-lang.org/nomicon/) ( _course_ ) ( _reading_ ) ( _official_ ) : небезпечне програмування + +## Збіки рецептів + +- [Rust на прикладах](https://doc.rust-lang.org/rust-by-example/index.html) [:uk:](https://doc.rust-lang.org/rust-by-example/index.html) [:pirate_flag:](https://doc.rust-lang.ru/stable/rust-by-example/) ( _reading_ ) ( _official_ ) +- [Рецепти Rust](https://rust-lang-nursery.github.io/rust-cookbook/) [:uk:](https://rust-lang-nursery.github.io/rust-cookbook/) [:pirate_flag:](https://doc.rust-lang.ru/rust-cookbook/intro.html) ( _reading_ ) ( _official_ ) + + + +## Налаштування + +( _about:setup_ ) + +- [Встановлення Rust](https://www.rust-lang.org/tools/install) ( _official_ ) +- [Як встановити Rust на Windows](https://www.youtube.com/watch?v=f6tizikEMTk) від [Дуга Мілфорда](https://www.youtube.com/channel/UCmBgC0JN41HjyjAXfkdkp-Q) ( 🎥 ) ( _article_ ) +- [Як встановити Rust на Linux](https://www.youtube.com/watch?v=PHBdlGgCrWw) від [TechRepublic](https://www.youtube.com/channel/UCKyMiy1zmJ7aZ8aP6DLZLIA) ( 🎥 ) ( _article_ ) +- [Як встановити засіб налагодження на Visual Studio Code](https://www.youtube.com/watch?v=rarFePIdNoc) від [DevbaseMedia](https://www.youtube.com/channel/UCx6M2DGOBSOwj6-e-ToPPGw) ( 🎥 ) ( _article_ ) + +## Перший тиждень + +( _general_ ) ( _course_ ) + +- [Rust за 100 секунд](https://www.youtube.com/watch?v=5C_HPTJg5ek) від [Fireship](https://www.youtube.com/c/Fireship) ( :movie_camera: ) +- [Rust за 10 хвилин](https://www.youtube.com/watch?v=br3GIIQeefY) та [читання](https://fasterthanli.me/articles/a-half-hour-to-learn-rust) ( _drill_ ) ( _reading_ ) ( :movie_camera: ) +- [Перші кроки в Rust](https://docs.microsoft.com/en-us/learn/paths/rust-first-steps/) ( _reading_ ) ( _interactive_ ) : вступ від Microsoft +- [Rustlings](https://github.com/rust-lang/rustlings) ( _official_ ) + +## Перший місяць + +( _general_ ) + +- :star: [Посібник з Rust](https://doc.rust-lang.org/book/title-page.html) [:ukraine:](https://rustlangua.github.io/rustbookua.github.io/) [:uk:](https://doc.rust-lang.org/book/ch00-00-introduction.html) [:pirate_flag:](https://doc.rust-lang.ru/book/) ( _reading_ ) ( _course_ ) ( _official_ ) +- [Посібник з Rust з тестами](https://rust-book.cs.brown.edu/experiment-intro.html) ( _reading_ ) ( _interactive_ ) ( _course_ ) ( _official_ ) +- [Exercism](https://exercism.org/tracks/rust) : інтерактивні вправи +- :star: [Навчання програмуванню на Rust - Повний курс](https://www.youtube.com/watch?v=BpPEoZW5IiY) від [Free Code Camp](https://www.youtube.com/@freecodecamp) ( :movie_camera: ) ( _course_ ) +- [Посібник з Rust](https://www.youtube.com/watch?v=ygL_xcavzQ4) від [Дерека Банаса](https://www.youtube.com/c/derekbanas) ( :movie_camera: ) ( _course_ ) +- [Вступ до Rust](https://www.youtube.com/playlist?list=PLJbE2Yu2zumDF6BX6_RdPisRVHgzV02NW) від [Tensor Programming](https://www.youtube.com/c/TensorProgramming) ( :movie_camera: ) +- [Посібник з Rust](https://www.youtube.com/playlist?list=PLLqEtX6ql2EyPAZ1M2_C0GgVd4A-_L4_5) від [Дуга Мілфорда](https://youtube.com/channel/UCmBgC0JN41HjyjAXfkdkp-Q) ( :movie_camera: ) +- [Посібник з Rust Lang](https://www.youtube.com/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8) від [Let's Get Rusty](https://youtube.com/c/LetsGetRusty) ( :movie_camera: ) +- [Навчання програмуванню на Rust](https://www.youtube.com/playlist?list=PLVvjrrRCBy2JSHf9tGxGKJ-bYAN_uDCUL) від [dcode](https://youtube.com/c/dcode-software) ( :movie_camera: ) +- [Простий Rust](https://www.youtube.com/playlist?list=PLfllocyHVgsRwLkTAhG0E-2QxCf-ozBkk) від [mithradates](https://youtube.com/user/mithradates) ( :movie_camera: ) +- [Курс з Rust](https://www.youtube.com/playlist?list=PL6yRaaP0WPkWRsXJgdnw9lj1vchAaKwfS) від [Вандада Нахавандіпура](https://youtube.com/c/VandadNP) ( :movie_camera: ) +- [Програмування на Rust](https://www.youtube.com/playlist?list=PLlb7e2G7aSpTfhiECYNI2EZ1uAluUqE_e) від [Computer Science Center](https://youtube.com/c/CompscicenterRu) ( :movie_camera: ) ( _non-eng_ ) +- [Основи Rust](https://www.linkedin.com/learning/rust-essential-training/learn-rust-programming) від [Linkedin](https://linkedin.com) ( :movie_camera: ) ( _course_ ) +- [Rust за посібником Tutorials Point](https://www.tutorialspoint.com/rust/index.htm) ( _reading_ ) +- [Rust на RIP Tutorial](https://riptutorial.com/rust) ( _reading_ ) +- [Rust Incubator](https://github.com/rust-lang-ua/rust_incubator) від [Instrumentisto](https://github.com/instrumentisto) та [наша спільнота](https://github.com/rust-lang-ua/learn_rust_together) ( _reading_ ) ( _course_ ) ( _about:idiomatic_ ) +- [Комплексний Rust](https://google.github.io/comprehensive-rust/) від [Google]() +- [Простий Rust](https://dhghomon.github.io/easy_rust/Chapter_0.html) від [Девіда Маклеода](https://github.com/Dhghomon) ( _reading_ ) ( _course_ ) +- [Невимушений вступ до Rust](https://stevedonovan.github.io/rust-gentle-intro/readme.html) ( _reading_ ) ( _course_ ) + + + + + +## Продвинутий рівень + +( _course_ ) ( _advanced_ ) + +- :star: [Суть Rust](https://www.youtube.com/playlist?list=PLqbS7AVVErFiWDOAVrPt7aYmnuuOLYvOa) від [Джона Гєнгсета](https://www.youtube.com/c/JonGjengset) ( :movie_camera: ) ( _general_ ) +- :star: [Ефективний Rust](https://www.lurklurk.org/effective-rust/cover.html) від [Девіда Дрісдейла]() ( _reading_ ) ( _course_ ) ( _about:idiomatic_ ) +- [Rustonomicon](https://doc.rust-lang.org/nomicon/) ( _course_ ) ( _reading_ ) ( _official_ ) : небезпечне програмування +- [Висока гарантія Rust](https://highassurance.rs/landing.html) ( _reading_ ) : розробка безпечного та надійного програмного забезпечення + + + + + +## Ідіоматичний Rust + +( _about:idiomatic_ ) + +- [Rust Incubator](https://github.com/rust-lang-ua/rust_incubator) від [Instrumentisto](https://github.com/instrumentisto) та [нашої спільноти](https://github.com/rust-lang-ua/learn_rust_together) ( _reading_ ) ( _course_ ) ( _about:idiomatic_ ) +- [Ефективний Rust](https://www.lurklurk.org/effective-rust/cover.html) від [Девіда Дрісдейла]() ( _reading_ ) ( _course_ ) ( _about:idiomatic_ ) +- [Директиви API Rust](https://rust-lang.github.io/api-guidelines) ( _reading_ ) ( _about:idiomatic_ ) +- [Патерни проектування в Rust](https://rust-unofficial.github.io/patterns/intro.html) від [Ніка Камерона](https://github.com/nrc) ( _reading_ ) ( _course_ ) ( _about:idiomatic_ ) + +## Інфраструктура + +( _about:infrastructure_ ) + +- [Документація Rust API](https://doc.rust-lang.org/std/index.html) ( _reading_ ) ( _reference_ ) ( _official_ ) +- [Книга про Rust](https://doc.rust-lang.org/book/title-page.html) [:ukraine:](https://rustlangua.github.io/rustbookua.github.io/) [:uk:](https://doc.rust-lang.org/book/ch00-00-introduction.html) [:pirate_flag:](https://doc.rust-lang.ru/book/) ( _reading_ ) ( _course_ ) ( _official_ ) +- [Книга Rustonomicon](https://doc.rust-lang.org/nomicon/) ( _course_ ) ( _reading_ ) ( _official_ ) : небезпечне програмування +- [Довідник](https://doc.rust-lang.org/reference/introduction.html) ( _reading_ ) ( _reference_ ) ( _official_ ) +- [Книга про видання](https://doc.rust-lang.org/edition-guide/index.html) ( _reading_ ) ( _official_ ) +- [Книга Rustdoc](https://doc.rust-lang.org/rustdoc/index.html) ( _reading_ ) ( _official_ ) +- [Книга Rustc](https://doc.rust-lang.org/rustc/index.html) ( _reading_ ) ( _official_ ) +- [Книга про командний рядок](https://rust-cli.github.io/book/index.html) ( _reading_ ) +- [Книга про WebAssembly](https://rustwasm.github.io/docs/book/) ( _reading_ ) +- [Книга про вбудовані системи](https://doc.rust-lang.org/stable/embedded-book/) ( _reading_ ) +- [Книга Cargo](https://doc.rust-lang.org/cargo/index.html) ( _reading_ ) ( _official_ ) ( _about:cargo_ ) +- [Книга Rustup](https://rust-lang.github.io/rustup/) ( _official_ ) ( _reading_ ) ( _course_ ) +- [Книга про компілятор](https://rustc-dev-guide.rust-lang.org/about-this-guide.html) ( _reading_ ) ( _окремий_ ) + +## Rustup + +( _about:rustup_ ) + +- [Книга Rustup](https://rust-lang.github.io/rustup/) ( _official_ ) ( _reading_ ) ( _course_ ) + +## Cargo / Робоча область + +( _about:cargo_ ) + +- [Книга Cargo](https://doc.rust-lang.org/cargo/index.html) ( _reading_ ) ( _official_ ) ( _about:cargo_ ) +- [Пояснення системи модулів Rust](https://aloso.github.io/2021/03/28/module-system.html) від [Людвіга Штекера](https://github.com/Aloso) ( _reading_ ) ( _article_ ) + +## Командний рядок (CLI) + +( _about:командний_рядок_ ) + +- [Консольні програми на Rust](https://rust-cli.github.io/book/in-depth/signals.html) ( _reading_ ) + +## Макроси + +( _about:macro_ ) + +- [Маленька книжка про макроси Rust](https://danielkeep.github.io/tlborm/book/) ( _reading_ ) + +## WebAssembly + +( _course_ ) ( _about:webasm_ ) + +- :star: [Rust та WebAssembly](https://rustwasm.github.io/docs/book/) ( _reading_ ) +- [Посібник wasm-bindgen](https://rustwasm.github.io/docs/wasm-bindgen/introduction.html) ( _reading_ ) +- [Практичний вступ до WebAssembly](https://youtu.be/Es7Ab2VH_Vg) ( :movie_camera: ) ( _non-eng_ ) +- [Архітектура Wasm](https://www.youtube.com/watch?v=3sU557ZKjUs) ( :movie_camera: ) +- [Дорожня карта WebAssembly](https://webassembly.org/roadmap/) ( _reading_ ) +- [Extism - універсальна система плагінів](https://github.com/extism/extism) ( _reading_ ) +- [Wasm та багатопотоковість](https://web.dev/webassembly-threads/) ( _reading_ ) +- [Загальне уявлення про WebAssembly](https://drive.google.com/drive/folders/1heGh7e7Pu-L6lMidJj0fPWu_j1K1qUkc) ( _reading_ ) +- [Демонстрація Wat2wasm для конвертації](https://webassembly.github.io/wabt/demo/wat2wasm/) + +## Вправи + + + +- [Rustlings](https://github.com/rust-lang/rustlings) ( _official_ ) ( _interactive_ ) +- [Exercism](https://exercism.org/tracks/rust) ( _interactive_ ) : інтерактивні вправи +- [Rust практика](https://practice.rs/why-exercise.html) від [Sunface](https://github.com/sunface) ( _interactive_ ) +- [Тур по Rust](https://tourofrust.com/index.html) [:uk:](https://tourofrust.com/index.html) [:ukraine:](https://tourofrust.com/00_ua.html) ( _вправи_ ) +- [Поліпшення книги про Rust](https://rust-book.cs.brown.edu/experiment-intro.html) ( _drill_ ) ( _reading_ ) + +## Інтерактивний набір інструментів + + + +- :star: [Майданчик Rust](https://play.rust-lang.org/) ( _official_ ) +- [Rust Explaine](https://jrvidal.github.io/explaine.rs/) +- [Rust to Assembler](https://godbolt.org/) + +## Шпаргалки + +( _cheatsheet_ ) + +- [Шпаргалка з мови Rust](https://cheats.rs/) від [Ральф Бідерт](https://xr.io/) +- [Макет пам'яті](./cheat_sheets.md#memory-layout) від Рафа Левіена +- [Шпаргалка](https://github.com/donbright/rust-lang-cheat-sheet) від [Дона Брайта](https://github.com/donbright) : основи +- [Конкурентність](https://github.com/quambene/rust-concurrency) від [quambene](https://github.com/quambene) +- [Шпаргалка по Rust для початківців](https://quickref.me/rust) : основи + +## Алгоритмічні задачі та рішення на Rust + +( _algo_ ) + +- [Rust Gym](https://github.com/rust-lang-ua/rustgym_eng) від [Ларрі Фентезі](https://github.com/warycat) +- [Усі алгоритми, реалізовані на Rust](https://github.com/TheAlgorithms/Rust) від [The Algorithms](https://github.com/TheAlgorithms) +- [Rosetta Code: Rust](https://github.com/rust-rosetta/rust-rosetta) від [rust-rosetta](https://github.com/rust-rosetta) +- [Шаблони проектування на Rust](https://github.com/fadeevab/design-patterns-rust) від [Олександра Фадєєва](https://github.com/fadeevab) + +## DSL + +( _dsl_ ) + +- [Побудова мовної VM](https://medium.com/iridium-vm) від [Флетчера Хейнса](https://medium.com/@subnet_zero) ( _reading_ ) ( _edu_project_ ) ( _dsl_ ) +- [Написання мови програмування](https://www.youtube.com/playlist?list=PLkpGh2gaaueyzEAn07jf44LdscDeWRyzy) від [Шона Келлехера](https://www.youtube.com/user/eZanmoto) ( :movie_camera: ) ( _edu_project_ ) ( _dsl_ ) + +## Навчальні проекти + +( _edu_project_ ) + +- [Створення власного виконувального пакувальника](https://fasterthanli.me/series/making-our-own-executable-packer) від [Амоса](https://fasterthanli.me/about) ( _reading_ ) ( _edu_project_ ) ( _about:memory_ ) +- [Написання мови програмування](https://www.youtube.com/playlist?list=PLkpGh2gaaueyzEAn07jf44LdscDeWRyzy) від [Шона Келлехера](https://www.youtube.com/user/eZanmoto) ( :movie_camera: ) ( _edu_project_ ) ( _dsl_ ) +- [Побудова мовної VM](https://medium.com/iridium-vm) від [Флетчера Хейнса](https://medium.com/@subnet_zero) ( _reading_ ) ( _edu_project_ ) ( _dsl_ ) +- [Створення системи рефлексії під час виконання для Rust](https://www.osohq.com/post/rust-reflection-pt-1) від [OSO](https://www.osohq.com/) + +## Несортовані теми + +- [Безпека в системному програмуванні від Стенфордського університету](https://web.stanford.edu/class/cs110l/) від Раяна Еберхардта та Хуліо Балліста ( _reading_ ) ( _course_ ) +- [Курс програмування Rust в галузі комп'ютерних наук від Університету Пенсильванії](http://cis198-2016s.github.io/schedule/) ( _reading_ ) ( _course_ ) +- [Рефакторинг на Rust](https://livebook.manning.com/book/refactoring-to-rust/chapter-1/v-2/) від [Лілі Мари](https://github.com/lily-mara) :blue_book: ( _book_ ) ( _reading_ ) ( _advanced_ ) : +- [r4cppp](https://github.com/nrc/r4cppp) від [Ніка Камерона](https://github.com/nrc) : Rust для C++ програмістів + +## Компіляція під різні платформи + +( _about:cross_compile_ ) ( _specific_ ) + +- [rust-cross](https://github.com/japaric/rust-cross) від [Хорхе Апарісіо](https://github.com/japaric) ( _reading_ ) ( _article_ ) +- [Компіляція Rust з macOS на Linux](https://betterprogramming.pub/cross-compiling-rust-from-mac-to-linux-7fad5a454ab1) від [Мерліна Фукса](https://medium.com/@merlinfuchs) ( _reading_ ) ( _article_ ) +- [Перехресна компіляція Rust з Linux на macOS](https://wapl.es/rust/2019/02/17/rust-cross-compile-linux-to-macos.html) від [Джеймса Ваплеса](https://wapl.es) ( _reading_ ) ( _article_ ) +- [Компіляція Windows-бінарників з Linux](https://jake-shadle.github.io/xwin/) від [Джейка Шедла](https://github.com/Jake-Shadle) ( _reading_ ) ( _article_ ) + +## Оптимізація розміру + +( _about:optimization_ ) + +- [Як оптимізувати розмір виконуваного бінарного файлу](https://github.com/johnthagen/min-sized-rust) від [Джона Тагена](https://github.com/johnthagen) ( _reading_ ) ( _article_ ) +- [Як оптимізувати розмір виконуваного бінарного файлу](https://users.rust-lang.org/t/size-of-the-executable-binary-file-of-an-application/62160/7) ( _reading_ ) ( _article_ ) +- [Як оптимізувати розмір виконуваного бінарного файлу WebAssembly](http://cliffle.com/blog/bare-metal-wasm/#help-i-need-trig-importing-functions-from-javascript) ( _reading_ ) ( _article_ ) +- [Оптимізація розміру бінарних файлів Rust за допомогою cargo та Semver](https://oknozor.github.io/blog/optimize-rust-binary-size/) від [Поля Делафосса](https://oknozor.github.io/blog/) ( _reading_ ) ( _article_ ) +- [Зменшення розміру .wasm коду](https://rustwasm.github.io/docs/book/reference/code-size.html) від [Rust and WebAssembly](https://rustwasm.github.io/docs/book/introduction.html) ( _reading_ ) ( _article_ ) + +## Оптимізація продуктивності + +( _about:optimization_ ) + +- [Книга з продуктивності Rust](https://nnethercote.github.io/perf-book/introduction.html) ( _reading_ ) +- [Оптимізація профільного керування](https://github.com/Kobzol/cargo-pgo) від [Якуба Беранека](https://github.com/Kobzol) ( _reading_ ) ( _article_ ) + +## Паралелізм + +( _about:concurrency_ ) + +- [Асинхронність проти багатопотоковості](https://github.com/Learn-Together-Pro/ComputerScience/blob/master/cheatsheets.md#asynchronous-vs) від [Learn Together](https://github.com/Learn-Together-Pro) ( _cheatsheet_ ) ( _about:concurrency_ ) +- [Атомарність та блокування в Rust](https://marabos.nl/atomics/) від [Мари Бос](https://github.com/m-ou-se) ( _reading_ ) ( _book_ ) ( _about:concurrency_ ) +- [Паралелізм](https://github.com/quambene/rust-concurrency) від [quambene](https://github.com/quambene) ( _cheatsheet_ ) ( _about:concurrency_ ) : шпаргалка з паралелізму та асинхронності + +## Асинхронність + +( _about:async_ ) + +- [Асинхронне програмування в Rust](https://rust-lang.github.io/async-book/) [:uk:](https://rust-lang.github.io/async-book/) [:pirate_flag:](https://doc.rust-lang.ru/async-book/) ( _reading_ ) ( _official_ ) ( _general_ ) ( _course_ ) ( _about:async_ ) +- [Async/await](https://www.youtube.com/watch?v=ThjvMReOXYM) від [Джона Гєнгсета](https://www.youtube.com/c/JonGjengset) ( _introductory_ ) ( :movie_camera: ) : вступ до async/await +- [Чому, що і як закріплювати в Rust](https://www.youtube.com/watch?v=DkMwYxfSYNQ) від [Джона Гєнгсета](https://www.youtube.com/c/JonGjengset) ( _introductory_ ) ( :movie_camera: ) +- [Вступ до tokio](https://tokio.rs/tokio/tutorial) від [Аліс Ріль](https://ryhl.io/) ( _reading_ ) ( _course_ ) ( _introductory_ ) +- [Async: Що таке блокування?](https://ryhl.io/blog/async-what-is-blocking/) від [Аліс Ріль](https://ryhl.io/) ( _reading_ ) ( _article_ ) ( _introductory_ ) +- [Pin та страждання](https://fasterthanli.me/articles/pin-and-suffering) від [Амоса](https://fasterthanli.me/) ( _reading_ ) ( _advanced_ ) +- [Майстерня: реалізація чат-сервера](https://github.com/hawkw/async-workshop) від [Елізи Вейсман](https://github.com/hawkw) ( _reading_ ) ( _навчальні матеріали_ ) + +## Семантика власності + +( _about:ownership_semantics_ ) + +- [Deref проти AsRef проти Borrow проти Cow](https://dev.to/zhanghandong/rust-concept-clarification-deref-vs-asref-vs-borrow-vs-cow-13g6) від [Алекса](https://dev.to/zhanghandong) +- [Розуміння часів життя в Rust](https://blog.logrocket.com/understanding-lifetimes-in-rust/) від [Томаса Хартмана](https://blog.logrocket.com/author/thomasheartman/) ( _reading_ ) ( _article_ ) +- [Поширені неправильності про часи життя в Rust](https://github.com/pretzelhammer/rust-blog/blob/master/posts/common-rust-lifetime-misconceptions.md) від [pretzelhammer](https://github.com/pretzelhammer) : +- [Книга про часи життя в Rust](https://okryvyts.github.io/lifetimes-book/) від [okryvyts](https://github.com/okryvyts) + +## Пам'ять + +( _about:mem_ ) + +- [:star: Візуалізація структури пам'яті типів даних Rust](https://www.youtube.com/watch?v=rDoqT-a6UFg) від [Сріканта](https://www.youtube.com/channel/UCjRVKSokBHlljocLdnUD9pg) ( :movie_camera: ) ( _article_ ) : все про структуру пам'яті +- [Rust Visualized: Стек, Купа та Вказівники](https://dev.to/ender_minyard/rust-visualized-the-stack-the-heap-and-pointers-a5c) від [Ендера Міньярда](https://dev.to/ender_minyard) ( _reading_ ) ( _article_ ) +- [Рядки в Rust](https://bes.github.io/blog/rust-strings/) від [Еріка Зівковіча](https://bes.github.io/) ( _reading_ ) ( _article_ ) +- [Створення власного обгорткового пакувальника для виконуваних файлів](https://fasterthanli.me/series/making-our-own-executable-packer) від [Амоса](https://fasterthanli.me/about) ( _reading_ ) ( _course_ ) ( _about:memory_ ) +- [Вказівники складні](https://www.ralfj.de/blog/2018/07/24/pointers-and-bytes.html) від [ralfj.de](https://www.ralfj.de/) ( _reading_ ) ( _article_ ) +- [Вказівники складні II, або: Нам потрібні кращі специфікації мови](https://www.ralfj.de/blog/2020/12/14/provenance.html) від [ralfj.de](https://www.ralfj.de/) ( _reading_ ) ( _article_ ) +- [Вказівники складні III, або: Розкриті маніпуляції між вказівниками та цілими числами](https://www.ralfj.de/blog/2022/04/11/provenance-exposed.html) від [ralfj.de](https://www.ralfj.de/) ( _reading_ ) ( _article_ ) +- [Макет пам'яті](./cheat_sheets.md#memory-layout) by Raph Levien ( _cheatsheet_ ) +- [Rustonomicon](https://doc.rust-lang.org/nomicon/) ( _course_ ) ( _reading_ ) ( _official_ ) : небезпечне програмування +- [Атоми та блокування в Rust](https://marabos.nl/atomics/) від [Мари Бос](https://github.com/m-ou-se) ( _reading_ ) ( _book_ ) + +## Unsafe + +- [Rustonomicon](https://doc.rust-lang.org/nomicon/) ( _course_ ) ( _reading_ ) ( _official_ ) : програмування, яке не є безпечним +- [Довідник з небезпечного коду](https://rust-lang.github.io/unsafe-code-guidelines/introduction.html) ( _reading_ ) ( _official_ ) + +## FFI + +( _about:ffi_ ) + +- [Керівництво користувача UniFFI](https://mozilla.github.io/uniffi-rs/Overview.html) ( _reading_ ) + +## Вбудовані системи + +( _about:embed_ ) + +- [Потужність Embed у Rust](https://github.com/rust-embedded/awesome-embedded-rust) від [Rust Embedded](https://github.com/rust-embedded) ( _collection_ ) : збірка навчальних ресурсів та інструментів про вбудовані системи у Rust +- [Вбудовані системи у Rust](http://blog.japaric.io/) від [Хорхе Апарісіо](https://github.com/japaric) ( _blog_ ) : блог про вбудовані системи у Rust +- [Rustonomicon](https://doc.rust-lang.org/nomicon/) ( _course_ ) ( _reading_ ) ( _official_ ) : програмування, яке не є безпечним +- [Висока завіреність у Rust](https://highassurance.rs/landing.html) ( _course_ ) ( _reading_ ) : розробка безпечного та надійного програмного забезпечення +- [Книга з вбудованих систем у Rust](https://docs.rust-embedded.org/book/intro/index.html) ( _course_ ) ( _reading_ ) + +## Ядро / Драйвери + +( _about:embed_ ) + +- :star: [Написання ОС у Rust](https://os.phil-opp.com/) від [Філіппа Оппермана](https://github.com/phil-opp) + +## Структури з само-посиланнями + +( _about:self_ref_ ) + +- [Само-посилані структури](https://www.youtube.com/watch?v=xNrglKGi-7o) від [Амоса](https://www.youtube.com/channel/UCs4fQRyl1TJvoeOdekW6lYA) : +- [Вивчення Rust за допомогою надто багатьох зв'язаних списків](https://rust-unofficial.github.io/too-many-lists/) + +## Замикання + +( _about:closure_ ) + +- [Знаходження Замикань](https://huonw.github.io/blog/2015/05/finding-closure-in-rust/) від [Хуона Вільсона](https://huonw.github.io/about/) ( _reading_ ) ( _article_ ) +- [Розуміння Замикань](https://medium.com/swlh/understanding-closures-in-rust-21f286ed1759) від [Ендрю Притчард](https://andrewjpritchard.medium.com/) ( _reading_ ) ( _article_ ) + +## Веб-розробка: back-end + +( _about:web_ ) + +- [Перевірка вхідних JSON-даних](https://vinted.engineering/2021/02/15/validating-json-input-in-rust-web-services/) від [Євалдаса Буінаускаса](https://github.com/buinauskas) ( _reading_ ) ( _article_ ) +- [Веб-розробка за допомогою Rust](https://www.youtube.com/playlist?list=PLECOtlti4Psr4hXVX5GuSvLKp0-RZjz93) від [Genus-v Programming](https://www.youtube.com/c/GenusvProgramming) ( :movie_camera: ) ( _course_ ) +- [Порівняння бек-енд фреймворків у Rust](https://github.com/qarux/learn_rust_together/blob/master/research/rust-backend-frameworks-comparison.md) +- [Вступ до Axum](https://www.youtube.com/playlist?list=PLrmY5pVcnuE-_CP7XZ_44HN-mDrLQV4nS) ( :movie_camera: ) +- [Rust на Nails](https://rust-on-nails.com/) - проект на основі Axum від початку до розгортання ( _project_ ) + +## Веб-розробка: front-end + +( _about:web_ ) ( _about:web_frontend_ ) + +- [Курс по Yew](https://www.youtube.com/watch?v=lmLiMozWNGA) від [Джеффа Но Жао](https://www.youtube.com/channel/UC6NPLaq5poP-CoLo3DPCC8w) ( :movie_camera: ) ( _article_ ) +- [Rust + Elm](https://www.youtube.com/playlist?list=PLI7Ebs6ANCju0IPc3_nB_zQVJqDIibUbo) : ( :movie_camera: ) +- [Огляд Elm](https://www.youtube.com/playlist?list=PLI7Ebs6ANCjtnsXkxFJsUO1U3o3goVd6j) : ( :movie_camera: ) + +## Обробка помилок + +( _about:errors_handling_ ) + +- [Обробка помилок](https://www.lpalmieri.com/posts/error-handling-rust/) від [Zero to Production](https://www.zero2prod.com/index.html?country=Ukraine&discount_code=EEU60) + + + +## Графіка + +( _about:graphics_ ) + +- [Вивчення Wgpu](https://sotrh.github.io/learn-wgpu/) від [sotrh](https://github.com/sotrh) : хороше введення до [wgpu](https://github.com/gfx-rs/wgpu) ( _reading_ ) ( _course_ ) +- [Посібник з WebGL про воду](https://github.com/chinedufn/webgl-water-tutorial) від [Чінеду Френсіс Нвафілі](https://github.com/chinedufn) +- [Неофіційна Книга-Шпаргалка Bevy](https://bevy-cheatbook.github.io/) від [Іди Ієс ](https://github.com/inodentry) +- [Ресурси Bevy](https://github.com/bevyengine/bevy-assets) від [Картера Андерсона](https://github.com/cart) : збірка ресурсів Bevy, плагінів, навчальних матеріалів та додатків + +## Історія та передбачення + +( _predictions_ ) + +- [Історія та передбачення](https://www.youtube.com/watch?v=QyJZzq0v7Z4) ( :movie_camera: ) ( _playlist_ ) +- [Чому Функціональне програмування не є нормою?](https://www.youtube.com/watch?v=QyJZzq0v7Z4) від [Річарда Фельдмана](https://github.com/rtfeldman) ( :movie_camera: ) + +## Rust як навчальний курс + +( _teachings_material_ ) + +- [101-rs](https://github.com/tweedegolf/101-rs) від [Генка Оорта](https://github.com/hdoordt) ( _reading_ ) : Rust 101 - це університетський курс для студентів факультету комп'ютерних наук, який вводить у мову програмування Rust. +- [Rust на практиці](https://practice.rs/why-exercise.html) від [Sunface](https://github.com/sunface) ( _interactive_ ) +- [Rust Incubator](https://github.com/rust-lang-ua/rust_incubator) від [Instrumentisto](https://github.com/instrumentisto) та [нашої спільноти](https://github.com/rust-lang-ua/learn_rust_together) ( _reading_ ) ( _course_ ) ( _about:idiomatic_ ) +- [Ефективний Rust](https://www.lurklurk.org/effective-rust/cover.html) від [Девіда Драйсдейла]() ( _reading_ ) ( _course_ ) ( _about:idiomatic_ ) +- [Rust високої надійності](https://highassurance.rs/landing.html) ( _reading_ ) : розробка безпечного та надійного програмного забезпечення +- [Написання ОС на Rust](https://os.phil-opp.com/) від [Філіппа Оппермана](https://github.com/phil-opp) +- [Навчальний матеріал](https://github.com/ferrous-systems/teaching-material/tree/main) від [Ferrous](https://github.com/ferrous-systems) +- [Навчальна програма](https://github.com/ferrous-systems/rust-training/blob/main/training-slides/src/SUMMARY.md) від [Ferrous](https://github.com/ferrous-systems) +- [Embed Training](https://github.com/esp-rs/std-training) від [Ferrous](https://github.com/ferrous-systems) +- [Майстерня: реалізація чат-сервера](https://github.com/hawkw/async-workshop) від [Елізи Вейсман](https://github.com/hawkw) ( _reading_ ) ( _about:async_ ) +- [Всебічний Rust](https://google.github.io/comprehensive-rust/) від [Google]() +- [Основи мови Rust](https://www.linkedin.com/learning/rust-essential-training/learn-rust-programming) від [LinkedIn](https://www.linkedin.com) ( :movie_camera: ) ( _course_ ) +- [Простий Rust](https://dhghomon.github.io/easy_rust/Chapter_0.html) від [Девіда МакЛеода](https://github.com/Dhghomon) ( _reading_ ) ( _course_ ) +- [Тур по Rust](https://tourofrust.com/index.html) [:uk:](https://tourofrust.com/index.html) [:ukraine:](https://tourofrust.com/00_ua.html) ( _вправи_ ) +- [Вивчення програмування на Rust - Повний курс](https://www.youtube.com/watch?v=BpPEoZW5IiY) від [Free Code Camp](https://www.youtube.com/@freecodecamp) ( :movie_camera: ) ( _course_ ) +- [Навчання програмуванню на Rust](https://www.youtube.com/playlist?list=PLlb7e2G7aSpTfhiECYNI2EZ1uAluUqE_e) від [Центру Комп'ютерних Наук](https://www.youtube.com/c/CompscicenterRu) ( :movie_camera: ) ( _non-eng_ ) + +## Пояснення до теґів + +- :star: - рекомендовані та високо рекомендовані матеріали +- ( _general_ ) - матеріали загального призначення +- ( _specific_ ) - матеріали, специфічні для конкретної галузі +- ( _official_ ) - офіційні матеріали Rust +- ( _non-eng_ ) - матеріали не англійською мовою +- ( _introductory_ ) - матеріали для введення + ( _advanced_ ) - матеріали вищого рівня +- ( _course_ ) - складається з серії текстових/відеоматеріалів, спрямованих на надання читачеві міцних фундаментальних знань +- ( _book_ ) - книга +- ( _reference_ ) - довідковий посібник +- ( _article_ ) - або одна стаття, або один відео-урок +- ( _not-finished_ ) - не завершено, недостатньо для освоєння +- ( _interactive_ ) - можливість взаємодії та отримання відгуку від системи +- ( _reading_ ) - матеріал для читання +- ( :movie_camera: ) - матеріал для перегляду +- ( _audio_ ) - матеріал для прослуховування +- ( _collection_ ) - список ресурсів +- ( _newspaper_ ) - регулярно оновлюваний список статей +- ( _cheatsheet_ ) - шпаргалка +- ( _project_ ) - проект +- ( _algo_ ) - алгоритмічні задачі та рішення +- ( _edu_project_ ) - освітні проекти +- ( _predictions_ ) - історія та прогнози +- ( _blog_ ) - блог +- ( _teachings_material_ ) - Навчальні матеріали та майстер-класи +- ( _teaching_materials_ ) - Навчальні матеріали +- ( _about:setup_ ) - як встановити Rust і налаштувати середовище розробки +- ( _about:cargo_ ) - як налаштувати робоче оточення Cargo +- ( _about:cli_ ) - про консольні застосунки +- ( _about:cross_compile_ ) - як збирати з одної платформи на іншу +- ( _about:unsafe_ ) - функції, доступні в небезпечному Rust, докладно +- ( _about:mem_ ) - про управління пам'яттю в Rust, різницю між стеком, купою, сегментами коду тощо +- ( _about:optimization_ ) - оптимізацію розміру +- ( _about:concurrency_ ) - про конкурентність +- ( _about:async_ ) - про асинхронне програмування +- ( _about:ownership_semantics_ ) - про володіння/виписування/ліфтайми +- ( _about:closure_ ) - про замикання +- ( _about:self_ref_ ) - про самоспрямовані структури +- ( _about:macro_ ) - про макроси +- ( _about:webasm_ ) - про WebAssembly +- ( _about:web_ ) - розробка для вебу +- ( _about:graphics_ ) - графіку +- ( _about:errors_handling_ ) - належна обробка помилок +- ( _about:ffi_ ) - про інтерфейс іноземних функцій +- ( _about:embed_ ) - вбудоване програмне забезпечення diff --git a/readme_ua.md b/readme_ua.md index a362df2..42f9d4d 100644 --- a/readme_ua.md +++ b/readme_ua.md @@ -5,7 +5,7 @@ [![Вивчаємо Rust Разом](https://raw.githubusercontent.com/rust-lang-ua/learn_rust_together/59713d4ae68edc4aa1447a1194f772adb4cecde0/asset/logo/Collage_2.jpg)](https://github.com/rust-lang-ua/learn_rust_together) ## Хто ми? -Ми - українська гілка спільноти Rust ентузіастів. Читайте більше [про нас](about_us.md) та наші цінності. +Ми - українська гілка спільноти Rust ентузіастів. Читайте більше [про нас](about_us_ukr.md) та наші цінності. ## Що це? Цей репозиторій містить близько десятка підібраних колекцій: навчальні матеріали, набори інструментів, новинні джерела, робочі групи, колекції інших колекцій. Тобто все, що буде тобі корисне, якщо ти Rust розробник. @@ -13,18 +13,18 @@ Тут ти можеш знайти: -- :footprints:️ [Розпочни](./introduction.md) : налаштування та покроковий вступ у програмування на Rust -- :mortar_board: [Вивчай](./learn.md) : колекція навчальних матеріалів для Rust -- :chart_with_upwards_trend: [Систематизуй](./cheat_sheets.md) : колекція шпаргалок -- :speech_balloon: [Комунікуй](./communicate.md) : колекція чатів та форумів -- :question: [Запитуй](./about_us.md#question-faq) : наші FAQ та правила спільноти -- :wrench: [Досліджуй](./toolbox_general.md) : загальний набір інструментів із колекцією крейтів -- :video_game: [Досліджуй](./toolbox_multimedia.md) : мультимедійний набір інструментів із колекцією крейтів для ГеймДеву, Графіки,Відео та Аудіо -- :infinity: [Досліджуй](./toolbox_scientific.md) : інженерний набір інструментів із колекцією крейтів для Математики, Фізики, Лінійної Алгебри, Машинного Навчання, Цифрової Обробки Сигналів -- :package: [Досліджуй](./toolbox_distros.md) : дистрибутивний набір інструментів із колекцією утиліт, написаних на Rust для використання поза екосистемою Rust -- :label: [Шукай](./collection_of_collections.md#label-projects-catalogue) : каталог проєктів -- :newspaper: [Будь в курсі](./collection_of_collections.md#newspaper-newspapers-and-working-groups) : новинні джерела та робочі групи -- :globe_with_meridians: [Все ще не достатньо](./collection_of_collections.md#globe_with_meridians-other-collections-on-rust) : інші Rust колекції +- :footprints:️ [Розпочни](./introduction_ua.md) : налаштування та покроковий вступ у програмування на Rust +- :mortar_board: [Вивчай](./learn_ua.md) : колекція навчальних матеріалів для Rust +- :chart_with_upwards_trend: [Систематизуй](./cheat_sheets_ua.md) : колекція шпаргалок +- :speech_balloon: [Комунікуй](./communicate_ua.md) : колекція чатів та форумів +- :question: [Запитуй](./about_us_ukr.md#question-faq) : наші FAQ та правила спільноти +- :wrench: [Досліджуй](./toolbox_general_ua.md) : загальний набір інструментів із колекцією крейтів +- :video_game: [Досліджуй](./toolbox_multimedia_ua.md) : мультимедійний набір інструментів із колекцією крейтів для ГеймДеву, Графіки,Відео та Аудіо +- :infinity: [Досліджуй](./toolbox_scientific_ua.md) : інженерний набір інструментів із колекцією крейтів для Математики, Фізики, Лінійної Алгебри, Машинного Навчання, Цифрової Обробки Сигналів +- :package: [Досліджуй](./toolbox_distros_ua.md) : дистрибутивний набір інструментів із колекцією утиліт, написаних на Rust для використання поза екосистемою Rust +- :label: [Шукай](./collection_of_collections_ua.md#label-каталог-проєктів) : каталог проєктів +- :newspaper: [Будь в курсі](./collection_of_collections_ua.md#newspaper-новинні-джерела-та-робочі-групи) : новинні джерела та робочі групи +- :globe_with_meridians: [Все ще не достатньо](./collection_of_collections_ua.md#globe_with_meridians-інші-rust-колекції) : інші Rust колекції ## Долучайся diff --git a/rust_setup_ua.md b/rust_setup_ua.md new file mode 100644 index 0000000..e5a9aef --- /dev/null +++ b/rust_setup_ua.md @@ -0,0 +1,16 @@ +## :gear: Як налаштувати Rust: + +Для початку роботи з Rust вам, очевидно, потрібно налаштувати своє середовище.
+Ось короткий посібник: + +**Windows:** + 1. По-перше, вам потрібно встановити [rustup](https://github.com/rust-lang/rustup.rs), який є інсталятором та засобом управління версіями Rust. + 2. Вам також може знадобитися встановити [Засоби збірки Visual Studio C++](https://visualstudio.microsoft.com/visual-cpp-build-tools/), якщо вони ще не встановлені, оскільки вони є обов'язковими для запуску програми Rust на Windows. + 3. Після завершення встановлення rustup ви також отримаєте останню стабільну версію інструмента збірки та менеджера пакетів Rust - `Cargo`, який допоможе вам будувати, запускати та тестувати ваші проекти. + 4. Щоб переконатися, що Rust і Cargo встановлені правильно, виконайте команду `cargo --version` у вашому терміналі на вибір. + +**Linux/Mac:** +1. Щоб встановити rustup на Linux або macOS, відкрийте термінал та введіть наступну команду `curl https://sh.rustup.rs -sSf | sh`. +2. Після завершення встановлення Rust, директорія bin Cargo (`~/.cargo/bin` - де встановлені всі інструменти) буде додана в змінну середовища PATH у вашому файлі `~/.profile`. + +:zap: Щоб отримати більш детальний опис або інші способи налаштування середовища Rust, перейдіть до нашого [списку матеріалів з налаштування](./learn_ua.md#налаштування). diff --git a/toolbox_distros_ua.md b/toolbox_distros_ua.md new file mode 100644 index 0000000..c0c6ec7 --- /dev/null +++ b/toolbox_distros_ua.md @@ -0,0 +1,187 @@ +# :package: Чудова Колекція Дистрибутивів + +Чудова колекція утиліт, написаних мовою Rust, для розповсюдження поза екосистемою Rust. Зібрано нами. + +Вас також можуть цікавити інші набори інструментів: + +- :wrench: [Досліджуй](./toolbox_general_ua.md): загальнопризначений набір інструментів із колекцією крейтів. +- :video_game: [Досліджуй](./toolbox_multimedia_ua.md): мультимедійний набір інструментів із колекцією крейтів для розробки ігор, графіки, відео та аудіо. +- :infinity: [Досліджуй](./toolbox_scientific_ua.md): науковий набір інструментів із колекцією крейтів для математики, фізики, лінійної алгебри, машинного навчання та обробки сигналів. +- :package: [Досліджуй](./toolbox_distros_ua.md): набір інструментів дистрибутивів із колекцією утиліт, написаних мовою Rust, для розповсюдження поза екосистемою Rust. + +[:arrow_down: Пояснення до теґів](#пояснення-до-теґів) у кінці сторінки. + + + +## Генерація сайтів + +( _site_generation_ ) + +- [zola](https://github.com/getzola/zola) від [Vincent Prouillet](https://github.com/Keats): генератор статичних сайтів у єдиному виконавчому файлі +- [mdbook](https://github.com/rust-lang/mdBook): [документація](http://rust-lang.github.io/mdBook/index.html) +- [mkdocs-material](https://github.com/squidfunk/mkdocs-material) від [Martin Donath](https://github.com/squidfunk): [сайт](https://squidfunk.github.io/mkdocs-material/) + +## Дистрибутиви загального призначення + +( _general_purpose_ ) + +## Вилучення та перетворення + +( _extract_transform_ ) + +- [xsv](https://github.com/BurntSushi/xsv) від [Andrew Gallant](https://github.com/BurntSushi): CUI для читання CSV +- [jaq](https://github.com/01mf02/jaq) від [Michael Färber](https://github.com/01mf02): обробник JSON + +## CLI для API сервісів + +( _cli_for_services_ ) + +- [wiki-tui](https://github.com/Builditluc/wiki-tui) від [Builditluc](https://github.com/Builditluc): TUI для пошуку вікіпедії без браузера. Зберігає журнал відвіданих сторінок в каталозі запуску. + +## Веб-сервер + +( _web_backend_ ) + +[simple-http-server](https://github.com/thewawar/simple-http-server) від [LinFeng](https://github.com/thewawar): простий статичний сервер +[penguin](https://github.com/LukasKalbertodt/penguin) від [Lukas Kalbertodt](https://github.com/LukasKalbertodt): простий статичний сервер + +## Управління + +( _management_ ) + +- [bartib](https://github.com/nikolassv/bartib) від [Nikolas Schmidt-Voigt](https://github.com/nikolassv): CUI для відстежування часу +- [porsmo](https://crates.io/crates/porsmo) від [Color Cookie](https://github.com/ColorCookie-dev): CUI для управління часом за методом Помодоро + +## Шаблони + +- [eve](https://github.com/XAMPPRocky/eve) від [Erin P](https://github.com/XAMPPRocky): CUI для шаблонів на основі змінних середовища + +## Дистрибутиви операційної системи + +- [oreutils](https://github.com/Manishearth/oreutils) від [Manish Goregaokar](https://github.com/Manishearth): колекція дистрибутивів для заміни стандартних дистрибутивів у мові C +- [bottom](https://github.com/ClementTsang/bottom) від [Clement Tsang](https://github.com/ClementTsang): багатоплатформний графічний монітор процесів/системи + +## Вихідний код + +- [loc](https://github.com/cgag/loc) від [Curtis Gagliardi](https://github.com/cgag): CUI для швидкого підрахунку рядків коду +- [tokei](https://github.com/XAMPPRocky/tokei) від [Erin P](https://github.com/XAMPPRocky): CUI для швидкого підрахунку рядків коду +- [silicon](https://github.com/Aloxaf/silicon) від [Aloxaf](https://github.com/Aloxaf): CUI для створення зображення з вашого вихідного коду +- [rust-highlight](https://github.com/KokaKiwi/rust-highlight) від [extrawurst](https://github.com/KokaKiwi): експорт коду Rust у вигляді HTML + +## Для розподілених систем + +( _distributed_systems_ ) + +- [vector](https://github.com/vectordotdev/vector) від [Luke Steensen](https://github.com/lukesteensen): агрегатор даних +- [meilisearch](https://github.com/meilisearch/meilisearch) від [Clément Renault](https://github.com/Kerollmops): швидкий пошуковий двигун + + + +## Мережа + +- [websocat](https://github.com/vi/websocat) від [Vitaly Shukela](https://github.com/vi): CUI для зв'язку через WebSocket +- [netop](https://github.com/ZingerLittleBee/netop) від [ZingerLittleBee](https://github.com/ZingerLittleBee): моніторинг мережевої активності +- [niping](https://github.com/zhiburt/niping) від [Maxim Zhiburt](https://github.com/zhiburt): ping +- [speedtest-rs](https://github.com/nelsonjchen/speedtest-rs) від [Nelson Chen](https://github.com/nelsonjchen): перевірка швидкості підключення до Інтернету +- [rural](https://github.com/saghm/rural) від [Saghm Rossi](https://github.com/saghm): CUI інструмент HTTP, схожий на curl + +## Адміністрування + +( _administration_ ) + +- [pipr](https://github.com/elkowar/pipr) від [ElKowar](https://github.com/elkowar): інтерактивне створення конвеєрів команд в оболонці +- [wezterm](https://github.com/wez/wezterm) від [Wez Furlong](https://github.com/wez): термінальний емулятор з підтримкою GPU для крос-платформ +- [alacritty](https://github.com/alacritty/alacritty) від [Joe Wilm](https://github.com/jwilm): крос-платформений термінальний емулятор на OpenGL +- [log-analyzer-pro](https://github.com/MrCasCode/log-analyzer-pro) від [Mario Casals](https://github.com/MrCasCode): аналізатор журналу + +## Дистрибутиви файлової системи + +( _дистрибутиви_файлової_системи_ ) + +- [dua-cli](https://github.com/Byron/dua-cli) від [Sebastian Thiel](https://github.com/Byron): CUI для перегляду використання дискового простору та видалення непотрібних даних +- [du-dust](https://github.com/bootandy/dust) від [Andy Boot](https://www.nuclearcarrot.co.uk/aboutme/): CUI для перегляду використання дискового простору. du + rust = dust. Схожий на du, але більш інтуїтивний. +- [watchexec](https://github.com/watchexec/watchexec) від [Matt Green](https://github.com/mattgreen): виконує команди у відповідь на зміни файлів +- [broot](https://github.com/Canop/broot) від [Denys Séguret](https://github.com/Canop): CUI для навігації файлів +- [exa](https://github.com/ogham/exa) від [Benjamin Sago](https://github.com/ogham): краща версія `ls` з кольорами і більше +- [bat](https://github.com/sharkdp/bat) від [David Peter](https://github.com/sharkdp) : краща версія `cat` з підсвічуванням синтаксису та номерами рядків + +## Системи контролю версій + +( _vcs_ ) + +- [gitui](https://github.com/extrawurst/gitui) від [Stephan Dilly](https://github.com/extrawurst) : термінальний інтерфейс для Git +- [git-grab](https://github.com/wezm/git-grab) від [Wesley Moore](https://github.com/wezm) : клонування репозиторіїв Git в стандартну локацію, організовану за доменом та шляхом +- [gix](https://github.com/Byron/gitoxide) від [Sebastian Thiel](https://github.com/Byron) : користувацький інтерфейс для альтернативної реалізації Git + +## Агрегація потоків даних + +( _dsa_ ) + +- [rsspls](https://github.com/wezm/rsspls) від [Wesley Moore](https://github.com/wezm) : генерація RSS-стрічок з веб-сайтів + + + + + + + +## Пояснення до теґів + +- ( _site_generation_ ) - створення сайту з документації з MD або подібних мов +- ( _general_purpose_ ) - загальнопризначені дистрибутиви +- ( _extract_transform_ ) - видобуток та перетворення даних +- ( _cli_for_services_ ) - CLI для API сервісів +- ( _web_backend_ ) - веб-сервер +- ( _management_ ) - самокерування та управління бізнесом +- ( _posix_ ) - стандартні команди оболонки POSIX, пов'язані зі шелом +- ( _fs_ ) - файлова система +- ( _vcs_ ) - системи контролю версій +- ( _dsa_ ) - агрегація потоків даних +- ( _sys_info_ ) - отримання системної інформації +- ( _benchmark_ ) - інструменти та бібліотеки для тестування продуктивності +- ( _cpu_ ) - бібліотеки, пов'язані з процесором +- ( _gpu_ ) - бібліотеки, пов'язані з графічними процесорами diff --git a/toolbox_general_ua.md b/toolbox_general_ua.md new file mode 100644 index 0000000..5d30866 --- /dev/null +++ b/toolbox_general_ua.md @@ -0,0 +1,1043 @@ +# :wrench: Інструменти Розробника на Rust + +Чудова колекція крейтів для продуктивної розробки на Rust. Зібрано нами. + +Вас також можуть цікавити інші набори інструментів: + +- :wrench: [Досліджуй](./toolbox_general_ua.md) : набір загального призначення зі збіркою крейтів. +- :video_game: [Досліджуй](./toolbox_multimedia_ua.md) : мультимедійний набір інструментів зі збіркою крейтів для розробки ігор, графіки, відео та аудіо. +- :infinity: [Досліджуй](./toolbox_scientific_ua.md) : науковий набір інструментів зі збіркою крейтів для математики, фізики, лінійної алгебри, машинного навчання та обробки сигналів. +- :package: [Досліджуй](./toolbox_distros_ua.md) : набір інструментів для дистрибуції, написаних на Rust, поза екосистемою Rust. + +[:arrow_down: Пояснення до теґів](#пояснення-до-теґів) в кінці сторінки. + +## Обробка Помилок + +( _error_ ) + +- [miette](https://github.com/zkat/miette) від [Kat Marchán](https://github.com/zkat) : інструмент для звітування про помилки +- [thiserror](https://github.com/dtolnay/thiserror) від [David Tolnay](https://github.com/dtolnay) : макро-помилка для структур і типів помилок +- [anyhow](https://github.com/dtolnay/anyhow) від [David Tolnay](https://github.com/dtolnay) : загальний інтерфейс для помилок +- [flex-error](https://github.com/informalsystems/flex-error) від [Soares Chen](https://github.com/soareschen) : адаптер для підходів обробки помилок + +## Макроси + +( _macro_ ) + +- [paste](https://github.com/dtolnay/paste) від [David Tolnay](https://github.com/dtolnay) : обхід проблеми конкатенації ідентифікаторів +- [cargo-expand](https://github.com/dtolnay/cargo-expand) від [David Tolnay](https://github.com/dtolnay) : розширення для cargo для розкриття макросів +- [syn](https://github.com/dtolnay/syn) від [David Tolnay](https://github.com/dtolnay) : парсер для написання макросів +- [quote](https://github.com/dtolnay/quote) від [David Tolnay](https://github.com/dtolnay) : інструмент для написання процедурних макросів +- [rustversion](https://github.com/dtolnay/rustversion) від [David Tolnay](https://github.com/dtolnay) : умовна компіляція відповідно до версії компілятора rustc +- [macro_railroad](https://github.com/lukaslueg/macro_railroad) від [Lukas Lueg](https://github.com/lukaslueg) : для генерації синтаксичних діаграм для macro_rules!() +- [macro_railroad як сервіс](https://lukaslueg.github.io/macro_railroad_wasm_demo) від [Lukas Lueg](https://github.com/lukaslueg) : сервіс для генерації синтаксичних діаграм для macro_rules!() +- [litrs](https://github.com/LukasKalbertodt/litrs) від [Lukas Kalbertodt](https://github.com/LukasKalbertodt) : розбір літералів Rust + +## Метадані + +( _meta_ ) + +- [treeflection](https://github.com/rukai/treeflection) від [Lucas Kent](https://github.com/rukai) ( _ідея_ ) : псевдо-відбиток для структур і типів + +## Декоратори + +( _meta_ ) ( _decorator_ ) + +- [cfg_aliases](https://github.com/katharostech/cfg_aliases) від [Zicklag](https://github.com/zicklag) : псевдоніми для cfg +- [maplit](https://github.com/bluss/maplit) від [bluss](https://github.com/bluss) : літерал-макроси для контейнерів +- [literally](https://github.com/estk/literally) від [estk](https://github.com/estk) : альтернативні літерал-макроси для контейнерів +- [if_chain](https://github.com/lambda-fairy/if_chain) від [Chris Wong](https://github.com/lambda-fairy) : вкладені if let + +## Виводи + +( _meta_ ) ( _derive_ ) + +- [derive_more](https://github.com/JelteF/derive_more) від [Jelte Fennema](https://github.com/JelteF) : багато корисних виводів +- [derive-new](https://github.com/nrc/derive-new) від [Nick Cameron](https://github.com/nrc) : новий вивід +- [parse-display](https://github.com/frozenlib/parse-display) від [Frozenlib](https://github.com/frozenlib) ( _parser_ ) ( _рядкові перетворення_ ) : похідний макрос Display та FromStr +- [derive_is_enum_variant](https://github.com/fitzgen/derive_is_enum_variant) від [Nick Fitzgerald](https://github.com/fitzgen) : макрос для генерування методу is_variant для кожного варіанту перерахування +- [field_names](https://github.com/TedDriggs/field_names) від [Ted Driggs](https://github.com/TedDriggs) : похідний для перерахування імен полів, зв'язаних із структурою +- [strum](https://github.com/Peternator7/strum) від [Peter Glotfelty](https://github.com/Peternator7) ( _рядкові перетворення_ ) : рядкове представлення, розбір та ітерація перерахувань +- [derive_is_enum_variant](https://github.com/fitzgen/derive_is_enum_variant) від [Nick Fitzgerald](https://github.com/fitzgen) : макрос для генерування методу is_variant для кожного варіанту перерахування + +## Компілятори, Статичні аналізатори, форматери коду + +( _compiler_ ) + +- [rudra](https://github.com/sslab-gatech/Rudra) від [Yechan Bae](https://github.com/Qwaz) : виявлення невизначеного використання + + + +## Під час компіляції + +( _compile_time_ ) + +- [phf](https://github.com/rust-phf/rust-phf) від [Steven Fackler](https://github.com/sfackler) : хеш-таблиця під час компіляції +- [constrandom](https://github.com/tkaitchuck/constrandom) від [Tom Kaitchuck](https://github.com/tkaitchuck) : константи випадкової генерації під час компіляції +- [static_assertions](https://github.com/nvzqz/static-assertions-rs) від [Nikolai Vazquez](https://github.com/nvzqz) : перевірки під час компіляції +- [reinda](https://github.com/LukasKalbertodt/reinda) від [Lukas Kalbertodt](https://github.com/LukasKalbertodt) : вбудовані ресурси +- [vergen](https://github.com/rustyhorde/vergen) від [Jason Ozias](https://github.com/jasonozias) : ( _hardware_ ) ( _compile_time_ ) константи під час компіляції процесу компіляції +- [rust-embed](https://github.com/pyrossh/rust-embed) від [](https://github.com/pyrossh) : вбудовує файли у бінарний код Rust під час компіляції під час релізу та завантажує файли з файлової системи під час розробки + +## Глобальні + +( _global_ ) + +- :earth_africa: [once_cell](https://github.com/matklad/once_cell) від [Aleksey Kladov](https://github.com/matklad) : одноразові комірки і ліниві статичні змінні без макросів, найпопулярніші +- [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) від [Marvin Löbel](https://github.com/Kimundi) : макрос для визначення лінивих статичних змінних + +## Інтерфейс користувача + +( _ui_ ) ( _gui_ ) + +- [stretch](https://github.com/vislyhq/stretch) від [Emil Sjölander](https://github.com/vislyhq) : реалізація flexbox + +## Графічний інтерфейс (GUI) + +( _ui_ ) ( _gui_ ) + +- [egui](https://github.com/emilk/egui) від [Emil Ernerfeldt](https://github.com/emilk) : інтерфейс миттєвого режиму +- [imgui](https://github.com/imgui-rs/imgui-rs) від [Joonas Javanainen](https://github.com/Gekkio) : інтерфейс миттєвого режиму +- [iced](https://github.com/iced-rs/iced) від [Héctor Ramón](https://github.com/hecrj) : багатоплатформовий графічний інтерфейс, натхнений Elm +- [relm4](https://github.com/Relm4/relm4) від [Aaron Erhardt](https://github.com/AaronErhardt) : натхнений Elm і заснований на gtk4-rs +- [pw-viz](https://github.com/Ax9D/pw-viz) від [Ax9D](https://github.com/Ax9D) : графічний редактор +- [kayak_ui](https://github.com/StarArawn/kayak_ui) від [John Mitchell](https://github.com/StarArawn) : графічний інтерфейс гри +- [eww](https://github.com/elkowar/eww) від [ElKowar](https://github.com/elkowar) : розкривні віджети +- [unixbar](https://github.com/unrelentingtech/unixbar) від [Greg V](https://github.com/unrelentingtech) : десктопна панель в стилі UNIX + +## Команда введення / виведення інтерфейсу користувача + +( _ui_ ) ( _cui_ ) + +- [dialoguer](https://github.com/mitsuhiko/dialoguer) від [Armin Ronacher](https://github.com/mitsuhiko) : командні запити через командний рядок +- [indicatif](https://github.com/console-rs/indicatif) від [Armin Ronacher](https://github.com/mitsuhiko) : звіт про хід виконання через командний рядок + +## Введення / виведення текстового інтерфейсу користувача + +( _ui_ ) ( _tui_ ) + +- :earth_africa: [tui-rs](https://github.com/fdehau/tui-rs) від [Florian Dehau](https://github.com/fdehau) : найпопулярніший фреймворк TUI +- [cursive](https://github.com/gyscos/Cursive) від [Alexandre Bury](https://github.com/gyscos) : фреймворк TUI +- [expectrl](https://github.com/zhiburt/expectrl) від [Maxim Zhiburt](https://github.com/zhiburt) ( _тестування_ ) ( _os_ ) : керування введенням / виведенням інтерактивних програм + +## Розбір командного рядка + +( _ui_ ) ( _cui_ ) ( _cui_parsing_ ) + +- :earth_africa: [clap](https://github.com/clap-rs/clap) від [Kevin K.](https://github.com/kbknapp) : найпопулярніший розбір командного рядка +- [structopt](https://github.com/TeXitoi/structopt) від [Guillaume P.](https://github.com/TeXitoi) : розбір командного рядка з використанням структури +- [pico-args](https://github.com/RazrFalcon/pico-args) від [Yevhenii Reizner](https://github.com/RazrFalcon) : найменший інструмент командного рядка + +## Термінал + +( _terminal_ ) + +- :earth_africa: [console](https://github.com/mitsuhiko/console) від [Armin Ronacher](https://github.com/mitsuhiko) : найпопулярний модуль для керування терміналом +- [termion](https://gitlab.redox-os.org/redox-os/termion) від [Ticki](https://github.com/ticki) : робота низького рівня, керування і отримання інформації про термінали +- [crossterm](https://github.com/crossterm-rs/crossterm) від [Timon](https://github.com/TimonPost) : термінал для крос-платформи +- [atty](https://github.com/softprops/atty) від [Doug Tangren](https://github.com/softprops) : перевірка, чи це tty +- [termize](https://github.com/JohnTitor/termize) від [Yuki Okushi](https://github.com/JohnTitor) : розмір терміналу +- [terminal_size](https://github.com/eminence/terminal-size) від [Andrew Chin](https://github.com/eminence) : розмір терміналу +- [terminal-clipboard](https://github.com/Canop/terminal-clipboard) від [Canop](https://github.com/Canop) : фасад для роботи з текстовим буфером обміну +- [termcolor](https://github.com/BurntSushi/termcolor) від [Andrew Gallant](https://github.com/BurntSushi) : кольори терміналу +- [bunt](https://github.com/LukasKalbertodt/bunt) від [Lukas Kalbertodt](https://github.com/LukasKalbertodt) : кольоровий та форматований текст в терміналі +- [ansi-parser](https://gitlab.com/davidbittner/ansi-parser) від [David Bittner](https://gitlab.com/davidbittner) : розбір кодів втечі ANSI на основі nom + +## Хмарні API + +( _cloud_api_ ) + +- [doapi](https://github.com/kbknapp/doapi-rs) від [Kevin K.](https://github.com/kbknapp) : DigitalOcean API v2 +- [octocrab](https://github.com/XAMPPRocky/octocrab) від [Erin P](https://github.com/XAMPPRocky) : GitHub API +- [giphy api](https://github.com/thedodd/giphy-api) від [Anthony Dodd](https://github.com/thedodd) : giphy API + +## NodeJS та JS + +( _njs_ ) + +- [neon](https://github.com/neon-bindings/neon) від [Dave Herman](https://github.com/dherman) : природні модулі Node.js +- [snm](https://github.com/numToStr/snm) від [Vikas Raj](https://github.com/numToStr) : менеджер середовища, подібний до NVM +- [fnm](https://github.com/Schniz/fnm) від [Gal Schlezinger](https://github.com/Schniz) : швидкий та простий менеджер версій Node.js +- [volta](https://github.com/volta-cli/volta) від [Dave Herman](https://github.com/dherman) : інструменти JS + +## Збірка та оптимізація + +( _build_ ) + +- [trunk](https://github.com/thedodd/trunk) від [Anthony Dodd](https://github.com/thedodd) ( _wasm_ ) : пакувальник веб-додатків WebAssembly +- [cross](https://github.com/rust-embedded/cross) від [Jorge Aparicio](https://github.com/japaric) ( _build_ ) ( _cross_compile_ ) ( _testing_ ) : крос-компіляція та крос-тестування +- [duckscript](https://github.com/sagiegurari/duckscript) від [Sagie Gur-Ari](https://github.com/sagiegurari) : утиліта для крос-платформеного оболонки +- [cargo-make](https://github.com/sagiegurari/cargo-make) від [Sagie Gur-Ari](https://github.com/sagiegurari) ( _utility_ ) : утиліта, схожа на make +- [just](https://github.com/casey/just) від [Casey Rodarmor](https://github.com/casey) ( _utility_ ) : утиліта, схожа на make +- [cargo-bundle](https://github.com/burtonageo/cargo-bundle) від [George Burton](https://github.com/burtonageo) : крос-платформене зберігання +- [parcel_css](https://github.com/parcel-bundler/parcel-css) від [Devon Govett](https://github.com/devongovett) ( _parser_ ) : розбірник, перетворник і мінімізатор CSS +- [minify-html](https://github.com/wilsonzlin/minify-html) від [Wilson Lin](https://github.com/wilsonzlin) ( _html_ ) : мінімізатор HTML +- [tauri](https://github.com/tauri-apps/tauri) від [Razvan Stoenescu](https://github.com/rstoenescu) : настільні додатки з веб-фронтендом +- [built](https://github.com/lukaslueg/built) від [Lukas Lueg](https://github.com/lukaslueg) : інформація про те, коли і як це було побудовано +- [cargo-pgo](https://github.com/Kobzol/cargo-pgo) від [Jakub Beránek](https://github.com/Kobzol) ( _reading_ ) ( _article_ ) : оптимізація на основі профілю + +## Крос-компіляція + +( _cross_compile_ ) + +- [cross](https://github.com/rust-embedded/cross) від [Jorge Aparicio](https://github.com/japaric) ( _build_ ) ( _cross_compile_ ) ( _testing_ ) : крос-компіляція та крос-тестування +- [osxcross](https://github.com/tpoechtrager/osxcross) від [Thomas Pöchtrager](https://github.com/tpoechtrager) : крос-інструменти для Linux та *BSD + +## Розширення для Cargo + +( _cargo_ ) ( _build_ ) + +- [cargo-edit](https://github.com/killercup/cargo-edit) від [Pascal Hertleif](https://github.com/killercup) : утиліта для додавання, видалення та оновлення залежностей в Cargo +- [rust-script](https://github.com/fornwall/rust-script) від [Fredrik Fornwall](https://github.com/fornwall) : утиліта для інтерпретації файлів та виразів на Rust +- [cargo-watch](https://github.com/watchexec/cargo-watch) від [Félix Saparelli](https://github.com/passcod) : утиліта для стеження за джерелом вашого проекту зі змінами +- [cargo-binutils](https://github.com/rust-embedded/cargo-binutils) від [Jorge Aparicio](https://github.com/japaric) : утиліта LLVM +- [cargo-generate](https://github.com/cargo-generate/cargo-generate) від [ashley williams](https://github.com/ashleygwilliams) : утиліта для створення шаблону ( _templating_ ) +- [cargo-depgraph](https://crates.io/crates/cargo-depgraph) від [Jonas Platte](https://blog.turbo.fish/) : генерація графіка залежностей +- [cargo_metadata](https://github.com/oli-obk/cargo_metadata) від [Oli Scherer](https://github.com/oli-obk) : інформація про модуль Cargo +- [cargo-when](https://github.com/starkat99/cargo-when) від [Kathryn Long](https://github.com/starkat99) : виконання у відповідності до версії rustc та середовища +- [cargo-update](https://github.com/nabijaczleweli/cargo-update) від [Nabijaczleweli](https://github.com/nabijaczleweli) : оновлення глобально встановлених виконуваних файлів + +## Очищення Cargo + +( _cargo_ ) ( _cargo_clean_ ) + +- [cargo-cache](https://github.com/matthiaskrgr/cargo-cache) від [Matthias Krüger](https://github.com/matthiaskrgr) ( _cargo_clean_ ) : управління кешем Cargo, очищення кешу +- [cargo-wipe](https://github.com/mihai-dinculescu/cargo-wipe) від [Mihai Dinculescu](https://github.com/mihai-dinculescu) ( _cargo_clean_ ) : очищення, видалення артефактів +- [cargo-sweep](https://github.com/holmgr/cargo-sweep) від [Viktor Holmgren](https://github.com/holmgr) ( _cargo_clean_ ) : ще один засіб для очищення артефактів + +## Відео + +:movie_camera: + +- [camera_capture](https://github.com/oli-obk/camera_capture) від [Oli Scherer](https://github.com/oli-obk) : знімок веб-камери + +## Тестування + +( _testing_ ) + +- [cross](https://github.com/rust-embedded/cross) від [Jorge Aparicio](https://github.com/japaric) ( _build_ ) ( _cross_compile_ ) ( _testing_ ) : крос-компіляція та крос-тестування +- [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen/tree/main/crates/test) від [Alex Crichton](https://github.com/alexcrichton) ( _wasm_ ) : виконання тестів застосунку на основі wasm в браузері +- [trybuild](https://github.com/dtolnay/trybuild) від [David Tolnay](https://github.com/dtolnay) : негативне тестування, коли очікується помилка під час компіляції +- [expectrl](https://github.com/zhiburt/expectrl) від [Maxim Zhiburt](https://github.com/zhiburt) ( _ui_ ) ( _tui_ ) ( _os_ ) : керування введенням/виведенням інтерактивних програм +- [portpicker](https://github.com/Dentosal/portpicker-rs) від [Hannes Karppila](https://github.com/Dentosal) ( _network_ ) ( _testing_ ) : вибір вільного невикористаного порту +- [test-case](https://github.com/frondeus/test-case) від [Wojciech Polak](https://github.com/frondeus) : атрибут процедурної макро для додавання тестових випадків +- [cucumber](https://github.com/cucumber-rs/cucumber) від [Brendan Molloy](https://github.com/bbqsrc) : BDD +- [pprof](https://github.com/tikv/pprof-rs) від [YangKeao](https://github.com/YangKeao) : профілер CPU +- [compiletest](https://github.com/Manishearth/compiletest-rs) від [Manish Goregaokar](https://github.com/Manishearth) : вилучення утиліти compiletest з компілятора Rust +- [cargo-fuzz](https://github.com/rust-fuzz/cargo-fuzz) від [Manish Goregaokar](https://github.com/Manishearth) : тестування для нечіткого тестування + +## Тестування продуктивності + +( _perf_benchmark_ ) + +- [drill](https://github.com/fcsonline/drill) від [Ferran Basora](https://github.com/fcsonline) ( _network_ ) ( _perf_benchmark_ ) : тестування навантаження HTTP +- [goose](https://github.com/tag1consulting/goose) від [Jeremy Andrews](https://github.com/jeremyandrews) ( _network_ ) ( _perf_benchmark_ ) : тестування навантаження HTTP +- [loom](https://github.com/tokio-rs/loom) від [Carl Lerche](https://github.com/carllerche) : ( _perf_benchmark_ ) тестування перестановок паралельності + +## WebAssembly + +( _wasm_ ) + +- [trunk](https://github.com/thedodd/trunk) від [Anthony Dodd](https://github.com/thedodd) ( _build_ ) : збиральник веб-додатків WebAssembly +- [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) від [Alex Crichton](https://github.com/alexcrichton) : взаємодія між модулями WebAssembly та JavaScript +- [wasm-server-runner](https://github.com/jakobhellermann/wasm-server-runner/tree/main) від [Jakob Hellermann](https://github.com/jakobhellermann) : виконання в браузері +- [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen/tree/main/crates/test) від [Alex Crichton](https://github.com/alexcrichton) ( _testing_ ) : виконання тестів на основі WebAssembly в браузері +- [console_error_panic_hook](https://github.com/rustwasm/console_error_panic_hook) від [Nick Fitzgerald](https://github.com/fitzgen) : Гачок для паніки на WebAssembly +- [wasm-snip](https://github.com/rustwasm/wasm-snip) від [Nick Fitzgerald](https://github.com/fitzgen) : утиліта для видалення тіла функції з файлу WebAssembly +- [wasm-tools](https://github.com/bytecodealliance/wasm-tools) від [Yury Delendik](https://github.com/yurydelendik): інструменти для WebAssembly +- [wasmtime](https://github.com/bytecodealliance/wasmtime) від [Jakob Stoklund Olesen](https://github.com/stoklund) : самостійна оптимізована JIT-схожа середовище виконання +- [wasmer](https://github.com/wasmerio/wasmer) від [Syrus Akbary](https://github.com/syrusakbary) +_error_ ) : Відлагодження аварій на wasm32-unknown-unknown шляхом надання гачка паніки, який пересилає повідомлення про паніку до консолі +- [twiggy](https://github.com/rustwasm/twiggy) від [Nick Fitzgerald](https://github.com/fitzgen) : утиліта для профілювання розміру коду WebAssembly +- [wasm-opt](https://github.com/WebAssembly/binaryen) від [Alon Zakai](https://github.com/kripken) : утиліта для оптимізації файлу WebAssembly +- [wasm-pack](https://github.com/rustwasm/wasm-pack) від [ashley williams](https://github.com/ashleygwilliams) : пакет wasm-bindgen і binaryen/wasm-opt в одному інструменті +- [wizer](https://github.com/bytecodealliance/wizer) від [Nick Fitzgerald](https://github.com/fitzgen) : оптимізація продуктивності завдяки попередньому ініціалізації під час компіляції +- [wee_alloc](https://github.com/rustwasm/wee_alloc) від [Nick Fitzgerald](https://github.com/fitzgen) : алокатор пам'яті розміром 1 кБ для оптимізованих збірок +- [parity-wasm](https://github.com/paritytech/parity-wasm) від [Nikolay Volf](https://github.com/NikVolf) : читання файлів WebAssembly + + + +## Робота з вікнами + +( _windowing_ ) + +- [winit](https://github.com/rust-windowing/winit) від [Pierre Krieger](https://github.com/tomaka) : створення та управління вікнами на різних платформах +- [web-view](https://github.com/Boscop/web-view) від [Boscop](https://github.com/Boscop) : зв'язки для webview, маленької бібліотеки, що підтримує різні платформи + +## Об'єднання потоків даних + +( _dsa_ ) + +- [feedfinder](https://github.com/wezm/feedfinder) від [Wesley Moore](https://github.com/wezm/feedfinder) ( _html_ ) : автоматичне виявлення стрічок у форматі HTML + +## Генерація / розбір / трансформація HTML + +( _html_ ) ( _xml_ ) + +- [feedfinder](https://github.com/wezm/feedfinder) від [Wesley Moore](https://github.com/wezm/feedfinder) ( _dsa_ ) : автоматичне виявлення стрічок в HTML +- [markup](https://github.com/utkarshkukreti/markup.rs) від [Utkarsh Kukreti](https://github.com/utkarshkukreti) : шаблонний двигун для генерації HTML +- [kuchiki](https://github.com/kuchiki-rs/kuchiki) від [Simon Sapin](https://github.com/SimonSapin) : обробка дерева HTML/XML +- [html5ever](https://github.com/servo/html5ever) від [Keegan McAllister](https://github.com/kmcallister) : високопродуктивний аналізатор HTML5 +- [minify-html](https://github.com/wilsonzlin/minify-html) від [Wilson Lin](https://github.com/wilsonzlin) ( _build_ ) : мініфікатор HTML +- [comrak](https://github.com/kivikakk/comrak) від [Asherah Connor](https://github.com/kivikakk) : аналізатор та рендеринг Markdown, сумісний з GFM +- [quick-xml](https://github.com/tafia/quick-xml) від [Johann Tuffe](https://github.com/tafia) : високопродуктивний XML парсер/записувач +- [hard-xml](https://gitlab.com/kevincox/hard-xml) від [Kevin Cox](https://gitlab.com/kevincox) : Похідний XML-парсер для Rust + +## Web DOM + +( _web_frontend_ ) ( _dom_ ) + +- [console_log](https://github.com/iamcodemaker/console_log) від [Matthew Nicholson](https://github.com/iamcodemaker) : Реєстратор, який направляє повідомлення до консолі браузера +- [stdweb](https://github.com/koute/stdweb) від [Koute](https://github.com/koute) : стандартна бібліотека для клієнтського Web +- [web-log](https://github.com/DoumanAsh/web-log) від [Douman](https://github.com/DoumanAsh) : мінімальна обгортка над консоллю браузера +- [web-sys](https://github.com/rustwasm/wasm-bindgen/tree/main/crates/web-sys) від [Nick Fitzgerald](https://github.com/fitzgen) : Сирі імпорти wasm-bindgen для всіх API Вебу +- [js-sys](https://github.com/rustwasm/wasm-bindgen/tree/main/crates/js-sys) від [Alex Crichton](https://github.com/alexcrichton) ( _bindings_ ) : Сирі зв'язки з глобальними API JavaScript для проектів, які використовують wasm-bindgen +- [gloo](https://github.com/rustwasm/gloo) від [Nick Fitzgerald](https://github.com/fitzgen) : альтернатива для web-sys +- [wasm-bindgen-futures](https://github.com/rustwasm/wasm-bindgen/tree/main/crates/futures) від [Alex Crichton](https://github.com/alexcrichton) ( _concurrency_ ) : містить міст між Rust Future та JavaScript Promise + +## Веб-фронтенд + +( _web_frontend_ ) + +- [sycamore](https://github.com/sycamore-rs/sycamore) від [Luke Chu](https://github.com/lukechu10) : реактивний фронтенд +- [yew](https://github.com/yewstack/yew) від [Denis Kolodin](https://github.com/DenisKolodin) : фронтенд, інспірований Elm +- [ybc](https://github.com/thedodd/ybc) від [Anthony Dodd](https://github.com/thedodd) : бібліотека компонентів Yew, заснована на CSS-фреймворку Bulma +- [seed](https://github.com/seed-rs/seed) від [David O'Connor](https://github.com/David-OConnor) : фронтенд, інспірований Elm + +## Веб-бекенд + +( _web_backend_ ) + +- :earth_africa: [rocket](https://github.com/SergioBenitez/Rocket) від [Sergio Benitez](https://github.com/SergioBenitez) : один з найпопулярніших веб-фреймворків для бекенду +- :earth_africa: [actix](https://github.com/actix/actix) від [Nikolay Kim](https://github.com/fafhrd91) : один з найпопулярніших веб-фреймворків для бекенду +- [axum](https://github.com/tokio-rs/axum) від [David Pedersen](https://github.com/davidpdrsn) : веб-фреймворк на основі tokio +- [axum-yew-setup](https://github.com/rksm/axum-yew-setup) від [Robert Krahn](https://github.com/rksm) : стартовий проект, який налаштовує axum та yew для повностекового застосування +- [basic-http-server](https://github.com/brson/basic-http-server) від [Brian Anderson](https://github.com/brson) : простий статичний HTTP-сервер для навчання і локального розроблення +- [penguin](https://github.com/LukasKalbertodt/penguin) від [Lukas Kalbertodt](https://github.com/LukasKalbertodt) : статичний сервер +- [reqwest](https://github.com/seanmonstar/reqwest) від [Sean McArthur](https://github.com/seanmonstar) : високорівневий HTTP-клієнт +- [hyper](https://github.com/hyperium/hyper) від [Sean McArthur](https://github.com/seanmonstar) : низькорівневий HTTP-клієнт +- [headers](https://github.com/hyperium/headers) від [Jonathan Reem](https://github.com/reem) : HTTP-заголовки для hyper +- [warp](https://github.com/seanmonstar/warp) від [Sean McArthur](https://github.com/seanmonstar) : складний веб-серверний фреймворк +- [libreauth](https://github.com/breard-r/libreauth) від [Rodolphe Bréard](https://github.com/breard-r) : аутентифікація користувачів +- [cookie](https://github.com/SergioBenitez/cookie-rs) від [https://github.com/SergioBenitez](https://github.com/SergioBenitez) : розбір та управління HTTP-сервісом cookie +- [vector](https://github.com/vectordotdev/vector) від [Luke Steensen](https://github.com/lukesteensen) : агрегатор даних +- [tungstenite](https://github.com/snapview/tungstenite-rs) від [](https://github.com/snapview) : реалізація веб-сокету +- [Порівняння бекенд-фреймворків Rust](https://github.com/qarux/learn_rust_together/blob/master/research/rust-backend-frameworks-comparison.md) ( _колекція_ ) : порівняння різних бекенд-фреймворків +- [actix-web](https://github.com/actix/actix-web) від [Actix](https://github.com/actix) : потужний, прагматичний та надзвичайно швидкий веб-фреймворк для Rust +- [poem](https://github.com/poem-web/poem) від [Sunli](https://github.com/sunli829) : повнофункціональний і легкий для використання веб-фреймворк з мовою програмування Rust +- [salvo](https://github.com/salvo-rs/salvo) від [Chrislearn Young](https://github.com/chrislearn) : потужний та простий веб-серверний фреймворк Rust +- [tide](https://github.com/http-rs/tide) від [http-rs](https://github.com/http-rs) : мінімальний і прагматичний веб-фреймворк Rust, розроблений для швидкої розробки +- [isahc](https://github.com/sagebind/isahc) від [Stephen M. Coakley](https://github.com/sagebind) : практичний HTTP-клієнт, який весело використовувати +- [ureq](https://github.com/algesten/ureq) від [Martin Algesten](https://github.com/algesten) : простий та безпечний HTTP-клієнт +- [surf](https://github.com/http-rs/surf) від [http-rs](https://github.com/http-rs) : веб-фреймворк - HTTP-клієнт + +## Мережа + +( _network_ ) + +- [imap](https://github.com/jonhoo/rust-imap) від [Jon Gjengset](https://github.com/jonhoo) : інтерфейс IMAP +- [r2d2](https://github.com/sfackler/r2d2) від [Steven Fackler](https://github.com/sfackler) : агностичний пул підключень +- [pcap](https://github.com/rust-pcap/pcap) від [Sean Bowe](https://github.com/ebfull) : перехоплення пакетів +- [websocat](https://github.com/vi/websocat) від [Vitaly Shukela](https://github.com/vi) : CUI для спілкування через WebSocket ( _cui_ ) +- [netraffic](https://github.com/ZingerLittleBee/netraffic) від [ZingerLittleBee](https://github.com/ZingerLittleBee) : статистика мережевого трафіку +- [portpicker](https://github.com/Dentosal/portpicker-rs) від [Hannes Karppila](https://github.com/Dentosal) ( _network_ ) ( _тестування_ ) : вибір вільного не використаного порту +- [drill](https://github.com/fcsonline/drill) від [Ferran Basora](https://github.com/fcsonline) ( _network_ ) ( _testing_ ) : додаток для тестування навантаження HTTP +- [g3](https://github.com/bytedance/g3) від [Zhang Jingqiang](https://github.com/zh-jq-b) ( _network_ ) : загальний проксі + +## Бази даних + +( _db_ ) + +- [ormx](https://github.com/NyxCode/ormx) від [NyxCode](https://github.com/NyxCode) : функціональність схожа на ORM для sqlx +- [datafusion](https://github.com/apache/arrow-datafusion) від [Jacques Nadeau](https://github.com/jacques-n) ( _db_ ) ( _наука про дані_ ) : механізм запитів від Apache +- [influxdb-rust](https://github.com/influxdb-rs/influxdb-rust) від [Gero Gerke](https://github.com/Empty2k12) : база даних часових рядів +- [meilisearch-rust](https://github.com/meilisearch/meilisearch-rust) від [Mubelotix](https://github.com/Mubelotix) : зберігання даних і надання деяких основних можливостей фільтрації та сортування +- [sonic-channel](https://github.com/pleshevskiy/sonic-channel) від [pleshevskiy](https://github.com/pleshevskiy) : бекенд пошуку без схеми. Це альтернатива традиційним пошуковим системам, таким як Elasticsearch або Solr + +## Ключ-значення База даних + +( _db_ )( _db_key_value_ ) + +- [dynomite](https://github.com/softprops/dynomite) від [Doug Tangren](https://github.com/softprops) : прив'язка до DynamoDB +- [redis](https://github.com/mitsuhiko/redis-rs) від [Armin Ronacher](https://github.com/mitsuhiko) : прив'язка до Redis +- [sled](https://github.com/spacejam/sled) від [Tyler Neely](https://github.com/spacejam) : вбудована база даних +- [tikv](https://github.com/tikv/tikv) від [ngaut](https://github.com/ngaut) : розподілена база даних ключ-значення +- [rust-rocksdb](https://github.com/rust-rocksdb/rust-rocksdb) від [Tyler Neely](https://github.com/spacejam) : вбудована база даних, яка призначена для використання як бібліотека в додатку +- [lmdb-rs](https://github.com/vhbit/lmdb-rs) від [Valerii Hiora](https://github.com/vhbit) : високопродуктивне вбудоване сховище ключ-значення, призначене для ефективного зберігання та витягування даних +- [heed](https://github.com/meilisearch/heed) від [Clément Renault](https://github.com/Kerollmops) : вбудована база даних без схеми, яку можна використовувати для ефективного зберігання та витягування даних +- [rsmgclient](https://github.com/memgraph/rsmgclient) від [Mario Herceg](https://github.com/MarioHerceg) : використовується для взаємодії з ключ-значенням Redis +- [surrealdb](https://github.com/surrealdb/surrealdb) від [Tobie Morgan Hitchcock](https://github.com/tobiemh) : + +## Документ-орієнтована База даних + +( _db_ )( _db_document_oriented_ ) + +- [mongodb](https://github.com/mongodb/mongo-rust-driver) від [Saghm Rossi](https://github.com/saghm) : офіційна прив'язка MongoDB +- [monger](https://github.com/saghm/monger) від [Saghm Rossi](https://github.com/saghm) : менеджер версій MongoDB +- [redb](https://github.com/cberner/redb) від [Christopher Berner](https://github.com/cberner) : надає легку та ефективну реалізацію документ-орієнтованої бази даних, оптимізованої для продуктивності та масштабованості +- [heed](https://github.com/meilisearch/heed) від [Clément Renault](https://github.com/Kerollmops) : вбудована база даних без схеми, яку можна використовувати для ефективного зберігання та витягування даних +- [darkbird](https://github.com/Rustixir/darkbird) від [DanyalMh](https://github.com/pleshevskiy) : рішення для бази даних в пам'яті, оптимізоване для швидкого вибору документа + +## Реляційна База даних + +( _db_ )( _db_relational_ ) + +- :earth_africa: [diesel](https://github.com/diesel-rs/diesel) від [Sage Griffin](https://github.com/sgrif) : ORM та конструктор запитів +- [sea-orm](https://github.com/SeaQL/sea-orm) від [Chris Tsang](https://github.com/tyt2y3) : ORM та конструктор запитів +- :earth_africa: [sqlx](https://github.com/launchbadge/sqlx) від [Ryan Leckey](https://github.com/mehcode) : драйвер SQL DBMS +- [rusqlite](https://github.com/rusqlite/rusqlite) від [hydhknn](https://github.com/hydhknn) : прив'язки до SQLite +- :earth_africa: [deadpool-postgres](https://github.com/bikeshedder/deadpool) від [Michael P. Jung](https://github.com/bikeshedder) : асинхронний пул для PostgreSQL +- :earth_africa: [tokio_postgres](https://github.com/sfackler/rust-postgres) від [Steven Fackler](https://github.com/sfackler) : драйвер PostgreSQL + +## База даних на графах + +( _db_ )( _db_graphs_ ) + +- [bolt-client](https://github.com/0xSiO/bolt-rs) від [Люк Стріт](https://github.com/0xSiO) : взаємодія з графовими базами даних, сумісними з Bolt +- [neo4rs](https://github.com/neo4j-labs/neo4rs) від [Джон Вінсент](https://github.com/yehohanan7) : базується на моделі даних властивостей графу, яка складається з вузлів, відносин і властивостей +- [indradb](https://github.com/indradb/indradb) від [Юсуфа Саймонсона](https://github.com/ysimonson) : використовує Apache TinkerPop як свою базову графову платформу +- [oxigraph](https://github.com/oxigraph/oxigraph) від [Томаса Танона](https://github.com/Tpt) : призначений для моделі даних ресурсного опису +- [dgraph-rs](https://github.com/Swoorup/dgraph-rs) від [Сворупа Джоші](https://github.com/Swoorup) : підтримує складні запити, агрегації та обхід графів за допомогою синтаксису, схожого на GraphQl +- [cozo](https://github.com/cozodb/cozo) від [Ціянга Ху](https://github.com/zh217) : оптимізовано для ефективної обробки графів на великих наборах даних + + + +## Наука про дані + +( _data_science_ ) + +- [polars](https://github.com/pola-rs/polars) від [Рітчі Вінка](https://github.com/ritchie46) : багатопотокова бібліотека для роботи з DataFrame +- [datafusion](https://github.com/apache/arrow-datafusion) від [Жака Надо](https://github.com/jacques-n) ( _db_ ) ( _наука_про_дані_ ) : механізм запитів від Apache +- [arrow](https://github.com/apache/arrow-rs) від [Жака Надо](https://github.com/jacques-n) : робота з байтами від Apache + +## Функціональне програмування + +( _functional_ ) + +- [itertools](https://github.com/rust-itertools/itertools) від [блусс](https://github.com/bluss) : додаткові інструменти для ітераторів ??? + +## Системи контролю версій + +( _системи_контролю_версій_ ) + +- [git2](https://github.com/rust-lang/git2-rs) від [Алекса Кріхтона](https://github.com/alexcrichton) : зв'язування libgit2 + +## Віртуалізація + +( _virtualisation_ ) + +- [shiplift](https://github.com/softprops/shiplift) від [Дуга Тангрена](https://github.com/softprops) : керування контейнерами Docker +- [unshare](https://github.com/tailhook/unshare) від [Павла Коломієца](https://github.com/tailhook) : контейнери Linux низького рівня + +## Асинхронність + +( _async_ ) + +- [pin-project](https://github.com/taiki-e/pin-project) від [Тайкі Ендо](https://github.com/taiki-e) : синхронізація основних об'єктів pin-projection +- [pin-project-lite](https://github.com/taiki-e/pin-project-lite) від [Тайкі Ендо](https://github.com/taiki-e) : синхронізація основних об'єктів pin-projection, легка версія +- [blocking](https://github.com/smol-rs/blocking) від Стівена Главіни : пул потоків для ізоляції блокуючих операцій в асинхронному середовищі +- [yatp](https://github.com/tikv/yatp) від [ngaut](https://github.com/ngaut) : загальний пул потоків +- [async-compat](https://github.com/smol-rs/async-compat) від [Тайкі Ендо](https://github.com/taiki-e) : адаптер сумісності між tokio та futures +- [futures-signals](https://github.com/Pauan/rust-signals) від [Пауана](https://github.com/Pauan) : реактивні сигнали +- [futures](https://github.com/rust-lang/futures-rs) від [Алекса Кріхтона](https://github.com/alexcrichton) : асинхронний інтерфейс +- [waker-fn](https://github.com/smol-rs/waker-fn) від Стівена Главіни : перетворення замикань в waker + +## Асинхронні Рантайми + +( _async_ ) ( _async_runtime_ ) + +- [tokio](https://github.com/tokio-rs/tokio) від [Карла Лерке](https://github.com/carllerche) : асинхронний фреймворк застосунків +- [async-std](https://github.com/async-rs/async-std) від [Флоріана Гільхера](https://github.com/skade) : асинхронна версія std +- [pollster](https://github.com/zesterer/pollster) від [Джошуа Барретто](https://github.com/zesterer) : мінімальний асинхронний виконавець +- [smol](https://github.com/smol-rs/smol) від Стівена Главіни : малий та швидкий асинхронний рантайм для Rust + +## Одночасність + +( _concurrency_ ) + +- [radium](https://github.com/bitvecto-rs/radium) від [Ніки Лейзелл ](https://github.com/mystor) : резервні атомні інструкції +- [rayon](https://github.com/rayon-rs/rayon) від [Ніко Матсакіс](https://github.com/nikomatsakis) : обробка даних паралельно +- [futures-signals](https://github.com/Pauan/rust-signals) від [Пауана](https://github.com/Pauan) : реактивні сигнали +- [crossbeam](https://github.com/crossbeam-rs/crossbeam) від [Аарона Турона](https://github.com/aturon) : інструменти для одночасного програмування +- [scoped_threadpool](https://github.com/Kimundi/scoped-threadpool-rs) від [Марвіна Лёбеля](https://github.com/Kimundi) : обмежені та кешовані пул потоків + +## Примітиви одночасності + +( _concurrency_ ) ( _primitive_ ) + +- [parking_lot](https://github.com/Amanieu/parking_lot) від [Аман'є д'Антраса](https://github.com/Amanieu) : синхронізація на стероїдах +- [state](https://github.com/SergioBenitez/state) від [https://github.com/SergioBenitez](https://github.com/SergioBenitez) : розбір HTTP кукі та управління кухонною банкою +- [thread_local](https://github.com/Amanieu/thread_local-rs) від [Аман'є д'Антраса](https://github.com/Amanieu) : локальне сховище потоків +- [flume](https://github.com/zesterer/flume) від [Джошуа Барретто](https://github.com/zesterer) : багатопродуцентський, багатоспоживачів канал +- [bounded-spsc-queue](https://github.com/polyfractal/bounded-spsc-queue) від [Закарі Тонга](https://github.com/polyfractal) : обмежена черга для одного виробника та споживача (SPSC) +- [bus](https://github.com/jonhoo/bus) від [Джона Гьєнгсета](https://github.com/jonhoo) : блокування, обмежені, однопродуцентські, багатоспоживачів, розподільчий канал +- [left-right](https://github.com/jonhoo/left-right) від [Джона Гьєнгсета](https://github.com/jonhoo) : блокування, оптимізоване для читання, примітив одночасності +- [evmap](https://github.com/jonhoo/evmap) від [Джона Гьєнгсета](https://github.com/jonhoo) ( _data_structure_ ) : блокування, нарешті, консистентна, багато-значна, одночасна карта +- [dashmap](https://github.com/xacrimon/dashmap) від [Акрімона Джоеля](https://github.com/xacrimon) ( _data_structure_ ) : одночасна хеш-карта +- [atomig](https://github.com/LukasKalbertodt/atomig) від [Лукаса Калбертодта](https://github.com/LukasKalbertodt) : типовий конструктор атоміків +- [syncell](https://github.com/kvark/syncell) від [Дзмітрі Малишау](https://github.com/kvark) : синхронізована альтернатива RefCell +- [qcell](https://github.com/uazu/qcell) від [Джима Пітерса](https://github.com/uazu) : перевірені на статичність альтернативи RefCell та RwLock +- [reffers](https://github.com/diwic/reffers-rs) від [Девіда Хеннінгссона](https://github.com/diwic) : обгортки навколо посилань, боксів і Arcs + +## Збереження та відкладене виконання + +( _persistence_ ) + +- [schedule](https://github.com/mehcode/schedule-rs) від [Райана Лекі](https://github.com/mehcode) : планувальник у стилі cron у процесі виконання + +## Комунікація + +( _communication_ ) + +- [turbine](https://github.com/polyfractal/Turbine) від [Закарі Тонга](https://github.com/polyfractal) : міжзадачна комунікація + +## Потоки та буфери + +( _streams_ ) ( _buffers_ ) ( _data_structure_ ) + +- [peekreed](https://github.com/orlp/peekread) від [Орсона Петерса](https://github.com/orlp) : читання потоків з можливістю погляду +- [bytes](https://github.com/tokio-rs/bytes) від [Карла Лерке](https://github.com/carllerche) : робота з байтами +- [arrow](https://github.com/apache/arrow-rs) від [Жака Надо](https://github.com/jacques-n) : робота з байтами від Apache + +## Управління пам'яттю + +( _mem_ ) + +- [byte-slice-cast](https://github.com/sdroege/byte-slice-cast) від [Себастьяна Дрёге](https://github.com/sdroege) : перетворення до / з байтового зрізу +- [zerocopy](https://docs.rs/zerocopy/) від [Джошуа Лібоу-Фізера](https://github.com/joshlf) ( _serialization_ ) : нуль-копіювання розбір та серіалізація +- [memmap](https://github.com/danburkert/memmap-rs) від [Дана Буркерта](https://github.com/danburkert) : API для відображення пам'яті у введенні / виведенні +- [wee_alloc](https://github.com/rustwasm/wee_alloc) від [Ніка Фіцджеральда](https://github.com/fitzgen) : алокатор пам'яті розміром 1 КБ для оптимізованих за розміром збірок +- [shuffling-allocator](https://github.com/fitzgen/shuffling-allocator) від [Ніка Фіцджеральда](https://github.com/fitzgen) : випадкове розміщення у стеку + +## Серіалізація + +( _serialization_ ) + +- [unique_type_id_workspace](https://github.com/vityafx/unique-type-id) від [Віктора Полевого](https://github.com/vityafx) : процедурний макрос для генерації унікальних ідентифікаторів +- [zerocopy](https://docs.rs/zerocopy/) від [Джошуа Лібоу-Фізера](https://github.com/joshlf) ( _mem_ ) : нуль-копіювання розбір та серіалізація +- [restruct](https://github.com/lukaslueg/restruct) від [Лукаса Луега](https://github.com/lukaslueg) : серіалізація та десеріалізація кортежу +- [bincode](https://github.com/bincode-org/bincode) від [Нейтана Маккарті](https://github.com/nmccarty) : реалізація кодування / декодування у бінарному форматі +- [ron](https://github.com/ron-rs) від [Дзмітрі Малишау](https://github.com/kvark) ( _gdf_ ) : читабельний формат серіалізації даних +- :earth_africa: [serde](https://github.com/serde-rs/serde) від [Девіда Тольнейа](https://github.com/dtolnay) : найпопулярніший фреймворк серіалізації +- [serde-hjson](https://github.com/hjson/hjson-rust) від [Крістіана Зангла](https://github.com/laktak) : плагін serde для розбору JSON з коментарями +- [nanoserde](https://github.com/not-fl3/nanoserde) від [Федора Логачева](https://github.com/not-fl3) : мінімальна бібліотека серіалізації без залежностей +- [speedy](https://github.com/koute/speedy) від [Коуте](https://github.com/koute) : інший альтернативний метод серіалізації +- [dipa](https://github.com/chinedufn/dipa) від [Чінеду Френсіса Нвафілі](https://github.com/chinedufn) : дельта-кодування структур +- [rkyv (archive)](https://github.com/rkyv/rkyv) від [Девіда Колоскі](https://github.com/djkoloski) : це фреймворк нуль-копіювання для десеріалізації у Rust +- [musli](https://github.com/udoprog/musli) від [Джона-Джона Тедро](https://github.com/udoprog) : гнучкий та загальний бінарний фреймворк серіалізації + +## Рядкове представлення + +( _stringification_ ) + +- [parse-display](https://github.com/frozenlib/parse-display) від [Frozenlib](https://github.com/frozenlib) ( _derive_ ) : процедурний макрос Display та FromStr +- [strum](https://github.com/Peternator7/strum) від [Петера Глотфельті](https://github.com/Peternator7) ( _adt_ ) : перетворення, розбір та ітерація для перерахувань +- [lexical](https://github.com/Alexhuszagh/rust-lexical) від [Александра Гусзага](https://github.com/Alexhuszagh) ( _синтаксичний_розбір_ ) : конвертація чисел до та з рядків +- [lexical-core](https://github.com/Alexhuszagh/rust-lexical/tree/main/lexical-core) від [Александра Гусзага](https://github.com/Alexhuszagh) ( _синтаксичний_розбір_ ) : мінімальна реалізація синтаксичного розбору +- [humansize](https://github.com/LeopoldArkham/humansize) від [Леопольда Аркхама](https://github.com/LeopoldArkham) : форматування розміру файлу +- [ubyte](https://github.com/SergioBenitez/ubyte) від [https://github.com/SergioBenitez](https://github.com/SergioBenitez) : одиниці байтів +- [num-format](https://github.com/bcmyers/num-format) від [Брайана Майерса](https://github.com/bcmyers) : форматування чисел +- [tabled](https://github.com/zhiburt/tabled) від [Максима Згібурта](https://github.com/zhiburt) : форматування текстових таблиць + +## Генератори / комбінатори парсерів + +( _parser_generator_ ) + +- [chumsky](https://github.com/zesterer/chumsky) від [Джошуа Барретто](https://github.com/zesterer) : комбінатор парсера +- [nom](https://github.com/Geal/nom) від [Жоффруа Купрі](https://github.com/Geal) : фреймворк комбінатора парсера +- [combine](https://github.com/Marwes/combine) від [Маркуса Вестерлінда](https://github.com/Marwes) : комбінатори парсерів +- [combine-language](https://github.com/Marwes/combine-language) від [Маркуса Вестерлінда](https://github.com/Marwes) : розширення combine для генерації парсерів мов програмування +- [lalrpop](https://github.com/lalrpop/lalrpop) від [Ніко Матсакіс](https://github.com/nikomatsakis) : генератор парсера LR(1) +- [peg](https://github.com/kevinmehall/rust-peg) від [Кевіна Міхалла](https://github.com/kevinmehall) : генератор парсера PEG +- [rust-langdev](https://github.com/Kixiron/rust-langdev) від [Чейса Вілсона](https://github.com/Kixiron) ( _collection_ ) : набір інструментів розробки парсерів та мов + +## Генератори лексерів + +( _lexer_generator_ ) + +- :earth_africa: [logos](https://github.com/maciejhirsz/logos) від [Мачейа Гірша](https://github.com/maciejhirsz) : швидкий токенізатор, найпопулярніший +- [lexgen](https://github.com/osa1/lexgen) від [Імера Сінана Агачана](https://github.com/osa1) : генератор лексерів, як процедурний макрос +- [lrlex](https://github.com/softdevteam/grmtools/tree/master/lrlex) від [Лукаса Дікмана](https://github.com/ptersilie) : лексер, інспірований lex/flex + +## Парсер певної мови + +( _parser_ ) + +- [minimad](https://github.com/Canop/minimad) від [Канопа](https://github.com/Canop) : парсер markdown ( MD ) +- [parcel_css](https://github.com/parcel-bundler/parcel-css) від [Девона Говетта](https://github.com/devongovett) ( _collection_ ) : парсер CSS, трансформатор та зменшувач +- [csv](https://github.com/BurntSushi/rust-csv) від [Андрюа Галланта](https://github.com/BurntSushi) : парсер CSV +- [toml](https://github.com/alexcrichton/toml-rs) від [Алекса Кріхтона](https://github.com/alexcrichton) : парсер TOML +- [toml_edit](https://github.com/ordian/toml_edit) від [Андроніка Ордіана](https://github.com/ordian) : збереження формату парсера TOML +- :earth_africa: [regex](https://github.com/rust-lang/regex) від [Алекса Кріхтона](https://github.com/alexcrichton) : найпопулярна реалізація регулярних виразів +- [ress](https://github.com/rusty-ecma/RESS) від [Роберта Масена](https://github.com/FreeMasen) : токенізатор JS +- [ressa](https://github.com/rusty-ecma/RESSA) від [Роберта Масена](https://github.com/FreeMasen) : парсер JS +- [syntect](https://github.com/trishume/syntect) від [Трістана Х'юма](https://github.com/trishume) : підсвічування синтаксису за визначеннями синтаксису Sublime Text +- [sg](https://github.com/osa1/sg) від [Імера Сінана Агачана](https://github.com/osa1) : пошук коду, залежний від синтаксису, схожий на grep +- [tree-sitter-parse](https://github.com/osa1/tree-sitter-parse) від [Імера Сінана Агачана](https://github.com/osa1) : tree-sitter-cli, який може завантажувати парсери, скомпільовані у спільні бібліотеки +- [fancy-regex](https://github.com/fancy-regex/fancy-regex) від [Робіна Стокера](https://github.com/robinst) : реалізація регулярних виразів, що підтримує відносно багатий набір можливостей, включаючи зворотні посилання та обмежені перегляди. + +## Час + +( _time_ ) + +- :earth_africa: [time](https://github.com/time-rs/time) від [Джейкоба Прата](https://github.com/jhpratt) : найпопулярний модуль дати та часу +- [chrono](https://github.com/chronotope/chrono) від [Канга Сонґхуна](https://github.com/lifthrasiir) : модуль дати та часу, погано підтримується +- [chrono-humanize](https://gitlab.com/imp/chrono-humanize-rs) від [Сирила Пліско](https://gitlab.com/imp) : вирази людиною дружнього часу + +## Статистика + +( _statistics_ ) + +- [getrandom](https://github.com/rust-random/getrandom) від [Діґґорі Гарді](https://github.com/dhardy) : багатоплатформовий бекенд для отримання випадкових чисел +- [rand](https://github.com/rust-random/rand) від [Роя Фростіґа](https://github.com/froystig) : фронтенд для генерації випадкових чисел +- [fastrand](https://github.com/smol-rs/fastrand) від [Степана Главіни](https://github.com/smol-rs) : швидкий генератор випадкових чисел +- [uuid](https://github.com/uuid-rs/uuid) від [Біру Моханатаса](https://github.com/poiru) : генерація та розбір UUID +- [rusty_ulid](https://github.com/huxi/rusty_ulid) від [Юрна Гуксхорна](https://github.com/huxi) : генерація та розбір ULID, альтернатива UUID + +## Абстрактні типи даних + +( _adt_ ) + +- [num](https://github.com/rust-num/num) від [Джоша Стоуна](https://github.com/cuviper) : колекція числових типів та трейтів +- [total_float_wrap](https://github.com/tritoke/total_float_wrap) від [](https://github.com/tritoke) : хешування та порівняння для дійсних чисел + +## Алгоритми + +( _data_structure_ ) ( _algo_ ) + +- [dmsort](https://github.com/emilk/drop-merge-sort) від [Еміля Ернерфельта](https://github.com/emilk) : швидкий новаторський адаптивний алгоритм сортування, оптимізований для майже впорядкованих даних +- [longest-increasing-subsequence](https://github.com/fitzgen/longest-increasing-subsequence) від [Ніка Фіцджеральда](https://github.com/fitzgen) : найдовша зростаюча підпослідовність + +## Примітивні структури даних + +( _data_structure_ ) ( _primitive_ ) + +- [either](https://github.com/bluss/either) від [блюсса](https://github.com/bluss) : перелік Either з варіантами Left та Right, загального призначення сумового типу з двома варіантами +- [ptr-union](https://github.com/CAD97/pointer-utils/tree/master/crates/ptr-union) від [Крістофера Дерема](https://github.com/CAD97) : об'єднання вказівників із зберіганням мітки в бітах вирівнювання +- [erasable](https://github.com/CAD97/pointer-utils/tree/master/crates/erasable) від [Крістофера Дерема](https://github.com/CAD97) : виробництво безтипових вказівників +- [rc-box](https://github.com/CAD97/pointer-utils/tree/master/crates/rc-box) від [Крістофера Дерема](https://github.com/CAD97) : кращий Rc< Box > та Arc< Box > +- [rc-borrow](https://github.com/CAD97/pointer-utils/tree/master/crates/rc-borrow) від [Крістофера Дерема](https://github.com/CAD97) : витягання Rc/Arc без обгортання запозиченого +- [triomphe](https://github.com/Manishearth/triomphe) від [Маніша Горегаокара](https://github.com/Manishearth) : спрямований на FFI ARC +- [scopeguard](https://github.com/bluss/scopeguard) від [блюсса](https://github.com/bluss) : виконати задану замикання, коли воно виходить за межі області видимості +- [beef](https://github.com/maciejhirsz/beef) від [Мачейа Гірша](https://github.com/maciejhirsz) : швидкий токенізатор + +## Колекції + +( _data_structure_ ) ( _ds_collection_ ) + +- [indexmap](https://github.com/bluss/indexmap) від [блюсса](https://github.com/bluss) : хеш-таблиця, яка зберігає порядок вставки +- [hashbrown](https://github.com/rust-lang/hashbrown) від [Аман'є д'Антраса](https://github.com/Amanieu) : хеш-таблиця та хеш-множина для "no std" +- [rustc-hash](https://github.com/rust-lang/rustc-hash) від [Ніко Матсакіса](https://github.com/nikomatsakis) : швидка некриптографічна хеш-таблиця та хеш-множина +- [slice-deque](https://github.com/gnzlbg/slice_deque) від [гнзлбг](https://github.com/gnzlbg) : двобічна черга, яка в пам'яті неперервна і розгортається в масив +- [thingbuf](https://github.com/hawkw/thingbuf) від [Елізи Вейсман](https://github.com/hawkw) : черги з перерозподілом виділення в тому ж місці +- [bitvec](https://github.com/bitvecto-rs/bitvec) від [Александра Пейна](https://github.com/myrrlyn) : бітові поля +- [bitflags](https://github.com/bitflags/bitflags) від [Алекса Кріхтона](https://github.com/bitflags) : макрос для створення структур, які ведуть себе як бітові прапори +- [growable-bloom-filter](https://github.com/dpbriggs/growable-bloom-filters) від [Девіда Бріггса](https://github.com/dpbriggs) : зростаючий фільтр Блума +- [associative-cache](https://github.com/fitzgen/associative-cache) від [Ніка Фіцджеральда](https://github.com/fitzgen) : обмежений асоціативний кеш +- [intrusive_splay_tree](https://github.com/fitzgen/intrusive_splay_tree) від [Ніка Фіцджеральда](https://github.com/fitzgen) : вторгнення, алокаційний безкоштовний [дерево Splay](https://uk.wikipedia.org/wiki/Splay_tree) реалізація +- [anymap](https://github.com/chris-morgan/anymap) від [Кріса Моргана](https://github.com/chris-morgan) : обгортка навколо HashMap< TypeId, Box< dyn Any > > +- [fst](https://github.com/BurntSushi/fst) від [Ендрю Галланта](https://github.com/BurntSushi) : схоже на три, щоб представляти великі набори та мапи +- [evmap](https://github.com/jonhoo/evmap) від [Джона Гженгсета](https://github.com/jonhoo) ( _concurrency_ ) : безблокуючий, в кінцевому рахунку збалансований, конкурентний багатозначний словник +- [dashmap](https://github.com/xacrimon/dashmap) від [Акрімона Джоеля](https://github.com/xacrimon) ( _concurrency_ ) : конкурентний HashMap +- [sharded-slab](https://github.com/hawkw/sharded-slab) від [Елізи Вейсман](https://github.com/hawkw) ( _concurrency_ ) : безблокуючий конкурентний слаб + + +## Кодування символів + +( _string_ ) ( _character_encoding_ ) + +- [deunicode](https://github.com/kornelski/deunicode) від [Корнела](https://github.com/kornelski) : транслітерує рядки Unicode у ASCII +- [widestring](https://github.com/starkat99/widestring-rs) від [Катрин Лонг](https://github.com/starkat99) : бібліотека розширених рядків Rust для перетворення в та з розширених рядків Unicode +- [unicode-width](https://github.com/unicode-rs/unicode-width) від [Ріада С. Вабі](https://github.com/kwantam) : ширина відображення +- [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) від [Ріада С. Вабі](https://github.com/kwantam) : ітерація графем у рядку Unicode + +## Рядкові та секційні структури даних та алгоритми + +( _data_structure_ ) ( _string_ ) + +- [edit-distance](https://github.com/febeling/edit-distance) від [Флоріана Ебелінга](https://github.com/febeling) : відстань Левенштейна +- [similar](https://github.com/mitsuhiko/similar) від [Арміна Ронахера](https://github.com/mitsuhiko) : визначення різниці між рядками +- [twoway](https://github.com/bluss/twoway) від [блюсса](https://github.com/bluss) : пошук підстрічки двосторонньо +- [memchr](https://github.com/BurntSushi/memchr) від [Ендрю Галланта](https://github.com/BurntSushi) : рутина пошуку рядків +- [aho-corasick](https://github.com/BurntSushi/aho-corasick) від [Ендрю Галланта](https://github.com/BurntSushi) : пошук входжень багатьох патернів одночасно +- [suffix](https://github.com/BurntSushi/suffix) від [Ендрю Галланта](https://github.com/BurntSushi) : пошук кількох входжень одного й того ж патерну в довгому тексті +- [globset](https://github.com/BurntSushi/globset) від [Ендрю Галланта](https://github.com/BurntSushi) ( _fs_ ) : глоб-відповідність +- [heck](https://github.com/withoutboats/heck) від [Саоірси Шипрект](https://github.com/withoutboats) : перетворення регістру +- [convert-case](https://github.com/rutrum/convert-case) від [Дейва Пурдума](https://github.com/rutrum) : перетворення регістру +- [slice-dst](https://github.com/CAD97/pointer-utils/tree/master/crates/slice-dst) від [Крістофера Дерема](https://github.com/CAD97) : виділення даних на основі срізу + +## Структури даних на основі стеку + +( _data_structure_ ) ( _stack_based_ ) + +- [inlinable_string](https://github.com/fitzgen/inlinable_string) від [Ніка Фіцджеральда](https://github.com/fitzgen) ( _рядок_ ) : рядок на основі стеку, якщо великий - то на основі стеку, також визначає інтерфейс рядка +- [smartstring](https://github.com/bodil/smartstring) від [Боділ Стокке](https://github.com/bodil) ( _рядок_ ) : рядок на основі стеку, якщо великий - то на основі стеку +- [kstring](https://github.com/cobalt-org/kstring) від [Еда Пейджа](https://github.com/epage) : рядок на основі стеку, якщо великий - то на основі стеку, оптимальний як ключ для хеш-таблиці +- [arrayvec](https://github.com/bluss/arrayvec) від [блюсса](https://github.com/bluss) : стековий вектор і рядок +- [smallvec](https://github.com/servo/rust-smallvec) від [Саймона Сапіна](https://github.com/SimonSapin) : стековий вектор +- [tinymap](https://github.com/notgull/tinymap) від [Джона](https://github.com/notgull) : стекова хеш-таблиця +- [storagevec](https://github.com/notgull/storagevec-rs) від [Джона](https://github.com/notgull) : функція вибору стекових контейнерів + +## Самоспрямовані структури + +( _data_structure_ ) ( _self_ref_ ) ( _ownership_semantics_ ) + +- [owning_ref](https://github.com/Kimundi/owning-ref-rs) від [Марвіна Льобеля](https://github.com/Kimundi) : посилання, які переносять свого власника +- [ouroboros](https://github.com/joshua-maros/ouroboros) від [Джошуа Мароса](https://github.com/joshua-maros) : генерація структур самоспрямованих + +## Семантика володіння + +( _data_structure_ ) ( _ownership_semantics_ ) + +- [slabmap](https://github.com/frozenlib/slabmap) від [Frozenlib](https://github.com/frozenlib) : колекція, схожа на hashMap, із неявним ключем +- [slab](https://github.com/tokio-rs/slab) від [Карла Лерча](https://github.com/carllerche) : колекція, схожа на hashMap, із неявним ключем +- [indexing](https://github.com/bluss/indexing) від [блюсса](https://github.com/bluss) : вирішення проблеми індексування за допомогою асоціювання часу життя з інтервалами +- [slotmap](https://github.com/orlp/slotmap) від [Орсона Петерса](https://github.com/orlp) : хеш-карта із неявним ключем +- [typed-arena](https://github.com/SimonSapin/rust-typed-arena) від [Саймона Сапіна](https://github.com/SimonSapin) : однорідний алокатор, що працює із посиланнями без можливості відокремлення окремого елемента +- [id-arena](https://github.com/fitzgen/id-arena) від [Ніка Фіцджеральда](https://github.com/fitzgen) : однорідний алокатор, що працює із ідентифікаторами без можливості відокремлення окремого елемента +- [generational-arena](https://github.com/fitzgen/generational-arena) від [Ніка Фіцджеральда](https://github.com/fitzgen) : однорідний алокатор, що працює із ідентифікаторами із можливістю відокремлення окремого елемента +- [bumpalo](https://github.com/fitzgen/bumpalo) від [Ніка Фіцджеральда](https://github.com/fitzgen) : різнорідний алокатор, що працює із ідентифікаторами без можливості відокремлення окремого елемента + +## Багатовимірні структури даних та алгоритми + +( _структури_даних_ ) ( _багатовимірні_ ) + +- [bvh](https://github.com/svenstaro/bvh) від [Свена-Гендрика Гаасе](https://github.com/svenstaro) : швидке дерево обмеженого обсягу за методом SAH + +## Графи + +( _data_structure_ ) ( _graphs_ ) + +- [petgraph](https://github.com/petgraph/petgraph) від [блюсса](https://github.com/bluss) : структура даних та алгоритми графів + +## Хешування + +( _hashing_ ) + +- [ahash](https://github.com/tkaitchuck/aHash) від [Тома Кайтчука](https://github.com/tkaitchuck) : швидке не-криптографічне хешування +- [xxhash-rust](https://github.com/DoumanAsh/xxhash-rust) від [Думана](https://github.com/DoumanAsh) : алгоритм xxhash - один із найшвидших не-криптографічних хешувань +- [twox-hash](https://github.com/shepmaster/twox-hash) від [Джейка Гулдінга](https://github.com/shepmaster) : алгоритм xxhash - один із найшвидших не-криптографічних хешувань +- [seahash](https://gitlab.redox-os.org/redox-os/seahash) від [Тома Альмейди](https://github.com/Tommoa) : один із найшвидших не-криптографічних алгоритмів хешування +- [by_address](https://github.com/mbrubeck/by_address) від [Метта Брубека](https://github.com/mbrubeck) ( _adt_ ) : порівняння за адресою вказівника + +## Криптографія + +( _cryptography_ ) + +- [Cupcake](https://github.com/facebookresearch/Cupcake) від [Хао Чена](https://github.com/haochenuw) : аддитивна гомоморфна криптографія на основі решіток +- [elgamal-curve25519](https://github.com/chritchens/elgamal-curve25519) від [Крістіана Нюмбайєра](https://github.com/chritchens) : Гомоморфна криптографія Ель-Гамаля на Curve25519 +- [argonautica](https://github.com/bcmyers/argonautica) від [Браяна Маєрса](https://github.com/bcmyers) : хешування паролів +- [rust-argon2](https://github.com/sru-systems/rust-argon2) від [Мартійна Рікебоера](https://github.com/mrijkeboer) : хешування паролів +- [subtle](https://github.com/dalek-cryptography/subtle) від [криптографії Dalek](https://github.com/dalek-cryptography) : чисто-ржаві риси та утиліти для реалізацій криптографічних операцій в час реального часу +- [belt-mac](https://github.com/RustCrypto/MACs/blob/master/belt-mac) від [Артйома Павлова](https://github.com/newpavlov) : MAC згідно зі стандартом BelT +- [cbc-mac](https://github.com/RustCrypto/MACs/blob/master/cbc-mac) від [Артйома Павлова](https://github.com/newpavlov) : Реалізація коду автентифікації повідомлень за допомогою шифрування блоків зі зв'язком (CBC-MAC) +- [cmac](https://github.com/RustCrypto/MACs/blob/master/cmac) від [Артйома Павлова](https://github.com/newpavlov) : Загальна реалізація коду автентифікації повідомлень засобами шифрування повідомлень (CMAC) +- [hmac](https://github.com/RustCrypto/MACs/blob/master/hmac) від [Артйома Павлова](https://github.com/newpavlov) : Загальна реалізація коду автентифікації повідомлень на основі хеш-функції (HMAC) +- [pmac](https://github.com/RustCrypto/MACs/blob/master/pmac) від [Артйома Павлова](https://github.com/newpavlov) : Загальна реалізація паралельного коду автентифікації повідомлень + +## Компресія + +( _compression_ ) + +- [yazi](https://github.com/dfrg/yazi) від [Чада Брокоу](https://github.com/dfrg) : стиснення deflate/zlib +- [flate2](https://github.com/rust-lang/flate2-rs) від [Алекса Кріттона](https://github.com/alexcrichton) : зв'язки для стиснення deflate, gzip і zlib +- [snap](https://github.com/BurntSushi/rust-snappy) від [Андрю Галланта](https://github.com/BurntSushi) : висока швидкість і адекватне стиснення +- [smush](https://github.com/gwihlidal/smush-rs) від [Грега Вільдідала](https://github.com/gwihlidal) : адаптер для різних кодеків стиснення + +## Кодування / декодування + +( _encoding_ ) + +- [percent-encoding](https://github.com/servo/rust-url/tree/master/percent_encoding) від [Саймона Сапіна](https://github.com/SimonSapin) : [процентне кодування URL](https://en.wikipedia.org/wiki/Percent-encoding) +- [url](https://github.com/servo/rust-url) від [Саймона Сапіна](https://github.com/SimonSapin) : розбір URI +- [hex](https://github.com/KokaKiwi/rust-hex) від [Кока Ківі](https://github.com/KokaKiwi) : шістнадцяткове кодування + +## Загальний формат даних + +( _gdf_ ) + +- [flatc-rust](https://github.com/frol/flatc-rust) від [Влада Фролова](https://github.com/frol/flatc-rust) : FlatBuffers +- [ron](https://github.com/ron-rs) від [Дзмітрія Малишау](https://github.com/kvark) ( _serialization_ ) : читабельний формат серіалізації даних +- [rmp](https://github.com/3Hren/msgpack-rust) від [Євгенія Сафронова](https://github.com/3Hren) : MessagePack +- [minicbor](https://gitlab.com/twittner/minicbor) від [Торальфа Віттнера](https://gitlab.com/twittner) : CBOR +- [record-query](https://github.com/dflemstr/rq) від [Девіда Флемстрьома](https://github.com/dflemstr) : перетворення одного формату загального формату даних в інший + + +## Читання / запис зображень + +( _asset_image_ ) + +- [libheif-rs](https://github.com/Cykooz/libheif-rs) від [Кірилла Кузміниха](https://github.com/Cykooz) : читання/запис файлів heif/heic +- [lodepng](https://github.com/kornelski/lodepng-rust) від [Корнела](https://github.com/kornelski) : читач/письменник зображень PNG +- [exifsd](https://github.com/vadixidav/exifsd) від [Геордона Ворлі](https://github.com/vadixidav) : серіалізація та десеріалізація EXIF + +## Обробка зображень + +( _asset_image_processing_ ) + +- [fast_image_resize](https://github.com/Cykooz/fast_image_resize) від [Кірилла Кузміниха](https://github.com/Cykooz) : SIMD зміна розміру зображення +- [imagequant](https://github.com/ImageOptim/libimagequant) від [Корнела](https://github.com/kornelski) : бібліотека кількісної квантизації палітри +- [dssim](https://github.com/kornelski/dssim) від [Корнела](https://github.com/kornelski) : порівняння подібності зображень з урахуванням сприйняття людиною +- [noise](https://github.com/Razaekel/noise-rs) від [Ніка Уітні](https://github.com/Razaekel) : генерація процедурного шуму +- [imageproc](https://github.com/image-rs/imageproc) від [image-rs](https://github.com/image-rs) : бібліотека для обробки зображень +- [anim-rs](https://github.com/Joylei/anim-rs) від [Джойлея](https://github.com/Joylei) : бібліотека анімації + +## Файлова система + +( _fs_ ) + +- [directories](https://github.com/dirs-dev/directories-rs) від [Саймона Оксенрайтера](https://github.com/soc) : шляхи операційних систем +- [fs2](https://github.com/danburkert/fs2-rs) від [Дана Буркерта](https://github.com/danburkert) : додаткові операції файлової системи +- [walkdir](https://github.com/BurntSushi/walkdir) від [Андрю Галланта](https://github.com/BurntSushi) : рекурсивна хода по директоріях +- [remove_dir_all](https://github.com/XAMPPRocky/remove_dir_all) від [Еріна П](https://github.com/XAMPPRocky) : видалення директорій +- [filetime](https://github.com/alexcrichton/filetime) від [Алекса Кріттона](https://github.com/alexcrichton) : читання/запис міток часу файлу +- [is_executable](https://github.com/fitzgen/is_executable) від [Ніка Фіцджеральда](https://github.com/fitzgen) : файл є виконуваним +- [same-file](https://github.com/BurntSushi/same-file) від [Андрю Галланта](https://github.com/BurntSushi) : два файли або директорії однакові +- [globset](https://github.com/BurntSushi/globset) від [Андрю Галланта](https://github.com/BurntSushi) ( _структури_даних_ ) ( _код_ ) : порівняння зі зразками +- [which](https://github.com/harryfei/which-rs) від [Гаррі Фей](https://github.com/harryfei) : еквівалент команди Unix "which" +- [vfs](https://github.com/manuel-woelker/rust-vfs) від [Мануеля Волькера](https://github.com/manuel-woelker) : адаптер файлової системи + + + + +## Операційні системи - userland + +( _os_ ) + +- [winapi](https://github.com/retep998/winapi-rs) від [Пітера Аташіана](https://github.com/retep998) : зв'язки з Windows API +- [wio](https://github.com/retep998/wio-rs) від [Пітера Аташіана](https://github.com/retep998) : додаткові зв'язки з Windows API +- [winapi-util](https://github.com/BurntSushi/winapi-util) від [Ендрю Гелланта](https://github.com/BurntSushi) : програмне забезпечення над цим +- [rio](https://github.com/spacejam/rio) від [Тайлера Нілі](https://github.com/spacejam) : io_uring +- [telefork](https://github.com/trishume/telefork) від [Трістана Г'юма](https://github.com/trishume) : віддалене fork() +- [expectrl](https://github.com/zhiburt/expectrl) від [Максима Жибурта](https://github.com/zhiburt) ( _ui_ ) ( _tui_ ) ( _testing_ ) : керування введенням/виведенням інтерактивних програм +- [nix](https://github.com/nix-rust/nix) від [Карла Лерча](https://github.com/carllerche) : API nix +- [systemstat](https://github.com/unrelentingtech/systemstat) від [Грега Ві](https://github.com/unrelentingtech) : інформація про систему + +## Операційні системи - ядро + +( _os_ ) ( _kernel_ ) + +- [Ion](https://github.com/Andy-Python-Programmer/ion) від [Анхада Сінгха](https://github.com/Andy-Python-Programmer) : x86_64 UEFI завантажувач +- [Aero](https://github.com/Andy-Python-Programmer/aero) від [Анхада Сінгха](https://github.com/Andy-Python-Programmer) : операційна система, схожа на Unix +- [mycelium](https://github.com/hawkw/mycelium) від [Елізи Вейсман](https://github.com/hawkw) : операційна система +- [hermit-sys](https://github.com/hermitcore/rusty-hermit) від [Стефана Ланкеса](https://github.com/stlankes) : легковаговий універсальний ядро + +## Asm + +( _asm_ ) + +- [faerie](https://github.com/m4b/faerie) від [m4b](https://github.com/m4b) : пише об'єктний файл ELF і Mach-o +- [goblin](https://github.com/m4b/goblin) від [m4b](https://github.com/m4b) : розбір бінарних файлів +- [cargo-bloat](https://github.com/RazrFalcon/cargo-bloat) від [Євгенія Рейзнера](https://github.com/RazrFalcon) : утиліта для профілювання розміру коду +- [cargo-binutils](https://github.com/rust-embedded/cargo-binutils) від [Хорхе Апарісіо](https://github.com/japaric) : утиліта LLVM +- [elfloader](https://github.com/gz/rust-elfloader) від [Герда Целлвегера](https://github.com/gz) : інструкція x86 CPUID +- [symtool](https://github.com/calebzulawski/symtool) від [Кейлеба Зулавскі](https://github.com/calebzulawski) : обробка символів у файлах ELF і Mach-O + +## Апаратне забезпечення + +( _hardware_ ) + +- [cpuid](https://github.com/gz/rust-cpuid) від [Герда Целлвегера](https://github.com/gz) : інструкція x86 CPUID +- [cupid](https://github.com/shepmaster/cupid) від [Джейка Голдінга](https://github.com/shepmaster) : інструкція x86 CPUID +- [num_cpus](https://github.com/seanmonstar/num_cpus) від [Шона Макартура](https://github.com/seanmonstar) : кількість процесорів +- [generic-simd](https://github.com/calebzulawski/generic-simd) від [Кейлеба Зулавскі](https://github.com/calebzulawski) : SIMD інструкції +- [multiversion](https://github.com/calebzulawski/multiversion) від [Кейлеба Зулавскі](https://github.com/calebzulawski) : інструмент для написання багатоверсійних архітектурно-специфічних реалізацій функцій +- [vergen](https://github.com/rustyhorde/vergen) від [Джейсона Озіаса](https://github.com/jasonozias) : ( _hardware_ ) ( _compile_time_ ) константи часу компіляції про процес компіляції + +## Вбудовані системи + +( _embed_ ) + +- [embedded-hal](https://github.com/rust-embedded/embedded-hal) від [Хорхе Апарісіо](https://github.com/japaric) : апаратний абстракційний +- [serial_enumerator](https://github.com/rede97/serial_enumerator) від [eebear](https://github.com/rede97) : перелік послідовних портів + +## Зовнішні + +( _foreign_ ) + +- [foreign_types](https://github.com/sfackler/foreign-types) від [Стівена Факлера](https://github.com/sfackler) : обгортки над C API. +- [cpp](https://github.com/mystor/rust-cpp) від [Ніки Лейзелл](https://github.com/mystor) : вбудовування C++ в код Rust + +## Журналювання + +( _logger_ ) + +- [log](https://github.com/rust-lang/log) від [Алекса Крітону](https://github.com/alexcrichton) : легке журналювання +- [log4rs](https://github.com/estk/log4rs) від [estk](https://github.com/estk) : налаштоване журналювання +- [simplelog](https://github.com/Drakulix/simplelog.rs) від [Вікторії Брекенфельд](https://github.com/Drakulix) : просте журналювання +- [tracing](https://github.com/tokio-rs/tracing) від [Елізи Вайсман](https://github.com/hawkw) : +- [fregate](https://github.com/elefant-dev/fregate-rs) від [Петра Макагон](https://github.com/elefant-dev) : метрика, журналювання, оточення в одному + +## Налаштування + +( _config_ ) + +- [config](https://github.com/mehcode/config-rs) від [Райана Лекі](https://github.com/mehcode) : загальний менеджер налаштувань +- [dotenvy](https://github.com/allan2/dotenvy/) від [Аллана](https://github.com/allan2) : змінні середовища з файлу .env + +## Інструменти діагностики + +( _diagnostics_ ) + +- [pretty_assertions](https://github.com/colin-kiegel/rust-pretty-assertions) від [Коліна Кігеля](https://github.com/colin-kiegel) : красива функція assert_eq + +## Мобільна розробка + +( _mobile_ ) + +- [cargo-mobile](https://github.com/BrainiumLLC/cargo-mobile) від [mtak-](https://github.com/mtak-) ( _build_ ) : утиліта для запуску Rust на мобільних пристроях +- [crossbow](https://github.com/dodorare/crossbow) від [Девіда Акермана](https://github.com/enfipy) : крос-платформені інструменти для розробки ігор на Rust +- [mobile-entry-point](https://github.com/BrainiumLLC/mobile-entry-point) від [Франчески Лавблум](https://github.com/francesca64) : обгортає функцію для використання її як точки входу для мобільного додатка + +## Android + +( _android_ ) + +- [android-ndk-rs](https://github.com/rust-windowing/android-ndk-rs) від [Марка Барбоне](https://github.com/mb64) : бібліотеки та інструменти для програмування на Rust для платформ Android +- [ndk](https://github.com/rust-mobile/ndk) від [Девіда Крейвена](https://github.com/dvc94ch) : бібліотека взаємодії для нативного Rust-додатка з Android-фреймворком +- [ndk-sys](https://github.com/rust-mobile/ndk/tree/master/ndk-sys) від [Девіда Крейвена](https://github.com/dvc94ch) ( _bindings_ ) : сира FFI-зв'язка з NDK +- [cargo-apk](https://github.com/rust-mobile/cargo-apk) від [Девіда Крейвена](https://github.com/dvc94ch) ( _build_ ) : інструмент для створення пакунків Android +- [android_logger](https://github.com/Nercury/android_logger-rs) від [Неріюса Арлаускаса](https://github.com/Nercury) ( _logger_ ) : відправлення журналів Rust у Logcat + +## iOS + +( _ios_ ) + +- [rust-to-ios](https://github.com/wojteklu/rust-to-ios) від [Войтека Лукашука](https://github.com/wojteklu) ( _example_ ) : Приклад проекту для створення бібліотеки для iOS. +- [xcodegen](https://github.com/yonaskolb/XcodeGen) від [Йонаса Колба](https://github.com/yonaskolb) : утиліта для генерації вашого проекту Xcode +- [cargo-lipo](https://github.com/TimNN/cargo-lipo) від [Тіма Ноймана](https://github.com/TimNN) : утиліта для автоматичного створення універсальної бібліотеки для використання в додатках iOS + +## Шаблони + +( _templating_ ) + +- [handlebars-rust](https://github.com/sunng87/handlebars-rust) від [Нінг Сана](https://github.com/sunng87) : мова шаблонів Handlebars, реалізована на Rust і для Rust +- [cargo-generate](https://github.com/cargo-generate/cargo-generate) від [Ашлі Вільямс](https://github.com/ashleygwilliams) : утиліта для створення шаблону ( _cargo_ ) ( _build_ ) +- [ramhorns](https://github.com/maciejhirsz/ramhorns) від [Мацей Гіржа](https://github.com/maciejhirsz) : шаблонний двигун Mustache + +## Обмін повідомленнями + +( _messaging_ ) + +- [paho-mqtt](https://github.com/eclipse/paho.mqtt.rust) від [Франка Палюгі](https://github.com/fpagliughi) : Офіційна бібліотека Rust для клієнта Eclipse Paho MQTT. Це обгортка навколо бібліотеки Paho C + +## Утиліти для розробки + +( _development_ )( _utility_ ) + +- [cargo-clippy](https://github.com/rust-lang/rust-clippy) від [Манішарта](https://github.com/Manishearth) : Збірка лінтів для виявлення поширених помилок і покращення вашого коду Rust +- [cargo-audit](https://github.com/RustSec/rustsec/tree/main/cargo-audit) від [Тоні Арц'єрі](https://github.com/tarcieri) : Перевірка файлів Cargo.lock на предмет крейтів із виявленими уразливостями, звільненими в базі даних RustSec Advisory +- [cargo-udeps](https://github.com/est31/cargo-udeps) від [est31](https://github.com/est31) : Пошук не використовуваних залежностей у файлі Cargo.toml +- [cargo-watch](https://github.com/watchexec/cargo-watch) від [Фелікса Сапареллі](https://github.com/passcod) : Утиліта для спостереження за змінами в початкових файлах вашого проекту +- [cargo-checkmate](https://github.com/cargo-checkmate/cargo-checkmate) від [Нейтана Уілкокса](https://github.com/nathan-at-least) : Виконання низки корисних перевірок відразу. +- [cargo-about](https://github.com/EmbarkStudios/cargo-about) від [Джейка Шейдла](https://github.com/Jake-Shadle) : Плагін для Cargo, що генерує перелік ліцензій для всіх залежностей крейта +- [cargo-hack](https://github.com/taiki-e/cargo-hack) від [Тайкі Ендо](https://github.com/taiki-e) : Підкоманда для Cargo, яка надає різні опції, корисні для тестування та постійної інтеграції +- [cargo-outdated](https://github.com/kbknapp/cargo-outdated) від [Кевіна К.](https://github.com/kbknapp) : Підкоманда для Cargo для відображення застарілих залежностей Rust +- [cargo-miri](https://github.com/rust-lang/miri) від [Скотта Олсона](https://github.com/solson) : Експериментальний інтерпретатор для Rust. Може використовуватися для виявлення певних класів невизначеності +- [cargo-expand](https://github.com/dtolnay/cargo-expand) від [Девіда Толней](https://github.com/dtolnay) : Розширення для cargo для розгортання макросів +- [cargo-llvm-lines](https://github.com/dtolnay/cargo-llvm-lines) від [Девіда Толней](https://github.com/dtolnay) : Підрахунок кількості рядків LLVM IR у всіх інстанціях загальної функції + + + + + + + + +## Пояснення до теґів + +- :earth_africa: - найпопулярніший модуль у своїй категорії +- ( _collection_ ) - чудова колекція +- ( _error_ ) - обробка помилок +- ( _macro_ ) - створення макросів +- ( _meta_ ) - метапрограмування: відображення, інтроспекція та інші схожі речі +- ( _decorator_ ) - декоратори для зручного коду +- ( _derive_ ) - процедурні макроси деривації +- ( _compiler_ ) - компілятори та статичні аналізатори +- ( _compile_time_ ) - не під час виконання +- ( _global_ ) - глобальна змінна +- ( _njs_ ) - пов'язано з NodeJs +- ( _ui_ ) - користувацький інтерфейс +- ( _gui_ ) - графічний користувацький інтерфейс +- ( _tui_ ) - текстовий користувацький інтерфейс +- ( _cui_ ) - інтерфейс командного рядка +- ( _cui_parsing_ ) - засоби для аналізу введення інтерфейсу командного рядка ( CUI ) +- ( _terminal_ ) - термінал, текстовий вивід +- ( _cloud_api_ ) - віддалені API, переважно REST +- ( _cross_compile_ ) - збірка з одної платформи на іншу +- ( _build_ ) - інструменти для збірки вашого проекту +- ( _perf_benchmark_ ) - оцінка продуктивності +- ( _wasm_ ) - пов'язано з WebAssembly +- ( _windowing_ ) - створення вікон, робота з графічним користувацьким інтерфейсом ОС +- ( _dsa_ ) - агрегація потоків даних +- ( _html_ ) - створення / аналіз / перетворення HTML +- ( _dom_ ) - веб DOM +- ( _web_frontend_ ) - веб-фронтенд +- ( _web_backend_ ) - веб-бекенд +- ( _network_ ) - мережа +- ( _db_ ) - пов'язано з базами даних +- ( _db_key_value_ ) - ключ-значення +- ( _db_document_oriented_ ) - орієнтовані на документи +- ( _db_relational_ ) - реляційні +- ( _db_graphs_ ) - графові +- ( _data_science_ ) - наука про дані, видобування даних, машинне навчання +- ( _functional_ ) - функціональне програмування +- ( _virtualisation_ ) - пов'язано з віртуалізацією, пов'язано з Docker +- ( _concurrency_ ) - паралельне програмування +- ( _async_ ) - асинхронне програмування +- ( _async_runtime_ ) - асинхронні рантайми та виконавці +- ( _persistence_ ) - збереження і відкладене виконання +- ( _communication_ ) - міжпроцесове або міжпотокове спілкування +- ( _streams_ ) - потоки читання / запису +- ( _buffers_ ) - буфери для управління пам'яттю +- ( _mem_ ) - керування пам'яттю +- ( _serialization_ ) - серіалізація / десеріалізація +- ( _stringification_ ) - перетворення в / з рядка +- ( _parser_generator_ ) - генератори / комбінатори парсерів +- ( _lexer_generator_ ) - генератор лексерів +- ( _parser_ ) - парсер для конкретної мови +- ( _time_ ) - час +- ( _statistics_ ) - генератори випадкових чисел, розподіли і статистичні речі +- ( _character_encoding_ ) - кодування символів +- ( _adt_ ) - абстрактні типи даних +- ( _algo_ ) - алгоритми +- ( _data_structure_ ) - структури даних та алгоритми +- ( _primitive_ ) - примітиви +- ( _ds_collection_ ) - структури даних, які є колекціями +- ( _string_ ) - структури даних та алгоритми на основі рядків або байтів +- ( _stack_based_ ) - структури даних та алгоритми на основі стеку +- ( _graphs_ ) - структури даних та алгоритми для графів +- ( _hashing_ ) - алгоритми хешування +- ( _cryptography_ ) - криптографія +- ( _compression_ ) - стиснення, архівація +- ( _encoding_ ) - кодування / декодування +- ( _gdf_ ) - загальний формат даних, загальнопризначені формати для обміну даними +- ( _asset_image_ ) - читання / запис / обробка різних форматів зображень +- ( _fs_ ) - пов'язано з файловою системою +- ( _os_ ) - операційні системи, завантажувачі та компоненти, такі як API ОС +- ( _kernel_ ) - ядро операційної системи +- ( _cargo_ ) - розширення для Cargo +- ( _cargo_clean_ ) - очищення артефактів +- :movie_camera: - обробка відео, захоплення +- ( _asm_ ) - машинний код, байт-код, інтерпретатори, збирачі +- ( _hardware_ ) - читання / запис апаратного забезпечення +- ( _embed_ ) - вбудований +- ( _foreign_ ) - іноземні функції, прив'язка C / C++, інтерфейс іноземних функцій ( FFI ) +- ( _self_ref_ ) - структури з власним посиланням +- ( _ownership_semantics_ ) - розв'язання проблем з володінням / позичанням / часом життями та посиланням на себе +- ( _multidimensional_ ) - багатовимірні структури даних та алгоритми +- ( _bindings_ ) - прив'язки до іноземної бібліотеки або сервісу +- ( _logger_ ) - інструменти для виводу інформації +- ( _config_ ) - керування конфігурацією +- ( _daignostics_ ) - інструменти для діагностики +- ( _mobile_ ) - інструмент або бібліотека для запуску коду Rust на мобільних пристроях +- ( _android_ ) - інструменти для запуску коду Rust на Android +- ( _ios_ ) - інструменти для запуску коду Rust на iOS +- ( _testing_ ) - для написання тестів +- ( _utility_ ) - інструмент для виконання в терміналі +- ( _example_ ) - прикладний проект +- ( _templating_ ) - інструменти для генерування тексту за допомогою шаблонів +- ( _idea_ ) - це скоріше доказ концепції, ніж реалізація, готова до виробництва +- ( _development_ ) - допомагає розробнику розробляти +- ( _xml_ ) - парсери XML, читання / записування +- ( _messaging_ ) - інструменти для обміну повідомленнями diff --git a/toolbox_multimedia_ua.md b/toolbox_multimedia_ua.md new file mode 100644 index 0000000..4fb607f --- /dev/null +++ b/toolbox_multimedia_ua.md @@ -0,0 +1,380 @@ +# :video_game: Набір інструментів для розробки мультимедіа + +Чудова колекція крейтів для мультимедійної розробки: графіка, відео, аудіо, математика, DSP. Він підібраний нами. + +Ви також можете бути зацікавлені в інших наборах інструментів: + +- :wrench: [Досліджуй](./toolbox_general_ua.md) : загальний набір інструментів з колекцією крейтів. +- :video_game: [Досліджуй](./toolbox_multimedia_ua.md) : мультимедійний набір інструментів з колекцією крейтів для графіки, відео, аудіо. +- :infinity: [Досліджуй](./toolbox_scientific_ua.md) : науковий набір інструментів з колекцією крейтів для математики, фізики, лінійної алгебри, машинного навчання, DSP. +- :package: [Досліджуй](./toolbox_distros_ua.md) : набір інструментів для дистрибуції, написаних на Rust, для поширення поза екосистемою Rust. + +[:arrow_down: Пояснення до теґів](#пояснення-до-теґів) в кінці сторінки. + + + +## Рендерер + +( _renderer_ ) + +- [WebGPU](https://github.com/gfx-rs/wgpu) : Сучасний API для візуалізації +- [skia-bindings](https://github.com/rust-skia/rust-skia) від [Long Yinan](https://github.com/Brooooooklyn) : зв'язування зі skia +- [glow](https://github.com/grovesNL/glow) від [Josh Groves](https://github.com/grovesNL) : GL на будь-якому +- [glutin](https://github.com/rust-windowing/glutin) від [Rust Windowing](https://github.com/rust-windowing) : контекст OpenGL +- [gl-rs](https://github.com/brendanzab/gl-rs) від [Brendan Zabarauskas](https://github.com/brendanzab) : вказівник на функцію OpenGL +- [limelight](https://crates.io/crates/limelight) від [Paul Butler](https://github.com/paulgb) : обгортка WebGL2 з рендерером +- [rend3](https://github.com/BVE-Reborn/rend3) від [BVE-Reborn Train Simulator](https://github.com/BVE-Reborn) : простий у використанні, налаштовуваний, ефективний бібліотека рендерингу 3D на основі wgpu + +## Проміжний шар візуалізації + +( _renderer_ ) ( _middleware_ ) + +- [three-d](https://github.com/asny/three-d) від [Asger Nyman Christiansen](https://github.com/asny) : ще один рендерер для проміжного шару візуалізації +- [luminance](https://github.com/phaazon/luminance-rs) від [Dimitri Sabadie](https://github.com/phaazon) : ще один рендерер для проміжного шару візуалізації +- [miniquad](https://github.com/not-fl3/miniquad) від [Fedor Logachev](https://github.com/not-fl3) : мінімальний крос-платформений рендерер +- [kiss3d](https://github.com/sebcrozet/kiss3d) від [Sébastien Crozet](https://github.com/sebcrozet) : простий 3D рендерер +- [pixels](https://github.com/parasyte/pixels) від [Jay Oster](https://github.com/parasyte) : маленький апаратно-прискорений піксельний буфер кадру +- [speedy2d](https://github.com/QuantumBadger/Speedy2D) від [QuantumBadger](https://github.com/QuantumBadger) : апаратно-прискорений рендерер із простим API +- [pixels](https://github.com/parasyte/pixels) від [Jay Oster](https://github.com/parasyte) : невеликий апаратно-прискорений піксельний буфер кадру +- [limelight](https://github.com/drifting-in-space/limelight) від [Paul Butler](https://github.com/paulgb) : обгортка WebGL2 + +## Гральні рушії + +( _engine_ ) + +- [Bevy](https://github.com/bevyengine/bevy) від [Carter Anderson](https://github.com/cart) ( _bevy_ ) : популярний гральний рушій на основі wgpu +- [Piston](https://github.com/PistonDevelopers/piston) від [PistonDevelopers](https://github.com/PistonDevelopers) : модульний гральний рушій, написаний на Rust +- [Fyrox](https://github.com/FyroxEngine/Fyrox) від [Fyrox Engine](https://github.com/FyroxEngine) : сучасний гральний рушій на Rust +- [Amethyst](https://github.com/amethyst/amethyst) від [Amethyst Foundation](https://github.com/amethyst) : гральний рушій, орієнтований на дані і орієнтований на налаштування, спрямований на максимальну швидкість +- [emerald](https://github.com/Bombfuse/emerald) від [bombfuse](https://github.com/Bombfuse) : 2D гральний рушій на Rust, спрямований на переносність +- [tetra](https://github.com/17cupsofcoffee/tetra) від [Joe Clay](https://github.com/17cupsofcoffee) : простий 2D гральний рушій +- [macroquad](https://github.com/not-fl3/macroquad) від [Fedor Logachev](https://github.com/not-fl3) : мінімальний крос-платформений гральний рушій +- [gdnative](https://github.com/godot-rust/godot-rust) від [vurpo](https://github.com/vurpo) ( _physics_ ) : зв'язування з гральним рушієм Godot + +## Веб-рушій + +( _engine_ ) + +- [Notan](https://github.com/Nazariglez/notan) від [Nazarí González](https://github.com/Nazariglez) : переносний мультимедійний рівень (орієнтований на веб) + +## Пристрій інтерфейсу користувача + +( _hid_ ) + +- [gamepad-rs](https://github.com/unrust/gamepad-rs) від [Edwin Cheng](https://github.com/edwin0cheng) : підтримка геймпадів на крос-платформеному рівні + +## Проміжний шар шейдерів + +( _middleware_ ) ( _shader_ ) + +- [glsl](https://github.com/phaazon/glsl) від [Dimitri Sabadie](https://github.com/phaazon) : парсер мови шейдерів OpenGL +- [naga](https://github.com/gfx-rs/naga) від [Dzmitry Malyshau](https://github.com/kvark) : переклад шейдерів +- [rust-gpu](https://github.com/EmbarkStudios/rust-gpu) від [EmbarkStudios](https://github.com/EmbarkStudios) : мова першого класу та екосистема для шейдерів графіки та обчислення на GPU ( _shader_ ) + +## Геометрія + +( _geometry_ ) + +- [tri-mesh](https://github.com/asny/tri-mesh) від [Asger Nyman Christiansen](https://github.com/asny) : структура даних трикутної мережі +- [meshopt](https://github.com/gwihlidal/meshopt-rs) від [Graham Wihlidal](https://github.com/gwihlidal) : зв'язування з zeux/meshoptimizer +- [euclid](https://github.com/servo/euclid) від [Servo](https://github.com/servo) : Примітиви геометрії +- [Pointy](https://github.com/douglau/pointy) від [Douglas Lau](https://github.com/douglau) : Мінімальна бібліотека геометрії для 2D +- [geom-rs](https://github.com/vectorious/geom-rs) від [Brandon King](https://github.com/vectorious) : Проста бібліотека геометрії для 2D +- [implicit3d](https://github.com/hmeyer/implicit3d) від [Henning Meyer](https://github.com/hmeyer) : 3D імпліцитна геометрія +- [euler](https://github.com/alteous/euler) від [David Harvey-Macaulay](https://github.com/alteous) : Математична бібліотека для 3D комп'ютерної графіки +- [lyon](https://github.com/nical/lyon) від [Nicolas Silva](https://github.com/nical) : Бібліотека теселяції шляху, написана на Rust для візуалізації 2D графіки на основі GPU. +- [raqote](https://github.com/jrmuizel/raqote) від [Jeff Muizelaar](https://github.com/jrmuizel) : Чиста Rust 2D графічна бібліотека. +- [footile](https://github.com/douglau/footile) від [Douglas Lau](https://github.com/douglau) : Бібліотека векторної графіки 2D + +## Керування вікнами + +( _windowing_ ) + +- [winit](https://github.com/rust-windowing/winit) від [rust-windowing](https://github.com/rust-windowing) : Створення та керування вікнами на різних платформах + +## Мережа + +( _network_ ) + +- [crystalorb](https://github.com/ErnWong/crystalorb) від [Ernest Wong](https://github.com/ErnWong) : бібліотека для мережевого взаємодії + +## Bevy + +( _bevy_ ) + +- [bevy](https://github.com/bevyengine/bevy) від [Carter Anderson](https://github.com/cart) ( _engine_ ) : популярний гральний рушій на основі wgpu +- [bevy_mod_picking](https://github.com/aevyrie/bevy_mod_picking) від [Aevyrie](https://github.com/aevyrie) : вибір об'єктів мишею в 3D +- [bevy_ecs_tilemap](https://github.com/StarArawn/bevy_ecs_tilemap) від [John Mitchell](https://github.com/StarArawn) : ECS для карток +- [kayak_ui](https://github.com/StarArawn/kayak_ui) від [John Mitchell](https://github.com/StarArawn) : інтерфейс гри +- [bevy_tiled](https://github.com/StarArawn/bevy_tiled) від [John Mitchell](https://github.com/StarArawn) : візуалізація плиткових карт +- [bevy_asset_ron](https://github.com/inodentry/bevy_asset_ron) від [Ida Iyes](https://github.com/inodentry) : РОН-активи +- [smooth-bevy-cameras](https://github.com/bonsairobo/smooth-bevy-cameras) від [Duncan](https://github.com/bonsairobo) : керування камерами з масляною, експоненційною плавністю + +## WebGPU + +( _webgpu_ ) + +- [wgpu_glyph](https://github.com/hecrj/wgpu_glyph) від [Héctor Ramón](https://github.com/hecrj) ( _webgpu_ ) : текстовий рендерер для wgpu +- [WebGPU](https://github.com/gfx-rs/wgpu) : Сучасний API для візуалізації +- [rugl](https://github.com/gregtatum/rugl) від [Greg Tatum](https://github.com/gregtatum) : Декларативний Stateless OpenGL на Rust (інспірований regl) +- [glyphon](https://github.com/grovesNL/glyphon) від [Josh Groves](https://github.com/grovesNL) : 2D текстовий рендерер для wgpu + +## Структури даних та алгоритми + +( _data_structures_ ) + +- [building-blocks](https://github.com/bonsairobo/building-blocks) від [Duncan](https://github.com/bonsairobo) : структури даних для графіки + +## Шрифт + +( _font_ ) + +- [swash](https://github.com/dfrg/swash) від [Chad Brokaw](https://github.com/dfrg) : внутрішнє вивчення шрифту +- [zeno](https://github.com/dfrg/zeno) від [Chad Brokaw](https://github.com.dfrg) ( _line_ ) : бібліотека растеризації шляхів +- [ttf-parser](https://github.com/RazrFalcon/ttf-parser) від [Yevhenii Reizner](https://github.com/RazrFalcon) : Парсер шрифту TrueType +- [glyph-brush](https://github.com/alexheretic/glyph-brush) від [Alex Butler](https://github.com/alexheretic/glyph-brush) : швидкий кешований рендеринг тексту на GPU +- [wgpu_glyph](https://github.com/hecrj/wgpu_glyph) від [Héctor Ramón](https://github.com/hecrj) ( _webgpu_ ) : текстовий рендерер для wgpu +- [fontdb](https://github.com/RazrFalcon/fontdb) від [Yevhenii Reizner](https://github.com/RazrFalcon) : база даних шрифтів у пам'яті + +## SVG + +( _svg_ ) + +- [resvg](https://github.com/RazrFalcon/resvg) від [Yevhenii Reizner](https://github.com/RazrFalcon) : візуалізація SVG +- [railroad](https://github.com/lukaslueg/railroad) від [Lukas Lueg](https://github.com/lukaslueg) : створення діаграм синтаксису у вигляді SVG +- [railroad_dsl](https://github.com/lukaslueg/railroad_dsl) від [Lukas Lueg](https://github.com.lukaslueg) : мова для створення діаграм синтаксису у вигляді SVG + +## GIF + +( _gif_ ) + +- [gifski](https://crates.io/crates/gifski) від [ImageOptim](https://github.com/ImageOptim) : найвищої якості кодер GIF на основі pngquant. +- [gif](https://crates.io/crates/gif) від [image-rs](https://github.com/image-rs) : кодер і декодер GIF, написаний на Rust. +- [webp-animation](https://crates.io/crates/webp-animation) від [Mika](https://github.com/blaind) : високорівнева обгортка Rust для декодування та кодування анімацій WebP. + +## Анімація + +( _animation_ ) + +- [rust-animation](https://crates.io/crates/rust-animation) від [Joone Hur](https://github.com/joone) : призначений для реалізації простого анімованого інтерфейсу для вбудованих пристроїв. +- [anim](https://crates.io/crates/anim) від [joylei](https://github.com/Joylei) : незалежна від фреймворка бібліотека анімацій для Rust. +- [silver_animation](https://crates.io/crates/silver_animation) від [lenscas](https://github.com/lenscas) : проста та базова система анімації для quicksilver. +- [skeletal_animation](https://crates.io/crates/skeletal_animation) від [Sven Nilsen](https://github.com/bvssvni) : бібліотека Rust для данних, які використовуються для анімації скелету. + +## 3D ресурси + +( _assets_3d_ ) + +- [russimp](https://github.com/jkvargas/russimp) від [Jhonny Vargas](https://github.com/jkvargas) : зв'язування з assimp +- [bvh_anim](https://github.com/burtonageo/bvh_anim) від [George Burton](https://github.com/burtonageo) : завантажувач файлів анімації bvh + +- [gltf](https://crates.io/crates/gltf) від [gltf-rs](https://github.com/gltf-rs) : завантажувач glTF 2.0. +- [mugltf](https://crates.io/crates/mugltf) від [Andy K. S. Wong](https://github.com/andykswong) : мінімальний завантажувач моделей glTF 2.0. +- [easy-gltf](https://crates.io/crates/easy-gltf) від [Florian Amsallem](https://github.com/flomonster) : завантажувач glTF 2.0. + +- [dae-parser](https://crates.io/crates/dae-parser) від [Mario Carneiro](https://github.com/digama0) : парсер формату Collada (.dae). +- [collada](https://crates.io/crates/collada) від [PistonDevelopers](https://github.com/PistonDevelopers) : розбір файлів Collada. + +- [obj](https://crates.io/crates/obj) від [Dzmitry Malyshau](https://github.com/kvark) : базовий імпортер та експортер формату Wavefront OBJ. +- [obj-rs](https://crates.io/crates/obj-rs) від [Hyeon Kim](https://github.com/simnalamburt) : парсер файлів Wavefront .obj, обробляє формати .obj та .mtl. +- [tobj](https://crates.io/crates/tobj) від [Will Usher](https://github.com/Twinklebear) : простий та легкий спосіб завантаження файлів OBJ. + +- [stl](https://crates.io/crates/stl) від [Eric Holk](https://github.com/eholk) : бібліотека для читання файлів Stereo Lithography (STL). +- [stl_io](https://crates.io/crates/stl_io) від [Henning Meyer](https://github.com/hmeyer) : читання та запис файлів STL (STereoLithography). +- [nom_stl](https://crates.io/crates/nom_stl) від [Clark Kampfe](https://github.com/ckampfe) : парсер бінарних та ASCII файлів STL. + +- [iso-10303-parts](https://crates.io/crates/iso-10303-parts) від [Junfeng Liu](https://github.com/J-F-Liu) : згенерований код для читання частин ISO 10303. +- [iso-10303](https://crates.io/crates/iso-10303) від [Junfeng Liu](https://github.com/J-F-Liu) : читання файлів CAD у форматі STP/STEP. + +- [fs3ds](https://crates.io/crates/fs3ds) від [marius851000](https://github.com/marius851000) : доступ до romfs незашифрованих romfs. +- [bevy_3ds](https://crates.io/crates/bevy_3ds) від [Ian Chamberlain](https://github.com/ian-h-chamberlain) : використання Bevy на 3DS. + +## Лінія + +( _line_ ) + +- [line_drawing](https://github.com/expenses/line_drawing) від [Ashley](https://github.com/expenses) : алгоритми малювання ліній +- [zeno](https://github.com/dfrg/swash) від [Chad Brokaw](https://github.com/dfrg) ( _font_ ) : бібліотека растеризації шляхів +- [bezier-nd](https://github.com/atthecodeface/bezier-nd-rs) від [Gavin J Stark](https://github.com/atthecodeface) : реалізація кривих Без'є з використанням N-мірних векторів +- [makima_spline](https://github.com/grasbock/makima_spline) від [GRASBOCK](https://github.com/grasbock) : Реалізація модифікованої інтерполяції сплайном Акіма +- [Uniform Cubic Spline Interpolation & Inversion](https://github.com/virtualritz/uniform-cubic-splines) від [Moritz Mœller](https://github.com/virtualritz) : Проста оцінка та інверсія рівномірного кубічного сплайну + +## Графіка + +( _plotting_ ) + +- [`plotlib`](https://github.com/milliams/plotlib) від [Метт Вільямс](https://github.com/milliams) : загальна бібліотека візуалізації та побудови графіків для мови програмування Rust. +- [`plotly`](https://github.com/igiagkiozis/plotly) від [Іоанніс Гіагкіозіс](https://github.com/igiagkiozis) : бібліотека для побудови графіків на мові програмування Rust, заснована на Plotly.js. + +## Теселяція + +( _tesselation_ ) + +- [cdshealpix-rust](https://github.com/cds-astro/cds-healpix-rust) від [Центр астрономічних даних Страсбургу (CDS)](https://github.com/cds-astro) : реалізація HEALPix теселяції на мові програмування Rust. +- [lyon::path](https://github.com/nical/lyon/tree/HEAD/crates/path) від [Ніколя Сільва](https://github.com/nical) : типи та інструменти для зберігання, побудови та ітерації 2D шляхів. +- [tir](https://github.com/dcrasch/tir/tree/HEAD/tessellations) від [Девід Раш](https://github.com/dcrasch) : бібліотека для створення та малювання періодичних плиток на площині. +- [geopattern](https://github.com/suyash/geopattern-rs) від [Суяш](https://github.com/suyash) : гарні генеративні геометричні фонові зображення з рядка, реалізація на Rust із geo_pattern від @jasonlong. +- [tessellation](https://github.com/hmeyer/tessellation) від [Геннінг Мейєр](https://github.com/hmeyer) : бібліотека теселяції у тривимірному просторі. +- [plane-split](https://github.com/servo/plane-split) від [Servo](https://github.com/servo) : поділ площини. + +## Колір + +( _color_ ) + +- [rgb](https://github.com/kornelski/rust-rgb) від [Корнел](https://github.com/kornelski) : RGB / RGBA +- [palette](https://github.com/Ogeon/palette) від [Ерік Хедвалл](https://github.com/Ogeon) : конвертація кольорів + +## Симуляція + +( _simulation_ ) + +- [gfx-ocean](https://github.com/gfx-rs/gfx-ocean) від [Маркус Сіглрайтмайєр](https://github.com/msiglreith) : симуляція океану + +## Прив'язки SDK + +( _sdk_ ) + +- [steamworks](https://github.com/Noxime/steamworks-rs) від [Ааро Пераамаа](https://github.com/Noxime) : прив'язки до SteamWorks SDK + +## Кодеки та обробка відео + +( _codec_ ) + +- [ac-ffmpeg](https://crates.io/crates/ac-ffmpeg) від [Angelcam](https://github.com/angelcam) : обгортка FFmpeg на мові програмування Rust. +- [ffmpeg-next](https://crates.io/crates/ffmpeg-next) від [Джимінг Ванг](https://github.com/zmwangx) : безпечна обгортка для FFmpeg (сумісна з FFmpeg 4). +- [syeve](https://crates.io/crates/syeve) від [ZettaScript](https://framagit.org/ZettaScript) : простий, але ефективний кодек відеокодування (безвтратний потіковий кодек). + +## Звук + +( _sound_ ) + +- [symphonia](https://github.com/pdeljanov/Symphonia) від [Філіп Дельянов](https://github.com/pdeljanov) : декодування аудіо +- [audrey](https://github.com/RustAudio/audrey) від [мітчміндтрі](https://github.com/mitchmindtree) : агрегатор читачів аудіоформатів + +## Генерація звуку та музики + +( _sound_gen_ ) + +- [usfx](https://github.com/tversteeg/usfx) від [Томас Верстіг](https://github.com/tversteeg) : генерація звукових ефектів +- [glicol](https://github.com/chaosprint/glicol) від [](https://github.com/chaosprint) : мова live coding для генерації музики +- [service glicol](https://glicol.org/) від [](https://github.com/chaosprint) : мова live coding для генерації музики як сервіс + +## Віртуальна студія звуку + +( _sound_ ) ( _vst_ ) + +- [vst2](https://github.com/overdrivenpotato/rust-vst2) від [Марко Міялковіч](https://github.com/overdrivenpotato) : реалізація API VST 2.4 +- [easyvst](https://github.com/Boscop/easyvst) від [Боскоп](https://github.com/Boscop) : допоміжна бібліотека для створення аудіо плагінів VST + +## Звукові шейдери + +( _sound_ ) ( _shader_ ) + +- [BoiTracker](https://github.com/LeStahL/BoiTracker) від [Александр Краус](https://github.com/LeStahL) ( _midi_ ) : візуалізація введення MIDI + +## MIDI + +( _sound_ ) ( _midi_ ) + +- [BoiTracker](https://github.com/LeStahL/BoiTracker) від [Александр Краус](https://github.com/LeStahL) ( _shader_ ) : візуалізація введення MIDI +- [midir](https://github.com/Boddlnagg/midir) від [Патрік Райзерт](https://github.com/Boddlnagg/) : багатоплатформенна обробка MIDI в реальному часі + +## Геоінформаційні системи (ГІС) + +( _gis_ ) + +- [osmpbf](https://github.com/b-r-u/osmpbf) від [Йоганнес Гофманн](https://github.com/b-r-u) : читання формату файлів OpenStreetMap PBF + +## Геймдизайн та практика + +( _game_design_ ) + +- [grue](https://github.com/gwihlidal/grue-rs) від [Греем Віхлідал](https://github.com/gwihlidal) : інструменти для створення рольових та пригодницьких ігор +- [bracket-lib](https://github.com/amethyst/bracket-lib) від [Герберт Вольверсон](https://github.com/thebracket) : розробка ігор на основі терміналу +- [HandsOnRust](https://github.com/thebracket/HandsOnRust) від [Герберт Вольверсон](https://github.com/thebracket) : приклади з книги "Hands-on Rust" + +## Ігри + +( _game_ ) + +- [veolren](https://github.com/veloren/veloren) від [Джошуа Барретто](https://github.com/zesterer) : відкритий світ, гра-воксель RPG з відкритим кодом +- [chirperjax](https://github.com/SergiusIW/chirperjax) від [Меттью Мішелотті](https://github.com/SergiusIW) : простий 2D платформер +- [sandbox](https://github.com/JMS55/sandbox) від [JMS55](https://github.com/JMS55) : симуляція пісочниці + +## Іграшкові ігри + +( _game_ ) ( _toy_ ) + +- [bevy_rider](https://github.com/bonsairobo/bevy_rider) від [Дункан](https://github.com/bonsairobo) : малювання з фізикою 2D +- [roguelike](https://github.com/JMS55/roguelike) від [JMS55](https://github.com/JMS55) : пошук лабіринту з пошаговою стратегією +- [crossword](https://github.com/paulgb/crossword-composer) від [Пол Батлер](https://github.com/paulgb) : створення кросвордів. +- [name-needed](https://github.com/DomWilliams0/name-needed) від [Дом Вільямс](https://github.com/DomWilliams0) : гра, схожа на Dwarf Fortress + +## Специфічне + +( _specific_ ) + +- [triangle-rs](https://github.com/rconan/triangle-rs) від [Род Конан](https://github.com/rconan) : Rust обгортка для генератора 2D мережі і триангулятора Делоне Triangle +- [Hilbert 2D](https://github.com/hbertoduarte/hilbert_2d) від [Умберто Дуарте](https://github.com/hbertoduarte) : Функції для відображення між 1D і 2D простором з використанням кривої Гільберта та її наближень +- [truck-geometry](https://github.com/ricosjp/truck/tree/HEAD/truck-geometry) від [RICOS Co. Ltd.](https://github.com/ricosjp) : геометричні структури: вузолні вектори, B-сплайн та NURBS +- [centerline.rs](https://github.com/eadf/centerline.rs) від [eadf](https://github.com/eadf) : Проста бібліотека для знаходження центральної лінії 2D замкнутої геометрії +- [ring-algorithm](https://gitlab.com/Toru3/ring-algorithm) від [Toru3](https://gitlab.com/Toru3) : алгоритми на кільці (Абстрактна алгебра) +- [Enterpolation](https://github.com/nicolasklenert/enterpolation) від [НіколясКленерт](https://github.com/nicolasklenert) : Бібліотека для створення та обчислення інтерполяцій, екстраполяцій та згладжування загальних точок даних +- [libreda-shapes](https://codeberg.org/libreda/iron-shapes) від [LibrEDA](https://codeberg.org/libreda) : Основні типи даних та процедури для обчислювальної геометрії з фокусом на проектування мікросхем VLSI + +## Утиліти + +( _utility_ ) + +- [landon](https://github.com/chinedufn/landon) від [Чінеду Френсіс Нвафілі](https://github.com/chinedufn) : експорт даних з Blender + +## Порівняння рендерингу + +| Назва | Підтримка WebGL 2 | Розмір (wasm + js) | +| :---------------------------------------------------- | :---------------- | :----------------------------------- | +| [glow](https://github.com/grovesNL/glow) | Так | 55 Кб | +| [three-d](https://github.com/asny/three-d) | Так | 139 Кб | +| [pixels](https://github.com/parasyte/pixels) | В розробці | 1 Мб | +| [limelight](https://crates.io/crates/limelight) | Так | 175 Кб | +| [speedy2d](https://github.com/QuantumBadger/Speedy2D) | Так | 1 Мб | +| [luminance](https://github.com/phaazon/luminance-rs) | Так | 77 Кб | +| [gl-rs](https://github.com/brendanzab/gl-rs) | Так | [Проблема](./unsorted/renderer/gl-rs/Readme.md) | + +## Пояснення до теґів + +- ( _renderer_ ) - рендерери +- ( _middleware_ ) - програмне забезпечення середнього рівня для використання функцій низького рівня +- ( _engine_ ) - гральні та веб-двигуни +- ( _hid_ ) - пристрої введення користувача +- ( _shader_ ) - пов'язано з шейдерами +- ( _geometry_ ) - генерація геометрії / мешів +- ( _windowing_ ) - створення та управління вікнами +- ( _network_ ) - мережеве програмування +- ( _bevy_ ) - пов'язано з Bevy +- ( _webgpu_ ) - пов'язано з WebGPU +- ( _data_structures_ ) - структури даних та алгоритми для графіки, мультимедіа та розробки ігор +- ( _plotting_ ) - графічне відображення даних +- ( _data_structure_ ) - структури даних та алгоритми +- ( _tesselation_ ) - бібліотеки теселяції +- ( _color_ ) - пов'язано з кольором +- ( _physics_ ) - фізика +- ( _simulation_ ) - симуляція +- ( _line_ ) - пов'язано з лініями +- ( _font_ ) - пов'язано з шрифтами +- ( _svg_ ) - пов'язано з SVG +- ( _gif_ ) - пов'язано з GIF +- ( _animation_ ) - анімація малюнків +- ( _img_ ) - пов'язано з обробкою зображень +- ( _assets_3d_ ) - завантаження / збереження 3D-активів +- ( _codec_ ) - кодеки та обробка відео +- ( _sound_ ) - пов'язано із звуком +- ( _vst_ ) - віртуальна студія звуку +- ( _midi_ ) - пов'язано із MIDI +- ( _gis_ ) - геоінформаційна система +- ( _game_design_ ) - інструменти для проектування ігор +- ( _game_ ) - готові ігри +- ( _toy_ ) - іграшкові ігри +- ( _specific_ ) - деякі конкретні бібліотеки графіки +- ( _utility_ ) - утиліти + + diff --git a/toolbox_scientific_ua.md b/toolbox_scientific_ua.md new file mode 100644 index 0000000..d3cba12 --- /dev/null +++ b/toolbox_scientific_ua.md @@ -0,0 +1,116 @@ +# :infinity: Набір інструментів для науки + +Чудова колекція кришталевих для математики, фізики, лінійної алгебри, машинного навчання, цифрової обробки сигналів. Вона куратором нами. + +Вас також може цікавити інші набори інструментів: + +- :wrench: [Досліджуй](./toolbox_general_ua.md) : загальний набір інструментів з колекцією кришталів. +- :video_game: [Досліджуй](./toolbox_multimedia_ua.md) : мультимедійний набір інструментів з колекцією кришталів для гри, графіки, відео, аудіо. +- :infinity: [Досліджуй](./toolbox_scientific_ua.md) : науковий набір інструментів з колекцією кришталів для математики, фізики, лінійної алгебри, машинного навчання, DSP. +- :package: [Досліджуй](./toolbox_distros_ua.md) : набір інструментів дистрибуцій для корисних програм, написаних на Rust, які розповсюджуються за межами екосистеми Rust. + +[:arrow_down: Пояснення до теґів](#пояснення-до-теґів) в кінці сторінки. + + + +## Загальна математика + +( _math_ ) ( _general_ ) + +- [ultraviolet](https://github.com/termhn/ultraviolet) від [Грея Олсона](https://github.com/termhn) : бібліотека лінійної алгебри для ігор та графіки +- [nalgebra](https://github.com/dimforge/nalgebra) від [dimforge](https://github.com/dimforge) : ігрова лінійна алгебра +- [cgmath](https://github.com/rustgd/cgmath) від [rustgd](https://github.com/rustgd) : бібліотека лінійної алгебри та математики для графіки комп'ютерних ігор +- [gml](https://lib.rs/crates/gml) : Бібліотека математики для графіки. Загальна бібліотека математики для векторів та матриць для графічних застосувань. +- [geomath](https://github.com/samibendou/geomath) від [бенду](https://github.com/samibendou) : математика на стек-виклик для геометрії, симуляцій та комп'ютерної графіки + +## Невпорядкована математика + +( _math_ ) ( _unsorted_ ) + +- [packed_simd_2](https://github.com/rust-lang/packed_simd) від [гнзлбг](https://github.com/gnzlbg) : упаковані вектори SIMD +- [flo_curves](https://github.com/Logicalshift/flo_curves) від [Андрю Гантера](https://github.com/Logicalshift) ( _line_ ) : крива Без'є +- [matrixmultiply](https://github.com/bluss/matrixmultiply) від [блюсса](https://github.com/bluss) : множення матриць +- [ndarray](https://github.com/bluss/ndarray) від [блюсса](https://github.com/bluss) : N-вимірний масив +- [simba](https://github.com/dimforge/simba) від [dimforge](https://github.com/dimforge) : SIMD-алгебра для [nalgebra](https://github.com/dimforge/nalgebra) +- [approx](https://github.com/brendanzab/approx) від [Брендана Забараускаса](https://github.com/brendanzab) : наближені порівняння чисел з рухомою комою +- [noisy_float](https://github.com/SergiusIW/noisy_float-rs) від [Маттью Мішелотті](https://github.com/SergiusIW) : числа з рухомою комою, які вибухають, якщо встановлено неприпустиме значення, таке як NaN +- [half](https://github.com/starkat99/half-rs) від [Кетрін Лонг](https://github.com/starkat99) : числа з рухомою комою напівплавника f16 та bf16 для +- [mint](https://github.com/kvark/mint) від [Дзмітры Малішау](https://github.com/kvark) : типи математичної взаємодії +- [gee](https://github.com/brainiumllc/gee) від [Brainium](https://github.com/brainiumllc) : зручна бібліотека геометрії, призначена для ігор в 2D! +- [beagle-rs](https://github.com/popog/beagle-rs) від [Попога](https://github.com/popog) : базова бібліотека лінійної алгебри для комп'ютерної графіки +- [GFX Maths](https://github.com/rob2309/gfx-maths-rs) від [Робіна Квінта](https://github.com/rob2309) : Реалізації найважливіших операцій математики графіки +- [mini-math-rs](https://github.com/swiftcoder/mini-math-rs) від [Трістама Макдональда](https://github.com/swiftcoder) : Легкі математичні рутина для 3D графіки ( _3d_ ) +- [geometric_algebra](https://github.com/lichtso/geometric_algebra) від [Александра Мейснера](https://github.com/lichtso) : Генерувати(d) користувацькі бібліотеки для геометричних алгебр +- [rustometry](https://github.com/bradmartin333/rustometry) від [Бренда Мартіна](https://github.com/bradmartin333) : Просторова геометрія в чистому Rust +- [geometry_tools](https://github.com/scanmountgoat/geometry_tools) від [ScanMountGoat](https://github.com/scanmountgoat) : Ефективне обчислення геометричних даних з одинарною точністю +- [Myelin Geometry](https://github.com/myelin-ai/geometry) від [Myelin Research Group](https://github.com/myelin-ai) : Базова лінійна і векторна геометрія для двовимірної євклідової геометрії + +## Графи + +( _data_structure_ ) ( _graphs_ ) + +- [petgraph](https://github.com/petgraph/petgraph) від [блюсса](https://github.com/bluss) : структура даних і алгоритми графів + +## Мета-математика + +( _math_ ) ( _meta_ ) + +- [num-traits](https://github.com/rust-num/num-traits) від [Аарона Турона](https://github.com/aturon) : траїти для чисел + +## Фізика + +( _physics_ ) + +- [parry](https://github.com/dimforge/parry) від [dimforge](https://github.com/dimforge) : бібліотека виявлення зіткнень +- [nphysics](https://github.com/dimforge/nphysics) від [Себастьєна Крозе](https://github.com/sebcrozet) : фізичний рух твердих тіл 2 та 3 мірності +- [k](https://github.com/openrr/k) від [Такаши Огура](https://github.com/OTL) : бібліотека кінематики +- [rapier2d](https://github.com/dimforge/rapier) від [Себастьєна Крозе](https://github.com/sebcrozet) : 2D фізичні двигуни, спрямовані на продуктивність +- [godot-vs-rapier](https://github.com/extrawurst/godot-vs-rapier) від [Стефана Діллі](https://github.com/extrawurst) : порівняння двох фізичних двигунів +- [gdnative](https://github.com/godot-rust/godot-rust) від [вурпо](https://github.com/vurpo) ( _двигун_ ) : прив'язка до інженерії Godot + +## Цифрова обробка сигналів + +( _sound_ ) ( _dsp_ ) + +- [spectrum-analyzer](https://github.com/phip1611/spectrum-analyzer) від [Філіппа Шустера](https://github.com/phip1611) : аналіз спектра +- [beat-detector](https://github.com/phip1611/beat-detector) від [Філіппа Шустера](https://github.com/phip1611) : виявлення такту +- [rustfft](https://github.com/ejmahler/RustFFT) від [Ельйотта Малера](https://github.com/ejmahler) : FFT +- [fourier](https://github.com/calebzulawski/fourier) від [Калеба Зулавскі](https://github.com/calebzulawski) : FFT + + + +## Високопродуктивні обчислення + +( _hpc_ ) + +- [cuda_std](https://github.com/Rust-GPU/Rust-CUDA) від [Рікардо Д'Амброзіо](https://github.com/RDambrosio016) : CUDA +- [opencv](https://github.com/twistedfall/opencv-rust) від [twistedfall](https://github.com/twistedfall) : зв'язки для OpenCV 3 і 4 + +## Пояснення до теґів + +- ( _general_ ) - загальнопризначений +- ( _data_structure_ ) - структури даних та алгоритми +- ( _graphs_ ) - структури даних і алгоритми графів +- ( _math_ ) - математика +- ( _meta_ ) - мета +- ( _physics_ ) - фізика +- ( _dsp_ ) - цифрова обробка сигналів +- ( _safety_ ) - регламент захисту даних та безпеки даних +- ( _hpc_ ) - високопродуктивні обчислення + +