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
Užitečné události
Události (events) nemusí být jen záležitostí uživatelského rozhraní, ale mohou najít uplatnění i v ostatních částích aplikace, i když pak jsou události jinak technicky provedené.
Celý příspěvek
Co dělat v roce 2012
Díky Vyvojari.sk jsem narazil na zajímavý článek o jedenácti věcech, které by mě dělat každý vývojář v roce 2012. S tím seznamem se dá celkem souhlasit, ale dovolím si komentář a přidám dalších 5 bodů, které by měl bezpodmínečně každý vývojář dělat (na úkor původních jedenácti věcí).
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 jinak na widgety v ASP.NET MVC
V předchozím článku jsem ukázal jednu možnost, jak implementovat v ASP.NET MVC (libovolné verze!) „sidebar widgety“. V tomto článku bych rád ukázal další možnosti realizace widgetů, na které nebyl v předchozím článku prostor. Ale ani tento článek není kompletním výčtem všech možností…
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
Zamyšlení nad NoSQL
NoSQL je buzzword, který je tu s námi téměř už tři roky, přesto je pro mnohé lidi velkou neznámou, případně symbolem vzpoury proti zlým ošklivým přežitým enterprise SQL databázím. Rád bych se s vámi podělil o můj pohled na NoSQL, který je ovlivněn hlavně více než rokem používání Cassandry.
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