Robert Haken's Avatar

Robert Haken

@haken.dev.bsky.social

Software & Cloud Architect, Founder at HAVIT, Microsoft MVP: Development Technologies. HAVIT Blazor Bootstrap maintainer.

37 Followers  |  63 Following  |  31 Posts  |  Joined: 15.11.2024  |  1.7374

Latest posts by haken.dev on Bluesky

Blazor – EditForm a submit tlačítko mimo něj [Vzdělávací okénko, 20.11.2025] Záznam z (mini) Vzdělávacího okénka HAVIT, kde jsem ukazoval, jak se vypořádat s umístěním submit HxSubmit tlačítka mimo formulář (EditForm).

Blazor – EditForm a submit tlačítko mimo něj [Vzdělávací okénko, 20.11.2025]

Záznam z (mini) Vzdělávacího okénka HAVIT, kde jsem ukazoval, jak se vypořádat s umístěním submit HxSubmit tlačítka mimo formulář (EditForm).

25.11.2025 00:39 — 👍 0    🔁 0    💬 0    📌 0
EF Core 10 [Jiří Kanda, Vzdělávací okénko, 6.11.2025] Záznam ze Vzdělávacího okénka HAVIT z 6. listopadu 2025. Jirka nám ukazoval, co je nového v Entity Framework Core 10, co se hodí pro naše projekty a jak nyní funguje IN operátor (Contains()) a jeho bucketizace parametrů.

EF Core 10 [Jiří Kanda, Vzdělávací okénko, 6.11.2025]

Záznam ze Vzdělávacího okénka HAVIT z 6. listopadu 2025. Jirka nám ukazoval, co je nového v Entity Framework Core 10, co se hodí pro naše projekty a jak nyní funguje IN operátor (Contains()) a jeho bucketizace parametrů.

20.11.2025 15:10 — 👍 0    🔁 0    💬 0    📌 0
Post image

NET Conf Keynote Watch Party
úterý 11. listopadu, 17:00
Microsoft Praha, Brumlovka
...a potom 🍺🥩🍺🥩🍺!
www.wug.cz/praha/akce/1...

10.11.2025 09:07 — 👍 0    🔁 0    💬 0    📌 0
PDF v .NET pomocí PDFSharp/MigraDoc [T. Wagner, Z. Hlinka, Vzdělávací okénko, 2.10.2025] Záznam ze Vzdělávacího okénka z 2. října 2025. Tomáš a Zdeněk ukazovali bezplatné knihovny pro tvorbu PDF z .NET - PDFSharp a jeho nadstavbu MigraDoc.

PDF v .NET pomocí PDFSharp/MigraDoc [T. Wagner, Z. Hlinka, Vzdělávací okénko, 2.10.2025]

Záznam ze Vzdělávacího okénka z 2. října 2025. Tomáš a Zdeněk ukazovali bezplatné knihovny pro tvorbu PDF z .NET - PDFSharp a jeho nadstavbu MigraDoc.

20.10.2025 21:25 — 👍 0    🔁 0    💬 0    📌 0
AI generování obrázků (gpt-image-1) [Gabriela Turcajová, Vzdělávací okénko, 9.10.2025] Záznam ze Vzdělávacího okénka HAVIT z 9. října 2025, kde nám Gabriela ukazovala použití gpt-image-1` AI modelu pro generování fotek, konkrétně generování pravděpodobné podoby dítěte na základě fotek rodičů.

AI generování obrázků (gpt-image-1) [Gabriela Turcajová, Vzdělávací okénko, 9.10.2025]

Záznam ze Vzdělávacího okénka HAVIT z 9. října 2025, kde nám Gabriela ukazovala použití gpt-image-1` AI modelu pro generování fotek, konkrétně generování pravděpodobné podoby dítěte na základě fotek rodičů.

13.10.2025 22:06 — 👍 1    🔁 0    💬 1    📌 0
Vytěžování dokumentů – Azure AI Content Understanding [Robert Haken, Vzdělávací okénko 25.9.2025] Záznam ze Vzdělávacího okénka HAVIT z 25. září 2025, kde jsem ukazoval třetí způsob AI-vytěžování dokumentů - prostřednictvím all-in-one cloudové služby Azure AI Content Understanding.

Vytěžování dokumentů – Azure AI Content Understanding [Robert Haken, Vzdělávací okénko 25.9.2025]

Záznam ze Vzdělávacího okénka HAVIT z 25. září 2025, kde jsem ukazoval třetí způsob AI-vytěžování dokumentů - prostřednictvím all-in-one cloudové služby Azure AI Content Understanding.

