fa
Feedback
Rust Portal

Rust Portal

رفتن به کانال در Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для Rust-разработчика Связь: @stepikm

نمایش بیشتر
1 742
مشترکین
-124 ساعت
-47 روز
-1630 روز
آرشیو پست ها
📘 На Stepik вышел курс — «Rust для профессионалов» Уже уверенно пишете на Rust и готовы к новым вызовам? Этот курс — именно то, что нужно, чтобы вывести свои навыки на экспертный уровень. 🔍 Что вы получите: • Глубокое понимание ключевых тем: generics, lifetimes, async, управление памятью • Решение реальных инженерных задач: параллелизм, системное программирование, архитектура • 150 интерактивных заданий с автопроверкой — всё в браузере, без установки, в удобное для вас время 🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn 🚀 Прокачайте Rust с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов 👉 Пройти курс на Stepik

🦀 Rust в CodeQL стал общедоступным GitHub выпустил CodeQL 2.23.3 — и это важно для Rust-разработчиков. Что нового: Поддержка
🦀 Rust в CodeQL стал общедоступным GitHub выпустил CodeQL 2.23.3 — и это важно для Rust-разработчиков. Что нового: Поддержка Rust теперь доступна всем пользователям GitHub code scanning. Больше не бета, можно использовать в продакшене для поиска уязвимостей. Первый security query для Rust: Добавлен rust/insecure-cookie — находит cookies без атрибута Secure, которые могут передаваться по незащищённым каналам. Пример того, что теперь ловится:
// ❌ Небезопасно
let cookie = Cookie::new("session", token);

// ✅ Безопасно  
let cookie = Cookie::build("session", token)
    .secure(true)
    .finish();
Бонус для C/C++: Режим build-mode: none теперь GA — можно сканировать проекты даже без полной сборки. Что это значит? Если используете GitHub Advanced Security — автоматический анализ Rust-кода уже работает. Для остальных — отличный повод попробовать CodeQL локально. Полный changelog

🔧 Универсальный CLI с Clap Clap — это самый популярный фреймворк для создания CLI приложений в Rust экосистеме. Он используе
🔧 Универсальный CLI с Clap Clap — это самый популярный фреймворк для создания CLI приложений в Rust экосистеме. Он используется практически везде: от cargo и rustup до ripgrep и bat. Clap предоставляет декларативный и процедурный API для парсинга аргументов, автоматически генерирует help сообщения и поддерживает автодополнение для всех популярных shell'ов. 💡 Основные моменты: - Derive макросы для определения CLI через структуры — минимум boilerplate кода - Автоматическая генерация man страниц и shell completions - Встроенная валидация аргументов и красивые сообщения об ошибках - Поддержка субкоманд, флагов, позиционных аргументов и переменных окружения 📌 GitHub: https://github.com/clap-rs/clap

# docs․rs: изменение целевых платформ по умолчанию Сервис документации docs․rs обновил список платформ, для которых по умолча
# docs․rs: изменение целевых платформ по умолчанию Сервис документации docs․rs обновил список платформ, для которых по умолчанию собирается документация Rust-библиотек. Основные изменения:macOS: aarch64-apple-darwin (Apple Silicon) заменил x86_64-apple-darwin (Intel). Это отражает переход Apple на собственные ARM-процессоры и изменение статуса платформ: ARM теперь Tier 1, x86_64 понижен до Tier 2. • Linux: aarch64-unknown-linux-gnu (ARM64) заменил i686-unknown-linux-gnu (32-bit). Крупные дистрибутивы Linux прекращают поддержку 32-битных систем. Полный список платформ по умолчанию: - x86_64-unknown-linux-gnu - aarch64-apple-darwin - x86_64-pc-windows-msvc - aarch64-unknown-linux-gnu - i686-pc-windows-msvc Авторы библиотек могут явно указать нужные платформы через метаданные [package.metadata.docs.rs] в Cargo.toml. docs․rs продолжает поддерживать все доступные в Rust платформы. 📖 Подробнее в блоге Rust

⚡️ Borrow Checker: друг, а не враг! Многие новички в Rust сталкиваются с ошибками от borrow checker и думают, что язык «слишком строгий». На самом деле — это главный защитник вашего кода от утечек памяти и гонок данных. 🦀 🔑 Основные правила: ✅ В любой момент у переменной может быть либо несколько неизменяемых ссылок, либо одна изменяемая. ✅ Ссылка не может жить дольше, чем её владелец (owner). ✅ Все проверки выполняются на этапе компиляции, поэтому ошибки ловятся ещё до запуска программы. 📌 Пример: Правильно ✅
let mut s = String::from("Hello");
let r1 = &s;  
let r2 = &s;  
println!("{}, {}", r1, r2); // работает
Неправильно ❌
let mut s = String::from("Hello");
let r1 = &s;  
let r2 = &s;  
let r3 = &mut s; // ошибка: mutable borrow при активных immutable
println!("{}", r3);
💡 Зачем это нужно? 🔒 Rust предотвращает data race на уровне компилятора. 🛡 Исключает dangling references и утечки памяти. ⚡️ Позволяет писать эффективный и безопасный код без сборщика мусора (GC).

