[Слёрм] Go для инженеров. Тариф Standard [Всеволод Севостьянов, Тигран Ханагян]

450

Видеокурс по изучению языка Go!!!

Для кого:

— Администратор, который хочет автоматизировать процессы или начать программировать

— Разработчик, который выполняет функции инженера

— Хотите перейти на DevOps или обучаете команду и хотите повысить уровень администрирования

На курсе вас ждет:

Теория
открывается постепенно, предоставляется время на комфортное изучение в удобном режиме

Практика
задания для самостоятельной работы с большими сроками сдачи

Забота
кураторы помогут оптимально организовать процесс обучения и решить возникающие вопросы, а спикеры дадут обратную связь по заданиям

Итоговый проект
по окончании курса у вас будет итоговый проект, который можно приложить к резюме

Учиться проще, если вы:
— Знаете основы программирования и понимаете основные конструкции и подходы
— Владеете базовыми навыками администрирования Linux, умеете взаимодействовать с процессами, файлами и использовать прикладные протоколы передачи данных
— Имеете опыт работы с git
— Понимаете предназначения Ansible и модулей Ansible
— Желателен опыт работы с GitLab и GitLab CI
— Желательны базовые навыки автоматизации на Bash
Нескончаемо стремитесь автоматизировать ручной труд!

1. Введение

2. Что из себя представляет Go?
Знакомство с курсом
Знакомство со спикером
Цели курса
Как учиться онлайн?
Какова философия Go?
Для каких проектов он годится, а для каких – нет и почему?
Зачем Go нужен инженерам?

ЗАЧЕМ: Вы узнаете, зачем нужен язык Go, где его лучше применять. Рассмотрим основные недостатки, поймем, какие рабочие процессы можно упростить с помощью Go.

3. Основы Go
Переменные и их типы
Функции
Циклы, switch-case, if

ЗАЧЕМ: Научитесь группировать, агрегировать и работать с данными. Освоите разбивку кодов программы из большой функции на несколько маленьких, а также научитесь передавать данные из функции в функцию.

4. Погружаемся глубже в основы
Структуры
Интерфейсы
Обобщенное программирование и ООП в Golang
Garbage collector

ЗАЧЕМ: Подробно разберем, как Go подходит к реализации по объектно-ориентированному программированию (ООП).

5. Concurrency
Параллелизм и конкурентность. Что это такое и чем отличаются?
Треды vs горутины
Обработка ошибок
Базовые принципы синхронизации
WaitGroup
Каналы
Select
Разбор пакета context

ЗАЧЕМ: Научитесь отличать конкурентности от параллелизма, освоите правильную работу с конкурентностью в Go, стандартные подходы и концепции для работы с конкурентностью.

6. Go на практике
Go modules и структура проекта
Как работать с операционной системой?
Как работать с файлами и файловой системой?
Как работать с сетью в Golang?
Обзор протоколов и форматов
Как работать с базой данных?
Пакеты для http
Как писать тесты?
Как проверить качество кода?
Кросскомпиляция и build теги

ЗАЧЕМ: Научитесь оперировать стандартной библиотекой языка, создавать сложные программы на Go. Узнаете, что такое тесты, как именно они организованы и структурно работают. Научитесь запускать внешний процесс из Go.

7. Итоговый проект по блоку «Основы»
Время сдачи проекта – до 23 января

8. Работа с Docker из Go
Docker SDK для Go
Работаем с докером из Go
Практические советы для применения
Практика — пишем приложение, которое деплоит контейнер и тестируем его

ЗАЧЕМ: Поймёте, что такое API и как с ним работать, научитесь взаимодействовать с Docker из Go. Научитесь запускать контейнер и присоединяться к рабочему контейнеру. Определите характер взаимодействия в зависимости от рабочих задач.

9. Паттерны Kubernetes
Health probe/Liveness probe
Periodic job
Daemon service
Stateful service
Service discovery/Service mesh
Sidecar/Adapter
Controller/Operator

10. Операторы Kubernetes
Что такое оператор Kubernetes?
Как писать кастомные операторы?
Пишем кастомный оператор на Go

ЗАЧЕМ: Научитесь работать с кастомными операторами. Поймёте, зачем нужны паттерны Kubernetes.

11. Итоговый проект