JPoint 2016

22-23 апреля 2016
Москва, Россия
Международная Java-конференция
Купить видео
В избранное

Алексей Рагозин

Lead Solution Architect в Технологический Центр Дойче Банка

Евгений Борисов

Разработчик Java в Naya Technologies

Никита Сальников-Тарновский

Co-founder в Plumbr

Кирилл Толкачёв

Главный разработчик в Альфа-Лаборатория

Виктор Гамов

Senior Solution Architect в Hazelcast

О мероприятии

JPoint — Java-конференция только для опытных Java-разработчиков и только про разработку. Это уже четвертая по счету конференция JPoint: с каждым годом она получается еще больше, еще интереснее и еще хардкорнее!

Для кого

  • Техническим директорам
  • Тим лидам
  • Инженерам
  • Программистам
  • Разработчикам
Поделиться

Расписание

Развернуть все
22 апреля (пятница)
День 1
Показать
цену в
$
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Рагозин

Lead Solution Architect в Технологический Центр Дойче Банка
и ещё 2
докладчика

Открытие. Приветственное слово организаторов (JUG.ru) и спонсоров

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Барух Садогурский

Developer advocate в JFrog
и ещё 3
докладчика

Новости высокой моды, или В поисках серебряной пули

Что там у вас сегодня? Новый фреймворк для микросервисов? Очередной silver-bullet который решит все ваши проблемы в проекте, а ещё и кофе приготовит? IT-индустрия движется вперёд семимильными шагами, а мы — программисты — любим быть «в тренде»! Так давай те же поговорим о трендах!

Для вас выступят ведущие вашего любимого подкаста «Разбор Полётов» с обзором новостей из IT-индустрии — фреймворки, контейнеры, микросервисы, практики, мнения — вот это всё.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Владимир Красильщик

Архитектор big data в Luxoft

Что надо знать о логировании прагматичному Java-программисту

В работе профессиональных Java‑программистов такой аспект как логирование не представляется чем-то важным, значимым. И мы, пожалуй, в самую последнюю очередь задумываемся над тем, какую библиотеку для логирования использовать: решение принимается интуитивно и быстро, ведь весь фокус нашего внимания сосредоточен на драгоценной бизнес-логике, производительности и новомодных инструментах и подходах.

Ну правда, ну что интересного может быть в логировании? Это ведь просто чтобы не писать System.out.println(), да? Казалось бы, что может быть такого-эдакого в логировании?

Оказывается, что когда приложение начинает жить своей нормальной жизнью, а именно переходить из рук в руки программистов и тестеров, ломаться, чиниться, всячески падать и поддерживаться, а тем более когда оно начинает интегрироваться с другими подсистемами или апгрейдиться на новые версии библиотек, вот тут логирование и показывает своё истинное лицо и весело спрашивает: «Ну что, @#$%, не ждали?».

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

Из доклада слушатель узнает, как сочетаются современные библиотеки логирования, как можно и нужно использовать логи и про возможные «нежданчики», которые могут случаться, например, в простейшей строке log.info("personalId="+id).

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Владимир Озеров

Архитектор в GridGain

(Почти) неблокирующая синхронизация

Неблокирующая синхронизация - полезный и мощный инструмент многопоточного программирования. Но зачастую знания разработчиков о ней ограничиваются словами «круто», «сложно» и «перфоманс». Как именно использовать неблокирующие алгоритмы на практике? Чем конкретно они могут помочь джависту? И где спрятан тот самый перфоманс? Давайте ответим на эти вопросы.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Олег Шелаев

Разработчик Java в ZeroTurnaround

Монады — абстракция или костыль?

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

Для начала мы рассмотрим традиционное математическое определение монады и составим ему аналогичное, но родное, на Java. Затем мы сконструируем простенькую монаду Promise для представления результатов асинхронных запросов. Этот код поможет нам решить ряд вопросов про монады, изучить их законы, и понять позволяет ли Java 8 создание полноценных монад и, самое главное, зачем? Может вы уже вовсю пользуетесь монадами, не подозревая того?

P.S. Чтобы насладиться докладом необязательно знать хаскели и прочую математическую базу.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Дмитрий Чуйко

Performance-инженер в Oracle

Hotspot и AOT: Пришло время компилировать

Существуют различные реализации Java. В некоторых из них есть ahead-of-time-компиляторы (AOT), причём подход к решению различный, да и постановка задачи разная. В Hotspot есть JIT-компиляция, но нет стандартного AOT. Не обязательно, что так будет всегда.

