Pull to refresh
159.69
JUG Ru Group
Конференции для Senior-разработчиков

(Почти) все доклады конференции Joker 2013

Reading time 9 min
Views 7.7K
Всем привет!

Итак, до питерской Java-конференции Joker 2013 осталось чуть больше недели. У нас в сетке осталось место только для трёх докладов, остальные — готовы. Если вы вдруг по какой-то причине ещё не знаете о нашей конференции, то почитайте о ней в моей предыдущей статье.

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



Gil Tene, Azul Systems — Understanding Java Garbage Collection and what you can do about it

Доклад о работе Garbage Collector'а: терминологии, метриках, основных принципах, ключевых механизмах, классификации существующих алгоритмов и имплементаций GC по различным признакам. Так же речь пойдёт об проблеме «Application Memory Wall» и о деталях работы С4 — сборщика мусора в Azul Zing.

Kirk Pepperdine — The (not so) dark art of Performance Tuning

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

Pawel Lipinski — Clean Tests: how to structure your tests, so that they serve you well

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

Александр Белоцерковский, Microsoft — Windows Azure + Java = (Open) Integration

Речь пойдёт о том, как можно использовать Oracle Database, как развернуть Hadoop, как написать приложение и опубликовать его, используя плагин Windows Azure для Eclipse. Будет показано, как использовать эти и другие возможности облачной платформы Windows Azure в применении к Java-разработке.



Александр Отенко, Oracle — О чём молчит профайлер

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

Александр Тоболь, Одноклассники — Платформа для Видео сроком в квартал

Чуть больше чем за квартал совсем небольшая команда перезапустила работающий в режиме 24/7 видео-сервис на «Одноклассниках» на написанной с нуля платформе, развернутой на парке из свыше 200 серверов, распределенных между несколькими центрами обмена данными. Речь пойдёт об успехах и неудачах в ходе решения задач по обеспечению бесперебойных загрузки, трансформации, хранения, раздачи видео и мониторинга, а также остановиться на особенностях, связанных с нагрузкой в 1000 просмотров в секунду.

Алексей Шипилёв, Oracle — О чём молчат Heap Dump-ы

Доклад о том, почему нельзя доверять Heap Dump-ам. Будет показано, как в HotSpot аллоцируются объекты: как раскладываются по памяти заголовки объектов, как поля, как ссылки, как выглядит выравнивание и т.п. Вживую будет роанализировано почти два десятка примеров, некоторые из которых весьма любопытны.

Андрей Бреслав, JetBrains — Компромиссы, или Как проектируются языки программирования

Доклад посвящен компромиссам в дизайне языков программирования: почему разработчики языков делают так или иначе. Будет рассмотрено несколько характерных примеров, касающихся Kotlin, Java, Scala и C#, что позволит сформировать некоторое представление о том, как проектируются языки.



Андрей Паньгин, Одноклассники — Аварийный дамп — «черный ящик» упавшей JVM

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

Антон Архипов, ZeroTurnaround — Скрипты в Java-приложениях

На JVM работает множество скриптовых языков — Groovy, JRuby, JavaScript и т.д. Возможность внедрения скриптов в приложения на удивление недооценена. Существует два варианта для внедрения скриптов в Java-приложения: используя стандартный набор интерфейсов из пакета javax.script, или же средствами API внедряемого скриптового «движка». Будут рассмотрены «за» и «против» обоих подходов и дан ответ на вопрос, зачем встраивать Groovy, JRuby или JavaScript в свои Java-приложения.

Антон Кекс, Codeborne — Как я создал desktop-приложение на Java, скачанное 9 000 000 раз

Речь пойдёт об опыте докладчика по созданию популярной сетевой утилиты Angry IP Scanner, используемой сотнями тысяч людей по всему миру. Посмотрим, насколько всё ещё актуален изначальный слоган Java «write once, run anywhere» в реальном мире ожиданий конечных пользователей. Постараемся также разрушить миф о том, что программирование на Java — это только Enterprise и Android.

Барух Садогурский, JFrog — Groovy DSL для plugin-ов: Расширения человеческим языком

