Одна из самых популярных конференций по open-source проектам, FOSDEM, прошла 31 января — 1 февраля, и, помимо многих dev-румов, был dev-room посвященный целиком Go. Видео с этой конференции уже выложены в паблик, доклады по 30-40 минут каждый, и, надо сказать, доклады очень достойные — привычного и надоевшего интро для новичков в стиле «Что мне нравится в Go?» или «Как тестировать в Go» тут не было.
По себе знаю, что пересмотреть 7+ часов технических выступлений далеко не всегда реально, особенно если не знаешь толком, стоит ли вообще смотреть, поэтому я подготовил краткие ремарки по каждому докладу, которые могут помочь выбрать — что стоит посмотреть, а что пропустить. Ремарки, разумеется, сугубо субъективные.
Всего было 8 докладов по 30-40 минут, и полтора часа так называемых Lightning talks — коротких докладов, идущих один за другим.
Сразу привожу ссылки на плейлисты:
Youtube: www.youtube.com/playlist?list=PLtLJO5JKE5YDK74RZm67xfwaDgeCj7oqb
FOSDEM http: video.fosdem.org/2015/devroom-go/
Итак, в порядке выступлений.
Go at CoreOS [29:54]
Kelsey Hightower @kelseyhightower
URL: coreos.com
Один из самых интересных и фановых докладов — автор достаточно веселый товарищ, но все в меру, без глупых шуток. Интересно рассказывает про детали использования Go внутри компании (менеджмент зависимостей, сборку всего с CGO_ENABLED=0, вот это все), и проходится по основным проектам команды CoreOS — etcd, fleet, flannel, rocket. Рекомендую, если эти вещи у вас на слуху, но глубже не было времени о них узнать.
Скачать MP4: video.fosdem.org/2015/devroom-go/go_at_coreos.mp4 (102M)
Finding Bad Needles in Worldwide Haystacks (Go & Web security scanning) [35:04]
Dmitry Savintsev @dimisec
URL:
Это доклад удалось посмотреть через боль — у автора дичайший русский акцент, и, видимо, совсем мало опыта в публичных выступлениях. Желаю ему заняться конкретно постановкой акцента — потому как желание выступать на конференциях есть и рассказать есть что, но далеко не все могут выдержать испытание плохим индийским или русским акцентом.
Справедливости ради, доклад один из худших в плане подачи материала — сложно следить за мыслью, примеры с первого раза не работают и так далее.
Понравился момент, когда автор прямо на конференции поменял статус репозитория с приватного на публичный.
Скачать MP4: video.fosdem.org/2015/devroom-go/go_web_security_scanner.mp4 (122M)
Moving MongoDB Components to Go [40:31]
Norberto Leite @nleite
URL: mongodb.com
Доклад технического евангелиста MongoDB о том, как и почему mongo-tools были переписаны на Go, а также про внутренний софт компании на Go. Интересный доклад, хотя немного затянутый — автор сам не технарь, евангелист всё-таки, но слушается легко и интересно.
Скачать MP4: video.fosdem.org/2015/devroom-go/mongo_go.mp4 (140M)
CockroachDB — A scalable, Available, Transactional DB [44:04]
Tobias Schottdorf
URL: cockroachdb.org
Доклад по дизайну новой (еще одной) базы данных, пытающейся восполнить нишу SQL-баз данных для распределенных систем. Что-то вроде гугловской Spanner, но доступная не только гуглу. Проект open-source, и не привязанный к конкретному типу стоража для ноды (RocksDB, LevelDB, etc).
Наверное, доклад будет больше всего интересен тем, кто интересуется дизайном баз данных, но даже для общего развития полезно послушать умного человека, который несколько с опаской спрашивает зрителей «все ли знакомы с CAP-теоремой?» :).
Проект пока еще не готов для продакшена, но однозначно интересный.
Скачать MP4: video.fosdem.org/2015/devroom-go/cockroachdb_go.mp4 (163M)
HTTP/2 for Go [46:02]
Brad Fitzpatrick @bradfitz
URL: http2.golang.org/
Самый хардкорный тут доклад — много кода и технических подробностей, Фитцпатрик объясняет детали реализации HTTP2 протокола в Go, которая появится уже в Go1.5 (на момент доклада официально спецификация HTTP/2 еще даже не была окончательно одобрена). Немного быстро говорит и показывает, сходу может быть сложно успевать следить за кодом, но достаточно интересно. Плюс хорошее интро в отличия HTTP/2 от HTTP/1.1.
Скачать MP4: video.fosdem.org/2015/devroom-go/http2_go.mp4 (183M)
Go & modern enterprise [27:25]
Peter Bourgon @peterbourgon
URL: soundcloud.com
Тоже хороший доклад по видению автора роли Go в современных энтерпрайз системах (что он подразумевает по этим — он объясняет). Особенно по тренду ухода от монолитных программ к микросервисам (и «пикосервисам», шутки ради) и опыте в этом в SoundCloud. Вообще, видно, что у товарища хороший опыт в этой теме и многие соображения достаточно интересно слушать.
Кроме того интересные обращения к Go-коммьюнити о том, что пора прекращать писать блог-посты про очередной http-мультиплексор и рассказывать про более крупные истории использования.
Скачать MP4: video.fosdem.org/2015/devroom-go/go_modern_enterprise.mp4 (135M)
Bleeve — Text-indexing for Go [39:40]
Marty Schoch @mschoch
URL: github.com/blevesearch/bleve
Достаточно интересный доклад по системе текстового поиска Bleve, аналогу Elasticsearch, Lucene и Solr, но написана полностью на Go. С примерами кода, инсайтами в особенности проблематики текстового поиска. Проект выглядит очень достойно, доклад слушается легко и интересно.
Скачать MP4: video.fosdem.org/2015/devroom-go/bleve.mp4 (145M)
The State of Go [37:06]
Andrew Gerrand @enneff
Доклад одного из ребят из core-команды Go, Эндрю Герранд. Рассказывает о состоянии дел Go на момент начала февраля 2015. Про планы в Go 1.5, переезд на Git и Github в частности, про Gopher Gala и прочее. Достаточно интересно для общего понимания.
Скачать MP4: video.fosdem.org/2015/devroom-go/state_of_go.mp4 (125M)
Go Lightning Talks [1:45:00]
1. The State of Camilstore (Mathieu Lonjaret) — отчет по состоянию дел в проекте Camilstore (универсальное хранилище всякого разного контента)
2. restic — Backup done right (Alexander 'fd0' Neumann) — презентация и демо утилиты для эффективных бэкапов
3. The diameter protocol (Alexandre Fiori) — интро в протокол Diameter (rdc6733) и его реализацию на Go, с интересными моментами в реализации.
4. Go enums and JSON encoding (Francesc Campoy) — интересное демо применения генерации кода и использования go generate
5. Can Go fix Windows cmd — немного сумбурный доклад товарища, который сделал terminal emulator на Go, для их кастомного SSH-сервера под Windows.
6. Go on Mobile (David Crawshaw) — примеры реального кода на Go для Android и подробности разработки на Go для мобильных платформ.
7. Phenakistoscope in Go (Alex Plugaru) — демо фенакистоскопа на Go — вращающегося колеса с картинками, создающего эффект анимации.
8. Go appengine (Valentin Deleplace) — интро в Google App Engine и специфику работы с GAE на Go.
9. REST & Hybrid Cryptography (Eleanor McHugh) — про симметричное шифрование для REST-бэкенда на Go.
Скачать MP4: video.fosdem.org/2015/devroom-go/go_lightning_talks.mp4 (405M)
Автор: divan0