Курс Go-разработчик (джун -> мидл)
Курс Go-разработчик (джун -> мидл)
- Начало курса
-
25.03.2025
- Продолжительность
- 2,5 месяца (70+ ак. часов)
- Расписание
-
Вт 19:00 - 21:30Пт 19:00 - 21:20
Онлайн (12 мест) |
Единовременно 50000 | записаться |
В рассрочку / 10 мес5000 | записаться | |
Также доступна рассрочка на 4, 6 и 10 месяцев. |
Описание курса
Курс "Go-разработчик (джун -> мидл)" - это продвинутый курс, предназначенный для разработчиков всех уровней, от Junior до Senior, желающих глубоко изучить язык Go и его внутреннее устройство. Курс представляет из себя погружение в глубины языка программирования Go, раскрывая все его возможности и предназначен для разработчиков, готовых преодолеть границы начального или среднего уровня владения и взглянуть за горизонт Go, исследуя внутреннее строение и механизмы языка, а также узнавая, как максимально использовать его потенциал для создания высокопроизводительного и надежного программного обеспечения.
Проектная работа займет значительную часть курса, предоставляя каждому участнику возможность применить полученные знания на практике.
Вы будете создавать высокопроизводительные системы, микросервисы и оптимизировать реальные приложения, обеспечивая их надежность, безопасность и доступность.
На курсе мы подробно разберем:
- Архитектуру компьютеров и процессоров, чтобы вы могли понять, как ваш код взаимодействует на самом низком уровне.
- Внутреннее устройство Go, включая детали работы компилятора, горутин и планировщика, чтобы вы могли писать не только эффективный, но и оптимизированный под систему код.
- Продвинутые аспекты многопоточного программирования и синхронизации, давая вам инструменты для создания высокопроизводительных приложений.
- Профилирование и оптимизацию производительности, чтобы вы могли выявлять и исправлять узкие места в своих программах.
К завершению курс "Go-разработчик (джун -> мидл)" вы станете экспертом, способным анализировать и оптимизировать системы на всех уровнях, от низкоуровневого взаимодействия с железом до высокоуровневого проектирования распределенных приложений.
Кому подойдет курс:
- Junior Golang-разработчики. Вы не только закрепите основы, но и расширите свои знания до уровня, позволяющего решать сложные и интересные задачи. Здесь вы получите все необходимые инструменты и знания для глубокого погружения в мир профессиональной разработки на Go.
- Middle и Senior разработчики. Данный курс обеспечит вас продвинутыми знаниями и навыками, которые требуются для решения задач высокого уровня сложности. Он расширит ваш профессиональный арсенал методами и техниками, необходимыми для создания масштабируемых и эффективных приложений.
- Специалисты, заинтересованные в оптимизации производительности. Этот курс даст вам возможность стать настоящим экспертом в области высокопроизводительного кода.
Чему Вы научитесь:
- Разбираться в архитектуре компьютеров и понимать, как ваш код взаимодействует с железом.
- Эффективно использовать Go для создания высокопроизводительных приложений.
- Проектировать и реализовывать многопоточные приложения, управляя конкурентным доступом без сбоев и ошибок.
- Профилировать и оптимизировать приложения, идентифицировать и устранять узкие места.
- Развертывать и масштабировать приложения с использованием современных технологий и инструментов.
Стек технологий:
- Golang
- GoLand, Visual Studio Code
- Git, GitHub (контроль версий)
- gRPC, производительность на транспортном уровне.
- Go-Kit, для создания микросервисов в Go.
- pprof, для анализа производительности
- Библиотеки мониторинга, логгирования, сбора метрик
- PostgreSQL
- RESTful API Development, создание RESTful сервисов с помощью веб фреймворков
- Docker
- Kubernetes
- Передовые CI/CD инструменты
Проекты курса:
- Оптимизация существующих высоконагруженных приложений.
- Разработка микросервисного приложения в команде, включая проектирование, разработку, тестирование и развертывание.
- Создание распределенной системы мониторинга и логирования, для наблюдения за состоянием и поведением приложений в реальном времени.
Входные требования к участникам курса:
- Уверенные знания языка Go и опыт программирования на нем.
- Понимание основ многопоточного программирования.
- Понимание принципов объектно-ориентированного программирования.
- Понимание основ работы с веб-технологиями и базами данных.
- Готовность к интенсивной работе и глубокому погружению в сложные темы.
Программа
Модуль 1. Основы системного программирования
развернуть
Основы архитектуры компьютеров и процессоров
развернуть
Управление памятью и многозадачность
Модуль 2. Конкурентное программирование в Go
развернуть
Глубокое погружение в горутины
развернуть
Изучение внутреннего устройства и принципов работы горутин. Анализ механизмов работы планировщика и стратегий оптимизации. Управление ресурсами и утечки памяти.
развернуть
Примитивы синхронизации
развернуть
Продвинутые примитивы синхронизации
развернуть
Каналы и паттерны обработки данных
развернуть
Продвинутые концепции и паттерны конкурентного программирования в Go
развернуть
Тестирование и отладка конкурентного кода
Модуль 3. Разработка и архитектура высоконагруженных систем
развернуть
Проектирование микросервисов и интеграция
развернуть
Микросервисы vs монолит. Изучение стратегий и подходов к разделению монолитных приложений. Сравнение протоколов REST, gRPC, GraphQL и выбор подходящего протокола для микросервисов.
развернуть
Веб фреймворки на Go
развернуть
Основы работы с Gin. Основы работы с Echo. Сравнение с другими фреймворками.
развернуть
Архитектурные паттерны для высоконагруженных систем
развернуть
Оптимизация производительности и ресурсоемкости
Модуль 4. Безопасность и устойчивость систем
развернуть
Безопасность приложений на Go
развернуть
Методы и практики безопасного управления доступом, включая JWT и OAuth. Обзор основных уязвимостей веб-приложений и методов их предотвращения. Методы шифрования данных.
развернуть
Надежность и устойчивость систем
Модуль 5. Современные практики разработки
развернуть
Продвинутое тестирование в Go
развернуть
Разработка надежных тестовых сценариев. Mocking и Stubbing. Нагрузочное тестирование
развернуть
Подготовка запуска сервиса в Production
развернуть
Подведение итогов курса
Сертификат после обучения
По окончании обучения вы получите сертификат. Нас знают и ценят работодатели, поэтому сертификат станет вашим дополнительным преимуществом при трудоустройстве в IT-компанию.
Сертификат о прохождении курса мы отправим вам на почту. Вы легко сможете добавить ссылку на сертификат в резюме и подтвердить свой уровень подготовки.
Преподаватели
Андрей
Тимлид Go
Начиная с .NET разработки, через работу фуллстек-разработчиком, Андрей постоянно расширял свой технический арсенал, что в конечном итоге привело его к миру Go и участию в разработке масштабных high-load проектов.
На текущем этапе своей профессиональной деятельности Андрей руководит командой разработчиков и отвечает за разработку и поддержку более 50 микросервисов. Его проекты, ориентированы исключительно на международный рынок.
Кроме того, его преподавательская деятельность охватывает широкий круг тем — от основ программирования до разработки сложных распределенных систем, что делает его востребованным экспертом и наставником в мире IT.
Фото с очных занятий в СПб
Курсы программирования, тестирования, мобильных и веб-технологий от Level UP!
Учитесь с профессионалами в сфере IT-образования!