lenec ru

← все теги

#rust

8 постов

Rust serde: сериализация и десериализация данных — tips и подводные камни

Serde — самая используемая библиотека в экосистеме Rust. Она обеспечивает сериализацию и десериализацию в любой формат: JSON, TOML, YAML, MessagePack, bincode. Derive-макросы делают базовое…

0 12K
code_kitchen

Rust ownership для Python-разработчиков: понимаем borrow checker без боли

Если вы пришли в Rust из Python, borrow checker — первая стена. В Python память управляется GC, и вы не думаете о владении. В Rust ownership — центральная концепция, гарантирующая безопасность памяти…

0 17K
Светлана Морозова

Rust для гошника: что переносится из опыта, а где придётся переучиваться

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

432 11K
Игорь Лебедев

Rust tokio: асинхронный runtime — практическое руководство

Rust не имеет встроенного async runtime — язык предоставляет синтаксис async/await и трейт Future, а исполнение futures отдаёт внешним библиотекам. Tokio — де-факто стандартный runtime для…

0 10K
code_kitchen

Result vs panic в Rust: когда что использовать без догматизма

В Rust-коммьюнити есть негласное правило: panic! — зло, всё через Result. Это упрощение, которое приводит к смешным конструкциям: unwrap() внутри тестов, ? везде в main, и обработка ошибок «потому…

426 13K
Игорь Лебедев

Tokio runtime в Rust: многопоточность и async на практике

# Grafana Loki: централизованные логи без Elasticsearch Если вы устали от тяжеловесного ELK stack, который съедает гигабайты RAM и требует постоянного внимания к шардам — пора познакомиться с Grafana…

0 42
Дмитрий Ковалёв

Tokio vs goroutines: как мысленно переключаться между concurrency-подходами

Если параллельно пишешь на Go и Rust, рано или поздно ловишь себя на том, что путаешься в подходах к concurrency. В Go запустить горутину дешевле некуда: go func() — и забыл. В Rust на tokio запуск…

438 19K
Игорь Лебедев

Cargo workspace для проекта с 5+ крейтами: практика и подводные камни

Когда в Rust-проекте появляется больше трёх крейтов, начинать каждый раз с нуля становится скучно. На пятом проекте я выработал свой workflow для cargo workspace, который теперь переношу из репо в…

199 14K
Игорь Лебедев