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

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

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

Для связи: @ruslan_kuyanets
Download Telegram
Channel created
🤝 Добро пожаловать в экосистему YeaHub!

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

👩‍💻 C# 🤖 ML Engineer

👩‍💻 C/C++ 🖥 Data Science

👩‍💻 Java 👩‍💻 Python

🖥 PHP 👩‍💻 Frontend

👣 Rust 👣 Golang

🖥 Ruby 👩‍💻 Node.js

👩‍💻 QA 👩‍💻 Android

👩‍💻 iOS 👩‍💻 Game Dev

💻 DevOps 🖥 Общее IT

📆 Митапы 👨‍💻 Вакансии

Здесь вы найдете всё, что нужно для вашего направления — в одном месте, без необходимости подписываться на десятки каналов.

💬 YeaHub Community: Общение, обмен опытом и поддержка единомышленников

В наших каналах вы найдете:
🔹 Вакансии и карьерные рекомендации
🔹 Мероприятия и митапы
🔹 Вопросы и задачи с собеседований
🔹 Практику, теорию, курсы и полезные советы

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


👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Rust Backend | YeaHub pinned «🤝 Добро пожаловать в экосистему YeaHub! YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников. Подпишитесь на наши каналы, чтобы не пропустить: 👩‍💻 C# 🤖 ML Engineer 👩‍💻»
👨🏻‍💻 Rust Developer

ROZUMsoft — крупная международная компания в сфере игровой индустрии с офисами по всему миру и более чем 2000 сотрудников в контактных центрах

Что и как?

▪️ Работа в офисе в Мск
▪️ График 5/2
▪️ Опыт от 3 до 6 лет
▪️ Полная занятость

📩 Изучить вакансию
#ЧеКак
🤔 Библиотека serde в Rust

Serde — это мощная библиотека, предназначенная для сериализации и десериализации данных. Она позволяет легко преобразовывать структуры данных Rust в форматы, такие как JSON, YAML, TOML и другие, а также обратно.

🚩Основные возможности Serde

🟠Поддержка различных форматов
Serde поддерживает множество форматов сериализации и десериализации, включая JSON, BSON, YAML и другие. Это делает ее универсальным инструментом для работы с данными.

🟠Высокая производительность
Serde разработан с акцентом на производительность. Он использует нативные возможности Rust для минимизации накладных расходов, что позволяет быстро обрабатывать большие объемы данных.

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

🟠Простота использования
Использование Serde очень интуитивно. После добавления библиотеки в ваш проект с помощью Cargo и определения ваших структур данных вы можете начать сериализацию и десериализацию всего за несколько строк кода.

🚩Применение

Использование Serde для работы с JSON

1⃣ Добавьте зависимости в ваш Cargo.toml

[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"



2⃣ Определите структуру данных и используйте атрибуты для сериализации

use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize, Debug)]
struct Person {
name: String,
age: u32,
}

fn main() {
let person = Person {
name: String::from("Alice"),
age: 30,
};

// Сериализация в JSON
let json = serde_json::to_string(&person).unwrap();
println!("Serialized: {}", json);

// Десериализация из JSON
let deserialized_person: Person = serde_json::from_str(&json).unwrap();
println!("Deserialized: {:?}", deserialized_person);
}


В этом примере мы создаем структуру Person, сериализуем ее в JSON-формат и затем десериализуем обратно в структуру Rust.

👉 Новости 👉 Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Какой из следующих фреймворков для Rust чаще всего используется для разработки веб-приложений и API?

Anonymous Quiz
84%
Rocket
11%
Django
5%
Spring
0%
Flask
👨‍💻 Rust Developer

Суровый байт — Компания занимается разработкой собственных продуктов, а также развитием проектов для своих партнеров, например, для Российской академии наук. Компания полностью самостоятельна и независима, они сами пишут ТЗ и являются заказчиками на многих проектах. На данный момент основная работа ведется по трем из них: СУБД, Криптография и социальный портал для ученых.

Что и как?

▪️ Удалёнка/Офис/Гибрид
▪️ График 5/2
▪️ Опыт от 3 до 6 лет
▪️ От 150000 до 400000 руб

📩 Изучить вакансию
Please open Telegram to view this post
VIEW IN TELEGRAM
👎1
🤔 Библиотека Rig
Rig это библиотека на языке Rust для создания масштабируемых и модульных приложений, использующих LLM!

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

🟠Rig предоставляет удобные абстракции для работы с моделями и запросами, позволяя разработчикам быстро создавать мощные ИИ-приложения с использованием минимальных усилий.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Какой тип данных используется для хранения коллекции значений, которые могут повторяться?
Anonymous Quiz
77%
Vec
14%
String
9%
Option
0%
$str
#ЧеКак
🤔 Библиотека Tokyo

Это асинхронный фреймворк, который позволяет разрабатывать высокопроизводительные сетевые приложения и системы ввода-вывода.