В докладе речь пойдет о том, зачем может понадобиться заранее получать нативный код, как это делается теоретически и как это работает в реализации для Hotspot практически. С другой стороны, мы рассмотрим, как Java-код может встраиваться в процесс JIT-компиляции.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Александр Маторин

Руководитель разработки в Сбербанк-Технологии

Неочевидные Дженерики

Дженерики в Java появились больше 10 лет назад. Казалось бы, что о них можно рассказать? На докладе мы обсудим:

  • во что компилируются дженерики
  • что такое bridge методы, можно ли до них добраться
  • правила type erasure
  • heap pollution
  • почему нельзя параметризовывать исключения
  • почему нельзя положить Integer в List<? extends Number>
  • почему так странно выглядит сигнатура Collections.max (<T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll))
  • Правила написания гибкого API с Дженериками и wildcard
  • примеры кода, которые, должны компилироваться, но не компилируется и наоборот
  • другие дженерик тонкости
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Kai Waehner

Technical Lead в TIBCO

How to Apply Big Data Analytics and Machine Learning to Real Time Processing

"Big Data" is currently a big hype. Large amounts of historical data are stored in Hadoop or other platforms. Business Intelligence tools and statistical computing are used to draw new knowledge and to find patterns from this data, for example for promotions, cross-selling or fraud detection. The key challenge is how these findings can be integrated from historical data into new transactions in real time to make customers happy, increase revenue or prevent fraud.

"Fast Data" via stream processing is the solution to embed patterns - which were obtained from analyzing historical data - into future transactions in real-time. This session uses several real world success stories to explain the concepts behind stream processing and its relation to Hadoop and other big data platforms. The session discusses how patterns and statistical models of R, Spark MLlib and other technologies can be integrated into real-time processing.

A brief overview of available open source frameworks and commercial products shows possible options for the implementation of stream processing, such as Apache Storm, Spark Streaming, IBM InfoSphere Streams, or TIBCO StreamBase.

A live demo shows how to implement stream processing, how to integrate machine learning, and how human operations can be enabled in addition to the automatic processing via a Web UI and push events.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Volker Simonis

OpenJDK contributor в SAP

HotSpot Intrinsics

By definition, intrinsics are functions which are handled specially by the compiler or the VM. The HotSpot virtual machine supports intrinsics for specific API functions in the interpreter as well as in the C1 and C2 JIT compilers. In general, intrinsics are a great possibility for optimization. But they also come at a certain cost. First of all, they are inherently platform and implementation dependent. If available, they can lead to consistency problems if they are implemented differently in the interpreter and the JIT compilers. Finally, they can change the program control (e.g. safepoint behavior) and observability (e.g. profiling, instrumentation) in subtle ways.

This talk will give an overview of the intrinsics currently available in the HotSpot VM. It will explain how their usage can be controlled, in which way they are implemented and how you can add an intrinsic for your favorite Java method.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Дмитрий Жемеров

Тим лид в JetBrains

Ой, котик побежал: Компиляция и производительность кода на Kotlin

Kotlin - новый язык программирования для JVM и Android, выпущенный компанией JetBrains в 2016 году. В докладе мы подробно рассмотрим, как различные языковые конструкции Kotlin транслируются в байткод на JVM и как выбор той или иной конструкции влияет на производительность кода. Доклад ориентирован на опытных Java-разработчиков, которые уже используют Kotlin или только собираются его попробовать. Содержит JMH!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Олег Анастасьев

Архитектор big data в Одноклассники

Распределенные системы в Одноклассниках

«Одноклассники» состоят из тысяч серверов, большая часть которых участвует в онлайн-обработке запросов пользователей. Каждый из этих серверов владеет только частью данных или логики. Эти части в социальной сети изолировать друг от друга невозможно, поэтому между серверами происходит много сетевого взаимодействия, разнообразного и большого по объему. Таким образом, Одноклассники — это одна из самых больших, сложных и нагруженных распределенных систем в мире.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Николай Алименков

Java-техлид в EPAM

Сага о том, как Java-разработчики должны тестировать свои приложения

В современном мире разработки все осознают пользу от тестирования. В теории, большая часть Java-разработчиков даже понимает, что нужно писать модульные и интеграционные, а еще лучше и функциональные тесты. Но в воздухе зависает основной вопрос: «КАК?» Ведь в реальной жизни не все так просто как в примерах, найденных в интернетах.

В докладе Николай расскажет о своем опыте и применяемых инструментах тестирования разных слоев приложений с участием реляционных БД, NoSQL хранилищ, файловой системы, MVC фреймворков, REST сервисов и прочих составляющих большинства продуктов. Слайдов практически не будет, зато будет много кода и тестов...

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Зиновьев

