Konference JavaDays 2017 se těší nevšednímu zájmu vývojářů

Dnes a zítra probíhá v Praze již druhý ročník konference věnované speciálně platformě Java. Jedná se o jedinečnou dvoudenní akci, která je největší událostí svého druhu u nás.
Konferenci slavnostně zahájil Jan Dvořák (foto), výkonný ředitel Počítačové školy Gopas


a Kamil Ševeček (foto)dlouholetý programátor a expert v oblasti Javy a Spring Frameworku.


Kamil Ševeček také představil další přednášející:

S Javou v oblacích – Martin Chmelař
Prezentace představuje služby společnosti Oracle, určené pro agilní vývoj a provoz JEE aplikací v cloudu. Seznámí vás nejen s cloudovou implementací aplikačního serveru WebLogic v prostředí Oracle Java Cloud Service, ale také s problematikou DevOps. Pro oblast DevOps zde budou představeny možnosti, které nabízí služba Oracle Developer Cloud, která je integrovanou součástí Java cloudu. Důraz je kladen zejména na oblast týmového vývoje (GIT), správu agilních projektů, issue tracking, continuous integration a deployment (Maven, Jenkins).

Agile – Zuzana Šochová
Ačkoli konkrétní implementace agilních metod se v jednotlivých organizacích či týmech bude výrazně lišit, patterny, kterými se řídí, jsou univerzální a jdou úspěšně použít v jakémkoli prostředí. Úspěšné nasazení procesu není skryto v samotné metodice, ale musí odpovídat s firemní kultuře. To je něco, co část agilní komunity již zapomněla a většina firem možná ani nikdy nepochopila. Neexistuje žádná přesná kuchařka jak nasadit agilní metody, ale existují určité lepší a snadnější způsoby, jaktoho dosáhnout. A také ty, kterým byste se měli raději vyhnout. Jak tedy na to? Poslechněte si příběh, jak takový proces nasazení agilních metod obvykle vypadá.

Novinky v Java 9 – Jiří Pinkas
Hlavním magnetem Java 9 je Project Jigsaw, který přináší modularitu do JVM. Prakticky se podíváme co to znamená pro Java vývojáře. Java 9 ale není zdaleka jenom o Jigsaw, obsahuje také hromadu drobných vylepšení, které Vám zjednoduší práci. A na ty se podíváme také 🙂

JetBrains MPS: Create a programming language that the whole company can understand (EN) | Oscar Rodriguez
This talk is about the solution that building a domain specific language (DSL) can bring. The problem that many companies are facing right now is not being able to communicate with their system efficiently. Using the language workbench JetBrains MPS, you can create powerful DSLs. I will show how the development of a software product is done today and examples of DSLs improving the whole process. We will analyze the situations for when building a DSL add value and when not.

Single page aplikace – Milan Lempera , Víťa Plšek
Co by o single page aplikacích měl javista vědět – rozbor čím se liší od serverově orientovaných frameworků používaných v javě, jak frontend a backend komunikují, jaké jsou trendy.

GraalVM update – Štěpán Šindelář
GraalVM je vícejazyčný virtuální stroj vyvíjený v Oracle Labs. GraalVM umožňuje běh a kombinování různých programovacích jazyků na JVM bez kompromisů ve výkonosti díky frameworku Truffle a kompilátoru Graal. To ale není všechno. Součástí GraalVM je nyní i nástroj SubstrateVM, který umožňuje ahead-of-time kompilaci Javy nebo třeba Kotlinu do standardního samostatného spustitelného souboru. Zajímalo by vás, jak HotSpot optimalizuje váš Java kód pomocí dynamické kompilace? Během pohledu na vnitřní fungování GraalVM si ukážeme i její základní principy.

Kotlin – Leoš Přikryl
Java se bohužel nevyvíjí tak rychle, jak by si mnozí vývojáři přáli a v konkurenci moderních programovacích jazyků působí poněkud zastarale a neohrabaně. Je ale škoda vzdát se léty ověřeného a dobře fungujícího ekosystému. Jedna z možností, jak se s touto situací vypořádat, je Kotlin. Kotlin je moderní programovací jazyk plně interoperabilní s Javou. Oproti Javě přináší mnohá vylepšení, známá z jiných programovacích jazyků (null safety, properties, extensions, …), zároveň ale umožňuje využití existujícího Java kódu a knihoven. Kotlin byl letos uznán oficiálním jazykem pro Android, ale stejně dobře lze použít i na dalších platformách. Podrobněji si ukážeme použití Kotlinu se Spring frameworkem.

