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

GopherCon Russia 2021
23-25 апреля, Online

1000 участников.
Бесплатная конференция и платные воркшопы.
Языки конференции: русский и английский.
Регистрация
23 апреля — бесплатная конференция, на которой мы обсудим самые горячие темы. Два параллельных потока с отборными докладами в каждом, а также techtalks и конкурсы от наших партнёров. Для участия нужно зарегистрироваться.

24 и 25 числа пройдут платные воркшопы со 100% погружением. Каждый воркшоп состоит из 3-х часового занятия, домашнего задания, поддержки по всем возникшим вопросам в чате в течение недели и фидбека на ваше решение от эксперта.
Конференция 23 апреля, пятница. UTC+3
Воркшопы 24 и 25 апреля. UTC+3
Спикеры
Стал гофером еще до выхода v1. Ведущий подкаста Go Time. Автор Go Programming Blueprints: Second Edition. Xbar, Pace Firesearch.
Aaron Schlesinger
Developer Advocate в Microsoft, core maintainer проекта Athens Project и core maintainer проекта KEDA HTTP Addon. У него за плечами больше 15 лет опыта в software engineering, от дизайна фронтенда до до распределенных систем данных. Открыл для себя Go в 2013, а в 2015 — Kubernetes, с тех пор не оглядывался назад. Живет в Портленде.
Staff Engineer в Datadog, работает над Continuous Profiling для Go. До этого строил системы для Apple, обслуживал большие кластеры PostgreSQL. В свободное время работает над open source проектами, играет в пляжный волейбол, и дает сомнительные советы в интернете.
Андрей Смирнов
Руководитель разработки, сегодня работает над созданием революционной операционной системы Talos для кластеров. Ранее занимался разработкой распределенного объектного хранилища, а также разнообразных онлайн-проектов.
Илья Данилкин
Backend-разработчик в компании Авито (ex-Gett, ex-Ozon), занимается продуктовой разработкой в команде Auto B2B.
Rashmi Nagpal
Работает в LoopUp как software engineering intern. Интересы: автоматизировать все, что движется, упорядочивать legacy code, делать его более быстрым и простым в использовании. Global leader в организации Women Who Go, которая помогает лучше представлять женщин из разных групп и разного бэкграунда в Golang сообществе. Любит писать стихи и играть в настольные игры.
Олег Ковалев
Опенсурс-зависимый гофер. Фанат статистического анализа кода. Один из ведущих подкаста Generic Talks.
Александр Егурнов
Team Lead Backend в Verve Group в Берлине. Строит высоконагруженные системы на Go с 2016 года и с удовольствием учит этому других гоферов.
Андрей Минкин
CTO и сооснователь в Mad Devs. 15 лет разного опыта в IT: от системного администрирования до менеджмента. Программирует на Go с 2014, сделал и запустил в прод несколько проектов разного размера и нагрузки.
Иван Осадчий
Backend-разработчик в Авито.Доставке. Сторонник системного подхода к Software Engineering.
Булат Замалутдинов
Работает в Percona, программирует на Go уже более 5 лет. В последнее время начал интересоваться kubernetes, и смог найти удачную точку соприкосновения языка с этой системой в виде операторов для kubernetes.
Николай Маржан
Работает в Percona, фанат Kubernetes и облаков. Его цель - подружить базы данных с миром Kubernetes. Большую часть своей карьеры с 2004 года занимается разработкой систем развертывания, обновления и мониторинга.
Искандер Шарипов
Зарабатывает на жизнь статическим анализом и компиляторами. Автор ruleguard и go-critic. Участвовал в разработке тулчейнов для Go (в основном AVX512) и KPHP.