Java/BigData-тренер в EPAM

Джунгли Hadoop: мир диких алгоритмов и ядовитых JVM

Если вы думаете, что работа с Hadoop — кластером это написание MapReduce Job или SQL-подобных запросов на Hive, вы заблуждаетесь. Такой подход вкупе с недоиспользованием мощи JVM ведет к деградации р азработки и стрельбе в воздух пачками денег.

Итак, надеваем пробковый шлем, ставим прививку от высокомерия и идем рубить лианы неоптимальных решений.

Мы посмотрим как выглядит укрощение дикого Hadoop-решения, состряпанного на коленке; обсудим границы применимости лямбд и стримов; подумаем, как можно выиграть лишние терабайты на правильно выбранной реализации JOIN; обратимся к логам GC, полным мудрости и ненужной инфы; получим власть над перенаправлением данных на разные редьюсеры.

Хорошо, а если серьезно, то в лекции будут просверлены следующие вещи:

  • Демоны Hadoop и HDFS как типичные Java — приложения;
  • Особенности Java API;
  • Контейниризация по — Hadoop-вски;
  • Границы кастомизации в Hadoop;
  • Разные подходы к реализации JOIN;
  • Ориентированный ациклический граф MR-задач;
  • Места в решении, которые стоит оптимизировать в первую очередь;
  • Настройки JVM, которые вам действительно нужны;
  • Разработка, отладка и тестирование.

Этот доклад для тех, кто уже в курсе всей нервотрепки с BigData, имеет некоторый опыт с Hadoop, но хочет познать все его возможности.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Руслан Черемин

Разработчик в Deutsche Bank

Escape analysis и скаляризация

Escape analysis и scalar replacement появились в Java еще в версии 1.6, а их включение действительно может заметно снизить нагрузку на GC. Но вот надежного понимания, в каких конкретных участках кода на скаляризацию можно положиться, а в каких — нет, у нас за эти годы так и не сложилось. В сети можно найти массу историй успеха в духе «а вот в таком коде совсем-совсем нет аллокаций!», приведенный код часто оказывается очень хрупким: иногда достаточно поправить одну-две строчки, как все волшебство исчезает.

Данный доклад — попытка привнести больше понимания в этот вопрос. Руслан кратко опишет сам алгоритм escape-анализа и его врожденные ограничения. На примерах будут рассмотрены ограничения реализации его в JIT-компиляторе.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Антон Архипов

Разработчик и менеджер продукта XRebel в ZeroTurnaround
и ещё 2
докладчика

Баттл инструментов для сборки — Maven vs Gradle vs SBT

Maven — самый популярный инструмент для сборки Java приложений. Gradle всё быстрее набирает популярность и скоро-скоро затмит лидера. И в SBT есть свои плюшки.

Давайте разберёмся, кто лучше? Рассмотрим популярные и не очень сценарии для сборки Java-проектов, и оценим, какой же инструмент справляется лучше с поставленной задачей.

А вы всё ещё используете Ant?! Пора уже закопать стюардессу!

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Владимир Иванов

Ведущий инженер Oracle в Oracle

Native код, Off-heap данные и Java

Работа с native кодом и off-heap данными из Java привлекательна, но сопряжена с рядом трудностей.

Разговор пойдет о существующих методах взаимодействия с native кодом и способах работы с off-heap данными.

Также, существенная часть будет отведена рассказу о нововведениях в JDK 9 (JEP 193: VarHandles) и тому, что планируется на более отдаленную перспективу в Project Panama: новый интерфейс для доступа к native-коду, идущий на смену JNI (JEP 191: Foreign Function Interface), Layout Descriptor Language (LDL) и Arrays 2.0.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Владимир Ситников

Разработчик в Netcracker OSS

Ну и производительность у вашего opensource!

Общедоступные программы и библиотеки подкупают своей бесплатностью. Если же исходный код открыт, то все сразу думают, что «умные дядьки уже исправили всё, что нужно». На практике же оказывается, что грабли разложены там, где их мало кто ждёт. Тормозит всё, кроме, разве что, самой java. В докладе мы рассмотрим примеры проблем производительности при использовании таких библиотек как Wildfly, Spring, HornetQ, pgjdbc.

Например, оказывается, что spring.getBean тормозит, а в комбинации с autoproxy вообще может занимать до 50% времени приложения. Cglib мешает работе garbage collector’а в попытках проксировать Object#finalize, а HornetQ внезапно притормаживает отправку JMS, что запросто приводит к 5-и секундным задержкам на одно сообщение. Узнаем как их опознать и обезвредить.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Шипилёв

