Открыто

Golang-разработчик [IBS Training Center]

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 5 апр 2025.

Основной список: 14 участников

Резервный список: 1 участников

  1. 5 апр 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: Golang-разработчик [IBS Training Center]

    1.png

    Курс «Golang-разработчик» представляет собой комплексную программу обучения, которая призвана помочь вам освоить язык программирования Golang от основ до продвинутого уровня. В ходе курса вы узнаете о преимуществах и областях применения Golang. Вы изучите основные концепции: переменные, типы данных, операции и управляющие конструкции. Вам будет представлено ООП в Golang, включая структуры, методы и интерфейсы. Вы также разберетесь с принципами работы с массивами, слайсами, мапами и строками.

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

    В будущем вы сможете углубиться в более сложные темы, включая многопоточность, параллельное и сетевое программирование, веб-разработку на Golang. Вы изучите работу с базами данных, создание пакетов, а также разработку тестов для проверки функциональности вашего кода. Помимо этого курс охватывает аспекты производительности и оптимизации кода, а также лучшие практики разработки на Golang. По окончании обучения вы будете готовы к созданию проектов на Golang и использованию его мощных возможностей для разработки современных приложений.

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

    Обучение проходит в формате вебинаров с экспертами, самостоятельным выполнением практики.

    Программа курса

    01.Знакомство с Golang
    02.Переменные и элементарные типы данных
    03.Управляющие конструкции языка и отладка программ
    04.Функции
    05.ООП в Golang
    06.Интерфейсы
    07.Массивы и слайсы, мапы
    08.Строки и руны
    09.Обработка ошибок и паник
    10.Тестирование
    11.Конкурентность и параллелизм в Golang
    12.Примитивы синхронизации
    13.Сериализация данных
    14.Работа с сетью
    15.Конфигурация
    16.Логирование
    17.Работа с базами данных
    18.Микросервисы
    19.gRPC
    20.Очереди сообщений
    21.Трейсинг
    22.Паттерны многопоточности
    23.Память и сборка мусора
    24.Работа с ОС
    25.Рефлексия
    26.Кодогенерация
    27.Профилирование и оптимизация Go программ
    28.Кэширование
    29.Внутреннее устройство планировщика

    Итого на программу 80 часов: теория – 40 ч (50%), практика – 40 ч (50%)

    01.Знакомство с Golang
    • Плюсы и минусы
    • Сферы применения
    • Кто использует
    02.Переменные и элементарные типы данных
    • Типизация в Go
    • Объявление переменной
    • Операция присваивания
    • Арифметические операции
    • Указатели
    • Расположения переменных в памяти
    • Понятие "zero value"
    • Приведение типов
    • Дженерики
    03.Управляющие конструкции языка и отладка программ
    • Конструкции if ... {} else {}, switch
    • Условия и логические операции
    • Цикл for
    • Метки
    04.Функции
    • Виды функций.
    • Сигнатура функции
    • Передача аргументов в функцию по ссылке и по значению
    • Области видимости, {}
    • Ошибки, связанные с областью видимости
    • Замыкания
    • Затенения
    05.ООП в Golang
    • Определение структур
    • Инкапсуляция полей структуры
    • Композиция
    • Выравнивание
    • Методы
    06.Интерфейсы
    • Утиная типизация
    • Композиция интерфейсов
    • Утверждение типов
    • Конструкция type switch
    • Определение и реализация интерфейсов
    • Внутреннее устройство интерфейса
    • Влияние использования интерфейсов на производительность программы
    • Значение типа интерфейс и ошибки, связанные с nil
    • Правила присваивания значений переменным типа интерфейс
    07.Массивы и слайсы, мапы
    • Массивы и слайсы, мапы
    • Длина и ёмкость
    • Внутренняя структура слайсов и мап
    • Различные способы итерации
    • Частые ошибки и затруднения
    08.Строки и руны
    • Строки, руны и массивы байт
    • Стандартные функции для работы со строками и Unicode
    • Работа со строками через strings builder
    09.Обработка ошибок и паник
    • Интерфейс error
    • Конструкция defer
    • Функции panic и recover.
    • Кастомные ошибки
    • Обертывание ошибок
    • Сопоставление ошибок
    10.Тестирование
    • Виды и назначение тестов, пирамида тестирования
    • Понятие табличных тестов
    • Пакет gomock для тестирования
    • Golden files
    • Fuzzing
    11.Конкурентность и параллелизм в Golang
    • Горутины и каналы
    • Сравнение буферизированных и небуферизованных каналов
    • Использование каналов для передачи данных и синхронизации
    • Получение данных из канала: select, range
    12.Примитивы синхронизации
    • Пул объектов sync.Pool
    • Мьютексы sync.Mutex/RWMutex
    • Словарь sync.Map
    • Условные переменные sync.Cond
    • Группа ожидания sync.WaitGroup, errgroup.WithContext
    • Атомарные операции - пакет atomic
    • Гарантировано одноразовое выполнение sync.Once
    13.Сериализация данных
    • Понятие сериализации/десериализации
    • Протоколы JSON, XML, protobuf, gob
    • Структурные тэги
    14.Работа с сетью
    • Архитектура Интернета
    • Клиент-серверное взаимодействие
    • Пакет net/http, работа с HTTP
    • Пакет net, работа с низкоуровневыми протоколами
    • CRUD, REST
    • OpenAPI, Swagger
    • Oauth, basic, jwt
    15.Конфигурация
    • Различные варианты конфигурации программы
    • Использование простых форматов конфигурации: .ini, .yaml, .json и т.п.
    • Чтение конфигурации из окружения
    • Библиотека для работы с конфигурацией: viper
    16.Логирование
    • Стандартная библиотека для логирования
    • Использование интерфейсов для логирования
    • Расширенное логирование на примере zerolog
    17.Работа с базами данных
    • Реляционные /нереляционные СУБД и области их применения
    • Основные понятия реляционных БД
    • Подключение к СУБД и настройка пула соединений
    • Выполнение SQL-запросов и получение результатов
    • Стандартные интерфейсы sql.DB, sql.Rows и sql.Tx
    • Использование транзакций
    • SQL-инъекции
    • Работа с базами данных через пакет gorm
    • Работа с базами данных через пакет sqlx
    18.Микросервисы
    • Сравнение монолитной и микросервисной архитектур
    • Плюсы и минусы микросервисов
    • Понятие 12-факторного приложения
    • Пример микросервисов на Golang (сервис регистрации пользователей и сервис рассылки уведомлений)
    19.gRPC
    • gRPC и protobuf
    • Создание gRPC клиента и сервера, лучшие практики gRPC
    • Интерсепторы, надежность (ретраи, задержки)
    • TLS при работе с gRPC
    20.Очереди сообщений
    • Событийно-ориентированные архитектуры
    • Apache Kafka
    • NATS
    • RabbitMQ
    • Примеры работы с RabbitMQ из Go
    • Возможные проблемы с очередями: перегрузка, падение обработчиков, сбойные сообщения и пр.
    21.Трейсинг
    • RequestId
    • OpenTelemetry
    • Jaeger
    22.Паттерны многопоточности
    • Работа с многими каналами: fan in, fan out
    • Pipelines
    • Cancellation
    • Graceful shutdown
    23.Память и сборка мусора
    • Особенности памяти программы на Go
    • Выделение и освобождение памяти на стеке и куче
    • Escape analysis
    • Механизм сборки мусора в Go.
    24.Работа с ОС
    • Обработка аргументов командной строки: flags, pflag
    • Работа с сигналами ОС
    • Запуск внешних программ
    • Стандартные интерфейсы io.Reader, io.Writer и io.Closer
    • Последовательные и произвольные доступы и интерфейс io.Seeker
    • Буферизация ввода/вывода и оптимизация копирования
    • Работа с каталогами
    • Работа с файлами
    • Работа с потоками ввода/вывода
    • Regex
    25.Рефлексия
    • Использование пакета reflect
    • Плюсы и минусы рефлексии
    • Reflect.Type и reflect.Value
    • Примеры использования рефлексии
    • Пакет unsafe и тип unsafe.Pointer
    26.Кодогенерация
    • Понятие кодогенерации инструмент `go generate`
    • Полезные библиотеки, использующие кодогенерацию: impl, stringer, jsonenums, easyjson и пр.
    • Работа с AST, практическая кодогенерация
    27.Профилирование и оптимизация Go программ
    • Бенчмарки
    • Pprof
    • Профилирование
    28.Кэширование
    • Cache miss, cache hit
    • Прогрев кэша
    • LRU, LFU кэш
    • Инвалидация кэша
    • Ленивый кэш
    • Вытеснение данных
    29.Внутреннее устройство планировщика
    • Основные структуры планировщика: P, M, G
    • Механизм переключения горутин
    • Обработка системных и сетевых вызовов планировщиком

    Цена 85000 руб
    Скрытая ссылка
     
    Последнее редактирование модератором: 8 апр 2025
    1 человеку нравится это.
  2. Последние события

    1. neonc
      neonc участвует.
      31 авг 2025
    2. padjia
      padjia участвует.
      31 авг 2025
    3. Alex152827
      Alex152827 не участвует.
      31 авг 2025
    4. alex131331
      alex131331 участвует.
      22 июл 2025
  3. Обсуждение
  4. 5 апр 2025
    #2
    Paul Fart
    Paul Fart ЧКЧлен клуба
    Мда, по плану, что есть в документации прочитать вслух и показать, что нарисовала дизайнер и за это 85к