Язык программирования - GO
40 ак.часов
Курс Go: системное программирование, сетевые протоколы, CLI и взаимодействие с ОС
-
О КУРСЕКурс предоставляет глубокие знания и практические навыки для разработки системных приложений на Go. В ходе курса вы научитесь работать с сетевыми протоколами (TCP, UDP, HTTP/3, WebSockets), разрабатывать программы для командной строки с использованием Cobra, а также взаимодействовать с операционной системой через системные вызовы и работу с файловыми системами. Также вы освоите создание и разбор файлов данных в форматах XML, JSON, YAML, а также научитесь генерировать отчеты в PDF и Excel. Этот курс подходит для разработчиков и системных администраторов, стремящихся углубить свои навыки в системном программировании на Go
DevOps-инженеры
Системные инженеры
Разработчики
Системные администраторы
Модуль 1: Введение в сетевые протоколы
Тема 1.1: Основы сетевого программирования
Принципы работы TCP/IP
Работа с сокетами в Go
Создание простых серверов и клиентов на TCP и UDP
Тема 1.2: Разработка TCP/UDP серверов
Реализация TCP-сервера и клиента
Создание UDP-сервера и клиента
Работа с потоками и многозадачностью
Тема 1.3: HTTP/3
Введение в HTTP/3 и QUIC
Установка и настройка HTTP/3 сервера
Работа с HTTP/3 в Go, создание простого HTTP/3-сервера
Модуль 2: Разработка WebSocket-соединений
Тема 2.1: Введение в WebSockets
Основы WebSocket-протокола
Различие между HTTP и WebSocket
Применение WebSocket для реального времени
Тема 2.2: Использование Gorilla/WebSocket
Установка и настройка Gorilla/WebSocket
Создание WebSocket-сервера и клиента на Go
Пример реализации чат-программы с использованием WebSocket
Тема 2.3: Проблемы производительности и безопасности WebSocket
Оптимизация WebSocket-соединений
Защита WebSocket-соединений от атак
Модуль 3: Программы для командной строки
Тема 3.1: Разработка программ для командной строки с Cobra
Введение в Cobra
Установка и настройка Cobra
Создание простых CLI-программ
Парсинг аргументов командной строки и флагов
Тема 3.2: Форматирование вывода и работа с ошибками
Форматированный вывод с fmt и других пакетов
Логирование и обработка ошибок в CLI-программах
Тема 3.3: Кросс-компиляция
Принципы кросс-компиляции в Go
Настройка и сборка бинарников для разных операционных систем и архитектур
Модуль 4: Взаимодействие с ОС
Тема 4.1: Работа с файловой системой
Чтение и запись файлов в Go
Обработка ошибок при работе с файлами
Манипуляции с директориями, создание и удаление файлов
Тема 4.2: Системные вызовы и взаимодействие с ОС
Работа с системными вызовами
Взаимодействие с операционной системой с помощью Go
Пример использования системных вызовов для получения информации о процессах
Тема 4.3: Разбор журналов и логирование
Чтение и анализ журналов системы
Парсинг логов различных форматов
Инструменты для анализа логов
Модуль 5: Разбор и создание файлов данных
Тема 5.1: Работа с XML, JSON, YAML
Чтение и запись файлов в форматах XML, JSON и YAML
Преобразование данных между этими форматами
Пример обработки данных из этих форматов
Тема 5.2: Генерация PDF и Excel файлов
Создание PDF файлов с помощью Go
Работа с библиотеками для генерации Excel (например, excelize)
Пример генерации отчетов в PDF и Excel
-
Получаемый документ
-
Для успешного прохождения курса необходимы:
- знания основ языка программирования Go,
- опыт разработки сетевых приложений,
- базовое понимание работы с операционными системами и файловыми системами
-
По окончании курса слушатели смогут:
◉ разрабатывать сетевые приложения с использованием TCP/UDP, HTTP/3 и WebSockets
◉ создавать программы для командной строки с использованием Cobra и кросс-компиляции
◉ работать с файловыми системами и операционной системой через Go
◉ создавать и разбирать файлы данных (XML, JSON, YAML), а также генерировать отчеты в форматах PDF и Excel

Академия АйТи
40 ак.часов 
Академия АйТи
40 ак.часов


