Курс посвящен основам языка Go. Целью курса является изучение базовых концепций и синтаксиса языка Go.
- Курс включает в себя рассмотрение синтаксиса языка Go, а также базовых инструментов стандартной библиотеки Go для создания простейших CLI и веб-приложений.
- Курс основан на опыте практического применения языка Go в современной backend разработке.
- Курс включает в себя не только практическую, но и теоретическую часть, и таким образом не сводится к простому «сборнику рецептов».
- Курс читается на базе ОС Linux. Обучение проводится на примере популярнейшего дистрибутива Ubuntu. Однако большинство технологий, изучаемых на курсе, могут применяться и на базе Windows.
- Курс включает в себя проектирование REST API при помощи языка Go, а также освоение базовых инструментов разработчика в процессе создания микросервиса.
Вы научитесь:
- использовать язык Go для создания как консольных утилит, так и простейших макетов веб-сервисов.
Специалисты, обладающие этими знаниями и навыками, в настоящее время крайне востребованы.
Требуемая подготовка:
- Успешное окончание курса «Программирование на языке Python. Уровень 1. Базовый курс»
Программа курса (уровень 1)
Модуль 1. Основы языка Go
- Краткая история языка и цели создания
- Настройка окружения и GOPATH
- Базовые типы данных и типизация
- Практикум
Модуль 2. Управляющие конструкции
- Условный оператор
- Оператор множественного выбора
- Циклы в Go
- Практикум
Модуль 3. Функции и паника
- Явные функции
- Анонимные функции
- Замыкания
- Отложенный вызов
- Паника и обработка паники
- Практикум
Модуль 4. Структуры, методы и интерфейсы
- Основы структур
- Создание структурных методов
- Интерфейсы
- Реализация ООП в Go
- Пакеты
- Практикум
Модуль 5. Многопроцессорное программирование
- Каналы и пайплайны
- Контекст, таймер, таймаут
- Мьютексы и состояние гонки
- Практикум
Модуль 6. Динамические данные и тестирование
- Основы работы с JSON/YML
- Рефлексия
- Декомпозиция кода
- Генерация кода
- Профилирование
- Модульные тесты и покрытие тестами
- Практикум
Модуль 7. Основы работы с HTTP
- Идея HTTP
- Пакет net
- Обработка HTTP запросов
- Тестирование HTTP запросов
- Шаблоны и шаблонизация
- Трассировка сервиса
- Практикум
Программа курса (уровень 2)
Модуль 1. HTTP и REST
- HTTP как протокол
- Архитектура REST
- Идея API
- Микросервисы
- Преимущества микросервисов
Модуль 2. Простейшее REST API
- Создание прототипа микросервиса
- Формирование url адресов
- Структурирование запросов
- Тестирование и Postman
- Практикум
Модуль 3. RESTful подход к проектированию
- RESTful в Go
- Настройка окружения
- Метод TFD (test first design)
- Аутентификация
- Практикум
Модуль 4. Взаимодействие с базами данных
- Основы SQL
- Рассмотрение СУБД на примере SQLite
- Реализация CRUD в контексте API
- Рефакторинг
- Практикум
Модуль 5. Оптимизация хранилищ и использование ORM
- Знакомство с Gorm
- Определение моделей и ресурсов
- Postman: создание тестовых окружений и сценариев тестирования
- Реализация моделей через Gorm
- Практикум
Модуль 6. Перенос приложения на удаленный сервер
- Идея облачных платформ
- Знакомство с Heroku
- Перенос приложения на Heroku
- Postman и удаленное тестирование микросервиса
- Подключение PostgreSQL
- Документирование и публикация проекта










