Содержание пакета (5 курсов)
1. Git + GitHub. Полный курс 4.97
Вступление
3 урока
1.
Добро пожаловать
↗
2.
Знакомство
↗
3.
О курсе
↗
Основы Git
14 уроков
1.
Обзор систем контроля версий
↗
2.
Установка и настройка Git
↗
3.
Первый репозиторий
↗
4.
Первый коммит
↗
5.
Индекс
↗
6.
Подробнее о коммитах
↗
7.
Откат изменений
↗
8.
Удаление файлов
↗
9.
Переименование/перемещение файлов
↗
10.
Просмотр изменений
↗
11.
История коммитов
↗
12.
Машина времени (изменение истории)
↗
13.
Игнорирование файлов
↗
14.
Домашнее задание
↗
GitHub
8 уроков
1.
Создание удаленного репозитория
↗
2.
Клонирование репозитория
↗
3.
SSH аутентификация
↗
4.
Копирование чужого репозитория (fork)
↗
5.
GitHub Copilot
↗
6.
Файл Readme.md и разметка Markdown
↗
7.
Альтернативы GitHub
↗
8.
Домашнее задание
↗
Ветвление и командная работа
9 уроков
1.
Введение в ветки
↗
2.
Переключение между ветками
↗
3.
Создание, просмотр, удаление веток
↗
4.
Слияние веток
↗
5.
Конфликты при слиянии
↗
6.
Экстренное переключение между задачами
↗
7.
Безопасное обновление репозитория
↗
8.
Поиск автора кода
↗
9.
Запросы на слияние (Pull Request)
↗
Финал
2 урока
1.
Большая шпаргалка
↗
2.
Обещанный бонус
↗
2. SQL практикум. Полный курс 4.98
Вступление
3 урока
1.
Добро пожаловать
↗
2.
Знакомство
↗
3.
О курсе
↗
Установка рабочего окружения
6 уроков
1.
Установка MySQL сервера
↗
2.
Работа в терминале
↗
3.
Графические IDE (Workbench, DBeaver)
↗
4.
Взаимодействие с сервером
↗
5.
Контрольные вопросы
↗
6.
Решаем задачи. Пишем SQL код
↗
Проектирование БД (команды DDL)
14 уроков
1.
Первичные ключи
↗
2.
Особенности типов данных и именование объектов
↗
3.
Руководство по стилю SQL · SQL Style Guide
↗
4.
Индексы
↗
5.
Внешние ключи
↗
6.
Подробнее про ALTER TABLE
↗
7.
Особенности синтаксиса MySQL
↗
8.
Виды связей между таблицами (1х1, 1хМ, МхМ)
↗
9.
Таблицы-справочники
↗
10.
ER-диаграмма
↗
11.
Контрольные вопросы. Часть 1
↗
12.
Контрольные вопросы. Часть 2
↗
13.
Решаем задачи. Пишем SQL код. Часть 1
↗
14.
Решаем задачи. Пишем SQL код. Часть 2
↗
Работа с данными (команды DML, CRUD)
9 уроков
1.
Команда INSERT
↗
2.
Команда SELECT
↗
3.
Команда UPDATE
↗
4.
Команда DELETE
↗
5.
Бонус: Сервисы для генерации данных
↗
6.
Импорт-экспорт данных
↗
7.
Контрольные вопросы
↗
8.
Решаем задачи. Пишем SQL код. Часть 1
↗
9.
Решаем задачи. Пишем SQL код. Часть 2
↗
Основы SELECT запросов
13 уроков
1.
Фильтрация (WHERE + LIKE)
↗
2.
Сортировка (ORDER BY)
↗
3.
Агрегирующие функции (COUNT, MIN, MAX, AVG, SUM)
↗
4.
Группировка (GROUP BY)
↗
5.
Фильтрация (HAVING)
↗
6.
Отсутствие значения (NULL)
↗
7.
Пейджинг (LIMIT + OFFSET)
↗
8.
Условия, ветвления (IF, CASE)
↗
9.
Контрольные вопросы. Часть 1
↗
10.
Контрольные вопросы. Часть 2
↗
11.
Контрольные вопросы. Часть 3
↗
12.
Решаем задачи. Пишем SQL код. Часть 1
↗
13.
Решаем задачи. Пишем SQL код. Часть 2
↗
Сложные SELECT запросы
16 уроков
1.
Вложенные запросы (подзапросы)
↗
2.
Объединения (JOIN) - Теория
↗
3.
Объединения (CROSS JOIN, INNER JOIN)
↗
4.
Объединения (LEFT JOIN, RIGHT JOIN)
↗
5.
Объединения (FULL OUTER JOIN)
↗
6.
Вложенные запросы VS объединения
↗
7.
Соединения (UNION)
↗
8.
Оконные функции
↗
9.
Общие табличные выражения (CTE)
↗
10.
Рекурсивные табличные выражения
↗
11.
Контрольные вопросы. Часть 1
↗
12.
Контрольные вопросы. Часть 2
↗
13.
Решаем задачи. Пишем SQL код. Часть 1
↗
14.
Решаем задачи. Пишем SQL код. Часть 2
↗
15.
Решаем задачи. Пишем SQL код. Часть 3
↗
16.
Решаем задачи. Пишем SQL код. Часть 4
↗
Продвинутые фичи SQL
11 уроков
1.
Полнотекстовый поиск
↗
2.
Представления (View)
↗
3.
Хранимые процедуры
↗
4.
Пользовательские функции
↗
5.
Переменные
↗
6.
Триггеры
↗
7.
Контрольные вопросы. Часть 1
↗
8.
Контрольные вопросы. Часть 2
↗
9.
Контрольные вопросы. Часть 3
↗
10.
Решаем задачи. Пишем SQL код. Часть 1
↗
11.
Решаем задачи. Пишем SQL код. Часть 2
↗
Транзакции
8 уроков
1.
Введение в транзакции
↗
2.
Обработка исключений (ошибок)
↗
3.
Уровни изоляции транзакций
↗
4.
Блокировки таблиц
↗
5.
Взаимная блокировка (deadlock)
↗
6.
Контрольные вопросы. Часть 1
↗
7.
Контрольные вопросы. Часть 2
↗
8.
Решаем задачи. Пишем SQL код
↗
Права доступа
5 уроков
1.
Пользователи
↗
2.
Роли
↗
3.
Контрольные вопросы. Часть 1
↗
4.
Контрольные вопросы. Часть 2
↗
5.
Решаем задачи. Пишем SQL код
↗
Вопросы оптимизации
10 уроков
1.
Лишний JOIN
↗
2.
Денормализация
↗
3.
Настройки сервера
↗
4.
Анализ запросов (EXPLAIN)
↗
5.
Графический план исполнения запроса
↗
6.
Исправление проблемных мест
↗
7.
Графический план: показательные примеры
↗
8.
Контрольные вопросы
↗
9.
Решаем задачи. Пишем SQL код. Часть 1
↗
10.
Решаем задачи. Пишем SQL код. Часть 2
↗
Дополнительные темы
6 уроков
1.
Работа с логами
↗
2.
Циклы
↗
3.
Курсоры
↗
4.
SQL инъекции
↗
5.
Контрольные вопросы
↗
6.
Решаем задачи. Пишем SQL код
↗
Финальный тест. Завершение курса
20 уроков
1.
Дисклеймер
↗
2.
Тест. Часть 1
↗
3.
Тест. Часть 2
↗
4.
Тест. Часть 3
↗
5.
Тест. Часть 4
↗
6.
Тест. Часть 5
↗
7.
Тест. Часть 6
↗
8.
Тест. Часть 7
↗
9.
Тест. Часть 8
↗
10.
Тест. Часть 9
↗
11.
Тест. Часть 10
↗
12.
Тест. Часть 11
↗
13.
Тест. Часть 12
↗
14.
Тест. Часть 13
↗
15.
Тест. Часть 14
↗
16.
Тест. Часть 15
↗
17.
Тест. Часть 16
↗
18.
Тест. Часть 17
↗
19.
Тест. Часть 18
↗
20.
Обещанный бонус
↗
3. Твой Golang 4.98
Введение
8 уроков
1.
О курсе
↗
2.
Что нужно сделать
↗
3.
Про Golang
↗
4.
Установка Golang
↗
5.
Установка редактора кода
↗
6.
Первая программа
↗
7.
Запуск и компиляция
↗
8.
Отладка
↗
Базовые типы
27 уроков
1.
Переменные
↗
2.
Названия переменных
↗
3.
Типы
↗
4.
Тип int
↗
5.
Переполнение и приведение типов int
↗
6.
Типы byte и rune
↗
7.
Выбор int
↗
8.
Система счисления
↗
9.
iota
↗
10.
Случайное целое число
↗
11.
Тип float
↗
12.
Случайное дробное число
↗
13.
Тип complex
↗
14.
Пакет math
↗
15.
Тип bool
↗
16.
Тип string
↗
17.
Пакет strings
↗
18.
Приведение в строку
↗
19.
Приведение строки в число
↗
20.
Пакет fmt
↗
21.
Спецификаторы f-функций
↗
22.
Тип rune
↗
23.
Указатели
↗
24.
nil и new
↗
25.
Ввод данных от пользователя
↗
26.
Тип any или interface{}
↗
27.
Другие типы
↗
Операторы
9 уроков
1.
Операторы и операнды
↗
2.
Математические операторы
↗
3.
Операторы присваивания
↗
4.
Конкатенация
↗
5.
Сравнение
↗
6.
Логические операторы
↗
7.
Логические "И", "ИЛИ"
↗
8.
Побитовые операторы
↗
9.
Пример побитовых операторов
↗
Ветвления
7 уроков
1.
Логические конструкции if-else
↗
2.
Логическое if с присвоением значения
↗
3.
Конструкция switch
↗
4.
Область видимости
↗
5.
Практика - Определение времени суток
↗
6.
Практика - Калькулятор ИМТ
↗
7.
Практика - Поиск по названию товара
↗
Функции
25 уроков
1.
Создание функций
↗
2.
Параметры
↗
3.
Возвращение значений
↗
4.
Именованый return
↗
5.
Применение return
↗
6.
Вариативный параметр
↗
7.
Указатели и функции
↗
8.
defer
↗
9.
Нюансы defer
↗
10.
Стек вызовов - callstack
↗
11.
Паника!!!
↗
12.
Ошибки
↗
13.
Оборачивание ошибок
↗
14.
Замыкания
↗
15.
Пользовательские типы
↗
16.
Инициализация с init
↗
17.
Рекурсия
↗
18.
Практикуемся с рекурсией - факториал
↗
19.
Стиль функций
↗
20.
Одна функция - одна задача
↗
21.
if, else и return
↗
22.
Затенение переменных
↗
23.
Имена функций
↗
24.
Практика - Система оценок
↗
25.
Практика - Декораторы
↗
Пакеты
3 урока
1.
Пакеты в golang
↗
2.
Внешние пакеты и их подключение
↗
3.
Советы по пакетам
↗
Циклы
6 уроков
1.
Цикл for
↗
2.
Итерация по строкам
↗
3.
break, continue и return
↗
4.
Вложенные циклы и лейблы
↗
5.
Практика - Игра "Угадай число"
↗
6.
Практика - Анализ текста
↗
Массивы
6 уроков
1.
Создание массивов
↗
2.
Доступ к значениям массивов
↗
3.
Итерация по массиву
↗
4.
Массивы и функции
↗
5.
Сравнение массивов
↗
6.
Практика - Секретный код
↗
Слайсы
16 уроков
1.
Создание слайсов
↗
2.
Итерация по слайсу
↗
3.
Просто про добавление значений - append()
↗
4.
Вариативные параметры функции
↗
5.
Пустой слайс - nil
↗
6.
Вложенные массивы и слайсы
↗
7.
Копирование - copy
↗
8.
Подслайсы
↗
9.
Указатель на элемент
↗
10.
Вставка значений - append()
↗
11.
Удаление значений
↗
12.
Нюансы работы со слайсами
↗
13.
Сортировка
↗
14.
Пакет slices
↗
15.
Практика - шифр Цезаря
↗
16.
Практика - Отслайси его!
↗
Структура map
12 уроков
1.
Создание map
↗
2.
Итерация по map
↗
3.
Изменение map во время итерации
↗
4.
Ключи
↗
5.
Значения
↗
6.
Скорость работы
↗
7.
Пример использования
↗
8.
Сравнение
↗
9.
Копирование и клонирование
↗
10.
Удаление значений с maps.DeleteFunc()
↗
11.
Практика - рекомендации фильмов
↗
12.
Практика - анализ друзей
↗
Структуры
15 уроков
1.
Проблема хранения данных
↗
2.
Структуры
↗
3.
Вложенные структуры
↗
4.
Передача по значению
↗
5.
Методы
↗
6.
Изменение структуры в методах
↗
7.
Экспортируемость полей и методов
↗
8.
Функция-конструктор
↗
9.
Теги
↗
10.
Композиция
↗
11.
Встраивание
↗
12.
Композиция vs встраивание
↗
13.
Пустая структура
↗
14.
Практика - система управления тегами
↗
15.
Практика - система управления проектами
↗
Интерфейсы
10 уроков
1.
Создание интерфейсов
↗
2.
Пример использования
↗
3.
Тип any или пустой интерфейс
↗
4.
nil
↗
5.
Вызов метода у nil
↗
6.
Пользовательские типы
↗
7.
Пример использования пользовательских типов
↗
8.
Сложнее пример с интерфейсами
↗
9.
Встраивание интерфейсов
↗
10.
Практика - Симуляция жизни в деревне
↗
Ошибки
9 уроков
1.
Вспоминаем про ошибки
↗
2.
Оборачивание ошибок
↗
3.
Пользовательские ошибки
↗
4.
Функции errors.Is() и errors.As()
↗
5.
Как устроены errors.Is() и errors.As()
↗
6.
Оборачивание пользовательских ошибок
↗
7.
Другой подход к работе с ошибками
↗
8.
Советы по работе с ошибками
↗
9.
Практика - Обработка ошибок платежа
↗
Конец первой части курса
2 урока
1.
Друзья курса
↗
2.
Что дальше?
↗
4. Твой Golang - Продвинутый 5.00
Слайсы
6 уроков
1.
Введение
↗
2.
Структура слайса
↗
3.
Как работает append()
↗
4.
Нюансы append()
↗
5.
Подслайсы
↗
6.
Неожиданные мутации
↗
Big O
3 урока
1.
Сложность операций: Big O
↗
2.
Как данные хранятся в памяти?
↗
3.
Практика: Угадай сложность
↗
Хеш-таблица
5 уроков
1.
Проблема поиска
↗
2.
Придумываем хеш-таблицу
↗
3.
Коллизии
↗
4.
Создаем свою хеш-таблицу
↗
5.
Заключение
↗
map
10 уроков
1.
Введение
↗
2.
Идея swiss tables
↗
3.
hash
↗
4.
Каталог и расширяемое хеширование
↗
5.
Таблицы (Swiss tables)
↗
6.
Группы
↗
7.
Поиск элемента и пробирование
↗
8.
CRUD в map
↗
9.
Нюансы map
↗
10.
Заключение
↗
Интерфейсы
4 урока
1.
Устройство интерфейсов
↗
2.
Таблицы методов (itab)
↗
3.
Интерфейсы, nil и производительность
↗
4.
Использование интерфейсов
↗
Время - time
7 уроков
1.
Основы времени
↗
2.
Арифметика времени
↗
3.
Форматирование и парсинг времени
↗
4.
Временные зоны
↗
5.
Monotonic и Wall Time
↗
6.
Таймеры и задержки
↗
7.
DST, високосные секунды и другие подводные камни
↗
Работа с файловой системой
14 уроков
1.
Введение в работу с файлами
↗
2.
Ручное управление файлом
↗
3.
Операции с *os.File
↗
4.
Пример: чтение конфигурации
↗
5.
Работа с большими файлами
↗
6.
bufio
↗
7.
Реализуем логику head
↗
8.
Пути и работа с директориями
↗
9.
Directory (Path) Traversal
↗
10.
Рекурсивный обход файловой системы
↗
11.
Права доступа, метаданные и временные файлы
↗
12.
Атомарная запись
↗
13.
Практика: реализуем tail
↗
14.
Стандартные операции над файлами
↗
JSON
11 уроков
1.
Что такое JSON
↗
2.
Основы JSON
↗
3.
omitempty и omitzero
↗
4.
MarshalJSON и UnmarshalJSON
↗
5.
Вложенные структуры, слайсы, мапы
↗
6.
Динамический JSON
↗
7.
Валидация в UnmarshalJSON
↗
8.
Streaming и работа с большими данными
↗
9.
Циклические ссылки
↗
10.
encoding/json/v2
↗
11.
stepik
↗
Конкурентность
8 уроков
1.
Горутины и GMP
↗
2.
Как устроен GMP
↗
3.
Горутины
↗
4.
Каналы
↗
5.
Нюансы каналов
↗
6.
Практика с каналами
↗
7.
select
↗
8.
Таймеры и таймауты
↗
Контекст
5 уроков
1.
Введение в контекст
↗
2.
Отмена контекста
↗
3.
Передача контекста вниз по стеку
↗
4.
Причина - context.Cause
↗
5.
Пример: длинные вычисления с проверкой контекста
↗
Сигналы
2 урока
1.
Работа с сигналами
↗
2.
Graceful shutdown
↗
Пакет sync
10 уроков
1.
Введение в пакет sync
↗
2.
sync.Mutex
↗
3.
sync.RWMutex
↗
4.
sync.WaitGroup
↗
5.
sync.Once
↗
6.
sync.Cond
↗
7.
sync.Map
↗
8.
sync.Pool
↗
9.
errgroup
↗
10.
Что выбрать?
↗
Пакет atomic
5 уроков
1.
Атомарные операции
↗
2.
Пример: Флаг отмены для воркеров
↗
3.
Атомарное обновление структуры - atomic.Pointer
↗
4.
Когда нельзя использовать атомарные операции
↗
5.
Заключение
↗
Практика и конкурентность
1 урок
1.
Graceful shutdown
↗
Паттерны конкурентности
7 уроков
1.
Pipeline
↗
2.
Worker Pool
↗
3.
Fan-Out/Fan-In
↗
4.
Resource Pool
↗
5.
Circuit Breaker
↗
6.
Rate Limiting
↗
7.
Pub/Sub
↗
CLI
7 уроков
1.
Введение в CLI-приложения
↗
2.
Цветной вывод и индикаторы прогресса
↗
3.
Стандартный пакет flag
↗
4.
Пакет pflag
↗
5.
Библиотека urfave/cli
↗
6.
Библиотека Cobra и Viper
↗
7.
Интерактивные режимы (REPL)
↗
Теория HTTP
4 урока
1.
Введение в HTTP как протокол
↗
2.
Уровни сетевого взаимодействия: OSI
↗
3.
Эволюция HTTP
↗
4.
Stateless-природа HTTP
↗
HTTP-сервер
16 уроков
1.
Основы HTTP-сервера
↗
2.
Регистрация обработчиков
↗
3.
Запуск сервера
↗
4.
Заполнение обработчиков
↗
5.
Добавляем log/slog
↗
6.
Роутер
↗
7.
Роутинг в http.ServeMux
↗
8.
Убираем глобальный логгер
↗
9.
Middleware
↗
10.
Context и цепочки middleware
↗
11.
Настройка HTTP-сервера
↗
12.
Чтение данных из HTTP-запроса
↗
13.
Раздача статических файлов
↗
14.
Загрузка файлов
↗
15.
Множественная загрузка файлов
↗
16.
Заключение
↗
HTTP-клиент
5 уроков
1.
Простые запросы HTTP
↗
2.
http.Client
↗
3.
http.Transport
↗
4.
Диагностика сетевых ошибок
↗
5.
http.Request
↗
Конец второй части курса "Твой Go"
1 урок
1.
Что дальше?
↗
5. Терминал Linux. Работа в командной строке 4.95
Вступление
3 урока
1.
Добро пожаловать
↗
2.
Знакомство
↗
3.
О курсе
↗
Настройка рабочей среды
4 урока
1.
Установка Linux Ubuntu как виртуальной машины
↗
2.
Разворачивание Linux "в облаках"
↗
3.
Настройка SSH-сервера
↗
4.
Резюме модуля `Введение`. Контрольные вопросы
↗
Знакомство с терминалом
7 уроков
1.
Трюки и лайфхаки в терминале
↗
2.
Список горячих клавиш в терминале Linux
↗
3.
Основные команды для навигации по папкам
↗
4.
Создание файлов и папок
↗
5.
Основные операции с файлами
↗
6.
Просмотр файлов
↗
7.
Резюме модуля. Контрольные вопросы
↗
Редактирование файлов
4 урока
1.
Nano. Дружественный к пользователю текстовый редактор
↗
2.
Vim. Редактор по умолчанию
↗
3.
Vimtutor. Обучалка по редактору Vim.
↗
4.
Резюме модуля. Контрольные вопросы.
↗
Промежуточные итоги
4 урока
1.
Шпаргалка по редактору Nano
↗
2.
Шпаргалка по горячим клавишам Vim
↗
3.
Тест по пройденному материалу
↗
4.
Домашнее задание
↗
Файловая структура
3 урока
1.
Поиск файлов, команда find
↗
2.
Важные директории, утилиты, архивирование
↗
3.
Резюме модуля. Контрольные вопросы
↗
Управление пользователями и группами
7 уроков
1.
Вывод информации о пользователях
↗
2.
Создание пользователей
↗
3.
Изменение пользователей
↗
4.
Права root, удаление пользователей
↗
5.
Управление группами
↗
6.
Резюме модуля. Контрольные вопросы
↗
7.
Домашнее задание
↗
Права доступа (rwx)
5 уроков
1.
Вывод информации + команда chmod
↗
2.
Смена владельцев и групп
↗
3.
Специальные биты, права по умолчанию
↗
4.
Резюме модуля. Контрольные вопросы
↗
5.
Домашнее задание
↗
Важные инструменты терминала Linux
5 уроков
1.
Ссылки, iNodes
↗
2.
Потоки ввода-вывода
↗
3.
Конвейер обработки команд
↗
4.
Резюме модуля. Контрольные вопросы
↗
5.
Домашнее задание
↗
Инструменты для мониторинга
3 урока
1.
Утилита top (диспетчер задач)
↗
2.
Утилиты htop, ps, kill, systemctl
↗
3.
Резюме модуля. Контрольные вопросы
↗
Управление программным обеспечением
4 урока
1.
Утилита apt / apt-get
↗
2.
Утилиты dpkg, snap
↗
3.
Добавление репозитория
↗
4.
Резюме модуля. Контрольные вопросы
↗
Планировщик задач
3 урока
1.
Служба cron, утилита crontab
↗
2.
Настройка логов, задачи других пользователей
↗
3.
Резюме модуля. Контрольные вопросы
↗
Работа с фаерволом (утилита iptables)
3 урока
1.
Просмотр, добавление, удаление правил
↗
2.
Политики по умолчанию, сохранение правил
↗
3.
Резюме модуля. Контрольные вопросы
↗
Bash
4 урока
1.
История создания, запуск скриптов, оболочка
↗
2.
Синтаксис Bash: условия, ветвления
↗
3.
Синтаксис Bash: циклы, функции
↗
4.
Резюме модуля. Контрольные вопросы
↗
Работа с дисками
7 уроков
1.
Дисклеймер
↗
2.
Чтение информации
↗
3.
Монтирование диска
↗
4.
Общее файловое хранилище
↗
5.
Дополнительные диски "в облаках"
↗
6.
LVM (logical volume management)
↗
7.
Домашнее задание
↗
Docker
9 уроков
1.
Дисклеймер
↗
2.
Введение, установка
↗
3.
Список команд, первый контейнер
↗
4.
Контейнер с документацией
↗
5.
Веб-сервер Nginx в Docker
↗
6.
Dockerfile
↗
7.
Docker Compose
↗
8.
Удаление ресурсов
↗
9.
Домашнее задание
↗
Финальный тест
4 урока
1.
Тест. Часть 1
↗
2.
Тест. Часть 2
↗
3.
Тест. Часть 3
↗
4.
Тест. Часть 4
↗
Завершение
1 урок
1.
Обещанный бонус
↗