V poslední době jsem narazil na pár projektů, kde jsou konfigurační hodnoty zapsány ve formátu, kterému pracovně říkám "flat". Programátor nepoužil některou z obvyklých technik, ale místo toho v klíči elementu v appSettings zachycuje částečně strukturu objektu a třídy a poté určuje její hodnotu v atributu value.
pondělí 20. června 2016
středa 15. června 2016
Unit testy bez mockování
Při testování lze občas narazit na situace, kdy je napsání unit testů běžně zažitým způsobem nemožné a nejde použít ani mockování. Například proto, že v kódu je použita uzavřená (sealed) třída, která ani neimplementuje žádné rozhraní. To je například případ některých tříd pro přístup k datům na Azure, ale i mnoho dalších. I přesto se dá ale unit test napsat.
pondělí 11. dubna 2016
Linq a pracovní pohovor
Zjišťovat znalosti Linqu u pracovního pohovoru může být obtížné - s Linqem se asi setkal každý C# programátor, ale vždy záleží, do jaké hloubky se s touto technologií seznámil a jestli je si vědom některých záludností - a to nemusí být až tak snadné zjistit.
pátek 8. dubna 2016
Linq - k čemu použít Aggregate
K jednomu z předchozích článků, ve kterém jsem dal k dispozici cheatsheet pro Linq, se mne jeden známý zeptal, k čemu že je dobrý Aggregate - vždy si zatím vystačil například se Sum, Count či Average.
Nejlépe se vysvětluje na příkladě a zabrousím do oblasti hudebních alb: máme řetězec obsahující seznam délek jednotlivých skladeb a chceme získate celkový čas alba.
středa 16. března 2016
Příklad na pohovor s programátorem - hotovost v pokladně
Na blogu jsem uveřejnil několik příkladů z pohovorů s uchazeči o místo programátora. Dovolím si tedy uveřejnit jeden z dalších možných příkladů, se kterým se lze setkat - na předešlé příspěvky jsem dostal emailem poměrně dost reakcí a překvapilo mne, že poměrně hodně lidí považuje příklady za jednoduché. Těžko to soudit, ale z mých několikaletých zkušeností ze zadávání podobných úkolů zvládne zadání implentovat méně než třetina kandidátů - a zcela uspokojivých jsou pak tak jedno až dvě řešení z deseti. Ono v poklidu u pracovního stolu vše vypadá jinak.
středa 10. února 2016
Vícevláknové zabíjení draků
Jeden z nejlepších průvodců základy vícevláknového programování pro mne byl a vlastně pořád je web od Josepha Albahari na adrese http://www.albahari.com/threading/.Stručný a jasný popis, navíc ke stažení jako pdf, i když napsaný před mnoha lety, tak pořád aktuální. A může být něco ještě lepšího?
pondělí 8. února 2016
LINQ - cheat sheet
LINQ je na jednu stranu jednoduchý prostředek pro práci s kolekcemi, na druhou stranu je velmi mocný a dovoluje jednoduše vyjádřit operace, které by jinak vyžadovali složitější zápis ve smyčkách. Nehledě na možnosti, které přináší při práci s data v databázích a datových souborech.
Přihlásit se k odběru:
Příspěvky (Atom)