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.

Похожие статьи:
Существование модели Xiaomi Mi 5 вряд ли можно назвать секретом, но реальных фотографий готового устройства в сети пока немного. На прошлой...
Компания Astell&Kern представила на российском рынке новую модель Hi-Fi плеера AK320, который внешне сочетает флагмана линейки с элементами...
Повістки через «Дію» не надсилатимуть, повідомило Міністерство цифрової трансформації заявило в коментарі DOU. Також команда...
У новому випуску DOU Podcast говоримо бонуси та плюшки в IT-компаніях і те, які з них дійсно важливі для співробіників, а які —...
Все, що відбувається, можна описати фразою з мого улюбленого сай-фай: «The avalanche has already started. It’s too late for pebbles to vote». Важливо...
Яндекс.Метрика