ar
Feedback
Rust

Rust

الذهاب إلى القناة على Telegram

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

إظهار المزيد
8 790
المشتركون
لا توجد بيانات24 ساعات
+747 أيام
+15530 أيام
أرشيف المشاركات
Rust
8 790
🦀 Как упростить изучение Rust: советы от Corrode Rust — мощный и надёжный язык, но его обучение часто вызывает трудности даже у опытных разработчиков. В свежем блоге [Corrode Rust Consulting](https://corrode.dev/blog/flattening-rusts-learning-curve/) делятся рекомендациями, как сгладить кривую обучения Rust без боли и выгорания. 🔑 Основные советы: - Примите особенности языка Не сопротивляйтесь системам владения и заимствования — воспринимайте их как инструменты безопасности, а не ограничения. - Начинайте с "грязных" решений Используйте clone(), unwrap(), expect() на старте — позже замените на идиоматичный и безопасный код. - Учитесь постепенно Разбивайте обучение на этапы, пишите много маленьких программ в [Rust Playground](https://play.rust-lang.org/). - Читайте ошибки компилятора вдумчиво В Rust компилятор — это не враг, а учитель. Он подсказывает, как мыслить «по-растовски». - Пишите вручную, не полагайтесь на IDE Автокомплит мешает усвоению синтаксиса — набирайте код вручную, чтобы лучше понять структуру. - Проектируйте через типы Rust даёт мощную систему типов — используйте её как инструмент проектирования, а не просто проверки. 📖 Полный текст: https://corrode.dev/blog/flattening-rusts-learning-curve/ Хороший Rust-разработчик — не тот, кто никогда не ошибается, а тот, кто умеет читать сообщения компилятора и не сдаваться.

Rust
8 790
⚡️Почему Rust — один из самых любимых языков среди разработчиков? Почему он всё чаще выбирается вместо C++ и других языков дл
⚡️Почему Rust — один из самых любимых языков среди разработчиков? Почему он всё чаще выбирается вместо C++ и других языков для разработки высокопроизводительных приложений? На открытом вебинаре 22 мая в 20:00 мск мы расскажем, почему Rust привлекает так много разработчиков по всему миру. Вы узнаете, какие проблемы решает этот язык, почему его производительность и безопасность привлекают специалистов, а также как Rust занимает свою нишу в программировании. Если вы хотите перейти на Rust или улучшить свои навыки, вы получите ответы на все вопросы. Мы обсудим его ключевые особенности, нововведения и возможности для использования в реальных проектах. 👉Запишитесь на открытый урок и получите скидку на большое обучение «Rust Developer. Basic»: https://otus.pw/GPhS/ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963

Rust
8 790
🦀 Задача на Rust: "Найди пропавшее число" Условие У тебя есть Vec<String>, в котором находятся строки от "1" до "100", но одно число отсутствует. Найди его без использования sort, HashMap, iter().sum() и т. д. Можно использовать parse::<u32>(). Формат функции:

fn find_missing_number(data: &Vec<String>) -> u32
Решение через XOR:

fn find_missing_number(data: &Vec<String>) -> u32 {
    let mut xor_full = 0;
    let mut xor_data = 0;

    for i in 1..=100 {
        xor_full ^= i;
    }

    for s in data {
        if let Ok(n) = s.parse::<u32>() {
            xor_data ^= n;
        }
    }

    xor_full ^ xor_data
}
Пример использования:

fn main() {
    let mut data: Vec<String> = (1..=100)
        .filter(|&x| x != 42)
        .map(|x| x.to_string())
        .collect();

    use rand::seq::SliceRandom;
    let mut rng = rand::thread_rng();
    data.shuffle(&mut rng);

    let missing = find_missing_number(&data);
    println!("Пропущено: {}", missing); // Ожидается 42
}
Зависимости в `Cargo.toml`:

[dependencies]
rand = "0.8"
Объяснение: XOR всех чисел от 1 до 100 ⊕ XOR из входных данных → пропущенное число. Работает, потому что a ^ a = 0, 0 ^ b = b.

Rust
8 790
🤖 Тест по Rust проверь свои знания, готов ли ты к обучению на курсе. Ответишь — пройдешь на курс "Rust Developer. Profession
🤖 Тест по Rust проверь свои знания, готов ли ты к обучению на курсе. Ответишь — пройдешь на курс "Rust Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса За 5 месяцев обучения ты разберёшь ключевые особенности Rust и сможешь не только разрабатывать сложные программные продукты, но и в целом лучше проектировать ПО. ➡️ ПРОЙТИ ТЕСТ  Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Rust
8 790
📌 napi-rs — мост между Node.js и Rust. Это фреймворк для создания нативных расширений Node.js на Rust через Node-API, без не
📌 napi-rs — мост между Node.js и Rust. Это фреймворк для создания нативных расширений Node.js на Rust через Node-API, без необходимости работать с node-gyp или другими инструментами сборки C++. Достаточно добавить аннотацию #[napi] к Rust-функциям и они становятся доступными в JavaScript как обычные модули. Под капотом napi-rs автоматически генерирует binding-код, поддерживает асинхронные операции через tokio и даже предоставляет CLI для удобной сборки. Собранные `.node`-файлы работают на Windows, macOS, Linux и даже Android. 🤖 GitHub

Rust
8 790
Repost from Machinelearning
OpenAI представляет Codex — облачного агента для генерации кода, способного выполнять множество задач параллельно. В основе —
+1
OpenAI представляет Codex — облачного агента для генерации кода, способного выполнять множество задач параллельно. В основе — модель codex-1. 🧠 Ключевые особенности: • Codex работает прямо в браузере • Поддерживает многозадачность: можно одновременно проверять код, задавать вопросы и переключаться между задачами • Построен на **новой модели Codex-1** — самой мощной модели для кодинга от OpenAI • Интеграция с GitHub — можно подключить свой аккаунт, и агент будет работать с вашими репозиториями 🚀 Codex — это шаг в сторону полуавтоматизированной разработки, где ИИ способен выполнять рутинную и аналитическую работу без постоянного контроля со стороны разработчика. 📅 Запуск ожидается уже сегодня. ▪ Релиз: https://openai.com/index/introducing-codex/ @ai_machinelearning_big_data #OpenAI #Codex #AI #CodeAutomation #DevTools

Rust
8 790
🛡Децентрализованные приложения (dApps) — от идеи до реального продукта Вы узнаете, как создаются современные приложения на б
🛡Децентрализованные приложения (dApps) — от идеи до реального продукта Вы узнаете, как создаются современные приложения на блокчейне — без серверов, посредников и единого центра управления. Простыми словами разберем: - Что такое dApps и чем они отличаются от обычных мобильных приложений. - Как превратить свою идею в работающий блокчейн-проект — пошаговый план. - Какие инструменты используют разработчики (и как в этом разобраться без технического бэкграунда). На живом примере вместе пройдем путь от задумки до готового прототипа — вы увидите, как выглядит процесс разработки "под капотом". 👉 Регистрация и подробности о курсе “Разработка децентрализованных приложений” https://otus.pw/xxlS/?erid=2W5zFJSTFWx Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Rust
8 790
Выпуск Rust 1.87 🔧 Основные изменения - Улучшения системы типов: Введены новые возможности для более точного определения типов, что повышает безопасность и выразительность кода. - Оптимизации компилятора: Улучшена производительность компиляции, особенно для крупных проектов, что сокращает время сборки. - Расширения стандартной библиотеки: Добавлены новые функции и улучшены существующие модули, такие как std::fs и std::net, что упрощает разработку приложений. - Улучшения в работе с асинхронным кодом: Обновления в async/await механизмах обеспечивают более стабильную и предсказуемую работу асинхронных операций. Полный список изменений и подробности:http

Rust
8 790
🎉 С днём рождения, Rust! 🦀 10 лет с момента выхода Rust 1.0 — языка, который подарил миру безопасное, быстое и конкурентное
🎉 С днём рождения, Rust! 🦀 10 лет с момента выхода Rust 1.0 — языка, который подарил миру безопасное, быстое и конкурентное программирование. Отпразднуем вместе с невероятным сообществом и тысячами проектов, созданных на Rust! #rust #Rust10Years #программирование https://blog.rust-lang.org/2015/05/15/Rust-1.0/

Rust
8 790
⁉️ Хотите научиться разрабатывать веб-сервисы на Rust? 📅 19 мая в 20:00 МСК на открытом вебинаре мы покажем, как создать мощ
⁉️ Хотите научиться разрабатывать веб-сервисы на Rust?  📅 19 мая в 20:00 МСК на открытом вебинаре мы покажем, как создать мощный и эффективный веб-сервис с использованием HTTP и gRPC API на Rust. Что вас ждёт: — Разбор бизнес-логики веб-сервиса. — Реализация HTTP и gRPC API. — Разработка клиентского приложения и тестов для сервиса. 🎁 Открытый урок проходит в преддверие старта курса «Rust Developer. Professional». Все участники получат скидку на обучение. ➡️ Запишитесь прямо сейчас, чтобы не пропустить: https://otus.pw/ESP2/?erid=2W5zFGbnWVE Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Rust
8 790
🚀 Nova — новый движок JavaScript/Wasбm на Rust. Этот экспериментальный проект пытается переосмыслить архитектуру JS-движков
🚀 Nova — новый движок JavaScript/Wasбm на Rust. Этот экспериментальный проект пытается переосмыслить архитектуру JS-движков через призму data-oriented design. Вместо классических указателей Nova использует индексы и векторы, чтобы минимизировать накладные расходы и улучшить кэширование. Пока движок далёк от готовности, но подход к разработке вызывает интерес, например safepoint garbage collector, построенный на особенностях системы заимствований Rust — это попытка максимально приблизить структуру кода к ECMAScript-спецификации. 🤖 GitHub

Rust
8 790
🔐 Как сделать код на Rust надёжнее и безопаснее? 📅 14 мая в 20:00 МСК мы разберём ключевые аспекты работы с контрактами и и
🔐 Как сделать код на Rust надёжнее и безопаснее?  📅 14 мая в 20:00 МСК мы разберём ключевые аспекты работы с контрактами и инвариантами в Rust на открытом вебинаре. ❗️Что вас ждёт: — Разберём понятие инварианта и как он работает в Rust. — Обсудим инвариант безопасности и его роль в написании надежного кода. — Узнаем, как создавать удобные и безопасные контракты для API. 🦀 Вы освоите использование системы типов Rust для создания надёжных решений и узнаете, как компилятор и система типов помогают писать безопасный и эффективный код. ➡️ Регистрируйтесь и получите скидку на программу обучения «Rust Developer. Professional»: https://otus.pw/9LnV/?erid=2W5zFHCHQ3a Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Rust
8 790
🦀 Rust-задача с подвохом: “Ловушка безопасного кэша” 📘 Условие Ты хочешь реализовать простой кэш — если значение уже вычислено, вернуть его, иначе — сохранить и вернуть. Вот пример:

use std::collections::HashMap;

fn main() {
    let mut cache = HashMap::new();
    let key = "user_123".to_string();

    let result = get_or_insert(&mut cache, &key, || {
        println!("Computing...");
        "result for user_123".to_string()
    });

    println!("Result: {}", result);
}

fn get_or_insert<'a, F>(map: &'a mut HashMap<String, String>, key: &str, compute: F) -> &'a String
where
    F: FnOnce() -> String,
{
    map.entry(key.to_string()).or_insert_with(compute)
}
❓ Вопрос: 1) Почему этот код не компилируется, хотя кажется безопасным? 2) Где именно проблема с lifetime'ами? 3) Как можно переписать этот код так, чтобы он компилировался и оставался эффективным? --- ✅ Подвох и разбор 💥 Проблема в or_insert_with(compute) и владении ключом. Метод .entry() требует ключ во владение (`String`), а key у нас — &str. Внутри or_insert_with происходит вызов compute(), который может вернуть ссылку на строку, но Rust не может доказать, что ссылка будет жить достаточно долго. Но главная причина — возвращаемое значение &'a String, полученное из HashMap::entry, не может быть безопасно связано с временем жизни `map`, потому что key.to_string() создаёт временное значение, и lifetime не совместим. 📌 Ошибка компилятора: borrow may not live long enough. ✅ Как исправить Вариант 1 — использовать `Entry` напрямую и разбить на шаги: ```rust fn get_or_insert<'a, F>(map: &'a mut HashMap<String, String>, key: &str, compute: F) -> &'a String where F: FnOnce() -> String, { use std::collections::hash_map::Entry; match map.entry(key.to_string()) { Entry::Occupied(entry) => entry.into_mut(), Entry::Vacant(entry) => entry.insert(compute()), } } ``` Теперь Rust понимает, как обрабатывается владение, и может гарантировать корректный lifetime. --- ⚠️ Подвох • `.or_insert_with(...)` выглядит безопасным, но может скрывать временные владения • Проблемы начинаются, когда `key.to_string()` создаёт временное значение, и Rust не может связать его lifetime • Даже опытные разработчики удивляются ошибке компилятора, потому что map.entry().or_insert_with() выглядит «канонично» 🎯 Отлично подходит для проверки глубокого понимания владения и жизненных циклов в Rust.

