Митап JavaJam. Спор о джавистах, сплав на брёвнах, эксперименты и микросервисы

    Java-разработчики классные.

    Фронтендеры их хвалят и перенимают полезные инструменты, дизайнеры с особой любовью приносят макеты, а тестировщики ликуют, потому что все автоматизировано и жизнь — сахар (но об этом мы пока не рассказывали).

    Иногда мы проводим для них java-митапы — собираем экспертов и просим их рассказать что-нибудь позабористей. Так и в этот раз — коллеги из Сбербанка, Одноклассников, Яндекса и Яндекс.Денег пришли на JavaJam и выложили сразу кучу подробностей о своей работе.

    image

    Под катом:

    — Главное о логировании Java-приложений на примерах от Яндекса;
    — Разработка инструмента на Low-code для UFS Сбербанка;
    — Автоматизация экспериментов в Одноклассниках с помощью Kotlin DSL;
    — Как в Яндекс.Деньгах сделали одну платформу для микросервисов вместо семи.

    А еще там опрос о том, уместно ли называть java-разработчиков джавистами.



    Когда игра слов выходит на новый уровень

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

    Руководство по сплаву на бревнах (Владимир Красильщик, Яндекс)


    Важные понятия и подводные камни логирования Java-приложений на примерах разработчика Яндекса. Мы поговорим о главных понятиях в логировании Java-приложений, без которых не выжить ни одному разработчику.

    Я приведу примеры неожиданного поведения приложений из-за хитросплетений логирования из собственной практики, а вы узнаете, как сделать жизнь с логами проще и веселее — насколько это возможно. Цель выступления — поделиться практиками, которые позволят забыть о логировании и заняться действительно интересными вещами.

    Внутренности и таймкоды
    1:20 — Почему я не вижу логи?
    7:04 — Про Logger, Appender и их связь
    13:40 — Универсальная Программная Архитектурная Диаграмма (УПАД)
    15:14 — Баззворды из современного мира Java-логирования
    20:13 — Неприятность 1 — Множественный binding
    21:46 — Неприятность 2 — log4j или JUL без адаптера
    25:09 — «Швейцарский» файловый аппендер logback
    29:57 — Неприятность 3 — GWT
    31:16 — Неприятность 4 — Hibernate 4.X.X+
    34:06 — Неприятность 5 — Временная недетерминированность
    37:07 — Разработка API
    40:50 — Логирование в микросервисах и кластере
    44:13 — Как это сделано в Яндекс.Маркете
    50:36 — О безопасности в логировании
    55:08 — Как забыть о логах и начать жить?



    Model-Driven DevOps (Денис Васин, Сбербанк)


    Вы наверняка знакомы с DevOps-культурой, которая объединяет специалистов по разработке и информационно-технологическому обслуживанию (Developement и Operations). Но мало кто слышал о платформе Low-code — она превращает участников связанных с ней проектов в Citizen Developers.

    В докладе я расскажу о разработке инструмента на Low-code для UFS (Unified Front System) «Сбербанка». И отвечу на вопросы, которые обычно возникают у MDE-менеджеров. Например, как управлять версиями моделей, разделить сгенерированный и рукописный код или интегрировать собственный инструмент в стандартную DevOps-инфраструктуру.

    Внутренности и таймкоды
    01:05 — Время жизни финансового продукта раньше и сейчас
    04:24 — Сбербанк изобрел свой Low-Code в «единой фронтальной системе»
    12:16 — Родовые травмы Low-code
    15:53 — Cовместная работа в корпоративной инфраструктуре
    25:34 — Как подключать ручной код?
    28:28 — Enterprise-архитектура развертывания
    30:19 — Контроль качества функциональности
    33:45 — Интеграция в Pipeline
    36:13 — Переход от DevOps к Model Driven DevOps



    Автоматизация экспериментов с помощью Kotlin DSL (Александр Тарасов, Одноклассники)


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

    В докладе я расскажу, почему мы написали кастомный DSL и как Kotlin помог сделать его компактным и удобным. А ещё о том, какие проблемы нужно решить, чтобы всё работало, как вы задумали.

    Внутренности и таймкоды
    01:47 — Что такое эксперимент?
    04:23 — Нельзя просто так взять и выкатить фичу
    05:23 — Эксперименты нужны потому что…
    07:38 — Проблемы с экспериментами
    09:00 — Схема запуска эксперимента
    10:39 — Концепт решения
    11:25 — Демо
    15:04 — На чем писать DSL
    16:46 — А где же Kotlin и на чем еще писать DSL?
    21:22 — «Кишки» DSL
    23:46 — Как обеспечить безопасность
    24:38 — Оптимизация DSL
    29:31 — Kotlin Script
    31:31 — И его проблемы
    34:45 — Выводы + еще одно демо
    38:29 — Итоги и что почитать по теме



    Единая микросервисная платформа Яндекс.Денег (Василий Созыкин, Яндекс.Деньги)


    В Яндекс.Деньгах мы уже шесть лет строим микросервисную архитектуру — дробим монолиты на мелкие сервисы и реализуем новые функциональности в виде отдельных компонентов.

    Еще три года назад у нас было семь собственных платформ — четыре для Java и три для JavaScript-стека. Сопровождать всё это было дорого и сложно, а про автоматизацию и говорить не приходилось. Мы устали от такой жизни и создали единую платформу для Java-сервисов на основе стека Spring Boot.

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

    В докладе я расскажу, как мы улучшили процесс тестирования, покрыли большинство компонентов тестами минимум на 80% и как нам удалось всего этого достичь.

    Внутренности и таймкоды
    00:12 — Как не гнаться за кучей языков и платформ
    01:02 — Что изменилось в Яндекс.Деньгах за три года
    03:51 — Сначала платформ было две
    05:29 — +1 платформа и 10 сервисов (все стало еще хуже)
    08:32 — Паттерны сопровождения микросервисных систем
    08:44 — Unified Build Instruments
    12:11 — CI/CD as a code
    15:06 — Busines-free common libraries
    18:37 — Component testing
    22:56 — Versioning test coverage limits
    25:13 — Unified microservice platform
    28:40 — 20 минут от мерджа до продакшена



    А еще мы тут с ребятами из фронтенда поспорили, обижаются ли java-разработчики, если называть их джавистами. Ребята говорят, что нормально, а я сомневаюсь, хоть сам и не джавист.

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

    Допустимо ли называть java-разработчиков джавистами?
    Я %выберите вариант%, и опрос выше оскорбляет мои чувства
    • +11
    • 5,2k
    • 4

    Яндекс.Деньги

    146,87

    Об электронных платежах и устройстве Я.Денег

    Поделиться публикацией
    Комментарии 4
      0
      del
        0
        Есть ещё малораспространённые варианты «явасек» и «ява-любознательный» (последнее применимо, впрочем к любому ЯП).
        P.s. лично меня ни один вариантов, в том числе мною озвученных, не оскорбляет. «Хоть горшком назови, только в печь не суй»
          0
          В таком случае я шарпей.
            0
            Самое оригинальное название, которое я слышал, было «джава-парень»))

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

            Самое читаемое