До встречи в 2014 году!
До встречи в 2014 году!
На JVM работает множество скриптовых языков — Groovy, JRuby, JavaScript и т.д. — выбирай не хочу! В зависимости от области индустрии, можно встретить примеры использования скриптовых языков в программных продуктах, которые мы повседневно используем. Возможность внедрения скриптов в приложения на удивление недооценена. А тем временем, с помощью скриптов можно добиться довольно элегантных решений!
Существует два варианта для внедрения скриптов в Java-приложения: используя стандартный набор интерфейсов из пакета javax.script, или же по средствам API внедряемого скриптового «движка». Рассмотрим «за» и «против».
В своём докладе я хочу поговорить о том, как, а главное — зачем встраивать Groovy, JRuby или JavaScript в свои Java-приложения.
Когда-то компьютеры были большими, а языки программирования — маленькими. Когда-то совсем давно. Теперь компьютеры довольно маленькие, а языки — довольно большие. Почему? Все дело в балансе: слишком большой язык сложно изучать, слишком маленький — сложно использовать. Это один пример компромисса в дизайне языков, и таких примеров очень много на разных уровнях абстракции: от вопросов бинарной совместимости до конкретного синтаксиса и читаемости программ.
Этот доклад посвящен таким компромиссам: почему разработчики языков делают так или иначе. Мы рассмотрим несколько характеных примеров, касающихся Kotlin, Java, Scala и C#, что позволит сформировать некоторое представление о том, как проектируются языки.
Если ваша программа состоит более чем из одного Java-класса, это значит, что в ней есть API. Чем больше кода в продукте, чем больше людей над ним работают, чем дольше он существует, тем более важную роль играет качество API, при помощи которого разные части продукта взаимодействуют друг с другом. Как разрабатывать удобный API? Как безболезненно менять API? Как защитить других от неправильного использования создаваемого API? Как (и зачем) можно разработать свой микро-язык (DSL) на Java?
В своём докладе я поделюсь опытом разработки API для различных подсистем платформы IntelliJ IDEA, которые затем использовались в десятках плагинов к IDE.
Тема сериализации объектов волнует любого, кто разрабатывет распределённые системы. При использовании разных языков и технологий для разных частей системы выбор протоколов сериализации ограничен в первую очередь необходимостью обеспечить совместимость технологий между собой. Однако, серверная часть многих больших современных приложений разрабатывается на Java и состоит из множества взаимодействующих компонент. Это даёт возможность при выборе механизма сериализации концентрироваться на производительности и удобстве разработки.
Java-сериализация является неотъемлемой часть платформы Java уже более 10 лет. Она разрабатывалась еще в те времена, когда дальнейшая судьба развития распределённых систем была туманна. Многие технологии «распределённых объектов», разрабатывавшиеся в то время, не дожили до наших дней, и некоторые отголоски этих мёртвых идей можно еще откопать в дизайне Java-сериализации. Несмотря на ряд недостатков, сериализация в Java имеет ряд неоспоримых преимуществ перед многими альтернативными способами реализации.
Альтернативные способы сериализации активно рекламируются, в то время как старая добрая Java-сериализация незаслуженно забывается и обрастает совсем уж гротесковыми мифами (см. например JEP-154). В докладе будут рассмотрены наиболее популярные заблуждения о Java сериализации, и разложены по полочкам реальные факты о её достоинствах и недостатках, которые вы не услышите от авторов альтернативных библиотек сериализации. Вы узнаете как использовать Java-сериализацию и получать от этого удовольствие!
В Java 7 на уровне байткода появилась новая инструкция — invokedynamic (indy). На тот момент уже существовали 4 других инструкции для вызова методов: invokevirtual, nvokeinterface, invokestatic и invokespecial. Плюс, Reflection API позволяет вызывать любые Java методы динамически из Java кода. Чем вызвано появление новой инструкции и какие бонусы дает использование indy? Доклад не ограничится сравнением indy c другими инструкциями семейства invoke*, а даст обзор всего JSR292, частью которого indy и является. Разговор будет идти о method handles, пакете java.lang.invoke.* и новых шаблонах программирования, которые стали возможны с появлением нового API. Также, будут затронуты детали реализации JSR292 в Java 7 и Java 8 от Oracle.
Not many projects have a good set of tests. Even less have a decent pack of them that not only are a good safety net when changing code, but also serve as always-up-to-date documentation of the system. I will show you how to write and refactor tests so that they're easy to read, not very hard in maintenance and give you comprehensible info about current development state.
Я представлю маленькое стандартное
веб-приложение на Java, которое использует стандартные и
распространенные библиотеки и каркасы. И продемонстрирую, как в таком
крошечном и симпатичном приложении может скрывать 8 утечек памяти в
Permanent Generation. Ну или в Metaspace, если вы уже на Java 8. Там
будут проблемы с драйверами баз данных, пулами соединений с базой данных
и нитей, JNDI контекстами, инициализацией библиотек логов и кое-что еще.
Все утечки были встречены в реальных приложениях в процессе нашей работы
над Plumbr. У каждого из вас есть шанс встретить эти или подобные
проблемы в любом вашем приложении. Я расскажу о каждой из них, почему
они возникают и как их решить.
Gil Tene explains the workings of a garbage collector: terminology, metrics, fundamentals, key mechanisms, classification of current GCs, the “Application Memory Wall” problem, and details Azul C4 GC.
В наше время конференции полны докладов про облака и сервера. В то же время, всё-еще у всех есть персональный компьютер с инсталлированной на него кучей приложений. Кто-то должен их делать, особенно сейчас, когда разнообразие платформ, популярных среди пользователей, заметно выросло. В докладе я расскажу о своём опыте создания популярной сетевой утилиты, используемой сотнями тысяч людей по всему миру. Посмотрим, насколько всё ещё актуален изначальный слоган Java — "write once, run anywhere" в реальном мире ожиданий конечных пользователей. Постараемся также разрушить миф о том, что программирование на Java — это только Enterprise и Android.
That performance tuning is still considered to be a dark art is attributable to the lack of understanding of performance tuning best practices. In this talk, I will introduce a number of techniques that can help you reach your performance goals without resorting to using and eye of newt or the toe of a frog.
В погоне за производительностью, мы обращаемся к профилировщикам в надежде, что они нам помогут приоритезировать работу над ошибками. В данной презентации рассматриваются факты, которые профилировщики не отражают, и способы уличить профилировщик в недомолвках. Обзор нескольких проблем продемонстрирует совокупность фактов, указывающих на насыщение одного ядра процессора, источники утечки памяти, самые "неповоротливые" точки синхронизации. Слушатели смогут по-новому оценить качество их инструментов, обнаружить надёжные и полезные части профилей.
Программисты — как дети, всегда пытаются разломать свои любимые игрушки, чтобы понять, как же те работают. Некоторым детям, правда, действительно нужно знать, сколько лишних деталек напихали туда глупые конструкторы. Для возмужавших детей — этот доклад.
Возмужавшие дети (tm) обычно берут в руки heap dump и начинают ковыряться в нём отвёрточкой. Но heap dump — это так же надёжно, как информация, выбитая из пленного партизана. Он «сдаст» вам координаты аэродрома с кукурузниками, а найдёте вы там пустое кукурузное поле.
Нам нужно взять объекты тёпленькими прямо в рабочей JVM, где они живут своей подпольной жизнью. Только так мы сможем в деталях рассмотреть, как разложены поля, как разложены объекты в памяти, как их связи влияют на укладку, как и когда они меняют места дислокации, пуская пыль в глаза честным разработчикам.
Очная ставка с захваченными за линией фронта объектами гарантируется!
Приближается выход JDK8. А JDK8 — это, в первую очередь, JSR335 aka «Project Lambda». Но Project Lambda — это не только лямбды, но и default/static методы в интерфейсах. Project Lambda — это новый API и, в частности, Stream API, про который мы и поговорим.
Программируя на Java, вы, возможно, даже не подозреваете, что существуют люди -- невидимые стражи, которые делают все возможное, чтобы Java работала для вас. Имя этим стражам -- техническая поддержка Java (JVM). Работа технической поддержки трудна и часто недооценивается, но что делает ее жизнь легче -- это юмор. Докладчики этой сессии работают в техподдержке Java последние 7 лет, поддерживая две существенно различные реализации Java SE: Oracle HotSpot и Excelsior JET. Несмотря на все различия, есть и кое-что общее – накопленные годами веселые и поучительные истории.
В этой сессии авторы расскажут о типичных случаях из техподдержки JVM и разбавят их веселыми историями, чтобы дать вам возможность отдохнуть от технических деталей и других докладов. Будут освещены следующие темы:
-- Java спецификация. Почему важно опираться только на то, что строго оговорено в спецификации платформы Java, и как опасно полагаться лишь на поведение конкретной JVM, которое не диктуется спецификацией
-- Типичные ошибки программирования с использованием JNI
-- Мистические развалы JVM
-- Типичные проблемы в многопоточных программах, которые "не проявляются" (до поры, до времени)
-- Проблемы управления памятью
Модульная система, встроенная в платформу JDK. Расширение языка Java. Изменение логики загрузки классов. Новая область видимости. Разбиение API платформы Java на десятки модулей. Обязательные и опциональные зависимости...
Так изначально планировалась функциональность Project Jigsaw. Проект, который изначально планировался для JDK 8, был перенесен на JDK 9 и прямо сейчас подвергается детальному анализу и редизайну. Какими будут требования к проекту? Понадобится ли специальный язык для определения зависимостей? Будет ли новая реализация самостоятельной распределённой системой? В чем она будет похожа и в чем отличаться от существующих систем?
Ответы на эти вопросы мы получим уже очень скоро. Доклад будет посвящен описанинию требований, дизайна и новой реализации Project Jigsaw.
Релиз Java 8 открывает программистам новые возможности. Будет ли новая версия Spring им соответствовать?
Ответ — да! В докладе вы узнаете о том, как Spring работает с Lambda-выражениями, с JSR-310 «Date and Time», c parameter name discovery и повторными аннотациями. Кроме того, в новой версии Spring конфигурацию можно задавать на Groovy, и о преимуществах этого мы тоже поговорим.
Невероятно, но факт — невозможно взять Apache Lucene / Solr «из коробки» и подключить для поиска по каталогу товаров на сайте! Как минимум, необходимо решить две проблемы. Во-первых, разработать специфические модели документов и языка запросов. Во-вторых, реализовать эти модели с помощью базовых алгоритмов поиска Lucene с производительностью, достаточной для нескольких миллионов посетителей в Чёрную Пятницу. Этот доклад поможет справиться со второй проблемой — познакомит с деталями реализации алгоритмов поиска в Lucene. Доклад будет полезен тем, кто занимается поиском и хочет узнать «что внутри», а рассматриваемые алгоритмические задачи настолько увлекательны, что заинтересуют даже если вы никогда не работали с этим инструментом!
Для начала мы ответим на следующие вопросы: зачем нужен Lucene? В чём и в каких случаях он превосходит реляционные базы данных? Затем будут рассмотрены основные структуры данных Lucene, сложность алгоритмов поиска и затраты памяти. В докладе не будет «воды» типа синтаксиса запросов и прочих «Hello World», только алгоритмы boolean retrieval и их оценка. В то же время доклад не требует каких-либо знаний о Lucene; инженерной подготовки будет достаточно. В докладе будет своя драма: как поиск пары документов мог отнимать несколько секунд, и как всё решилось в релизе 4.3.
Виртуальная машина Java способна отловить широкий спектр ошибок программирования. Результат она выдаст в виде исключения со стек-трейсом. Но что делать, если падает сама JVM, оставив лишь предсмертную записку под именем hs_err.log с загадочным содержимым?
В докладе я расскажу, что же зашифровано в аварийном дампе, и как эту информацию можно использовать для анализа проблемы и поиска причины. Мы рассмотрим ситуации, в которых JVM может сломаться, и в режиме живой демонстрации разберем примеры реальных падений, случившихся при разработке высоконагруженных приложений.
Коллеги Java-программисты, кто и за что нам платит зарплату? Если почитать популярные интернет-ресурсы и послушать выступления на тематических конференциях, то создается такое такое ощущение, что все Java-разработчики только и делают, что обеспечивают high-load 24/7 и 100% загрузку процессора, «тьюнят» GC или эффективно борются с хитрозамороченными многопоточностями. Ну на худой конец, пересаживают данные в очередную модную NoSQL базу.
При этом, похоже, что код самой обычной бизнесс-логики никто не пишет. И не читает. И не поддерживает. Тот самый бесхитростный код, благодаря которому Ваш клиент может автоматизировать значительный кусок своей рутинной повседневной работы и распустить отдел бухгалтерии, сократить штат в филиале своего банка или ещё более успешно зарабатывать на Forex и платить разработчикам хорошую зарплату.
Я пишу код именно для таких клиентов и предметные области, которые мы автоматизируем, сами по себе непростые. А когда дело доходит до кода преобразования одних объектов в другие, то цикломатическая сложность таких «мапингов» на Java стремится к неприлично высоким значениям.
В своём докладе «Java mapping для прагматичных программистов» я расскажу про технологический зоопарк «мапингов» на своем текущем проекте и проведу обзор современных подходов и инструментов, как прагматичных, так и не очень. Transmorph, Dozer, Nomin, ModeMapper — вот только некоторые примеры библиотек, которые предлагают свою оригинальную методологию по организации кода “мапинга” одних объектов на другие. Я поделюсь с Вами нашим опытом и расскажу как можно организовать хорошо структурированный код маппинга, который легко сопоставить со спецификацией и протестировать, который не страшно читать, рефакторить и поддерживать, который позволит прагматичному программисту спокойно спать по ночам.
Используешь Mongo DB в своем проекте? Тогда этот доклад для тебя! Речь пойдет о Performance-проблемах Mongo DB и о том, как новый продукт GridGain In-Memory Mongo DB Accelerator помогает решить многие из них без единого изменения кода клиентских приложений в полном смысле этого слова.
Мы расскажем, об особенностях In-Memory подхода, обсудим его преимущества и недостатки. Дадим обзор принятых архитектурных решений и сравним функционал, предлагаемый обоими продуктами. Данная тема также будет достойна внимания всех тех, кто интересуется In-Memory технологиями и распределенными вычислениями.
В докладе будут освещены
Java-технологии хранения данных, обслуживающие десятки
миллионов пользователей и работающие на сотнях серверов.
На примере социальной сети "Одноклассники" мы рассмотрим эволюцию
хранилищ данных с высоким уровнем конкурентного доступа и с
соблюдением требования постоянной доступности.
Мы разберём сильные и слабые стороны каждого из решений, начиная от
технологии master-slave репликации на основе Berkeley DB и
заканчивая симбиозом распределенных хранилищ Voldemort и Cassandra.
Облачные решения — современное требование бизнеса и если вы пишете на Java, то Windows Azure - лучший выбор!
На докладе вы узнаете о том, как можно использовать Oracle Database, как развернуть Hadoop, как написать приложение и опубликовать его, используя плагин Windows Azure для Eclipse. Я продемонстрирую, как вы можете использовать эти и другие возможности облачной платформы Windows Azure в применении к Java-разработке.
Что делать, если код покрыт тестами, но всё равно валится в production? Что делать, если показания Code Coverage явно не совпадают с действительностью? Ответ прост: протестировать сами тесты. Отличный способ для этого придумали ещё в далёком 1971 году, однако только недавно он начал продвигаться в индустрию. Mutation testing предлагает случайным образом изменить тестируемый код, а затем снова запустить тесты. И если эти тесты действительно хороши, то они должны упасть. Доклад включает в себя более детальный обзор парадигмы мутационного тестирования, описывает имеющие инструменты и рассказывает о том, как с помощью этих инструментов люди приходят к успеху в реальных проектах.
Когда программист решает проблему, он хочет чтобы эту проблему ему больше никогда не приходилось решать. Зачастую он хочет чтобы эту проблему не пришлось решать больше никому. Но мир наполнен похожими проблемами и по сей день, что же пошло не так? Всему виной пресловутый «бизнес», который так и хочет заработать денег и быстро. Для этого он жестоко ограничивает программистов в возможности сделать реюзабельные компоненты, а заставляет клеить вложеные цепочки «if», «while» и «for» для реализации зачастую нелогичных требований с хитрым названием «бизнес логика».
На помощь спешит Drools, отличный движок правил, который позволяет оставить и чистый код, и эффективно удовлетворить требования с тривиальным решением нетривиальной проблемы «изменение логики».
За время доклада будет разобрана простая бизнес проблема, которая несмотря ни на что, способна вырастить множество седых волос у нелысого программиста. Покрутив в руках и отложив в сторону императивную Java-реализацию, аудитория на полчаса погрузится в красоты декларативного программирования на Drools, а так же покрытие юнит-тестами свеженаписаного приложения.
Не так много разработчиков четко делают различие между дизайном и архитектурой, а опыт проведения собеседований показывает, что и базовые парадигмы ООП часто вызывают сложности. Java - достаточно старый язык и не все принципы были реализованы в нем правильно, а обилие фреймворков еще больше запутывает разработчиков. В докладе будут обсуждаться основы ООП и современный взгляд на них, польза и вред наследования, применимость интерфейсов и возможности, которые они открывают для постоянно растущего проекта. Также будут рассмотрены нормальный цикл появления кода при работе по TDD, способы откладывать архитектурные и дизайн решения до нужного момента, наработанные годами архитектурные и дизайн шаблоны, принципы хорошего дизайна кода. Доклад будет полезен тем, кто стремится создавать качественные, понятные и простые в поддержке решения на Java.
Великое многообразие языков, существующих на JVM, зачастую ставит разработчика в тупик. Каждый язык хорош для какого-то класса задач, но как понять, что именно и для какой задачи использовать? Оправданы ли вообще вложения в изучение ещё одного инструмента и обретение зависимости от него? Не правильнее ли будет хранить верность старой доброй Java и игнорировать всякие новомодные штучки? В этом докладе я хочу рассказать о том, почему именно Scala — это тот инструмент, который представляет реальную практическую альтернативу как другим JVM-based языкам, так и самой Java.
Scala — это язык, созданный профессионалами для профессионалов:
Мы рассмотрим основные свойства Scala в сравнении с Java и некоторыми другими языками, остановимся на фундаментальных приципах, лежащих в основе языка, увидим, кто, как и зачем использует Scala в индустрии.
Мой доклад не затронет какую-то особенную технологию или волшебный алгоритм. Речь пойдет о том, как чуть больше чем за квартал совсем небольшая команда перезапустила работающий в режиме 24/7 совсем немаленький видео-сервис на Одноклассниках на написанной с нуля платформе, развернутой на парке из свыше 200 серверов, распределенных между несколькими центрами обмена данными.
Я бы хотел поделиться успехами и неудачами в ходе решения задачи по обеспечению бесперебойных загрузки, трансформации, хранения, раздачи видео и мониторинга, а также остановиться на особенностях, связанных с нагрузкой в 1000 просмотров в секунду, размером ежедневной аудитории в 8 миллионов географически распределенных в и за пределами РФ. Я также остановлюсь на некоторых использованных нами технологиях.
Существуют целые классы программ, функционал которых не может и не должен быть ограничен фантазией их непосредственных разработчиков. Например, это всевозможные IDE с кастомными плагинами, графические редакторы и др. Как же дать возможность пользователям добавлять новые фичи, о которых и разрабочики и подумать не могли?
Плагины и DSL (Domain-Specific Languages) вам в помощь! В этом докладе мы поговорим о том, какие архитектурые решения наиболее подходят для расширяемых пользователями программ, написанных на Java. После короткого обзора возможностей DSL на Groovy мы посмотрим, какие части DSL нам пригодятся, ответим на вопрос, нужна ли возможность написания плагинов на Java, рассмотрим аспекты безопасности и, конечно, обсудим варианты решения ада зависимостей. Будет много кода!
По современным Java-технологиям написано
гигабайты документации — учебников, инструкций, how-to. Если посчитать все
те миллиарды сообщений в форумах, то оказывается, что разобраться в том
как решить практическую задачу весьма непросто. В докладе будет
рассказано как изучать Java, какие курсы компания Oracle подготовила,
чем каждый курс интересен для разных групп слушателей.
Особый интерес традиционно вызывает вопрос сдачи экзаменов — что там
скрывается за квалификацией OSA, OSP, OSE? Насколько сложно сдать? Что
нужно подготовить? Как мне это поможет изменить свою карьеру? В докладе
будет последовательно рассказано о всех этих вопросах.
В настоящее время никого не удивить
«умным домом». Популярность подобных систем растёт с каждым днём, что не
удивительно, так как они представляют возможности управлять и следить за
своим домом удалённо, хоть с другой точки планеты. Также данные системы
обладают одной ключевой особенностью — они очень индивидуальны.
Действительно, каждый хочет настроить поведение своего дома под себя.
Если вы Java программист и хотите применить свой опыт высокоуровневого
программирования в Embedded или вам просто интересно сделать что-то
интереное у вас дома, то данная сессия предназначена именно для вас!
Используете сервер приложений для
загрузки и раздачи файлов? Куда и как сохранять эти файлы?
Как сохранить целостность между базой данных и файловым хранилищем
(во время и после бэкапа)?
Как обеспечить работоспособность при 50.000 параллельных загрузок?
Как сохранить 10^14 файлов?
Доклад о проекте UrsaJ раскроет эти вопросы и покажет как можно упростить жизнь разработчикам веб-приложений.
Мы расскажем, как можно разделить ответственность между приложением и файловым хранилищем, и как мы это реализовали в простом и удобном API.
Время | Зал Пики | Зал Трефы | Зал Бубны | Зал Червы |
---|---|---|---|---|
9:00 — 9:30 | Регистрация, welcome-кофе | |||
9:30 — 10:00 | Открытие конференции | |||
10:00 — 10:45 |
Факты и заблуждения о Java-сериализации Роман Елизаров, Devexperts |
Groovy DSL для plugin-ов: Расширения человеческим языком Барух Садогурский, JFrog |
Как я создал desktop-приложение на Java, скачанное 9 000 000 раз Антон Кекс, Codeborne |
Франкенштейнизация Voldemort или key-value данные в Одноклассниках Роман Антипин, Одноклассники |
11:00 — 11:45 |
Парадигмы ООП, основы здравого дизайна и архитектуры Java приложений Николай Алименков, XPInjection |
Аварийный дамп — черный ящик упавшей JVM Андрей Паньгин, Одноклассники |
Clean Tests: how to structure your tests, so that they serve you well Pawel Lipinski, Pragmatists |
Spring 4.0: новое поколение Евгений Борисов, независимый консультант |
11:45 — 12:15 | Кофе | |||
12:15 — 13:00 |
Understanding Java Garbage Collection and what you can do about it Gil Tene, Azul Systems |
Компромиссы, или Как проектируются языки программирования Андрей Бреслав, JetBrains |
О чём молчит профайлер Александр Отенко, Oracle |
Java mapping для прагматичных программистов Владимир Красильщик, Luxoft |
13:15 — 14:00 |
Project Jigsaw. Take 2 Шура Ильин, Oracle |
JBoss Drools Expert против грязи Виктор Полищук, Инфопульс |
Платформа для Видео сроком в квартал Александр Тоболь, Одноклассники |
|
14:00 — 15:00 | Обед | |||
15:00 — 15:45 |
The (not so) dark art of Performance Tuning Kirk Pepperdine, Kodewerk Ltd. |
Мутационное тестирование, или О чём молчит Code Coverage Глеб Смирнов, Google |
Занимательные истории из жизни технической поддержки JVM Никита Липский, Excelsior и Миша Быков, Oracle |
Windows Azure + Java = (Open) Integration Александр Белоцерковский, Microsoft |
16:00 — 16:45 |
Разработка API в Java-проекте: как оказывать влияние на людей и не приобрести врагов Николай Чашников, JetBrains |
Scala для профессионалов Павел Павлов, Excelsior |
Java-сертификация. Что такое и зачем это нужно Сергей Клименков, Tune-IT |
Java Embedded у вас дома! Александр Мироненко и Александр Белокрылов, Oracle |
16:45 — 17:15 | Кофе | |||
17:15 — 18:00 |
Спорим, в твоем приложении есть утечка памяти? Никита Сальников-Тарновский, Plumbr |
JDK8: Stream style Сергей Куксенко, Oracle |
Нагрузочное тестирование сервера раздачи видео Александр Тоболь, Одноклассники |
In-Memory Accelerator for MongoDB Яков Жданов, GridGain |
18:15 — 19:00 |
О чём молчат Heap Dump-ы Алексей Шипилёв, Oracle |
В поисках Tommy Hilfiger Михаил Хлуднев, GridDynamics |
Invokedynamic: Роскошь или необходимость? Владимир Иванов, Oracle |
UrsaJ: HTTP File Storage Kuzma Deretuke, Deutsche Bank |
19:00 | Закрытие конференции |
Joker 2013, конференция по Java-технологиям, пройдёт 15 октября в Санкт-Петербурге. Конференция ориентирована на профессионалов в области разработки ПО на Java. Вас ожидает 4 потока и более 30 докладов от гуру Java-разработки на русском и английском языках, стенды компаний-лидеров в области Java-разработки и зона свободного общения, где можно будет пообщаться с друзьями и коллегами или просто отдохнуть.
В программе конференции:
Участие
На Joker 2013 Вы можете попасть несколькими способами:
Тип билета | Дата покупки | Стоимость |
---|---|---|
Персональный билет | с 1 по 30 сентября | 3000 рублей |
с 1 по 10 октября | 4000 рублей | |
Корпоративный билет | с 1 по 30 сентября | 4000 рублей |
с 1 по 10 октября | 5000 рублей |
Тренинги
За день до конференции пройдёт несколько тренингов и мастер-классов:
Кто проводит | Тема | Стоимость |
---|---|---|
Николай Чашников | Работа в IntelliJ IDEA для профессионалов | 1000 рублей |
Евгений Кривошеев | Проектирование обоснованной архитектуры | 7000 рублей |
Paweł Lipiński | Test Driven Development in Java | 7000 рублей |
Евгений Борисов | Spring 3.2 — копаем до самого ядра | 7000 рублей |
Евгений Цопа | Liferay 6.1 — строим корпоративный портал за 4 часа | 1500 рублей |
Gil Tene | How NOT to Measure Latency | 1000 рублей |
Тема обращения | Имя | Координаты для связи |
---|---|---|
Программа конференции, мастер-классы, расписание конференции | Андрей Дмитриев | |
Сотрудничество с компаниями, билеты для сотрудников | Иван Долгов | |
Организационные вопросы, площадка, питание, afterparty | Александр Тимофеев | |
Работа со СМИ, PR-менеджмент, информационное партнёрство | Татьяна Додышева | |
Unconference 16 октября | Александр Белокрылов | |
Документы, финансы, работа со спонсорами, другие вопросы | Алексей Фёдоров |
Санкт-Петербург, ул. Кораблестроителей, 14
Гостиница «Park Inn Прибалтийская»