Go дайджест #4: WebAssembly and Go, Go 1.11 Beta 1, GraphQL, Apple Metal API and Go

В выпуске: как писать проекты на Go в 2018 году, High Performance Go, ТОП-1000 GitHub-репозиториев, отсортированных по количеству звезд.

Новости

Go 1.10.3 and Go 1.9.7 Released — минорный релиз с исправлениями в GoCommand, crypto/tls, crypto/x509.

Go 1.11 Beta 1 Released — не поддерживает vgo (ожидается в beta 2), но поддерживает WebAssembly output. Draft release notes.

Go на 3-м месте среди самых популярных языков программирования в „Hacker News’s Hiring Trends”.

Tutorials & Articles

How to Start A Go Project in 2018

Binding Go Structures to JS References in WebAssembly

Web Assembly and Go: A Look to The Future

GopherJS vs WebAssembly for Go

Using Go for WebAssembly Applications

Using Interfaces and Dependency Injection to Future Proof Your Designs

Writing a Simple Shell in Go — еще один пример, который показывает, насколько хороша стандартная библиотека.

Storing Go Structs in Redis using ReJSON

Getting Started with GraphQL from Go

Using GraphQL with Microservices in Go — пример разработки интернет-магазина.

How to Create a Search Microservice — разработка поискового микросервиса с использованием ElasticSearch.

Realtime Chat with GraphQL Subscriptions in Go

Building a Microservice in Go Following the CQRS Pattern

Rendering a Triangle with Apple’s Metal API Using Go

An Exploration of Go Memory Management — обзор того, как работают Go allocators, и различных способов управления памятью.

Using Job Queues in Go for Resilient Systems — Proof-of-concept используя RabbitMQ.

Faster Test Driven Development With Go on macOS — используем fswatch и grc для автоматического запуска релевантных тестов при каждом изменении кода.

How to Write Bulletproof Code in Go

Backing Up GitHub and GitLab Repositories Using Go

Writing gRPC Interceptors in Go

How to Setup gRPC Service to Service Communication

Building Scalable Web Services in Go

Packaging a Go Application for macOS — „упаковка” Go приложений без использования Xcode.

Protecting API Access with JWT — пример использования JSON Web Tokens (JWT) для аутентификации API.

Rolling a Basic Go Microservice with MongoDB and Docker Multi-Stage Builds

A Step-by-Step Guide to Go Internationalization

Go Code Refactoring: The 23x Performance Hunt

Exploring The Landscape of Go Testing Frameworks

Компилятор Go: язык описания правил SSA оптимизаций

Посмотреть

High Performance Go — использование performance tools, встроенных в Go runtime, GC и GC-friendly код.

Getting Started with OAuth2 in Go

Understanding Running Go Programs through Profiling

justforfunc #36: Versions, build constraints, and ldflags

justforfunc #37: sync.Pool from the pool

GOTO 2018: Containers From Scratch

Инструменты и библиотеки

Топ 1000 Github репозиториев, отсортированных по количеству звезд

httpu: ’Terminal-First’ HTTP клиент.

ULID (Universally Unique Lexicographically Sortable Identifier): более эффективная альтернатива GUID / UUID.

Gaia: платформа для автоматизации, позволяющая создать мощные пайплайны. На основе HashiCorp’s go-plugin и gRPC поверх HTTP2.

Form: создание HTML форм при помощи Go Structs.

pb: Progress Bar для консольных приложений.

Fathom: аналитика для сайтов.

fastjson: еще одна библиотека для парсинга JSON.

Micro: nano-подобный текстовый редактор.

Remark: система комментариев не отслеживающая пользователей. Демо.

httpstat: визуализация статистики HTTP запросов.

xorm: ORM для Go с поддержкой MySQL, Postgres, TiDB, SQLite, MS SQL, и Oracle.

go-heroku: деплоймент Go в Heroku при помощи GitLab CI.

go-mysql-elasticsearch: синхронизация данных из MySQL в Elasticsearch.

recaptcha: Go обертка для reCAPTCHA.

WTF: информационный дашборд в терминале.

Golimit: распределенный и децентрализованный rate limiter.

php-parser: A PHP Parser, использующий goyacc и golex библиотеки для для парсинга PHP в AST. Демо.

stripe-go: библиотека для работы со Stripe API.

Pion WebRTC: имплементация WebRTC Native Api на Go.

Mort: S3 совместимое хранилище и сервер обработки изображение. Умеет делать resize, rotate и crop изображений, конвертировать в разные форматы.

Liman: Webapp для мониторинга Docker.

githubv4: библиотека для GitHub’s GraphQL API v4

sbr-go: Sequence-Based система прогнозирования

Blush: ’Цветной grep’. Утилита, позволяющая указать цвет для каждого совпадения.

jp: Bar charts, line charts, scatter plots, histograms в терминале.

consulacl: библиотека для работы с Consul ACLs

Pigo: Face Detection библиотека, основанная на подходе Pixel Intensity Comparison-based Object (PICO) detection.


← Предыдущий выпуск: Go дайджест #3.
Следующий выпуск: Go дайджест #5

LinkedIn

4 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Подписаться на комментарии