Krasnodar Dev Conf 2019

Krasnodar Dev Conf 2019

IV ежегодная конференция разработчиков в Краснодаре.

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

7 докладов и 350 участников в каждый из дней.

Официальный чат конференции @krddevdays_chat.

Дата и время

24-25 августа 2019 г.
с 10:00 до 20:00

Место проведения

Four Points Sheraton Krasnodar

Краснодар, ул. Конгрессная, 4

Стоимость участия

Доклады

  • К этому придут все: как мы отходим от feature-based разработки и концентрируемся на домене
    Иван Матвеев

    Иван Матвеев

    Тимлид команды маркетинговых инструментов, SkyEng

    Мы пишем код за деньги и решаем проблемы бизнеса, а значит, отталкиваясь от бизнес-проблем. Мы будем писать более читаемый код, лучше покрывать его тестами, доставлять и так далее. Domain driven design (DDD) как раз об этом. Читая книги, мы думаем, что aggregate root, repositories, ubiquitous language и есть то, что нам нужно. Однако, чтобы строить приложение, в центре которого находится бизнес, необязательно все это применять.

    В докладе я расскажу:

    • о комбинации архитектурных практик, которые мы внедряем, и о пути проб и ошибок, которым пришли к ним;
    • как мы определяем, что важно для бизнеса, и как гексагональная архитектура позволяет нам концентрироваться на домене;
    • как мы постепенно переходим к настоящему domain driven, концентрируясь на strategic части и выделяя бизнес-область без излишних практик.

    Доклад “зайдет” всем, независимо от уровня: поверьте, и миддлы, и джуны, и сеньоры - все со временем приходят к этому.

  • "Под капотом" WebRTC: как живет и путешествует кадр в сети
    Кирилл Роговой

    Кирилл Роговой

    Руководитель разработки видеосвязи, SkyEng

    Для многих технология передачи видео в реальном времени остается белым пятном, и я хочу доступно, но без капитанства рассказать, как работают Google Hangouts, Skyeng Vimbox и другие сервисы, которые ее используют.

    Вы узнаете:

    • как устроен путь одного видео-кадра в мире WebRTC: от генерации вашей веб-камерой до отрисовки на экране собеседника;
    • какие препятствия его ждут и откуда берутся потери пакетов, пинг или jitter;
    • что будет, если кадр не дошел до получателя;
    • как работает видеокодек и почему нам часто хватает 3G для конференции в 720p, но все подвисает, когда в кадре происходит много резких действий.
  • Performance надзор: DIY
    Николай Рябов

    Николай Рябов

    Senior Frontend Developer, Avito

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

  • CSS — язык программирования
    Никита Дубко

    Никита Дубко

    Разработчик интерфейсов, Яндекс

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

  • VK Mini Apps или как мы расширяем функционал ВКонтакте
    Сергей Густун

    Сергей Густун

    Технический Евангелист команды API, ВКонтакте

    Социальные сети начали выходить за рамки привычного общения, иногда хочется чего-то большего.

    Мы Вконтакте придумали, как мы можем помогать и себе, и бизнесу за счет новой платформы VK Mini Apps — маленькие, но мощные приложения, которые включают в себя мощь нативного клиента и веба одновременно.

    Расскажу, как мы к этому пришли и почему мы так верим в эту историю, в которую вы тоже можете внести вклад.

  • Функциональный подход в Enterprise.NET
    Антон Третьяков

    Антон Третьяков

    Ведущий разработчик, БАРС Груп

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

    Отдельным блоком разберем актуальные инструменты, библиотеки и подходы — почему их сложно использовать в корпоративном стеке и что с этим делать?

    Вся полученная информация поможет понять базовый принцип чистых функций — как его можно применять в .NET с помощью инструментов.

  • Статический анализ кода: Что? Как? Зачем?
    Максим Стефанов

    Максим Стефанов

    C++ / Java разработчик, PVS-Studio

    Методология статического анализа год за годом зарекомендовывает себя в поисках дефектов в исходном коде программ. Если Вы не знакомы с этой методологией, или знакомы, но не применяете ее в процессе разработки, то доклад для Вас будет интересен.

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

  • Высокая нагрузка на БД PostgreSQL, причины и методы борьбы
    Андрей Сальников

    Андрей Сальников

    Администратор баз данных, Data Egret

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

    С другой стороны бэкенд разработчики основные клиенты базы данных и часто им не хватает времени разобраться со внутренними механизмами БД и понимать как правильно организовать работу приложения с БД.

    В рамках доклада, мы посмотрим, какие виды нагрузки возникают на БД, как они выражаются на графиках мониторинга. Рассмотрим все типовые примеры проблем решений в работе с БД и методы как их избегать, получая на выходе максимум производительности от базы данных, тем самым обеспечим себе возможность заниматься разработкой основного функционала приложения и не заниматься поиском решений, которые повлекут за собой сильную перестройку архитектуры приложения и рефакторинг кода. Весь разговор будет ориентирован исключительно на бэкенд разработчиков, без скучной DBA терминологии и закапывания во внутренности PostgreSQL.

  • Рефакторинг V2 - Отрефакторенная версия доклада
    Алексей Охрименко

    Алексей Охрименко

    Frontend Developer, Avito

    Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать".

    В этом докладе я расскажу, как бороться с такими мыслями, чем они плохи, какие есть подходы к рефакторингу, и чего им можно добиться на примере компьютерной игры.

    Это вторая версия доклада в которой будет больше примеров и меньше теории

  • Сделаем микросервисы легковесными снова
    Дмитрий Сугробов

    Дмитрий Сугробов

    Разработчик, Леруа Мерлен

    Мы живём в сложное микросервисное время. Нельзя просто взять и написать код.

    От современного разработчика требуется понимание и использование инструментов, которые выходят за рамки кода, отвечающего за бизнес функционал.
    Service discovery, centralized configuration, distributed tracing, circuit breaking, API gateway — все эти штуки из удела высшего общества давно превратились в обыденные механизмы, без которых не построить современное приложение.

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

    В докладе расскажу про способ, как мы в Леруа Мерлен справляемся с излишним ожирением наших микросервисов.

  • Баги, которые вы никогда не встретите
    Тим Чаптыков

    Тим Чаптыков

    Старший разработчик, ВКонтакте

    У нас ВКонтакте очень много пользователей, поэтому часто на первый взгляд незначительный баг может оказаться неприятным.

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

  • Не падаем под нагрузкой
    Вадим Мартынов

    Вадим Мартынов

    Ведущий инженер-программист, Контур

    У любой системы есть конечная ёмкость — максимальное количество запросов, которое она может обработать. Можно (и нужно) уметь правильно выбирать и планировать емкость системы. Но важно понимать, что когда система сталкивается с нагрузкой, превышающей эту емкость, кто-то из её потребителей обязательно должен за это заплатить.

    Выбор простой: либо заплатят все (полная деградация и недоступность сервиса), либо только часть. Если вы не делаете выбор осознано, то по умолчанию получите первый вариант.

    Сделать выбор мало, нужно уметь его реализовать. Реализовали? А вы всё учли? Всё-всё, что может случиться? Проверим?

    1. Научимся правильно определять и учитывать ёмкость системы;
    2. мысленно построим с нуля троттлинг на сервере, последовательно наступая на грабли, которые мы забыли учесть заранее;
    3. рассмотрим лучшие практики создания клиентов, которые не будут дополнительно нагружать бекенд, когда весь кластер начинает испытывать проблемы.
  • Разработка высокопроизводительных систем с IMDG: Apache Ignite
    Андрей Долматов

    Андрей Долматов

    Руководитель направления, Ростелеком ИТ

    Как сделать высокопроизводительный API, если использование кеша запрос-ответ становится неэффективным? Добавим требования отказоустойчивости и масштабируемости.

    Мы нашли для себя ответ в использование In-Memory Data Grid, и даже In-Memory Compute Grid.

  • Новый фронтенд в Одноклассниках: что, как и почему?
    Олег Коровин

    Олег Коровин

    Ведущий веб-разработчик, Одноклассники

    Много слухов ходит, про загадочный и суровый сайт в компании Одноклассники. Многие слышали, что там все делается на Java. Даже фронтенд.

    А что же на самом деле там происходит?

    В этом докладе будет история того, как это получилось, какие были проблемы, и как был найден путь решения с использованием новой виртуальной машины GraalVM и React.

    Я расскажу о том:

    • Почему мы не взяли NodeJS, Kotlin, Nashorn и другие решения;
    • Почему был выбран GraalVM;
    • Как работает JS в GraalVM и какие это дает преимущества;
    • Как собрать и запустить React в такой конфигурации;
    • Какие появляются задачи и способы их решения;
    • Как можно начать постепенную миграцию, огромного проекта.

