Rust for Rustaceans: когда учиться становится сложнее
RUST for rustaceans [2022] Jon Gjengset.
A Solid Average
Если бы не мой бэкграунд в Rust, то книгу оценил бы на отлично. Но с моим текущим уровнем получилось много повторения, в котором интересным был разбор того, как работает асинхронный Rust: фьючи, экзекьютер, pin/unpin… Я оставлял заметку больше года назад, что хотел еще раз к этой теме вернуться.
Приятно удивила последняя глава “What Next?”. Нашел в ней множество знакомых крутых ресурсов (см. ниже).
Тернистый путь обучения
Мое обучение книгой не заканчивается. Стараюсь практиковаться, выходит с переменным успехом. Учиться и отслеживать результаты становится сложнее - как-то учусь, а результатов для оформления заметки в блоге нет. Здесь возникает вопрос, как теперь вообще строить обучение.
Часть обучения лежит в работе, чему я несказанно рад. Написал свой TCP-стек в обход ядра для efvi на карте Solarflare. Хотя в эру ИИ слово “написал” уже некорректно использовать, разрабатываю. Этот ИИ поднимает вопрос: “Как дальше строить обучение?” Я в основном код читаю и ревью делаю, уже не “пишу”. До истинных вайбкодеров, в хорошем смысле, еще не добрался. Они на код не смотрят, выстраивают пайплайн, чтобы все было покрыто тестами и различными проверками. И как в этом мире выбирать, что изучать? Принципы построения архитектуры, шаблоны разработки?..
Вторая часть практики - я взялся за реализацию симулятора файловых систем, но интерес к проекту поугас. Я хотел выкатить поддержку многих файловых систем, но остановился на одной FAT, которую мне написал ИИ. Первоначальной идеей было самому писать и разбираться в устройстве каждой ФС. Сейчас думаю: “А надо ли?”. Процесс на работе устроен наоборот: код не пишешь, а только разбираешься в теме и код проверяешь.
Пет-проекты свои не забросил, ИИ тут тоже помогает ежемесячно обновлять данные в проекте трендовой стратегии на MOEX и вести подсчет эффективной стоимости предметов в Dota 2 в каждом патче.
Невысокий темп чтения книг компенсирую Хабром. Делюсь интересными блогами: dalerank https://habr.com/ru/users/dalerank/ и PatientZero https://habr.com/ru/users/PatientZero/.
Из вышесказанного делаю вывод, что прогресс в обучении у меня перестал измеряться количеством прочитанных книг и туториалов с учебными проектами.
Что рекомендует What Next? из RUST for rustaceans
Стримы с кодированием от Jon Gjengset и к нему awwsome список стримеров по Rust. Я писал статью о Джоне: Crust of rust — серия стримов для углубления знаний по Rust.
Два списка полезных крейтов и список крейтов для реализации.
Упоминаются книги, которые я уже находил, но были и новые, которыми я дополнил свой список.
Если говорить о практике, то в книге упоминают:
-
легендарный Learn Rust with Entirely Too Many Linked Lists
-
Блог Амоса, по которому я писал executable packer
-
mini-redis от Tokio. Кажется, я уже видел его в туториале от Tokio. Писал про него в статье о том, как я изучал Rust.
Еще есть обзор популярных крейтов в конце книги, где можно найти себе что-то полезное. Исходя из опыта рабочих проектов 90% из них я уже видел и использовал сам.