Курс «Профессия Go-разработчик»

Направление
Golang-разработка
Домашние задания
Есть
Итоговый экзамен
Нет
Количество уроков
2
Документ об обучении
Сертификат
Обратная связь
Есть
Доступ
Сразу после покупки
Последнее обновление 15.08.2022

О курсе

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

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

  1. В этом модуле расскажем о популярных пакетах Go. Вы научитесь писать и тестировать HTTP-приложения с net/http, управлять передачей данных и временем жизни задач c context, делать запросы в базу данных, познакомитесь с особенностями сериализации и обработки ошибок в Go.

    Задания будут уложены в практические треки. Практический трек связывает все задания в единый проект, который вы разрабатываете инкрементально до получения финального результата. На курсе есть два практических трека: «Сервис сокращения URL» и «Сервис сбора метрик и алертинга». Вам предстоит выбрать один из них.

    сontext и time

    context: отмена и передача данных
    time: отрезки и таймеры

    net/http

    HTTP-клиент
    HTTP-сервер
    тестирование HTTP-приложений
    популярные библиотеки

    encoding

    struct tags
    JSON
    XML
    Gob
    стандартные сериализаторы
    cторонние сериализаторы

    os

    переменные окружения
    работа с файлами

    flag

    аргументы командной строки

    compress

    стандартные методы сжатия
    сторонние библиотеки и форматы

    hash и crypto

    xеширование и шифрование

    database/sql

    интерфейсный подход и драйверы
    чтение данных из БД
    запись в БД, состояния и транзакции

    errors

    интроспекция и логирование ошибок
  2. Расскажем, что такое многопоточность на уровне операционной системы. Вы узнаете, в чём разница между потоком и процессом, какие существуют виды многопоточности, что происходит при переключении потоков, как бороться с deadlock и datarace. Отвечая на эти и другие вопросы, плавно перейдём к устройству планировщика Go. Потом познакомим вас с легковесными потоками в языке — goroutines и другими средствами языка для написания многопоточных приложений.

    Многопоточность в Go

    основы многопоточности
    горутины
    каналы
    получение данных из каналов
    cинхронизация состояния
    паттерны многопоточности

Тарифы