Расписание

Конференц-зал «Шардоне»Переговорная комната «Сира»
10:50
Открытие
11:00
Сделаем микросервисы легковесными снова
Дмитрий Сугробов

Дмитрий Сугробов

12:00
Функциональный подход в Enterprise.NET
Антон Третьяков

Антон Третьяков

Как не ошибиться при выборе нового места работы
Круглый стол
13:00
Обед
Кофе-брейк
Обед
Кофе-брейк
14:00
Разработка высокопроизводительных систем с IMDG: Apache Ignite
Андрей Долматов

Андрей Долматов

Как выращивать middle разработчиков из джунов
Круглый стол
15:00
Не падаем под нагрузкой
Вадим Мартынов

Вадим Мартынов

Работа в региональном офисе vs Релокация
Круглый стол
16:00
Кофе-брейк
Обед
Обед
Кофе-брейк
17:00
К этому придут все: как мы отходим от feature-based разработки и концентрируемся на домене
Иван Матвеев

Иван Матвеев

Удаленная работа: инструкция по применению
Круглый стол
18:00
Высокая нагрузка на БД PostgreSQL, причины и методы борьбы
Андрей Сальников

Андрей Сальников

Работа с зарубежными компаниями / заказчиками
Круглый стол
19:00
Статический анализ кода: Что? Как? Зачем?
Максим Стефанов

Максим Стефанов

Зачем нам сообщество и что в нем стоит улучшать
Круглый стол
19:50
Закрытие