×Закрыть

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, подписывайтесь :)

Следующий выпуск: Go дайджест #1

LinkedIn

15 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Якісь перевірені матеріали для початківців порадьте, будь ласка.

Дожились! Очам своїм не повірив коли побачив огляд для Go!
З почином!

хороший контент, спасибо

Большое спасибо !

О, круто. Подписываюсь.

Гаджет необхідний кожному гошнику: i.imgur.com/EVc3Nm0.png

Так делают только те, кому пофиг на обработку ошибок. В итоге получпются невнятные сообщения об ошибках, по которым сложно понять, что пошло не так. Такие сообщения об ошибках немного лучше, чем «error 1234» из мира си или «exception foobar: 1000 useless stack frames here» из мира java, но все равно далеки от совершенства. Лучше дополнять сообщения об ошибках простым для понимания контекстом перед «return err». Например, если не удалось открыть файл, то ошибку можно дополнить пояснением, что это за файл, и для чего этот файл понадобился в данном месте программы. Тогда все вам будут благодарны — последующие разработчики, админы и пользователи вашего творения.

Я не в темі, просто виклав картинку :) В мовах якими я користуюся є Either. Про контекст +100500

Спасибо за подборку)

Подписаться на комментарии