Za necelý měsíc – 14. a 15. listopadu je tu druhý ročník naší Update Conference Prague 2019 – konference, kterou by si žádný .NET vývojář neměl nechat ujít.
Mám z toho ještě větší radost než z ročníku minulého, mimo jiné proto, že se nám konferenci podařilo rozšířit o celodenní workshop věnovaný Domain-Driven Designu, což je velmi zajímavé téma, o kterém se v české .NET komunitě zatím moc nemluvilo.
Na konferenci budete mít možnost potkat několik zajímavých a věhlasných osobností, které možné znáte jako autory knížek nebo kurzů na Pluralsightu, např. Dino Esposito nebo Konrad Kokosa. Mezi přednášejícími je také několik členů z .NET runtime týmu – Mei-Chin Tsai, Jared Parsons nebo Adam Sitnik, a dále několik Regional Directorů – osobností s vynikajícím přehledem napříč celým IT a s přesahy do businessu a leadershipu.
Stejně jako minule jsme se i letos snažili dostat do Prahy především osobnosti, které zde ještě nikdy nepřednášely. Nicméně přednášky některých speakerů z loňska nás natolik zaujaly, že jsme neodolali a pozvali je znovu.
Celá konference je v angličtině, ale nebojte se, pokud nějakou část přednášky nepochytíte – na místě budou stejně jako loni i čeští MVP, se kterými si můžete bez obav popovídat v mateřském jazyce.
A pokud jste minulý ročník nestihnuli, podívejte se na aftermovie nebo na záznamy přednášek, které postupně zveřejňujeme.
Co vás čeká
Konferenci zahájí 13. listopadu Dino Esposito celodenním workshopem s názvem Myths and Facts of DDD. Kapacita workshopu je omezena na 50 míst a už máme skoro vyprodáno, takže pokud máte zájem dozvědět se, jak vyvíjet aplikace pomocí Domain-Driven Designu a udělat si pořádek v myšlenkách, jak může vypadat architektura aplikací, rychle se zaregistrujte.
Samotná konference pak probíhá ve čtvrtek a pátek 14. a 15. listopadu. Stejně jako minulý rok i letos máme 3 paralelní tracky, kde se potkáte s tématy z několika různých oblastí.
.NET runtime
První den zahájí Konrad Kokosa s přednáškou High-performance code design patterns in C#. Pokud jste nečetli jeho knížku Pro .NET Memory Management, určitě si přednášku nenechte ujít – uvidíte Konrada naživo a dozvíte se alespoň část toho, co ve své velmi podrobné a velice zajímavé knížce řeší.
Další přednáškou ze škatulky .NET runtime je Nullability in C# 8.0. Přestože se o tomto tématu mluvilo už dost na jiných konferencích v Česku, rozhodně doporučuji tuto přednášku nevynechat, protože speakerem je Jared Parsons, člověk z C# language design teamu. Na vývoji této novinky se přímo podílel a vzhledem k jeho fundovanému vhledu do toho, jak je non-nullability implementovaná uvnitř, si myslím, že to bude obzvláště zajímavé.
Všichni asi tušíme, co je to JIT kompilace a že se používá v rámci .NET runtime už od jeho prvních verzí. .NET tým ale již velmi dlouho pracuje na ahead-of-time kompilaci a máme to štěstí, že tato funkcionalita se vyvíjí v týmu, který vede Mei-Chin Tsai, takže i zde budete mít informace z první ruky.
Adam Furmanek minulý rok šokoval mnoho účastníků svým extrémně detailním vhledem do problematiky exceptions v .NETu. Pokud máte rádi objevování nižších vrstev runtime, můžete se letos těšit na jeho přednášku Async internals in .NET.
Dalším z členů .NET týmu je i Adam Sitnik, kterého také znáte z minula - můžete se těšit na jeho přednášku o tom, jak diagnostikovat a hledat performance problémy, což je poměrně užitečná a často potřebná dovednost.
Architektura a testování
Pokud máte (stejně jako většina vývojářů) problémy s tím, jak najít čas na psaní testů, můžete svému svědomí ulevit alespoň tak, že si najdete čas na to zajít na přednášky The secret unit testing tools no one ever told you about a Unit testing patterns for concurrent code, které bude mít Dror Helper. Možná vás to navnadí k tomu, abyste testování pár hodin obětovali.
Vědět, co se s vaší aplikací děje, je velmi důležitá, ale bohužel často podceňovaná oblast. .NET Core přinesl několik nových mechanismů a API pro logování a sbírání diagnostických dat, ale ne každý měl příležitost je pořádně prozkoumat a začít používat. Existuje také celá řada nástrojů a knihoven, které vám mohou pomoci. John Callaway vás s těmito nástroji seznámí ve své přednášce se sarkastickým názvem It works on my machine!.
Pokud nemůžete přijít na workshop Dina Esposita, užijte si ho naživo alespoň na přednášce From CRUD to Event Sourcing, kde vám možná nabourá zažité představy o tom, jak se dá používat SQL databáze. A pokud vás zajímá cokoliv o DDD, Event Sourcingu nebo CQRS, určitě si ho během přestávek odchytněte a zeptejte se – je to jeden z nejpovolanějších lidí v této oblasti a umí to velmi pěkně vysvětlit.
Clean architecture je pojem, který se také tak trochu vyhýbá pozornosti na českých komunitních .NET konferencích. Gill Cleeren, kterého znáte z minulého ročníku, vám ukáže, jak tento způsob strukturování ASP.NET Core aplikací funguje a jaké má výhody.
No a konečně posledním ze speakerů v této kategorii, jehož přednáška o Akka.NET byla loni mezi těmi nejlépe hodnocenými, bude Edwin van Wijk. Nenechte si ujít jeho povídání o NATS, což je messaging technologie pro vývoj high-performance event-driven aplikací.
Procesy a Best Practices
Slovo DevOps se stále drží ještě poměrně vysoko na křivce buzzwordů, ale mnoho vývojářských firem už dávno začalo podnikat alespoň nějaké kroky, aby se k DevOps praktikám přiblížilo – jedním příkladem za všechny mohou být třeba automatické buildy a releasy. Přijďte si poslechnout Erwina Staala, který se s vámi podělí o své zkušenosti se zaváděním DevOps z prostředí dánské telekomunikační spolenosti KPN.
Každý už asi slyšel mnoho diskusí o tom, jak je super nasazovat aplikace do produkce automaticky nebo jak skvělé je používat feature branches v Gitu. Všechno je krásné do doby, než někdo řekne “no jo, ale co když se změní schéma databáze?” Odpověď na tuto záludnou otázku získáte na přednášce Don’t forget your database when doing Continuous Delivery, kterou bude mít Wouter de Kort.
Cloud a Azure
Pokud začnete vyvíjet aplikaci pro cloud, brzy narazíte na to, že se aplikace víc a víc rozrůstá, potřebuje mnoho různých služeb a spoléhá na nějakou konfiguraci v Azure portálu. To vše se ještě více zkomplikuje, pokud potřebujete mít více prostředí. Udržovat někde vedle dokumentaci a starat se o to, aby byla kompletní a aktuální, není vůbec jednoduché. Jedním z možných řešení je mít veškerý setup potřebné infrastruktury popsaný ve formě skriptů nebo kódu. Tomuto tématu se bude věnovat přednáška Infrastructure as Code: Azure Resource Manager inside out, kterou udělá Henry Been.
Na přednášce Introduction to Azure Blockchain Services se nebude Paul Swider zabývat těžbou bitcoinů, ale místo toho uvidíte, jak můžete blockchain využít i v praktičtějších scénářích a jak s ním začít v Azure.
Pokud provozujete v produkci nějaké větší a hojně používané API, možná využíváte Azure API Management. Přijďte si poslechnout Elderta Grootenboera – bude vyprávět o svých zkušenostech s touto službou a doporučí, na co si dát pozor.
Azure App Service nedávno přidaly pokročilé možnosti síťování – lze je například zpřístupnit jen uvnitř Azure Virtual Network. Mohamed Wali vám ve své přednášce Demystifying Azure App Service Networking ukáže, jaké máte možnosti a co vše můžete nastavit, aby aplikace běžely bezpečně, izolovaně, a byly přístupné jen tam, kde mají.
Na květnovém Buildu uvedl Microsoft technologii Kubernetes Event-Driven Autoscaling, o které bude mluvit Jakob Ehn. Uvidíte například, jak automaticky škálovat množství podů podle počtu položek ve frontě, jak KEDA napojit na další služby v Azure a mnoho dalšího.
Těm z vás, kteří u svých aplikací potřebujete řešit messaging a máte problém se pořádně zorientovat v tom, které služby v Azure jsou dobré na jaké scénáře, doporučuji navštívit přednášku A Guide Through The Azure Messaging Services, kterou bude mít opět Elder Grootenboer.
Bezpečnost
Oblasti bezpečnosti se bude na Update věnovat několik přednášek, a dvě z nich bude mít Cecilia Wirén ze Švédska – Security features to consider in .NET Core 3.0 a Add more protection with HTTP Security Headers – obě jsou velmi zajímavé pro každého, kdo píše webové aplikace v ASP.NET Core.
Druhý den konference zahájí známý bezpečnostní výzkumník Niels Tanis přednáškou o tom, jaká bezpečnostní rizika plynou z používání knihoven třetích stran, a jak se jim bránit. Nenechte si ujít session s názvem Reducing Third-Party Security Risk in .NET Core Applications.
O tom, že není dobrý nápad mít hesla a secrets přímo ve zdrojovém kódu, a jaké nástroje a postupy využít, aby tato tajemství tajemstvími opravdu zůstala, bude v přednášce Keeping your application secrets private mluvit Henry Been.
AI a machine learning
Posledních několik let nás Microsoft zásobuje ukázkami svých AI služeb a řešení, pravdou ale zůstává, že se s požadavky na alespoň nějakou “inteligenci” aplikací setkáváme stále častěji a i když pustit se do machine learningu naplno je práce na několik let, je určitě dobré tento obor sledovat, aby nám neujel vlak.
Na letošním Update se tedy můžete tešit na motivační přednášku AI for every developer, kde vás Gian Paolo Santopaolo, MVP a Regional Director, provede základy této fascinující oblasti a seznámí vás technologiemi a nástroji, které při své cestě vstříc umělé inteligenci budete potkávat.
Diederik Krols vás naučí používat ML.NET – framework z dílny Microsoftu, který umožňuje vyhodnocovat AI modely v jakékoliv .NET aplikaci, a to i offline a bez nutnosti placení za cloudové služby.
No a pokud se s AI zkamarádíte a začnete ji používat v praxi, budete potřebovat sbírat data o tom, jak váš model funguje, a neustále jej vylepšovat a rozšiřovat sadu trénovacích dat. S tím může pomoci například Azure DevOps, s čímž vás seznámí Ciprian Jichici, další MVP a Regional Director, kterého můžete na Updatu potkat.
Frameworky a knihovny
Weboví vývojáři ocení přednášku Modern Authentication with OpenID Connect, kterou bude mít Martin Ullrich – MVP z Rakouska, kterého jste měli možnost vidět na Update i loni. Dozvíte se, jak implementovat OAuth, jak využívat JWT a bearer tokeny a mnoho dalšího.
Jednou z novinek v .NET Core 3.0 je podpora protokolu gRPC, který se hodí na komunikaci mezi serverovými komponentami a službami. O tomto tématu bude mluvit Édgar Sánchez, který k nám dorazí až z dalekého Ekvádoru, a přidá i svoje postřehy z praxe. Zároveň je velkým milovníkem F# a na Twitteru sliboval, že do přednášky zatáhne i nějaké funkcionální zajímavosti.
Brandona Minnicka si z loňska zcela jistě také pamatujete – na své přednášce o async/await měl sál narvaný až k prasknutí. Letos na první přednášce porovná oblíbené mobilní frameworky (Swift/Java aka nativní vývoj, Xamarin, Flutter a React Native) a na druhé vám představí službu App Center Data, pomocí které můžete snadno vybudovat backend pro mobilní aplikace s úložištěm dat v Cosmos DB.
Oddechovou přednášku pro ty z vás, které zajímá vývoj her, bude mít Dennis Vroegop – nenechte si ujít Unity: make development fun again!, může se hodit, pokud se po večerech nudíte, nebo pokud chcete třeba své starší ratolesti přivést zábavnější formou k programování.
IoT
Pokud máte rádi Edwina van Wijka a líbila se vám loni jeho dvojpřednáška se Sanderem Molenkampem, můžete ho vidět mluvit o Azure IoT Edge – ukáže vám, jak spravovat zařízení na dálku, jak do nich dostat nové verze aplikací a jak psát vlastní IoT Edge moduly pomocí VS Code.
O propojení skutečného a virtuálního světa pomocí Azure IoT Digital Twins bude mluvit Daniel Krzyczkowski. Dozvíte se, jak pomocí senzorů sbírat data a vizualizovat pomocí nich skutečné prostředí nebo předpovídat různé anomálie.
Budoucnost a inspirace
Do programu jsme stejně jako loni zařadili i přednášky, jejichž témata přímo nevyužijete ve své každodenní práci, ale které nám přišly velmi zajímavé i z toho titulu, že se o těchto věcech na českých .NET akcích nemluvilo.
Mark Michaelis, další z řady Regional Directorů, které na Updatu budeme mít, shrne všechny výzvy dnešního technologického světa ve své přednášce The Exponential Technology Revolution.
Loni jsem chtěl v programu nějakou přednášku o kvantových počítačích, ale nikdo ze speakerů, které jsem oslovil, neměl zrovna čas. Letos se zadařilo, a tak si budete moci poslechnout Cipriana Jichici, který se Quantum Computingu věnuje dlouhodobě. Jeho přednášku o QC jsem kdysi viděl a mohu vám slíbit spoustu legrace a mnoho WTF momentů, které ke všemu kvantovému tak nějak patří, protože tam skoro nic nedává smysl.
Hodně neobvyklé téma v naší kotlině pak bude What Traveling a Million Miles has Taught me About Technology, Inclusion and Diversity, kterému se bude věnovat Paul Swider. Je fascinující, v kolika drobných detailech se i velmi podobné kultury mohou lišit, a že to, co je na jednom místě přijatelné nebo se rozumí samo sebou, může být o pár set kilometrů vnímáno úplně jinak. Velkým aha momentem pro mě bylo v poslední době to, že jsem na Twitteru začal odebírat desítky žen, které se pohybují v IT – příběhy o tom, co se jim na denním pořádku děje, pro mě byly naprosto neuvěřitelné a netušil jsem, s čím vším se musí potýkat, přestože jsme v 21. století a pohybujeme se povětšinou v kolektivu vzdělaných a inteligentních lidí. Na tuhle přednášku se dost těším - vždycky mi přišlo hrozně užitečné podívat se na svět optikou někoho jiného, a i pár návštěv MVP Summitu a Ameriky mi dostatečně demonstrovalo fakt, že se jednotlivé pohledy na věci mohou dost dramaticky lišit.
Program konference ještě není úplně finální a je v něm pár volných míst, které postupně doplňujeme, nicméně z nadpisů v tomto článku je vidět, že jsme se snažili, aby si každý v programu našel něco. Pokud vám v programu nějaké téma chybí, dejte nám vědět – nemůžu slíbit, že jej budeme mít letos, ale určitě jej můžeme zahrnout do programu příští rok.
Budu rád, když se s Vámi 14. a 15. listopadu na Update potkám.
Na konferenci se můžete už nyní registrovat na webových stránkách. Studentům a učitelům s platnou ISIC/ITIC kartou nabízíme zvýhodněnou cenu. A pokud byste jako firma měli zájem o větší počet vstupenek, rádi Vám pomůžeme sestavit individuální nabídku.