Разработчик Java в Oracle

Если не Unsafe, то кто: восход VarHandles

sun.misc.Unsafe уйдёт и МЫ ВСЕ УМРЁМ! В этом докладе мы посмотрим на работы вокруг VarHandles (JEP 193): что там за API, как в крупную клетку устроена референсная реализация, какие новые режимы доступа (acquire/release, opaque/relaxed, compareAndSet/compareAndExchange) она даёт, и как мы умудряемся её скомпилировать в практически голые доступы.

Кроме того, мы посмотрим на то, какой Unsafe плохой, какие грабли нам подкладывают текущие JDK/JVM, какие хардварные проблемы подтачивают красивый гранит реализации. С позитивной стороны мы увидим побочные улучшения в JDK/JVM: оптимизации в ByteBuffers, Atomic*FieldUpdaters, и прочие общие кодогенерационные улучшения.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Kai Waehner

Technical Lead в TIBCO

Microservices and Containers in the Middleware World

Microservices are the next step after SOA: Services implement a limited set of functions. Services are developed, deployed and scaled independently. Continuous Integration and Continuous Delivery automate deployments. This way you get shorter time to results and increased flexibility. Containers improve these even more offering a very lightweight and flexible deployment option.

In the middleware world, you use concepts and tools such as an Enterprise Service Bus (ESB), Complex Event Processing (CEP), Business Process Management (BPM) or API Gateways. Many people still think about complex, heavyweight central brokers here. However, Microservices and containers are relevant not just for custom self-developed applications, but they are also a key requirement to make the middleware world more flexible, agile and automated.

This session discusses the requirements, best practices and challenges for creating a good Microservices architecture in the middleware world. A live demo with the open source PaaS framework CloudFoundry shows how technologies and frameworks such as Java, SOAP / REST Web Services, Jenkins and Docker are used to create an agile software development lifecycle to realize “Middleware Microservices”.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Евгений Борисов

Разработчик Java в Naya Technologies

Мифы о Spark или может ли пользоваться Spark обычный Java-разработчик

Тот от у кого в руке молоток, во всём видит гвоздь! Глупо?

А что если это не молоток, а универсальный инструмент, который может быть и бензопилой, и пылесосом и зубной щёткой? В мире Big Data есть Hadoop и целый зоопарк инструментов, которые на него пашут и каждый заточен под что-то своё, а ещё там недавно появился Spark, который можно применять для любых целей.

Если вы хотите писать в Hadoop с различных б.д., стримить всякие источники в реальном времени, параллельно делать с данными какую-нибудь сложную обработку и не при помощи каких-то батчей, скриптов и sql запросов, а при помощи мощного функционального языка — добро пожаловать в Spark!

Данный доклад познакомит вас со Spark-ом: как он работает, какие задачи он способен выполнять, как им правильно пользоваться. Мы обсудим проблемы и решения, с которыми поначалу сталкиваются неопытные Spark разработчики. Разберемся с его синтаксисом и всякими хитростями.

Будет много live coding-а и в конечном итоге вы выйдете с этого доклада с достаточными знаниями, чтобы начать самостоятельно работать на Spark-e.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Кирилл Толкачёв

Главный разработчик в Альфа-Лаборатория
и ещё 1
докладчик

Твой личный Spring Boot Starter

Любите ли вы велосипеды? Да все разработчики любят свои ненаколеночныерешениявелосипеды! И мы не исключение. В нашем докладе мы покажем как собирать, сколачивать, вылепливать собственный велосипед так, чтобы на нем потом могла ездить без слёз вся команда, компания, или может весь мир.

Что в докладе будет:

  • много Spring Boot-а;
  • live coding;
  • создание собственного Spring Boot Starter-а;
  • Apache Thrift в качестве подопытного кролика.

Чего не будет:

  • бенчмарков и сравнений Thrift vs REST vs gRPC vs XXX.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Максим Дорофеев

Прокрастинатолог в mnogosdelal.ru

Воспитай свою обезьяну

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

Наверное, так выглядит рай программистов, но на земле все несколько иначе: с одной стороны нам надо думать, чтобы решать свои задачи, а с другой — нас постоянно дергают, отвлекают, меняют приоритеты и просят в сотый раз все переделать «чтобы было нормально».

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
23 апреля (суббота)
День 2
Показать
цену в
$

Евгения Тимонова

