SlideShare a Scribd company logo
Saint Petersburg 
,QMGT #jokerconf! 
#joker2014
;ΟΧζΩΟΪΜεΣ
αΚΫάζ 
Время Зал Пики Зал Трефы Зал Бубны 
9:00-10:00 ΊΟΝ΢ΫάΪΚΰ΢ι 
10:00-10:15 ΈάΤΪεά΢ΟΤΨΧήΟΪΟΧΰ΢΢ 
10:15-10:45 
ΈΥΟΝͺΧΚΫάΚΫζΟΜ 
΁ΚΝΪΚΧζθΜΨΡΦΨΠΧΨΝΨ
MG[PQVG 
10:45-11:15 ΄ΨήΟΛΪΟΣΤ 
11:15-12:15 
0KVUCP9CMCTV 
6JG+NNWUKQPQH'ZGEWVKQP 
ͺΥΟΤΫΚΧΞΪͻΟΥΨΤΪεΥΨΜ΢ 
ͺΥΟΤΫΚΧΞΪΆ΢ΪΨΧΟΧΤΨ 
΋΢ΥΨΜΚιέΫάΚΧΨΜΤΚEbΫΟΪΞΰΟΦ 
΢Ρb4CURDGTT[b2K 
΢bΦΨΡΝΨΦbΧΚb,CXCb'ODGFFGF 
ͺΥΟΤΫΟΣ΁΢ΧΨΜζΟΜ 
,CXCΜbΤΚαΟΫάΜΟΨΫΧΨΜΧΨΝΨ 
ΪΚΛΨαΟΝΨ΢ΧΫάΪέΦΟΧάΚ 
CVCb5EKGPVKUV 
12:30-13:30 
ͺΧΞΪΟΣΉΚΧζΝ΢Χ 
΅έαβ΢ΣΨάΥΚΞα΢Τ 
ΫΞΟΥΚΧΧεΣbΫΜΨ΢Φ΢bΪέΤΚΦ΢ 
8QNMGT5KOQPKU 
*GCTV5WTIGT[*QV5RQV 
GDWIIKPICVVJG15.GXGN 
·΢ΤΨΥΚΣΑΚβΧ΢ΤΨΜ 
Ή΢ΫΚάζΤΨΞΛεΫάΪΟΟ 
Ψβ΢ΛΚάζΫιbΪΟΠΟ
;ΟΧζΩΟΪΜεΣ
αΚΫάζ 
Время Зал Пики Зал Трефы Зал Бубны 
13:00-14:30 ΈΛΟΞ 
14:30-15:30 
ͺΥΟΤΫΟΣΒ΢Ω΢ΥκΜ 
,CXC$GPEJOCTMKPIΤΚΤΞΜΚ 
άΚΣΦΫάΚΦΩΚΩΪΨα΢άΚάζ 
%JTKUVQRJ'PIGNDGTV 
2GVGTb.CYTG[ 
7PUCHG,CXC9QTNF 
΂ΜΚΧ΄ΪεΥΨΜ 
5VTWEVWTGF#TTC[΢ 
1DLGEV.C[QWV 
15:45-16:45 
ͽΥΟΛ΋Φ΢ΪΧΨΜ 
*QV5RQVαάΨάεΞΟΥΚΟβζ! 
ͺίΚίΚbΩΪΟΤΪΚά΢ 
ΈΥΟΝͺΧΚΫάΚΫζΟΜ 
΁ΚΝΪΚΧζθ0Q53. 
0GY53.bΧΚb%CUUCPFTC 
0KEQNCU(TCPMGN 
+PVGITCVKQP6GUVKPI 
HTQObVJGb6TGPEJGU 
16:45-17:15 ΄ΨήΟΛΪΟΣΤ 
17:15-18:15 
ͻΚΪέί΋ΚΞΨΝέΪΫΤ΢ΣͿΜΝΟΧ΢Σ 
ͻΨΪ΢ΫΨΜ΢·΢ΤΨΥΚΣͺΥ΢ΦΟΧΤΨΜ 
΁ΚαΟΦέ5RTKPI 
ΫάΨΥζΤΨbΤΨΧή΢ΝέΪΚΰ΢Σ! 
2GVGT.CYTG[ 
.QYNGXGN,CXCEQFKPIYKVJ 
GZCORNGUHTQO1RGP*(6 
ͼΥΚΞ΢Φ΢Ϊ΋΢άΧ΢ΤΨΜ 
ΉΪΨήΚΣΥΟΪΜΤΚΠΞεΣΞΨΦ 
18:30-19:30 
΋ΟΪΝΟΣ΄έΤΫΟΧΤΨ 
΀ΟΥΟΡΧεΟΫακάα΢Τ΢ΧΚΫάΪΚΠΟ 
ΩΪΨ΢ΡΜΨΞ΢άΟΥζΧΨΫά΢ 
/CTMWU'KUGNG 
,CXC5ETKRVKPVJGͿPVGTRTKUG 
ΙΤΨΜ΀ΞΚΧΨΜ 
ΈάΞ΢ΫΤΨΜΨΣΚΪί΢άΟΤάέΪε 
Τ+P/GOQT[
;ΟΧζΜάΨΪΨΣ
αΚΫάζ 
Время Зал Пики Зал Трефы Зал Бубны 
9:00-10:00 ΍άΪΟΧΧ΢Σ΄ΨήΟΛΪΟΣΤ 
10:00-10:15 ·ΚέαΧΨΌΟίΧ΢αΟΫΤ΢ΣΊΗΉ 
10:30-11:30 
·΢Τ΢άΚ;Π΢ΝέΪΞΚ 
ͼ΢ΪέΫΧεΣηήήΟΤά 
11:30-11:45 ΄ΨήΟΛΪΟΣΤ 
11:45-12:45 
/CTMWU'KUGNG 
$GUV(GCVWTGU 
QH,CXC'' 
ͻΚΪέί΋ΚΞΨΝέΪΫΤ΢Σ 
΢bͿΜΝΟΧ΢ΣbͻΨΪ΢ΫΨΜ 
)TQQX[2WNGTU 
;Φ΢άΪ΢Σ΅ΚΡΚΪΟΧΤΨ 
ΈΩά΢Φ΢ΡΚΰ΢ιΪΚΛΨάε 
,8/bΜbΨΛΥΚΤΟ 
12:50-13:50 
/CTEWU.CIGTITGP 
15,8/FKCNGEVKEłGPFKPIVJG 
UVTWIINGVJTQWIJWPKV[ 
ͼΥΚΞ΢Φ΢Ϊ΄ΪΚΫ΢Υζγ΢Τ 
ΆΨΧ΢άΨΪ΢ΧΝ,CXCΩΪ΢ΥΨΠΟΧ΢ι 
ΫbΦΧΨΝΨΩΪΨΰΟΫΫΧΨΣΚΪί΢άΟΤάέΪΨΣ 
΋ΜΟάΥΚΧΚ΂ΫΚΤΨΜΚ 
ΉΪΨΫάεΦ΢ΫΥΨΜΚΦ΢ 
ΩΪΨbΜεΜΨΞbά΢ΩΨΜ
;ΟΧζΜάΨΪΨΣ
αΚΫάζ 
Время Зал Пики Зал Трефы Зал Бубны 
13:50-14:45 ΈΛΟΞ 
14:45-15:45 ·΢ΤΨΥΚΣͺΥ΢ΦΟΧΤΨΜ 
ΉΪ΢ΤΥΚΞΧΚιΦΧΨΝΨΩΨάΨαΧΨΫάζ 
ͺΥΟΤΫΟΣΊΚΝΨΡ΢Χ 
΋άΪέΤάέΪεΞΚΧΧείΜ,CXC 
΢ΡΨΛΪΟάΚΟΦΡΚΧΨΜΨ 
ͺΥΟΤΫΟΣΒΟΜαέΤ 
ΉΨΞίΨΞεΤΪΟβΟΧ΢θ 
ΩΪΨΛΥΟΦbΩΪΨ΢ΡΜΨΞ΢άΟΥζΧΨΫά΢ 
ΜεΫΨΤΨΧΚΝΪέΠΟΧείbΫΟΪΜ΢ΫΨΜ 
15:50-16:50 /CWTKEG0CHVCNKP 
+U;QWT%QFG2CTCNNGN4GCF[! 
Ά΢ίΚ΢Υ;έΞΚΪΟΜ 
755m'PVGTRTKUG}ΫΤΜΨΡζ 
αΟΪΧεΟbΞεΪεbΛΟΡΨΩΚΫΧΨΫά΢ 
,CXCb9GDΤΨΧάΟΣΧΟΪΨΜ 
·΢Τ΢άΚ΅΢ΩΫΤ΢Σ 
#JGCFQHVKOGΤΨΦΩ΢Υιΰ΢ι 
16:50-17:15 ΄ΨήΟΛΪΟΣΤ 
17:15-18:15 ͿΜΝΟΧ΢ΣͻΨΪ΢ΫΨΜ 
5RTKPICVC!;ΚάΚ 
ͼΥΚΞ΢Φ΢Ϊ΂ΜΚΧΨΜ 
(WVWTGQH,CXCCPFDG[QPF 
,CTQUNCY2CNMC 
5Q[QWYCPVVQYTKVG 
CPQVJGTb,8/bNCPIWCIG! 
18:30-19:30 
#NGMUG[5JKRKNκX 
LCXCNCPI5VTKPI%CVGEJKUO 

KPb'PINKUJ 
ΊΨΦΚΧͿΥ΢ΡΚΪΨΜ 
ΉΨαΟΦέ)%ΫδΟΞΚΟάΜΫΟΦΨκ 
%27! 
·΢ΤΨΥΚΣΊεΠ΢ΤΨΜ 
%NQLWTG 
΢ΧάΟΪΚΤά΢ΜΧΚιbΪΚΡΪΚΛΨάΤΚ 
ΞΥιb΢ΧάΟΪΚΤά΢ΜΧΨΝΨbΜΟΛ
The Illusion of Execution 
Contrary to our intuitions, the execution of our 
software is far from the continuous and sequential 
mental model we use when reading and writing 
code. In this talk we will discuss the gap between 
this model and the reality of the average Java 
application:! 
◦ Placing the Java process in the stack: HW (real/ 
virtual)/OS/Process! 
◦ The other threads in your process! 
◦ When the JVM stops (and the promise of a pause 
free JVM)! 
◦ Open to interpretation: from your code to 
assembly! 
◦ The pause button: Safepoints in your code! 
◦ Pointer accounting: store barriers and load 
barriers in your code 
Nitsan Wakart 
Azul Systems
Писать код быстрее, ошибаться реже: возможно 
ли это? 
Все программисты хотят делать меньше 
ошибок в программах. Если же ошибки 
случаются, хочется про них узнать пораньше: 
не обнаружить в готовом продукте, а 
поймать при помощи юнит-тестов, ещё 
лучше — найти при компиляции, а в идеале 
— увидеть прямо при наборе кода. В этом 
могут помочь статические анализаторы кода. 
Одни из них встроены в IDE, другие надо 
настраивать дополнительно, для проверок 
третьих придётся аннотировать код.! 
Стоит ли результат затраченных усилий? 
Какие ошибки можно найти таким 
способом? Не потонут ли сообщения о 
реальных проблемах в потоке ложных 
срабатываний? Об этом и поговорим на 
докладе. 
Николай Чашников 
JetBrains
Unsafe Java World — Crossing the Borderline 
You never heard of sun.misc.Unsafe? You may be 
using it without realising it. Are you using Spring 
or Hibernate? 90% of todays applications use 
sun.misc.Unsafe directly or indirectly. Unsafe is 
meant to be an API internal to the JVM but since it 
turned out to be extremely powerful, more and 
more frameworks have used it.! 
This talk will show different usecases of 
sun.misc.Unsafe. Some are commonly used in 
production environments like fast Serialization, 
Offheap or to build lock-free algorithms, some not 
suitable for production but fun to play with 
breaking the rules of what you can do in Java.! 
After the talk you’ll understand what is possible 
and what might help you, but not to forget, this 
talk is given with a big warning: Don’t Try That At 
Home! 
Peter Lawrey 
Christoph Engelbert
HotSpot, что ты делаешь?! Ахаха, прекрати! 
Большинство разработчиков время от времени 
сталкиваются с проблемами, которые для них 
новы. Для решения иногда достаточно 
прочитать документацию. Иногда ответ можно 
найти в интернете, иногда спросить у кого-то, 
кто уже знает. Порой это не помогает, и 
приходится копать самостоятельно. Нередко 
раскопки доходят до уровня JVM, и от этого у 
кого-то могут опуститься руки.! 
Но ведь HotSpot — это не загадочная шайтан- 
машина, а что-то, у чего открыт исходный код! 
Всё поведение JVM, кажущееся поначалу 
странным, можно объяснить и научиться 
воспроизводить, нужно просто копнуть ещё 
немного глубже. Доклад окунёт слушателей в 
увлекательный мир исходников JVM и разберёт 
несколько необычных ситуаций, с которыми 
может столкнуться разработчик. 
Глеб Смирнов 
Deutsche Bank
Зачем у Spring столько конфигураций? Заговор? 
И ты, Spring Boot?! 
Практически каждая новая версия Spring 
привносила дополнительный способ 
конфигурации. XML, аннотации Java Config, 
Groovy Config. Что дальше? А главное зачем их 
так много? Как знать когда чем пользоваться?! 
Хотите понаблюдать за настоящей битвой 
Баруха, Жени и Николая в попытке найти 
золотую середину? Хотите поставить ставки на 
победу Groovy конфига над XML-ом или 
наоборот (люди, между прочим, уже выигрывали 
реальное пиво!)? Тогда этот доклад - для вас!! 
За отведённое нам время мы будем выявлять 
плюсы и минусы разных конфигураций на 
реальном проекте. Мы будем спорить, ругаться, 
бить друг друга (может быть, даже ногами) в 
попытке докопаться до истины. И наконец 
покажем вам наше видение будущего, в котором 
Spring Boot значительно упростит нам жизнь. 
Барух Садогурский Евгений Борисов 
Николай Алименков
JavaScript in the Enterprise 
Instead of exclusively using 
JavaScript on front ends, what 
else can be done with it on Java 
EE servers? This session looks 
into Nashorn, Avatar, the 
scripting JSR, and other possible 
options for also using JavaScript 
as an enterprise workhorse. 
Markus Eisele 
Red Hat
Groovy Puzzlers — Странное, Непонятное и 
Мамочки-а-это-что-такое?! 
Помните легендарные Java Puzzlers? Да-да, те 
самые, с Джошом Блохом и Нилом Гафтером? 
Ну, по которым ещё книжку написали? Так вот, 
в Groovy всё ещё веселее.! 
В смысле — задачки ещё более странные, и 
ответы ещё более поразительные. Этот доклад 
для вас, Groovy-разработчики, мы покажем вам 
настоящие, большие и красивые подводные 
камни! И для вас, Java-разработчики, потому 
что таких вещей на Java-подобном синтакисе вы 
точно никогда не видели! И для вас, PHP- 
разработчики… хотя, нет, не для вас :)! 
Всем точно будет весело — ваши ведущие Женя 
и Барух будут зажигать, шутить, спорить, 
бросаться футболками в публику, и самое 
главное — заставят вас офигевать от Groovy. 
Барух Садогурский 
Евгений Борисов
Мониторинг Java-приложения с 
многопроцессной архитектурой 
Вам случалось полдня разбираться почему не проходит 
интеграционный тест и обнаружить, что один из Java-процессов 
Вашего приложения, находясь под нагрузочным тестированием, 
которое проводил коллега напротив Вас, так усиленно писал логи, что 
забил все свободное дисковое пространство, что в свою очередь, не 
позволяло другому Java-процессу этого приложения открыть сокет? 
Или в Вашей команде более 20 server-side Java-девелоперов, а 
архитектура Вашего “Ынтерпрайза” со стороны напоминает 
гигантский клубок нейронов и аксонов?! 
В общем, если Вы работаете на действительно большом проекте, 
многочисленные компоненты которого активно взаимодействуют друг 
с другом и при этом разрабатываются разными командами, то Вы 
относитесь к одному из двух типов людей: либо Вы мониторите 
состояния компонентов и окружений, на которых эти компоненты 
развернуты, либо Вы будете их мониторить. Потому что без 
мониторинга Вы потратите кучу времени на выявление и устранение 
неприятных инфраструктурных и интеграционных проблем, вместо 
того чтобы писать чистый и совершенный Java-код.! 
В своём докладе я пройдусь по плюсам и минусам принципа single 
responsibility в server-side архитектуре, расскажу про типичные 
проблемы своего текущего проекта и поделюсь рабочими рецептами 
против паранойи бесконечной и болезненной межкомпонентной 
интеграции. Также будет представлен краткий обзор продуктов 
основных игроков в сфере мониторинга, таких как hyperic, nagios, 
appdynamic или newrelic, подходящих для использования как 
специалистами DevOps, так и Java-программистами. 
Владимир Красильщик 
Luxoft
Прикладная многопоточность 
Любой Java-разработчик знает, что 
многопоточность — это зло, и что 
писать корректный многопоточный код 
сложно, а работает он совсем не всегда 
так быстро, как ожидаешь. Но какие 
задачи возникают в реальной 
коммерческой разработке помимо 
запуска асинхронного выполнения 
кода?! 
В этом докладе я представлю несколько 
задач, с которыми мы столкнулись в 
своем проекте, и решения, к которым 
мы пришли. Доклад носит прикладной 
характер и поможет вам расширить 
кругозор в многопоточной разработке. 
Николай Алименков 
XP Injection
Is Your Code Parallel-Ready? 
The Stream API is set to become as 
important in the future as the Collections 
API is today. But to make good use of it, 
we have to understand the basis of its 
design in the idea of “parallel-ready 
code,” how that idea leads to the new 
idioms of the Stream API, and how 
Collectors square the circle that combines 
parallel execution with mutable data 
structures.! 
This presentation ends with a practical 
payoff—it takes some typical collection 
processing problems and shows 
systematically how to choose the best 
stream processing solution for each. 
Maurice Naftalin 
Morningside Light Ltd.
Future of Java: 9 and beyond 
Java 8 is out and Java 9 is actively ramping up. What are 
the plans for future releases?! 
A number of experimental projects has been started 
recently to incubate advanced Java VM and Language 
feature candidates for future releases. Project Valhalla 
explores a new apporoach to generic typing, and hopes to 
produce a new form of generic typing that allows 
developers to use generic collections of primitive types. 
The other big feature currently proposed for Valhalla is 
value types.! 
Project Panama will provide a native interconnect 
between code managed by the JVM and APIs for non-Java 
libraries.! 
The primary goal of Project Sumatra is to enable Java 
applications to take advantage of graphics processing 
units (GPUs) and accelerated processing units (APUs) to 
improve performance.! 
For each major feature, I'll give an overview, current 
status, and vision of the future development. 
Владимир Иванов 
Oracle
java.lang.String Catechism 
Hardcore enterprise solutions, as well as 
other products, normally deal with large 
amount of text data. Those applications 
spend considerable time and memory to 
mess with Strings. It had been repeatedly 
shown that optimizing String usages will 
almost always give the immediate 
performance boosts. This is not to mention 
dodging OutOfMemoryErrors and the like.! 
In this talk, we will revisit the basic sins of 
working with Strings: gluttony of 
concatenation, wrath of substrings, greed of 
interning, pride of deduplication et cetera. 
We will also see the costs of sloth, believing 
JVM Almighty will do all the work for us. 
Алексей Шипилёв 
Oracle
Joker 2014 
Вирусный эффект Никита Джигурда

More Related Content

What's hot

Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Dmytro Zharii
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
Pavel Chertorogov
 
Big web project @happydev Omsk
Big web project @happydev OmskBig web project @happydev Omsk
Big web project @happydev OmskAlex Chistyakov
 
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
HappyDev
 
Интернет в помощь команде разработчиков культурно массового мероприятия
Интернет в помощь команде разработчиков культурно массового мероприятияИнтернет в помощь команде разработчиков культурно массового мероприятия
Интернет в помощь команде разработчиков культурно массового мероприятия
nomoretears
 
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
IT Event
 
Mortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation EngineersMortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation EngineersÞorgeir Ingvarsson
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Dmytro Zharii
 
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The GrinderИлья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
SQALab
 
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Yandex
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
IT Event
 
Scala performance под капотом
Scala performance под капотомScala performance под капотом
Scala performance под капотом
Roman Grebennikov
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектах
Alex Chistyakov
 
За пределами PageObject
За пределами PageObjectЗа пределами PageObject
За пределами PageObject
automated-testing.info
 
Как мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.RuКак мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.Ru
Vladimir Rudnyh
 
SymfonyConf IV.2016 - Реанимация проектов на Symfony
SymfonyConf IV.2016 - Реанимация проектов на SymfonySymfonyConf IV.2016 - Реанимация проектов на Symfony
SymfonyConf IV.2016 - Реанимация проектов на Symfony
Serge Velikanov
 
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
DevGAMM Conference
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java Developer
Olexandra Dmytrenko
 

What's hot (19)

Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfyЧитабельные отчеты для автоматизации на C# / Gallio / BDDfy
Читабельные отчеты для автоматизации на C# / Gallio / BDDfy
 
Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)Бэкенд, фронтенд — всё смешалось (nodkz)
Бэкенд, фронтенд — всё смешалось (nodkz)
 
Big web project @happydev Omsk
Big web project @happydev OmskBig web project @happydev Omsk
Big web project @happydev Omsk
 
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
Александр Чистяков - Большой веб-проект: развитие, рост, проблемы, решения с ...
 
Интернет в помощь команде разработчиков культурно массового мероприятия
Интернет в помощь команде разработчиков культурно массового мероприятияИнтернет в помощь команде разработчиков культурно массового мероприятия
Интернет в помощь команде разработчиков культурно массового мероприятия
 
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
Roman Romanovsky, Sergey Rak - "JavaScript в IoT "
 
Mortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation EngineersMortal Sins and Guilty Pleasures of Automation Engineers
Mortal Sins and Guilty Pleasures of Automation Engineers
 
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
Тесты в стиле BDD на C# (Подходы и инструменты; SpecFlow, BDDfy)
 
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The GrinderИлья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
Илья Евлампиев - Нагрузочное тестирование веб-приложений с помощью The Grinder
 
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
Illya Klymov - "Vue.JS: What did I swap React for in 2017 and why?"
 
Scala performance под капотом
Scala performance под капотомScala performance под капотом
Scala performance под капотом
 
Применение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектахПрименение языка Go в инфраструктурных проектах
Применение языка Go в инфраструктурных проектах
 
За пределами PageObject
За пределами PageObjectЗа пределами PageObject
За пределами PageObject
 
Как мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.RuКак мы делаем раскладку Календаря@Mail.Ru
Как мы делаем раскладку Календаря@Mail.Ru
 
SymfonyConf IV.2016 - Реанимация проектов на Symfony
SymfonyConf IV.2016 - Реанимация проектов на SymfonySymfonyConf IV.2016 - Реанимация проектов на Symfony
SymfonyConf IV.2016 - Реанимация проектов на Symfony
 
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
(Не) преждевременная оптимизация проекта на Unreal Engine 4 / Владимир Алямки...
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java Developer
 

Similar to Joker2014

Константин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороныКонстантин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороны
Tatyanazaxarova
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковAlex Tumanoff
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7
Alexander Levantovsky
 
Tao and Test Automation
Tao and Test AutomationTao and Test Automation
Tao and Test Automation
Þorgeir Ingvarsson
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Ruby Meditation
 
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
it-people
 
Вавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей ЛупанВавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей Лупан
QA Dnepropetrovsk Community (Ukraine)
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy Samilyak
Amasty
 
How to cook a blockchain and not get burned
How to cook a blockchain and not get burned How to cook a blockchain and not get burned
How to cook a blockchain and not get burned
Alexander Syrotenko
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
ITCrowd Almaty
 
Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»
SpbDotNet Community
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NET
lugnsk
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Yandex
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
0leGG
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest
 
От заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechОт заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit Tech
Zlit
 
[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoFAleksey Shipilev
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
Roman Dvornov
 

Similar to Joker2014 (20)

Константин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороныКонстантин Книжник: статический анализ, взгляд со стороны
Константин Книжник: статический анализ, взгляд со стороны
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис Цыплаков
 
MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7MagicPlot @ UXSPb @ IT Global Meetup #7
MagicPlot @ UXSPb @ IT Global Meetup #7
 
Tao and Test Automation
Tao and Test AutomationTao and Test Automation
Tao and Test Automation
 
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex PetrovReal-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
Real-Time Error Alerting & Debugging Tools: Rollbar - Alex Petrov
 
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
"Портирование Web SDK с JS на TS" Петров Григорий, Voximplant
 
Вавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей ЛупанВавилонское тестировтворение - Алекскей Лупан
Вавилонское тестировтворение - Алекскей Лупан
 
Meet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy SamilyakMeet Magento Belarus - Andriy Samilyak
Meet Magento Belarus - Andriy Samilyak
 
How to cook a blockchain and not get burned
How to cook a blockchain and not get burned How to cook a blockchain and not get burned
How to cook a blockchain and not get burned
 
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработкиБэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
Бэкенд, Фронтенд — всё смешалось. Обзорная экскурсия в будущее веб-разработки
 
Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»
 
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
Opensource на .NET
Opensource на .NETOpensource на .NET
Opensource на .NET
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
CodeFest 2013. Прокопов Н. — Зачем вам нужна Clojure?
 
От заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechОт заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit Tech
 
[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF[jeeconf-2011] Java Platform Performance BoF
[jeeconf-2011] Java Platform Performance BoF
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
 

Joker2014

  • 1. Saint Petersburg ,QMGT #jokerconf! #joker2014
  • 2. ;ΟΧζΩΟΪΜεΣ αΚΫάζ Время Зал Пики Зал Трефы Зал Бубны 9:00-10:00 ΊΟΝ΢ΫάΪΚΰ΢ι 10:00-10:15 ΈάΤΪεά΢ΟΤΨΧήΟΪΟΧΰ΢΢ 10:15-10:45 ΈΥΟΝͺΧΚΫάΚΫζΟΜ ΁ΚΝΪΚΧζθΜΨΡΦΨΠΧΨΝΨ MG[PQVG 10:45-11:15 ΄ΨήΟΛΪΟΣΤ 11:15-12:15 0KVUCP9CMCTV 6JG+NNWUKQPQH'ZGEWVKQP ͺΥΟΤΫΚΧΞΪͻΟΥΨΤΪεΥΨΜ΢ ͺΥΟΤΫΚΧΞΪΆ΢ΪΨΧΟΧΤΨ ΋΢ΥΨΜΚιέΫάΚΧΨΜΤΚEbΫΟΪΞΰΟΦ ΢Ρb4CURDGTT[b2K ΢bΦΨΡΝΨΦbΧΚb,CXCb'ODGFFGF ͺΥΟΤΫΟΣ΁΢ΧΨΜζΟΜ ,CXCΜbΤΚαΟΫάΜΟΨΫΧΨΜΧΨΝΨ ΪΚΛΨαΟΝΨ΢ΧΫάΪέΦΟΧάΚ CVCb5EKGPVKUV 12:30-13:30 ͺΧΞΪΟΣΉΚΧζΝ΢Χ ΅έαβ΢ΣΨάΥΚΞα΢Τ ΫΞΟΥΚΧΧεΣbΫΜΨ΢Φ΢bΪέΤΚΦ΢ 8QNMGT5KOQPKU *GCTV5WTIGT[*QV5RQV GDWIIKPICVVJG15.GXGN ·΢ΤΨΥΚΣΑΚβΧ΢ΤΨΜ Ή΢ΫΚάζΤΨΞΛεΫάΪΟΟ Ψβ΢ΛΚάζΫιbΪΟΠΟ
  • 3. ;ΟΧζΩΟΪΜεΣ αΚΫάζ Время Зал Пики Зал Трефы Зал Бубны 13:00-14:30 ΈΛΟΞ 14:30-15:30 ͺΥΟΤΫΟΣΒ΢Ω΢ΥκΜ ,CXC$GPEJOCTMKPIΤΚΤΞΜΚ άΚΣΦΫάΚΦΩΚΩΪΨα΢άΚάζ %JTKUVQRJ'PIGNDGTV 2GVGTb.CYTG[ 7PUCHG,CXC9QTNF ΂ΜΚΧ΄ΪεΥΨΜ 5VTWEVWTGF#TTC[΢ 1DLGEV.C[QWV 15:45-16:45 ͽΥΟΛ΋Φ΢ΪΧΨΜ *QV5RQVαάΨάεΞΟΥΚΟβζ! ͺίΚίΚbΩΪΟΤΪΚά΢ ΈΥΟΝͺΧΚΫάΚΫζΟΜ ΁ΚΝΪΚΧζθ0Q53. 0GY53.bΧΚb%CUUCPFTC 0KEQNCU(TCPMGN +PVGITCVKQP6GUVKPI HTQObVJGb6TGPEJGU 16:45-17:15 ΄ΨήΟΛΪΟΣΤ 17:15-18:15 ͻΚΪέί΋ΚΞΨΝέΪΫΤ΢ΣͿΜΝΟΧ΢Σ ͻΨΪ΢ΫΨΜ΢·΢ΤΨΥΚΣͺΥ΢ΦΟΧΤΨΜ ΁ΚαΟΦέ5RTKPI ΫάΨΥζΤΨbΤΨΧή΢ΝέΪΚΰ΢Σ! 2GVGT.CYTG[ .QYNGXGN,CXCEQFKPIYKVJ GZCORNGUHTQO1RGP*(6 ͼΥΚΞ΢Φ΢Ϊ΋΢άΧ΢ΤΨΜ ΉΪΨήΚΣΥΟΪΜΤΚΠΞεΣΞΨΦ 18:30-19:30 ΋ΟΪΝΟΣ΄έΤΫΟΧΤΨ ΀ΟΥΟΡΧεΟΫακάα΢Τ΢ΧΚΫάΪΚΠΟ ΩΪΨ΢ΡΜΨΞ΢άΟΥζΧΨΫά΢ /CTMWU'KUGNG ,CXC5ETKRVKPVJGͿPVGTRTKUG ΙΤΨΜ΀ΞΚΧΨΜ ΈάΞ΢ΫΤΨΜΨΣΚΪί΢άΟΤάέΪε Τ+P/GOQT[
  • 4. ;ΟΧζΜάΨΪΨΣ αΚΫάζ Время Зал Пики Зал Трефы Зал Бубны 9:00-10:00 ΍άΪΟΧΧ΢Σ΄ΨήΟΛΪΟΣΤ 10:00-10:15 ·ΚέαΧΨΌΟίΧ΢αΟΫΤ΢ΣΊΗΉ 10:30-11:30 ·΢Τ΢άΚ;Π΢ΝέΪΞΚ ͼ΢ΪέΫΧεΣηήήΟΤά 11:30-11:45 ΄ΨήΟΛΪΟΣΤ 11:45-12:45 /CTMWU'KUGNG $GUV(GCVWTGU QH,CXC'' ͻΚΪέί΋ΚΞΨΝέΪΫΤ΢Σ ΢bͿΜΝΟΧ΢ΣbͻΨΪ΢ΫΨΜ )TQQX[2WNGTU ;Φ΢άΪ΢Σ΅ΚΡΚΪΟΧΤΨ ΈΩά΢Φ΢ΡΚΰ΢ιΪΚΛΨάε ,8/bΜbΨΛΥΚΤΟ 12:50-13:50 /CTEWU.CIGTITGP 15,8/FKCNGEVKEłGPFKPIVJG UVTWIINGVJTQWIJWPKV[ ͼΥΚΞ΢Φ΢Ϊ΄ΪΚΫ΢Υζγ΢Τ ΆΨΧ΢άΨΪ΢ΧΝ,CXCΩΪ΢ΥΨΠΟΧ΢ι ΫbΦΧΨΝΨΩΪΨΰΟΫΫΧΨΣΚΪί΢άΟΤάέΪΨΣ ΋ΜΟάΥΚΧΚ΂ΫΚΤΨΜΚ ΉΪΨΫάεΦ΢ΫΥΨΜΚΦ΢ ΩΪΨbΜεΜΨΞbά΢ΩΨΜ
  • 5. ;ΟΧζΜάΨΪΨΣ αΚΫάζ Время Зал Пики Зал Трефы Зал Бубны 13:50-14:45 ΈΛΟΞ 14:45-15:45 ·΢ΤΨΥΚΣͺΥ΢ΦΟΧΤΨΜ ΉΪ΢ΤΥΚΞΧΚιΦΧΨΝΨΩΨάΨαΧΨΫάζ ͺΥΟΤΫΟΣΊΚΝΨΡ΢Χ ΋άΪέΤάέΪεΞΚΧΧείΜ,CXC ΢ΡΨΛΪΟάΚΟΦΡΚΧΨΜΨ ͺΥΟΤΫΟΣΒΟΜαέΤ ΉΨΞίΨΞεΤΪΟβΟΧ΢θ ΩΪΨΛΥΟΦbΩΪΨ΢ΡΜΨΞ΢άΟΥζΧΨΫά΢ ΜεΫΨΤΨΧΚΝΪέΠΟΧείbΫΟΪΜ΢ΫΨΜ 15:50-16:50 /CWTKEG0CHVCNKP +U;QWT%QFG2CTCNNGN4GCF[! Ά΢ίΚ΢Υ;έΞΚΪΟΜ 755m'PVGTRTKUG}ΫΤΜΨΡζ αΟΪΧεΟbΞεΪεbΛΟΡΨΩΚΫΧΨΫά΢ ,CXCb9GDΤΨΧάΟΣΧΟΪΨΜ ·΢Τ΢άΚ΅΢ΩΫΤ΢Σ #JGCFQHVKOGΤΨΦΩ΢Υιΰ΢ι 16:50-17:15 ΄ΨήΟΛΪΟΣΤ 17:15-18:15 ͿΜΝΟΧ΢ΣͻΨΪ΢ΫΨΜ 5RTKPICVC!;ΚάΚ ͼΥΚΞ΢Φ΢Ϊ΂ΜΚΧΨΜ (WVWTGQH,CXCCPFDG[QPF ,CTQUNCY2CNMC 5Q[QWYCPVVQYTKVG CPQVJGTb,8/bNCPIWCIG! 18:30-19:30 #NGMUG[5JKRKNκX LCXCNCPI5VTKPI%CVGEJKUO KPb'PINKUJ ΊΨΦΚΧͿΥ΢ΡΚΪΨΜ ΉΨαΟΦέ)%ΫδΟΞΚΟάΜΫΟΦΨκ %27! ·΢ΤΨΥΚΣΊεΠ΢ΤΨΜ %NQLWTG ΢ΧάΟΪΚΤά΢ΜΧΚιbΪΚΡΪΚΛΨάΤΚ ΞΥιb΢ΧάΟΪΚΤά΢ΜΧΨΝΨbΜΟΛ
  • 6. The Illusion of Execution Contrary to our intuitions, the execution of our software is far from the continuous and sequential mental model we use when reading and writing code. In this talk we will discuss the gap between this model and the reality of the average Java application:! ◦ Placing the Java process in the stack: HW (real/ virtual)/OS/Process! ◦ The other threads in your process! ◦ When the JVM stops (and the promise of a pause free JVM)! ◦ Open to interpretation: from your code to assembly! ◦ The pause button: Safepoints in your code! ◦ Pointer accounting: store barriers and load barriers in your code Nitsan Wakart Azul Systems
  • 7. Писать код быстрее, ошибаться реже: возможно ли это? Все программисты хотят делать меньше ошибок в программах. Если же ошибки случаются, хочется про них узнать пораньше: не обнаружить в готовом продукте, а поймать при помощи юнит-тестов, ещё лучше — найти при компиляции, а в идеале — увидеть прямо при наборе кода. В этом могут помочь статические анализаторы кода. Одни из них встроены в IDE, другие надо настраивать дополнительно, для проверок третьих придётся аннотировать код.! Стоит ли результат затраченных усилий? Какие ошибки можно найти таким способом? Не потонут ли сообщения о реальных проблемах в потоке ложных срабатываний? Об этом и поговорим на докладе. Николай Чашников JetBrains
  • 8. Unsafe Java World — Crossing the Borderline You never heard of sun.misc.Unsafe? You may be using it without realising it. Are you using Spring or Hibernate? 90% of todays applications use sun.misc.Unsafe directly or indirectly. Unsafe is meant to be an API internal to the JVM but since it turned out to be extremely powerful, more and more frameworks have used it.! This talk will show different usecases of sun.misc.Unsafe. Some are commonly used in production environments like fast Serialization, Offheap or to build lock-free algorithms, some not suitable for production but fun to play with breaking the rules of what you can do in Java.! After the talk you’ll understand what is possible and what might help you, but not to forget, this talk is given with a big warning: Don’t Try That At Home! Peter Lawrey Christoph Engelbert
  • 9. HotSpot, что ты делаешь?! Ахаха, прекрати! Большинство разработчиков время от времени сталкиваются с проблемами, которые для них новы. Для решения иногда достаточно прочитать документацию. Иногда ответ можно найти в интернете, иногда спросить у кого-то, кто уже знает. Порой это не помогает, и приходится копать самостоятельно. Нередко раскопки доходят до уровня JVM, и от этого у кого-то могут опуститься руки.! Но ведь HotSpot — это не загадочная шайтан- машина, а что-то, у чего открыт исходный код! Всё поведение JVM, кажущееся поначалу странным, можно объяснить и научиться воспроизводить, нужно просто копнуть ещё немного глубже. Доклад окунёт слушателей в увлекательный мир исходников JVM и разберёт несколько необычных ситуаций, с которыми может столкнуться разработчик. Глеб Смирнов Deutsche Bank
  • 10. Зачем у Spring столько конфигураций? Заговор? И ты, Spring Boot?! Практически каждая новая версия Spring привносила дополнительный способ конфигурации. XML, аннотации Java Config, Groovy Config. Что дальше? А главное зачем их так много? Как знать когда чем пользоваться?! Хотите понаблюдать за настоящей битвой Баруха, Жени и Николая в попытке найти золотую середину? Хотите поставить ставки на победу Groovy конфига над XML-ом или наоборот (люди, между прочим, уже выигрывали реальное пиво!)? Тогда этот доклад - для вас!! За отведённое нам время мы будем выявлять плюсы и минусы разных конфигураций на реальном проекте. Мы будем спорить, ругаться, бить друг друга (может быть, даже ногами) в попытке докопаться до истины. И наконец покажем вам наше видение будущего, в котором Spring Boot значительно упростит нам жизнь. Барух Садогурский Евгений Борисов Николай Алименков
  • 11. JavaScript in the Enterprise Instead of exclusively using JavaScript on front ends, what else can be done with it on Java EE servers? This session looks into Nashorn, Avatar, the scripting JSR, and other possible options for also using JavaScript as an enterprise workhorse. Markus Eisele Red Hat
  • 12. Groovy Puzzlers — Странное, Непонятное и Мамочки-а-это-что-такое?! Помните легендарные Java Puzzlers? Да-да, те самые, с Джошом Блохом и Нилом Гафтером? Ну, по которым ещё книжку написали? Так вот, в Groovy всё ещё веселее.! В смысле — задачки ещё более странные, и ответы ещё более поразительные. Этот доклад для вас, Groovy-разработчики, мы покажем вам настоящие, большие и красивые подводные камни! И для вас, Java-разработчики, потому что таких вещей на Java-подобном синтакисе вы точно никогда не видели! И для вас, PHP- разработчики… хотя, нет, не для вас :)! Всем точно будет весело — ваши ведущие Женя и Барух будут зажигать, шутить, спорить, бросаться футболками в публику, и самое главное — заставят вас офигевать от Groovy. Барух Садогурский Евгений Борисов
  • 13. Мониторинг Java-приложения с многопроцессной архитектурой Вам случалось полдня разбираться почему не проходит интеграционный тест и обнаружить, что один из Java-процессов Вашего приложения, находясь под нагрузочным тестированием, которое проводил коллега напротив Вас, так усиленно писал логи, что забил все свободное дисковое пространство, что в свою очередь, не позволяло другому Java-процессу этого приложения открыть сокет? Или в Вашей команде более 20 server-side Java-девелоперов, а архитектура Вашего “Ынтерпрайза” со стороны напоминает гигантский клубок нейронов и аксонов?! В общем, если Вы работаете на действительно большом проекте, многочисленные компоненты которого активно взаимодействуют друг с другом и при этом разрабатываются разными командами, то Вы относитесь к одному из двух типов людей: либо Вы мониторите состояния компонентов и окружений, на которых эти компоненты развернуты, либо Вы будете их мониторить. Потому что без мониторинга Вы потратите кучу времени на выявление и устранение неприятных инфраструктурных и интеграционных проблем, вместо того чтобы писать чистый и совершенный Java-код.! В своём докладе я пройдусь по плюсам и минусам принципа single responsibility в server-side архитектуре, расскажу про типичные проблемы своего текущего проекта и поделюсь рабочими рецептами против паранойи бесконечной и болезненной межкомпонентной интеграции. Также будет представлен краткий обзор продуктов основных игроков в сфере мониторинга, таких как hyperic, nagios, appdynamic или newrelic, подходящих для использования как специалистами DevOps, так и Java-программистами. Владимир Красильщик Luxoft
  • 14. Прикладная многопоточность Любой Java-разработчик знает, что многопоточность — это зло, и что писать корректный многопоточный код сложно, а работает он совсем не всегда так быстро, как ожидаешь. Но какие задачи возникают в реальной коммерческой разработке помимо запуска асинхронного выполнения кода?! В этом докладе я представлю несколько задач, с которыми мы столкнулись в своем проекте, и решения, к которым мы пришли. Доклад носит прикладной характер и поможет вам расширить кругозор в многопоточной разработке. Николай Алименков XP Injection
  • 15. Is Your Code Parallel-Ready? The Stream API is set to become as important in the future as the Collections API is today. But to make good use of it, we have to understand the basis of its design in the idea of “parallel-ready code,” how that idea leads to the new idioms of the Stream API, and how Collectors square the circle that combines parallel execution with mutable data structures.! This presentation ends with a practical payoff—it takes some typical collection processing problems and shows systematically how to choose the best stream processing solution for each. Maurice Naftalin Morningside Light Ltd.
  • 16. Future of Java: 9 and beyond Java 8 is out and Java 9 is actively ramping up. What are the plans for future releases?! A number of experimental projects has been started recently to incubate advanced Java VM and Language feature candidates for future releases. Project Valhalla explores a new apporoach to generic typing, and hopes to produce a new form of generic typing that allows developers to use generic collections of primitive types. The other big feature currently proposed for Valhalla is value types.! Project Panama will provide a native interconnect between code managed by the JVM and APIs for non-Java libraries.! The primary goal of Project Sumatra is to enable Java applications to take advantage of graphics processing units (GPUs) and accelerated processing units (APUs) to improve performance.! For each major feature, I'll give an overview, current status, and vision of the future development. Владимир Иванов Oracle
  • 17. java.lang.String Catechism Hardcore enterprise solutions, as well as other products, normally deal with large amount of text data. Those applications spend considerable time and memory to mess with Strings. It had been repeatedly shown that optimizing String usages will almost always give the immediate performance boosts. This is not to mention dodging OutOfMemoryErrors and the like.! In this talk, we will revisit the basic sins of working with Strings: gluttony of concatenation, wrath of substrings, greed of interning, pride of deduplication et cetera. We will also see the costs of sloth, believing JVM Almighty will do all the work for us. Алексей Шипилёв Oracle
  • 18. Joker 2014 Вирусный эффект Никита Джигурда