Rust
2.12K subscribers
141 photos
89 videos
2 files
187 links
Полезный контент по программированию на Rust
Download Telegram
Введение в Unicode (опять?)

разберём, что из себя представляет Unicode, его символы и их свойства, кодировки. Напишем валидацию строк UTF-8, научимся преобразовывать запись символа в кодировке UTF-8 в код символа (кодпоинт) Unicode и обратно.

выясним, что представляет собой нормализация текста, зачем она нужна и где её применять. расскажу про каноническую эквивалентность символов и эквивалентность совместимости, разберём как делается декомпозиция/композиция, быстрые проверки, под конец — напишем реализацию алгоритмов нормализации.

узнаем, что такое сопоставление (collation) строк, алгоритм сопоставления (UCA), что такое DUCET и CLDR; уровни и веса сопоставлений, различные подходы к взвешиванию весов, немного затронем тему баз данных, и, наконец, напишем пример.

https://habr.com/ru/articles/751616/

👉 @rust_lib
👍3
Rust

Minimum room count: Rust interview with an Amazon Engineer
K Nearest Restaurants (Mock Interview)

источник

👉 @rust_lib
👍31
Создание модуля WebAssembly с помощью Emscripten, AssemblyScript и Rust

В этой небольшой заметке предлагается рассмотреть несколько способов компиляции модуля для WebAssembly, используя три разных подхода. Мы реализуем решение одной и той же задачки на трёх языках и скомпилируем полученный код в модуль WebAssembly.

Будем использовать:
Emscripten для компиляции кода, написанного на c++
AssemblyScript для компиляции кода, написанного на, собственно, AssemblyScript
wasm-pack для компиляции кода, написанного на Rust

https://habr.com/ru/articles/718874/

👉 @rust_lib
👍3
Реализация Redux на Rust

Redux  —  это популярная библиотека предсказуемого и последовательного управления состоянием с простой разработкой и сопровождением сложных приложений JavaScript.

Реализуем Redux на Rust, производительном и безопасном статически типизированном языке системного программирования.

Для этого создадим структуру, которой обозначается состояние приложения, и типаж для определения выполняемых с этим состоянием действий. И еще функцию редьюсера, которой принимается текущее состояние и действие, а возвращается обновленное этим действием состояние.

https://levelup.gitconnected.com/implementing-redux-with-rust-a-step-by-step-guide-220acd2885f9

👉 @rust_lib
👍2💩2
Учим Rust вместе

Hello World
Guessing Game
переменные и типы данных
функции и контроль выполнения программы
разбор задач
владение
заимствование и слайсы
структуры и методы
перечислимые типы
пакеты и модули
вектор
строки
HashMap
разбор задачи
обработка ошибок
дженерики
трейты

https://www.youtube.com/playlist?list=PLXhUgKrQD6UoggzaDTQ1luq3XMpYboMTM

👉 @rust_lib
👍9🔥1
Как при помощи Rust в 150 раз ускорить код на Python

Python — довольно простой в освоении язык, по сравнению с некоторыми другими языками код на нём пишется очень быстро. Но в жертву приносится скорость выполнения кода.

Перепишем часть Python-кода в Rust и импортируем этот код в виде пакета Python в проект. Получим сверхбыстрый пакет Python, который сможем импортировать и использовать, как любой другой пакет. В качестве бонуса добавим многопроцессорность и в итоге получим функцию, которая примерно в 150 раз быстрее обычного кода на Python.

Rus https://habr.com/ru/companies/skillfactory/articles/718894/

Eng https://towardsdatascience.com/create-a-python-package-with-super-fast-rust-code-in-3-steps-a27389629beb

👉 @rust_lib
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Ripdrag

Утилита Drag and Drop, написанная на Rust и GTK4

https://github.com/nik012003/ripdrag

👉 @rust_lib
👍5
Как сломанный лифт привел к появлению одного из самых популярных языков программирования

То, что начиналось как маленький побочный проект на ноутбуке одного разработчика — сегодня стало одним из самых успешных языков программирования с открытым исходным кодом, которым пользуются Microsoft, Amazon, Google, Tesla, Discord и многие другие.

Если кто не знает эту историю — велком.

Программисты славятся тем, что часто создают разные одноразовые решения для быстрого устранения возникших проблем или удовлетворения конкретных потребностей. Но случается и так, что решение, созданное под конкретную задачу, оказывается гораздо больше этой самой задачи. И остается актуальным, развивается и процветает даже спустя десятилетия.

Семнадцать лет назад программист из Mozilla Грейдон Хоар вернулся с работы и обнаружил, что лифт в его доме вышел из строя. Он был вынужден подниматься на двадцать первый этаж, проклиная всё на свете. А потом узнал, что лифт не работал из-за сбоя программного обеспечения. Тогда он решил попробовать сделать язык программирования, который сводил бы такие ошибки к нулю. Чтобы даже начинающий разработчик мог бы написать код, который не зависал.

https://habr.com/ru/companies/getmatch/articles/719214/

👉 @rust_lib
👍6😱2
Полиморфизм: подавать холодным

Полиморфизм («истинный», параметрический) — свойство, позволяющее обрабатывать данные разных типов одним образом.

Полиморфизм является одним из трёх столпов ООП, наравне с наследованием и инкапсуляцией, да и в целом краеугольным камнем современного программирования. Думаю, большинство читателей не представляет своей жизни без полиморфизма, за что я, конечно, это большинство никак не осуждаю, ибо сам к нему принадлежу. Дело, однако, в том, что многие не задумываются об устройстве этого полиморфизма, ведь любой принцип программирования, по сути, представляет из себя математическую матрёшку.

Реализуем функции print_static, print_dynamic и print_enum для демонстрации различных методов реализации полиморфизма.

https://habr.com/ru/articles/718888/

👉 @rust_lib
👍7
Как я приложение с Go на Rust переписывал

О Rust я слышал ещё несколько лет назад и все его либо хвалили, либо порицали, по различным причинам. Но сам как-то не брался за него - мне, неподготовленному к подобному синтаксису и не знакомому с подобными языками хотя бы на базовом уровне, в то время он казался совершенно непонятным. Но вот спустя время для себя решил написать что-то похожее на бенчмарк для тестов локальных HTTP API-серверов.

https://habr.com/ru/articles/720382/

👉 @rust_lib
👍6🥱2
This media is not supported in your browser
VIEW IN TELEGRAM
Gyroflow

Приложение, что позволяет стабилизировать ваши видео, используя данные о движении от гироскопа и, при необходимости, акселерометра

Современные камеры записывают эти данные внутри себя (GoPro, Sony, Insta360 и т. д.), и это приложение стабилизирует отснятый материал именно с их помощью. Gyroflow также поддерживает использование данных из внешнего источника.

https://github.com/gyroflow/gyroflow

👉 @Githublib
👍6🔥1