Автор и ведущая в Видеоблог «Все как у зверей»

Человек и инстинкты: насколько мы запрограммированы?

Одни считают, что нами руководят инстинкты — биологические программы, генерирующие все наши желания, эмоции и цели, от приземленных до самых высоких. Другие полагают, люди тем и отличаемся от животных, что живут не слепыми инстинктами, а разумом и свободной волей. Граница между животным и человеком, между разумом и инстинктом, свободой и запрограммированностью постоянно сдвигается и пересматривается. Где она они проходит сейчас? И что нужно делать, чтобы быть успешным членом человеческого общества — учиться программировать или использовать что-то другое?

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Барух Садогурский

Developer advocate в JFrog

Работает — не трогай! Или зачем мы опять переделали всю архитектуру

Нет, ну естественно мы всё планировали заранее. Нагрузку, модель использования, необходимые фичи. И как всегда в разработке софта, «что-то пошло не так.»

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

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Виктор Гамов

Senior Solution Architect в Hazelcast

JCache и Распределенные Кэши: Беспредел!

Java тормозит. Что же делать?! Вариантов видится несколько:

  1. Паника! (отставить панику)
  2. Молиться на иконы Шипилёва
  3. Всё кэшировать

Даже если второй вариант выглядит заманчиво, мы пойдем третьим путем. Но на все данные серьезных пацанов никакого heap-а не хватит. Но тут на помощь приходит распределенное кэширование вообще, и стандарт JCache в частности. В этом докладе вы узнаете, что такое JCache, и требует ли он чтобы данные хранились в куче (on-heap) или вне кучи (off-heap), на одной Java-машине или на нескольких.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Tim Berglund

Technology leader в DataStax

Analytics with Spark and Cassandra

Apache Cassandra is a leading open-source distributed database capable of amazing feats of scale, but its data model requires a bit of planning for it to perform well. Of course, the nature of ad-hoc data exploration and analysis requires that we be able to ask questions we hadn’t planned on asking—and get an answer fast. Enter Apache Spark

Spark is a distributed computation framework optimized to work in-memory, and heavily influenced by concepts from functional programming languages. It’s exactly what a Cassandra cluster needs to deliver real-time, ad-hoc querying of operational data at scale.

In this talk, we’ll explore Spark and see how it works together with Cassandra to deliver a powerful open-source big data analytic solution.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Курагин

Проектировщик в Сбербанк Технологии
и ещё 1
докладчик

Новая Платформа Сбербанка: от идеи до тиражирования. Взгляд изнутри

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Тагир Валеев

Разрабатчик в Институт систем информатики СО РАН

Странности Stream API

На разных конференциях было много докладов на тему, что такое Stream API и как им пользоваться. Здесь мы сосредоточимся на деталях реализации. Какие операции выполняются быстро, какие медленно, какие неожиданно кушают много памяти, какие просто ведут себя странно. Мы разберёмся, какие баги есть в Java 8 Stream API и что будет исправлено в Java 9. Также мы посмотрим, как решать некоторые нетривиальные задачи. Будет немного рекламы моей бесплатной библиотеки StreamEx.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Роман Гребенников

Разработчик распределенных систем в Findify

Страх и ненависть в распределённых системах

Если ваше приложение внезапно перестаёт помещаться в один сервер, то надо ставить еще N серверов рядом, ведь ничего же сложного, разве что-то может пойти не так?

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

  • Какие проблемы встречаются при создании распределенных систем;
  • Как можно налажать и допустить типичные ошибки при проектировании;
  • Матчасть о целостности, CAP-теореме, линеаризации, консенсусе и CRDT;
  • Как все эти знания применять на практике и какие бывают инструменты для облегчения нелегкой жизни разработчика распределенных систем.

В процессе рассуждений и откровений для закрепления материала мы вживую напишем простенькую redis-подобную распределенную систему на Scala и Akka в 100 строк, а потом достанем Jepsen и весело её разломаем, заставив терять данные.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Антон Архипов

Разработчик и менеджер продукта XRebel в ZeroTurnaround

Как сделать профилировщик из палок... и других подручных средств

Доклад основывается на опыте разработки коммерческого профилировщика XRebel. Это не маркетинговый доклад о преимуществах какого-либо инструмента, а обзор нюансов, связанных со сценариями профилирования и реализацией. Речь пойдёт о том, какие идеи можно применить для создания профилировщика, и конечно, какие «хаки» пришлось сделать для достижения цели.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Никита Липский

Инициатор и руководитель проекта в Excelsior

Поддержка Java 8 в Excelsior JET

