Krasnodar Dev Conf 2019

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

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

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

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

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

Доклады

Performance надзор: DIY

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Баги, которые вы никогда не встретите

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

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

"Под капотом" WebRTC: как живет и путешествует кадр в сети

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

Вы узнаете:

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

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

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

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

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

CSS — язык программирования

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

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

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

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

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

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

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

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

Не падаем под нагрузкой

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

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

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

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

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

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

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

Сделаем микросервисы легковесными снова

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

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

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

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

Расписание

Конференц-зал «Шардоне»Переговорная комната «Сира»
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 разработки и концентрируемся на домене
Иван Матвеев
Иван Матвеев
Тимлид команды маркетинговых инструментов, SkyEng
Удаленная работа: инструкция по применению
Круглый стол
18:00
Высокая нагрузка на БД PostgreSQL, причины и методы борьбы
Андрей Сальников
Андрей Сальников
Администратор баз данных, Data Egret
Работа с зарубежными компаниями / заказчиками
Круглый стол
19:00
Статический анализ кода: Что? Как? Зачем?
Максим Стефанов
Максим Стефанов
C++ / Java разработчик, PVS-Studio
Зачем нам сообщество и что в нем стоит улучшать
Круглый стол
19:50
Закрытие

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

Первый день
3 500 ₽
Второй день
3 500 ₽
Два дня
6 500 ₽

Регистрация закрыта

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

Если у вас есть вопросы или возникли сложности с нами можно связаться по телефону +7 (918) 362-85-76 или написав на почту help@krddevdays.ru.

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

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

Начиная с 9:30 и до 21:30, примерно каждые 20 минут, будут курсировать автобусы между местом проведения и театром драмы. На месте ищете волонтера в футболке с символикой нашей конференции.

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

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