9. ročník konference JavaDays, která proběhne 12. až 13. listopadu 2024.
Konference je určena Java vývojářům, programátorům a všem, co se o Javu a související technologie zajímají.
Java se neustále vyvíjí, poslední LTS verze vyšla před rokem (v21) a již další bude již za rok (v25). V této přednášce se zaměříme na aktuální stav Java platformy a podíváme se na virtuální vlákna, která vyšla již před rokem, ale mezitím přibyla jejich podpora například do Springu.
OpenTelemetry je nastupující průmyslový standard pro sbírání, přenášení a zpracovávání logů, metrik a sledování požadavků v různých jazycích, ne jen v Javě. V Javě máme Micrometer na metriky, SLF4J na logy, ale celkově je celý ekosystém dost fragmentovaný a každý poskytovatel monitorovacích aplikací (Splunk, Elastic, Prometheus, ...) musí znovu hodně implementovat. Pojďme se podívat, co všechno OpenTelemetry obnáší, co můžeme získat využitím OpenTelemetry v javové aplikaci, proč se může hodit standardní data formát, a jak na něj reagují monitorovací aplikace.
Zajímá vás, jak fungují moderní služby pro streamování videa, a jaký je jejich historický vývoj? Kromě těchto témat vás čeká i praktická ukázka streamování videa na zařízení s Androidem.
V přednášce si vysvětlíme, jak nasadit model vytvořený společností OpenAI do prostředí Azure. Budeme se zejména věnovat aspektům nasazení modelů ve firemním prostředí s ohledem na bezpečnost. Uvidíte napojení na vlastní data s využitím služby Azure AI Search. Dále se budeme věnovat OpenAI REST API a knihovně pro programovací jazyk Java.
Chcete postavit systém, který vám neumožní zneužít data uživatelů (ani kdybyste chtěli)? Jak šifrovat jako profík, ochránit uživatele a zajistit, že vám za to zaplatí? A jak při tom nepomáhat padouchům? Tohle všechno a ještě víc vám ukáže programátor pro programátory. Přijďte zjistit, jak na chytře řešené zabezpečení.
Cože? Prezentace o kolekcích? Vždyť to jsou úplné základy, které každý zná… Ne, nechci vám vysvětlovat rozdíl mezi kolekcemi typu ArrayList a LinkedList. Ale chtěl bych ukázat, jaké kolekce vlastně v Javě máme, a podívat se na ně z pohledu performance, vláknové bezpečnosti a dalších specifik, která možná nemusí být na první pohled patrná.
Společně se naučíme pracovat s Vaadinem - frameworkem, který za nás obstará responsivní webové rozhraní, aniž bychom museli psát řádek v Javascriptu nebo CSS. Ukážeme si, jak vytvořit webovou aplikaci s Vaadinem na frontendu a Spring Bootem na backendu. Prozkoumáme Vaadin Flow a vyzkoušíme jeho komponenty pro vytvoření stránky, která bude zobrazovat a filtrovat databázová data. A to vše v čisté Javě :).
V době moderního přístupu k vývoji software a tlaku na rychlé nasazování do produkce používáme řadu podpůrných technik a nástrojů, jako např. agilní vývoj, DevOps, CI/CD apod. A uvědomujeme si, že základním klíčem k úspěchu jsou automatizované testy. Pojďme se podívat na pár triků, tipů a doporučených postupů, jak navrhovat a psát kvalitní a udržovatelné jednotkové i integrační testy, které nám opravdu pomůžou a nebudou nám působit bolehlav při každé změně nebo refaktorování našeho kódu.
Zachycování změn je technologie, která umožňuje zachytit změny v databázi a proměnit je v proudy událostí. Seznámíme se s CDC a dozvíme se, jak pomáhá při synchronizaci dat, aktualizacích v reálném čase a implementaci různých vzorů mikroslužeb. Debezium - pokročilé open-source řešení CDC - bude během této přednášky naším vybraným nástrojem a prozkoumáme různé způsoby, jak jej lze k dosažení těchto cílů použít.
Vývoj softwaru v malém SaaS startupu má svá specifika. Je potřeba skloubit několik neslučitelných věcí: Chceme rychlý agilní vývoj. Výsledek musí být kvalitně udělaný, aby nás nedoháněly technické dluhy. Zadání se stále mění. Musíme být připraveni na škálování systému. Nemůžeme si dovolit přepisovat. Každá chyba v návrhu zabolí. Vše je potřeba udělat co nejlevněji. Jde to? Kde dělat kompromisy a kde ne? Na této přednášce budu mluvit o své zkušenosti v mém startupu. Jaká úskalí jsem musel řešit? Na co si dát pozor. Podíváme se na to z pohledu architektuty, Java backendu, frontendu, databáze a infrastruktury.
Domain Driven Design (DDD) je s námi již cca. 20 let a jeho prvky používáme všichni, aniž bychom o tom nutně věděli. Ve Springu vznikl projekt Spring Modulith, který má za cíl vývojářům pomoci s tvorbou modulárních aplikací postavených na DDD principech a tento projekt bych zde rád představil (spolu se základy DDD).
Pro JVM již programuji hodně dlouho. Viděl jsem spoustu konferencí a Java programátorů a tuším, co je zajímá či co potřebují. V posledních pár letech jsem se však často setkával i s jinými programátory. Funkcionálními. Funkcionální programátoři jsou jiní. Přemýšlí jinak. Dělají věci jinak a Javou spíše opovrhují. Mají pro to důvod a nebo jen káží vodu a pijí víno? Měl jsem dost příležitostí je sledovat a přemýšlet o tom. Myslím, že jim již rozumím. Koneckonců kdo chce s vlky žíti.... V dnešní přednášce vám ten funkcionální svět přiblížím a zbavím všech tajemství.
Co by měl znát a dodržovat dobrý programátor? Před 10 lety to bylo jasné – Java, OOP, pravidla z knihy Clean Code, Design Patterns. Ale jak vypadají best practices a know-how profesionálního vývojáře dnes? Na přednášce se podíváme, co z osvědčených zásad a principů Clean Code je stále relevantní, která pravidla v čase dozrála a získala na důležitosti a co už dnes možná ztrácí na významu. Dozvíte se, jak pravidla z Clean Code souvisí s fungováním našeho mozku (podle knihy The Programmer’s Brain od Felienne Hermans) a jak psát kód, který bude pro náš mozek srozumitelnější. Ukážeme si, proč je Copilot efektivnější v lépe napsaném kódu. Probereme jak posun od Objektového programování více funkcionálnímu přístupu usnadňuje práci, i když píšete v běžném OOP jazyce. V poslední části pak lehce zavadíme o datově orientované programování a podíváme se, jak v TypeScriptu využít typové možnosti, které Java nebo Kotlin nenabízí.
Java Flight Recorder je nástroj dříve vyvíjený pro jRockit JVM, který se v Java 11 stal součástí OpenJDK a nyní je běžně dostupný ve všech distribucích. V přednášce si prakticky ukážeme, k jakým úlohám jej můžeme využít, a jaká data nám tento nástroj poskytuje. Uvidíte, že JFR nám dokáže do značné míry nahradit MXBeans, a také si zpřístupníme data formou Prometheus metrik. Projdeme si společně různé možnosti jeho spuštění a provozu. Změříme si jeho dopady na výkon systému a možná dojde i na ukázku některých nástrojů, které na něj navazují.
There are weird things in life. Even weirder for developers... "It should work!"... What you see is NOT what you get... There's a bug, a feature, a workaround... Upozornění: při vytváření této přednášky nebyla zraněna žádná kočka ani kocour. Prosím, nehlaste to Pražskému Spolku Ochránců Zvířat…
Přijďte si poslechnout, jak v České spořitelně budujeme nové digitální bankovnictví George Business pro naše firemní zákazníky. Tento ambiciózní projekt jsme realizujeme na zelené louce v cloudu, což nám umožnilo využít nejnovější dostupné technologie a inovace. V rámci této prezentace se podělím o naše zkušenosti, které jsme nabyli při spolupráci s kolegy uvnitř naší banky, ale i s naší mateřskou společností Erste. Dozvíte se, jak jsme využili moderní technologie k vytvoření robustního a uživatelsky přívětivého bankovního řešení, které podporuje transformaci uvnitř České spořitelny. Připojte se k nám a zjistěte, jak jsme přistoupili k vývoji od základů, jaké technologie jsme zvolili a jak jsme se vypořádali s integrací a spoluprací v rámci mezinárodní bankovní skupiny.