Krasnodar Dev Conf 2019

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

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

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

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

  • Стоимость участия
    от 3 000 ₽ до 5 500 ₽
    Подробнее
  • Место проведения
    Four Points Sheraton Krasnodar
    Краснодар, ул. Конгрессная, 4
    Смотреть на карте
  • Дата и время
    24-25 августа
    с 10:00 до 20:00

Доклады

"Под капотом" WebRTC: как живет и путешествует кадр в сети (второй день)

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

Вы узнаете:

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

К этому придут все: как мы отходим от feature-based разработки и концентрируемся на домене (первый день)

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

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

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

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

Рефакторинг V2 - Отрефакторенная версия доклада (второй день)

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

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

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

CSS — язык программирования (второй день)

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

Сделаем микросервисы легковесными снова (первый день)

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

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

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

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

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

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

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

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

Разработка высокопроизводительных систем с IMDG: Apache Ignite (первый день)

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

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

Не падаем под нагрузкой (первый день)

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

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

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

  1. Научимся правильно определять и учитывать ёмкость системы;
  2. мысленно построим с нуля троттлинг на сервере, последовательно наступая на грабли, которые мы забыли учесть заранее;
  3. рассмотрим лучшие практики создания клиентов, которые не будут дополнительно нагружать бекенд, когда весь кластер начинает испытывать проблемы.

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

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

Кто-то думает, что там все делается на Java. Кто-то слышал про ванила JS. Кто-то — про свою библиотеку для рендеринга.

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

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

  • как мы пробовали язык Kotlin;
  • как мы создали свою библиотеку рендеринга;
  • как мы запустили React в GraalVM;
  • как привозим тексты и настройки в приложение;
  • какие и как написали плагины для webpack;
  • как и почему для подключения модулей webpack мы используем requirejs;
  • какая у нас структура проекта;
  • как приложения взаимодействуют с окружающим сайтом;
  • какие еще фишки мы запилили у себя.

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

Performance надзор: DIY (второй день)

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

VK Mini Apps или как мы расширяем функционал ВКонтакте (второй день)

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

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

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

Функциональный подход в Enterprise.NET (первый день)

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

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

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

Баги, которые вы никогда не встретите (второй день)

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

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

Статический анализ кода: Что? Как? Зачем? (первый день)

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

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

Расписание

10:50
Открытие
11:00
Доклад
12:00
Доклад
13:00
Обед
Кофе-брейк
14:00
Доклад
15:00
Доклад
16:00
Обед
Кофе-брейк
17:00
Доклад
18:00
Доклад
19:00
Доклад
19:50
Закрытие

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

Первый деньВторой деньДва дня
2 000 ₽2 000 ₽4 000 ₽
с 1 июня
или от 50 проданных билетов
2 500 ₽2 500 ₽4 500 ₽
с 1 июля3 000 ₽3 000 ₽5 500 ₽
с 1 августа3 500 ₽3 500 ₽6 500 ₽
Купить билет

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

В стоимость участия входит:

  1. обед (в два этапа, чтобы все успели поесть);
  2. горячие и прохладительные напитки (в безлимитном количестве);
  3. перекусы в течение дня;
  4. трансфер на автобусе.

Для иногородних участников можем предложить скидку 10% на проживание в отеле, где будет проходить конференция.
Забронировать номера со скидкой можно указав промокод KRDDEVCONF19 по электронной почте reservations@fpkrasnodar.com, sales@fpkrasnodar.com или по телефону отдела бронирования +7 861 202-07-28.