Rust
8 790
Virviil/oci2git Это консольное приложение на Rust, которое преобразует контейнерные образы (Docker и др.) в Git-репозитории. Каждая слоя образа превращается в отдельный коммит, что позволяет сохранять всю историю и структуру исходного образа Основные возможности: - Поддержка разбора Docker-образов и извлечения информации о слоях. - Генерация Git-репозитория, где каждый слой соответствует одному коммиту (включая «пустые» слои вроде ENV и WORKDIR) - Экспорт всей метаинформации об образе в файл Image.md в формате Markdown. - Расширяемая архитектура для работы с разными движками контейнеров (docker, nerdctl, tar) - Типичные сценарии использования: - Сравнение слоёв (Layer Diffing): благодаря git diff можно увидеть точные изменения между любыми двумя слоями образа и выявить, какие файлы были добавлены, изменены или удалены - Отслеживание происхождения (Origin Tracking): команда git blame помогает быстро понять, в каком слое и какой Dockerfile-инструкции был впервые создан или изменён конкретный файл GitHub - История файла (File Lifecycle): с помощью git log --follow можно проследить путь любого файла через все слои: от создания до удаления GitHub - Исследование слоёв (Layer Exploration): переключаясь на любой коммит, вы получаете файловую систему образа в состоянии этого слоя, что удобно для отладки и аудита безопасности Github

