Rust
6.57K subscribers
235 photos
28 videos
3 files
810 links
Rust programming language

По всем вопросам- @haarrp

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚
Download Telegram
🦀 Rust-задача: неожиданный вывод из-за владения и `for`


fn main() {
let data = vec!["rust", "go", "zig"];

for item in data {
println!("{item}");
}

println!("{:?}", data);
}


Что произойдёт при компиляции и запуске?

• a) Выведет rust, go, zig, затем ["rust", "go", "zig"]
• b) Ошибка компиляции: data уже перемещён
• c) Всё выведет корректно, потому что &str копируются
• d) Программа скомпилируется, но упадёт во время выполнения

💡 Разбор

for item in data в Rust перемещает `data`, потому что Vec<T> по умолчанию потребляется в IntoIterator. Это значит, что после цикла data больше не принадлежит функции main.

Попытка использовать data в println! после этого приведёт к ошибке компиляции: value borrowed after move.

**Правильный ответ: b) Ошибка компиляции: `data` уже перемещён**

🧠 **Вывод:** в Rust `for item in collection` по умолчанию вызывает `.into_iter()`, а не `.iter()`, и это **может забрать владение** коллекцией.

🔧 **Как избежать:**

Если нужно сохранить `data`, итерация должна быть по ссылке:


for item in &data {
println!("{item}");
}

println!("{:?}", data);


Теперь `data` не перемещается, и всё работает корректно.
👍438🔥4🥰1😁1
🦀 Вышла новая версия Rust 1.88, обновление с голыми функциями и умным кэшем Cargo.

Новая версия Rust продолжает традиции безопасного и эффективного низкоуровневого программирования. Теперь можно объединять несколько let-выражений в условиях if и while через &&, что делает код компактнее без потери читаемости.

Новые голые функции (#[unsafe(naked)]) позволят полностью контролировать ассемблерный вывод, что критично для системного программирования. А автоматическая очистка кэша Cargo наконец-то решит проблему с вечно растущим ~/.cargo.

🔗 Ссылка - *клик*
👍3414🥰7🔥5
🛡️ Hypnus — библиотека скрытия памяти на Rust


Когда поток «засыпает» (ждёт таймер, ожидание события и т.д.), его память может оставаться открытой для анализа.
Hypnus решает эту проблему: он временно скрывает и шифрует участки памяти во время сна — делая поведение безопаснее и менее заметным.

🔥 Ключевые возможности:
● Скрытие и обфускация памяти через ThreadPool Timers, APC, Wait
● Макросы timer!, wait!, apc! для простого управления
● Поддержка #[no_std] — можно использовать даже без стандартной библиотеки
● Интеграция с Control Flow Guard и поддержка кастомного heap-аллокатора HypnusHeap
● Предназначен для продвинутого использования в системах с требованиями к скрытности и защите

🦀 Написано на Rust — безопасно, эффективно и кросс-платформенно.

📦 Пример:

use hypnus::timer;
timer!(ptr, size, delay);


Проект подходит для:
• разработчиков системной и безопасной утилитарной инфраструктуры
• ресерчеров в области защиты памяти
• любителей низкоуровневого Rust и OSDev

🔗 Репозиторий:
https://github.com/joaoviictorti/hypnus
28🔥12👍6🥰1😁1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
PDFy: Легковесный инструмент и библиотека для извлечения данных из PDF

PDFy — это написанный на Rust CLI и пакет для разработчиков, позволяющий быстро и надёжно извлекать текст и изображения из PDF без внешних зависимостей.

• Выгрузка всего текста: pdfy text document.pdf
• Извлечение изображений: pdfy images document.pdf
• Получение координат и порядка слов для сложных вёрсток
• Доступ к метаданным PDF (автор, заголовок, даты)
• Интеграция в Go-приложения через простой API

Репозиторий и документация: https://github.com/jdiaz97/pdfy
27👍14🔥9🥰1
⚡️ Почему лучшие разработчики всегда на шаг впереди?

Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.

ИИ: t.iss.one/ai_machinelearning_big_data
Python: t.iss.one/pythonl
Linux: t.iss.one/linuxacademiya
Мл собес t.iss.one/machinelearning_interview
C++ t.iss.one/cpluspluc
Docker: t.iss.one/DevopsDocker
Хакинг: t.iss.one/linuxkalii
МЛ: t.iss.one/machinelearning_ru
Devops: t.iss.one/DevOPSitsec
Data Science: t.iss.one/data_analysis_ml
Javascript: t.iss.one/javascriptv
C#: t.iss.one/csharp_ci
Java: t.iss.one/java_library
Базы данных: t.iss.one/sqlhub
Python собеседования: t.iss.one/python_job_interview
Мобильная разработка: t.iss.one/mobdevelop
Golang: t.iss.one/Golang_google
React: t.iss.one/react_tg
Rust: t.iss.one/books_englishhh
ИИ: t.iss.one/vistehno
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Frontend: t.iss.one/front
Big Data: t.iss.one/bigdatai
МАТЕМАТИКА: t.iss.one/data_math
Kubernets: t.iss.one/kubernetc
Разработка игр: https://t.iss.one/gamedev
Физика: t.iss.one/fizmat

Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.iss.one/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.iss.one/addlist/mzMMG3RPZhY2M2Iy

🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.iss.one/memes_prog
🇬🇧Английский: t.iss.one/english_forprogrammers
🧠ИИ: t.iss.one/vistehno

🖥 Chatgpt для кода в тг: @Chatgpturbobot -

📕Ит-книги: https://t.iss.one/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.iss.one/addlist/_zyy_jQ_QUsyM2Vi

Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
💊7👍32🥰2🔥1
🦀 Задача Rust:

У тебя есть две структуры — Parent и Child. Каждая должна хранить ссылку на другую.
Но есть условия:

Нельзя использовать Rc, Arc, RefCell, Box или unsafe
Только ссылки и lifetime'ы


struct Parent<'a> {
child: Option<&'a Child<'a>>,
}

