Тулзовины и хреновины 30
Это последний выпуск тулзовин и хреновин в 2015 году.
С новым всех гоферов! Желаю вам еще больше программирования на Go в следующем году, как можно меньше багов и как можно больше скорости.
Чтоб ваши сервисы держали еще больше запросов.
Новости
- Golangshow выпуск 034. Go в автобусе, в претензиях и в git notes.
- Релиз Go 1.6 Beta 1. Почитать о новой версии можно тут.
- Чуть не пропустили! Gogs обновился и теперь там есть Pull Request, Wiki и новый дизайн.
- Свежий выпуск Go Newsletter 88. Читаем, впитываем, умнеем.
- Выпуск Go Newsletter 87. Еще больше новостей и статей.
- Новый релиз Go v1.5.2 делает эту пятницу еще лучше.
Проекты
- dingo - Сервис для обработки задач. Улучшенный клон Celery.
- Skizze - Сервис для хранения вероятностных структур данных.
- gores - Пакет для работы с HTTP ответом в Go стиле.
- slackhop - Воспроизводин история в слаке.
- oz - Песочница для запуска и изоляции приложений.
- go-lambda - Набор инструментов для построения AWS Lambda инфраструктуры.
- talisman - Инструмент для анализа изменений при отправке их в главный репозиторий.
- buford - Пакет, с помощью которого можно делать пуш-нотификации для APN(Apple Push Notification). Работает с Go 1.6 и HTTP/2.
- HA - Повышаем стабильность ваших функций и методов.
- ozzo-dbx - Пакет, который расширяет стандартный пакет database/sql, путем предоставления мощных методов извлечения данных.
- go-vcr - Тулза, которая дает возможность записать и воспроизвести ваши HTTP взаимодействия. Удобно использовать для тестов.
- empire - Слой управления для Amazon EC2 Container Service (ECS).
- docker-unit - Фреймворк для тестирования Dockerd файлов. Почти как xUnit, только для docker.
- dsv - Пакет для работы с DSV(Delimited Separated Value). Этот как CSV, только в совсем вольной форме.
- Пакет для локализации дат в Go приложениях.
- go-eventcast - Простой броадкастинг событий в Go приложении.
- xmux - Легковесный и высокопроизводительный HTTP мультиплексор.
- fungen - Инструмент для упрощения генерации различных Map, Filter, Reduce и других аналогичных методов.
- gofile - Пакет для абстракции над файловой системой с возможностью добавления своих плагинов.
- hot - Пакет для работы с шаблонами. Позволяет на горячую менять шаблоны.
- vscale_api - Пакет для работы c vscale.io. Можно делать свои консольные тулзы.
- restruct - Либа для работы с бинарными данными, сериализации и десериализации.
- feature-flags - Пакет, который позволяет вам включать/выключать некоторые фичи вашего приложения в рантайме.
- newhope - Реализация алгоритма рost-quantum обмена ключами.
- captainslog - Инструменты для работы с syslog протоколом.
- rexdep - Инструмент для построения графа зависимостей в исходниках.
- Хель - повелительница мертвых, которые не достойны Вальхаллы и попадают в Хельхейм. Ну и генератор моков еще.
- Wizard Message System - Концепт волшебной системы сообщений для Go и Си.
- pick-json - Пакет для быстрого получения данных из JSON.
- gompatible - Тулза, которая позволяет сравнивать изменения в экспортируемом API пакета.
- vcrypt - Тулкит для мультифакторного шифрования.
- snap - Фреймворк для сбора телеметрии вашего приложения.
- go-hpc - Миделваре для Gorilla, которое дает возможность удобно строить быстрые RPC сервисы.
- Kapacitor - Фреймворк для обработки, мониторинга, оповещения и другой работы с данными временных рядов.
- eremetic - Фреймворк для Mesos, который позволяет запускать единичные таски.
- say - Логи и метрики для приложений, работающих с Rethinking.
- queue - Пакет, который реализует очереди поверх Redis.
- uilive - Либа, которая может обновлять вывод в терминал в реальном времени.
- dgraph - Расширяемая, распределенная, легко расширяемая графовая база данных.
- spiffy - Надстройка для работы с базой данных, которая избавляет от кучи шаблонного кода.
- mmm - Пакет для ручного управления памятью. Темная сторона силы.
- Package pool - Надстройка над каналами, которая дает дополнительные плюшки.
Статьи
- Список библиотек для работы с данными. Сам себе дата саентист.
- Список движков для 2D игр. Пишем игры на Go с удовольствием.
- В амазоновском блоге для девелоперов появилась категория Go.
- Введение в etcd. Распределенная система ключ/значение с grpc/http2.
- Учимся правильно использовать папку vendor для работы с зависимостями.
- Улучшаем композицию каналов. Статья из блога gopheracademy.
- Пример работы с Geo данными на языке программирования Go.
- Статья из блога gopheracademy: "Уроки кторыя я аолучил при разработке SHIELD".
- Симметричное тестирование API. Статья из блога gopheracademy.
- Делаем свой собственный набор инструментов для работы в терминале.
- Пишем "тоссер" на Go. Заменяем shell скрипты.
- Реализуем универсальный(не зависимо от типов) алгоритм событие/диспетчер на Go.
- Зачем и почему стоит делать бенчмарки. Чем больше - тем лучше.
- Go Concurrency против нативного C и pthreads.
- Хабрастатья "Go в 2015 году".
- Разбираемся с внутренностями стандартного пакета net/http.
- Используем Hydra как свой собственный менеджер авторизации и аутентификации.
- Учимся использовать NATS. Это такой высопроизводительная PubSub система, написанная на Go.
- Пишем свой SSH сервер на Go. Статья из болга gopheracademy.
- Предотвращение подлогов при кросс-сайтовых запросах на Go.
- Используем Glide для управления зависимостями как в большинстве других языков.
- Эксперименты с GO15VENDOREXPERIMENT говорят о том, что большинство инструментов недостаточно хорошо работают с этой фичей.
- Делаем расширение для CPython используя Go и gopy.
- Учимся использовать Atomi и делать стриминг поверх каналов.
- Хабрастатья: "Как мы перешли со Scala на Go".
- Команда разработчиков из The New York Times рассказала о своем проекте Gizmo. Делаем микросервисы проще.
- Генерируем и используем бесплатные SSL сертификаты с помощью Go и Lego.
- Использование тулзы test2doc для генерации документации по вашему API.
- Создаем Elastic Beat на Go. Гайд от самих elastic.
- Используем для мониторинга виртуального спорта Go, ffmpeg, OCR инструменты.
- Постулаты Go, только теперь с иллюстрациями в виде примеров кода.
- Кто и как жалуется на Go. И что с этим всем делать.
- Анализ производительности и потребления памяти в Go приложении.
- Уменьшаем количество повторяющегося кода с помощью go generate.
- Хабрастатья "Как я 8 месяцев переписывал свою криптовалюту с PHP на Go. Часть 1".
- Поговорим о стоимости дополнительной сложности при использовании Cgo.
- Делаем вызовы libc используя Go'шные разделаемые библиотеки
- Микроконтейнер для докеризации вашего Go приложения.
- SSL2 в Go. Патчим пакет crypto/tls для работы с IE6.
- Еще одна статья в блоге gopheracademy: "Go in a Monorepo".
- Коллаборативные приложения на Go используемые в Citrix.
- Новая статья в блоге gopheracademy: "goa: Untangling Microservices".
- Умная криптография с Superdog и Vault. Пост в блоге gopheracademy.
- Раскрываем секреты Go Fuzz в статье от gopheracademy.
- Свежая статья от Dave Cheney: "Are Go maps sensitive to data races? "
- Миграция с Sawzall. Исследование языков для перехода с Sawzall.
- Универсальная либа для работы с файловой системой : afero.
- Пытаемся избежать использования рефлексии в Go.
- Отладка Go программ с использованием дебагера Delve. Пост из серии на gopheracademy.
- Разбираемся с семантическим версионированием.
- Пример использования gomega для тестирования ваших Go приложений.
- Нагрузочное тестирование с помощью инструмента Vegeta.
- Разбираемся с "гонками" в конкурентном Go приложении.
Инструменты
- hostsconfig - Утилита для настроек в файле /etc/hosts.
- kati - Экспериментальный клон GNUтого make. Заточен под сборку для Android.
- gcli - Тулза для быстрого создания консольных утилит с дополнительными плюшками.
- dossh - Консольная тулза для DO, которая упростит выполнение консольных комманд на дроплетах
- md2slides - Инструмент для трансформации markdown файлов в презентацию. Пока поддерживается только reveal.js.
- onion - Плагин к Docker для работы с луковой сетью.
- Жизненная история о переезде с Scala на Go.
- godoc2md - Тулза для конвертирования godoc в markdown формат.
- git-appraise - Консольная тулза для кодревью в git репозиториях
- syzkaller - Распределенный, неконтролируемый фазер для тестирования сисколов Linux.
- runc - Пакет для запуска контейнеров согласно OCF спецификации.
- errcheck - Тулза, которая сканит ваш код на предмет забытых проверок ошибок.
- kurma - Следующее поколение среды для работы контейнеров.
Всякое
- Вакансия для Golang-программиста. Москва. Компания занимаемся созданием устройства для защиты сетей и сервисов от атак.
- Сеть дата-центров "Селектел" ищет опытного разработчика Go для разработки backend сервисов продукта Vscale в свою команду в Санкт-Петербурге.
- license - Генератор лицензий на Go. Просто и со вкусом.
- Небольшая тулза, с помощью которой можно искать необходимые юникод символы.
- ytdl - Либа и консольная тулза для скачивания видео с ютуба.
- Релиз Let's Encrypt клиента lego v0.1.0. Можно по чуть-чуть пользоваться.
- Доклад Роба Пайка на dotGo 2015 "Simplicity is Complicated "
- Еще один пример расширения для PHP написанное на Go.