Существуют целые классы программ, функционал которых не может и не должен быть ограничен фантазией их непосредственных разработчиков. Доклад о том, какие архитектурые решения наиболее подходят для pluggable-программ, написанных на Java. После короткого обзора возможностей DSL на Groovy мы посмотрим, какие части DSL нам пригодятся, ответим на вопрос, нужна ли возможность написания плагинов на Java, рассмотрим аспекты безопасности и, конечно, обсудим варианты решения ада зависимостей.



Виктор Полищук, Инфопульс — JBoss Drools Expert против грязи

За время доклада будет разобрана простая бизнес-проблема, которая несмотря ни на что, способна вырастить множество седых волос у нелысого программиста. Покрутив в руках и отложив в сторону императивную Java-реализацию, аудитория на полчаса погрузится в красоты декларативного программирования на Drools, а так же покрытие юнит-тестами свеженаписаного приложения.

Владимир Иванов, Oracle — Invokedynamic: Роскошь или необходимость?

В Java 7 на уровне байткода появилась новая инструкция — invokedynamic (indy). Чем вызвано появление новой инструкции и какие бонусы дает использование indy? Доклад не ограничится сравнением indy c другими инструкциями семейства invoke*, а даст обзор всего JSR292, частью которого indy и является. Разговор будет идти о method handles, пакете java.lang.invoke.* и новых шаблонах программирования, которые стали возможны с появлением нового API. Также, будут затронуты детали реализации JSR292 в Java 7 и Java 8 от Oracle.

Владимир Красильщик, Luxoft — Java-mapping для прагматичных программистов

Речь пойдёт про технологический зоопарк способов «мапить» друг на друга объекты в Java. Будет дан обзор современных подходов и инструментов, как прагматичных, так и не очень. Transmorph, Dozer, Nomin, ModeMapper — вот только некоторые примеры библиотек, которые предлагают свою оригинальную методологию по организации кода «мапинга» одних объектов на другие. Будут даны советы по тому, как можно организовать хорошо структурированный код маппинга, который легко сопоставить со спецификацией и протестировать, который не страшно читать, рефакторить и поддерживать.

Глеб Смирнов — Мутационное тестирование, или О чём молчит Code Coverage

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



Евгений Борисов — Spring 4.0: новое поколение

Релиз Java 8 открывает программистам новые возможности. Будет ли новая версия Spring им соответствовать? В докладе вы узнаете о том, как Spring работает с Lambda-выражениями, с JSR-310 «Date and Time», c parameter name discovery и обновлённым java.util.concurrent. Кроме того, речь пойдёт о том, какие преимущества даёт в Spring 4.0 возможность задавать конфигурацию на Groovy.

Михаил Хлуднев, Grid Dynamics — В поисках Tommy Hilfiger

Чтобы настроить Apache Lucene / Solr и подключить для поиска по каталогу товаров на сайте, необходимо решить, как мингимум, две проблемы. Во-первых, разработать специфические модели документов и языка запросов. Во-вторых, реализовать эти модели с помощью базовых алгоритмов поиска Lucene с производительностью, достаточной для нескольких миллионов посетителей в Чёрную Пятницу. Этот доклад поможет справиться со второй проблемой — познакомит с деталями реализации алгоритмов поиска в Lucene. Доклад будет полезен тем, кто занимается поиском и хочет узнать «что внутри».

Никита Липский, Excelsior и Миша Быков, Oracle — Занимательные истории из жизни технической поддержки JVM

В этой сессии авторы расскажут о типичных случаях из техподдержки JVM и разбавят их веселыми историями, чтобы дать вам возможность отдохнуть от технических деталей и других докладов. Будут освещены следующие темы:
  • почему важно опираться только на то, что строго оговорено в спецификации платформы Java, и как опасно полагаться на поведение конкретной её реализации
  • Типичные ошибки программирования с использованием JNI
  • Мистические развалы JVM
  • Типичные проблемы в многопоточных программах, которые «не проявляются» (до поры до времени)
  • Проблемы управления памятью




Никита Сальников-Тарновский, Plumbr — Спорим, в твоем приложении есть утечка памяти?

Будет представлено маленькое стандартное веб-приложение на Java, которое использует стандартные и распространенные библиотеки и каркасы. Докладчик продемонстрирует, как в таком крошечном и симпатичном приложении может скрывать 8 утечек памяти в Permanent Generation/Metaspace. Будут показны проблемы с драйверами баз данных, пулами соединений с базой данных и нитей, JNDI контекстами, инициализацией библиотек логов и кое-что еще.