02.10.2025 14:21 — 👍 0    🔁 0    💬 0    📌 0
AI vytěžování dokumentů: GPT Vision [Robert Haken, Vzdělávací okénko, 11.9.2025] Záznam ze Vzdělávacího okénka HAVIT z 11. září 2025, kde jsem ukazoval specificky techniku vytěžování s pomocí GPT-4o Vision (vstup ve formě bitmapových obrázků přímo předávaných LLM, bez mezipřistání v Markdown).

AI vytěžování dokumentů: GPT Vision [Robert Haken, Vzdělávací okénko, 11.9.2025]

Záznam ze Vzdělávacího okénka HAVIT z 11. září 2025, kde jsem ukazoval specificky techniku vytěžování s pomocí GPT-4o Vision (vstup ve formě bitmapových obrázků přímo předávaných LLM, bez mezipřistání v Markdown).

02.10.2025 14:19 — 👍 0    🔁 0    💬 0    📌 0
Novinky v .NET 9 a výhled na .NET 10 – záznam a slides [Robert Haken, WUG Days Brno 9/2025] Záznam z přednášky pro konferenci WUG Days Brno z 5.9.2025, kde jsem telegraficky představoval novinky z ".NET 9 vlny" a pár přicházejících v ".NET 10 vlně". Slides 2025-09-05 - WUG Days Brno - Novinky .NET 9 a výhled .NET 10 - slidesDownload

Novinky v .NET 9 a výhled na .NET 10 – záznam a slides [Robert Haken, WUG Days Brno 9/2025]

Záznam z přednášky pro konferenci WUG Days Brno z 5.9.2025, kde jsem telegraficky představoval novinky z ".NET 9 vlny" a pár přicházejících v ".NET 10 vlně". Slides 2025-09-05 - WUG Days Brno - Novinky .NET…

11.09.2025 17:40 — 👍 0    🔁 0    💬 0    📌 0
AI vytěžování dokumentů s OpenAI GPT – Markdown / Vision [WUG Days Brno 09/2025] Záznam ze přednášky pro konferenci WUG Days Brno z 4. září 2025. Ukázka dvou implementací (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). OpenAI GPT-4o v režimu Vision pro vytěžování údajů obrázků (fotografií zdravotních zpráv).

AI vytěžování dokumentů s OpenAI GPT – Markdown / Vision [WUG Days Brno 09/2025]

Záznam ze přednášky pro konferenci WUG Days Brno z 4. září 2025. Ukázka dvou implementací (POC) vytěžování dokumentů pomocí moderních AI technik: Kombinace Azure Document Intelligence (s výstupem do Markdown) a LLM…

07.09.2025 20:29 — 👍 0    🔁 0    💬 0    📌 0
AI vytěžování dokumentů s OpenAI GPT [Vzdělávací okénko, 12.6.2025] 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).

AI vytěžování dokumentů s OpenAI GPT [Vzdělávací okénko, 12.6.2025]

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í…

09.07.2025 14:00 — 👍 1    🔁 0    💬 0    📌 0
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 2024-05-22 - TechEd Praha - Blazor performanceDownload

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 2024-05-22 - TechEd Praha - Blazor performanceDownload

09.07.2025 13:57 — 👍 0    🔁 0    💬 0    📌 0
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).

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).

09.07.2025 09:53 — 👍 0    🔁 0    💬 0    📌 0
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).

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…

05.06.2025 21:48 — 👍 0    🔁 0    💬 0    📌 0

Thank you ‪@retropipes.org‬ for sponsoring us! 💕

01.06.2025 23:09 — 👍 1    🔁 0    💬 0    📌 0
WASM: AggregateException_ctor_DefaultMessage (Could not resolve type with token …) Narazili jsme po instalaci .NET 9 SDK 9.0.204 (a nepomohl ani 9.0.300) na zajímavou chybu published Blazor WebAssembly front-endů (browser console výstup, front-end nenabíhá): ManagedError: AggregateException_ctor_DefaultMessage (Could not resolve type with token 01000024 from typeref (expected class 'System.Reflection.Assembly' in assembly 'netstandard, Version=2.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51')) at an (dotnet.runtime.5nhp1wfg9b.js:3:26894) at Kt.resolve_or_reject (dotnet.runtime.5nhp1wfg9b.js:3:26449) at dotnet.runtime.5nhp1wfg9b.js:3:172714 at dotnet.runtime.5nhp1wfg9b.js:3:172778 at fr (dotnet.runtime.5nhp1wfg9b.js:3:35046) at Fc (dotnet.runtime.5nhp1wfg9b.js:3:172361) at dotnet.native.swgexbmoy7.wasm:0x1f1a4 at dotnet.native.swgexbmoy7.wasm:0x1c8ae at dotnet.native.swgexbmoy7.wasm:0xea19 at dotnet.native.swgexbmoy7.wasm:0x1ec88…

