ch
Feedback
Rust

Rust

前往频道在 Telegram

Rust programming language По всем вопросам- @workakkk #VRHSZ

显示更多
8 453
订阅者
-424 小时
+187
+29830
帖子存档
Rust
8 453
Реализуем на Rust пул потоков с балансировкой нагрузки, пользуясь только стандартной библиотекой https://habr.com/ru/companies/timeweb/articles/761398/

Rust
8 453
Собственный строковый тип на Rust https://habr.com/ru/companies/ruvds/articles/761746/

Rust
8 453
Yazi — молниеносный терминальный файловый менеджер, написанный на Rust. Встроенная поддержка нескольких протоколов изображений Полная асинхронная поддержка: все операции ввода-вывода являются асинхронными, задачи ЦП распределяются по нескольким потокам, что позволяет максимально эффективно использовать доступные ресурсы. Встроенная подсветка кода Интеграция с fd, rg, fzf, zoxy Vim-подобное управление Поддержка нескольких вкладок, предварительный просмотр с возможностью прокрутки (для видео, PDF-файлов, архивов, каталогов, кода и т. д.) Система тем, пользовательские макеты, корзина для мусора и многое другое... Совместим с GNU/Linux, Windows, macOS Github @rust_code

Rust
8 453
👣 Fuzzer Development With Rust (Basic) Каждому исследователю необходимо уметь разрабатывать собственные инструменты для фаззинга. В этом репозитории материалы для разработки средств фаззинга с нуля, чтобы исследователи могли использовать собственные фаззеры для обнаружения уязвимостей в открытых инструментах, библиотеках и коде, разрабатываемом внутри компаний. Github @rust_code

Rust
8 453
Enum в стиле Rust-а в Python https://habr.com/ru/articles/759978/

Rust
8 453
🎥 Rust: рефакторинг для новичков 📌 Отсутствие идиом Rust Опытным программистам Rust режет глаз тот факт, что следующая функция возвращает кортеж, а не Result<>: fn add_student() -> (Student, bool) Данный подход не только не является идиоматическим, но и вводит в заблуждение читателя кода. Непонятно, что подразумевает логическое значение bool. В ответ на вывод этой функции придется написать что-то сложное, как показано ниже: // Добавление студента на курс let (st, err) = add_student(); // Проверка наличия ошибки. В случае ошибки продолжить цикл if !err { continue; } Получается 5 строк с комментариями, объясняющими код. Это считается плохой практикой, так же как и короткие имена переменных. 📌 Рефакторинг Сначала проведем рефакторинг этих фрагментов. То, что было: fn add_student() -> (Student, bool) { // ... let mut st = Student { name: "".to_string(), age: 0, }; // ... if student_name.len() < 3 { // ... return (st, false); } // ... (st, true) } преобразуем в более идиоматический и читаемый вариант: fn add_student() -> Result<Student, &'static str> { // ... if student_name.len() < 3 { // ... return Err("Student's name too short"); } // ... let age = age.parse.map_err(|_| "Cannot parse student's age")?; Ok(Student { name: student_name, age }) } Понятно, что возврат статических строк в качестве ошибок не относится к разряду привычных практик, но вполне подойдет для данного примера. ◾️Метод .map_err() позволяет преобразовать экземпляр типа, содержащийся в значении перечисления Err(e), в такой, который поддерживается функцией. В этом случае объявленным типом является &'static str (эквивалент Rust для идиомы типа const char* в С), чем объясняется совпадение текстов в кавычках. Оператор ?  — одна из лучших функциональностей Rust. Он проверяет стоящий перед ним экземпляр Result<>. Если значение равно Err(e), возвращает результат, в противном случае продолжает работу. В старом коде встречался макрос try!(). В итоге проверка ожидаемого вывода функции выглядит так: let student = if let Ok(student) = add_student() { student } else { continue; } student_db.push(student.clone()); Это неидеальное условие, поскольку оно фактически исключает любую ошибку. Действуя таким образом, мы исходим из предположения допустимости такого подхода, но предусматриваем обработку перечисления Err(e) на индивидуальной основе. 📌 Ошибка новичков: бесконечный цикл Читать

Rust
8 453

Rust
8 453
Можно ли доверить компилятору оптимизацию вашего кода? https://habr.com/ru/companies/timeweb/articles/759326/

Rust
8 453
Упрощенный пример на Rust обучения нейронной сети на основе Candle Framework от Hugging Face https://habr.com/ru/articles/758658/

Rust
8 453
Идиоматический код на Rust для тех, кто перешел с других языков программирования https://habr.com/ru/articles/758566/

Rust
8 453
👣 php-tokio 🖥 Эта библиотека позволяет асинхронно использовать любую библиотеку async rust из PHP. ▪Github @phpshka
👣 php-tokio 🖥 Эта библиотека позволяет асинхронно использовать любую библиотеку async rust из PHP. ▪Github @phpshka

Rust
8 453
«Я пропагандирую коллегам переход на Rust». В статье — 6 основных причин https://habr.com/ru/companies/kryptonite/articles/757362/

Rust
8 453
🎙 Pake — это инструмент на Rust, который позволяет преобразовывать веб-страницы в приложения. ✔️ Поддерживает операционные системы Mac, Windows и GNU/Linux. ✔️ Значительно компактнее, чем Electron, и работает быстрее, чем фреймворки, основанные на JavaScript. ✔️ Уже имеет множество популярных пакетов, таких как WeRead, Twitter, ChatGPT и YouTube Music. Пользователи могут легко навигировать по приложению с помощью сочетаний клавиш. ✔️ Pake можно настроить через командную строку и изменение структуры кодовой базы. ▪Github @rust_code

Rust
8 453
Вы ещё успеваете поступить в онлайн-магистратуру МФТИ «Финансовые технологии и аналитика» 👩‍🎓Ближайшие даты экзаменов — 4 и
Вы ещё успеваете поступить в онлайн-магистратуру МФТИ «Финансовые технологии и аналитика» 👩‍🎓Ближайшие даты экзаменов — 4 и 19 сентября. ➕Диплом очной магистратуры гособразца по направлению 38.03.05 «Бизнес-информатика». ➕Онлайн-обучение из любой точки мира. ➕Углубленная специализация в сфере финтех-разработки или аналитики. ➕Гранты на запуск своего стартапа в области Data Science/AI/ML до 3 млн ₽. ➕Более 5 проектов в портфолио: реальные задачи от Сбера, ВТБ, Ozon Fintech, Альфа-Банка и других финтех-компаний уже с первого семестра. ➕Возможность совмещать с работой и развивать корпоративный проект в качестве дипломного. ➕Рассрочка под 3% от Сбера и Минобразования. Платёж во время учебы — до 900 ₽ в месяц. Бесплатный подготовительный курс и запись прошедших консультаций по экзаменам доступны после регистрации. Оставьте заявку, чтобы зарегистрироваться на день открытых дверей и начать готовиться к поступлению: https://netolo.gy/b3n6 Реклама ООО “Нетология” LatgBdxss

Rust
8 453
Запускаем IDEA и CLion на Android https://habr.com/ru/articles/757222/

Rust
8 453
Rust 1.72.0: потенциально полезные отключенные элементы, неограниченные константные вычисления https://habr.com/ru/articles/757158/