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.

Похожие статьи:
З грудня 2021 року тягнеться історія з невиплатами грошей колишнім співробітникам компанії «Епіцентр М», яких керівництво вирішило...
Сьогодні відбулася презентація проєкту Future Perfect — це національна програма популяризації англійської мови, яку координуватиме...
RubyC-2016 invites Rubyists to Kyiv! On 4-5th of June 2016 RubyC will take place in Kyiv for the fourth time! RubyC is the major Ukrainian conference devoted to Ruby, Ruby on Rails and related technologies. Organized...
Запрошуємо спільноту пройти опитування щодо книжок на ІТ (й суміжну) тематику. Останній схожий рейтинг ми складали...
ІТ-компанія Intellias, яка входить до рейтингу топ-10 на DOU, оголосила про придбання NorthLink Digital, британської ІT-компанії,...
Яндекс.Метрика