Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Go: начало Алексей Палажченко сообщество Golang Москва

Slide 4

Slide 4 text

(IMHO) • Этот доклад отражает моё личное мнение • Иногда оно совпадает с консенсусом сообщества • Иногда нет

Slide 5

Slide 5 text

Go • Начался в сентябре 2007 года, открыт в ноябре 2009 • Компилируемый, статически типизированный, со статической линковкой, со сборщиком мусора, с CSP конкурентностью • Для написания больших систем • Очень простой: просто писать, просто читать

Slide 6

Slide 6 text

Для чего • Сервисы, микро-сервисы, мини-сервисы, макро- сервисы и мега-сервисы • Инфраструктурные инструменты • CLI • Можно пойти и дальше: веб-сайты, ML, …

Slide 7

Slide 7 text

3 не

Slide 8

Slide 8 text

3 не • Не боритесь с языком • Не делайте исключения из panic/recover • Не обходите систему типов при помощи interface{}

Slide 9

Slide 9 text

3 не • Не боритесь с языком • Не делайте исключения из panic/recover • Не обходите систему типов при помощи interface{} • Не боритесь с тулингом • GOPATH • Import paths

Slide 10

Slide 10 text

3 не • Не боритесь с языком • Не делайте исключения из panic/recover • Не обходите систему типов при помощи interface{} • Не боритесь с тулингом • GOPATH • Import paths • Не используйте слишком много конкурентности

Slide 11

Slide 11 text

Первые шаги

Slide 12

Slide 12 text

Первые шаги • tour.golang.org

Slide 13

Slide 13 text

Первые шаги • tour.golang.org • How to Write Go Code

Slide 14

Slide 14 text

Первые шаги • tour.golang.org • How to Write Go Code • Effective Go

Slide 15

Slide 15 text

Первые шаги • tour.golang.org • How to Write Go Code • Effective Go • FAQ

Slide 16

Slide 16 text

Первые шаги • tour.golang.org • How to Write Go Code • Effective Go • FAQ • Language Specification

Slide 17

Slide 17 text

Управление зависимостями

Slide 18

Slide 18 text

Управление зависимостями • import "github.com/gorilla/mux"

Slide 19

Slide 19 text

Управление зависимостями • import "github.com/gorilla/mux" • С версионированием всё плохо :(

Slide 20

Slide 20 text

Управление зависимостями • import "github.com/gorilla/mux" • С версионированием всё плохо :( • Не делайте свой велосипед

Slide 21

Slide 21 text

Управление зависимостями • import "github.com/gorilla/mux" • С версионированием всё плохо :( • Не делайте свой велосипед • vendor/

Slide 22

Slide 22 text

Управление зависимостями • import "github.com/gorilla/mux" • С версионированием всё плохо :( • Не делайте свой велосипед • vendor/ • Используйте dep и не молчите

Slide 23

Slide 23 text

Веб-фреймворки

Slide 24

Slide 24 text

Веб-фреймворки • Они есть

Slide 25

Slide 25 text

Веб-фреймворки • Они есть • Они не очень популярны

Slide 26

Slide 26 text

Веб-фреймворки • Они есть • Они не очень популярны • Из больших: возможно, только gobuffalo.io

Slide 27

Slide 27 text

Веб-фреймворки • Они есть • Они не очень популярны • Из больших: возможно, только gobuffalo.io • Из небольших: echo, chi

Slide 28

Slide 28 text

Где спросить? • golang-ru @ Google Groups • 4gophers.ru/slack • Подкаст GolangShow • meetup.com/Golang-Moscow

Slide 29

Slide 29 text

В завершение • Следуйте правилам • Не следуйте правилам • Следуйте правилам