📘 На Stepik вышел курс “Safe Rust: Build a Real Backend” Курс подойдёт разработчикам, которые уже знакомы с основами Rust и хотят научиться создавать реальные backend-сервисы. Обучение построено вокруг фреймворка Axum и асинхронной работы с базой данных через SQLx. Всё максимально приближено к реальным задачам и архитектурным практикам. Что включает курс: • Создание полноценного HTTP-сервера на Axum • Интеграция с PostgreSQL через SQLx • Работа с миграциями, структура проекта, конфигурации • Асинхронное программирование • Покрытие типичных backend-задач: маршрутизация, обработка ошибок, безопасность Дополнительно:Проверка решений и пошаговые инструкции • Поддержка преподавателя (менторство) — можно задавать вопросы, получать обратную связь 🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn 🚀 Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов Курс подойдет тем, кто имеет базовые знания синтаксиса языка Rust. Опыт с SQL — желателен, но не обязателен. 👉 Записаться на курс

Rust 1.90.0 вышел Основные изменения: LLD по умолчанию на x86_64-unknown-linux-gnu Заметное ускорение линковки, особенно для
Rust 1.90.0 вышел Основные изменения: LLD по умолчанию на x86_64-unknown-linux-gnu Заметное ускорение линковки, особенно для больших проектов и incremental builds. Откат через -C linker-features=-lld. cargo publish --workspace Публикация всех crates в workspace одной командой с правильным порядком зависимостей. x86_64-apple-darwin → Tier 2 Понижение из-за прекращения GitHub macOS x86_64 runners и планов Apple. Билды пока доступны через rustup. Стабилизированные API:u{n}::checked_sub_signed, wrapping_sub_signed, saturating_sub_signed, overflowing_sub_signedCopy и Hash для IntErrorKind • const контекст: <[T]>::reverse(), математические функции для float • PartialEq между CStr/CString/Cow<CStr> Изменения совместимости: • Tier 3 musl targets линкуются динамически по умолчанию • Небазовые extern "{abi}" формы теперь последовательно отвергаются https://blog.rust-lang.org/2025/09/18/Rust-1.90.0

Ларс Бергстром (Google) объявил об инвестициях в Rust в размере $350k: • $250k — в Rust Foundation на интероперабельность язы
Ларс Бергстром (Google) объявил об инвестициях в Rust в размере $350k: • $250k — в Rust Foundation на интероперабельность языка • $100k — в инфраструктуру Crater По его словам, Rust помог снизить число уязвимостей в Android. Приятно видеть продолжение корпоративных инвестиций @RustPortal

Rust станет обязательной частью Git 3.0. «В Git 3.0 без Rust ничего работать не будет, потому что он будет обязательным», — г
+2
Rust станет обязательной частью Git 3.0. «В Git 3.0 без Rust ничего работать не будет, потому что он будет обязательным», — говорит разработчик Git Брайан Карлсон. «Без Rust [сборка Git 3.0] просто упадёт и скажет, что это не поддерживается». До настоящего времени Git в основном разрабатывался на C. @RustPortal

📘 На Stepik вышел курс — «Rust для продвинутых» Уже знакомы с Rust и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки. 🔍 Что вы получите: • Глубокое понимание ключевых тем: generics, lifetimes, async, управление памятью • Решение реальных инженерных задач: параллелизм, системное программирование, архитектура • Более 200 интерактивных заданий с автопроверкой — всё в браузере, без установки, в удобное для вас время 🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn 🚀 Прокачайте Rust с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов 👉 Пройти курс на Stepik

Лучшие практики конструкторов в Rust Шаблоны конструкторов, которыми должен владеть каждый уважающий себя растовик, чтобы не
Лучшие практики конструкторов в Rust Шаблоны конструкторов, которыми должен владеть каждый уважающий себя растовик, чтобы не выглядеть новичком https://blog.cuongle.dev/p/constructor-best-practices-in-rust @RustPortal

100 упражнений по Rust прямо в RustRover Теперь весь курс Луки Пальмери, который помог тысячам разработчиков освоить язык, встроен прямо в IDE от JetBrains Как это работает: короткий кусочек теории → сразу практическое задание. Всего 100 упражнений, от базовых конструкций (if, match, циклы) до трейтов, управления памятью, структур данных и конкурентности. В процессе вы собираете рабочую мини-систему управления проектами RustRover полностью бесплатен для обучения, так что можно просто поставить и начать. Тут подробнее: тык @RustPortal