NuoDB – databáze, která škáluje – Jiří Činčura
Všichni dneska mluví o škálování, cloudu atp. Jedna věc se ale potichu ignoruje. Relační databáze. Klasické relační databáze to ve světě škálování nemají jednoduché. Ale přesto to není nemožné. NuoDB se snaží všechny tyto nedostatky překlenout. Je řešením i pro vás?

Návrh a implementace spolehlivých asynchronních systémů – Petr Adámek
Asynchronní způsob komunikace (messaging) umožňuje vytvářet robustnější a lépe škálovatelné systémy než při použití synchronních API. Zároveň však přináší nové typy více či méně zjevných problémů a komplikací. Pojďme se spolu podívat na výhody a nevýhody tohoto přístupu a ukázat si, na jaké záludnosti bychom si měli dát pozor a jaké jsou optimální postupy pro návrh a implementaci spolehlivých systémů, které budou plně těžit z výhod asynchronní komunikace.

Monitorovanie Spring aplikácií – Ivan Macalák
Témou mojej prednášky je monitorovanie Spring aplikácií. Prečo práve Spring aplikácie? Hlavným dôvodom je skvelá podpora vývoja natívnych cloudových aplikácií Spring Frameworkom so zabudovanou podporou pre monitorovanie, ktoré je nutnou podmienkou ak uvažujeme o systéme s distribuovanou architektúrou a chceme takýto systém aj dlhodobo prevádzkovať. Takýmito architektúrami sú architektúry SOA, EDA a v neposlednom rade Microservices. Spomenieme základné všeobecné princípy, ukážeme si možnosti konfigurácie monitorovania, integrácie s monitorovacími platformami a rozoberieme požiadavky na monitorovanie pre rôzne role na projekte.

Proč Python? – Jiří Činčura
Python je příjemný programovací a skriptovací jazyk se širokou podporou platforem. Představím vám Python z pohledu mainstream vývojáře, jeho koncepty a scénáře a kde jej můžete využít. Běžné programy zvládnete napsat hned po přednášce.

Spring Boot pod kapotou – Kamil Ševeček
Spring Boot je velice populární projekt, který vrací snadnost založení a spouštění do webového vývoje v Javě. Jednoduše na stránce start.spring.io zaklikáme technologie, které chceme v našem projektu využívat a máme předpřipravený projekt. Snadnost ale neznamená jednoduchost. Spring Boot staví novou vrstvu abstrakce nad Spring Frameworkem, Spring MVC, Servlety, Tomcatem a Hibernatem/JPA. Pojďme se podívat, jak Spring Boot funguje doopravdy. Jak funguje @Conditional a web starter. Jaké triky má Spring Boot v rukávu.

Firebird – malá, lehká, výkonná databáze – Jiří Činčura
Firebird – databáze, kterou neznáte a přesto ji chcete Oracle, MS SQL Server, IBM DB2 atp. Velké databázové engine, které pravděpodobně používáte. Ale co když chcete „jen“ pořádnou relační databázi, s minimálním usilím na instalaci a údržbu a zároveň léty prověřeného. Firebird může být odpověď. Představím vám databázový engine Firebird, jeho silné, a také unikátní stránky, a jak jej nejlépe využít.

OpenCV a Java – Pavel Jetenský
Prakticky zaměřená přednáška, kde projdeme algoritmy a metody počítačového vidění, nahlížené optikou úloh, které potřebujeme vyřešit. Cílem není naučit se tyto postupy hned naprogramovat, ale rozpoznat, která metoda je pro danou situaci vhodná. Projdeme úlohy pro segmentaci pozadí a hledaného objektu, přípravu naskenovaného dokumentu před aplikací OCR (oříznutí, threasholing), dobře se seznámíme s algoritmem redukce barev založeným na k-means clusteringu. Dozvíme se o alternativních barevných modelech LAB, HSV a jejich výhodách proti tradičnímu RGB modelu.