Валерий Мелешкин
В разное время приделывал time series к Riak, скукоживал 250гб/час протобафа в один инстанс постгреса, сейчас занимается виртуализацией доступа к данным из нескольких источников посредством Apache Calcite и Spark в Contiamo GmbH. Ждёт когда в Go появятся дженерики. Также известен тем, что раз в неделю тараторит про базы данных и видеоигры в подкасте DevZen.
Подробнее о докладах
A tour of xbar code.
Mat Ryer takes you through the xbar project monorepo explaining key technical decisions and why they were made. All the way from the front end code that delivers the native app UI, through the service layers and native API integration, down to the xbar data APIs that power the app, and the website. Mat will explain how the focus on pragmatism and minimalism allowed him to deliver the new project within a couple of months.
Mat Ryer
Building an Autoscaling HTTP Proxy for Kubernetes.
You probably already know generally how HTTP proxies work. You might have even built one! Out of the box, Go comes with a ReverseProxy type in the standard library, but a production deployment -- especially in Kubernetes or similar distributed systems -- needs to do more than the standard library. Some additional requirements include autoscaling systems, connection backoffs, request rewriting, and more.
We ran into these requirements in building the open source KEDA HTTP Addon project. In this talk, I'll briefly review the requirements of such a proxy and we'll proceed to live code a comparable one from scratch.
You'll walk away with a deeper understanding of the net, net/http and net/http/httputil packages as well as several relevant concurrency patterns you can use to build your own proxies - and other robust and performant networking systems in Go.
Aaron Schlesinger
Go Profiling from Bottom Up.
The Go language ships with many fantastic profiling tools. There is CPU, Heap, Mutex, Block and Goroutine profiling. It also includes the wonderful pprof visualization tool for inspecting the data.
However, using these tools on real world applications can be a challenge because there is a lot of data, yet very little information on what any of it actually means. So you might find yourself wondering, oh, this is weird! How is the data collected? Why is my profile showing more time than my application was running for? What's the accuracy of the data? Is there any bias in the data? What known issues might impact the results in my particular environment? How much performance overhead should I expect? Are there any other side effects that could harm my application?
If you ever found yourself asking these kinds of questions while profiling, this talk is for you. Instead of introducing Go's profiling tools as magic black boxes to inspect your application, we'll look behind the curtain of the Go internals, OS and Hardware level to gain a deep understanding from the bottom up.
Felix Geisendörfer
Прозрачный gRPC-proxy один-ко-многим.
Иногда возникает задача проксирования gRPC запросов с изменением запросов на лету: это может быть общий слой авторизации, обеспечение совместимости старой и новой версии API, балансировка нагрузки или high-availability сценарий. В силу того что протокол gRPC использует protobuf и строгую типизацию, можно написать подобный proxy, реализуя каждый метод API вручную или с помощью генерации кода, но это неудобно. В этом докладе я покажу как сделать прозрачное проксирование запросов с их изменением на лету при условии, что прокси-сервер не знает структуры каждого запроса и ответа. В том числе будет рассмотрен случай отправки одного входящего запроса нескольким backend-узлам со сборкой всех поступивших ответов в один ответ для клиента.
Андрей Смирнов
Тестирование в Go c Ginkgo и Gomega.
Писать тесты бывает сложно, писать тесты бывает скучно. Можно ли сделать этот процесс чуть более приятным? Уменьшить количество кода, повторяющихся конструкций, улучшить структуру? Да, можно!
В этом докладе мы шагнём за пределы пакета `testing` и рассмотрим альтернативу в лице Ginkgo и Gomega, а также разберём опыт продолжительного использования в реальных проектах.
Александр Егурнов
За пару мгновений до main().
Предлагаю вашему вниманию узнать, что происходит в Go runtime, перед тем как начнёт выполняться наш код в main(). Разберем, что же там создается, проверяется и зачем оно все так. Доклад будет полезен как и начинающим, так и опытным разработчикам, ведь мало кто задумывался, что там происходит за считанные миллисекунды.
Олег Ковалев
Learning Unsung Gotchas of Go.
Go is one of the simplistic, neat, and effective languages, but it has few gotchas. These gotchas run the gamut from minor syntactic annoyances to psychological behavior. By sharing the invaluable references - this talk will cover them, which will conserve Go programmer's time and wasted effort. From beginner to expert level, everyone is warmly welcomed as the examples shared will cover a breadth of opportunities to learn.
Rashmi Nagpal
Пакет embed: распаковка знаний.
В рамках доклада посмотрим на новинку в Go 1.16 - новый пакет embed. Сравним его реализацию с существующими решениями для упаковки статики на примерах и live demo.
Илья Данилкин
Из Python в Go и обратно.
В далеком 2014 году я перешел из Python в Go, проработал я на нем больше 5 лет, а в конце 2020 вернулся обратно в мир Python.
В докладе я хочу сравнить две экосистемы, поговорить о впечатлениях, полученные инсайтах, проблемах. Расскажу о том, что (на мой взгляд) не так с Go, как оба языка менялись за это время. Обсудим, чего не хватает в Python и чего не хватает в Go.
Доклад о личном опыте, озарениях, пройденном пути и набитых шишках.
Андрей Минкин
Оптимизация работы с PostgreSQL в Go: от 50 до 5000 RPS.
Разберем, как оптимизировать общение базы данных с гошным сервисом. Пристально посмотрим на пограничную область, которой обычно не касаются ни специалисты по базам данных, ни прикладные программисты. Пройдемся от общего подхода к оптимизации до кровавых нюансов.
Иван Осадчий
Воркшопы
Пишем Kubernetes-операторы на Go.
Операторы нужны для упрощенного развертывания и автоматического
управления сложными приложениями в Kubernetes.
Это воркшоп для разработчиков приложений и системных администраторов, которые хотят научиться создавать операторы для Kubernetes.
Участники получат пошаговые инструкции по созданию операторов Kubernetes для сложных stateful-приложений (таких как базы данных) на языке Go (операторы на Ansible и Helm рассматриваться не будут). Будет показана работа с актуальной версией operator-sdk, которая включает в себя как возможности кодогенерации, так и набор библиотечных вызовов для различных операций с Kubernetes-объектами.
Булат Замалутдинов и Николай Маржан.
24 апреля 11:00 - 14:00
Крафтим линтеры с помощью ruleguard.
В этом воркшопе мы разберёмся, что такое ruleguard и напишем с его помощью диагностики для своих проектов.
Что нового мы узнаем:
* Что такое "правила" и как их создавать, тестировать, отлаживать, хранить и версионировать.
* Научимся настраивать запуск для нетривиальных проектов.
* Разберём частые проблемы и ошибки интеграции.
* Обсудим, как упрощать идею диагностик, чтобы они становились выражаемыми через ruleguard.
* Затронем особенности работы с go/* пакетами в контексте ruleguard.
* Поймём, что делать, если возможностей ruleguard всё же не хватает.
Искандер Шарипов.
24 апреля, 15:00 - 18:00
Fuzz и Property-Based тесты в Go.
Вы пишете тесты дни напролёт но ваш код всё равно падает со странным багом через неделю? Вы включили радио в машине, но отказали тормоза?! Что-то слышали про фаззинг, но не понимаете как его применить к вашему коду? На этом воркшопе мы:
• погрузим наши руки в рандомизированные подходы тестирования: property based и fuzz testing;
• обсудим их различия, плюсы, минусы и подводные камни;
• поговорим о том, в каких ситуациях стоит применять эти подходы, а в каких – нет;
• обсудим как не ломая голову определить подходящие для проверок свойства;
• рассмотрим написание генераторов для сложных структур данных;
• разберём код примеров разной сложности: от фаззинга и элементарных свойств вида ∀ X: decode(encode(X)) ≡ X до проверки эквивалентности модели с состоянием.
Валерий Мелешкин, Алексей Палажченко
25 апреля, 15:00 - 18:00
Партнёры
Генеральный партнёр
На Авито каждый может найти что-то своё среди миллионов частных объявлений и предложений компаний. У нас десятки тысяч rps к бэкенду, терабайты картинок в хранилище и мощная система автоматизированной модерации на базе машинного обучения. Каждый месяц сервисом пользуется треть населения России.
Золотой партнёр
Ozon — одна из крупнейших российских e-commerce площадок, на которой представлено более 10 млн товарных наименований более чем в 20 категориях.
Технологическая компания, в которой работает более 1400 сотрудников ИТ в Москве и Санкт-Петербурге. Собственная разработка торговой площадки, системы управления складами и логистикой. В Ozon востребованы IT-специалисты всех профилей, например, GO, .Net, мобильные разработчики, инженеры по тестированию и data science.

Золотой партнёр
Gett - это уникальная динамичная высоконагруженная система, которая из агрегатора такси развивается в сторону глобальной компании направления ground transportation в сегменте B2B. Gett RnD отвечает за создание и дальнейшее развитие SaaS платформы - решения, которое успешно внедряется и используется в Великобритании и США с учетом глобального роста.
СберМаркет
Золотой партнёр
СберМаркет (OOO «Инстамарт Технолоджис») — технологический онлайн-сервис, который помогает делать покупки не выходя из дома. Наша миссия: экономить время, энергию и деньги людей для чего-то более важного. СберМаркет был создан на основе стартапа Instamart, который присоединился к экосистеме Сбера в 2019 году. Уже в 2020 году наша RnD-команда выросла в 5 раз и обеспечила стабильность сервиса при росте нагрузки в 20 раз. Такой рост за год не проходила ни одна другая eCom компания в России!
Серебряный партнёр
JetBrains создает интеллектуальные программные решения, избавляющие разработчиков от рутины и повышающие их продуктивность. Среди наших разработок —GoLand IDE, которая не только позволяет легко писать и изменять код на Go, но и полностью укомплектована для работы с вебом, фронтэндом, бэкэндом и базами данных. Умное автодополнение кода, быстрые исправления и автоматизированные рефакторинги, расширенная поддержка Go Modules, встроенный отладчик и профилировщик, а также удобная навигация делают разработку с помощью GoLand продуктивной и приятной, без необходимости устанавливать десятки плагинов.
Серебряный партнёр
Badoo — социальная сеть для знакомств, которая объединяет людей по всему миру. Кроме Badoo, мы разрабатываем дейтинг-приложение Bumble, популярное за рубежом, и другие сервисы. Это высоконагруженные проекты с масштабной инфраструктурой — миллионы пользователей ежедневно знакомятся, выкладывают фотографии, общаются и в чате и видеочате. Мы решаем непростые инженерные задачи, не боимся экспериментировать и развиваем IT-сообщество.
Серебряный партнёр
МойОфис — безопасные офисные решения для общения и совместной работы с документами. Московский центр разработки развивает продукты корпоративной линейки: электронную почту, календарь, контакты и службу каталогов. Нашими продуктами ежедневно пользуются сотрудники крупнейших компаний, государственных учреждений и образовательных организаций.
Серебряный партнёр
Международная компания, работающая в сфере информационной безопасности с 1997 года. Глубокие экспертные знания и многолетний опыт лежат в основе защитных решений и сервисов нового поколения, обеспечивающих безопасность бизнеса, критически важной инфраструктуры, государственных органов и рядовых пользователей. Обширное портфолио включает в себя передовые продукты для защиты конечных устройств, а также ряд специализированных решений и сервисов для борьбы с киберугрозами. Технологии «Лаборатории Касперского» защищают более 400 миллионов пользователей и 250 тысяч корпоративных клиентов во всём мире.
Серебряный партнёр
Один из ведущих независимых разработчиков онлайн игр. Наша команда верит в бескомпромиссное качество продукта и эффективность разработки. Мы гордимся отлаженными процессами и обдуманным подходом к любой задаче. Производство на Заводе строится спокойно и основательно, с фокусом на долгосрочную перспективу. Благодаря этому мы создали хит «Taonga: The Island Farm», в который играют миллионы пользователей по всему миру.
Организаторы
Алексей Палажченко
Организатор встреч московского
Go-сообщества, соведущий подкастов GolangShow и From Code to Prod.
Елена Граховац
Engineering Manager в одной из инфраструктурных команд GetYourGuide (Берлин).
Елена Могильникова
Event-менеджер RubyRussia, PyConRu, GopherShip.
Мария Первухина
Регистрация участников, фея документооборота.
Контакты
E-mail: hello@gophercon-russia.ru
Телефон: +7 999-112-53-89

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