struct Child<'a> {
parent: Option<&'a Parent<'a>>,
}

📌 Задача: создать обе структуры и связать их между собой.
📉 Компилятор тебе не простит ошибок во владении.

💡 Подсказка: подумай — возможно, это невозможно.

Задача не про реализацию, а про понимание ограничений Rust.

Кидай в чат свои варианты


@rust_code
🤔104🔥3🥰2
🤖 Terminator — SDK для автоматизации GUI с помощью ИИ-агентов

Terminator позволяет управлять графическими приложениями на Windows, Linux и частично macOS через интеллектуальных агентов.

🔧 Что умеет:

— Автоматизирует любые действия в GUI
— Работает напрямую через системный доступ (не поверх интерфейса)
— Поддерживает Python, TypeScript и Rust
— Обновляет состояние интерфейса каждые 80 мс — почти в реальном времени

📦 Подходит для тестирования, ботов, RPA и прокачанных UI-ассистентов.

🔗 GitHub

@rust_code
13👍6🔥5😁3🥰1
🖥 Jujutsu (jj) — это современная система контроля версий, совместимая с Git, созданная для упрощения работы с репозиториями и улучшения пользовательского опыта!

🌟 Инструмент предоставляет интуитивный интерфейс, который делает процесс управления изменениями более понятным, сохраняя при этом полную совместимость с существующими Git-репозиториями. Jujutsu вдохновлен такими системами, как Mercurial и Google Piper, а также объединяет лучшие практики Git, предлагая гибкие и мощные возможности для разработчиков.

🔐 Лицензия: Apache-2.0

🖥 Github

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔14👍105🥰3🙏1
🦀 Rust Tip

База: e Cargo есть команда cargo check — и она просто must-have для быстрой разработки.

🔧 Что делает:
- Проверяет типы и ошибки компиляции
- Пропускает генерацию кода и линковку
- Работает намного быстрее, чем cargo build

📈 Идеально, чтобы быстро отлавливать ошибки заимствования и типизации, не тратя время на полноценную сборку.

