Тулзовины и хреновины 34
Всех с праздниками! У вас есть целых четыре выходных дня и их можно потратить с пользой - почитать новый выпуск "тулзовин и хреновин".
Этот месяц был богат на минорные релизы Go. Не забудьте обновиться.
Если вы хотите помочь проекту, то у вас есть возможность получить отличные наклейки с гофером.
Не забывайте читать на в vk и twitter.
Новости
- Возможно, уже скоро в Go будет поддержка binary-only пакетов для cmd/go и go/build.
- GolangShow выпуск 054. В гостях Антон Тюрин из Яндекса. Перевод книги Донована и Кернигана. Оптимизация кода и производительность
- Свежий выпус Golang Weekly Newsletter номер 107.
- Неожиданно, минорный релиз Go 1.6.2.
- Предложение по дженерикам в Go. Быть или не быть?
- Релизы сразу двух версий Go: 1.6.1 и 1.5.4.
- Пакет context таки будет в Go 1.7. Спасибо bradfitz.
- Релиз 1.0 системы для непрерывной интеграции concourse.
- Поступила в продажу книга "Язык программирования Go".
Проекты
- leaktest - Детектилка для утечек рутин в Go.
- env - Очень простой способ для работы с переменными окружения.
- kontinuous - Платформа для непрерывной интеграции и поставки в Kubernetes.
- flen - Меряем размер функций в программах на Go.
- gocrawl - Легковесный, простой и удобный кравлер написанный на Go.
- REST Layer - Фреймворк для создания API также легко, как это делается с помощью Python Eve.
- neutrino - Бекенд для ваших мобильных и веб приложений, который позволяет быстро привязаться к некоторому хранилищу.
- find - Фреймворк, который предоставляет возможность позиционирования по wi-fi девайсам.
- godnn - Deep Neural Network библиотека для Go.
- scope - Пакет для мониторинга, визуализации и управления Docker и Kubernetes.
- gam - Пакет, реализующий модель акторов для Go.
- sigmon - Пакет для работы с сигналами в OS. Простой и удобный.
- gogsi - Маленький фреймворк, которые использует JWT от Google для аутентификации
- gobgp - Реализация BGP(Border Gateway Protocol) на чистом Go.
- testfixtures - Фикстуры для тестов в стиле Rails, только для Go программ.
- micro - Простой консольный текстовый редактор написанный на Go.
- polygen - Реализация генетического алгоритма для аппроксимации изображения с помощью полигонов.
- jwt-go - Реализация JSON Web Tokens (JWT) на языке прогрммирования Go.
- mongodm - Пакет для работы с базой данных MongoDB. Мапим структуры на документы.
- gohakai - Простой инструмент для нагрузочного тестирования.
- bmatch - Быстрая реализация поиска подстроки в строке для Go.
- messenger - Либа для написания ботов к фейсбуковскому месенджеру.
- goma - Расширяемый агент для мониторинга. Написан на Go.
- notorious - Достаточно полная реализация торрент трекера на Go.
- tesla - Go врапер над API для удаленно управления Tesla Model S.
- futurama - Реализация очередей с MySQL в качестве бекенда.
- athenapdf - Замена для wkhtmltopdf написанная на Go.
- nomad - Менеджер кластера, который можно использовать как для долгоживущих сервисов, так и для нужд тестирования.
- ark - Компилируемый системный язык программирования написанный на Go с использованием LLVM фреймворка.
- onionscan - Тулза для сканирования луковых сетей на уязвимость.
- archiver - Очень простой способ создания zip и tar архивов.
- redisc - Go клиент для Redis Cluster построенный поверх redigo.
- gofeed - Библиотека для парсинга RSS и Atom фидов. Напиши себе GoogleReader.
- go-winio - Набор утилит для работы Win32 вводом/выводов.
- sgo - Диалект языка программирования Go в котором обходятся паники nil указателей в рантайме.
- storm - Обертка и своеобразный ORM для работы с базой данных BoltDB.
- htree - Реализация HTree алгоритма на языке программирования Go.
- go-apns2 - Еще один пакет для работы с Apple Push Notification сервисом.
- gofight - Специальный хендлер для тестирования API.
- stm - Пакет предоставляет возможность транзакционной работы с памятью(Software Transactional Memory).
- rts - Генерируем структуры по JSON полученному с сервера.
- vuls - Сканер уязвимостей для линукса, написанный на Go.
- apex - Минималистичный интерфейс для AWS Lambda функций.
- neutron - Сервер для почтового клиента Protonmail.
- githubble - Следим за звездами и форками на GitHub в реальном времени.
- go-unused - Утилита, которая показывает неиспользуемые функции, поля структур и т.д.
- Kapacitor - Фреймворк для обработки, мониторинга, оповещения и другой работы с данными временных рядов.
Видео
- Машинное обучение. Немного поговорим о машинном обучении и Go.
- Продвинутое тестирование. Продвинутое тестирование Go программ. Инструменты и подходы.
- Сам себе JWT. Пример реализации JWT аутентификации на Go.
Статьи
- Перевод статьи "Closures in golang". Замыкания - это такие функции, которые вы можете создавать в рантайме и им будет доступно текущее окружение, в рамках которого они были созданы.
- Работа с датой и временем в языке программирования Go.
- Статья "Go json.Decoder Considered Harmful". Разбираемся когда использовать
json.Decoder
, а когдаjson.Unmarshal
. - Делаем свой простой статический анализатор на Go.
- Очень простой способ отправить почту с помощью Go.
- Используем Go библиотеку для работы с MLLP(Minimum Lower Layer Protocol).
- Статья про использование локальных интерфейсов в Go.
- Хабрастатья: "Сугубо ненаучно: Tarantool 1.6 vs Golang (по скорости)".
- Пишем текстовую адвенчуру на языке программирования Go. Часть 4.
- Статья от Brian Seitz "Наиболее соблазнительные ключевые слова".
- Учимся отправлять кастомные заголовки для респонсов в httprouter.
- Набор приемов для работы с JSON в языке программирования Go.
- COPY Relocations
- Микроархитектура и паттерны разработки для микросервисов.
- Несколько трюков для уменьшения бинарников Go программ.
- Практика Go программирования. Реализация миделваре для логина пользователей.
- Набор инструментов для еще более продвинутого программирования на Go.
- Куда вставлять вызовы метрик и как ими пользоваться.
- Пишем Go приложение с использованием JWT токенов.
- Маленькая статья от Dave Cheney на тему значения TDD.
- Проблема "найти-вставить-удалить" в рамках языка программирования Go.
- PacketZoom зарелизили LogZoom - инструмент для работы с логами.
- Используем константы для своих ошибок. Статья от Dave Cheney.
- Практика программирования на Go. Пишем простое миделваре для логирования.
- Большая статья о том как все устроено в Uber.
- Введение в тестирование Go HTTP с использованием Go Relay.
- Небольшая заметка по использованию defer в вашей Go программе.
- Метрики и использование TSDB (Time Series Database).
- Вторая и третья часть туториала по написанию своей текстовой адвенчуры.
- Пишем свой простой Lisp на Go. На самом деле, все очень просто.
- Статья "Dave Cheney" о том, как будет круто в Go 1.7.
- Пишем риалтаймовые стоки на Go. Пример несложного приложения.
Инструменты
- scientist - Пакет, который упрощает рефакторинг и исследование различных вызовов.
- lgtm - Отличный инструмент, который не позволяет мерджить реквесты в гитхабе, пока их не одобрят.
- goconst - Тулза, которая находит и заменяет в коде строки на константы.
- interfacer - Линтер, который понимает интерфейсы и делает более четкую проверку кода.
- go-staticcheck - Инструмент для статической проверки проверки определенных функций, таких как regexp.Compile.
- go-simple - Линтер ориентированный на упрощения Go кода.
Всякое
- Презентация Dave Chene с Gocon 2016. Автор рассказывает о обработке ошибок.
- slack8s - Бот для Slack который транслирует события Kubernetes в чатик.
- Отличная презентация от Dave Cheney: "Writing High Performance Go".
- Если вы хотите помочь в развитию своего любимого языка, то вот вам замечательная презентация "How to Contribute Go".
- Немного генетического программирования с использованием языка Go.
- Хабрастатья "iOS-приложение на Go… и Катя. Финал".
- Супер простой компилятор, написанный на Go. Отличный пример для понимания основ.
- Go Report Card - Веб-сервис который показывает результат выполнения всяких govet и golint для Go проектов.
- "Golang War II" тест по Go от logpacker.com. Узнайте свой уровень.
- Интересная аналитика людей, которые контибьютили в Go.