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.

Похожие статьи:
Українська IT-компанія SQUAD 1 липня звільнила співробітника, який заявив, що підтримує путіна. Головне Зі SQUAD звільнили спеціаліста,...
Галині Харківській двадцять чотири роки, уже рік вона працює web-аналітиком у Booking.com. Ще зі школи дівчина знала, що пов’яже життя...
Компания Lenovo представила планшет для бизнеса TAB3 10 Business, работающий под управлением ОС Android, а также свою первую серию планшетов...
В 2012 году на DOU публиковалась статья с прогнозами развития IT-отрасли в Украине на следующие 5 лет. На дворе 2017 — пора...
Разом з іншими Android-інженерами в CloudMade ми вирішили покращити логування в нашому Android-застосунку. Визначили шари, які...
Яндекс.Метрика