WASM: AggregateException_ctor_DefaultMessage (Could not resolve type with token …)

Narazili jsme po instalaci .NET 9 SDK 9.0.204 (a nepomohl ani 9.0.300) na zajímavou chybu published Blazor WebAssembly front-endů (browser console výstup, front-end nenabíhá): ManagedError:…

28.05.2025 11:31 — 👍 0    🔁 0    💬 0    📌 0
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.

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.

25.05.2025 23:26 — 👍 0    🔁 0    💬 0    📌 0
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.

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.

23.05.2025 14:02 — 👍 0    🔁 0    💬 0    📌 0
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.

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…

15.05.2025 15:02 — 👍 0    🔁 0    💬 0    📌 0
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.

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.

28.04.2025 09:57 — 👍 0    🔁 0    💬 0    📌 0
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.

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.

24.04.2025 14:56 — 👍 0    🔁 0    💬 0    📌 0
Exception types – kdy který použít [Vzdělávací okénko, 10.4.2025] NotImplementedException - výhradně během vývoje jako TODO NullReferenceException - nikdy nevyhrazujeme explicitně, výhradně vyhazováno runtimem NotSupportedException - explicitně indikujeme, že o use-case víme, ale není řešen InvalidOperationException - "nemělo by v produkci nastat", chyba vývoje (nesprávné volání , switch nad nečekanou hodnotou enum, …) ArgumentNullException, ArgumentOutOfRangeException - výhradně přímé argumenty (ne arg1.Property != null) ArgumentException - obecný problém s argumentem/-y (bližší specifikace v…

Exception types – kdy který použít [Vzdělávací okénko, 10.4.2025]

NotImplementedException - výhradně během vývoje jako TODO NullReferenceException - nikdy nevyhrazujeme explicitně, výhradně vyhazováno runtimem NotSupportedException - explicitně indikujeme, že o use-case víme, ale není řešen…

10.04.2025 14:07 — 👍 0    🔁 0    💬 0    📌 0
Blazor – Proč nepoužívat parametry v OnInitialized [Vzdělávací okénko, 3.4.2025] V tomto videu se podíváme na důležitý technický detail v Blazoru, který představil – proč by se v metodě OnInitialized popř. OnInitializedAsync neměly používat parametry. Ukážeme si na příkladu konkrétního problému, který může nastat, když komponenta nezmění instanci při změně routy a parametr zůstane se starou hodnotou. Dozvíš se: Jak funguje lifecycle metoda OnInitialized v Blazoru Proč je nevhodné používat…

Blazor – Proč nepoužívat parametry v OnInitialized [Vzdělávací okénko, 3.4.2025]

V tomto videu se podíváme na důležitý technický detail v Blazoru, který představil – proč by se v metodě OnInitialized popř. OnInitializedAsync neměly používat parametry. Ukážeme si na příkladu konkrétního problému,…

03.04.2025 15:01 — 👍 0    🔁 0    💬 0    📌 0
YAML Pipelines – Azure DevOps [Jiří Kanda, Vzdělávací okénko, 27.3.2025] V tomto videu se dozvíte vše o našich nových YAML pipelines v Azure DevOps, které prezentuje Jiří Kanda. Jirka vysvětluje, proč jsme se rozhodli přejít na YAML pipelines a jaké výhody nám to přináší. Specifika našich buildů a důvody pro změnu na YAML pipelines. Výhody YAML pipelines, jako jsou lepší parametrizace a paralelizace. Základní syntaxe YAML a struktura YAML pipelines.

YAML Pipelines – Azure DevOps [Jiří Kanda, Vzdělávací okénko, 27.3.2025]

V tomto videu se dozvíte vše o našich nových YAML pipelines v Azure DevOps, které prezentuje Jiří Kanda. Jirka vysvětluje, proč jsme se rozhodli přejít na YAML pipelines a jaké výhody nám to přináší. Specifika našich buildů a…

31.03.2025 15:17 — 👍 0    🔁 0    💬 0    📌 0
await foo?.DoAsync() [Vzdělávací okénko, 20.3.2025] Krátce o pasti zápisu await foo?.DoAsync(), kdy použití null-conditional accessu vede na await null a NullReferenceException.

await foo?.DoAsync() [Vzdělávací okénko, 20.3.2025]

Krátce o pasti zápisu await foo?.DoAsync(), kdy použití null-conditional accessu vede na await null a NullReferenceException.

31.03.2025 15:13 — 👍 0    🔁 0    💬 0    📌 0
Blazor ValueExpression binding a validace – záznam [Vzdělávací okénko, 13.3.2025] Tentokrát o ValueExpression parametrech v Blazoru a potřebě jejich správného použití pro fungování validací. Záznam ze Vzdělávacího okénka HAVIT z 13. března 2025. Zkoušíme zpestřit novým formátem mini-okének, kde se budou objevovat ad-hoc témata v řádu 2-10 minut.

Blazor ValueExpression binding a validace – záznam [Vzdělávací okénko, 13.3.2025]

Tentokrát o ValueExpression parametrech v Blazoru a potřebě jejich správného použití pro fungování validací. Záznam ze Vzdělávacího okénka HAVIT z 13. března 2025. Zkoušíme zpestřit novým formátem mini-okének, kde se…

31.03.2025 15:11 — 👍 0    🔁 0    💬 0    📌 0
spot art.
Photo of presenter(s).
text reads: ASP.NET Community Standup - What's new for Blazor in .NET 10 Preview 2

spot art. Photo of presenter(s). text reads: ASP.NET Community Standup - What's new for Blazor in .NET 10 Preview 2

What to know what's new for Blazor in .NET 10 Preview 2?

@DanRoth27 and Javier Calvarro Nelson have got you covered in today's #ASPNET Community Standup replay. 🎥 https://msft.it/63322qyh1i
#dotNET

14.03.2025 19:21 — 👍 15    🔁 3    💬 0    📌 0

Ten pocit™️, když po letech zjistíte, že "PR build" není "build branche, nad kterou je PR", ale "build virtuálního commitu, jak by to bývalo bylo dopadlo, kdyby se provedl merge".
...jinak zatímco další commit do PR triggeruje nový build, tak další commit do masteru ne (default).

14.03.2025 15:53 — 👍 0    🔁 0    💬 0    📌 0
Novinky v .NET 9 a výhled na .NET 10 – záznam a slides [Robert Haken, WUG Dev Day, 28.2.2025] Záznam ze Vzdělávacího okénka HAVIT z 28. února 2025, kde jsem telegraficky představoval novinky z ".NET 9 vlny" a přicházející v ".NET 10 vlně". Slides 2025-02-28 - WUG Dev Day - Novinky v .NET 9 a výhled na .NET 10 - SlidesDownload

Novinky v .NET 9 a výhled na .NET 10 – záznam a slides [Robert Haken, WUG Dev Day, 28.2.2025]

Záznam ze Vzdělávacího okénka HAVIT z 28. února 2025, kde jsem telegraficky představoval novinky z ".NET 9 vlny" a přicházející v ".NET 10 vlně". Slides 2025-02-28 - WUG Dev Day - Novinky v .NET 9 a…

28.02.2025 13:32 — 👍 1    🔁 0    💬 0    📌 0
I[Async]Enumerable [Jiří Kanda, Vzdělávací okénko, 31.10.2024] Záznam ze Vzdělávacího okénka HAVIT z 31. října 2024, kde Jiří Kanda povídal o IEnumerable interface a jeho asynchronní verzi IAsyncEnumerable.

I[Async]Enumerable [Jiří Kanda, Vzdělávací okénko, 31.10.2024]

Záznam ze Vzdělávacího okénka HAVIT z 31. října 2024, kde Jiří Kanda povídal o IEnumerable interface a jeho asynchronní verzi IAsyncEnumerable.

07.01.2025 00:40 — 👍 1    🔁 0    💬 0    📌 0
HAVIT Blazor | Free Bootstrap 5 components for Blazor

🚀 HAVIT Blazor v4.7.3 is out!

🔧 Fixes & updates:

HxInputDate - Fixed floating labels
HxSidebar - Collapsed content visibility & animation fixes
HxGrid - Better docs for data identity

✨ Premium:

Drag-and-drop list (new)
Improved range slider (perf)

havit.blazor.eu

04.12.2024 00:53 — 👍 0    🔁 0    💬 0    📌 0

@haken.dev is following 20 prominent accounts