Go разработчик
Онлайн-курс
Практический курс с трудоустройством от Halyk Bank и JumysBar
Набор закрыт
20 августа - прием заявок
и отбор в 2 этапа
15 сентября - объявление результатов
20 сентября - начало обучения
Формат обучения
36 уроков на 12 недель, 3 онлайн урока в неделю с домашними заданиями
Для кого
Студенты 3-4 курсов
ВУЗов РК
Стоимость
Бесплатно

Этапы
Что такое Golang (GO)?
Go - это популярный язык программирования, разработанный в 2009 году компанией Google. Go сочетает в себе лаконичность и хорошую производительность, что позволяет создавать высоконагруженные приложения в меньшие сроки. Go уже теснит PHP, Ruby и Python за счёт высокой эффективности и понятного синтаксиса. На Go разрабатывают сложные веб-сервисы и облачные решения: на нём уже написаны Docker, Moby Project, система оркестрации Kubernetes.

Halyk Bank по итогам обучения отберет лучших кандидатов для оплачиваемой стажировки.


3 шага для начала карьеры Go разработчика
курс андроид
2. Пройти отбор
  1. Тестирование на знание логики и основ программирования
  2. Видео интервью - мотивация, почему Вы хотите попасть на этот курс.
3. Получить грант и начать обучение
15 сентября – объявление результатов, будут выбраны 30 участников
Стажировка в Halyk Bank
После успешного прохождения обучения будут отобраны лучшие выпускники для оплачиваемой стажировки и дальнейшего трудоустройства в банке.

До начала стажировки у вас будут 12 недель обучения — чтобы лучше ознакомиться с предстоящей работой, получить необходимые знания на внутренних мастер-классах и влиться в коллектив.

Программа курса по GO разработке

Введение в Golang
  • Проверка настройки рабочих станций студентов, Переменные, базовые типы данных, составные типы данных, Управляющие конструкции

  • Основы функций, Функция как объект первого класса, анонимные функции, Отложенное выполнение и обработка паники, GIT

  • Основы работы со структурами, Методы структур, Обработка ошибок

  • Пакеты и область видимости, Основы работы с интерфейсами, Пустой интерфейс, Композиция интерфейсов
Асинхронная работа
  • Методы обработки запросов и плюсы неблокирующего подхода, Горутины - легковесные процессы, Каналы - передаём данные между горутинами, Мультиплексирование каналов через оператор select

  • Таймеры и таймауты, Пакет context и отмена выполнения, Асинхронное получение данных

  • Пул воркеров, sync.Waitgroup - ожидание завершения работы, Ограничение по ресурсам

  • Ситуация гонки на примере конкурентной записи в map, sync.Mutex для синхронизации данных, sync.Atomic, sync.Pool
Работа с динамическими данными и производительность
  • Распаковываем JSON, Нюансы работы с JSON, Map vs Struct

  • Пакет reflect - работаем с динамикой в рантайме, Кодогенерация - программа пишет программу, XML

  • Система бенчмарков Go, Покрытие кода тестами
Основы HTTP
  • Что такое HTTP, Обслуживание HTTP-запросов, Работа с параметрами запросов, HTTP-запросы во внешние сервисы, Тестирование HTTP-запросов и ответов

  • Обслуживание статичных данных, Загрузка файлов формы, Inline-шаблоны и шаблоны из файлов, Вызов методов и функций из шаблонов

  • Профилирование через pprof, Поиск утечки горутин, Telegram-Bot
Анатомия веб-сервиса
  • Основные компоненты веб-сервиса, Основы middleware для HTTP, Роутеры, Обработка ошибок

  • Парсинг параметров в структуру и валидация, Фреймворк Echo

  • Стандартный пакет log, zap, logrus log + uber zero.log, Swagger, Производительный веб-сервер fasthttp
SQL и NoSQL
  • database/sql и mysql, sql-injection, GORM, sqlx, мок-тесты

  • NoSQL, Redis, Tarantool

  • Clickhouse

  • Message broker – RabbitMQ + kafka
Микросервисы
  • Docker, go mod, upper git

  • Формат сериализации protobuf, Делаем сервис на gRPC, Стриминг сообщений

  • Балансировка нагрузки, grpc-gateway - получаем доступ к grpc-gateway через HTTP
Управление и мониторинг сервиса
  • Локальный конфиг - flags, json, Удалённый конфиг, валидаторы

  • Зачем нужен мониторинг и что мониторить – Prometheus, ELK, Grafana

  • Alerts, go vet, gometalinter, линтеры
Auth week
  • Basic Auth, JWT, Oauth 2.0, auth-middleware

  • auth-service, keycloak, keys vault

  • Сессии. Stateful и stateless сессии. Подводные камни сессий на основе JWT.
Архитектура приложения, паттерны
Проектирование API + Архитектура приложения, паттерны
Неделя с примерами архитектур и технологий оркестрации
  • Оптимизация сборки докер-контейнера, многошаговая сборка, Распределенный трейсинг с Jaeger

  • K8s, Ci-cd, Graceful shutdown

  • Пример проекта, Будущее GO 2.0, GO SDK
Задай вопрос
Telegram WhatsApp
Задайте интересующий вас вопрос и мы свяжемся с вами
Напишите нам и мы свяжемся с вами в ближайшее время