21 марта стартует курс «Golang для инженеров»
Одна из ценностей специалиста - знания. Знания могут помочь сэкономить бизнесу деньги, дать пространство для новых исследований и свершений.
Сейчас запускается курс "Golang для инженеров", где будет рассказываться, как быстро и безопасно внедрять изменения в код, запускать новые продукты и поддерживать работу высоконагруженных сервисов, формат обучения - живой формат: онлайн-встречи со спикерами, обратная связь по домашним заданиям от ревьюеров и закрытый чат для участников.
Программа курса
Тема №1 ВведениеТема №2 Основы Golang
1.1. Знакомство с курсом
1.2. Как учиться онлайн
1.3. Установочная встреча
1.4. Как выполнять практику
1.5. Философия Go. Для каких проектов он годится, а для каких – нет и почему. Зачем Go нужен инженерам
2.1 Переменные и типы данных. Переменные и константы
2.2 Переменные и типы данных. Простые типы
2.3 Переменные и типы данных. Составные типы
2.4 Функции
2.5 Циклы, switch-case, if
2.6 Практика
2.7 Дополнительные материалы
ЗАЧЕМ: Узнаем, зачем нужен язык GO, где его лучше применять, рассмотрим основные недостатки, поймем, какие рабочие процессы можно упростить с помощью GO.
Установочная онлайн-встреча (21 марта в 19:00)
ЗАЧЕМ: Познакомимся со спикерами, узнаем о том, как будем проходить курс и определимся с целями.
Тема №3. Погружаемся глубже в основы
3.1. Структуры
3.2. Интерфейсы
3.3. Обобщенное программирование и ООП в Go
3.4. Garbage collector
3.5. Практика
3.6. Дополнительные материалы
ЗАЧЕМ: Подробно разберем, как GO подходит к реализации Объектно-Ориентированному Программированию (ООП) и узнаем, как обрабатывать и комбинировать ошибки GO.
Тема №4. Concurrency
4.1. Многозадачность
4.2. Горутины
4.3. Отработка ошибок
4.4. Каналы
4.5. Инструменты синхронизации
4.6. Практика
4.7. Дополнительные материалы
ЗАЧЕМ: Научимся отличать конкурентности от параллелизма, освоим правильную работу с конкурентностью в GO (стандартные подходы и концепции в GO для работы с конкурентностью)
Тема №5 GO на практике 1
5.1. Go modules и структура проекта
5.2. Работа с операционной системой
5.3. Работа с файлами и файловой системой
5.4. Работа с сетью в Golang
5.5 Обзор протоколов и форматов
ЗАЧЕМ: Научимся оперировать стандартной библиотекой языка, создавать сложные программы на GO. Разберем, как тесты работают структурно, поймем, что такое тест и как он организован. Научимся запускать внешний процесс из GO.
Тема №6. GO на практике 2
6.1. Как работать с базой данных
6.2. Пакеты для http
6.3. Как писать тесты
6.4. Проверка качества кода
6.5. Кросскомпиляция и build теги
6.6 Чек-лист итоги основного блока
ЗАЧЕМ: Научимся оперировать стандартной библиотекой языка, создавать сложные программы на GO. Разберем, как тесты структурно работают, поймем, что такое тести и как он организован. Научимся запускать внешний процесс из GO.
АМА-сессия + неформальная встреча (22 апреля в 19:00)
Онлайн-встреча со спикерами, подведение промежуточных итогов, ответы на вопросы.
Тема №7. Работа с Docker из Go
7.1. Docker SDK для Go
7.2. Работаем с докером из Go
7.3. Практические советы для применения
7.4. Практика - пишем приложение деплоящее контейнер и тестирующее его
ЗАЧЕМ: Поймём, что такое API и как с ним работать, научимся взаимодействовать с Docker из Go. Научимся запускать контейнер и присоединяться к рабочему контейнеру. Определим характер взаимодействия, исходя из рабочих задач.
Тема № 8. Паттерны Kubernetes
8.1. Health probe/Liveness probe
8.2. Periodic job
8.3. Daemon service
8.4. Stateful service
8.5. Service discovery/Service mesh
8.6. Sidecar/Adapter
8.7. Controller/Operator
ЗАЧЕМ: Научимся работать с кастомными операторами. Поймем, зачем нужны паттерны Kubernetes.
Тема № 9. Операторы Kubernetes
9.1. Что такое Kubernetes Operator
9.2. Назначение операторов
9.3. Состав оператора (контроллер, индексер и kube API)
9.4. CRDs ( cоздаем, заполняем переменные, генерим CRDs)
9.5. Состав контроллера
9.6. Пишем свой контроллер для деплоймента
9.7. Пишем оператор с помощью kubebuilder
9.8. Собираем проект для ручных тестов в кластере
9.9. Обзор ginkgo (пишем тесты), обзор основных фреймворков для создания операторов, kubeclient, готового http - сервера.
9.10. Пишем тест для валидации контроллера
9.11. Собираем деплой
АМА-сессия + выпускной (16 мая в 19:00)
Заключительная встреча со спикерами и командой, подведение итогов, ответы на вопросы.
Спикеры курса
Всеволод Севостьянов
Tech Lead в проекте vene.io
Подробнее о спикере
– Более 10 лет опыта разработки на разных языках (php, java, Go)
– Архитектор и разработчик решений для обеспечения очень высокой пропускной способности (до 30 тысяч запросов в секунду на реальных бизнес кейсах)
– Tech Advisor команды DevOps
– Специализируется на облачных решениях
– Спикер на профильных митапах и конференциях
Тигран Ханагян
Team Lead & Backend Developer в Citymobil
Подробнее о спикере
– Более 7 лет опыта разработки на разных языках (python, php, Go)
– Архитектор высоконагруженных сервисов на Go с нуля, один из которых - сервис программы лояльности в city-mobil.ru
– Автор статей в публичных каналах
– Спикер на профильных митапах и конференциях
Длительность курса: 3,5 месяца, старт 21 марта.
Посмотреть программу и записаться: https://slurm.club/34OsUyI