Go: начало

Go: начало

Доклад на конфереции DevConf

4618c5e97c59abd315cc2d7dc809f8c8?s=128

Alexey Palazhchenko

June 17, 2017
Tweet

Transcript

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

  4. (IMHO) • Этот доклад отражает моё личное мнение • Иногда

    оно совпадает с консенсусом сообщества • Иногда нет
  5. Go • Начался в сентябре 2007 года, открыт в ноябре

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

    • Инфраструктурные инструменты • CLI • Можно пойти и дальше: веб-сайты, ML, …
  7. 3 не

  8. 3 не • Не боритесь с языком • Не делайте

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

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

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

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

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

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

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

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

    • Effective Go • FAQ • Language Specification
  17. Управление зависимостями

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

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

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

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

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

    :( • Не делайте свой велосипед • vendor/ • Используйте dep и не молчите
  23. Веб-фреймворки

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

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

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

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

    Из больших: возможно, только gobuffalo.io • Из небольших: echo, chi
  28. Где спросить? • golang-ru @ Google Groups • 4gophers.ru/slack •

    Подкаст GolangShow • meetup.com/Golang-Moscow
  29. В завершение • Следуйте правилам • Не следуйте правилам •

    Следуйте правилам