Тулзовины и хреновины 20
Юбилейный выпуск "Тулзовин и Хреновин". Много всего нового и интересного.
Сравнительно немного осталось до выпуска новой версии Go 1.5 и сейчас можем посмотреть, что же будет в нем реализовано и почитать про работу сборщика мусора, который будет в нем реализован.
И не забывайте, что купив пару наклеек, вы поддерживаете проект.
Вы можете подписаться на рассылку "Тулзовин и Хреновин" и получать новые выпуски на электронную почту.
Новости
- Список, чего еще будет запилено в Go 1.5 до релиза в августе.
- Новая версия клиента openweathermap. Теперь со своим сайтом.
- На freelansim.ru ищут Go разработчика для написания распределенного медиа-каталога.
- 2015 год будет годом Go. Обзор предстоящих событий от Dave Cheney.
- Релиз новой версии веб-фреймворка Revel v0.12.0
- Замечательное интервью с Russ Cox и Sameer Ajmani , разработчиками из core команды Go
- Go Challenge 1 подошел к концу. Можем почитать фитбек на решения задач.
- Apple Inc ищет Core Systems Developer со знанием Go. Вот так вот.
- Компания iAGE ищет backend разработчика, которой может Go.
- Couchbase выпустили готовое официальное SDK для языка Go.
- В Go 1.5 поменяют стандартное отображение описаний флагов в консоли.
- На ютубе готов плейлист со всеми видосами с GopherConIndia 2015.
Проекты
- Fileserver - Простой файловый сервер, с возможностю указать кастомную обработку ошибок Error и NotFound.
- interact - Пакет для создания консольных инструментов и интерактивного общения с пользователями.
- go-bqstreamer - Стример, конкурентно пишущий данные в Google BigQuery.
- goauto - Инструмент для автоматической сборки проекта в специфических окружениях.
- hyflow-go - Гео-распределенное хранилище с высокой консистентностью и модульной структурой.
- RPC-Gen - Генератор RPC клиентов, анализирующий API сервера.
- echo - Супер быстрый, супер крутой микрофреймворк на Go.
- goshorty - Небольшая удобная сокращалка путей для командной строки.
- Биндинги GopherJS для Chrome. Теперь можно писать расширения на Go.
- v8worker - Минималистический биндинг V8 для Go.
- authboss - Крутой пакет для http аутентификации. Куча возможностей и модулей.
- beegodynamicvalidation - Динамическая валидация для фреймворка Beego.
- imstor - Хранилище для картинок на Go. Если у вас много картинок и их нужно где-то хранить.
- golog - Интерпретатор пролога. Полностью совместим с ISO Prolog.
- go-micro - Клиент-серверная библиотека для реализации микросервисов.
- gotomic - Неблокирующие структуры на языке Go. Спокойно юзайте в конкурентных приложениях.
- git-hooks - Альтернативная реализация git hooks менеджера на Go.
- purse - Пакет для загрузки SQL файлов и работы с ними в Go программе.
- progressio - Либа для получения информации о прогрессе из io.Reader и io.Writer.
- httpclient - Простой http клиент на Go. Ничего особенного, но код сокращает.
- go-tarfs - In-memory http.FileSystem поверх tar архивов.
- zerver - Еще один микрофреймворк для написания REST API на Go.
- Spawn - Сервис для синхронизации HTTP REST сервисов. Кластеризируемся просто.
- goSQL - Еще одна как бы ORM на Go. Выглядит вполне нормально.
- media - Либа для работы с медифайлами. Работает поверх mpg123 и libao.
- torrent - Пакет и несколько консольных утилит для работы с BitTorrent на Go.
- sc - Go клиент для суперколлайдера, языка генереции аудио.
- gxui - Пакет для рисования кроcc платформенного GUI. Пока, правда, без документации.
- basht - Тулза для запуска bash тестов. Пишите bash скрипты через tdd.
- algernon - HTTP2 веб-сервер для раздачи маркдауна и Lua скриптов.
- sqrl - Легковесная версия squirrel. Это такой sql-билдер для Go. И тут можно посмотреть бенчмарки для разных sql билдеров.
- conncrypt - Пакет, который предоставляет простое шифрование для вашего соединения.
- spy - Файлвотчер общего назначения на Go.
- chisel - Быстрый TCP туннель поверх HTTP, написанный на Go.
- go-http-stream-reader - Пакет для чтения стрима из долгоиграющих HTTP запросов, например Twitter Streaming API.
- GoVPN - Опенсорсный VPN демон, полностью написанный на языке Go.
- jvm.go - Ага, это то, что вы думаете. Реализация JVM на Go.
- gengen - Пакет, которой даст вам дженериков. Почти идеально.
- go-menu - Пакет, который добавляет в ваше консольное приложение интерактивное меню.
- health - Инструмент для логирования и получения метрик по вашему Go приложению.
- shell2http - Простой веб сервер для удаленного выполнения команд.
- stats - Мидлваре которое собирает всю статистику по вашему веб приложению на Go.
- gocassa - Надстройка над gocql , которая упрощает жизнь при работа с Cassandra.
- pgzip - Пакет для параллельного гзипования/расгзипования на Go.
- simple-rss-browser - Игрушечный RSS браузер. В ознакомительных целях.
- sftp - Поддержка SFTP для пакета go.crypto/ssh
- Bongo - Хорошее ODM для MongoDB, которое написано поверх mgo.
- go-proxyproto - Go пакет для работы с HAProxy протоколом.
- RelayR - Пакет, который предоставляет риалтаймовое API для коммуникации между Go приложениями.
- goax - Реализация алгоритма Axolotl Ratchet на чистом Go.
- throttler - Что то среднее между sync.WaitGroup и ручным мониторингом go-рутин с помощью каналов. Реализует недостающий функционал.
- ringio - Пакет, который добавляет интерактивности в работе с линуксовскими пайпами.
- webhook - Вебсервер, которой дает возможность вещать задачи на входящие запросы.
- elastic - Крутой клиент к Elasticsearch на языке программирования Go.
- Backoff - реализация backoff алгоритма на чистом Go.
- Интеграция редмайна и Go. Теперь можно работать с редмайном через удобное Go API.
Статьи
- Быстрое введение в go-рутины для новичков. Примеры кода прилагаются.
- Что такое"заикания(stutter)" в Go коде. Про красивый и чистый код.
- Простой пример использования goroutines в языке Go
- Пишем конкурентный доунлоадер на Go. Основные принципы и пример.
- Отличная статья, в которой автор рассказывает, как он писал NES эмулятор на Go.
- Оптимизируем конкурентный доступ к мапам. Всего пару строк, а прирост есть.
- Разбираемся с внутренностями Go компилятора. Часть 4.Объектные файлы и метаданные функций.
- Учимся делать буферы в Go с кастомной емкостью. Надстройки над стандартными буферами.
- Разбираемся с Heka. Часть первая. Лезем в самые внутренности.
- Go Challenge 2 уже на старте. Знатоки будут играть с Guillaume J. Charmes.
- Небольшое введение в Gucumber. Это новая библиотека для BDD тестирования.
- Monkey Patching в Go. На лету меняем память и впихиваем джампы. И даже есть готовый пакет.
- Быстрое введение в Go для PHP программистов. Если вы всегда хотели попробовать, но не знали с чего начать.
- Небольшие записки по Cgo. Об этом уже не раз писалось, но теперь в жатом виде.
- Статья про"Go Benchmark Competition" в блоге gopheracademy.com.
- Создание REST API с использованием фреймворка Revel.
- Генерация кода из AST (Абстрактное синтаксическое дерево) и работа с пакетом deprehend.
- Логирование в программах на языке Go. Использование сервиса Logentries.
- Статья про работу с yaml форматом на языке Go. Учимся правильно парсить yaml файлы.
- Еще один наброс на Go, теперь от фаната языка D:"Why Go’s design is a disservice to intelligent programmers"
- Ловушка в Go. Проблемы при использовании замыканий и go-рутин.
- GUI-приложение , написанное на Go с использованием GTK
- Go Challenge - это замечательный способ изучить и попрактиковаться в Go.
- Динамический HTTP роутинг на Go с помощью Travel.
- Используем nm и otool для ковыряния и дебага Go кода.
- Хорошая статья про написание и использование C кода в Go.
- Решение для Go Challenge 1 на erlang. Милый троллинг.
- Делаем заглушки с каналами для тестирования Go программ.
- Хабрастатья"Нативная UI-библиотека для Go"
- Работа с HTML формами в Go. Практики и приемы.
- Хабрастатья"Работа с базой данных MS SQL средствами Go для начинающих"
- Переход с C++ на Go для поиска числа Пи и ощутимый прирост скорости.
- Гибкая сервис-ориентрированная архитектура на Go.
- Погружение в Go компилятор. Часть 2. Линкер и объектные файлы.
- Начинаем работать с GopherJS. Доклад от Дмитрия Шуралева.
- Пишем веб-сервер на Go с поддержкой TLS. Переходим на https.
- Небольшая заметка про отладку Go программы(lime) с помощью lldb.
- Введение в gogs. Это такой свой собственный github на Go.
- Не все знают про каноничные пути импорта пакетов и небольшую хитрость go get.
- Доклад от William Kennedy про ООП механизмы в Go.
- Разбираемся, как Go размещает объекты в памяти.
- Использование оператора continue совместно с метками(labels) в Go.
- Реализация шаблонов в Go с помощью сишных дефайнов. Тот еще изврат.
- Скринкаст в котором автор учит разрабатывать пакеты через тестирование.
- Практический пример отладки Go программы с помощью GDB.
- Небольшое введение в goquickfix. Это такая тулза для быстрой отладки.
- Вводная статья про библиотеку decimal , для работы дробными числами с фиксированной точной.
- Еще одно статья про создание REST API с помощью Go.
- Управляем shutdown'ом нашего Go приложения.
- Загрузка больших файлов на амазоновский S3
- Пишем десктопные приложения с иcпользованием Go и nwjs.
- Внимательно читаем как будет работать сборщик мусора в Go 1.5.
- Хороший доклад с GopherConIndia про поисковый движок bleve.
- Выбираем между слайсом структур и слайсом с указателями на структуры.
- Реализация Longest Common Subsequence алгоритма на языке Go.
- Делаем сontinuous Integration тулзы на языке Go. Часть 2.
- Сказ о том, как 50к строк крестов на Go портировали.
- Большой и достаточно филосовский пост от Dave Cheney"Simplicity and collaboration"
- Делаем свой сервис для загрузки файлов с помощью Go и амазоновского S3.
Видео
- Go в современном энтерпрайзе. Сказки и быль о современном энтерпрайзе и может ли Go поучаствовать в этой вакханалии.
- Объединение стримов в Go. Alan Shreve рассказывает про децентрализованный веб, объединение стримов как основа для RPC. Больше описания на сайте www.hakkalabs.co.
- Переписывание MongoDB компонентов на Go. Norberto Leite на FOSDEM 2015 рассказывает про переписывание некоторых компонентов MongoDB на Go.
- ООП в Go. William Kennedy рассказывает про нюансы ООП в Go и какие отличия от классического.
- Building Go Web Apps. Mark Bates рассказывает, как делать веб-приложения на Go.
- Go на андроиде. David Crawshaw рассказывает как запускать Go на мобильных платформах. Точнее, на андроиде.
- Введение BoltDB. Хорошее обзорное видео от hakkalabs про BoltDB и с чем ее едят. Больше информации и слайды можно найти в описании к видео на самом сайте www.hakkalabs.co
Инструменты
- Инструменты для улучшения и повышения производительности вашего Go кода.
- filter - Удбная тулза на Go для работы с JSON стримом.
- dedup - Простая утилита на Go для дедубликации копий файлов. Работает, сравнивая хеши.
- go-pry - REPL для Go, вдохновленный Pry REPL из Ruby.
- httpdiff - Простой способ отправить одинаковые запросы на два сервера и сравнить разницу.
- Cloud GoX - Облачный кросс компилятор для языка программирования Go.
- gister - Приложение для создания gists из командной строки.
Всякое
- cc - Кросс-платформенный препроцессор и компилятор для C. На Go.
- kangen - Простая сокращалка URL, написанная на Go.
- День рождения Docker.