Rust
8 790
Senior Rust Developer в BlockSniper Удалёнка | full-time | 400–700K ₽ + премии Мы лидеры в снайпинге токенов на Solana. Пишем трейдинг-ботов и высокоскоростные стратегии. Уже 4 года в деле, 50 человек в команде, работаем без бюрократии — только результат. Премии от прибыли: топы получают +300K к зп. 💻 Что важно: — Опыт в Rust, Solana (Anchor, CLI, деплой) — Знание JS/TS, понимание RPC/DApps/PoS — Опыт с HFT, трейдингом или ботами — Умение вести проект от идеи до продакшена 🧩 Ищем тех, кто не боится челленджей: у нас нужно разбираться, предлагать, выстраивать. Самостоятельность — must-have. Взамен даём максимум свободы, зп и роста. 🎁 Можете быть уверены в: — Конкурентной зп + доход от прибыли команды — Полной удаленке, оплачиваемом отпуске и больничном — Том, что мы вкладываемся в рост: обсуждаем бенефиты, помогаем развиваться Напиши нашему HR Маргарите 👉 @m_dereviakina, если ищешь место, где можно развиваться, расти и хорошо зарабатывать.

Rust
8 790
💫 GlueSQL — SQL-движок, превращающий любые данные в полноценную базу данных. Этот инструмент умеет выполнять JOIN между CSV
💫 GlueSQL — SQL-движок, превращающий любые данные в полноценную базу данных. Этот инструмент умеет выполнять JOIN между CSV и MongoDB, работать с Git как с хранилищем данных и даже запускать SQL-запросы прямо в браузере через WebAssembly. Что отличает GlueSQL от классических СУБД? - Поддержка schemaless-данных - Встроенные адаптеры для 10+ форматов - Возможность добавлять свои хранилища через реализацию двух traits на Rust Проект активно развивается: недавно добавили поддержку транзакций в Sled-бэкенде и анонсировали облачную версию. Для теста достаточно cargo add gluesql и уже можно писать SQL-запросы к данным в памяти. 🤖 GitHub

