Всем привет!
На прошедших выходных мы закончили принимать заявки от докладчиков на JPoint 2015. Среди них попались как интересные, так и не очень. Прием заявок почти закрылся. Сегодня мы примем от вас последние заявки и закроемся ровно в полночь. Если вы хотите выступить на JPoint — срочно заполните заявку, и мы в течение суток свяжемся с вами.
Под катом вы найдете короткий обзор поданных докладов и традиционную голосовалку.
Роман Левентов, Higher Frequency Trading — Сравнение in-memory key-value stores
Статус: под вопросом
В этом докладе Роман хочет сравнить Hazelcast, Ehcache, Infinispan, MapDB, Chronicle Map и one-nio. Сравнение будет в плане:
- целевые фичи
- архитектура/алгоритм/реализация
- производительность (время/память) в разных случаях
- ограничения
Яков Сироткин, Sidenis — Миграция с PL/SQL на Java
Статус: принят в программу
В докладе Яков поведает об опыте переписывания примерно 20K строк кода хранимых процедур с PL/SQL на Java, в том числе и процедуру на 1000 строк. Будет рассказано, почему это было необходимо, как это сделали и что это дало бизнесу.
Алексей Шипилёв, Oracle — Катехизис java.lang.String
Статус: принят в программу
В этом докладе мы посмотрим на основные пороки работы со строками: чревоугодие конкатенации, блуд подстрок, корыстолюбие интернирования, гордыню дедупликации и прочее. Узнаем, чего стоит излишняя надежда на JDK и JVM.
Алексей Шипилёв, Oracle — Сжимай меня полностью
Статус: принят в программу
В этом докладе мы покопаемся в кишках JVM и JDK, в поисках того, как платформа пытается сэкономить на памяти. Посмотрим на упаковку заголовков и полей объектов, сжатие указателей, учёт ссылок между поколениями в кучи, кэш автобоксинга и т.п.
Николай Гарбузов, Донривер — Как мы набивали шишки и учились обходить грабли
Статус: под вопросом
Доклад посвящен как общим вопросам разработки финансовой платформы(200+ мавен модулей), так и некоторым специфичным вопросам. Будут рассмотрены вопросы:
- разработки новой функциональности, параллельно с поддержкой существующего кода
- интеграции внутренних сервисов
- интеграции со сторонними сервисами
- разработки системы автоматического тестирования
Артур Пилипенко, Oracle — Закрытая модель в Java ME Embedded
Статус: под вопросом
Анализируя код приложений, парни в Java ME Embedded автоматически удаляют неиспользуемые части платформы: методы, поля и классы стандартной библиотеки, части рантайма и даже части виртуальной машины. В докладе речь пойдет об анализе зависимостей Java кода, рефлекшене, нативных методах и оптимизациях, применяемых в закрытой модели.
Глеб Смирнов, Plumbr — Тайны — в наших головах, а не в JVM
Статус: принят в программу
Пользуясь открытостью исходного кода HotSpot JVM, Глеб разберет несколько казалось-бы-загадочных проблем, окунувшись со слушателями в увлекательный мир С-кода.
Александр Подхалюзин, JetBrains — Производительность разработки на Scala
Статус: принят в программу
Из доклада вы узнаете о том, какие практики и инструменты могут быть использованы при обучении и дальнейшем программировании на Scala. Будут рассмотрены Scala Worksheet и его прикладное использование. Будет сделан обзор некоторых распространенных ошибок в Scala-коде. Кроме того, будут рассмотрены возможные рефакторинги языка Scala, и инструменты для дебага implicits. Доклад будет сопровождаться небольшим введением в язык.
Никита Сальников-Тарновский — Где моя память, чувак?!
Статус: принят в программу
Доклад рассказывает о различных способах наблюдения за использованием памяти со стороны Java-приложения и о том, как различить нормальные и потенциально критические ситуации. Также речь пойдет о том, какую информация и когда надо собрать, чтобы приступить к решения проблем, относящихся к использованию памяти приложением. Кроме того, доклад кратко коснется утечек загрузчиков классов и их особенностей.
Дмитрий Чуйко, Oracle — CompletableFuture уже здесь
Статус: принят в программу
С появлением CompletableFutire в Java 8 открылся простой выход из ада коллбэков в мир простого и функционального Java-кода. Блокирующие вызовы больше не нужны. В докладе CompletableFuture «со стримами и лямбдами» будут опробованы на практике. Кроме того, будут затронуты следующие темы:
- Переход от блокирующегося исполнения на основе Future к подходу без блокировок на основе CompletableFuture
- Разбор API
- Накладные расходы
- Простое руководство для многоуровневых систем (на примере веб-сервера)
Николай Алименков, XP Injection — Нужен ли нам JMS в мире современных Java-технологий?
Статус: принят в программу
Cуществует множество альтернативных решений организовать эффективные очереди сообщений: AMQP, Redis, ZooKeeper, Apache Kafka или даже самописные очереди на Cassandra. Почему не использовать их вместо JMS? В этом докладе будут обсуждаться краеугольные проблемы любой распределенной системы, основанной на обмене сообщениями. В итоге JMS будет рассмотрен именно под этим углом.
Алексей Рагозин, Deutsche Bank — Непрерывное профилирование Java-приложений в ходе эксплуатации
Статус: принят в программу
Можно ли профилировать приложение под реальной нагрузкой в ходе реальной эксплуатации? В докладе пойдёт речь о сборе телеметрии приложений и последующего анализа этих данных.
- Мониторинг и телеметрия — разные вещи, не надо смешивать
- Выбор параметров телеметрии
- Накопление данных телеметрии — проблемы и практический опыт
- Семплирование снимков стека и их анализ
- Flight recorder — телеметрия встроенная в JVM
Михаил Ширяев, Эффективные Системы Управления — Объектно-ориентированная база
Статус: под вопросом
Альтернатива технологии EJB. Объектно-ориентированная база. Построение больших структур графы деревья. Единообразие, упрощение и ускорение работы со связанными дынными. Повышение скорости разработки ПО.
Volker Simonis, SAP — Packed Objects, Object Layout & Value Types — a Survey
Статус: принят в программу
Доклад о различных проектах внедрить в Java SE C-подобные structs. Будут рассмотрены:
- Packed Objects — расширение, реализованное в IBM Java SDK 8
- Object Layout — layout-оптимизированная структура хранания данных от Azul Systems
- Value Types — OpenJDK proposal для небольших неизменяемых данных.
Алексей Зиновьев, Тамтэк — Hibernate для NoSQL, ну или что там у вас есть на примете
Статус: принят в программу
Доклад о способах маппинга Java-объектов в персистентные хранилища. В высоконагруженных проектах приходится считать каждый лишний байт метаинформации, и рефлексия может стать неуемной тратой расточительной JVM. Morphia для Mongo, Hector и Easy-Cassandra для Cassandra, безымянные жонглеры аннотациями для Hbase, Kundera для всего подряд — будут даны аргументы для использования того или иного инструмента в разных случаях.
Иван Шабалин, Colvir Software Solutions — Подход к разработке сервисной шины предприятия в банковской сфере
Статус: под вопросом
В докладе будут рассказан метод разработки веб-сервисов на базе технологии OSGi c использованием библиотек Apache CXF, Apache Camel, Aries Blueprint. Отдельно будут отмечены особенности разработки, которые облегчают обновление версии сервиса у клиента.
Иван Шабалин, Colvir Software Solutions — Технология генерации спецификации интерфейса веб-сервиса по метамодели
Статус: под вопросом
Доклад о разработанном плагине для Maven, который берёт за основу метамодель веб-сервиса и генерирует по ней, по набору XML-схем и по даннным из базы данных уникальный WSDL сервиса. Метамодель — это скрипт на языке groovy, который инициализирует иерархию бинов, описывающую пространства имен сервиса, его операции (сгруппированные по категориям), ссылки на элементы описания сервиса из БД. WSDL генерируется в соответствии с паттерном document-literal wrapped.
Игорь Сухоруков, Deutsche Bank — AspectJ Scripting
Статус: под вопросомAspectJ Scripting позволяет собирать метрики и трассировать взаимодействие в кластере в приложении, которое состоит из множества распределенных процессов/компонент, взаимодействующих между собой. Рассматриваемый фреймворк наиболее близок по функционалу к byteman и btrace, но при этом используются модифицированный AspectJ-агент и его язык для описания pointcut-выражений.
Андрей Солнцев, Codeborne — На Java тоже можно делать хороший API
Статус: под вопросом
Доклад о том, как правильно спроектировать открытый API. Будет дан некоторый чеклист: все ли методы удобные, понятные, все ли классы расширяемые, любое ли поведение можно настроить и переопределить.
Роман Гребенников, Sociohub — Scala под капотом
Статус: под вопросом
Если вы делаете на Scala не простое CRUD-приложение, а что-то, хоть отдаленно связанное с нагрузкой, необходимо хорошо понимать, во что именно вам обходятся все вот эти монады-шмонады. Доклад поведает вам о магии, которую творит компилятор Scala под капотом, расскажет о ужасах scala-коллекций, рекурсии и паттерн-матчинга. И о том, почему же так происходит.
Николай Рыжиков, WaveAccess/HealthSamurai — Почему вашим следующим JVM языком должен стать clojure
Статус: под вопросом
Clojure — это современный и существенно функциональный диалект LISP, способный выполняться на JVM, CLR & JSVM, и спроектированный специально для concurrency. В течении доклада мы познакомимся с языком clojure, некоторыми библиотеками и параллельно будем создавать с нуля полноценное интерактивное web приложение.
Владимир Ситников, NetCracker — Выражаемся регулярно
Статус: принят в программу
В докладе будет рассказано о том, что делать, если ваше регулярное выражение работает 30 секунд на строке в 50 тысяч символов и о том, как предотвратить StackOverflowError из RegExp'а на стадии code review. Будут показаны подходы к обходу узких мест стандартной библиотеки java.util.regex, рассмотрены альтернативные реализации, и даны критерии отличия плохого регулярного выражения от хорошего.
Андрей Когунь, КРОК — Нам нужен фреймворк!? Разработка с применением Spring Boot
Статус: под вопросом
Докладчик поделится своим мнением о том, как должен выглядеть современный фреймворк и о необходимости использования фреймворков вообще. Основной акцент будет сделан на новый convention over configuration фреймворк от Pivotal — Spring Boot. Будут рассмотрены основные кейсы применения, опыт, полученный за год применения в разработке, достоинства и недостатки по сравнению с основными конкурентами.
Олег Анастасьев, Одноклассники — За гранью NoSQL: NewSQL на Cassandra
Статус: под вопросом
Доклад о разработке собственного хранилища данных класса NewSQL: СУБД, предоставляющей отказоустойчивость, масштабируемость и быстродействие NoSQL-систем, но при этом сохраняющей привычные для классических систем ACID-гарантии. Работающих промышленных систем этого нового класса немного (сразу приходит на ум только Google Spanner), а доступных — и вовсе нет. Докладчик с коллегами реализовали такую систему на Java и запустили ее в промышленную эксплуатацию год назад.
Антон Кекс, Codeborne — Архитектура интернет-банка без Enterprise
Статус: принят в программу
Рассказ про архитектуру интернет-банка на базе Play Framework и Plain Simple Java. Будет показано, почему такой выбор лучше, быстрее и дешевле, чем архитектура на базе Enterprise-решений. Будут показаны сильные и слабые стороны Play Framework.
Антон Архипов, ZeroTurnaround — Javassist на службе у Java-разработчика
Статус: принят в программу
Доклад об библиотеке Javassist для работы с байткодом в Java. Основная задача таких инструментов, как Javassist — это анализ и динамическое создание/изменение class-файлов Java. Докладчик покажет примеры использования Javassist, максимально приближенные к тому, что ему с коллегами приходится делать в их продуктах JRebel и XRebel для манипуляции байткода и интеграции с серверами приложений и всевозможными Java-фреймворками.
Андрей Паньгин, Одноклассники — Лучший отладчик — сделанный своими руками
Статус: принят в программу
JDK включает богатый инструментарий для написания всевозможных средств отладки и мониторинга: JVMTI, Dynamic Attach Mechanism, Serviceability Agent, Instrumentation API и т.п. В докладе будет показано, как ими пользоваться. Будет рассказано, как устроены изнутри jstack, jmap и jstat. Во время доклада будет написана еще одна похожая утилита. За основу примеров взяты случаи из практики, а также реальные проблемы разработчиков, обсуждаемые на Stack Overflow.
Сергей Куксенко, Oracle — Железные счётчики на страже производительности
Статус: принят в программу
Доклад о том, что же такое «Hardware Performance Counters», где их найти и как их можно использовать для анализа производительности.
Другие докладчики
Из тех, кого нету в этом списке, но кто собирается приехать с докладом — две иностранные знаменитости. Яков Фаин из Нью-Йорка расскажет один из трех докладов:
- RESTful services and OAUTH protocol in IoT
- Dart for Java Developers
- JavaScript for Java Developers
Евгений Борисов традиционно расскажет что-то про Spring и, возможно, про Groovy. Кроме того, мы очень надеямся, что получится приехать у Баруха Садогурского. В данный момент у него банальная проблема — с высокой вероятностью он не успеет сделать новый паспорт для приезда к нам.
Специальный гость
Дмитрий Галкин — Техно-био-твари: код искусственной жизни
Статус: Keynote-доклад. Принят в программу
Доклад о современном искусстве и его роли в развитии технологий от ранних экспериментов с компьютерами и роботами, до хардкора последних десятилетий с использованием нано- и нейротехнологий, биоинформационных гибридов, новых образцов техно-биологической жизни и искусственных художников.
Саммари
Полные анонсы докладов, принятых в программу, можно найти в разделе «Доклады» сайта JPoint 2015.
А что еще вы хотите увидеть в программе JPoint 2015? Пишите в каментах.
В конце поста — традиционная голосовалка. Какие доклады кажутся вам наиболее интересными?
Автор: 23derevo