Программирование на Go с нуля: 9 полезных видеоуроков

Кроссплатформенный, компилируемый и статически типизированный – это все о языке Go. Изучаем программирование на Go по этому курсу.

Ранее мы уже затрагивали блоги, статьи и книги по Go. Поговорим же теперь о видеоуроках с наиболее понятной подачей материала.

Программирование на Go. Введение

В первой вводной лекции автор рассказывает об истории программирования и о необходимости этого языка, а также о типах данных, переменных и условных операторах. Приводятся сравнительные примеры Go и Perl на тему скорости, производительности и удобства использования, т. к. в компании, в которой работает лектор, применяется именно программирование на Go. Очень доступное и понятное объяснение материала, и по традиции, “Hello World”. Как же без него?

https://www.youtube.com/watch?v=9Pk7xAT_aCU

Функции, структуры, интерфейсы

Из этой лекции вы узнаете, что такое функции, какие они бывают, и в чем их особенность работы в Go. Также пойдет разговор о структурах (struct, embeded) и наличии ООП в данном языке. Автор поведает об интерфейсе в Go, его применении и интересной особенности интерфейсов – их именуют с постфиксом -er (Reader, Fixer и т. д.) и применяют Duck typing.

https://www.youtube.com/watch?v=9Ia16QOY8rk

Асинхронная модель

Программирование на Go дает сразу большой профит – этот ЯП асинхронный из коробки. Основой асинхронности является процесс. Зачастую они (процессы) независимы друг от друга и имеют свое адресное пространство. Переменные, методы и данные одного процесса не доступны другому. Лектор затронет многопоточность и параллелизм, коснется Go-рутин и основных примитивов для синхронизации работы внутри языка: каналы, пакет sync, atomic.

https://www.youtube.com/watch?v=kFeM4R5TlCY

Web. Работа с сетью

В этой лекции речь пойдет о работе с сетью. Всем известно, что для связи двух разных процессов через сеть используется сокет и чаще всего протокол TCP. Статья научит: как создавать сетевое соединение в Golang, что нужно делать после установления коннекта, и какие подводные камни. Занятие хорошо подкреплено “расшариванием” экрана и подробными комментариями.

https://www.youtube.com/watch?v=lgh6zic15EA

Работа с СУБД

Видеоурок начинается с принципа работы сессии и cookie, для чего они нужны, и как применение этих технологий влияет на программный продукт, написанный на Go. Далее лектор переходит к непосредственному рассмотрению СУБД. MySQL и PostgreSQL не имеют больших отличий, поэтому, зная одну СУБД, вторую осилить не составит труда. А вот узнать что-то новое о Memcached, Redis, mongoDB и ORM будет интересно даже профессионалу.

https://www.youtube.com/watch?v=iho3_zq4tik

Система тестирования

На этой лекции вы узнаете массу полезной информации о системе тестирования, юнит-тестах и прочих инструментах для проверки своего приложения. Ключевой темой урока будут системы Continuos Integration, выполняющие работы по сборке и тестированию продукта на удаленном сервере. Сложная, но очень полезная тема для больших проектов.  Если вы используете популярные GitLab или GitHub, то для тестирования можно применять GitLab CI и Travis CI соответственно.

https://www.youtube.com/watch?v=C9wQIYqWPiA

Reflect or generate

Язык программирования Go строго типизированный, и вы в основном пишете строго типизированный код, привязанный к каким-то структурам или типам. Данный ЯП обладает еще одной интересной способностью – исследовать структуру программы, в основном при помощи собственных типов. Данный процесс называется рефлексией. О ней, ее законах и причинах использования пойдет речь в седьмой секции курса.

https://www.youtube.com/watch?v=uCSMU8xF1dc

Производительность

В современном мире бизнеса все должно работать точно и продуктивно, чтобы можно было максимально быстро получить прибыль. Если ПО работает медленно, то бизнес теряет деньги на обеспечении ненужных вычислительных мощностей. Поэтому приложение должно быть оптимизированным, работать быстро и потреблять мало ресурсов. В этом уроке вы научитесь искать слабые места в софте, исправлять и приводить код к оптимизированному виду.

https://www.youtube.com/watch?v=agntRAtPkK4

Context, unsafe, safe и cgo

Как известно из предыдущих лекций, Golang применяется для сервисов, которые активно используют сетевые запросы. Чтобы работать с сетью, нужно использовать встроенный функционал в стандартную библиотеку. Но существует такое понятие, как контекст – информация, передаваемая во всех запросах при работе с API. Об этой неизведанной области и расскажет вам автор в последней лекции.

https://www.youtube.com/watch?v=LpOioZXgplU

Книги по Go и другие материалы:

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик C++
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