Rust
8 790
С этим вашим Kubernetes отладка превратилась в квест на выживание! Часами гребёшься в логах, метрики пляшут как попало, а деп
С этим вашим Kubernetes отладка превратилась в квест на выживание! Часами гребёшься в логах, метрики пляшут как попало, а деплой через Helmfile — вообще отдельный вид искусства. Чтобы K8s помогал, а не топил в рутине, нужно понять, как он работает под капотом. Иначе — вечные страдания 🥲 ➡️ Приходи на курс «Kubernetes для разработчиков» от Слёрма. Там ты: 👉 Научишься нормально дебажить свои приложения прямо в Кубе 👉 Разберёшься с логами и метриками 👉 Подружишься с Helm’ом 👉 Наконец заведёшь CI/CD как надо То есть получишь скиллы, чтобы работать с K8s в кайф. 📅 Старт — 26 мая 🔗 Запрыгивай на борт курса «Kubernetes для разработчиков» пока есть места! Реклама ООО «Слёрм» ИНН 3652901451

Rust
8 790
🔥 Burn — Rust-фреймворк для глубокого обучения с акцентом на производительность. В отличие от монолитных решений вроде PyTor
🔥 Burn — Rust-фреймворк для глубокого обучения с акцентом на производительность. В отличие от монолитных решений вроде PyTorch, Burn изначально заточен под кросс-платформенное выполнение: одна и та же модель может работать на NVIDIA/AMD GPU через CUDA/ROCm, на Apple-чипах через Metal и даже в браузере через WebGPU. Главная фишка проекта в модульной архитектуре с подключаемым бэкендом и автоматической оптимизацией вычислений. Например, система умеет объединять операции ядер без ручного вмешательства. Для исследователей есть встроенный дашборд для мониторинга обучения, а для продакшна простая конвертация в ONNX. 🤖 GitHub

