Rust - Советы, библиотеки, гайды
СтатистикаПривет! 🦀 У нас тут всё проржавело, но думаю ты найдешь кое-что интересное для себя ✌️ use {Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое}; let 😎 Наша предложка - @hhsharebot; let 🤟 Автор - Абрахам (@priler);
- Последний пост
- 26 июн.
- Последнее чтение
- 13:57
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Когда попросил передать соль у плюсера ... 🚬
Тупо я каждый раз ... 🚬
Чел сделал для Rust макрос #[slop] .. который на компайл тайме генерирует код через нейронки. Гениально! 🚬
Коротко про названия зависимостей в Rust ☕️
Новость дня: челы переписали движок SHOCKWAVE на Rust 🚬 Теперь старенькие игры из 2000х можно снова играть без проблем. Причем работают даже онлайн игры. И даже прямо в браузере. И даже в виде расширения для Chrome. Кто там говорил, что Rust это фигня? пхпхпх
Как Rust разработчик РЕШИТЕЛЬНО ОСУЖДАЮ 🚬 Но за ролик про 🦀 Rust — ставлю свой царский лайк.
У Rust есть наследование, вообще-то 🚬 А именно через трейты и имплементации.
Чейта я давно не постил крейты ... winrt-notifications — это крейт для лёгкого отображения уведомлений на Windows 10, 8.1 и (возможно) 8. Код очень простой и по сути это удобная обёртка над WinRT Toast API. Единственный минус — крейт заброшенный. #крейты
Чейта я давно не постил крейты ... winrt-notifications — это крейт для лёгкого отображения уведомлений на Windows 10, 8.1 и (возможно) 8. Код очень простой и по сути это удобная обёртка над WinRT Toast API. Единственный минус — крейт заброшенный. #крейты
Интересные ошибки у компилятора Rust 🚬
Как же я вчера замучался с LTCG в C++ 😳 Пытался скомпилить проектик один (большой), и там шаг влево/шаг право - Internal linker error. В этот момент я понял, что LTO в 🦀 Rust в разы более классный. И вообще раст топ. Пишите на раст. (это не игра если чё) UPD: Да речь про MSVC LTCG, и да я уже понял что в плюсах это г@вно. В Rust всё просто работает, там из коробки LTO LLVM. Если кому интересно чё я делал, - добавлял shared_mutex в код.
Новый логотип Раста после того как он положил половину интернета 😂
Rust программисты в схеме устройства интернета 🧢
Разбираем ситуацию с Cloudflare и почему всего одна строчка Rust кода буквально положила почти весь интернет? 🚬 ▶️ https://www.youtube.com/watch?v=_aJqpzwslA4
Кстати недавно весь интернет упал из-за вот этой одной строчки Rust кода. Cloudflare переписали часть функций на Rust, и тупо заюзали в коде .unwrap(). Без каких-либо проверок, напрямую 🤲. Как результат — код запаниковал и сервер упал. Пам пам 🧢
Очередной плюсик в корзинку 🦀 Rust Это вам не JS у которого node_modules весит по 100 гб
Ну тут даже я в шоке 🚬
parking_lot — это альтернативная имплементация Mutex, RwLock, Condvar и Once. Они тут меньше, быстрее и лучше. По уверениям разработчиков, тесты на x86_64 Linux показали, что Mutex в 1.5x раз быстрее, чем стандартный std::sync::Mutex. Судя кол-ву. скачиваний, этот крейт уже давно стал стандартом вместо STD раста 🦀 UPD: А еще в нем есть такая штука как ReentrantMutex, позволяющая одному и тому же потоку множество раз получать замок, избегая взаимного дедлока. #крейты
Вчера пытался завести модель по определению спама из нашего Python бота на 🦀 Rust. Мучался час с крейтом Candle. В итоге свичнулся на rust_bert. Архитектура модели — DebertaForSequenceClassification. Кто бы мог подумать, но в коде прямо так и пишем: use rust_bert::deberta::{DebertaConfig, DebertaForSequenceClassification}; Спрашивал у нейронки, она мне советовала сохранять модель в .ot формате. Хрен там плавал, Rust прекрасно работает с .safetensors. Единственное пришлось править config.json. А именно добавить поле id2label и убрать какое-то, у которого было значение null. Но в итоге оно не компилировалось. А всё потому что есть два разных токенайзера: rust_tokenizers и новый HF tokenizers. И если вы ставите второй от HF, то он конфликтует с линкером MSVC. Точнее конфликтует метод сборки каких-то модулей libtorch, если я верно понял. Короче говоря ставим его вот так: tokenizers = { version = "0.22.1", default-features = false, features = ["onig"] } Иначе код тупо не компилится. С чем это связано я так и не понял. Что-то там со статическими/динамически скомпилированными библиотеками, и что линковщик отказывается их совмещать. Иш, какой придирчивый ... Крч заработало в итоге. Нейросеть теперь отлично работает под 🦀 Rust :]
📦 rust-censure уже 500+ скачиваний лол. Это мой первый опыт в размещении на Crates. Поэтому делюсь им с вами. Вчера зарелизил версию 0.2.0, и сам не заметил как поломал SemVer (согласно ему должна была быть версия 1.0.0). Поэтому быстренько восстановил обратную совместимость и зарелизил 0.2.1. SemVer так разрешает, это буквально написано у них в FAQ. Ранее я уже много раз выпускал всевозможные библиотеки: на JS, на PHP, на Python. Но я никогда не юзал SemVer, чаще писал версии от балды. Штош, в мире SemVer разработчиков пополнение 😎 В версии ^0.2.0 кстати: — Я исправил реализацию трейта LangProvider — Добавил новый конструктор для Censor — Чуть оптимизировал код Ждите в ближайшее время посты про интересные крейты 🧢