💡 Используй `cargo check`, когда хочешь быстро пройти цикл "редактировать → проверить → исправить".

#junior #rust

@rust_code
👍41🔥5🥰4😱21
Forwarded from Machinelearning
🔅 Vibe Kanban — оркестрация AI-кодеров в одном окне

Позволяет можно запускать и управлять сразу несколькими AI-агентами для кодинга: Claude Code, Gemini CLI, Codex — всё в одном дашборде.

▶️Что умеет:
- параллельный запуск агентов
- визуальный трекинг задач
- переключение между моделями на лету
— встроенный review и контроль над результатами
— backend на Rust, frontend на React, всё разворачивается локально
Полностью open-source

🟡 Репозиторий: https://github.com/BloopAI/vibe-kanban
🟡Документация: https://www.vibekanban.com/


@ai_machinelearning_big_data

#ai #aiagent #opensource #Claude #Gemini
Please open Telegram to view this post
VIEW IN TELEGRAM
11🤣8👍5🔥3🖕2🥰1🤬1
🦅 MongoDB представила Kingfisher — инструмент для оценки производительности AI-запросов к базам данных

Kingfisher — это open-source фреймворк, который помогает разработчикам анализировать, как AI-модели взаимодействуют с MongoDB или другими источниками данных.

🔍 Что умеет:
- Генерировать и запускать естественно-языковые запросы к базе через LLM
- Сравнивать разные подходы к генерации и верификации запросов
- Измерять точность, скорость и релевантность выдачи
- Поддерживает разные схемы данных и шаблоны диалогов

📦 Используется:
- Для оценки качества AI-агентов, которые обращаются к базам
- Для настройки моделей, работающих с реальными данными

🛠 Под капотом:
- Поддержка собственного DSL
- Интеграции с OpenAI, Azure, Anthropic
- Расширяемая архитектура: можно подключать свои модели и пайплайны

🔗 Репозиторий: https://github.com/mongodb/kingfisher

Если вы строите LLM-агентов, которые работают с базами — Kingfisher сэкономит вам недели на тестах и экспериментах.


@rust_code
6👍2🥰2
🦀 Хотите стать Middle Rust-разработчиком? 

Присоединяйтесь к открытому уроку «Техническое собеседование на Middle Rust разработчика» 24 июля в 20:00 МСК. В режиме онлайн разберем:
— Типичные вопросы, которые вам зададут на собеседовании.
— Задачи, которые дают кандидатам на уровне Middle.
— Частые ошибки на собеседованиях и способы их избежать.

❗️Этот урок — отличная подготовка к карьерному росту в разработке.

👉 Записаться на вебинар курса «Rust Developer. Professional» → https://tglink.io/88a8235c33a9?erid=2W5zFK5ghu2

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
😁102👍1🔥1
⚙️ Rig — современная Rust-библиотека для работы с LLM, предлагающая унифицированный интерфейс для разных провайдеров ИИ. Проект выделяется акцентом на модульность и эргономику, позволяя интегрировать языковые модели в приложения с минимальным бойлерплейтом.

Инструмент уже используют в продакшене такие проекты, как Dria Compute Node и Linera Protocol. Библиотека поддерживает не только чат-модели вроде GPT-4, но и векторные базы данных, включая MongoDB и LanceDB.

🤖 GitHub

@rust_code
👍216🥰4
🧠 HASH — открытая база данных с элементами ИИ, которая самостоятельно структурирует информацию и проверяет её достоверность. Проект объединяет данные из разных источников в реальном времени, предлагая удобные инструменты для работы с ними даже не-техническим пользователям.

HASH имеет автономных агентов, которые автоматически дополняют и очищают данные, а в будущем система превратится в полноценную рабочую среду с AI-интерфейсами. Для старта можно использовать облачную версию или развернуть локально.

🤖 GitHub

@rust_code
🔥96👍3🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Linux: как быстро найти, какой процесс использует порт?

Иногда нужно понять, кто "держит" нужный порт — особенно при отладке сервисов или настройки nginx, Docker и так далее. Вместо ручного перебора — используйте lsof