Николай Алименков, XP Injection, Zoral Labs — Парадигмы ООП, основы здравого дизайна и архитектуры Java-приложений

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

Николай Чашников, JetBrains — Разработка API в Java-проекте: как оказывать влияние на людей и не приобрести врагов

Чем больше кода в продукте, чем больше людей над ним работают, чем дольше он существует, тем более важную роль играет качество API, при помощи которого разные части продукта взаимодействуют друг с другом. Как разрабатывать удобный API? Как безболезненно менять API? Как защитить других от неправильного использования создаваемого API? Как (и зачем) можно разработать свой микро-язык (DSL) на Java? В докладе автор поделится опытом разработки API для различных подсистем платформы IntelliJ IDEA, которые затем использовались в десятках плагинов к IDE.

Павел Павлов, Excelsior — Scala для профессионалов

Каждый язык для JVM хорош для какого-то класса задач, но как понять, что именно и для какой задачи использовать? Оправданы ли вообще вложения в изучение ещё одного инструмента и обретение зависимости от него? Не правильнее ли будет хранить верность старой-доброй Java и игнорировать всякие новомодные штучки? Автор расскажет о том, почему именно Scala — это тот инструмент, который представляет реальную практическую альтернативу как другим альтернативным языкам для JVM, так и самой Java.



Роман Антипин, Одноклассники — Франкенштейнизация Voldemort или key-value данные в Одноклассниках

В докладе будут освещены Java-технологии хранения данных, обслуживающие десятки миллионов пользователей и работающие на сотнях серверов. На примере социальной сети «Одноклассники» будут рассмотрена эволюцию хранилищ данных с высоким уровнем конкурентного доступа и с соблюдением требования постоянной доступности. Будут разобраны сильные и слабые стороны каждого из решений, начиная от технологии master-slave репликации на основе Berkeley DB и заканчивая симбиозом распределенных хранилищ Voldemort и Cassandra.

Роман Елизаров, Devexperts — Факты и заблуждения о Java-сериализации

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

Сергей Куксенко, Oracle — JDK8: Stream style

Приближается выход JDK8. А JDK8 — это, в первую очередь, JSR335 aka «Project Lambda». Но Project Lambda — это не только лямбды, но и default/static методы в интерфейсах. Project Lambda — это новый API и, в частности, Stream API, про который и пойдёт речь в докладе.

Шура Ильин, Oracle — Project Jigsaw. Take 2

Проект модуляризации платформы Java и введения модулей как нового элемента языка, который изначально планировался для JDK 8, был перенесен на JDK 9 и прямо сейчас подвергается детальному анализу и редизайну. Какими будут требования к проекту? Понадобится ли специальный язык для определения зависимостей? Будет ли новая реализация самостоятельной распределённой системой? В чем она будет похожа и в чем отличаться от существующих систем? Ответы на эти вопросы мы получим уже очень скоро. Доклад будет посвящен описанинию требований, дизайна и новой реализации Project Jigsaw.



Яков Жданов, GridGain Systems — In-Memory Mongo Accelerator

Речь пойдет о Performance-проблемах Mongo DB и о том, как новый продукт GridGain In-Memory Mongo DB Accelerator помогает решить многие из них без единого изменения кода клиентских приложений. Будет рассказано об особенностях In-Memory подхода, его преимуществах и недостатках. Доклад будет интересен всем, кто интересуется In-Memory технологиями и распределенными вычислениями.



Заключение


Неопубликованными осталось 3 доклада. Претенденты:
  • ребята из питерского Deutsche Bank, думают над темой
  • ребята из DataArt, думают над темой
  • ребята из Sperasoft с темой о Java в геймдеве
  • Сергей Клименков из Tune IT о Java-сертификации
  • ребята из Boteon с докладом о Java в робототехнике


С полными анонсами можно ознакомиться на сайте конференции. Билеты всё ещё в продаже.
Стоимость билета составляет 4000 рублей для частных лиц и 5000 рублей для организаций.
Tags:
Hubs:
+16
Comments 35
Comments Comments 35

Articles

Information

Website
jugru.org
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
Алексей Федоров