Záznam ze Vzdělávacího okénka HAVIT z 12. června 2025.
Ukázka implementace (POC) vytěžování dokumentů pomocí moderních AI technik. Kombinace Azure Document Intelligence (s výstupem do Markdown) a LLM (OpenAI GPT-4o) pro efektivní vytěžování netriviálních dokumentů (zde přijatých faktur i s energetickými přílohami).
Category Archives: Speaking
Blazor performance – záznam a slides [TechEd Praha 2025]
Záznam z přednášky pro konferenci TechEd Praha 2025, kde jsem ukazoval některé zajímavé aspekty výkonnosti Blazor (WebAssembly) aplikací.
Slides
Novinky v C# 12, 13 a 14 (.NET 8, 9 a 10) – záznam [TechEd Praha 2025]
Záznam z přednášky pro konferenci TechEd Praha 2025, kde jsem ukazoval novinky v C# 13 v .NET 9 (společně s hlavními novinkami z předchozí verze C# 12 v .NET 8 a ochutnávkou chystaných novinek v C# 14 v .net 10).
FluentValidations vs Today [HAVIT Vzdělávací okénko, 5.6.2025]
Záznam ze Vzdělávacího miniokénka HAVIT z 5. června 2025, kde jsem ukazoval past FluentValidation validátorů, které se registrují do dependency-injection jako scoped-service a definice pravidel vznikají při volání konstruktoru (tj. v Blazor WebAssembly jednou).
OpenAPI + Scalar UI [Alexandr Hájek, Vzdělávací okénko, 22.5.2025]
Záznam ze Vzdělávacího (mini)okénka HAVIT z 22. května 2025. Alex ukazoval Scalar UI jako alternativu k Swagger UI.
Web Accessibility a EAA [Michal Melena, Vzdělávací okénko, 15.5.2025]
Záznam Vzdělávacího okénka HAVIT z 15. května 2025, kdy nám Michal Melena povídal o Accessibility a aktuálních povinnostech webových aplikací v této oblasti.
Seedy, UoW a Created v HAVIT stacku [Robert Haken, Vzdělávací okénko, 15.5.2025]
Technická změna v seedech, kde se nyní používá Unit of Work. Není potřeba explicitně nastavovat Created atribut, protože se o to postará systém. Taktéž je vhodné použít ExcludeUpdate, aby se Created hodnota nepřepisovala.
Tipy a triky pro mobilní vývoj na webu [Dominik Crha, Vzdělávací okénko, 10.4.2025]
Znáte v CSS funkci clamp()? To a další triky z vývoje webů pro mobilní zařízení nám ukázal Dominik. Záznam ze Vzdělávacího okénka HAVIT z 10. dubna 2025.
Blazor – past cyklu for s RenderFragment [Vzdělávací okénko, 24.4.2025]
Představení problému s cyklem for v Blazoru, kde se při použití s RenderFragment může objevit poslední hodnota řídící proměnné. Je potřeba řídící proměnnou vykopírovat do lokální proměnné nebo se jí vyhnout cyklem foreach.
Exception types – kdy který použít [Vzdělávací okénko, 10.4.2025]
NotImplementedException– výhradně během vývoje jako TODONullReferenceException– nikdy nevyhrazujeme explicitně, výhradně vyhazováno runtimemNotSupportedException– explicitně indikujeme, že o use-case víme, ale není řešenInvalidOperationException– „nemělo by v produkci nastat“, chyba vývoje (nesprávné volání ,switchnad nečekanou hodnotouenum, …)ArgumentNullException,ArgumentOutOfRangeException– výhradně přímé argumenty (nearg1.Property != null)ArgumentException– obecný problém s argumentem/-y (bližší specifikace vMessage)ContractFailedException– default proContract.Requires(cond),Contract.Assert(cond), …Exception– nedoporučuje se vyhazovat, mělo být spíšeabstract, použijte potomkyOperationFailedException– indikace chyby do UI (specficiké pro Havit.Blazor stack)ApplicationException– deprecated
Záznam ze Vzdělávacího okénka HAVIT z 10. dubna 2025.