Вот команда, которая покажет вам пи ай ди, имя процесса и даже имя пользователя, который занял порт:

Работает на любом Unix-подобном дистрибутиве. Замените <порт> на нужное значение — и сразу увидите виновника конфликта.

sudo lsof -i :<порт>

пример:

sudo lsof -i :5432

https://www.youtube.com/shorts/eD1YxcrQr5Y
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥83🍌2🫡2🥰1
📚 Огромная коллекция шпаргалок для разработчиков — на одном GitHub-репозитории:

Что внутри:
Языки (Python, JavaScript, Go, Rust, C++)
Инструменты (Git, Docker, Linux)
Алгоритмы и структуры данных
Системный дизайн и SQL
И даже темы по DevOps, Cloud, AI и Security

Удобно, когда нужно быстро освежить синтаксис, вспомнить команды или подготовиться к собеседованию.

🔥 Забирай в закладки — пригодится каждому разработчику.

https://github.com/crescentpartha/CheatSheets-for-Developers
👍96🥰4😁1😢1🥱1
📘 На Stepik вышел курс — «Rust для продвинутых»
Уже знакомы с Rust и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки.

🔍 Что вы получите:
• Глубокое понимание ключевых тем: generics, lifetimes, async, управление памятью
• Решение реальных инженерных задач: параллелизм, системное программирование, архитектура
• Более 200 интерактивных заданий с автопроверкой — всё в браузере, без установки, в удобное для вас время

🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn

🚀 Прокачайте Rust с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов

👉 Пройти курс на Stepik
🖕25🤣10👌61👍1🥰1
🔗 HelixDB — графово-векторная база данных на Rust, заточенная под RAG-приложения и AI-разработку. Проект сочетает хранение связей между узлами с векторным поиском, предлагая при этом впечатляющую производительность — создатели заявляют о 1000-кратном преимуществе перед Neo4j.

Под капотом используется проверенная LMDB, а интерфейс напоминает гибрид SQL и функционального программирования. Для локального развёртывания достаточно CLI-инструмента, который генерирует API-эндпоинты из декларативных запросов.

🤖 GitHub

@sqlhub
👍92🥰1
Binsider

Binsider — швейцарский нож для реверсёров. Инструмент для анализа бинарных файлов ELF, который предлагает мощные средства статического и динамического анализа.

💡Харакетеристики:
⏺️Статический анализ - Позволяет анализировать структуру ELF, включая секции, сегменты, символы и перемещения.
⏺️Динамический анализ - Возможность выполнения бинарного файла и отслеживания системных вызовов, сигналов и потока выполнения программы.
⏺️Извлечение строк - Подобно команде strings, Binsider может извлекать строки из бинарного файла для поиска интересных данных, таких как URL, пароли и другая чувствительная информация.
⏺️Hexdump - Предоставляет структурированный просмотр бинарного содержимого с возможностью анализа в шестнадцатеричном формате.

📎Установка:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh #Установка Rust

sudo apt install cargo

cargo install binsider

sudo cp /home/kali/.cargo/bin/binsider /bin


Использование:
binsider [PATH_TO_BINFILE]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍104🥰1
🦀 Rust на каждом GPU? Теперь это реальность

Команда выпустила серьезное обновление: теперь можно писать универсальный GPU-код на Rust, который работает сразу на разных платформах — без ручной настройки под каждую.

📦 Что нового:
— Поддержка *portable shader crates*
— Один и тот же шейдер можно запускать на Vulkan, WebGPU, Metal и даже CUDA
— Расширенный стандартный набор типов и функций
— Интеграция с cargo и spirv-builder стала проще
— Поддержка inline-asm и более точной отладки

💡 Почему это важно:
Раньше GPU-код приходилось писать под каждую платформу отдельно (HLSL, GLSL, CUDA). Теперь можно писать всё на Rust и использовать один и тот же код для разных бэкендов.

Это приближает нас к идее truly portable GPU programming — с безопасностью и удобством Rust.

🔗 Подробнее в блоге

@rust_code
🔥56👍103😱3🥰2🏆1