Skip to content

Latest commit

 

History

History
56 lines (42 loc) · 5.22 KB

readme.md

File metadata and controls

56 lines (42 loc) · 5.22 KB

Разработка web-приложений на Go

цель курса

Цель курса - научить офигенных ребят писать простые и сложные, быстрые и медленные, многопоточные и не очень 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

контакты