#Собес #Rust
🤔 Почему программы, написанные на Rust, потребляют небольшой объем памяти?
💬 Кратко:
Rust выделяет память только по мере необходимости и освобождает её автоматически сразу после завершения операции. Отсутствие сборщика мусора позволяет минимизировать затраты памяти, так как память не остаётся выделенной дольше, чем требуется.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Rust выделяет память только по мере необходимости и освобождает её автоматически сразу после завершения операции. Отсутствие сборщика мусора позволяет минимизировать затраты памяти, так как память не остаётся выделенной дольше, чем требуется.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Почему Rust имеет такую высокую производительность?
💬 Кратко:
Rust достигает высокой производительности, компилируясь напрямую в машинный код. Он не использует интерпретатор или сборщик мусора, что позволяет программам работать с минимальными накладными расходами. Оптимизации на уровне компиляции делают Rust идеальным выбором для задач, требующих высокой скорости выполнения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Rust достигает высокой производительности, компилируясь напрямую в машинный код. Он не использует интерпретатор или сборщик мусора, что позволяет программам работать с минимальными накладными расходами. Оптимизации на уровне компиляции делают Rust идеальным выбором для задач, требующих высокой скорости выполнения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
❤️🔥 Rust Foundation запустила инициативу Rust Innovation Lab
Некоммерческая организация Rust Foundation, отвечающая за развитие языка Rust и экосистемы вокруг него, представила новую программу поддержки — Rust Innovation Lab.
Что даёт инициатива:
🟡 Финансовая, юридическая и маркетинговая помощь
🟡 Административное сопровождение и поддержка управления проектами
🟡 Возможность принимать пожертвования и взаимодействовать со спонсорами от имени Rust Foundation с налоговыми льготами
🟡 Сохранение независимости проектов без необходимости создавать юрлицо, открывать счета и вести отчётность
🚀 Первым участником стал проект Rustls — криптографическая библиотека для TLS 1.2 и TLS 1.3, широко используемая в экосистеме Rust.
Итог: Rust Innovation Lab снимает с разработчиков рутину и позволяет сосредоточиться на развитии технологий.
https://rustfoundation.org/media/rust-foundation-launches-rust-innovation-lab-with-rustls-as-inaugural-project/
👉 Новости 👉 База вопросов
Некоммерческая организация Rust Foundation, отвечающая за развитие языка Rust и экосистемы вокруг него, представила новую программу поддержки — Rust Innovation Lab.
Что даёт инициатива:
🚀 Первым участником стал проект Rustls — криптографическая библиотека для TLS 1.2 и TLS 1.3, широко используемая в экосистеме Rust.
Итог: Rust Innovation Lab снимает с разработчиков рутину и позволяет сосредоточиться на развитии технологий.
https://rustfoundation.org/media/rust-foundation-launches-rust-innovation-lab-with-rustls-as-inaugural-project/
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #Rust
🤔 Расскажи про Rust
💬 Кратко:
Rust - это универсальный язык программирования, который сочетает высокую производительность с безопасностью памяти. Он предотвращает многие распространённые ошибки, такие как доступ к неинициализированной памяти или утечка данных, и позволяет писать надёжные и масштабируемые программы. Rust компилируется в машинный код, что делает его подходящим для разработки системного ПО, встраиваемых систем и веб-приложений.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Rust - это универсальный язык программирования, который сочетает высокую производительность с безопасностью памяти. Он предотвращает многие распространённые ошибки, такие как доступ к неинициализированной памяти или утечка данных, и позволяет писать надёжные и масштабируемые программы. Rust компилируется в машинный код, что делает его подходящим для разработки системного ПО, встраиваемых систем и веб-приложений.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😐 Компилируемый асинхронный ORM с динамическим SQL
Rbatis — это высокопроизводительный ORM-фреймворк для Rust, основанный на генерации кода во время компиляции. Он отлично сочетает в себе эффективность разработки, производительность и стабильность, выполняя роль как ORM, так и компилятора динамического SQL.
Гитхаб
👉 Новости 👉 База вопросов
Rbatis — это высокопроизводительный ORM-фреймворк для Rust, основанный на генерации кода во время компиляции. Он отлично сочетает в себе эффективность разработки, производительность и стабильность, выполняя роль как ORM, так и компилятора динамического SQL.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #git
🤔 Что такое команды git reset -mixed и git merge - abort?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
git reset --mixed : отменяет изменения, которые были добавлены в индекс, но сохраняет изменения в рабочем каталоге.git merge --abort : отменяет слияние, которое в данный момент находится в процессе, и возвращает репозиторий в состояние до начала слияния.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😎 PyApp — новый способ упаковать Python-программы
PyApp написан на Rust и превращает Python-проекты в готовые .exe или бинарники, которые работают без отдельной установки Python.
В отличие от PyInstaller или Nuitka, это не библиотека, а отдельный инструмент:
- для каждого проекта нужна своя сборка;
- зато конфигурация максимально гибкая и можно тонко настроить процесс.
Репозиторий
👉 Новости 👉 База вопросов
PyApp написан на Rust и превращает Python-проекты в готовые .exe или бинарники, которые работают без отдельной установки Python.
В отличие от PyInstaller или Nuitka, это не библиотека, а отдельный инструмент:
- для каждого проекта нужна своя сборка;
- зато конфигурация максимально гибкая и можно тонко настроить процесс.
Репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🦀 Поговорим о том, что делает Rust уникальным языком.
Самое важное, о чем стоит помнить при написании кода на Rust - это система владения.
Это излюбленная тема для обсуждения на любом собеседовании Rust.🗒
Что такое владение?🤔
Владение - система правил, которую проверяет компилятор Rust:
1. Каждое значение в программе имеет владельца - переменную, которая отвечает за это значение.
2. Владелец отвечает за выделенную память. Когда значение больше не нужно, он очистит память.
3. У каждого значения может быть только один владелец в любой момент времени.
Если эти правила нарушены, компилятор не позволит программе собраться.
Это предотвращает целый класс ошибок: утечки памяти, двойное освобождение, использование после освобождения.
Кто может быть владельцем?
- Переменная
Переменная a - владелец строки.
- Параметр функции
Параметр name - владелец переданной строки
- Составные типы
⚠️ Важно помнить!
Владение может переходить от одной переменной к другой. Это называется перемещение владения
Что нужно знать для собеседований?🤑
1. Умение находить ошибки владения в коде.
Например:
Ошибка: использование `s1` после перемещения владения к `s2`.
2. Понимание правил и их преимуществ
Будьте готовы объяснить:
- Как владение предотвращает утечки памяти
- Почему это безопаснее, чем ручное управление памятью в C/C++
- Как это работает без сборщика мусора
Понимание владения - основа для написания безопасных программ и изучения других продвинутых концепций Rust. Освойте эти основы, и собеседования станут намного проще!
🚀 Пост Guru Rust: @PaulEdd
Самое важное, о чем стоит помнить при написании кода на Rust - это система владения.
Это излюбленная тема для обсуждения на любом собеседовании Rust.
Что такое владение?
Владение - система правил, которую проверяет компилятор Rust:
1. Каждое значение в программе имеет владельца - переменную, которая отвечает за это значение.
2. Владелец отвечает за выделенную память. Когда значение больше не нужно, он очистит память.
3. У каждого значения может быть только один владелец в любой момент времени.
Если эти правила нарушены, компилятор не позволит программе собраться.
Это предотвращает целый класс ошибок: утечки памяти, двойное освобождение, использование после освобождения.
Кто может быть владельцем?
- Переменная
let a = String::from("hello"); Переменная a - владелец строки.
- Параметр функции
fn greet(name: String) { }Параметр name - владелец переданной строки
- Составные типы
let community_info = ("YeaHub", 2025, true);
// Кортеж community_info владеет всеми своими элементамиВладение может переходить от одной переменной к другой. Это называется перемещение владения
Что нужно знать для собеседований?
1. Умение находить ошибки владения в коде.
Например:
fn main() {
let s1 = String::from("hello");
let s2 = s1;
println!("{}", s1);
}Ошибка: использование `s1` после перемещения владения к `s2`.
2. Понимание правил и их преимуществ
Будьте готовы объяснить:
- Как владение предотвращает утечки памяти
- Почему это безопаснее, чем ручное управление памятью в C/C++
- Как это работает без сборщика мусора
Понимание владения - основа для написания безопасных программ и изучения других продвинутых концепций Rust. Освойте эти основы, и собеседования станут намного проще!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3
#новости
😵💫 Rust станет обязательной частью Git 3.0. «В Git 3.0 без Rust ничего работать не будет, потому что он будет обязательным», — говорит разработчик Git Брайан Карлсон.
«Без Rust [сборка Git 3.0] просто упадёт и скажет, что это не поддерживается».
До настоящего времени Git в основном разрабатывался на C.
👉 Новости 👉 База вопросов
«Без Rust [сборка Git 3.0] просто упадёт и скажет, что это не поддерживается».
До настоящего времени Git в основном разрабатывался на C.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥1
Guru Rust at YeaHub | ЭДУАРД ПАУЛЬ 🦀
Всем привет!
В 22 года я переехал в Сингапур, чтобы строить торговые системы в фондах. С тех пор я прошел путь от Junior Software Engineer в небольшом фонде до запуска миллиардного фонда с нуля. Все это на Rust и Python Django.
Я - ментор по разработке на Rust и Python. Помогаю вкатываться как новичкам, так и опытным в разработку хайлоуд бэкенда и блокчейна.
А ещё я Guru по Rust в YeaHub: отвечаю за качество контента во всей экосистеме.
А ещё подписывайтесь на другие каналы Экосистемы YeaHub
Проект YeaHub:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥2
#Собес #rust
🤔 Можно ли обьявить несколько переменных в одной строке кода?
💬 Кратко:
Да, в Rust можно обьявить несколько переменных в одной строке с помощью деструктуризации. Например, из кортежа.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Да, в Rust можно обьявить несколько переменных в одной строке с помощью деструктуризации. Например, из кортежа.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
❤1
#полезное
🥄 Энергоэффективный транспайлер Python в Rust
Depyler — это транспайлер, который преобразует код Python в безопасный и производительный Rust, снижая потребление энергии на 75-85%. Он предлагает мощные инструменты для тестирования и верификации, обеспечивая высокое качество кода и поддержку CI/CD.
Основные моменты:
🔵 Эффективное преобразование Python в Rust
🔵 Поддержка многоуровневого тестирования и верификации
🔵 Интеграция с AI для улучшения качества кода
🔵 Поддержка формата Ruchy для функционального программирования
🔵 Высокие стандарты безопасности и производительности
GitHub: https://github.com/paiml/depyler
👉 Новости 👉 База вопросов
Depyler — это транспайлер, который преобразует код Python в безопасный и производительный Rust, снижая потребление энергии на 75-85%. Он предлагает мощные инструменты для тестирования и верификации, обеспечивая высокое качество кода и поддержку CI/CD.
Основные моменты:
GitHub: https://github.com/paiml/depyler
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #rust
🤔 Что такое трейты в Rust?
💬 Кратко:
Трейты в Rust - это механизм определения поведения, который типы могут реализовывать. Это похоже на интерфейсы в других языках, но с уникальными особенностями.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Трейты в Rust - это механизм определения поведения, который типы могут реализовывать. Это похоже на интерфейсы в других языках, но с уникальными особенностями.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
На прошлой неделе мы говорили о механизме владения. Сегодня разберем еще один важный механизм Rust - заимствование (borrowing). Этот механизм помогает писать безопасный и эффективный код 🛟
Что такое заимствование?
Заимствование позволяет передать доступ к значению без передачи владения. Вместо самого значения ты передаёшь ссылку (
&T или &mut T).Тем самым ты избегаешь лишнего копирования и сохраняешь единственный источник истины. А компилятор отлавливает ошибки работы с памятью ещё до запуска программы.
1. Неизменяемая ссылка &T
Позволяет только читать данные, но не изменять их.
fn len(s: &String) -> usize {
// s.push_str("!") Здесь будет ошибка. Не можем изменить
s.len()
} 2. Изменяемая ссылка &mut T
Позволяет и читать, и изменять данные.
fn shout(s: &mut String) {
s.push_str("!") // Сработает. Можем изменять
s.len()
} 1. Много читателей ИЛИ один писатель.
Можно:
- Любое количество неизменяемых ссылок &T одновременно
- Ровно одну изменяемую ссылку &mut T
Нельзя:
- Одновременно иметь &T и &mut T
let mut name = String::from("Rust");
// много неизменяемых ссылок - работает
let a = &name;
let b = &name;
println!("{a} {b}");
// неизменяемая + изменяемая одновременно - ошибка
let c = &name;
let d = &mut name;Это правило предотвращает гонки данных на уровне компиляции. Если один поток читает данные, а другой их изменяет - это может привести к непредсказуемому поведению.
2. Ссылки не могут пережить данные.
Ссылка должна быть действительна все время своего использования. Нельзя создать ссылку на данные, которые уже освобождены.
fn bad_ref() -> &String {
let s = String::from("oops");
&s // Строка s будет очищена после выхода из функции - не сработает
}Это защищает от висячих указателей - одного из самых частых источников ошибок в C/C++.
На собеседованиях будь готов к этим вопросам
- Какие правила проверяет borrow checker?
- Почему нельзя одновременно иметь &T и &mut T?
- Почему Rust не позволяет возвращать из функции ссылку на локальную переменную?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
#Собес #rust
🤔 Что такое обобщения (generics) в Rust?
💬 Кратко:
Обобщения дают возможность создавать код, который работает с любым типом, указанным при его вызове. При этом можно задавать ограничения (трейты), которые тип должен соблюдать. Это делает код более гибким и повторно используемым.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Обобщения дают возможность создавать код, который работает с любым типом, указанным при его вызове. При этом можно задавать ограничения (трейты), которые тип должен соблюдать. Это делает код более гибким и повторно используемым.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#новости
🤯 Ларс Бергстром (Google) объявил об инвестициях в Rust в размере $350k:
🟠 $250k — в Rust Foundation на интероперабельность языка
🟠 $100k — в инфраструктуру Crater
По его словам, Rust помог снизить число уязвимостей в Android. Приятно видеть продолжение корпоративных инвестиций
👉 Новости 👉 База вопросов
По его словам, Rust помог снизить число уязвимостей в Android. Приятно видеть продолжение корпоративных инвестиций
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
#Собес #rust
🤔 Как использовать заимствование данных в структуре Rust?
💬 Кратко:
Чтобы структура могла заимствовать данные, используются аннотации времён жизни (
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
💬 Кратко:
Чтобы структура могла заимствовать данные, используются аннотации времён жизни (
'а ). Они гарантируют, что заимствованные данные существуют до тех пор, пока существует структура.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#Собес #match #pattern matching #option
🤔 Приведи пример использования выражения match в Rust?
💬 Кратко:
Выражение
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Приведи пример использования выражения match в Rust?
💬 Кратко:
Выражение
match в Rust используется для сопоставления значений с возможными вариантами. Оно особенно полезно при работе с типами Option, Result или перечислениями (enum).📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал