Lepší bindování kolekcí v ASP.NET MVC

Výchozí model-binder v ASP.NET MVC se nechová v případě kolekcí vždy tak intuitivně, jak bychom předpokládali. Naštěstí máme ale k dispozici dost extension-pointů, kterými můžeme výchozí chování jednoduše upravit tak, jak nám vyhovuje. Rád bych nejprve ukázal přirozenější způsob bindování polí, a dále pak bindování Dictionaries.
Celý příspěvek

Atributy jsou zlo

Atributy v C# (v ostatních jazycích známé např. jako anotace) považuju ve většině případů za zlo, protože porušují SRP – třída pak dělá více než musí – navíc si s sebou nese metadata. Na první pohled vypadají atributy jako super věc, ale snadno můžete narazit na situaci, kdy se vám vymstí mít všechno na jedné hromadě – a pak budete litovat, že používáte atributy.
Celý příspěvek

Dependency Injection a Lazy Loading

Pokud vám název článku něco připomíná, nemýlíte se – nechal jsem se inspirovat článkem Davida Grudla, na nějž bylo mnoho zajímavých reakcí. Ano, i v PHP komunitě se řeší věci jako dependency injection, lazy loading, SOLID nebo čistý kód 🙂
V tomto článku přináším můj pohled na daný problém a popíšu elegantní způsob řešení v .NETu. Nechci polemizovat s Davidem ani porovnávat jeho řešení s mým – jeho článek berte prosím jen jako inspiraci, které mě vedla k sepsání tohoto článku.
Celý příspěvek

Architektura škálovatelných aplikací

Je to už nějaký pátek, co se zajímám o vzor CQRS (Command Query Responsibility Segragation), který nachází uplatnění především u dvou typů aplikací, které ale nejsou tak časté – velmi komplexní aplikace (díky CQRS se lze lépe vypořádat s komplexitou) a velmi velké a/nebo vytížené aplikace (které potřebují škálovat). Ačkoliv se takto může zdát znalost CQRS pro běžného programátora zbytečná (ne každý je Google), je s CQRS spjato mnoho velmi zajímavých konceptů, které mohou nalézt uplatnění i u běžných aplikací. Proto jsem se rozhodl sepsat z mého hlediska to nejzajímavější, co mě CQRS naučilo.
Celý příspěvek

Jak na widgety v ASP.NET MVC

Už několikrát jsem dostal otázku, jak udělat v ASP.NET MVC „widgety“, tedy „komponenty“, které jsou někde na okraji každé stránky. Slyšel jsem názory, že ASP.NET WebForms jsou mnohem více nakloněny komponentovému vývoji (souhlasím) a tak je vývoj takových komponentových udělátek ve WebForms mnohem jednodušší než v MVC – s tím si ale dovolím nesouhlasit. Aby byl člověk schopen napsat kvalitní komponentu ve WebForms, tak je nutné tento framework znát velmi zevrubně. A v ASP.NET MVC je to úplně stejné – pokud znáte MVC dobře, tak dokážete i v MVC pohodlně napsat widgetový systém. Mé řešení vám ukáži v tomto článku.
Celý příspěvek

Pojďte pracovat do AVASTu!

AVAST is hiring! Pokud chcete pracovat ve firmě, jejíž produkt má více než 130 miliónů uživatelů, ale máte strach, aby Vás nesešrotoval velký moloch, pak práce v AVASTu může být to pravé. Žádný dress-code, žádný open-space, žádný „manager“, který Vám bude stát s bičem za zády a diktovat nesmyslné požadavky nebo Vám vyčítat, že jste věnovali hodinu sebevzdělávání (třeba formou čtení Augiho blogu ;-)).
Každá mince má ale dvě strany, takže relativní svoboda v práci je vyvážena požadavkem na samostatnost, smysl pro pořádek a schopnost sebemotivace.
Celý příspěvek