Rust Backend | YeaHub
176 subscribers
51 photos
16 videos
157 links
Теория, подготовка к интервью и курсы для Rust разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
❤️‍🔥 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

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #CIcd
🤔 Что такое Continuous Integration?

Continuous Integration (Cl) - это процесс, при котором разработчики часто добавляют код в общий репозиторий. Каждый коммит автоматически тестируется, чтобы сразу выявлять ошибки и устранять их.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 Komorebi

Менеджер окон с тайлингом для Windows

Обзор
komorebi — это менеджер окон с тайлингом, работающий как расширение для Desktop Window Manager в Windows 10 и выше.

komorebi позволяет управлять оконными приложениями, виртуальными рабочими областями и мониторами через CLI. Его можно использовать вместе со сторонним софтом, таким как whkd и AutoHotKey, для настройки пользовательских сочетаний клавиш.

Цель komorebi — по умолчанию вносить как можно меньше изменений в операционную систему и окружение рабочего стола. Пользователи могут вносить нужные им правки в собственных конфигурационных файлах komorebi, но эти изменения останутся опциональными и отключёнными по умолчанию в обозримом будущем.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#Собес #CIcd
🤔 Каковы преимущества CI/CD?

CI/CD ускоряет процесс разработки за счёт автоматизации тестирования и развертывания. Это уменьшает вероятность ошибок, повышает стабильность системы и позволяет быстрее доставлять новые функции пользователям.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🛞 Burn — Rust-фреймворк для глубокого обучения с акцентом на производительность. В отличие от монолитных решений вроде PyTorch, Burn изначально заточен под кросс-платформенное выполнение: одна и та же модель может работать на NVIDIA/AMD GPU через CUDA/ROCm, на Apple-чипах через Metal и даже в браузере через WebGPU.

Главная фишка проекта в модульной архитектуре с подключаемым бэкендом и автоматической оптимизацией вычислений. Например, система умеет объединять операции ядер без ручного вмешательства. Для исследователей есть встроенный дашборд для мониторинга обучения, а для продакшна простая конвертация в ONNX.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #RabbitMQ
🤔 Что такое сервер в RabbitMQ?

Сервер RabbitMQ — это масштабируемая и надежная реализация AMQP- брокера, который отвечает за управление сообщениями между производителями и потребителями. Он показывает сообщения о запуске и успешно запускает брокер, если конфигурация выполнена корректно.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👍 Yazi — Молниеносно быстрый файловый менеджер для терминала

Это файловый менеджер для терминала, написанный на Rust, основанный на неблокирующем асинхронном вводе/выводе. Он ориентирован на предоставление эффективного, удобного и настраиваемого опыта управления файлами.

🟠 Встроенная поддержка нескольких протоколов изображений
🟠 Полная асинхронная поддержка: все операции ввода-вывода являются асинхронными, задачи ЦП распределяются по нескольким потокам, что позволяет максимально эффективно использовать доступные ресурсы.
🟠 Встроенная подсветка кода
🟠 Интеграция с fd, rg, fzf, zoxy
🟠 Vim-подобное управление
🟠 Поддержка нескольких вкладок, предварительный просмотр с возможностью прокрутки (для видео, PDF-файлов, архивов, каталогов, кода и т. д.)
🟠 Система тем, пользовательские макеты, корзина для мусора
и многое другое...

Совместим с GNU/Linux, Windows, macOS
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #RabbitMQ
🤔 Как работает RabbitMQ?

RabbitMQ обрабатывает сообщения через цепочку компонентов: продюсер отправляет сообщение в обмен, который перенаправляет его в очередь согласно правилам маршрутизации, а потребитель обрабатывает сообщение из очереди.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🏠 GlueSQL — SQL-движок, превращающий любые данные в полноценную базу данных. Этот инструмент умеет выполнять JOIN между CSV и MongoDB, работать с Git как с хранилищем данных и даже запускать SQL-запросы прямо в браузере через WebAssembly.

Что отличает GlueSQL от классических СУБД?
🟠 Поддержка schemaless-данных
🟠 Встроенные адаптеры для 10+ форматов
🟠 Возможность добавлять свои хранилища через реализацию двух traits на Rust

Проект активно развивается: недавно добавили поддержку транзакций в Sled-бэкенде и анонсировали облачную версию. Для теста достаточно cargo add gluesql и уже можно писать SQL-запросы к данным в памяти.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #RabbitMQ
🤔 Что такое обмен сообщениями?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
🤯 Helix gpui

Это простая графическая оболочка для редактора Helix. Большинство модальных редакторов работают в терминале; я хочу изменить это и реализовать качественный модальный GUI-редактор.

Темы
gui, rust-lang, helix-editor
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #RabbitMQ
🤔 Каковы недостатки RabbitMQ?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😎 Nova — новый движок JavaScript/Wasбm на Rust. Этот экспериментальный проект пытается переосмыслить архитектуру JS-движков через призму data-oriented design. Вместо классических указателей Nova использует индексы и векторы, чтобы минимизировать накладные расходы и улучшить кэширование.

Пока движок далёк от готовности, но подход к разработке вызывает интерес, например safepoint garbage collector, построенный на особенностях системы заимствований Rust — это попытка максимально приблизить структуру кода к ECMAScript-спецификации.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #RabbitMQ
🤔 Какие основные функции RabbitMQ?

RabbitMQ поддерживает асинхронные сообщения, гибкую маршрутизацию, высокую доступность и множество протоколов и языков программирования. Он легко интегрируется с другими системами и готов для использования в облаке и корпоративных средах.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
🛞 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.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #RabbitMQ
🤔 Объясните, что такое обмен (Exchange)?

Обмен (Exchange) - это компонент RabbitMQ, который принимает сообщения от отправителей (producers) и перенаправляет их в очереди на основе заданных правил маршрутизации.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
👨‍💻 Как упростить изучение 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-разработчик — не тот, кто никогда не ошибается, а тот, кто умеет читать сообщения компилятора и не сдаваться.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
#Собес #RabbitMQ
🤔 Почему выбирают RabbitMQ?

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

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 RustScan – Инструмент для быстрого сканирования портов

Данный проект может похвастаться высокой скоростью работы(Сканирует все 65 тыс. портов за 3 секунды), гибкой расширяемостью и адаптивным методом работы.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😵 Pydantic Core — Rust-ядро для валидации данных в Python. Этот низкоуровневый валидатор демонстрирует впечатляющую скорость: до 17x быстрее оригинальной реализации на чистом Python.

Хотя напрямую с ним обычно не работают (используя вместо этого основной пакет pydantic), проект интересен как пример интеграции Rust в Python-экосистему. Валидация описывается через JSON-схемы, поддерживая сложные условия вроде ge: 18 для чисел или вложенных структур. Сборка требует Rust toolchain, но результат стоит того: например, валидация списка из 10к элементов занимает миллисекунды.
Гитхаб

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM