Открыто

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

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

Цена: 85000р.-90%
Взнос: 7671р.

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

  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. ДенисДенисДенис
      ДенисДенисДенис участвует.
      16 июн 2025 в 10:16
    2. vladik-oradge
      vladik-oradge участвует.
      12 июн 2025
    3. Elevator55
      Elevator55 участвует.
      19 май 2025
    4. Alex152827
      Alex152827 участвует.
      16 май 2025
  3. Обсуждение
  4. 5 апр 2025
    #2
    Paul Fart
    Paul Fart ЧКЧлен клуба
    Мда, по плану, что есть в документации прочитать вслух и показать, что нарисовала дизайнер и за это 85к