В выпуске: поддержка Google serverless platform, примеры работы с JSON, ошибки при реализации модулей, как создать mock.
Новости
Go 1.11.5 and Go 1.10.8 Released — в релизах устранены потенциальные проблемы безопасности и DoS уязвимость.
Go 1.12 Release Candidate 1 Released — список изменений.
Go (1.11) Now Supported on Google Cloud Functions — Go присоединился к Node и Python и теперь поддерживается в Google serverless platform (video introduction).
GopherCon is Back for 2019 — крупнейшая в мире конференция по Go пройдет
GitHub Has Changed the Color It Uses to Represent Go — не очень важная новость, но все же. Данное изменение обсуждалосьнекоторое время. Цвет Go теперь совпадает с цветом Gopher.
Understanding Go TLS Mutual Authentication DoS CVE-2018-16875 — микросервисы, написанные на Go версии ниже, чем 1.10.6 и 1.11.3, которые используют взаимную TLS аутентификацию, подвержены DoS уязвимости.
AresDB — GPU-Powered Real-Time Analytics Engine, разработанный в Uber. Uber создал довольно серьезный проект с использованием Go & CUDA, в котором используется GPU для параллельных вычислений и обработки данных в реальном времени. GitHub repo.
Tutorials & Articles
Building Self Hosted Alexa Skills with Go — создание Amazon Alexa Skill, используя Go с деплойментом на Heruku.
Handling 1M WebSocket Connections in Go?— демонстрация «как эффективно поддерживать очень большое количество подключений к веб-сокетам в Linux» с использованием только Go.
A Look at Working with Trees — введение в древовидные структуры данных и использование их в Go.
Go JSON Cookbook — полезная коллекция примеров работы с JSON.
A Look at Go Framework Popularity — анализ 20 различный web и microservice фреймворков.
A Guide to Migrating to the Official MongoDB Go Driver — как мигрировать на официальный драйвер MongoDB.
How to Mock in Go — три различных подхода к созданию mock.
When Writing Unit Tests, Don’t Use Mocks (Use Fakes) — со слов автора fakes обеспечивают большую гибкость и позволяют легко тестировать и проводить рефакторинг.
BoltDB vs Badger — сравнение Go Key-Value баз данных.
Deploying Go with Docker to Heroku
How to Fix Tightly Coupled Go Code — «Dependency Injection and the Interface Segregation Principle in Go».
Linked Lists in Go — имплементация популярной структуры данных на примере музыкальных плейлистов.
Uploading Files to AWS S3 using Go
Producing Multipart HTTP Responses in Go
Build Your Own OAuth2 Server in Go
Breaking All The Rules: Using Go to Call Windows APIs
Best Practices for Writing High-Performance Go Code
Exploring Error Handling Patterns in Go
Посмотреть
The State of Go in February 2019
Building Modern Desktop Apps in Go — видеознакомство с Lorca framework, в котором используется Chrome DevTools протокол, который позволяет создавать приложения, подобные Electron, используя HTML и Go.
Go Modules for Package Maintainers — наиболее распространенные ошибки, которые совершают мейнтейнеры при реализации модулей.
Live-Building a Scalable API in Go with Kubernetes — cоздание масштабируемого API c деплойментом в Kubernetes на Google Cloud Platform.
TinyGo — Lightning talk о использовании Go на микроконтроллерах.
SQLite and Go — введение в работу с SQLite из Go.
A 13 Minute Intro to Building Google Cloud Functions in Go
Инструменты и библиотеки
mkcert:инструмент для создания locally-trusted development сертификатов.
Excelize:библиотека для чтения и записи Excel документов.
chezmoi:безопасное управление dot файлами на нескольких машинах.
Shipspotter:инструмент для туннелирования в удаленные Docker контейнеры через SSH.
gotest:красочный `go test`.
Faker:генератор fake данных для структур.
websocketd: превращает любую программу, которая использует stdin/stdout, в WebSocket сервер.
RIPZap:быстрый JSON Logger для Go.
gitin:
go-statsd: StatsD клиент для Go.
Elastic работает над официальным клиентом Elasticsearch для Go
Archiver:«Easily» создание и извлечение архивов .zip, .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lz4, .tar.sz, и .rar (extract-only) при помощи Go.
filetype:Быстрый, dependency-free способ определения типов файлов при помощи magic numbers.
← Предыдущий выпуск: Go дайджест #6.