Как стать автором
Обновить
VK
Технологии, которые объединяют

Лекции Техносферы: Программирование на Go

Время на прочтение2 мин
Количество просмотров53K

image


Продолжаем публикацию наших образовательных материалов. Этот курс посвящен изучению основ языка Go. На примере простой текстовой игры будут рассмотрены все основные задачи, с которыми сталкивается разработчик современных веб-приложений в крупных проектах, с реализацией их на Go. Курс не ставит задачи научить программированию с нуля, для обучения будут необходимы базовые навыки программирования.


Список лекций:



Вы получите опыт разработки высоконагруженных бекенд приложений на Go, а также научитесь поддерживать, тестировать и отлаживать приложения. Из курса вы узнаете о том, как поднять веб-сервер, обрабатывать HTTP-запросы и работать с SQL-базой; что такое горутины c каналами и как выглядит асинхронное программирование на Go; какие основные вещи требует экcплуатация при принятии проекта в production.


Курс ведут Василий Романов, технический менеджер Почты Mail.Ru, Илья Ожерельев, программист backend'a Почты Mail.Ru, и Дмитрий Дорофеев, программист frontend'a Почты Mail.Ru.


Лекция 1. Введение



Вводная лекция, в которой описывается история языка, его основные особенности, использование Go в Mail.ru, основные синтаксические конструкции языка и базовые типы данных.


Лекция 2. Функции, структуры, интерфейсы. Объектная модель



На второй лекции рассматриваются следующие вопросы:


Функции:


  • Передача параметров по ссылке/значению.
  • Именованные параметры.
  • Замыкания.
  • Функции высшего порядка.
  • defer.
  • Системные функции.

Структуры:


  • struct, ООП.
  • Методы.
  • Embedded-объекты.

Интерфейс:


  • Пустой интерфейс.
  • Использование интерфейсов.

Лекция 3. Асинхронная модель



На третьей лекции рассматриваются параллелизм и многопоточность языка, Go-рутины (горутины), каналы, пакеты sync и atomic.


Лекция 4. Web. Работа с сетью



Из этой лекции вы узнаете о работе Go с сетью: работа с протоколом TCP, какие есть ограничения, особенности работы с URL, как строятся HTTP-запросы и ответы, и многое другое.


Лекция 5. Работа с СУБД



На пятой лекции рассказывается о клиентской (браузерной) части при работе с СУБД, а также о серверной части: построении бизнес-логики, создании сессии авторизации, профиля и работе с контентом.


Лекция 6. Система тестирования



Лекция посвящена построению системы тестирования для проверки кода на Go, вклбючая модульные тесты и выполнение непрерывной интеграции.


Лекция 7. Reflect or generate?



На лекции рассматриваются такие вопросы, как что такое рефлексия, законы рефлексии, использование go generate и так далее.


Лекция 8. Производительность



Как выявить медленно работающие части кода на Go и как их оптимизировать так, чтобы программа работала быстро в условиях ограниченности доступных ресурсов? Об этом вы узнаете из восьмой лекции.


Лекция 9. Context, unsafe, cgo



Заключительная лекция курса посвящена рассмотрению трёх тем: контекста (состояние запроса, отмена выполнения), unsafe (низкоуровневое программирование) и cgo (интеграция кодов на Go и С).




Плейлист всех лекций находится по ссылке. Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов в проектах Технопарк, Техносфера и Технотрек по-прежнему публикуются на канале Технострим.

Теги:
Хабы:
Всего голосов 73: ↑68 и ↓5+63
Комментарии52

Публикации

Информация

Сайт
team.vk.company
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель
Руслан Дзасохов