Go дайджест #5: Go 1.11 c поддержкой модулей и WebAssembly, отказоустойчивость в микросервисной архитектуре

В выпуске: Robustness of Go, Clean code using decorators, Go modules простыми словами, методы обработки ошибок, которые облегчают отладку.

Новости

Go 1.11 Released — последний мажорный релиз с поддержкой модулей и эксперементальной поддержкой WebAssembly. Release notes.

A Gentle Introduction to Go Modules — Go modules простыми словами.

Go 1.11’s Versioned Modules Documentation

HTTP/2 Adventure in the Go World — net/http теперь поддерживает http/2, ну почти.

Go Was The Fastest Growing Language Used in GitHub Pull Requests in Q2 2018.

Tutorials & Articles

Getting Started with Go Development on the Pixelbook

A Good Makefile for Go — пример Makefile, который включает „hot reloading”.

Deploy a Buffalo App to DigitalOcean with Docker

Clean Code using Decorators — как сделать код чище используя декораторы.

Refactoring Go Switch Statements

Goodbye Python, Hello Go — история одного разработчика о том, как он начал использовать Gо вместо Python.

Build a Multiplayer Game in Go with PubNub

Write Go, Run WASM — очень короткий туториал по WebAssembly.

Building a Serverless Function using the Serverless Framework and Go

Interacting with Ethereum Smart Contract Events in Go

Some Go Error Handling Practices — несколько методов обработки ошибок, которые облегчают отладку.

Using Go Modules with Vendor Support on Travis CI

Circuit Breaker and Retry — отказоустойчивость в микросервисной архитектуре.

How to Use the Official MongoDB Go Driver — включая использование модулей Go 1.11.

Cloudflare’s Journey Porting Its Software to ARM64 — интересный опыт от Сloudflare о том, как они портировали свой код на ARM64.

Accessing Data in Go — демонстрация подхода для доступа к данным при написании веб-приложений.

Building a Calculator with Go WebAssemply.

’How We Massively Reduced Our AWS Lambda Bill With Go’

Посмотреть

Brian Kernighan on Go, Programming Languages, and Computer Science

Linear Regression with Gradient Descent

Go: Building on the Shoulders of Giants and Stepping on a Few Toes — история Go и почему создатели языка приняли определенные дизайнерские решения.

Building a Network Command Line Interface Tool in Go

Building Go Applications for the Open Cloud

The Robustness of Go — доклад охватывает проектные решения Go, которые помогают в создании надежных программ, но также и недостатки Go в этой области, особенно в сравнении с Erlang.

Building a Resilient Stream Processor in Go

Dave Cheney — Don’t Just Check Errors, Handle Them Gracefully

Building a Production-Ready Go Service in 30 Minutes — live coding сессия из GopherCon UK, на которой разрабатывается production-ready сервис и деплоится при помощи Docker.

Инструменты и библиотеки

go-sqlite-lite — SQLite драйвер. Поддерживает SQLite’s online backup API и BLOB incremental IO.

gosec — проверка безопасности кода. Выполняет ряд правил над абстрактным синтаксическим деревом Go кода, чтобы выявить потенциальные проблемы.

Beego — Framework для быстрой разработки RESTful APIs.

Heighliner — Continuous Delivery из GitHub в Kubernetes Cluster.

repo-security-scanner — CLI инструмент для поиска приватных ключей, паролей и т. д., которые были закомичены в Git.

Chart — генерация графиков на основе данных из STDIN. Умеет генерировать „pie charts”, „bar charts” и т. д. во временную HTML-страницу.

embiggen-disk — рекурсивный Live-Resize файловой системы в Linux от Google.

ZikiChombo — библиотека для обработки звука.

Bild — коллекция алгоритмов параллельной обработки изображений. Ресайзинг, повороты, изменение цвета и т. д.

Rclone — ’Rsync for Cloud Storage’ поддерживает ~20 платформ.

gomarkov — библиотека имплементирующая цепи Макова.

Goofys — POSIX-ish Amazon S3 File System. Позволяет примаунтить S3 бакет в виде файловой системы.

morse — библиотека кодов Морзе. Мало ли что может произойти...)

SSO Authentication Proxy от BuzzFeed — ребята из BuzzFeed выложили в open source свою реализацию SSO Authentication Proxy и описали, как она работает.

Vegeta — библиотека для тестирования HTTP-нагрузки с поддержкой HTTP/2.

GopherCon 2018 Performance Tuning Workshop — код, упражнения и расписание GopherCon Performance Tuning Workshop от Dave Cheney.

Fleep — библиотека для определения формата файла. Распознает около 100 форматов.

lazygit — консольный UI для Git-команд.

Zap — библиотека для логирования от Uber.

go-health — „Health Checking” библиотека для Go-Powered сервисов.

Noti — мониторит процесс и тригерит уведомление по завершению.


← Предыдущий выпуск: Go дайджест #4.

Похожие статьи:
Демоны, агенты, хелперы — да кто они все такие?! Меня зовут Владимир. Я занимаюсь macOS-разработкой уже около 6 лет. За это время работал...
У Міністерстві економіки обговорюють можливості, як зробити ФОП і гіг-спеціалістів доступними для бронювання від мобілізації. Про...
If you on the lookout for a unique gift for someone special, but you are unsure what to buy, then we have a great idea for you. Have you considered creating your own Personalised Star Map? Maybe you don’t know what these are, so let’s...
Украинский оператор мобильной связи life:) сообщил о начале предоставления своим абонентам новой услуги  «Заплати за мой звонок»,...
Не так давно у меня была презентация на тему фейлов и успехов ИТ-рекрутера. Попробую поделиться парой мыслей из доклада здесь....
Яндекс.Метрика