Доклады

Категории
Секции
Сложность
Залы

Александр Макаров
Core developer @ Yii
Воронеж
Yii: "Как разрабатывается популярный OpenSource фреймворк"

Доклад принят в программу конференции


    За многие годы разработки одного из самых популярных открытых PHP фреймворков удалось набить много шишек начиная от изобретения плохих велосипедов и заканчивая почти десятилетием принципиального отказа заниматься финансовой частью проекта.

    В докладе особое внимание будет уделено тому, что вас ждёт, если вы решите сделать большой OpenSource-проект.

    1. Что такое OpenSource и что в нём такого?

    2. Общие лучшие практики. Без чего не полетит любой открытый проект.

    3. Важность общего видения и направления. Как решается, что делать а что нет.

    4. Работа с сообществом. Общение, организация. Негативный фидбек.

    5. Как получить первых последователей и что делать для роста сообщества.

    6. Психологические аспекты. Ответственность и выгорание в OpenSource.

    7. Финансовый вопрос.


    Александр Александров
    Эксперт @ RSTQB
    Москва
    Бесконечность тестирования

    Доклад принят в программу конференции


      — Исчерпывающее тестирование невозможно

      — Значит, надо правильно планировать усилия и рубить концы.

      — И на это можно смотреть как с технологической (приоритеты и риски), так и с экономической (деньги) точек зрения.

      — Детализация этих двух точек зрения, особенно второй


      Сергей Савельев
      Профессор @ РАН
      Москва
      Вычисляемая архитектура мозга гения

      Доклад принят в программу конференции


        Доклад посвящён структурным основам одарённости и гениальности человека. В нём раскрыты нейрональные количественные и качественные отличия мозга людей с выдающимися способностями, которые были подтверждены дальнейшим развитием человечества. Показаны социальные причины и особенности биологического доминирования, которые не являются интеллектуальной гениальностью. Уделено внимание поискам потенциальных центров одарённости у математиков и программистов.


        Михаил Синяков
        React ниндзя ⚛️ Frontend lead @ Рестрим
        Ульяновск
        Архитектура SPA и управление состоянием с помощью MST

        Доклад принят в программу конференции


          Большинство фронтенд-специалистов самоучки. Умеют хорошо верстать и даже делают сайты на реакте. Но страдают архитектурные решения.

          Я хочу рассказать о том как стоит строить spa, расскажу как нужно делить на слои ответственности. Как это позволит делать отказоустойчивые приложения. Улучшит расширяемость/заменяемость. Упростит тестирование. Расскажу как в качестве сервисного слоя использовать библиотеку MST.


          Денис Сальников
          Scrum Master @ FinReach GmbH
          Берлин
          Отпускаем команду в свободное плавание: Как, Когда и Почему?

          Доклад принят в программу конференции


            Конечная цель любого Scrum Master или Agile Coach при работе с командами — достижение ими высокого уровня самоорганизации. Но что именно скрывается за этим расплывчатым термином? Как довести команду до этого состояния? На что обращать внимание? Когда не стоит «отпускать вожжи»? В своем докладе я постараюсь ответить на эти вопросы и поделюсь уроками, полученными мной в течении последних 5 лет в ходе запуска «с нуля» и развития более десяти Scrum-команд в России и за рубежом.


            Константин Густов
            Архитектор @ АО "Райффайзенбанк"
            Омск
            DDD в микросервисах: сложность против сложности

            Доклад принят в программу конференции


              DDD — сложный подход к проектированию ПО. Для его изучения требуется много прочитать и еще больше попробовать. Но когда у вас много бизнес-логики и она еще и запутанная, без подобного подхода создать развиваемое большое приложение трудно. У нас начало применения DDD по времени почти совпало со стартом активного перехода на микросервисную архитектуру. Из этого получился интересный опыт применения двух сложных, но в то же время отлично дополняющих друг друга вещей.

              Из этого доклада вы узнаете, как мы внедряли у себя в проекте предметно-ориентированное проектирование, как учились разговаривать с заказчиком на понятном ему языке, как дробили кодовую базу на ограниченные контексты, как улучшали качество кода и, конечно, какие выводы из этого сделали.


              Николай Ганюшкин
              Президент @ ООО "Роспартнер"
              Дубна

              Службы эксплуатации могут быть как хорошими, так и совершенно неэффективными. Более 70% всех авиакатастроф происходит из-за неправильных действий человека. В ИТ инфраструктуре отказы оборудования и сбои в работе сервисов также вызваны человеческим фактором более чем в 50% случаев. Человек плохо справляется с рутинными процессами, бывают даже случаи скрытого саботажа.

              Два года назад вместе с нашими клиентами мы начали строить новую экосистему эксплуатации, платформу МОНК. Это система микросервисов. Тут и омниканальный сбор пользовательских обращений, сбор и анализ технических данных Сервис-монитор, а также Автоматон как RPA платформа для запуска скриптов поддержки. Мы уже сейчас изменили процессы у нескольких крупных организаций. Написали более 4000 роботов, которые выполняют рутинную работу. А инженеры могут стать по-настоящему менеджерами процессов.


              Vladimir Ignatov
              senior software engineer @ Avito
              Moscow
              Feature Toggles: Тогда и сейчас

              Доклад принят в программу конференции


                Как нескольким командам вносить изменения в один файл и не сойти с ума? Как с лёгкой душой коммитить недоделанные фичи в мастер и релизить с ними новую версию? Как запустить фичу на всех платформах одновременно? Для решения всех этих вопросов мы используем механизм Feature Toggles.

                В докладе — разбор, что это и как это готовить. Владимир рассказал об эволюционных этапах, которые мы прошли за несколько лет использования этого подхода. О препятствиях на пути к реализации и путях их преодоления — наших хаках, архитектуре, тестировании и работе с CI.


                Алексей Васильев
                Agile coach @ BIPULSE
                Санкт-Петербург
                Pulse management и многопроектная среда

                Доклад принят в программу конференции


                  Пока мы существуем в рамках одного простого проекта у нас всё хорошо, и годятся любые методы управления: проектные, адаптивные (Agile) или работа "наскоком". Но всё меняется когда появляются проекты внедрения Продукта с внешними обязательствами перед Заказчиком. Но мы находимся в условиях рынка, и дефицита кадров. Они есть, но их нет. и мы не можем быстро расширить штат и нанять специалистов, так как вход нового специалиста в проект занимает время. Ко всему этому, добавляется неопределенность содержания проекта.

                  В таких условиях чистый Agile уже не совсем работает, но как-то работать надо.

                  Возникает вопрос: "Что делать?", "Как из выбирать точку приложения усилий в условиях ограниченных ресурсов?"

                  Я расскажу про Pulse Management - объединение подходов системного проектного управления, Agile-методов и Теории ограничений для управления портфелем проектов на уровне организации.


                  Валерий Бабушкин
                  Директор по моделированию и анализу данных / Руководитель группы аналитики @ X5 Retail Group / Yandex
                  Москва
                  Как ускорить А/Б тесты в 10-100 раз

                  Доклад принят в программу конференции


                    А/Б тестирование весьма каверзная задача, особенно когда количество данных слишком мало, чтобы сделать выводы за адекватное количество времени. Хочу рассказать историю о том, как в одном сервисе переключились на новую, самую важную метрику, в связи с чем количества необходимого для А/Б трафика упало в 2 раза и отом, как мы решили эту проблему с помощью Линеаризации, перевзвешивания, машинного обучения и теоремы Баеса


                    Александр Мышов
                    Разработчик интерфейсов @ Яндекс
                    Новосибирск
                    Автоматический рефакторинг кода с помощью codemodes

                    Доклад принят в программу конференции


                      Иногда бывает так, что изменение сигнатуры одной функции или обновление зависимости может повлечь за собой несколько дней скрупулёзной работы. Для упрощения и автоматизации этого процесса можно написать свой codemode.

                      Сodemode - это скрипт, работающий с абстрактным синтаксическим деревом (ast) JavaScript. Цель codemode - автоматизировать рефакторинг кода.

                      В своем докладе я расскажу про jscodeshift - тулкит для написания codemodes. Покажу и разберу несколько примеров codemodes, начиная с простых и заканчивая теми, которые могут быть использованы в вашем проекте. Вы увидите, что работа с ast на самом деле не такая уж и сложная задача, как может показаться на первый взгляд, и что овладение этим инструментом может дать очень сильный прирост вашей эффективности.


                      Григорий Кошелев
                      Ведущий инженер-программист @ Контур
                      Екатеринбург
                      Всё пошло по Кафке

                      Доклад принят в программу конференции


                        Погрузимся в архитектуру компонентов Кафки. Вместе пройдёмся по граблям, которые заботливо собраны в одну презентацию. Постараемся понять, откуда в Кафке взялись различные ограничения. Всё по-честному, никакого маркетинга.

                        Выбранные для доклада грабли помогут ответить на следующие вопросы:

                        - Что не так с настройками (по умолчанию)?

                        - К каким неожиданностям должны быть готовы клиенты?

                        - Зачем Кафке девопс?

                        - Много настроек — это хорошо или плохо?

                        - О чём забыли написать в документации?


                        Владимир Баяндин
                        Head of Product @ Skyeng
                        Санкт-Петербург

                        Рецепт успеха команды роста очень прост: генерировать сильные гипотезы по улучшению продукта и очень быстро их проверять.

                        Самый надежный способ проверить гипотезу — провести А/Б-тест. Но подготовка эксперимента требует ресурсов разработки и приличного объема трафика. Это делает проверку гипотез дорогим и долгим удовольствием. Мы в Skyeng очень ценим скорость, поэтому мы задумались, как решить эту проблему, и нашли спасение в качественных исследованиях, поставленных на поток.

                        Из доклада вы узнаете:

                        — как делегировать глубинные интервью и делать Customer Development каждый день

                        — как мы строили команду User Research, и чем она занимается

                        — как выглядит конвейерный процесс качественных исследований

                        — как оптимизировать привлечение респондентов на интервью

                        — реальные примеры исследований команды роста Skyeng

                        — как построить фабрику качественных исследований в своем продукте

                        Бонусом все желающие получат шаблон документации для проведения глубинных интервью.


                        Александр Сербул
                        руководитель отдела направления контроля качества интеграции и внедрений "1С-Битрикс" @ 1С-Битрикс
                        Москва

                        В докладе простыми словами расскажем, как применять популярные гибкие методологии (Agile, Scrum) в сложных проектах, связанных с машинным обучением, математикой, большими данными. Пройдем все этапы от проектирования, анализа, защиты бизнес-идеи и подбора команды, до оценок качества и конверсии сервиса «на бою». Разберем возможности быстрого запуска подобных проектов с использованием готовых облачных сервисов «Amazom Sage Maker», а также поделимся успешным опытом реализации ML-проектов внутри компании.

                        Доклад будет полезен менеджерам, заинтересованным в снижении издержек и рисков запуска проектов по машинному обучению, AI и большим данным в организациях. Также, доклад будет интересен всем, кто хочет привлечь в проект внешние ML-команды, стартапы, научные организации, в т.ч. через организацию конкурсов и хакатонов.


                        Александр Мадьянкин
                        @ Evil Martians
                        Москва

                        Технический долг неизбежен, и зачастую он накапливается быстрее, чем мы успеваем его погашать.

                        Особенно ярко это проблема проявляется, когда, поддавшись моде, мы стремимся внедрять новые технологии без предыдущего опыта их использования и наработанных практик и надеемся на дальнейший рефакторинг.

                        Вместо ровной и стройной архитектуры у нас получается Tutorial Driven Development — демонстрационный код из документации библиотек становится основой для приложения. Повышается зависимость от конкретных библиотек, нет четких правил написания кода и его стыковки со сторонним, высокоуровневый код переплетается с низкоуровневым.

                        В докладе я расскажу об архитектуре, к которой пришел за четыре года разработки SPA и React Native приложений через свои пробы и ошибки и анализ и рефакторинг чужого кода.


                        Константин Цховребов
                        Android Architect @ Redmadrobot
                        Санкт-Петербург
                        Redux-пагинация в Android приложении

                        Доклад принят в программу конференции


                          Я докажу, что "простейший" экран с пагинацией совсем не так прост. Вскрою множество проблем и покажу как их элегантно решить через Redux подход, но без фанатизма, чтобы не кидаться переписывать весь проект. Кроме того, познакомиться с этим подходом будет полезно, так как грядет декларативный UI, а там все будет создано для того, чтобы начать писать Redux подобные архитектуры.


                          Александр Лукьянченко
                          Senior software engineer @ Авито
                          Москва

                          Расскажу о том, как построить прозрачную систему discovery сервисов для нескольких kubernetes кластеров со всеми возможностями, предоставляемыми service mesh технологиями. Рассмотрим путь, который мы прошли в Авито для построения мульти ДЦ решения. Сравним несколько популярных открытых решений и узнаем их плюсы и минусы.


                          Денис Красновский
                          Технический руководитель разработки @ ДомКлик
                          Москва
                          Как правильно собирать npm-пакет в 2к19 году

                          Доклад принят в программу конференции


                            Я покажу вам нечто прекрасное, как маленький npm-пакет может погрузить ваше приложение в хаос.

                            А если серьезно, каждый день мы используем множество npm-пакетов в наших приложениях, но что мы о них знаем?

                            Я расскажу вам: как правильно собирать npm-пакеты, что выбрать webpack или rollup, какой негативный импакт можно занести в приложение используя плохо собранный пакет.


                            Никита Дубко
                            Разработчик интерфейсов @ Яндекс
                            Минск
                            CSS — язык программирования

                            Доклад принят в программу конференции


                              В Интернетах принято ругать CSS, если не понимаешь, как с ним работать. Тем не менее, CSS в связке с HTML — Тьюринг-полный язык программирования, а если к ним добавить Houdini API и CSS Custom Properties — можно творить настоящую магию.


                              Иван Пономарёв
                              Tech Lead @ КУРС
                              Москва
                              Kafka Streams API: шаг за рамки Hello World

                              Доклад принят в программу конференции


                                Kafka как платформа потоковой обработки данных становится всё более популярной. Тем, кто впечатлился обзорными докладами и решит попробовать создать рабочее приложение при помощи Kafka Streams API, предстоит освоить немало новых вещей и соответствующим образом настроить мышление.

                                С чего начать?

                                Как работает хранение и репликация локального состояния?

                                Что такое RocksDB и как её возможности используются в Kafka Streams «под капотом»?

                                Что за страшные слова: «репартиционирование» и

                                «копартиционирование»?

                                Какова семантика джойнов и оконных операций?

                                Как писать тесты?

                                Как отлаживать систему «на ходу»?

                                Что делать с исключениями?

                                На эти вопросы мы попытаемся ответить, по пути рассмотрев несколько демо-примеров.


                                Александр Паринов
                                Ведущий архитектор систем компьютерного зрения @ X5 Retail Group
                                Москва

                                Чтобы обучить сверточную нейронную сеть требуется большое количество данных. Аугментация изображений - простой и быстрый способ увеличить обучающую выборку и получить более качественные модели. Существующие библиотеки для аугментаций нас не устроили: они были слишком медленными, поддерживали ограниченный набор преобразований, не умели работать с данными для разных типов задач, их документация была неполной. Мы хотели, чтобы наша библиотека одновременно предоставляла удобный интерфейс на Python и при этом работала достаточно быстро. Также приходилось решать проблемы, присущие любому Open Source проекту - как писать понятную документацию и примеры использования, как чинить баги и не допускать появления большого числа ошибок в новых релизах, как продвигать библиотеку и как следовать пожеланиям сообщества и дальше развивать проект.


                                Андрей Смирнов
                                frontend разработчик @ Wrike
                                Санкт-Петербург
                                Работа с графикой во Flutter.

                                Доклад принят в программу конференции


                                  Используя Flutter, можно создавать прекрасные интерфейсы, но встроенных возможностей не всегда достаточно для самых неожиданных требований наших приложений.

                                  В этом докладе мы заглянем под капот графического движка Flutter.

                                  Разберемся, как устроена анимация.

                                  Напишем custom виджет, используя Dart.

                                  Нарисуем custom виджет, используя Flare.


                                  Андрей Сальников
                                  DBA @ Data Egret
                                  Казань
                                  PostgreSQL, нагрузка и запросы

                                  Доклад принят в программу конференции


                                    PostgreSQL на данный момент одна из самых популярных баз данных для проектов с абсолютно разными профилями нагрузки. Естественно постоянно возникают вопросы откуда в базе данных высокая нагрузка и как с ней бороться. Вариантов возникновения такой нагрузки довольно много, в данном докладе посмотрим на проблемы с запросами, как на наиболее понятную проблему. Первым делом выясним как находить запросы, которые требуют первостепенной обработки, какими инструментами пользоваться для этого. Так же поговорим о том, какие есть типовые проблемы в существующих запросах, какую профилактику им проводить и как исправлять.


                                    Артем Кудряшов
                                    Team lead @ АвтоТрансИнфо
                                    Санкт-Петербург
                                    Свободу тимлидам! Развитие разработчикам!

                                    Доклад принят в программу конференции


                                      Доклад о том, как развить команду и расслабить тимлида так, чтобы всё было сделано и все остались счастливы