Открыто

Стань GO-разработчиком [mail.ru]

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

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

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

  1. 20 апр 2019
    #1
    KirillGo
    KirillGo ЧКЧлен клуба

    Складчина: Стань GO-разработчиком [mail.ru]

    За 2 месяца вы освоите профессию на уровне
    middle-специалиста
    Мы даем много материала и сложные домашки, которые ощутимо поднимут ваш уровень и помогут уверенно использовать язык в работе.
    1 неделя. Введение в Golang


    Разберетесь с основами языка:

    • Переменные, базовые типы данных
    • Переменные, составные типы данных
    • Управляющие конструкции
    • Основы функций
    • Функция как объект первого класса, анонимные функции
    • Отложенное выполнение и обработка паники
    • Основы работы со структурами
    • Методы структур
    • Пакеты и область видимости
    • Основы работы с интерфейсами
    • Пустой интерфейс
    • Композиция интерфейсов
    • Написание программы уникализации
    • Написание тестов для программы уникализации
    2 неделя. Асинхронная работа


    Освоите главную особенность языка. Асинхронность и простота — вот что делает Go таким мощным инструментом.

    • Методы обработки запросов и плюсы неблокирующего подхода
    • Горутины - легковесные процессы
    • Каналы - передаём данные между горутинами
    • Мультиплексирование каналов через оператор select
    • Таймеры и таймауты
    • Пакет context и отмена выполнения
    • Асинхронное получение данных
    • Пул воркеров
    • sync.Waitgroup - ожидание завершения работы
    • Ограничение по ресурсам
    • Ситуация гонки на примере конкурентной записи в map
    • sync.Mutex для синхронизации данных
    • sync.Atomic
    3 неделя. Работа с динамическими данными и производительность


    Научитесь обращаться с динамическими данными и работать с JSON.

    • Распаковываем JSON
    • Нюансы работы с JSON
    • Пакет reflect - работаем с динамикой в рантайме
    • Кодогенерация - программа пишет программу
    • Система бенчмарков Go
    • Профилирование через pprof
    • sync.Pool
    • Покрытие кода тестами
    • XML
    4 неделя. Основы HTTP


    Запустите веб-сервер, обработаете запросы и получите данные. А еще научитесь собирать метрики производительности с работающего сервера.

    • Слушаем TCP-сокет с использованием пакета net
    • Обслуживание HTTP-запросов
    • Работа с параметрами запросов
    • Обслуживание статичных данных
    • Загрузка файлов формы
    • HTTP-запросы во внешние сервисы
    • Тестирование HTTP-запросов и ответов
    • Inline-шаблоны и шаблоны из файлов
    • Вызов методов и функций из шаблонов
    • Профилирование через pprof
    • Поиск утечки горутин
    • Трассировка поведения сервиса
    • Пример с telegram-ботом
    5 неделя. Анатомия веб-сервиса


    Познакомитесь с самыми распространенными компонентами при разработке веб-сервисов: роутеры, веб-серверы, фреймворки и утилиты.

    • Основные компоненты веб-сервиса
    • Основы middleware для HTTP
    • Context value
    • Обработка ошибок
    • Роутеры - gorilla/mux, httprouter
    • Производительный веб-сервер fasthttp
    • Парсинг параметров в структуру и валидация
    • Фреймворк Beego
    • Фреймворк Gin
    • Стандартный пакет log, zap, logrus
    • gorilla/websocket
    • Компилируемые шаблоны
    • Утилита dep
    6 неделя. SQL и NoSQL


    Научитесь работать с основной функцией веб-сервера — извлечение и загрузка данных.

    • database/sql и mysql
    • GORM - применение reflect'а для SQL
    • sql-injection
    • Memcached - пример с тегированным кешем
    • Redis
    • Message broker - RabbitMQ
    • Document store - MongoDB
    7 неделя. Микросервисы


    Микросервисы – популярный паттерн борьбы со сложностью. В Go микросервисы можно делать сразу из коробки. А еще вы познакомитесь с фреймворком gRPC.

    • Что такое микросервис, плюсы и минусы
    • Микросервисы внутри монолита
    • net/rpc и формат gob
    • net/http/jsonrpc
    • Формат сериализации protobuf
    • Делаем сервис на gRPC
    • Продвинутая работа с gRPC
    • Стриминг сообщений
    • Балансировка нагрузки и использование Consul
    • grpc-gateway - получаем доступ к grpc-сервисам через HTTP
    • Swagger - генерируем клиент и сервер из документации к апи
    8 неделя. Сервис в работе


    Поймете, как конфигурировать и мониторить сервисы, а также интегрируете код на C в Go.

    • Локальный конфиг - flags, json, ldflags
    • Удалённый конфиг, используем Consul
    • Зачем нужен мониторинг и что мониторить
    • Отправка таймингов во внешнюю систему
    • Пакет Unsafe
    • cgo - интеграция кода на cи
    • go vet, gometalinter

     
    7 пользователям это понравилось.
  2. Последние события

    1. Александр Шульгин
      Александр Шульгин не участвует.
      21 ноя 2025
    2. Dominic13
      Dominic13 не участвует.
      18 авг 2025
    3. r0mm4k
      r0mm4k не участвует.
      18 апр 2025
    4. alexandrgo
      alexandrgo не участвует.
      1 апр 2025
  3. Обсуждение
  4. 17 янв 2020
    #2
    KirillGo
    KirillGo ЧКЧлен клуба
    Курс стартует 3 февраля. НУЖЕН ОРГ. И цена на курс поднялась
     
  5. 17 янв 2020
    #3
    kovalevS
    kovalevS ЧКЧлен клуба
    препод Васька Романов (от мэйла) уже делал курс по ГО но как то много недосказанности, темнит во многих местах может знает а сказать не может. Но Темы интересные.
     
    1 человеку нравится это.
  6. 19 янв 2020
    #4
    KirillGo
    KirillGo ЧКЧлен клуба
    НУЖЕН ОРГ
     
  7. 19 янв 2020
    #5
    KirillGo
    KirillGo ЧКЧлен клуба
    НУЖЕН ОРГ
     
  8. 29 фев 2020
    #6
    SVitamin
    SVitamin СкладчикСкладчик
    Курс будет или нет?
     
  9. 21 май 2020
    #7
    Kiselya
    Kiselya ЧКЧлен клуба
    28 мая начнутся занятия. Нужен орг
     
  10. 15 сен 2021
    #8
    Сергей_Hurricane
    Сергей_Hurricane ЧКЧлен клуба
    Ближайший поток запланирован на следующий февраль