В Java SE 8 были добавлены лямбда-выражения, дефолтные методы, типовые аннотации, компактные профили и т.п., что привело к изменениям в спецификации Java SE платформы.

В этом докладе мы рассмотрим, как новые возможности, добавленные в Java 8, были реализованы в Excelsior JET JVM, полностью написанной с нуля, совершенно непохожей на Oracle HotSpot, но при этом совместимой со спецификацией Java SE.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Яков Жданов

Руководитель российского отделения в GridGain

Анатомия распределенного Data Grid на примере Apache Ignite

Речь пойдет о самых интересных технических подробностях основных блоков Apache Ignite In-memory Data Fabric:

  • системе обнаружения узлов (node discovery);
  • системе обмена сообщениями (communication);
  • внутренней механике распределенного кеша;

Вместе со слушателями мы разберемся:

  • как строится и функционирует кластер;
  • что скрывается за вызовами API распределенного кеша и;
  • каким образом удается сохранить целостность данных при отказах в транзакциях с участием многих узлов;

Будут рассмотрены вопросы:

  • организации сетевого взаимодействия;
  • эффективной сериализации протокольных сообщений и пользовательских данных для хранения;
  • некоторые моменты транзакционного протокола;
  • а также проблемы, возникавшие в процессе работы, и решения, которые были применены.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Барух Садогурский

Developer advocate в JFrog
и ещё 2
докладчика

Java 8 Puzzlers

Мы не знаем, как вы, но от Джавы 8 Барух, например, полысел, Женя перестал спать, а Тагир так вообще начал разъезжать по городам и весям, стучаться в двери и спрашивать у людей не хотят ли они поговорить о странностях в Stream API.

Если вы еще не достигли уровня просветления Шипилёва и Куксенко во владении лямбдями и стримами — этот доклад для вас! А если считаете, что достигли, то у нас для вас новости!

Мы покажем вам всякое ужасное, странное и непонятное, и проверим, насколько сильно это всё вас удивит в продакшне.

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

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Андрей Паньгин

Разработчик в Одноклассники

Глубже стек-трейсов, шире хип-дампов

Stack trace и heap dump - не просто инструменты отладки; это потайные дверцы к самым недрам виртуальной Java машины. Доклад будет посвящён малоизвестным особенностям JDK, так или иначе связанным с обоходом хипа и стеками потоков.

Мы разберём:

  • как снимать дампы в продакшне без побочных эффектов;
  • как работают утилиты jmap и jstack изнутри, и в чём хитрость forced режима;
  • почему все профилировщики врут, и как с этим бороться;
  • познакомимся с новым Stack-Walking API в Java 9;
  • научимся сканировать Heap средствами JVMTI;
  • узнаем о недокументированных функциях Хотспота и других интересных штуках.
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Виктор Полищук

Java технический лидер в Infopulse

Типы: война строгих с мягкими... и зачем?

Признайся, ты участвовал в войнах "сильно-..." против "слабо-...". Не важно на чьей стороне и не важно какой язык ты защищал/продвигал. Я бы хотел поговорить о типизации. Это слишком важная тема, чтобы ее игнорировать. Я хочу показать действительно важную составляющую для системы типов любого языка. Мы увидим немного математики, Javascript, Java, Scala, .Net, Haskel, расчлененку, содомию, немного monocerosophilia и может что-то еще на пути к правде. Мы потеряем немало друзей и попытаемся увидеть, что ждет Java ~40.0

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Кирилл Толкачёв

Главный разработчик в Альфа-Лаборатория
и ещё 1
докладчик

Расширь границы возможного вместе с Gradle

Сколько раз мы собираем ПО каждый день? Сколько раз за день код компилируется, тестируется и превращается в артефакты? Какие разнообразные сценарии возможны в казалось бы простой цепочке compile-test-assemble? Билд-системы из узкоспециализованных утилит превратились в мощный инструмент сборки, валидации, дистрибуции и автоматизации наших программных продуктов.

Это будет тематический доклад о том как настроить инструмент сборки для себя, а не против себя. Мы рассмотрим основные принципы работы Gradle DSL и возможности его расширения. Как и на чём их писать, как тестировать и как делиться результатами своего труда со своими коллегами.

Вместе с вами мы напишем автоматизированный сценарий сборки для проекта и покажем всю силу и мощь Gradle 2.x.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Егор Федоров

Главный архитектор системного ядра банка в Сбербанк Технологии
и ещё 1
докладчик

IMDG как основное хранилище – помнить всё!

