$ sudo teach IT
Модуль 1 · Введение

Cargo с нуля — бесплатный курс

Cargo — это инструмент, без которого не существует ни одного серьёзного Rust-проекта. Здесь вы разберёте его полностью.

📖 Введение 🕐 ~10 минут 🔰 Для новичков
📦

Что такое Cargo

Cargo — это официальный инструмент языка Rust, который делает сразу несколько вещей: создаёт проекты, собирает код, управляет зависимостями, запускает тесты, генерирует документацию и публикует пакеты. Всё это — одна команда в терминале.

Если вы знакомы с другими языками, вот понятные аналогии:

🐍 Python
pip + virtualenv + pytest + setuptools — всё это в Python разные инструменты. В Rust это один Cargo.
🟨 JavaScript
npm/yarn + webpack + jest — опять куча инструментов. Cargo заменяет всё одним бинарником.
📦 Cargo
Один инструмент: create, build, run, test, doc, publish, fmt, clippy. Никакой настройки с нуля.
Главная идея: вы открываете терминал, пишете cargo new мой_проект — и у вас готова рабочая структура. cargo run — код собран и запущен. cargo add serde — зависимость добавлена. Вот и весь базовый цикл разработки.
🎯

Зачем учить Cargo

Без понимания Cargo вы не можете нормально работать на Rust. Это не вспомогательный инструмент — это центральная часть экосистемы. Все Rust-разработчики используют его каждый день.

🔨
Управление проектами
Cargo создаёт правильную структуру с первой команды. Не нужно думать, куда класть файлы, как называть конфигурацию, как связать несколько модулей.
📡
Зависимости без боли
Добавить библиотеку — одна команда. Cargo сам скачает нужную версию, разберётся с транзитивными зависимостями и убедится, что ничего не конфликтует.
🌍
Экосистема crates.io
Более 140 000 пакетов (крейтов) на crates.io. Cargo — ваш ключ к этой экосистеме. Без него вы не подключите ни один из них.
✅
Тесты, документация, линтер
cargo test, cargo doc, cargo clippy — встроено. Профессиональный уровень работы без подключения дополнительных инструментов.
👥

Для кого этот курс

✅
Вы только начинаете — никакого предварительного знания не требуется. Мы объясним всё с нуля: что такое терминал, как работает команда, что значит каждая строчка конфигурации.
✅
Вы знаете другой язык (Python, JS, Go) и хотите разобраться как устроен инструментарий Rust. Будем сравнивать с тем, что вы уже знаете.
✅
Вы уже пишете на Rust, но пользуетесь Cargo «на ощупь». После курса не останется ни одной команды, смысл которой вы не понимаете.
⚠️ Важно: курс о Cargo, а не о языке Rust. В примерах будет минимум Rust-кода — ровно столько, чтобы команды Cargo имели смысл. Объяснять синтаксис Rust не будем — это другой курс.
🗺️

Как проходить курс

1
Всегда имейте открытый терминал. Cargo — это инструмент командной строки. Без практики в терминале знания не закрепятся.
2
Вводите команды сами. Не копируйте — набирайте. Каждую команду запустите реально, посмотрите что происходит.
3
Задачи — обязательно. В конце каждого урока есть практическая задача. Пробуйте решить сами перед тем как смотреть решение.
4
Читайте вывод команд полностью. Cargo пишет информативные сообщения. Привыкайте читать каждую строку — там всегда что-то полезное.
🔗

Полезные ссылки

📖
The Cargo Book (официальная документация)
doc.rust-lang.org/cargo
📦
crates.io — реестр всех пакетов
crates.io
📋
docs.rs — документация всех крейтов
docs.rs
🔍
lib.rs — удобный поиск крейтов
lib.rs
📌 Что важно запомнить
→ Cargo — единый инструмент: создание, сборка, зависимости, тесты, документация, публикация
→ Заменяет pip + virtualenv + pytest + setuptools в Python или npm + webpack + jest в JS
→ Курс о Cargo как инструменте, не о языке Rust
→ Практика в терминале обязательна — теория без команд не закрепляется