- PVSM.RU - https://www.pvsm.ru -
Продолжаем публикацию наших образовательных материалов. Этот курс посвящен изучению основ языка Go. На примере простой текстовой игры будут рассмотрены все основные задачи, с которыми сталкивается разработчик современных веб-приложений в крупных проектах, с реализацией их на Go. Курс не ставит задачи научить программированию с нуля, для обучения будут необходимы базовые навыки программирования.
Список лекций:
Вы получите опыт разработки высоконагруженных бекенд приложений на Go, а также научитесь поддерживать, тестировать и отлаживать приложения. Из курса вы узнаете о том, как поднять веб-сервер, обрабатывать HTTP-запросы и работать с SQL-базой; что такое горутины c каналами и как выглядит асинхронное программирование на Go; какие основные вещи требует экcплуатация при принятии проекта в production.
Курс ведут Василий Романов, технический менеджер Почты Mail.Ru, Илья Ожерельев, программист backend'a Почты Mail.Ru, и Дмитрий Дорофеев, программист frontend'a Почты Mail.Ru.
Вводная лекция, в которой описывается история языка, его основные особенности, использование Go в Mail.ru, основные синтаксические конструкции языка и базовые типы данных.
На второй лекции рассматриваются следующие вопросы:
Функции:
Структуры:
Интерфейс:
На третьей лекции рассматриваются параллелизм и многопоточность языка, Go-рутины (горутины), каналы, пакеты sync и atomic.
Из этой лекции вы узнаете о работе Go с сетью: работа с протоколом TCP, какие есть ограничения, особенности работы с URL, как строятся HTTP-запросы и ответы, и многое другое.
На пятой лекции рассказывается о клиентской (браузерной) части при работе с СУБД, а также о серверной части: построении бизнес-логики, создании сессии авторизации, профиля и работе с контентом.
Лекция посвящена построению системы тестирования для проверки кода на Go, вклбючая модульные тесты и выполнение непрерывной интеграции.
На лекции рассматриваются такие вопросы, как что такое рефлексия, законы рефлексии, использование go generate и так далее.
Как выявить медленно работающие части кода на Go и как их оптимизировать так, чтобы программа работала быстро в условиях ограниченности доступных ресурсов? Об этом вы узнаете из восьмой лекции.
Заключительная лекция курса посвящена рассмотрению трёх тем: контекста (состояние запроса, отмена выполнения), unsafe (низкоуровневое программирование) и cgo (интеграция кодов на Go и С).
Плейлист всех лекций находится по ссылке [10]. Напомним, что актуальные лекции и мастер-классы о программировании от наших IT-специалистов в проектах Технопарк, Техносфера и Технотрек по-прежнему публикуются на канале Технострим [11].
Автор: Mail.Ru Group
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/254854
Ссылки в тексте:
[1] Лекция 1. Введение: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-1-vvedenie
[2] Лекция 2. Функции, структуры, интерфейсы. Объектная модель: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-2-funkcii-struktury-interfeysy-obektnaya-model
[3] Лекция 3. Асинхронная модель: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-3-asinhronnaya-model
[4] Лекция 4. Web. Работа с сетью: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-4-web-rabota-s-setyu
[5] Лекция 5. Работа с СУБД: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-5-rabota-s-subd
[6] Лекция 6. Система тестирования: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-6-sistema-testirovaniya
[7] Лекция 7. Reflect or generate?: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-7-reflect-or-generate
[8] Лекция 8. Производительность: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-8-proizvoditelnost
[9] Лекция 9. Context, unsafe, cgo: https://habrahabr.ru/company/mailru/blog/327966/#lekciya-9-context-unsafe-cgo
[10] ссылке: https://www.youtube.com/playlist?list=PLrCZzMib1e9q-X5V9pTM6J0AemRWseM7I
[11] Технострим: https://www.youtube.com/user/tpmgtu/videos
[12] Источник: https://habrahabr.ru/post/327966/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.