Риск — дело благородное, но совсем не тогда, когда речь идет о финансовой системе. In-memory технологии с каждым днем все активнее применяются для организации эффективной обработки данных в памяти. Но могут ли они выступить альтернативой так хорошо знакомым и надежным СУБД в качестве постоянного хранилища? Мы поделимся с вами опытом создания такой системы на примере IMDG от GridGain. Расскажем старинную притчу по мотивам теоремы о ненадёжности распределенной транзакции и попытаемся ответить на вопросы о том, как использовать IMDG, чтобы создать надежную и масштабируемую систему, и с какими проблемами придется столкнуться.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Роман Елизаров

Технический директор в Devexperts

Жди своего счастья без блокировки!

Алгоритмы без ожидания, написанные с использованием volatile переменных и операций compare-and-set позволяют увеличить масштабируемость многопоточного кода под нагрузкой и избегать взаимной блокировки. Часто необходимо не просто иметь структуры данных, общие для нескольких потоков (такие как кэши часто используемых сущностей), но и ждать тех или иных событий от других потоков (появление элемента в очереди, определенного события и тому подобное).

В этом докладе будет рассказано как синхронизация без блокировки совмещается с необходимостью реализовать ожидание. Будут подробно рассмотрены (с примерами) предоставляемые для этого механизмы в Java: LockSupport.park и AbstractQueuedSynchronizer.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Барух Садогурский

Developer advocate в JFrog
и ещё 1
докладчик

Solving the full stack problem, live!

Слышали ли вы про DevOps? Знаете ли вы зачем? На этом докладе вместо скучных слайдов мы устроим хакатон, на котором два инженера, за один час времени, слепят решение для своей команды, с помощью которого завоюют сердце тимлида разработчиков Анны, начальника системного саппорта Кати и релиз-менеджера Инны.

Что будет?

  • процесс рождения собственного CI as a Service;
  • ловкое использование Docker и Spring Boot;
  • масштабирование на нашу большую компанию;
  • Весело.

На выходе вы наконец поймете, зачем обычному разработчику знать про свою инфраструктуру, как сияет радуга, и как прекрасна шерсть розовых пони если dev любит ops, ops любит dev (в хорошем смысле) и везде царит мир и любовь.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Егор Бугаенко

CTO в Teamed.io

ORM — это обидно

Object-Relational Mapping (ORM), как метод интеграции реляционных баз данных с Java-приложениями, очень популярен последние лет десять. В то же время (и об этом будет мой доклад) он совершенно не совместим с ключевыми принципами объектно-ориентированного программирования. ORM превращает объекты в глупые и бездушные хранилища данных, грубо нарушая инкапсуляцию. В своем докладе Егор подробно раскроет эту тему и предложит альтернативу.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €
Получить доступ ко всем докладам
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Александр Борисов

Руководитель разработки в Сбербанк Технологии
и ещё 2
докладчика

Разработка клиентского модуля для крупнейшей бэкофисной системы на гриде

План с тезисами:

  1. Клиент в текущей архитектуре Банка. Проблемы. Клиент, банковский сервис, обслуживание. Продуктовые фабрики – централизованные системы. Обмен информацией. MDM. Производительность, стоимость, вендор.
  2. Смена парадигмы, подходы к решению проблем. Горизонтальное масштабирование. High-end → low-end hardware. Переход от проприетарного software к open source решениям.
  3. Краткий обзор IT решений и наш выбор – GridGain. Кэширование данных. Nosql. Документоориентированное хранение. IMDG. Data Grid. Computing Grid.
  4. Единое информационное пространство. Клиентский модуль. Микро-банк. Переход от централизованного хранения данных к распределённому. Распределённые вычисления.
  5. Архитектура решения. Задачи и решения. Партиционирование. Аффинити. Переход от реляционной к иерархической структуре. Общение с внешними системами.
  6. Заключение. 7. Q&A
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Александр Белокрылов

Менеджер продукта в Oracle
и ещё 1
докладчик

11 друзей Интернета Вещей

Все больше и больше шума в средствах массовой информации по поводу IoT (Internet of Things). Пока не существует четкого определения и границ технологии так же, как не существует отработанных практик. Стандарты в этой области только начинают появляться под влиянием нескольких не связанных друг с другом консорциумов. Помимо ставших уже привычными протоколов, таких как XMPP, MQTT и CoAP появляются новые и интересные решения, например HyperCat.

В нашем докладе мы рассмотрим целый спектр решений в области IoT. Проанализируем плюсы и минусы используемых технологий в нескольких кейсах, максимально приближенных к реальности.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Алексей Шипилёв