🚩Почему стоит использовать Tokio?

🟠Асинхронное программирование
Tokio основан на модели асинхронного программирования, что позволяет эффективно обрабатывать множество задач одновременно без блокировки потоков. Это особенно полезно для сетевых приложений, где время ожидания может быть значительным.

🟠Высокая производительность
Tokio оптимизирован для работы с большим количеством соединений и задач, что делает его идеальным выбором для создания серверов и клиентских приложений.

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

🟠Совместимость с другими библиотеками
Tokio хорошо интегрируется с другими библиотеками экосистемы Rust, такими как Hyper (HTTP-клиент и сервер), Diesel (ORM) и многими другими.

👨‍💻 Пример

Использование Tokio для создания асинхронного HTTP-сервера с помощью библиотеки Hyper:

use hyper::{Body, Request, Response, Server};
use hyper::service::{make_service_fn, service_fn};
use tokio;

async fn handle_request(_req: Request<Body>) -> Result<Response<Body>, hyper::Error> {
Ok(Response::new(Body::from("Hello, World!")))
}

#[tokio::main]
async fn main() {
// Определяем адрес и порт для сервера
let addr = ([127, 0, 0, 1], 3000).into();

// Создаем сервис
let make_svc = make_service_fn(|_conn| async { Ok::<_, hyper::Error>(service_fn(handle_request)) });

// Создаем сервер
let server = Server::bind(&addr).serve(make_svc);

// Запускаем сервер
println!("Listening on http://{}", addr);
if let Err(e) = server.await {
eprintln!("server error: {}", e);
}
}

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Как называется менеджер пакетов и сборки проектов в Rust?
Anonymous Quiz
0%
NPM
100%
Cargo
0%
pip
#ЧеКак
🤔 Как можно использовать cargo для сборки и тестирования кода Rust?

Чтобы использовать cargo для создания кода Rust, используется команда build

cargo build


При использовании cargo build флаг --release будет встроен в режиме выпуска.

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

Чтобы использовать cargo для тестирования кода Rust, используется команда test

cargo test


После запуска cargo test создается отладочная версия программы, а затем запускается набор тестов.

Результаты тестов отображаются по мере их выполнения и помечаются знаком "прошел" или "не пройден". Если тест не пройден, в сообщении об ошибке будет указана причина сбоя.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Какой тип данных используется для хранения коллекции значений, которые могут повторяться?
Anonymous Quiz
87%
Vec
7%
String
7%
Option
0%
$str
#ЧеКак
🤔 В чем разница между Rust enum и struct?

🟠struct содержит поля, и каждое поле в struct присутствует всегда. Это делает struct уместным, когда вам нужно сгруппировать данные и иметь доступ ко всем компонентам этих данных.
🟠enum содержит варианты, в которых за раз представлен только один вариант.
Это делает enum уместным, когда у вас есть более одного компонента данных, но вам нужен только один компонент одновременно.
🟠Синтаксический анализатор - это пример, в котором использование enum имеет смысл, потому что токен может быть одним из заранее определенного количества элементов.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЧеКак
🤔 Почему программы Rust потребляют небольшой объем памяти?

Rust выделяет минимальный объем памяти, необходимый для выполнения операции, и делает это только при необходимости. После завершения операции память освобождается.
Это в отличие от языков, собирающих мусор, где память может оставаться выделенной до тех пор, пока сборщик мусора не получит возможность освободить память.

👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Какой базовый тип в Rust лучше всего использовать для логических значений?
Anonymous Quiz
4%
i1
9%
float
4%
logic
83%
bool
#ЧеКак
🤔 Приведите пример impl блока в Rust
🟠impl Блок позволяет реализовать функциональность на Rust enum или struct.
Когда функциональность реализуется таким образом, функциональность становится привязанной к enum или struct. Это помогает инкапсулировать функциональность, специфичную для данного enum или struct.

Вот пример impl блока в Rust, реализующего функциональность для создания нового struct:

struct Number(i32);

impl Number {
pub fn new(n: i32) -> Self {
Self(n)
}
}

let five = Number::new(5);


👉Новости 👉Платформа
Please open Telegram to view this post
VIEW IN TELEGRAM
#Вакансии
👨‍💻 Rust Developer / Researcher (DeFi/Crypto)

Qenetex - занимается разработкой сервисов в области DeFi и Blockchain. Высокая безопасность, конфиденциальность пользователей и простота использования лежат в основе всего, что мы создаем. В область нашей разработки входят многофункциональные, в т. ч. некастодиальные продукты, предоставляющие доступ к целой экосистеме сервисов в таких направлениях как Crypto Exchange, Trading, DeFi, Staking и др.

Что и как?

опыт от 2 лет
зп от 4000$
Удаленка с гибким графиком

📩 Изучить вакансию
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓 Какое ключевое слово определяет функцию в Rust?
Anonymous Quiz
6%
Function
6%
Method
6%
Def
83%
Fn