Pasti a pastičky při práci s datem a časem v Javě – Petr Adámek
Datum a čas patří mezi nejkomplikovanější typy údajů, s nimiž běžně v našich aplikacích musíme pracovat. Různé kalendáře, časové zóny, letní versus zimní čas, přestupné roky, přestupné sekundy, historické anomálie a další nepravidelnosti přinášejí řadu problémů, s nimiž se musíme vyrovnat.
Java 8 konečně přinesla rozumné API pro práci s datem a časem, které práci vývojáře výrazně zjednodušuje, což ale neznamená, že na výše uvedené aspekty nemusíme myslet.
Pojďme si společně ukázat některé ze záludností, které nás mohou potkat. Podíváme se na jednotlivé datové typy pro reprezentaci času a na jejich limity, na vzájemné konverze a kde může nečekaně dojít ke ztrátě informace i na interoperabilitu se starým java.util.Date a odvozenými třídami z balíku java.sql. Nezapomeneme ani na databáze, takže si ukážeme jak pracovat s java.time třídami v JDBC 4.2, jak si poradit se staršími JDBC ovladači a na co si obecně při ukládání data a času do databáze dát pozor. A na závěr si řekneme, jaké jsou alternativy k java.time a kdy je vhodné je použít.

JavaScript a spol. pro Java vývojáře – Jaroslav Tulach
Cítíte se jako zkušený Java vývojář znalý Springu, JavaEE, OSGi, JavaFX nebo třeba Swingu? Všiml jste si, že se o těchto technologiích již nemluví tak často jako dříve? Jste zvědav, co se skrývá za frikulínskými projekty jako Angular.js, React.js, node.js, Ruby on Rails, Python? Má vůbec smysl se o ně zajímat, když nás zajímá hlavně Java? A nebo se rozhodujete zda-li Javu a její virtuální stroj opustit a vydat do neprobádaných končin jiných alternativ? To rozhodně nemusíte. My se totiž domníváme, že existuje vzájemná synergie, jež využije stabilitu a vyspělost Javy a skříží ji s nejlepšími nápady přicházejícími z dynamických jazyků.
Pojďme si projít historii vztahů Javy a JavaScriptu. Pojďme se podívat na příklady jejich vzájemného propojení – od prvních nesmělých pokusů až ke GraalVM – alternativní JVM z dílny OracleLabs schopné spouštět Javu, JavaScript, Ruby, R a další dynamické jazyky tak rychle, jako nikdo jiný. Ukažme si jak jednoduché je přidávat nové jazyky a jejich technologie do existujících aplikací a dělat to krůček po krůčku. Sun Microsystems se řídil heslem „Inovace se dějí kdekoli“ – nechte nás předvést, že JVM a celá Java jsou stále skvělým místem, kde lze úspěšně inovovat.

Novinky v JUnit 5 – Jan Žídek
JUnit 5 vyšel v září 2017, je hodně „překopaný“ a obsahuje spoustu zajímavých věcí. Pojďme se spolu podívat na novinky v živém kódu.Architektura JUnit je rozdělena do mnoha artefaktů, aby byla možná snadnější integrace s jinými tooly a snadnější implementace rozšíření nad JUnit. Změněné anotace + přidané některé nové. Meta-anotace a composed anotace k vytváření vlastní (projektové závislé) sémantiky unit testů. Display Names: Testy je možné pojmenovat také obyčejným jazykem, nejenom jmény metod. Assertions nově také pomocí lambda výrazů. Assumptions nově také pomocí lambda výrazů. Zcela nový způsob testování exceptions – je možné přesně určit, kde je exception očekávána a je možné vyhozenou exception dále zkoumat a assertovat. Tagging a filtering: tagy přidávají sémantiku, dají se snáze vyhledávat, seskupovat a spouštět pouze vybrané testy. Nested tests: pomáhají srozumitelně hierarchicky uspořádat testy. Parametry testů pomocí dependency injection. Vestavěná podpora opakování téhož testu na množině dat. JUnit 5 poskytuje extension points – mechanismus pomocí něhož můžete snadno vytvářet vlastní „mini-frameworky“. Snadná koexistence JUnit 4 a JUnit 5 testů v jednom projektu pomocí package junit-vintage-engine.

Odserverujte se s lambdou – Petr Ferschmann
Přednáška o praktických zkušenostech s provozem serverless platformy postavené na AWS Lambda. O tom na co se hodí, jak nám to funguje a kdy se naopak nehodí.

Referenční architektura pro Internet věcí – Štěpán Bechynský
Na většině projektech, na kterých pracujeme, využíváme základní referenční architekturu, která je použitelná nejen u řešení využívajících Microsoft Azure. Tato architektura samozřejmě nefunguje na 100% projektů, ale je to velmi dobrý výchozí bod pro IoT řešení. Na začátku přednášky se budeme věnovat zejména teorii referenční architektury a na konci uvidíte praktickou ukázku implementace.

Konference probíhá v prostorách moderního multikina Premiere Cinemas v Praze Hostivaři a účastní se jí přes 400 expertů z řad české Java komunity.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close