Цель курса - научить офигенных ребят писать простые и сложные, быстрые и медленные, многопоточные и не очень web-приложения на Go.
Идеальный слушатель умеет программировать на одном из ООП языков (Java, C#, Python, отлично если C/C++), знает как работает сеть, http-протокол, работал с реляционными базами данных. Знаком с основными структурами данных и понимает как их применять.
Дисциплинирован посещать занятия и выполнять все пожелания по ходу курса. Крайне замотивирован подорвать это it-community и стать супер-человеком. Умеет стрелять фаерболами, ну или хотя бы поджигать ими сигареты (minimum requirement).
Курс состоит из двух частей, будет очень много практики и реальных кейсов с продакшна,
(некоторые темы вроде тестирования будут разбираться по ходу всего курса):
-
основы языка программирования Go
пройдем по основным конструкциям языка на примерах популярных алгоритмов, познакомимся с пакетами из коробки, а также покроем такие темы как многопоточность, рефлексия, тестирование кода, бенчмарки и профилирование.
-
разработка web-приложений
познакомимся с устройством web-серверов, RESTful api, поработаем с нереляционными бдшками, message broker'ом. Решим реальную задачку с продакшна.
Вдобавок разберем негласные правила написания хорошего кода, поработаем с UML и накидаем архитектуру одного очень интересного сервиса. Также будет несколько лекций посвященных процессам разработки, командной работе и прочим софт-скиллам.
*номера тем не соответствуют занятиям
№ | Тема урока | Презентация |
---|---|---|
1 | intro: о языке, задачах, преимуществах | tba |
2 | структуры языка: имена, объявления, переменные, пакеты | tba |
3 | типы данных, примитивы, аналоги, iota | tba |
4 | go сomposite types: arrays, slices, maps | tba |
5 | структуры языка: structs/interfaces, funcs, methods, closures | tba |
6 | работа с json, xml, тестирование | tba |
7 | многопоточность: треды и горутины, каналы | tba |
8 | многопоточность: waitgroups, select, mutex, rwmutex, semaphore, race state | tba |
9 | многопоточность: основные паттерны конкурентной разработки | tba |
10 | рефлексия: для чего и как применять | tba |
11 | профилирование приложений, менеджмент памяти, бенчмарки, сборщик мусора | tba |
12 | работа с http, hello world в вэб-сервере | tba |
13 | мультиплексоры, routing и почему это важно | tba |
14 | основы нереляционных баз данных | tba |
15 | restful service, микросервисная архитектура | tba |
16 | соревнование: кто съест больше пиццы | tba |
- author : zdiyax
- email : zhannur.diyas@gmail.com
- mobile : +77001491164