Krasnodar Dev Conf 2019


Дата: 24 августа 2019
Место: Краснодар, ул. Конгрессная, 4 Four Points Sheraton Krasnodar
Стоимость: 35000 - 6500 руб.

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

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

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

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

Программа конференции

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

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

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

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

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

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

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

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

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

Андрей Долматов, Ростелеком ИТ
Разработка высокопроизводительных систем с IMDG: Apache Ignite
Как сделать высокопроизводительный API, если использование кеша запрос-ответ становится неэффективным? Добавим требования отказоустойчивости и масштабируемости.
Мы нашли для себя ответ в использование In-Memory Data Grid, и даже In-Memory Compute Grid.

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

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

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

Антон Третьяков, БАРС Груп
Функциональный подход в Enterprise.NET
Мы рассмотрим базовые понятия функционального подхода, которые станут основой знаний о чистых функциях.
Отдельным блоком разберем актуальные инструменты, библиотеки и подходы — почему их сложно использовать в корпоративном стеке и что с этим делать?
Вся полученная информация поможет понять базовый принцип чистых функций — как его можно применять в .NET с помощью инструментов.

Максим Стефанов, PVS-Studio
Статический анализ кода: Что? Как? Зачем?
Методология статического анализа год за годом зарекомендовывает себя в поисках дефектов в исходном коде программ. Если Вы не знакомы с этой методологией, или знакомы, но не применяете ее в процессе разработки, то доклад для Вас будет интересен.

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

Кирилл Роговой, SkyEng
"Под капотом" WebRTC: как живет и путешествует кадр в сети
Для многих технология передачи видео в реальном времени остается белым пятном, и я хочу доступно, но без капитанства рассказать, как работают Google Hangouts, Skyeng Vimbox и другие сервисы, которые ее используют.

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

Алексей Охрименко, Avito
Рефакторинг V2 - Отрефакторенная версия доклада
Первая мысль, приходящая на ум каждому программисту, который видит новый код: "Пора все переписывать".
В этом докладе я расскажу, как бороться с такими мыслями, чем они плохи, какие есть подходы к рефакторингу, и чего им можно добиться на примере компьютерной игры.
Это вторая версия доклада в которой будет больше примеров и меньше теории.

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

Олег Коровин, Одноклассники
Новый фронтенд в Одноклассниках: что, как и почему?
Много слухов ходит, про загадочный и суровый фронтенд в компании Одноклассники.
Кто-то думает, что там все делается на Java. Кто-то слышал про ванила JS. Кто-то — про свою библиотеку для рендеринга.
А что же на самом деле там происходит?

В этом докладе будет история того, как это получилось, к чему пришло, и как планирует развиваться фронтенд в ОК дальше. Также мы сделаем обзор используемого стека и расскажем о том:
- как мы пробовали язык Kotlin;
- как мы создали свою библиотеку рендеринга;
- как мы запустили React в GraalVM;
- как привозим тексты и настройки в приложение;
- какие и как написали плагины для webpack;
- как и почему для подключения модулей webpack мы используем requirejs;
- какая у нас структура проекта;
- как приложения взаимодействуют с окружающим сайтом;
- какие еще фишки мы запилили у себя.

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

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

Сергей Густун, ВКонтакте
VK Mini Apps или как мы расширяем функционал ВКонтакте
Социальные сети начали выходить за рамки привычного общения, иногда хочется чего-то большего.

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

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

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

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

Купить билет