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 створили додаток для зручної організації заходів