Rust
8 790
🛡Безопасность в разработке dApps: уязвимости и защита На уроке мы разберем основные угрозы безопасности в децентрализованных
🛡Безопасность в разработке dApps: уязвимости и защита На уроке мы разберем основные угрозы безопасности в децентрализованных приложениях (dApps) и научимся защищать смарт-контракты от атак. Вы узнаете, какие уязвимости наиболее распространены в Solidity, как хакеры эксплуатируют ошибки в коде и какие методы защиты можно применять. В практической части занятия мы рассмотрим реальные примеры атак на смарт-контракты, проанализируем их причины и предложим решения для их предотвращения. В результате занятия получите: - Понимание ключевых уязвимостей в Solidity и способах их эксплуатации - Практические навыки защиты смарт-контрактов от атак - Разбор реальных кейсов атак и методов их предотвращения -Четкое представление о том, как разрабатывать безопасные dApps 👉 Регистрация и подробности о курсе “Разработка децентрализованных приложений” https://otus.pw/t9GS/ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ", ИНН: 9705100963

Rust
8 790
👣 Pyrefly — это новая, высокопроизводительная система статической типизации и IDE-платформа, написанная на Rust, для Python,
👣 Pyrefly — это новая, высокопроизводительная система статической типизации и IDE-платформа, написанная на Rust, для Python, разрабатываемая командой Facebook. Главное: 🔍 Наследник Pyre Pyrefly задуман как следующая версия проверяльщика типов Pyre от Meta, но с упором на скорость, модульную архитектуру и возможность генерации «типизированного» AST. 🚀 Реализовано на Rust Большая часть кода написана на Rust для лучшей безопасности памяти и конкурентности. Только ~1 % кода в Python и ~6 % в TypeScript (для интерфейса сайта и LSP). ⚙️ Три этапа проверки Сбор экспорта каждого модуля (решение всех import * рекурсивно) Преобразование кода в набор «байндингов» (definitions, uses, anon) с учётом потоковых типов Решение этих байндингов (flow-types, phi-функции при ветвлениях и рекурсии) 💡 Масштабируемость и инкрементальность Модульно-ориентированный подход: проверка каждого модуля целиком, с возможностью параллельного запуска и минимальной сложности по сравнению с тонкозернистыми DAG-алгоритмами. 🛠️ Интеграция и упаковка Разработчикам Rust: cargo build, cargo test Во внутренних проектах Meta: запуск через Buck2 (buck2 run pyrefly -- check file.py) Для PyPI: сборка колес через Maturin (pip install maturin && maturin build) 📡 IDE-функции и LSP Включена поддержка Language Server Protocol для автодополнения, перехода к определению и интерактивной отладки в редакторах. 📆 Планы Полная замена Pyre к концу 2025 года с выпуском стабильных версий на PyPI каждую неделю. 📜 Лицензия MIT — свободное использование и вклад в проект приветствуются. 🔜 Узнать подробнее и принять участие можно в репозитории: Github @pythonl