Go для веб-разработчиков
Go – быстро набирающий популярность современный язык программирования, созданный знакомыми нам по C, UNIX и UTF‑8 Робом Пайком и Кеном Томпсоном. Go сочетает в себе лучшие черты статических и динамических языков: строгую типизацию и скорость исполнения с гибкостью и скоростью разработки, добавляя к этому производительную и надежную концепцию параллельного программирования. Начавшись в качестве внутренней разработки компании Google, сейчас язык Go активно развивается open-source сообществом и делит первое место по производительности с C/C++ и Java в Web Performance Benchmark. Автор Vagrant Митчелл Хашимото выбрал Go для своих новых DevOps проектов Packer и Serf. На Go написаны etcd и популярнейший проект Docker. CloudFare использует Go в своем продукте следующего поколения Railgun, а Google – в своих сервисах YouTube, dl.google.com и Google Code.
За два дня на курсе мы пройдём весь путь от основ Go до написания полноценного веб‑сервиса. Обсудим обработку ошибок и паттерны конкурентности, разберёмся с шаблонизатором, поработаем с базами данных и key‑value хранилищами, попробуем интеграцию с библиотеками на Си, протестируем, отладим и нагрузим наш код.
Курс будет интересен веб‑разработчикам на Ruby, Python и других языках, которым не хватает грамотного наставника или времени на изучение новой технологии собственными силами.
После курса участники смогут самостоятельно написать серверное приложение на Go, работающее с веб‑сокетами и базами данных, покрыть его код тестами и проверить под нагрузкой. Научатся ускорять свои проекты, используя Go в критических с точки зрения производительности и надежности местах.
Перед обучением на курсе мы рекомендуем пройти официальный туториал.
Для выполнения практических заданий во время курса необходим ноутбук c Mac OS X или Linux и памятью от 4GB.
Расписание курса
сен |
---|
даты уточняются |
- Самостоятельный участник
30 000 Р - Представитель компании
40 000 Р
Инструкторы


Программа
- Паттерны ООП и обработки ошибок.
- Конкурентность и параллелизм.
- Работа с пакетами и зависимостями. Организация кода.
- Легковесные веб‑фреймворки.
- Сериализация объектов. Работа с JSON и XML.
- Шаблоны. Стандартный html/template, HAML и Mustache.
- Тестирование и бенчмарки. Сравнение производительности с другими языками на практике.
- Revel как пример полноценного фреймворка.
- Базы данных. Взаимодействие с PostgreSQL, Mongo, Redis и возможности ORM.
- «Живой» веб. Вебсокеты и long-polling запросы.
- Взаимодействие с кодом на C.
- Деплой Go-приложений на сервер. Практики обслуживания приложений.