8 812 320 13 03
  • Новости
  • Расписание
  • Курсы
  • Организациям
  • Контакты
  • Перезвоните мне

    Курс Go-разработчик (Junior)

    Курс Go-разработчик (Junior)

    Курс Go-разработчик (Junior)
    Начало курса
    18.06.2024
    Продолжительность
    3 месяца (80 ак. часов)
    Расписание
    Вт 19:00 - 21:30
    Пт 19:00 - 21:30
    Онлайн
    (12 мест)
    Единовременно 45500 записаться
    В расроку / мес15500 записаться

    Описание курса

    Курс "Go-разработчик. Старт" нацелен на интенсивное изучение необходимого минимума для разработчика уровня Junior.  Концепция курса выстроена таким образом, что за короткий срок студенту предстоит научиться писать “коммерческий” код и изучить подходы к разработке, применяемые в большинстве IT компаний. 


    На курсе мы подробно разберем:

    • Работу с системами управления версиями Git и GitHub
    • Принципы объектно-ориентированного программирования
    • Применение баз данных и SQL
    • Разработку веб-приложений
    • Методы тестирования и весь внутренний инструментарий Go
    • Способы деплоймента проектов на Go.
    В процессе обучения мы будем применять полученные знания на практике, выполняя задания разной степени сложности, от базовых упражнений до разработки полноценных проектов.


    Кому подойдёт курс:

    • Всем, кто решил с нуля стать разработчиком на Go. Если вы никогда не программировали, но горите желанием начать, и выбрали для этого Go, тогда этот курс станет для вас прочной основой и отправной точкой в IT. 
    • Всем, кто уже имеет базовые навыки в программировании. Вы уже знаете основы Go или другие языки программирования и хотите расширить свои знания, перейдя на Go как на язык с высоким потенциалом для разработки современных приложений. Этот курс поможет вам быстро адаптироваться к новому языку, углубить понимание продвинутых концепций программирования и научиться применять их на практике.
    • Специалистам, желающим переквалифицироваться. Если вы уже имеете опыт работы в IT в другой сфере, но решили сменить профессию и освоить Go. Наш курс обеспечит вам быструю и эффективную смену направления деятельности.

    В результате прохождения курса Вы:

    • Освоите программирование на Go с нуля до Junior уровня
    • Научитесь управлять данными: переменные, типы данных, управляющие конструкции
    • Изучите создание и использование функций и структур данных
    • Освоите ООП на Go: интерфейсы, структуры, наследование
    • Научитесь работе с файлами, базами данных, выполнению SQL-запросов
    • Овладеете разработкой веб-приложений и API, используя различные фреймворки
    • Познакомитесь с тестированием и отладкой кода
    • Научитесь разворачивать свои проекты
    • Освоите базовые навыки DevOps.

    а, также:

    • Научимся применять конкурентность в Go: горутины и каналы
    • Поймём, что такое микросервисная архитектура и научимся правильно проектировать приложения
    • Изучим основы безопасности веб-приложений

    Стек технологий курса:

    • Golang
    • Git, GitHub 
    • GoLand / Visual Studio Code
    • Gin для веб-разработки
    • Gorilla Mux для маршрутизации и работы с HTTP-запросами
    • GORM для работы с базами данных
    • Встроенные инструменты Go для тестирования
    • PostgreSQL / MongoDB
    • RESTful API 
    • JWT Authentication для аутентификации и авторизации

    Практика и проекты:

    Процессе обучения мы сделаем следующие проекты:
    • API аутентификации и авторизации
    • Чат-сервис с использованием WebSockets
    • Сервис для мониторинга и анализа логов
    • Сервис уведомлений
    • Микросервисное приложение "Система обработки платежей"

    Входные требования к участникам курса:

    • Уверенные навыки работы на компьютере
    • Готовность инвестировать время в обучение и практику
    • Желание погрузиться в изучение Go и программирования
    • Способность к аналитическому мышлению и решению проблем

    Программа

    Модуль 1. Введение в Golang

    развернуть

    Введение в Golang и настройка среды разработки

    • Знакомство с курсом и языком Go.
    • История создания Go и его место среди других языков программирования.
    • Установка Go и настройка рабочего окружения.
    • Обзор роадмеп по изучению языка Go.
    развернуть

    Базовые типы данных и управляющие структуры

    • Процесс компиляции программы.
    • Работа с Makefile.
    • Типы данных и переменные.
    • Управляющие конструкции
    Функции и пакеты: объявление функций, использование стандартных пакетов
    • Создание и использование собственных функций.
    • Пакеты в Go: импорт и экспорт.
    • Область видимости и организация кода.
    • Анонимные функции и замыкания.
    развернуть

    Обработка ошибок и логирование

    • Способы обработки ошибок
    • Defer, panic и recover.
    • Инструменты логирования.
    • Введение в Git и GitHub.
    развернуть

    Работа с файлами и директориями

    • Особенности работы с файлами в Golang.
    • Алгоритм работы с файлами и директориями.
    • Механизм обработки ошибок при работе с файлами
    • Работа с файлами/tcp соединениями

    Модуль 2. Структуры данных и ООП

    развернуть

    Структуры данных

    развернуть

    Работа с базовыми и составными типами данных. Использование массивов, срезов и карт. Работа со стеками и очередями

    развернуть

    ООП в Go: структуры и методы

    • Определение и использование структур.
    • Определение методов для структур.
    • Встраивание типов и анонимные структуры.
    • Использование указателей в методах.
    развернуть

    ООП в Go: полиморфизм и композиция

    • Определение и использование интерфейсов.
    • Полиморфизм и динамическая диспетчеризация методов.
    • Примеры полиморфного поведения в Go.
    • Встраивание интерфейсов и композиция.
    развернуть

    ООП: продвинутые темы

    • Базовые концепции программирования: KISS, DRY, SOLID.
    • Работа с дженериками в Go.
    • Примеры проектирования приложений с ООП подходом.

    Модуль 3. Разработка веб-приложений на Go

    развернуть

    RESTful API на Go

    развернуть

    Обзор архитектуры RESTful API. Валидация данных и обработка ошибок. Маршрутизация и контроллеры. Middleware и обработка ошибок. 

    развернуть

    Веб фреймворки на Go

    развернуть

    Основы работы с Gin. Основы работы с Echo. Сравнение с другими фреймворками.

    развернуть

    Основы тестирования в Go

    • Введение в тестирование: юнит и интеграционные тесты.
    • Использование пакета testing и создание тестов.
    • Мокирование и использование библиотек для тестирования.
    • Нагрузочное тестирование и тестирование производительности.

    Модуль 4. Работа с базами данных

    развернуть

    Основы SQL и баз данных

    развернуть

    Реляционные и нереляционные базы данных. Применение SQL и NoSQL баз данных. Язык запросов. Создание таблиц и базовые SQL операции. Концепции ACID 

    развернуть

    Использование баз данных в Go

    • Подключение к БД с помощью docker compose и DBeaver.
    • Использование пакета database/sql.
    • CRUD операции с БД.
    • Ручные миграции.
    развернуть

    Использовать ORM в Go

    • Введение в ORM.
    • Установка и использование GORM.
    • Модели данных и миграции.
    • CRUD операции с GORM.
    развернуть

    Продвинутые операции с базами данных

    • Управление пулом соединений.
    • Сложные SQL запросы и оптимизация.
    • Транзакции и управление состоянием.
    • Безопасность данных и предотвращение SQL-инъекций.

    Модуль 5. Микросервисы и безопасность в Go

    развернуть

    Микросервисная архитектура в Go

    развернуть

    Принципы и преимущества микросервисов. Разработка и документирование API. Способы взаимодействия и коммуникации между сервисами. Использование gRPC.

    развернуть

    Безопасность веб-приложений

    • Основы кибербезопасности и уязвимости веб.
    • Аутентификация, авторизация и управление доступом.
    • Применение HTTPS и безопасное хранение паролей.

    Модуль 6. Развертывание, мониторинг и масштабирование приложений на Go

    развернуть

    Введение в Docker

    развернуть

    Основы контейнеризации и Docker. Создание Dockerfile и контейнеризация Go приложений. Управление контейнерами и Docker Compose.

    развернуть

    Основы CI/CD

    • Введение в непрерывную интеграцию и доставку.
    • Настройка пайплайнов с GitHub Actions и Jenkins.
    • Автоматизация тестирования, сборки и деплоя приложений.
    развернуть

    Kubernetes

    • Основы управления контейнерами.
    • Управление контейнерами с использованием Pod и Deployment.
    • Сетевая конфигурация и сервисы.
    • Автоматизация развертывания и управления конфигурацией.
    развернуть

    Мониторинг и логирование

    • Основы мониторинга и логирования в Kubernetes.
    • Использование Prometheus и Grafana для мониторинга приложений.
    • Настройка и анализ логов с помощью Elasticsearch, Logstash и Kibana (ELK).
    • Алертинг и оповещения о проблемах в инфраструктуре и приложениях.
    • Лучшие практики и инструменты для трассировки и отладки
    развернуть

    Подведение итогов курса

    • Ревью курсовых проектов студентов
    • Лучшие практики
    • Вопросы на собеседованиях
    • Что дальше?
    Сертификат после обучения
    По окончании обучения вы получите сертификат. Нас знают и ценят работодатели, поэтому сертификат станет вашим дополнительным преимуществом при трудоустройстве в IT-компанию. 


    Сертификат о прохождении курса мы отправим вам на почту. Вы легко сможете добавить ссылку на сертификат в резюме и подтвердить свой уровень подготовки.

    Преподаватели

    Андрей

    Тимлид Go

    Сооснователь студии разработки и опытный преподаватель Go, чья карьера охватывает разнообразный спектр технологий и подходов в разработке программного обеспечения. 

    Начиная с .NET разработки, через работу фуллстек-разработчиком, Андрей постоянно расширял свой технический арсенал, что в конечном итоге привело его к миру Go и участию в разработке масштабных high-load проектов. 

    На текущем этапе своей профессиональной деятельности Андрей руководит командой разработчиков и отвечает за разработку и поддержку более 50 микросервисов. Его проекты, ориентированы исключительно на международный рынок. 

    Кроме того, его преподавательская деятельность охватывает широкий круг тем — от основ программирования до разработки сложных распределенных систем, что делает его востребованным экспертом и наставником в мире IT.

    Фото с очных занятий в СПб

    Курсы программирования, тестирования, мобильных и веб-технологий от Level UP!
    Учитесь с профессионалами в сфере IT-образования!