-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtalks.html
executable file
·527 lines (383 loc) · 26.5 KB
/
talks.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if IE 9]> <html class="no-js ie9" lang="en" itemscope itemtype="http://schema.org/Product"> <![endif]-->
<!--[if gt IE 9]><!--> <html class="no-js" lang="en" itemscope itemtype="http://schema.org/Product"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<title>Java Day Riga 2012</title>
<meta name="description" content="Java Day Riga 2012 conference will be organized by Latvian Java User Group and Oracle at November 29th in Riga, Latvia. This is going to be a major Baltics IT event welcoming 250 Java programmers from the region." />
<meta name="keywords" content="java, java heap, kotlin, nashorn, scala, vaadin, jruby, openshift, gradle" />
<meta name="author" content="">
<link rel="shortcut icon" href="http://rigadevday.lv/2012/favicon.png" type="image/x-icon" />
<!--Facebook Metadata /-->
<!-- <meta property="fb:page_id" content="" />
<meta property="og:image" content="" />
<meta property="og:description" content=""/>
<meta property="og:title" content=""/> -->
<!--Google+ Metadata /-->
<!-- <meta itemprop="name" content="">
<meta itemprop="description" content="">
<meta itemprop="image" content=""> -->
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href='http://fonts.googleapis.com/css?family=Play:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="http://rigadevday.lv/2012/style.css">
<script src="http://rigadevday.lv/2012/js/modernizr-2.0.6.min.js"></script>
<style>
.menu a[href*="talks"] {
text-decoration: underline;
}
</style>
</head>
<body>
<div class="container">
<section class="row">
<div class="row">
<div class="twelve columns special head">
<a href="http://rigadevday.lv/2012"><div class="logo"></div></a>
</div>
</div>
<div class="row">
<div class="five columns">
<div class="glowing date">
29 November 2012
</div>
</div>
<div class="seven columns">
<div class="container">
<div class="row padded-top">
<div class="three columns">
<div class="social">
<div class="g-plusone" data-size="medium" data-href="http://javaday.lv/"></div>
</div>
</div>
<div class="three columns">
<div class="social">
<a href="https://twitter.com/share" data-url="http://javaday.lv/" class="twitter-share-button" data-hashtags="jdayriga12">Tweet</a>
</div>
</div>
<div class="three columns">
<div class="social facebook">
<div class="fb-like" data-href="http://javaday.lv/" data-send="false" data-layout="button_count" data-show-faces="false"></div>
</div>
</div>
<div class="three columns">
<div class="social">
<script type="IN/Share" data-url="http://javaday.lv/" data-counter="right"></script>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="twelve columns">
<div class="vspace flat_mode_only"></div>
<div class="vspace flat_mode_only"></div>
</div>
</div>
<div class="row">
<div class="twelve columns">
<!--<div class="round brick menu register_button">
<a href="http://rigadevday.lv/2012/register.html" class="glowing first">Register!</a>
</div>
<div class="hspace floatleft"> </div>-->
<div class="round grey menu">
<a href="http://rigadevday.lv/2012/" class="first index">About</a>
<a href="http://rigadevday.lv/2012/venue.html">Venue</a>
<a href="http://rigadevday.lv/2012/speakers.html">Speakers</a>
<a href="http://rigadevday.lv/2012/schedule.html">Schedule</a>
<a href="http://rigadevday.lv/2012/talks.html">Talks</a>
</div>
</div>
</div>
<div class="row">
<div class="twelve columns">
<div class="vspace flat_mode_only"></div>
</div>
</div>
<div class="row">
<div class="eight columns">
<div id="JavaTechnologiesInevitableEvolution" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Java technologies - inevitable evolution</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
AlexanderBelokrylov">Alexander Belokrylov</a>
</h3>
<div class="brick link"><a target="_blank" href="http://javaday.lv/media/2012-JavaDay-Riga-Alexander_Belokrylov.pdf">View slides</a></div>
Java continues to evolve of its original "write once, run anywhere" philosophy by offering developers a powerful, scalable, and open platform for application development. With its collection of a general purpose virtual machine, productive language features, and a rich set of libraries, Java is continuing to improve the productivity of developers who create applications ranging from lightweight, headless devices all the way to high-end enterprise computing. This keynote talk will offer an integrated look into how the entire range of the Java portfolio is evolving to offer developers a high-performance, standards-based platform to meet the challenges of the next generation of enterprise computing
</div>
<div id="MultimoduleProjectBuildWithGradle" class="round post speaker presentation">
<h2>Multi-module project build with Gradle</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
AndreyAdamovich">Andrey Adamovich</a>
</h3>
Presentation gives introduction to main Gradle features as well as makes an example of building a multi-module multi-language (Java/Groovy/Scala) project to show simplicity and expressiveness of Gradle's build language.
</div>
<div id="HowToGetJavaBack" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>How to get Java back</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
AntonKeks">Anton Keks</a>
</h3>
Nowadays Java is clearly the most popular programming language for building of complex enterprise systems. Unfortunately, quite quickly these systems tend to become huge, overly complicated and tremendously difficult to maintain while doing very little. This leads people to seek for alternate programming languages and technologies, but the problem is not so much in the language itself, but in the architecture and design that is frequently applied to Java-based systems. Should we try to fix our thinking first? I'll show a way to do it.
</div>
<div id="ScalaTheFunctionalObjectOrientedLanguage" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Scala - the functional / object oriented language</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
KonradMalawski">Konrad Malawski</a>
</h3>
Scala is a language running on the JVM, mixing concepts well known from functional languages with what we Java developers know best. It's an interesting, an immensely powerful mixture where "boilerplate" just has no right to live anymore.
During this presentation we'll dive into the basics of the Scala language and library - but not just by itself, but backed with real use cases from an production scala-based system (which really has users!) where the language did really a lot more than "remove a bit of boilerplate". We'll take a look at how functional paradigms and patterns can help you better, cleaner code (by pushing DRY and SOLID to new limits) and how to build scalable, concurrent systems which remain easily testable even though they're multithreaded.
</div>
<div id="NashornDynamicJavaScriptOnTheJVMUsingInvokedynamic" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Nashorn: dynamic JavaScript on the JVM using Invokedynamic</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
MarcusLagergren">Marcus Lagergren</a>
</h3>
<div class="brick link"><a target="_blank" href="http://www.slideshare.net/lagergren/optimizing-javascript-and-dynamic-languages-on-the-jvm">View slides</a></div>
The JavaScript programming language has been experiencing a renaissance of late, driven by the interest in HTML5. Nashorn is a JavaScript engine implemented fully in Java on the JVM. It is based on the Da Vinci Machine (JSR 292) and will be available with JDK 8. This session describes the goals of Project Nashorn, gives a top-level view of how it all works and provides the current status.
There are many implementations of JavaScript, meant to run either on the JVM or standalone as native code. Both approaches have their respective pros and cons. The Oracle Nashorn JavaScript project is based on the former approach. This presentation goes through the performance work that has gone on in Oracle’s Nashorn JavaScript project to date in order to make JavaScript-to-bytecode generation for execution on the JVM feasible. It shows that the new invoke dynamic bytecode gets us part of the way there but may not quite be enough. What other tricks did the Nashorn project use? The presentation also discusses future directions for increased performance for dynamic languages on the JVM, covering proposed enhancements to both the JVM itself and to the bytecode compiler.
</div>
<div id="Vaadin7" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Vaadin 7</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
SamiEkblad">Sami Ekblad</a>
</h3>
Vaadin Framework version 7 is the first new major version of the
popular rich web framework in over three years. The goal for Vaadin 7
is to give more freedom to use underlying technologies as well as
clean up the APIs. Vaadin 7 includes Google Web Toolkit (GWT) to
provide best of the Java based UI development - both of the server and
client-side. The presentation describes the design decisions and
explains the implications of including GWT, as well as show some of
the cool stuff in Vaadin 7.
</div>
<div id="IntroductionToKotlin" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Introduction to Kotlin</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
SvetlanaIsakova">Svetlana Isakova</a>
</h3>
<div class="brick link"><a target="_blank" href="http://prezi.com/tuzmlzhpfklj/kotlin-java-day-riga/">View slides</a></div>
Kotlin is a modern statically typed language targeting JVM and JavaScript and intended for industrial use. The main goal behind this project is to create a language that would be a good tool for developers, i.e. will be safe, concise, flexible, 100% Java-compatible and well-supported by IDE and other tooling. Kotlin is an open-source project developed by JetBrains with the help of the community.
This session demonstrates the key features of Kotlin. Among others things, it covers
* Static null-safety
* Extension functions
* Higher-order functions and type-safe builders
* Smart casts: Kotlin's lightweight pattern matching
* Making Java APIs better with Kotlin
* Developing mixed Kotlin/Java projects
To find out more about Kotlin, please refer to http://kotlin.jetbrains.org
</div>
<div id="КешированиеВнеJavaHeapИРаботаСРазделяемойПамятьюВJava" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Кеширование вне Java Heap и работа с разделяемой памятью в Java</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
АндрейПаньгин">Андрей Паньгин</a>
</h3>
<div class="brick link"><a target="_blank" href="http://javaday.lv/media/pangin-cache.pdf">View slides</a></div>
В докладе обсуждаются аспекты кеширования данных за пределами Java Heap. Рассмотрены способы доступа к памяти вне Java Heap и создания образов кеша на диске. Предложен собственный алгоритм кеширования для высоконагруженного сервера. Демонстрируются недокументированные возможности JDK для эффективной работы с буферами и с разделяемой памятью.
</div>
<div id="МетодологияОптимизацииПроизводительности" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Методология оптимизации производительности</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
СергейКуксенко">Сергей Куксенко</a>
</h3>
<div class="brick link"><a target="_blank" href="http://javaday.lv/media/methodology.pdf">View slides</a></div>
Хотите сделать ваше приложение быстрее, и для этого оптимизируете Java-код? Мы не будем рассказывать, как оптимизировать Java-программы. Мы не будем рассказывать, как использовать ваш любимый профайлер. В первой части мы расскажем, как делать «правильные вещи» (TM), а не тратить две недели на бесполезные приседания; эти вещи не всегда лежат в самом приложении. Во второй части мы рассмотрим то же самое, применительно к случаю многоядерных машин, разберём типичные казусы с производительностью программ, работающих на больших машинах; опишем их симптомы, а также обсудим типичные подходы к диагностике проблем и их классические решения.
</div>
<div id="SwitchingFromTheRelationalToTheGraphModel" class="round post speaker presentation">
<h2>Switching from the relational to the graph model</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
LucaGarulli">Luca Garulli</a>
</h3>
<div class="brick link"><a target="_blank" href="http://www.slideshare.net/lvca/switching-from-relational-to-graph-model-v3">View slides</a></div>
In the last 30 years the Relational DBMS dominated the way to design and manage the persistence of information. Few years ago the NoSQL movement brought alternative approaches to store data. This session will analyze the Graph model and how can be successfully used by people with a Relational skill.
</div>
<div id="JRubyProgrammersBestFriendOnJVM" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>JRuby - Programmer's Best Friend on JVM</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
RaimondsSimanovskis">Raimonds Simanovskis</a>
</h3>
<div class="brick link"><a target="_blank" href="http://www.slideshare.net/rsim/jruby-programmers-best-friend-on-jvm-15415342">View slides</a></div>
Ruby is popular dynamic, open source programming language with a focus on simplicity and programmer's productivity. Ruby has many different implementations and one of the best implementations is JRuby on JVM platform.
This presentation will start with overview of most interesting Ruby programming language features and then will show JRuby and Java integration capabilities (as well as integration with other JVM languages). JRuby programs can reuse existing Java libraries and applications as well as JRuby can be used by other Java applications as embedded scripting language. Web applications can be created much faster with popular Ruby on Rails framework and then can be deployed on standard Java application servers. JRuby can be used also for testing other Java or web applications as well as for build and deployment automation tasks.
JRuby core team is working closely with JVM development team and latest JRuby release is utilising new JVM 7 improvements (like invokedynamics) to achieve even better performance.
</div>
<div id="PragmaticContinuousDelivery" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Pragmatic Continuous Delivery</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
MirkoAdari">Mirko Adari</a>
</h3>
When you send a package through FedEx it goes through a tracked, automated process that makes sure that the package arrives promptly at the destination. The same should apply to every commit that you check into the trunk. Continuous delivery describes how this process can be made fully automated and transparent and we will show you how your commits can be “fedexed” to production on application servers like JBoss, Tomcat, Weblogic and others with the help from Jenkins and LiveRebel.
The main idea of continuous delivery is the deployment pipeline. Every commit that enters the pipeline should go through automated integration and testing and if successful, produce a release candidate. We will show how Jenkins can be used to orchestrate the process all the way to the staging environment.
Once we’re there, the most complicated phase begins. The release candidate needs to be deployed to production, without disrupting the users or introducing risks. LiveRebel makes production updates quick, automated, non-disruptive and reversible. It finishes the job and delivers the updated version right into the users hands.
</div>
<div id="ContinuousDelivery" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Continuous Delivery</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
AndrzejGrzesik">Andrzej Grzesik</a>
</h3>
<div class="brick link"><a target="_blank" href="http://www.slideshare.net/ags313/continuous-delivery-15455553">View slides</a></div>
I hate computers!
But when properly handled, they are not that bad and I can go cycling.
I would like to share theory and experiences which allowed me to accomplish that by properly taking care of the environments.
Literalily, what I did so that "production" was not scary, "deploys" didn't cause panic, why I don't have to care, whether my last project was more a 1000 or 1500 releases. And more. I would like to speak about the basics, mixing in examples from "real life" where applicable. Naming (open source) tools and pointing where manual gluing was necessary.
</div>
<div id="GentleIntroductionToApacheTomEEAJavaEE6WebProfiledTomcat" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Gentle introduction to Apache TomEE - a Java EE 6 Web Profile'd Tomcat</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
JacekLaskowski">Jacek Laskowski</a>
</h3>
<div class="brick link"><a target="_blank" href="http://www.slideshare.net/jaceklaskowski/apache-tomcat-java-ee-apache-tomee">View slides</a></div>
It nearly impossible to imagine a Java EE landscape without Apache Tomcat - one of the many application servers supporting Java EE 6 web applications. It's neat and very lightweight platform for web applications of any kind. Some would warmly welcome the other features of a full-blown Java EE 6 application server - CDI, EJB, perhaps JMS. Rather than composing your application server yourself, give TomEE a try!
In this presentation you'll know what the Java EE Web Profile offers and how little it takes to learn TomEE when you're familiar with Tomcat.
</div>
<div id="DevelopingModularApplicationsWithJavaEE6AndEnterpriseOSGi" class="round post speaker presentation">
<div class="moar"><div>Read more</div></div>
<h2>Developing modular applications with Java EE 6 and Enterprise OSGi</h2>
<h3>by
<a href="http://rigadevday.lv/2012/speakers.html#
JacekLaskowski">Jacek Laskowski</a>
</h3>
<div class="brick link"><a target="_blank" href="http://www.slideshare.net/jaceklaskowski/developing-modular-applications-with-java-ee-6-and-enterprise-osgi-websphere-v85-liberty-profile">View slides</a></div>
Developing modular application is not an easy task. Java as an
object-oriented language helps a lot, yet it introduces its own
shortcomings - the well-known jar hell problem, no versioning or hot
redeployment support, and a lot of boilerplate code. We need a
framework. With OSGi Java modular development becomes manageable. For
many, it'd rather be Spring Framework or Guice. What about enterprise
development with transaction and security aspects? Could we combine
the features of OSGi, Spring Framework/Guice and Java EE? Sure! That's
Enterprise OSGi!
This session starts with a brief overview of Enterprise OSGi and how
it converges with Java EE. It then walks through the development of a
simple OSGi Application up to the point where the final result is up
and running on WebSphere V8.5 Liberty Profile.
Brief set of slides and live coding should make the learning curve flattened.
</div>
</div>
<div class="four columns">
<div class="sidebar">
<div class="subtitle" >Organized by:</div>
<div class="space"></div>
<a target="_blank" class="organized_by_logo" href="http://www.oracle.com/"><img src="http://dmi3.net/jdr2012/img/oracle.png" width="250"/></a>
<div class="space"></div>
<a target="_blank" class="organized_by_logo" href="http://www.jug.lv/"><img src="http://dmi3.net/jdr2012/img/jug.png" width="234"/></a>
<div class="space"></div>
<!-- <script charset="utf-8" src="http://widgets.twimg.com/j/2/widget.js"></script>
<script>
new TWTR.Widget({
version: 2,
type: 'search',
search: 'jdayriga12',
interval: 30000,
title: '',
subject: '#jdayriga12',
width: 'auto',
height: 300,
theme: {
shell: {
background: '#a1a1a1',
color: '#ffffff'
},
tweets: {
background: '#ffffff',
color: '#444444',
links: '#1985b5'
}
},
features: {
scrollbar: false,
loop: true,
live: true,
behavior: 'default'
}
}).render().start();
</script>
-->
</div>
<div class="round post spo_nso_rs centered">
<h2>Event Sponsors:</h2>
<a target="_blank" href="http://www.ctco.lv/">
<img src="http://dmi3.net/jug/sponsors/ctco_logo.png">
</a>
<a target="_blank" href="http://www.4financegroup.com/">
<img src="http://dmi3.net/jug/sponsors/4finance.png">
</a>
<a target="_blank" href="http://www.rubylight.com/">
<img src="http://dmi3.net/jug/sponsors/rubylight_logo.png">
</a>
<a target="_blank" href="http://odnoklassniki.ru/">
<img src="img/odnoklassniki.png">
</a>
<div class="clear"></div>
<br/>
<h2>Media Sponsors:</h2>
<a target="_blank" href="http://skillsmatter.com/">
<img src="img/skills-matter.jpg">
</a>
<div class="clear"></div>
</div>
</div>
</div>
<div class="row">
<div class="twelve columns">
<div class="footer">
© Java Day Riga 2012
</div>
</div>
</div>
</section>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://rigadevday.lv/2012/js/scripts.js"></script>
<!-- Social Widget Rendering Javascript /-->
<script src="http://platform.twitter.com/widgets.js"></script>
<script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
<script src="//platform.linkedin.com/in.js" type="text/javascript"></script>
<!-- End Social Widget Rendering Javascript /-->
<!-- Stats /-->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33133879-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>