С чего начать менторство над начинающими специалистами? Станьте экспертом в Яндекс Практикуме Яндекс Практикум — сервис онлай
С чего начать менторство над начинающими специалистами? Станьте экспертом в Яндекс Практикуме Яндекс Практикум — сервис онлайн-образования, где получают навыки для старта и роста в IT. А наши эксперты — практикующие специалисты из разных сфер и компаний. Это хорошая возможность для разработчиков с опытом использования RUST от 2-х лет. Вы сможете: - реализовать свой потенциал и влиять на качество образования в индустрии, - выполнять свои задачи удалённо, в комфортной атмосфере и иметь дополнительный доход, - быть частью большого комьюнити экспертов и участвовать в мероприятиях. А еще хороший способ снова влюбиться в профессию разработчика и влюбить других 👌 Познакомиться с задачами каждой роли и оставить отклик можно по ссылкам: → Наставник «Rust для действующих разработчиков»Ревьюер на курс «Rust для действующих разработчиков»

Глубокое погружение во взаимодействие памяти между Rust и C Детальное исследование того, что происходит при конфликте аллокат
Глубокое погружение во взаимодействие памяти между Rust и C Детальное исследование того, что происходит при конфликте аллокаторов памяти Rust и C, с разбором причин сбоев Годное чтиво под горячий кофе ☕ @RustPortal

В Rust 2024 edition можно использовать цепочку if let Some(). Наконец-то! @RustPortal
В Rust 2024 edition можно использовать цепочку if let Some(). Наконец-то! @RustPortal

Сегодня узнал про атрибут #[cold] — его используют для функций, которые вызываются редко. Это помогает компилятору оптимизиро
Сегодня узнал про атрибут #[cold] — его используют для функций, которые вызываются редко. Это помогает компилятору оптимизировать производительность кэша инструкций, сосредотачивая внимание на «горячих» функциях. Атрибут #[cold] также можно применять к вариантам enum'ов, чтобы улучшить размещение в памяти. @RustPortal

Repost from IT Portal
Rust исполнилось 10 лет 👌 Стабильный релиз 1.0 вышел 15 мая 2015 года. До этого шесть лет под крылом Mozilla, тестили на Ser
Rust исполнилось 10 лет 👌 Стабильный релиз 1.0 вышел 15 мая 2015 года. До этого шесть лет под крылом Mozilla, тестили на Servo — браузерном движке, который делали вместе с Samsung. В 2020 Mozilla передала Servo в Linux Foundation и распустила команду. Rust выжил В 2021 запустили Rust Foundation — Amazon, Google, Huawei, Microsoft и всё та же Mozilla в составе Сейчас Rust уже в ядре Linux — на нём пилят драйвера @IT_Portal

Этот совет вам понравится: когда-нибудь пробовали сравнивать два варианта перечисления (enum)? Обычно для этого требуется кас
Этот совет вам понравится: когда-нибудь пробовали сравнивать два варианта перечисления (enum)? Обычно для этого требуется каскад операторов match. Однако, в такой ситуации можно использовать mem::discriminant. Это особенно полезно, когда перечисление (enum) не реализует (не имеет) трейт Eq. @RustPortal

Реализация механизма обратного давления (Backpressure) в Rust для асинхронных систем 🦀 В асинхронных системах механизм обрат
+2
Реализация механизма обратного давления (Backpressure) в Rust для асинхронных систем 🦀 В асинхронных системах механизм обратного давления обеспечивает, чтобы производители данных не перегружали потребителей. Асинхронная экосистема Rust предоставляет инструменты для эффективного управления этим процессом. Что такое обратное давление? — Обратное давление — это механизм замедления производства данных, когда потребитель не успевает обрабатывать их с той же скоростью. В Rust это критически важно для поддержания производительности и предотвращения перегрузки асинхронных задач. 1️⃣Использование ограниченных каналов — Ограниченные каналы из библиотек tokio или async-std ограничивают количество элементов в очереди, применяя обратное давление, когда лимит достигается. — Производитель останавливается, если канал переполнен, и остается в этом состоянии до тех пор, пока потребитель не начнет обрабатывать данные. 2️⃣ Обратное давление с потоками — Обратное давление критично для потоков данных, чтобы контролировать соотношение между производимыми и потребляемыми данными. — ReceiverStream интегрируется с ограниченными каналами, чтобы естественным образом обрабатывать обратное давление. 3️⃣Пользовательское обратное давление с Future — Вы можете создать пользовательские механизмы обратного давления, управляя выполнением задач напрямую. Основные выводы: 🔸Используйте ограниченные каналы для автоматического применения обратного давления. 🔸Сочетайте потоки с ограниченными очередями для реактивных систем. 🔸Пишите собственную логику для более точного контроля синхронизации задач. @RustPortal