Тулзовины и хреновины 22
Поздравляю всех с прошедшими праздниками. Потихоньку отходим от празднований и возвращаемся в рабочий ритм.
Очень значимых событий в мире Go за это время не происходило, но у нас всегда есть чего почитать и что попробовать в деле.
Не забывайте, что вы можете поддержать проект и получить наклейки с милыми гоферами.
Новости
- Красивая остановка go-рутин и использование пакета runner.
- Тут ищут бекенд разработчика со знанием Go в Arduino LLC.
- GitLab runner переписан на полностью на Go. Ждем когда перепишут весь GitLab.
- Анонсирована официальная Golang либа для Pusher. Радуйтесь.
- Статья в блоге Docker про работу с сетью и как все будет хорошо.
- В свежем релизе Tor браузера 4.5 транспорты obfs2, obfs3 и ScrambleSuit переписаны на Go.
- Топ 15 веб-проектов, которые используют Go. Есть довольно значимые игроки.
- Пользуемся докером без докера. Но с сsystemd. Интересная презентация про то, как все устроено.
- На devcraft.tv появилось несколько скринкастов по Go. Ждем, что из этого получится.
Проекты
- Реализация Server-Sent Events на Go и фреймворке Gin.
- starterapp - Шаблон для быстрого старта веб-проекта.
- Dynamiq - Простая реализация очереди на базе Riak 2.0.
- git-mirror - Тулза на Go для простой реализации зеркал для гитхабовских реп.
- go-bootstrap.io - Шаблон для быстрого старта Go веб-приложения.
- cordovareloader - Небольшое приложение, которое следит за изменениями файлов в указанной директории.
- gcm - Google Cloud Messaging для приложений с серверами на Go.
- XMLGen - Тулза для генерации нативных Go типов по XML.
- telemetry - Еще один способ посчитать метрики вашего Go приложения.
- ccat - Аналог программы cat, только с подсветкой синтаксиса.
- go-disque - Простой Go клиент для раоты с Disque (распределенная in-memory очередь).
- popart - Библиотека для реализации POP3 сервера на Go.
- h2i - Консоль для отладки HTTP/2 протокола.
- go-rpio - Нативная либа для GPIO-pins на Raspberry Pi.
- Donna Chess Engine - Свободный шахматный движок.
- basex - Пакет, реализующий basex шифрование. Можете получать ID как у ютуб видео роликов.
- expvarmon - Монитор для expvars на базе TermUI.
- freecache - Пакет, реализующий кеширование без лишнего оверхеда GC.
- gigo - Еще один менеджер зависимостей для Go, только теперь в стиле питоновского pip.
- vault - Приложение для хранения секретов. Зашифрованное хранилище.
- couchcache - Cервис для кеширования. REST API в комплекте. Построен на базе Couchbase.
- go-exit - Пакет, с помощью которого можно модифицировать поведение при завершении программы.
- utwil - Набор утилит для работы с сервисом Twilio.
- vanish - Пакет для супер простой работы с временными папками и файлами.
- cucache - Клон мемкешид, только на Go и круче.
- caddyserver - Веб сервер для людей с поддержкой HTTP/2, IPv6, Markdown, WebSockets, FastCGI, шаблонов и еще много разных страшных слов.
- pingo - Пакет, который дает возможность расширять приложение с помощью плагинов. Работают через RPC.
- go-fuzz - Тулза для тестирования Go пакетов с помощью фаззинга.
- journey - Блоговый движок на Go, совместимый с Ghost темами.
- boxed - Движок для блога, который можно хостить в дропбоксе. На Go, конечно.
- pcap - Пакет для работы с pcap файлами на языке программирования Go.
- GoBlocktrail - Предоставляющий доступ к Blocktrail API. Это такой продвинутый сервис для работы с биткоинами.
- fuji - A MQTT gateway is a sensor-MQTT gateway which receives data from sensors and sends that data to a MQTT broker.
- offheap - an off-heap hash-table in Go. Used to be called go-offheap-hashtable, but we shortened it.
- simple-scrypt - Удобный врапер вокруг существующей Go либы scrypt.
- git-time-travel - Расширение для Git, которое позволяет делать ссылки на будущие коммиты.
- envconfig - Пакет для конфигурации приложения с помощью переменных окружения.
- lxd - REST API, консольная тулза и OpenStack плагин для интеграции LXC.
- Patrol - Реализация sentry сервера на языке Go.
- httpmock - Инструмент для быстрого создания заглушек сервисов при тестировании Go кода.
Статьи
- Ручное управление памятью в Go. Невероятное рядом.
- Реализация чата на базе Secret с помощью языка Go.
- Улучшаем стандартную Go сортировку в 5 раз. И как это вообще возможно.
- Пишем лексер и парсер на Go. Часть 2.
- Хабрастатья "Реализуем ещё более безопасный VPN-протокол".
- "Go и работа с базами данных, в частности с PostgreSQL". Новая статья в блоге @afiskon.
- Новая статья в официальном блоге Go "Testable Examples in Go".
- Отличная статья от cloudflare "Go crypto: bridging the performance gap"
- Работа с ошибками в HTTP хендлерах. Подходы и практики.
- Памятка по кросс-компилированию Go программ.
- RESTful роутинг на языке программирования Go.
- Пишем красивый и юзабельный миделваре на Go.
- Сборка Go проектов с помощью новой модной, стильной, молодежной тулзы gb.
- "Retrying in Go" Небольшая хитрость для повторения некоторых действий(например, в случае нетсплита)
- Использование алгоритма "Hashicorp Raft" для построения"Redis sentinel".
- Использование sync.Once совместно с Reset()
- Сравниваем распределенный RWMutex с классическим.
- Пять простых секретов и приемов для написания юнит тестов для Go приложений.
- Руководство по консистентному хешированию в Go и библиотекам для его использования.
- Мнение о Go одного из контрибьютеров Rust. Что понравилось, а что нет.
- Небольшая памятка по настройке TLS в приложениях на Go.
- Статья про использование движка для полнотекстового поиска bleve.
- Видео и презентация про правильное использование интерфейсов в Go.
- Учимся писать простой веб-скрейпер на языке Go. Примеры прилагаются.
- Делаем кастомные обертки над http.HandlerFunc и какой в этом профит.
- Замена для Rails. Часть 1. Хипстеры бегут на Go.
- Хабрастатья "Реализуем безопасный VPN-протокол". Все что вы хотели знать о GoVPN.
- Репликация SQLite с помощью Raft алгоритма. И, как результат, проект rqlite.
- Управление пакетами с помощью Landscape и как с этим связаны микросервисы на Go.
- Внедрение зависимостей, утиная типизация и чистый Go код.
- Лайв-стори о создании мультиплеерной игры puzzl на языке программирования Go.
- Обработка ошибок в Go. Хорошие и плохие стороны.
- Пишем web-серверы на Go объектно ориентированно. И какие в этом есть плюсы.
- Go за 4 дня. Автор делится ощущениями от работы с Go.
- Простой пример создания Go приложения на Heroku.
Видео
- Не самое свежее, но все еще актуальное видео с DevConf 2014 от Дмитрия Вьюкова. Пишем функциональное, надежное и быстрое веб-приложение на Go.
- Воспроизводимые сборки. Dave Cheney рассказывает про управление зависимостями и свой новый супер инструмент для этого.
- Как используют Go в "The New York Times". JP Robinson, сеньер разработчик из "The New York Times", рассказывает как они используют Go последние два года.
Инструменты
- rtop - Удаленный системный монитор. Можете подключаться к машине по SSH и следить за CPU, диском, памятью, сетью.
- panicparse - Парсер для стектрейсов, который превращает их в удобочитаемый лог.
- c6 - Быстрый SASS компилятор на Go. Супер быстрый.
- На sourcegraph.com появился анонс Appdash, инструмента для трассировки.
- bunch - Тулза для управления зависимостями в стиле npm, только для Go.
- gb - Тулза для вендоринга зависимостей в вашем проекте и сборки его.
- godo - Простой и удобный инструмент для запуска команд сразу на нескольких машинах.
Всякое
- spambot - Программа на Go для генерации случайных предложений.
- Подборка книжек по языку Go. Тут и платные, и бесплатные. Кстати, у нас есть своя подборка бесплатных книг.
- С помощью симлинков обходим ограничения на структуру Go проекта.
- Интересный документ для разработчиков, которые хотят написать еще одни инструмент для управления зависимостями в Go.
- Презентация "Reproducible Builds" от Dave Cheney. Поговорим о менеджменте зависимостей.
- buildkite.com - Сервис для автоматизации вашего рабочего процесса.
- Доклад от Francesc Campoy "Go для C++ разработчиков".