@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
❤26👍6🔥6🥰2
Основная цель инициативы заключается в проверке надежности и безопасности функций, использующих ключевое слово unsafe, которое позволяет выполнять потенциально опасные операции с памятью, такие как работа с указателями, модификация глобальных переменных и взаимодействие с внешними библиотеками на C/C++.
В настоящий момент в стандартной библиотеке Rust насчитывается около 35 тысяч функций, среди которых примерно 7,5 тысячи содержат код, работающий в режиме unsafe. За последние три года в библиотеке было обнаружено 57 ошибок, связанных с безопасностью, из них 20 признаны уязвимостями.
Проект организован в формате конкурса, где участники получают задания, связанные с проверкой безопасности использования памяти в библиотеках Rust или созданием инструментов для автоматизации таких проверок.
За успешное предоставление формального доказательства безопасности работы с памятью предусмотрены награды. Для выполнения задач и публикации результатов был создан специальный репозиторий, являющийся форком основного репозитория Rust.
На данный момент доступно 13 различных заданий. Одно из них предполагает проверку безопасности работы с сырыми указателями (raw pointers) в модуле core::ptr и предоставление доказательств корректности этих операций. Для этого можно воспользоваться существующими инструментами вроде Aeneas, Kani, Gillian, Verus или Creusot либо разработать собственные.
❤️Поделитесь это новостью с коллегами
▪Github
▪Задания
▪Примеры
▪Новость
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41🔥14❤8⚡1
Forwarded from Machinelearning
RLtools - библиотека глубокого обучения с подкреплением (Deep Reinforcement Learning, DRL) с высокой скоростью работы для разработки и исследования алгоритмов DL.
RLtools написана на C++ и позволяет проводить обучение и вывод моделей DRL на РС, мобильных устройствах и embedded-системах. В экспериментальном тестировании, библиотека обучила алгоритм RL непосредственно на микроконтроллере.
Библиотека поддерживает алгоритмы DRL: TD3, PPO, Multi-Agent PPO и SAC и предлагает набор примеров, демонстрирующих использование этих алгоритмов для решения задач управления на примерах управления маятником, гоночным автомобилем и роботом-муравьем MuJoCo.
Код реализации алгоритмов:
Благодаря оптимизации и использования аппаратного ускорения RLtools в 76 раз быстрее других библиотек. Например, на MacBook Pro с M1 RLtools может обучить модель SAC (управление маятником) за 4 секунды.
Библиотеку можно использовать на Linux, macOS, Windows, iOS, Teensy, Crazyflie, ESP32 и PX4.
RLtools предоставляет Python API, с которым можно использовать библиотеку из Python-кода. API RLtools совместим с библиотекой симуляции сред Gym.
Проекты, использующие RLtools:
# Clone and checkout
git clone https://github.com/rl-tools/example
cd example
git submodule update --init external/rl_tools
# Build and run
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
./my_pendulum
@ai_machinelearning_big_data
#AI #ML #DL #RTools #Github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🥰3😨3
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤7🔥4🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Несколько интересных выводов:
* Java и Kotlin работают быстро! Возможное объяснение: Google вкладывает значительные средства в повышение производительности.
* Js действительно быстр в том, что касается интерпретируемых языков / jit.
* Python работает довольно медленно без PyPy.
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤6🔥4🥰3😁2
Она сочетает теоретические материалы с практическими заданиями, которые помогают закрепить полученные знания. Задания распределены по уровням сложности и темам.
Вы можете начать обучение совершенно бесплатно, перейдя по ссылке: https://www.rustfinity.com/
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👏21❤14👍5🔥4✍2🥰1🏆1
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9😁5❤4🔥2🥰1
Опубликован релиз языка программирования общего назначения Rust 1.83, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation.
Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).
Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п.
Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.
Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода.
Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.
🚀 Полный список обновлений
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤9🔥7🖕3🥰1
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍7❤3🥴2🥰1
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍9🥰4❤1
🚀 Поддерживает редактирование / сохранение записей с помощью привязок клавиш Vim!
🦀 Написано на Rust и создано с
помощью ratatui_rs
nix profile install github:zaphar/sheetsui
⭐ GitHub
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🗿4🔥3❤2🥰1🥱1
В этом выпуске представлены изменяемые ссылки (mutable references) и указатели в const, ссылки на статику в const, новые типы ошибок и множество новых методов const для pointers, slice, floats!
Установка:
$ rustup update stable
Анонс: https://blog.rust-lang.org/2024/11/28/Rust-1.83.0.html
@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
☃19👍12🔥6❤5🎄3👨💻2🎅2🥰1👏1💊1