Содержание курса
1. ШОК! Обучение Go c 0 до ПРО 100 проектов за 100 дней с ИИ
21 урок
28
17
0м
0
Открытый
1.1
День 1:Введение.Настройка окружения и программа "Hello, World!".
↗
3
1
-
0
Открытый
1.2
День 2:Синтаксис. Пакеты, импорты, комментарии. Изучаем fmt.
↗
2
1
-
0
Закрытый
1.3
День 3:Работа с числами.Арифметические операции.
↗
2
1
-
0
Закрытый
1.4
День 4:Работа со строками.Создание,конкатенация,получение длины.
↗
2
1
-
0
Закрытый
1.5
День 5:Константы и их объявление.Ввод/вывод.Данные из консоли.
↗
1
1
-
0
Закрытый
1.6
День 6:Обзор основных концепций.Повторение пройденного материала
↗
1
1
-
0
Закрытый
1.7
День 7:Объявление переменных с var и :=.Разбираем основные типы.
↗
2
1
-
0
Закрытый
1.8
День 8:Код с условной логикой.Операторы if/else,else if и switch
↗
1
1
-
0
Закрытый
1.9
День 9:Формы цикла for: классический, for range и for как while.
↗
2
1
-
0
Закрытый
1.10
День 10:Решаем задачи на закрепление циклов и ветвлений.
↗
1
1
-
0
Закрытый
1.11
День 11:Массивы с фиксированным размером, их плюсы и минусы.
↗
1
1
-
0
Закрытый
1.12
День 12:Срезы как обертка над массивами.Учимся создавать срезы.
↗
1
1
-
0
Закрытый
1.13
День 13:Функция append для добавления.Получение "подсрезов".
↗
1
0
-
0
Закрытый
1.14
День 14:Задачи на срезы:переворот и удаление элемента по индексу
↗
1
0
-
0
Закрытый
1.15
День 15:Карты для хранения "ключ-значение".Управление элементами
↗
1
1
-
0
Закрытый
1.16
День 16:Пишем программу подсчета частоты слов,используя карту.
↗
1
1
-
0
Закрытый
1.17
День 17:Объявление функций,их параметры и получение значений.
↗
1
0
-
0
Закрытый
1.18
День 18:Разбираем возможность функций возвращать значения.
↗
1
1
-
0
Закрытый
1.19
День 19:Как Go организует код в пакеты. Создаем go.mod файл.
↗
1
1
-
0
Закрытый
1.20
День 20:Создаем проект.Выносим часть логики, импортируем в main.
↗
1
0
-
0
Закрытый
1.21
День 21:Повторение тем,пишем общую программу для закрепления.
↗
1
1
-
0
2. Продвинутый Go
16 уроков
17
15
0м
0
Закрытый
2.1
День 22:Структуры как способ создания собственных типов данных.
↗
1
1
-
0
Закрытый
2.2
День 23:Создание методов путем навешивания функций на структуры.
↗
1
1
-
0
Закрытый
2.3
День 24:Эмбеддинг одной структуры в другую для композиции.
↗
1
1
-
0
Закрытый
2.4
День 25:Создаем несколько структур для моделирования сущностей.
↗
1
1
-
0
Закрытый
2.5
День 26:Концепция указателей. Знакомимся с операторами & и *.
↗
1
1
-
0
Закрытый
2.6
День 27:Разница между передачей копии и передачей указателя.
↗
1
1
-
0
Закрытый
2.7
День 28:Пишем функцию принимающую указатель на структуру.
↗
1
1
-
0
Закрытый
2.8
День 29:Интерфейсы как контракты поведения. Объявляем свой.
↗
1
1
-
0
Закрытый
2.9
День 30:Создаем структуры реализующие интерфейс и пишем функцию.
↗
1
1
-
0
Закрытый
2.10
День 31:Решаем задачу, где применение интерфейса упрощает код.
↗
2
0
-
0
Закрытый
2.11
День 32:Встроенный тип error.Возвращаем ошибки из функций.
↗
1
1
-
0
Закрытый
2.12
День 33:Создаем кастомные ошибки с помощью errors.New и fmt.
↗
1
1
-
0
Закрытый
2.13
День 34:Библиотека testing.Структура тестового файла и функции.
↗
1
1
-
0
Закрытый
2.14
День 35:Пишем свой unit-тест для простой функции и запускаем.
↗
1
1
-
0
Закрытый
2.15
День 36:Покрываем написанный ранее код тестами.
↗
1
1
-
0
Закрытый
2.16
День 37:Повторяем указатели, интерфейсы и тесты.
↗
1
1
-
0
3. Основы Backend
12 уроков
5
3
0м
0
Закрытый
3.1
День 38:Клиент-серверная модель и протокол HTTP.DevToos браузер.
↗
1
1
-
0
Закрытый
3.2
День 39:Основные HTTP-методы и самые частые статус-коды.
↗
1
0
-
0
Закрытый
3.3
День 40:Синтаксис JSON.Учимся читать и понимать JSON-структуры.
↗
1
1
-
0
Закрытый
3.4
День 41:Json.Marshal.Код для преобразования Go в JSON-строку.
↗
1
1
-
0
Закрытый
3.5
День 42:Json.Unmarshal.Код для парсинга JSON-строки в Go.
↗
1
0
-
0
Закрытый
3.6
День 43:Задача на кодирование и декодирование JSON-структур.
↗
0
0
-
0
Закрытый
3.7
День 44:Пакет net/http для запуска простого веб-сервера.
↗
0
0
-
0
Закрытый
3.8
День 45:Пишем handler и регистрируем ее с http.HandleFunc.
↗
0
0
-
0
Закрытый
3.9
День 46:Обрабатываем URL-пути, направляя их на разные функции.
↗
0
0
-
0
Закрытый
3.10
День 47:Создаем сервер с несколькими маршрутами и тестируем их.
↗
0
0
-
0
Закрытый
3.11
День 48:Ветки в Git. Создаем ветку для фичи и сливаем ее в main.
↗
0
0
-
0
Закрытый
3.12
День 49:Пишем небольшой сервер, который умеет работать с JSON.
↗
0
0
-
0
4. Базы данных
11 уроков
0
0
0м
0
Закрытый
4.1
День 50:Синтаксис CREATE TABLE.Создаем таблицу в SQL-клиенте.
↗
0
0
-
0
Закрытый
4.2
День 51:Изучаем запросы INSERT INTO для данных в таблицу.
↗
0
0
-
0
Закрытый
4.3
День 52:SELECT. Выбираем данные по условию WHERE и сортируем их.
↗
0
0
-
0
Закрытый
4.4
День 53:Синтаксис UPDATE для изменения записей в таблице.
↗
0
0
-
0
Закрытый
4.5
День 54:Синтаксис DELETE для удаления записей из таблицы.
↗
0
0
-
0
Закрытый
4.6
День 55:Разбираем как связывать таблицы с помощью JOIN.
↗
0
0
-
0
Закрытый
4.7
День 56:Скачиваем PostgreSQL и графический клиент pgAdmin.
↗
0
0
-
0
Закрытый
4.8
День 57:Пакет database/sql.Код подключения к базе PostgreSQL.
↗
0
0
-
0
Закрытый
4.9
День 58:SELECT запросы с помощью db.Query() и db.QueryRow().
↗
0
0
-
0
Закрытый
4.10
День 59:INSERT, UPDATE, DELETE запросы с помощью db.Exec().
↗
0
0
-
0
Закрытый
4.11
День 60:Набор функций для всех CRUD-операций для одной таблицы.
↗
0
0
-
0
5. Проект: REST API
12 уроков
0
0
0м
0
Закрытый
5.1
День 61:Проектируем API: описываем модели данных и и эндпоинты.
↗
0
0
-
0
Закрытый
5.2
День 62:Структура файлов для проекта, инициализируем go.mod.
↗
0
0
-
0
Закрытый
5.3
День 63:Обработчик для POST запроса.Декодируем JSON из тела.
↗
0
0
-
0
Закрытый
5.4
День 64:Обработчик для GET /items/{id}.ID из URL, SELECT запрос.
↗
0
0
-
0
Закрытый
5.5
День 65:Обработчик для GET/items.SELECT всех записей из БД.
↗
0
0
-
0
Закрытый
5.6
День 66:Обработчик для PUT/items/{id}.UPDATE запрос в БД.
↗
0
0
-
0
Закрытый
5.7
День 67:Обработчик для DELETE/items/{id}.Читаем ID.
↗
0
0
-
0
Закрытый
5.8
День 68:Добавляем в обработчики проверку входящих данных.
↗
0
0
-
0
Закрытый
5.9
День 69:Проводим рефакторинг:выносим работу с БД в репозиторий.
↗
0
0
-
0
Закрытый
5.10
День 70:Пишем unit-тесты для API, используя httptest.
↗
0
0
-
0
Закрытый
5.11
День 71:Практикуемся в решении конфликтов слияния в Git.
↗
0
0
-
0
Закрытый
5.12
День 72:Проходим по проекту, исправляем недочеты,комментируем.
↗
0
0
-
0
6. Продвинутый Backend
14 уроков
0
0
0м
0
Закрытый
6.1
День 73:Выносим настройки в переменные окружения.
↗
0
0
-
0
Закрытый
6.2
День 74:Концепция Middleware.Логгер, который выводит информацию.
↗
0
0
-
0
Закрытый
6.3
День 75:Пишем Middleware, которое возвращает ошибку 500.
↗
0
0
-
0
Закрытый
6.4
День 76:Пакет context для управления жизненным циклом запроса.
↗
0
0
-
0
Закрытый
6.5
День 77:Интегрируем context в API для управления таймаутами.
↗
0
0
-
0
Закрытый
6.6
День 78:Основы конкурентности в Go.Запускаем простые функции.
↗
0
0
-
0
Закрытый
6.7
День 79:Изучаем chan как безопасное общения между горутинами.
↗
0
0
-
0
Закрытый
6.8
День 80:Паттерн "Worker Pool" для ограничения количества задач.
↗
0
0
-
0
Закрытый
6.9
День 81:Добавляем в API фоновую задачу.
↗
0
0
-
0
Закрытый
6.10
День 82:Контейнеризация и Docker, какие проблемы он решает.
↗
0
0
-
0
Закрытый
6.11
День 83:Многоступенчатый Dockerfile для компиляции и упаковки Go
↗
0
0
-
0
Закрытый
6.12
День 84:Собираем Docker-образ и запускаем контейнер из него.
↗
0
0
-
0
Закрытый
6.13
День 85:Пишем docker-compose.yml файл.
↗
0
0
-
0
Закрытый
6.14
День 86:Проходимся по всем темам и закрепляем материал.
↗
0
0
-
0
7. Итоги и развитие
12 уроков
0
0
0м
0
Закрытый
7.1
День 87:Изучаем и заменяем стандартный роутер на более мощный.
↗
0
0
-
0
Закрытый
7.2
День 88:Sqlc для генерации безопасного Go-кода из SQL-запроса.
↗
0
0
-
0
Закрытый
7.3
День 89:Настраиваем простой CI/CD пайплайн на GitHub Actions.
↗
0
0
-
0
Закрытый
7.4
День 90:Введение в gRPC как высокопроизводительную альтернативу.
↗
0
0
-
0
Закрытый
7.5
День 91:Встроенные инструменты для профилирования Go-приложений.
↗
0
0
-
0
Закрытый
7.6
День 92:Внедряем в проект структурированное логирование.
↗
0
0
-
0
Закрытый
7.7
День 93:Продумываем идею для итогового проекта.
↗
0
0
-
0
Закрытый
7.8
День 94:Пишем код для своего проекта, настраиваем окружение.
↗
0
0
-
0
Закрытый
7.9
День 95: Продолжаем активную разработку своего проекта.
↗
0
0
-
0
Закрытый
7.10
День 96:Интегрируем в свой проект базу данных и Docker.
↗
0
0
-
0
Закрытый
7.11
День 97:Пишем тесты для своего проекта.
↗
0
0
-
0
Закрытый
7.12
День 98:Оформляем проект на GitHub,пишем README.md.
↗
0
0
-
0