Golang для инженеров от Слёрма
Вы научитесь
Программа курса
Вы будете проходить темы последовательно: каждую неделю будет открываться доступ к следующему модулю. В каждом из них – теоретические уроки и практические задания. Практику можно сдавать в период до двух недель. Вы получите обратную связь от экспертов, программирующих на языке Go. Также вы сможете участвовать на онлайн-встречах с экспертами.
Основы Golang
Познакомитесь с языком Go и способах его применения. Узнаете, в каких задачах он отлично подойдет и сможет упростить рабочие процессы, а в каких проявятся его недостатки. Рассмотрите Golang и его полезность для инженеров. Поймете, как составляется описание задач на микросервисную архитектуру. Начнете изучать язык с рассмотрения констант. Поймете, какие типы данных называют простыми. Также получите представление о составных типах. Следующим этапом изучения будет разбор основных функций. Исследуете циклы и ключевые операторы для них. Чтобы запомнить новую информацию, решите задания на пройденные темы.
Рассмотрите Golang и его полезность для инженеров. Поймете, как составляется описание задач на микросервисную архитектуру. Начнете изучать язык с рассмотрения констант. Поймете, какие типы данных называют простыми. Также получите представление о составных типах. Следующим этапом изучения будет разбор основных функций. Исследуете циклы и ключевые операторы для них. Чтобы запомнить новую информацию, решите задания на пройденные темы.
Рассмотрите Golang и его полезность для инженеров.
Поймете, как составляется описание задач на микросервисную архитектуру.
Начнете изучать язык с рассмотрения констант. Поймете, какие типы данных называют простыми. Также получите представление о составных типах. Следующим этапом изучения будет разбор основных функций. Исследуете циклы и ключевые операторы для них. Чтобы запомнить новую информацию, решите задания на пройденные темы.
Начнете изучать язык с рассмотрения констант.
Поймете, какие типы данных называют простыми.
Также получите представление о составных типах.
Следующим этапом изучения будет разбор основных функций.
Исследуете циклы и ключевые операторы для них.
Чтобы запомнить новую информацию, решите задания на пройденные темы.
Установочная встреча со спикерами
Познакомитесь с преподавателями и их опытом работы с языком программирования Go. Вы узнаете о методике обучения на курсе Слёрм, о формальных сроках и дедлайнах, а также о способе взаимодействия с кураторами, ревьюерами и преподавателями.
Погружаемся глубже в основы
Получите представление о связи языка Go и объектно-ориентированного программирования. Поймете, как находить ошибки в коде и оперативно работать с ними. Рассмотрите структуры Golang. Научитесь работать с интерфейсами. Получите представление об обобщенном программировании и ООП. Изучите инструмент для выявления ошибок.
Рассмотрите структуры Golang.
Научитесь работать с интерфейсами.
Получите представление об обобщенном программировании и ООП.
Изучите инструмент для выявления ошибок.
Concurrency
Рассмотрите понятия конкурентности и параллелизма. Научитесь работать с конкурентностью в Go при помощи стандартных подходов и уникальных для этого языка решений. Познакомитесь с новыми понятиями из языка Go и сравните их. Поймете, чем треды отличаются от горутины. Научитесь обрабатывать и исправлять ошибки в коде. Получите представление о базовом принципе синхронизации. Узнаете, как дождаться завершения всех горутин при помощи утилиты WaitGroup. Поймете, как происходит коммуникация между горутинами. Познакомитесь с оператором Select. Узнаете, что такое context, и как его использовать для остановки приложений.
Познакомитесь с новыми понятиями из языка Go и сравните их.
Поймете, чем треды отличаются от горутины.
Научитесь обрабатывать и исправлять ошибки в коде.
Получите представление о базовом принципе синхронизации.
Узнаете, как дождаться завершения всех горутин при помощи утилиты WaitGroup.
Поймете, как происходит коммуникация между горутинами.
Познакомитесь с оператором Select.
Узнаете, что такое context, и как его использовать для остановки приложений.
GO на практике. Часть 1
Перейдете к изучению практикоориентированных тем, например, стандартной библиотеки языка. Научитесь создавать сложные программы и проводить тестирование. Познакомитесь с системой модулей в контексте языка Go. На основе полученных знаний сможете работать с операционной системой. Получите навык работы с файлами. Также рассмотрите варианты настойки сети при помощи Golang. Разберете существующие протоколы и форматы на практике.
Познакомитесь с системой модулей в контексте языка Go.
На основе полученных знаний сможете работать с операционной системой.
Получите навык работы с файлами.
Также рассмотрите варианты настойки сети при помощи Golang.
Разберете существующие протоколы и форматы на практике.
GO на практике. Часть 2
Продолжите изучение практических функций языка программирования и наладите взаимодействие GO с внешними сервисами и процессами. Поймете, как искать ошибки в интегрированных системах. Познакомитесь с принципами работы с базами данных. Научитесь формировать пакеты для http. На практике выполните проверку кода на предмет качества. Узнаете, как писать тесты для поиска ошибок в коде. Сможете выполнить кросскомпиляцию и настраивать build теги.
Познакомитесь с принципами работы с базами данных.
Научитесь формировать пакеты для http.
На практике выполните проверку кода на предмет качества.
Узнаете, как писать тесты для поиска ошибок в коде.
Сможете выполнить кросскомпиляцию и настраивать build теги.
Работа с docker из Go
Рассмотрите API и методы работы с ним. Получите навыки налаживания взаимодействия Docker из GO. Сможете запускать контейнеры и присоединять их к существующим. Решите соответсвующие теме задачи. Познакомитесь с возможностями Docker для Go. Узнаете, для чего используется набор инструментов SDK. Получите представление об API докера. Перейдете к пошаговой работе с Docker. Сперва научить скачивать простой образ. Перейдете к теме обработки образа с авторизацией. Узнаете, как показать образ. Сможете сохранить и читать образ из файла. Следующим шагом будет запуск контейнера. Также научитесь делать это в фоновом режиме. Рассмотрите варианты вывода уже запущенных контейнеров. Узнаете, как остановить начатый процесс. Изучите комаду docker commit. Получите представление о том, где хранится статистика по работе с Docker. Сможете самостоятельно создать сеть. На практике попробуете распознать сигналы системы.
Познакомитесь с возможностями Docker для Go.
Узнаете, для чего используется набор инструментов SDK.
Получите представление об API докера.
Перейдете к пошаговой работе с Docker. Сперва научить скачивать простой образ.
Перейдете к теме обработки образа с авторизацией.
Узнаете, как показать образ.
Сможете сохранить и читать образ из файла.
Следующим шагом будет запуск контейнера.
Также научитесь делать это в фоновом режиме.
Рассмотрите варианты вывода уже запущенных контейнеров.
Узнаете, как остановить начатый процесс.
Изучите комаду docker commit.
Получите представление о том, где хранится статистика по работе с Docker.
Сможете самостоятельно создать сеть.
На практике попробуете распознать сигналы системы.
Встреча по пройденным модулям
Вместе со спикерами разберете пройденные темы и зададите вопросы по теории или домашним заданиям. Вместе с экспертами выполните практическую работу и получите советы по написанию кода.
Паттерны Kubernetes
Перейдете к работе с Kubernetes. Изучите структуру и паттерны. Познакомитесь с такими понятиями, как Probes, Jobs, DaemonSet. Выполните практическую работу и закрепите пройденные темы. Узнаете, где искать Kubernetes. Получите представление о паттернах. Узнаете, для чего используются Probes в k8s. Поймете, как управлять пакетными заданиями. Узнаете, как обновить данные на каждом рабочем узле при помощи DaemonSet. Изучите иной контроллер для управления приложениями. Рассмотрите подход Service Mesh для взаимодействия между микросервисами. Узнаете, зачем настраивать дополнительный контейнер к основному. Поймете, как следить за расходом ресурсов, используя под Operator.
Узнаете, где искать Kubernetes.
Получите представление о паттернах.
Узнаете, для чего используются Probes в k8s.
Поймете, как управлять пакетными заданиями.
Узнаете, как обновить данные на каждом рабочем узле при помощи DaemonSet.
Изучите иной контроллер для управления приложениями.
Рассмотрите подход Service Mesh для взаимодействия между микросервисами.
Узнаете, зачем настраивать дополнительный контейнер к основному.
Поймете, как следить за расходом ресурсов, используя под Operator.
Операторы Kubernetes
Продолжите изучать Kubernetes в связке с кастомными операторами. Изучите, из чего состоит контроллер и как провести его деплой. Напишите собственный оператор и создадите проект. Рассмотрите основные операторы Kubernetes. Узнаете, из каких элементов состоит контроллер. Рассмотрите клиентскую библиотеку kubeclient. Научитесь выбирать лучший вариант деплоя при помощи контроллера. Изучите фреймворки для создания новых операторов. На собственном опыте напишите оператор. Поймете, как устанавливать и создавать проект в k8s. Посмотрите, какие настройки заданы по умолчанию. Поймете, как вносить любые данные при помощи CRDs. Попрактикуетесь в написании кода контроллера. Продолжите самостоятельную работу по сборке проекта для ручных тестов. Напишите тесты с использованием ginkgo. Последним этапом в этой теме будет сборка деплоя.
Рассмотрите основные операторы Kubernetes.
Узнаете, из каких элементов состоит контроллер.
Рассмотрите клиентскую библиотеку kubeclient.
Научитесь выбирать лучший вариант деплоя при помощи контроллера.
Изучите фреймворки для создания новых операторов.
На собственном опыте напишите оператор.
Поймете, как устанавливать и создавать проект в k8s.
Посмотрите, какие настройки заданы по умолчанию.
Поймете, как вносить любые данные при помощи CRDs.
Попрактикуетесь в написании кода контроллера.
Продолжите самостоятельную работу по сборке проекта для ручных тестов.
Напишите тесты с использованием ginkgo.
Последним этапом в этой теме будет сборка деплоя.
Встреча по пройденным модулям
Последняя встреча со спикерами пройдет перед написанием финальной работы курса. Вы сможете уточнить все неясные моменты, расспросить об опыте работы с Go и дополнительных источниках по теории и практике. Отметите свой выпускной.
Итоговый проект
В конце обучения вы выполните проект по разработке системы по сбору состояний сервисов. Наладите корректную работу динамической базы данных и сможете пользоваться этим инструментом.