Слив курса: [mail.ru] Стань GO-разработчиком | Слив платных курсов - Бесплатно. Бесплатные сливы курсов, трененгов и инфопродуктов. скачать
Что нового

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

Administrator
Команда форума
Регистрация
13.03.2019
Сообщения
42 583

За 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











 
×


×
Прием платежей для сайтов
Верх
×
×