🤝 Добро пожаловать в экосистему 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: Общение, обмен опытом и поддержка единомышленников
В наших каналах вы найдете:
🔹 Вакансии и карьерные рекомендации
🔹 Мероприятия и митапы
🔹 Вопросы и задачи с собеседований
🔹 Практику, теорию, курсы и полезные советы
👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников. Подпишитесь на наши каналы, чтобы не пропустить:
📆 Митапы 👨💻 Вакансии
Здесь вы найдете всё, что нужно для вашего направления — в одном месте, без необходимости подписываться на десятки каналов.
В наших каналах вы найдете:
🔹 Вакансии и карьерные рекомендации
🔹 Мероприятия и митапы
🔹 Вопросы и задачи с собеседований
🔹 Практику, теорию, курсы и полезные советы
Миссия YeaHub — создать сообщество активных IT-специалистов, которые вместе развиваются, задают стандарты в индустрии, общаются и помогают друг другу. Мы стремимся к созданию саморегулирующегося сообщества, где каждый участник вносит вклад в развитие отрасли и поддерживает высокие профессиональные стандарты.
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 лет
▪️ Полная занятость
📩 Изучить вакансию
ROZUMsoft — крупная международная компания в сфере игровой индустрии с офисами по всему миру и более чем 2000 сотрудников в контактных центрах
Что и как?
▪️ Работа в офисе в Мск
▪️ График 5/2
▪️ Опыт от 3 до 6 лет
▪️ Полная занятость
📩 Изучить вакансию
hh.ru
Вакансия Rust Developer в Москве, работа в компании РозумСофт (вакансия в архиве c 15 января 2025)
Зарплата: не указана. Москва. Требуемый опыт: 3–6 лет. Полная. Дата публикации: 12.01.2025.
#ЧеКак
🤔 Библиотека serde в Rust
Serde — это мощная библиотека, предназначенная для сериализации и десериализации данных. Она позволяет легко преобразовывать структуры данных Rust в форматы, такие как JSON, YAML, TOML и другие, а также обратно.
🚩 Основные возможности Serde
🟠 Поддержка различных форматов
Serde поддерживает множество форматов сериализации и десериализации, включая JSON, BSON, YAML и другие. Это делает ее универсальным инструментом для работы с данными.
🟠 Высокая производительность
Serde разработан с акцентом на производительность. Он использует нативные возможности Rust для минимизации накладных расходов, что позволяет быстро обрабатывать большие объемы данных.
🟠 Гибкость
Serde предоставляет мощные механизмы для настройки процесса сериализации и десериализации. Вы можете легко управлять тем, как ваши структуры данных преобразуются в различные форматы, используя атрибуты и пользовательские сериализаторы.
🟠 Простота использования
Использование Serde очень интуитивно. После добавления библиотеки в ваш проект с помощью Cargo и определения ваших структур данных вы можете начать сериализацию и десериализацию всего за несколько строк кода.
🚩 Применение
Использование Serde для работы с JSON
1⃣ Добавьте зависимости в ваш
2⃣ Определите структуру данных и используйте атрибуты для сериализации
В этом примере мы создаем структуру
👉 Новости 👉 Платформа
Serde — это мощная библиотека, предназначенная для сериализации и десериализации данных. Она позволяет легко преобразовывать структуры данных Rust в форматы, такие как JSON, YAML, TOML и другие, а также обратно.
Serde поддерживает множество форматов сериализации и десериализации, включая JSON, BSON, YAML и другие. Это делает ее универсальным инструментом для работы с данными.
Serde разработан с акцентом на производительность. Он использует нативные возможности Rust для минимизации накладных расходов, что позволяет быстро обрабатывать большие объемы данных.
Serde предоставляет мощные механизмы для настройки процесса сериализации и десериализации. Вы можете легко управлять тем, как ваши структуры данных преобразуются в различные форматы, используя атрибуты и пользовательские сериализаторы.
Использование Serde очень интуитивно. После добавления библиотеки в ваш проект с помощью Cargo и определения ваших структур данных вы можете начать сериализацию и десериализацию всего за несколько строк кода.
Использование Serde для работы с JSON
Cargo.toml
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
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
Anonymous Quiz
84%
Rocket
11%
Django
5%
Spring
0%
Flask
Суровый байт — Компания занимается разработкой собственных продуктов, а также развитием проектов для своих партнеров, например, для Российской академии наук. Компания полностью самостоятельна и независима, они сами пишут ТЗ и являются заказчиками на многих проектах. На данный момент основная работа ведется по трем из них: СУБД, Криптография и социальный портал для ученых.
Что и как?
▪️ Удалёнка/Офис/Гибрид
▪️ График 5/2
▪️ Опыт от 3 до 6 лет
▪️ От 150000 до 400000 руб
📩 Изучить вакансию
Please open Telegram to view this post
VIEW IN TELEGRAM
hh.ru
Вакансия Rust Developer в Москве, работа в компании Суровый байт
Зарплата: от 150000 до 400000 ₽. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 11.12.2024.
👎1
Rig — это библиотека на языке Rust для создания масштабируемых и модульных приложений, использующих LLM!
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:
👉 Новости 👉 Платформа
Это асинхронный фреймворк, который позволяет разрабатывать высокопроизводительные сетевые приложения и системы ввода-вывода.
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
#ЧеКак
🤔 Как можно использовать 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 выделяет минимальный объем памяти, необходимый для выполнения операции, и делает это только при необходимости. После завершения операции память освобождается.
Это в отличие от языков, собирающих мусор, где память может оставаться выделенной до тех пор, пока сборщик мусора не получит возможность освободить память.
👉 Новости 👉 Платформа
Rust выделяет минимальный объем памяти, необходимый для выполнения операции, и делает это только при необходимости. После завершения операции память освобождается.
Это в отличие от языков, собирающих мусор, где память может оставаться выделенной до тех пор, пока сборщик мусора не получит возможность освободить память.
Please open Telegram to view this post
VIEW IN TELEGRAM
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$
▫ Удаленка с гибким графиком
📩 Изучить вакансию
Qenetex - занимается разработкой сервисов в области DeFi и Blockchain. Высокая безопасность, конфиденциальность пользователей и простота использования лежат в основе всего, что мы создаем. В область нашей разработки входят многофункциональные, в т. ч. некастодиальные продукты, предоставляющие доступ к целой экосистеме сервисов в таких направлениях как Crypto Exchange, Trading, DeFi, Staking и др.
Что и как?
📩 Изучить вакансию
Please open Telegram to view this post
VIEW IN TELEGRAM
hh.ru
Вакансия Rust Developer / Researcher (DeFi/Crypto) в Москве, работа в компании Qenetex
Зарплата: от 4000 $. Москва. Требуемый опыт: 3–6 лет. Полная занятость. Дата публикации: 08.01.2025.
Anonymous Quiz
6%
Function
6%
Method
6%
Def
83%
Fn