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 World Go — 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'Journey Porting Its Software to ARM64 — цікавий досвід від Сloudflare про те, як вони портувати свій код на ARM64.

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

Building a Calculator Go with WebAssemply .

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

Подивитися

Brian Kernighan Go on, 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'sonline 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 Proxy Authentication від BuzzFeed — хлопці з BuzzFeed виклали в open source свою реалізацію SSO Proxy Authentication і описали, як вона працює.

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 .

Опубліковано: 08/09/18 @ 01:35
Розділ Сервіси

Рекомендуємо:

PHP дайжест #16: новинки в РНР 7.3, Laravel 5.7, головні події цього місяця
Centers of Excellence. Особливості впровадження
DOU Ревізор у Хмельницькому: «Компактний офіс Stfalcon.com»
DOU Проектор: репозиторій на GitHub – шпаргалка для вивчення Python
DOU Labs: як в RiverSoft створили додаток для зручної організації заходів