Go дайджест #0: Go 1.10 Beta 2, Testing patterns, Concurrency patterns
Здравствуйте, коллеги. Меня зовут Евгений Пилипенко, и сегодня я предлагаю вашему вниманию дайджест новостей из мира Go.
Новости
What’s New and Different in Go 1.10 — обзор нововведений, которые нас ждут в Go 1.10. Уже сейчас можно ознакомиться с новыми возможностями, скачав последний релиз 1.10 Beta 2.
Почитать
Don’t just check errors, handle them gracefully — обработка ошибок в Go.
How To Embed Versioning Information In Go Applications — подход к версионированию в Go бинарниках.
Understand Go Pointers in Fewer Than 800 Words — Dave Cheney объясняет, что такое указатели.
The Go Type System — подробно о системе типов в Go для новичков.
The Ultimate Guide to Writing a Go Tool — подробное руководство по написанию утилиты для Go.
Микросервисы, gRPC и Kubernetes — введение в разработки микросервисов на Go c использованием gRPC и развертыванием в кластере Kubernetes.
Пошаговое руководство по написанию сервиса для Kubernetes
Туториал по разработке Facebook бота используя Go и Messenger API.
Implementing 6 Sorting Algorithms — 6 алгоритмов сортировки, имплементированных на Go.
A Guide to Effective Logging in Go — основы логирования в Go, стандартизация логов, минимизация влияния на производительность.
A Million WebSockets and Go — разработка высоконагруженного WebSocket-сервера в mail.ru.
Building a RESTful API with Go — туториал по разработке RESTful API на примере приложения «Телефонная книга».
Http Rate Limit — туториал по тому, как сделать rate limit запросов в вашем API.
Reading files in Go — неплохая статья с описанием нескольких способов чтения файлов.
Calling Go functions from other languages — вызов функций Go из других языков c примерами для С, Python, Ruby, Node и Java.
Basic testing patterns in Go — основные шаблоны тестирования в Go.
5 Advanced Testing Techniques in Go — статья для тех, кто хочет повысить уровень тестирования своих приложений.
Automating Go Development with ‘make’ - отличная статья с примерами автоматизации разработки при помощи ‘make’.
Don’t afraid of makefiles — еще один пример того, как можно улучшить процесс разработки используя ‘make’.
Go Concurrency Patterns: Pipelines and cancellation — реализация одного из concurrency паттернов.
Pipeline Patterns in Go — три примера использования pipeline паттерна.
Write a Mini Load Balancer to Learn Concurrency in Go — автор предлагает разобраться с concurrency, написав простой load balancer.
Посмотреть
Capital Go 2017: Buffalo — Rapid Web Development in Go — знакомство с Web фреймворком Buffalo.
dotGo 2017: Debuggers from scratch — Liz Rice объясняет, как работает отладчик.
dotGo 2017: Machine Learning and Go — краткое введение в машинное обучение с использованием Go.
just forfunc #26: why are there nil channels in Go? — автор пробует разобраться, зачем нужны nil каналы.
Инструменты и библиотеки
Awesome Go: 1200+ Go Links, Library and Tools — потрясающий список различных библиотек и инструментов.
go-web-framework-stars: список фреймворков для Go с наибольшим количеством звезд на GitHub.
Go Play Space: — экспериментальная альтернатива Go Playground с подсветкой, темами и keyboard shortcuts.
HttpLive: — сервис, позволяющий mock’ать HTTP запросы.
Hermes: — генератор responsive email сообщений. Портирован с библиотеки Node mailgen.
Telebot 2: — фреймворк для разработки telegram ботов.
Config: configuration library for Go — работает с переменными окружения, JSON файлами и умеет автоматически перезагружаться при SIGHUP.
go-base: Boilerplate для построения RESTful API.
Colly: — фреймворк для парсинга.
kurly: альтернатива curl написанная на Go
Pixel: библиотека для разработки 2D игр.
Sergey Hobot создал канал с новостями из мира Go в telegram, подписывайтесь :)