Конференция о разработке на Go

GopherCon Russia 2019
13 апреля, Москва

600 участников, один день, два параллельных потока докладов. С 19:00 — традиционное афтепати.
Языки конференции: русский и английский. В главном зале работает синхронный перевод в оба направления.
Регистрация
Стандартный билет, включает в себя посещение всех докладов, обед и кофе-брейки, участие в афтепати.
Мы не передаем ваши персональные данные другим лицам и организациям
Опыт в Go
Форма оплаты
Нажимая эту кнопку, вы соглашаетесь с нашей политикой обработки персональных данных.
Купить билет
Билет стоит 8000 ₽, чем ближе к конференции, тем дороже.
Следующая цена: 10 000 ₽.
Спикеры
Google
Работает над observability Go-сервисов Google. Имеет десятилетний опыт в создании платформ и инструментов для разработчиков.
Google
Инженер Go team в Нью-Йорке. Работает над Go tools и помогает улучшать жизнь Go разработчиков.
Google
Участник Go team в Google, работает в основном над core libraries. Раньше работал над Google поиском и проектом Borg. Со-автор BCL, Borg's configuration language.
VictoriaMetrics
Разработчик fasthttp, quicktemplate и других проектов, оптмизированных по скорости. Сейчас работает над собственной time series базой данных — VictoriaMetrics.
JetBrains
Developer Advocate GoLand IDE от JetBrains. Строит высокопроизводительные системы, распределенные проекты и помогает гоферам по всему миру.
Badoo
Системный программист, тимлид, специалист в области высоконагруженных сервисов. Благодаря его продуктам миллионы людей по всему миру нашли свою половинку.
Three Dots Lab
Go разработчик и архитектор. Занимается консалтингом и созданием устойчивых и масштабируемых event-ориентированных приложений. Энтузиаст DDD, использует Event-storming чтобы разбираться в сложных предметных областях. Любит простые и эффективные решения.
Evrone
Backend-разработчик в компании Evrone, пишу код на Ruby и Go + немного занимаюсь DevOps.
N26
Руководит командой автоматизации TechOps-процессов в немецком финтех-стартапе N26 и является соведущий подкаста GolangShow. Область интересов: DevOps-культура и автоматизация, построение нативных облачных сервисов. Пишет на Go с 2015-го, профессиональный опыт в ИТ — 11 лет.
Avito
4 года плотно сидит на Go, фанат PostgreSQL. В Avito занимался разработкой Messenger, а теперь создает проект, связанный с краткосрочной арендой недвижимости. Помогает сервисам запускаться и работать в Kubernetes, распространяет культуру Effective Go.
Kraken Systems
Разрабатывал разные системы, от DNA deep learning base-caller до real-time крипотовалютного бота на Go. Сейчас Невен специализируется на DevOps в CNCF экосистеме, инфраструктуре и оптимизации производительности.
Atrápalo
Разработчик в Atrápalo, ко-фаундер Nepcom и Friends of Go community. Преподает и пишет о Go и open source разработке. Увлекается вещами, связанными с DevOps, интересуется machine learning.
ITooLabs
CSA, в 2012 рискнул запустить сложный проект телефонного коммутатора на Pre-Go 1, и не ошибся. Придумывает архитектуры, пишет код (и любит обо всём этом рассказывать).
IBC Labs
CTO в небольшой компании IBC Labs. Придумывает как (и помогет своей команде) строить облачные сервисы на go про блокчейны и вокруг них.
Университет ИТМО
Старший научный сотрудник НИИ НКТ Университета ИТМО, разрабатывает распределенную базу данных временных рядов совместно с компанией Siemens. Помимо этого, активно занимается научной деятельностью и работой с аспирантами.
Avito
Два года занимается разработкой нагруженных микросервисов на Go, активно переписывает кусочки PHP монолита и участвует в разработке внутренних инфраструктурных проектов. Любит пробовать новые решения и подходы для старых задач.
Aviasales.ru
Backend разработчик в команде travelpayouts.com. Однажды написал свой опенсорсный продукт и не умер.
Яндекс
Тимлид в бекенде Яндекс.Такси и автор open-source металинтера golangci-lint. Кроме того, на Go с нуля запустил BeepCar и разрабатывал на Go высоконагруженные сервисы в Почте@Mail.ru
Ростелеком
Руководит разработкой платформы Wink и In-memory DB Reindexer. Пишет на Go и C/C++.
Подробнее о докладах
Go, pls stop breaking my editor.
This talk will cover the motivation behind, implementation of, and future plans for gopls, the Go implementation of the Language Server Protocol (LSP). This tool is currently being developed and maintained by the Go team and broader Go tools community, and it will ultimately serve as the backend for any LSP-compatible editor.
Rebecca Stambler
Google
Desktop application in 30 minutes.
In this talk, we explore this domain, see what tools we have available, state of the art in Desktop development with Go and what's next. The talk will start by questioning where is Go used and why. Then we'll have a look at the available options which are actively maintained to create a Desktop application. Following these steps, we'll dive right in into creating one such application.
Florin Patan
JetBrains
Message-driven application made easy with Watermill.
Do you think that building message-driven applications is hard? What if I told you that implementing production grade message-driven application which is resilient, fast and easy to debug can be as easy as implementing a HTTP API based application?
Robert Laszczak
Three Dots Labs
CLI на Go. От разработки до дистрибуции.
Обзор популярных библиотек и практик для разработки CLI-приложений на Go. Дистрибуция приложений на ОС Mac, Linux, Windows. Обзор популярных инструментов и решений.
Михаил Грачёв
Evrone
Bitmap индексы. Что за зверь такой, позволяющий делать поиск с дикой скоростью.
Для ускорения поиска в различного рода БД используются индексы. И все мы слышали о самом распространенном B-tree индексе. Он действительно самый популярный и универсальный. Я расскажу вам о менее распространенном, но не менее интересном bitmap-индексе. Посмотрим, как он устроен, когда он лучше, когда хуже и в каких случаях он сильно быстрее других индексов. Увидим, в каких популярных СУБД уже есть bitmap-индексы, попробуем написать свой на Go. Ну и наконец воспользуемся готовыми библиотеками, чтобы создать свою супербыструю специализированную БД.
Марко Кевац
Badoo
Чек-лист безопасности для Go-разработчика.
Рассмотрим Go-приложение в виде луковичной диаграммы "Данные - Код - Инфраструктура" и выделим потенциальные проблемы безопасности и возможные решения для каждого слоя. Поговорим об автоматизации и роли безопасности в DevOps-культуре и предложим вариант чек-листа, который поможет Go-разработчикам не забыть обратить внимание на важные аспекты безопасности вне зависимости от того, разрабатывают ли они высоконагруженный сервис или инструмент автоматизации внутренних процессов компании.
Елена Граховац
N26
Как не ошибиться с конкурентностью в Go.
Этот доклад посвящен разработке конкурентных систем, которые можно поддерживать и развивать. Go — отличный язык для создания таких систем, но простота Go может быть обманчива. Мы поговорим как о фундаментальных основах, так и о прикладных нюансах реализации. Приходите, если хотите узнать лучшие (и худшие) практики при работе с конкурентностью в Go.
Артемий Рябинков
Avito
Golang race detector.
Data races are nasty kinds of bugs; rare, hard to replicate and tend to occur at the worst possible moment. Their effect is undefined, detection hard, almost impossible without expensive formal verification and static analysis tools...Or is it? This talk focuses on ThreadSanitizer, a library for detecting race conditions at run-time. It originated in clang & C++ community and its use spread to go (-race), rust, java, and some other languages. It covers how it works conceptually, and necessary background for its understanding, building from DJIT+ and Fast track to ThreadSanitizer v2.
Neven Miculinic
Kraken Systems
Chatting through Go.
The "chat problem" shows up several kinds of problematics, such communications one-to-one, one-to-many (channels), many-to-many (rooms), which solution can be applied in several different environments. Two of the main approaches are websockets and the XMPP protocol, which obviously can be implemented with Go, taking advantage of its features such as the concurrency model. Let's see it!
Joan Lopez de la Franca Beltran
Atrápalo
Грехи оптимизации производительности.
В погоне за производительностью зачастую приходится переходить на "тёмную сторону", жертвуя качеством кода и ясностью API. Этот доклад раскроет несколько таких грехов на примерах из моей практики.
Александр Валялкин
VictoriaMetrics
Зачем нужен SCTP и как с ним работать в Go.
Stream Control Transmission Protocol — транспортный протокол IP — не так широко известен, как TCP или UDP. При этом, SCTP обладает рядом уникальных свойств: параллельное использование разных маршрутов с прозрачным fail-over, поддержка множества потоков в одном соединении, нотификации об изменении состояний соединения, и много чего еще. SCTP был разработан специально для передачи сообщений с гарантиями надежности и латентности по ненадежным IP-сетям, и сейчас подавляющая доля телекоммуникационного сигнального трафика передается именно по SCTP. Изменения в Go 1.11 упростили написание новых типов сокетов, и сейчас есть уже несколько go-native SCTP библиотек. Мы обсудим, что такое SCTP, почему он отлично укладывается в модель Go для разработки распределенных сервисов, и как начать его использовать в своем проекте.
Алексей Найденов
ITooLabs
Строим cloud-native приложение на Go.
Многие из нас создают микро-сервисные системы на GO. Каждый раз, начиная новый проект, мы решаем одни и те же базовые задачи по выбору транспорта и протокола общения с версионированием, обеспечению отказоусточивости и масштабирования, и т.д. Я расскажу про фреймворк go-micro решающий все этим задачи на основе модульной архитектуры. И покажу на примерах, как используем этот фреймворк в своих проектах.
Алексей Горбылев
IBC Labs
Проблемы разработки базы данных числовых временных рядов с нуля на Go.
В сотрудничестве с Siemens мы разработали быструю и расширяемую распределенную базу данных временных рядов, которая может выполнять поиск со сложными запросами на миллиардах записей за 100 миллисекунд или извлекать по 15 миллионов записей в секунду. Я хочу поделиться с вами историей ее создания и рассмотреть проблемы, связанные со спецификой разработки на Go, с которыми мы столкнулись в процессе разработки.
Александр Вишератин
Университет ИТМО
Javascript в Go: как мы храним интерпретируемую логику в конфиге.
Go — это классный, быстрый и компилируемый язык. Но иногда необходимо хранить часть логики в конфиге, чтобы можно было менять эту логику без рекомпиляции приложения. Что же делать? Я расскажу о том, как мы решились делать это при помощи интерпретатора Javascript'а, на какие грабли смогли наступить, как тестируем, и стоит ли это использовать в продакшене.
Алексей Шайхалеев
Aviasales.ru
Как отпилить часть монолита и завернуть ее в Go-микросервис.
Как вынести код в микросервис: развязать внешние зависимости, сделать сам сервис и плавно переключить нагрузку, не уронив продакшн.
Павел Лакосников
Avito
Линтеры в Go: как их готовить.
В go 50+ линтеров: в чем их профит и как эффективно встроить их в процесс разработки? Доклад будет полезен как тем, кто еще не использует линтеры, так и тем, кто уже применяет их: я раскрою малоизвестные трюки и практики работы с линтерами.
Денис Исаев
Яндекс
Опыт разработки golang приложения с cgo.
Мы разрабатываем backend IPTV платформы на golang с использованием БД reindexer, подключенной как cgo модуль. В докладе я расскажу о том:
- какой профит получили по сравнению с классическим подключением по сети к standalone серверу;
- с какими подводными камнями мы столкнулись и как их удалось обойти;
- какие методики профилирования и отладки используем.
Олег Герасимов
Ростелеком
CUE: a data constraint language and shoo-in for Go.
A configuration language needs to balance compactness with complexity. Most language end up being too complex for the value they provide. We show that inheritance is the culprit and provide an alternative: constraints. CUE's constrain describe configurations more compactly while at the same time validating them. Constraints sound scary, but actually look very familiar. The result is more readable and more correct configurations. CUE also has a rich Go API that allows you to analyze and manipulate your configurations. One of the provided tools, "trim", uses it to automatically rewrite your existing configurations given some templates, often considerably reducing them in size. A demo shows its power applied to 2000 lines of Kubernetes YAML. At the end of the 10 minute demo, the YAML is converted and refactored into compact CUE, with all Kubernetes objects neatly mapped into a single namespace. We also show how to extend the cue CLI tool with custom commands to operate on our configuration using CUE's declarative scripting layer. Finally we show how CUE can automatically extract CUE templates from your Go code that you can use to type check your data. As a separate thread throughout the talk, I'll explain how the idea for CUE was conceived, that it actually predates BCL, and why it wasn't implemented before.
Marcel van Lohuizen
Google
Партнеры
Генеральный партнер
Gett — это не просто сервис такси, а динамическая высоконагруженная система с десятками тысяч водителей и миллионами пользователей. Gett RnD отвечает за создание и развитие платформы, сопутствующих продуктов и мобильных приложений, которые выдерживают одновременные запросы миллионов пользователей и облегчают им жизнь.
Золотой партнёр
Крупнейший в России провайдер цифровых услуг и решений, присутствующий во всех сегментах рынка и охватывающий миллионы домохозяйств в России.
Мы разрабатываем крупнейшую в России платформу цифрового телевидения Wink, бэкенд, которой реализован на Golang, и ежедневно обслуживает 6 миллионов пользователей и выдерживает 10К rps на одну ноду.
Так же мы используем Golang в разработке платформы видеонаблюдения, которая задействована в трансляции выборов и ЕГЭ.
Золотой партнёр
Международная IT-компания, объединяющая свыше 600 профессионалов в 4 странах мира (Россия, Кипр, Чехия и США). Вместе мы создаем свой собственный онлайн-сервис, который помогает более 3 миллионам интернет-маркетологов по всему миру.
В нашей компании Go в продакшене стали использовать с 2013 года, а уже сейчас для большинства наших команд это основной инструмент разработки.
Партнер afterparty
Лидер в области дистрибуции авиационных услуг в России и поставщик информационных технологий для предприятий авиационной отрасли: продукты и решения для автоматизации бизнес-процессов авиакомпаний, агентств по продаже авиаперевозок и аэропортов.
Серебряный партнер
JetBrains создает интеллектуальные программные решения, избавляющие разработчиков от рутины и повышающие их продуктивность. Специально для Go-разработчиков мы создаем GoLand — IDE с умным автодополнением кода, мгновенными инспекциями и быстрыми исправлениями. Мощный статический анализ кода и удобная навигация делают разработку с помощью GoLand не только продуктивной, но и приятной, без необходимости устанавливать десятки плагинов.
Бронзовый партнер
ITooLabs делает лучшую облачную платформу телефонии, которую предлагает компаниям малого и среднего бизнеса с помощью 80+ своих партнёров-операторов. Ядро платформы — масштабируемый телефонный коммутатор ITooLabs Centrex — разработан на Golang.
Бронзовый партнёр
Badoo — это крупнейшая социальная сеть для встреч с новыми интересными людьми. Наши команды IT-инженеров распределены между Москвой и Лондоном. Мы создаем продукт, которым пользуются более 400 миллионов людей по всему миру, по-прежнему работаем в режиме стартапа и не боимся экспериментировать.
Бронзовый партнёр
Evrone — профессиональная распределенная команда разработчиков с десятилетним опытом создания крутых проектов. Ruby, Go, Python и не только. Не останавливаемся на достигнутом и всегда находим новые области применения нашему инженерному таланту.
Хотите рассказать о своей компании и поддержать конференцию?
Место проведения
Технополис Москва
Волгоградский проспект 42к5

Схема проезда
Организаторы
Алексей Палажченко
Организатор встреч московского Go-сообщества, соведущий подкаста GolangShow.
Леонид Кальнеус
Организатор сибирского Go-сообщества.
Елена Могильникова
Event-менеджер RailsClub, PyConRu, FPConf.
Контакты
E-mail: hello@gophercon-russia.ru
Телефон: +7 999 112 53 89

Slack: slack.golang-ru.com канал #gophercon