Go дайджест #6: итоги года, Go 1.12beta1, анимированные QR-коды на Go
Привет, меня зовут Сергей. Уже больше 8 лет я работаю в сфере разработки программного обеспечения, последние 3 года — с Go. Вы, наверное, удивлены, что этот выпуск пишу я, а не Женя Пилипенко. Не волнуйтесь, Женя никуда не пропадает, и дайджесты мы будем выпускать совместно.
Это последний выпуск дайджеста в 2018 году. И прежде чем бежать в супермаркет за мандаринами и шампанским, мы постараемся подвести в этом выпуске итоги года.
Яркие события в Go community за 2018 год
Релиз Go 1.10, который принес кучу оптимизаций:
VGO — инструмент для управления зависимостями, предложенный Рассом Коксом. Эта тема гремела очень долго:
- пост в оффициальном блоге;
- ряд статей с детальным описанием дизайна;
- огромный тред в Twitter с холиваром Расса Кокса и Сэма Бойера (автор dep);
- в итоге предложение Расса приняли.
Релиз Go 1.11, который принес Go modules и поддержку WebAssembly:
- пост в оффициальном блоге;
- релиз ноутсы;
- очень крутое выступление Бреда Фитцпатрика про Go 1.11;
- слайды от Валялкина с разбором патчей, нацеленных на улучшение производительности.
Go 2 Draft Designs — Расс Кокс представил первые драфты дизайна Go 2, которые нацелены на хендлинг ошибок, дженерики:
Стоит также отметить новый брендинг языка.
Клауд агностик библиотека для создания облачных приложений.
Итоги
Опрос JetBrains’s 2018 Developer Survey показывает, что программисты, которые сейчас пишут на других языках, все больше интересуются Go. Это подтверждают и 38% респондентов HackerRank’s 2018 Developer Survey, которые выбирают Go как следующий язык для изучения.
В этом году мне удалось посетить GopherCon Iceland, и больше трети слушателей там, работают с Go первый год. Количество новых программистов растет с каждым днем.
Взгляд в будущее
Новый процес подачи пропозиций для внесения изменений в Go.
Планы по улучшению Go modules на 2019.
Новости
Релиз Go 1.11.3 and Go 1.10.6 — фиксы безопасности
Релиз Go 1.11.4 and Go 1.10.7 — с мелким фиксами для 1.11.3 и 1.10.6
Читаем
Distributed Tracing Using Jaeger — распределенный трейскинг а Jaeger от Uber
Future of GopherJS and Go in the browser — GopherJS, WASM, и взгляд в будущее.
String interning in Go — хитрости со строками.
Animated QR data transfer with Gomobile and Gopherjs — невероятный Ваня Данилюк и его магия c анимированными QR кодами.
Go and Apache Arrow: building blocks for data science
Apache Beam and Google Dataflow in Go
The Relationship Between Interfaces and Reflection
Building a Chat Application in Go with ReactJS — немного фулстек магии
Validating Kubernetes Manifests — валидируем Кубер манифеста с помощью Go
Batch get from Golang’s buffered channel — забираем пачками из буферизированного канала
Migrating to go mod in just 3 steps — мигрируем на Go mod быстро и без слез
Building real-time messaging server in Go
Go Concurrency Design Patterns — Generator
Using Golang to Build Microservices at The Economist: A Retrospective — как престижное издание фигачит микросервисы
Errors in Go: From denial to acceptance — про хендлинг ошибок, снова.
Load balancer at your fingertips — пишем свой балансер на Go.
Build a DNS server in Go — пишем DNS сервер (балансера видать было мало)
Postmortem debugging Go services with Delve — вскрытие показало: пациент спал.
Sending big file with minimal memory in Go — меньше памяти, больше денег в кармане :)
Develop your 1st blockchain program in Go — рынок крипты стремительно падает, а решений на базе блокчейн становится все больше. Давайте смотреть, как с этим всем работать.
GoLang Templating Made Easy — как работать с шаблонизатором в Go.
Смотрим
Учимся писать спрайты в новом эпизоде Go after Dark.
Все про production ready микросервисы от ребят из Go-Jek.
The Scheduler Saga — очаровательная Kavya Joshi о скедулере Go.
Becoming a Go Contributor — контрибьютить просто.
justforfunc #42: Intro to Go Modules and SemVer — Францеск про Go modules часть 1
justforfunc #43: Migrating Go Modules to v2+ — Францеск про Go modules часть 2
Щупаем
Авто Lets Encrypt для ваших приложений.
А вы знаете, сколько весит ваш struct?
Отличная обвязка на HashiCorp Vault.
Вызываем Swift-код из Go.
Простая библиотека для форматирования текста таблицами.
Автоматическое профилирование c pprof от JBD.
Супер быстрая БД для структур Go.
Запускаем Python внутри Go.
Оркестратор для service mesh (что-о-о?)
Библиотека для cli от Питера Боргома
Также я веду канал в Telegram об интересном в мире Golang. Подписывайтесь!
← Предыдущий выпуск: Go дайджест #5.