Разработчик Java в Oracle

The Lord of the Strings: Two Scours

java.lang.String — один из наиболее часто используемых классов в Java-приложениях. Не удивительно, что мы пытаемся его улучшать и микро-, и макро-оптимизациями. В докладе будут освещены вопросы рациональности, подходов к реализации, практических граблей, с которыми сталкиваются разработчики JDK, пытающиеся ничего не сломать в огромной экосистеме, а также чем эта подковёрная деятельность грозит простым пользователям.

В этом докладе мы посмотрим на две грядущие фичи в JDK 9, направленные на оптимизацию строк: Compact Strings, сжимающие строки с однобайтовыми символами, что улучшает футпринт и даже общую производительность; и Indify String Concat, использующий магию invokedynamic для конкатенации строк, позволяющий подкручивать реализацию конкатенации без рекомпиляции программ.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Максим Зелинский

Начальник отдела развития платформы Единой Фронтальной Системы в Сбербанк-Технологии

Высокопроизводительная и отказоустойчивая архитектура

На примерах типовых архитектур распределенных Java приложений, я покажу узкие места, точки отказа, и расскажу как мы боремся со всеми этими проблемами и нюансами в рамках создания Единой Фронтальной Системы для одного из самых больших банков Европы.

После моего доклада вы будете знать:

  • Что же такое «отказ системы» на самом деле
  • Что такое SLA и как его считают
  • Про разницу между архитектурой распределенных систем на Java и других стэках технологий
  • Про типичные узкие места любого высоконагруженного приложения
  • Про порой наивные попытки закрыть глаза на явные точки отказа
  • Про уникальные архитектурное решение, которое вы не найдете ни в одной книжке
  • Про Jetty, Netty, Akka, Kafka и другие интересные библиотеки, которые применяются в высоконагруженных и отказоустойчивых
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Убери за собой!

JVM избавляет разработчика от необходимости очищать за собой память после использования. Но это все еще твоя забота – чистить остальные ресурсы, такие как ссылки на файлы, открытые потоки, нативные ресурсы и так далее. Обычно первое решение, которое приходит на ум - это finalizers. Но как часто бывает, первое не значит лучшее.

В докладе я опишу несколько способов очищения использованных ресурсов: автозакрытие, «оберни мою лямбду», очереди ссылок, классы Cleaner ну и, конечно, finalizers. Я покажу, как использовать каждый из них и в чем их достоинства и недостатки.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Михаил Дударев

Разработчик в Licel Corporation

1,2, 314, 271.. SecureRandom in JVM. Hitchhiker's Guide

От Хроник Амбера до Secure Random. Зачем нужны случайные числа - немного теории и математики. Случайна ли случайность, энтропия, датчики и генераторы. Как получить 100M идеальных UID и не убить /dev/urandom.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Дмитрий Соколов

Разработчик в Сбербанк Технологии
и ещё 1
докладчик

Взгляд в будущее технологии платежей, на примере проектов кластера Эквайринг. Демонстрация подхода к Continuous Integration в п

Как жить и развиваться в эпоху перемен. Место классических банковских сервисов в новой модели. Что придет на смену устоявшимся системам расчётов. Где рождается светлое завтра.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Tim Berglund

Technology leader в DataStax

Seven lessons developers can learn from film

Filmmaking is a deeply technical, collaborative, artistic, high-stakes endeavor. The details of this mysterious craft are unknown to all but an elite few, while the benefits are enjoyed by almost everyone. Sound like a profession you know?

In this short talk, we’ll explore some stories from filmmaking’s past and present and learn from another industry’s technological transitions, collaborative patterns, and specialized roles. From synchronized sound to diva directors to dolly grips, this highly scientific art has a lot to teach us about the way we developers are changing the world.

Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Билеты

Показать
цену в
$
Видеозапись
Доступ к записям всех докладов
Куплено
В корзине
0 ₽
0 ₽
0 $
0 $
0 €
0 €

Организатор

JUG.ru
https://jugru.org

Организационный комитет: JUG.ru, info@jugru.org, 78126802918

Похожие мероприятия

20 апреля 2015
Докладов 28
Просмотров 0
Dev, Development, Java, ПО, Программирование, Разработка, Софт, Язык программирования
28 октября 2017
Докладов 30
Просмотров 0
Java, Javascript, ПО, Программирование, Разработка, Софт
7 октября 2017
Докладов 6
Просмотров 2
Java, Javascript, Spring Cloud, ПО, Программирование, Разработка, Софт
показать еще