Zobrazují se příspěvky se štítkemProgramování. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemProgramování. Zobrazit všechny příspěvky
sobota 9. prosince 2017
pondělí 7. srpna 2017
Vývoj na VM v Azure - má to smysl a nebo ne?

Nováček by si tak jen na pár kliků na Azure portálu vytvořil svoji instanci, nastavil potřebné přihlašovací údaje a mohl tak prakticky ihned začít pracovat.
středa 19. července 2017
StreamReader nebo ReadAll
čtvrtek 22. června 2017
Funkcionální programování podruhé
- z prvního řádku je nutné získat seznam sloupců
- z následujících pak
- získat seznam hodnot název sloupce - hodnota
- jeden ze sloupců obsahuje primární klíč, duplicitní řádky tedy musíme vyloučit
úterý 20. června 2017
Zmatky v práci s AD
Active Directory je Microsoftí implementace adresářových služeb LDAP. A jak je MS dobrým zvykem, pokud chce programátor s touto službou spolupracovat, může si vybrat hned z několika možností.
Ty se navíc liší výkonem a možnostmi, takže je zkrátka asi nejlepší vědět a znát všechny - vždy mne překvapuje, jak i firma velikosti MS nedokáže dotáhnout některé věci k použitelnému stavu.
Ty se navíc liší výkonem a možnostmi, takže je zkrátka asi nejlepší vědět a znát všechny - vždy mne překvapuje, jak i firma velikosti MS nedokáže dotáhnout některé věci k použitelnému stavu.
sobota 17. června 2017
Funkcionální programování
V poslední době jsem začal více využívat ve svém kódu principy funkcionálního programování. Zčásti to začalo použitím vzoru Maybe, ale rozvinul jsem to dále a zkušenost to byla tak dobrá, že se o ní podělím.
Hned na začátek pro ty, co mají přístup ke kurzům na pluralsight, uvádím odkaz na dobrý kurz, který vše pěkně dopodrobna vysvětluje - Applying Functional Principles in C# od Vladimira Khorikova.
Tento pán má i své vlastní stránky a dostupná je i knihovna s níže popsanými třídami.
Tento pán má i své vlastní stránky a dostupná je i knihovna s níže popsanými třídami.
neděle 25. září 2016
Konfigurace metody
Postupy zmíněné v článcích o konfiguračních souborech - zde a zde - jsem využil a udělal jsem si knihovnu pro vytvoření objektu a jeho naplnění hodnotami z konfigurace. Nicméně při sepisování požadavků jsem narazil na problém, že předání všech možných kombinací nastavení do objektu, respektive metody) by vedlo k mnoha přetížením dané metody a celkově obtížnější orientaci v kódu (používám Code Analysis a tedy nejde jen tak použít nepovinné parametry, metoda se musí přetížit).
čtvrtek 15. září 2016
Pár tipů pro práci s Visual Studiem - Cops and Resources
Pokud píšete kód a používáte pro jeho kontrolu jak Code Analysis (aka FxCop), tak i StyleCop, tak vás jejich hlášky, samozřejmě v závislosti na zapnutých pravidlech, dokáží někdy dovést k šílenství, či alespoň k jeho okraji. Zejména pokud neprochází i vygenerovaný kód, a to i v případech, že se o něj postaraly knihovny a nástroje od firmy Microsoft.
úterý 9. srpna 2016
Načtení objektu z konfiguračního souboru - 2
Nedávno jsem zde popsal způsob, jak snadno načíst hodnoty z konfiguračního souboru do objektu v případě, že se použije appSettings a název klíče odpovídá názvu vlastnosti třídy. Někdy ale existuje požadavek vyjádřit konfiguraci více klasicky, tedy pomocí xml. I když :NET framework poskytuje způsob, jak xml z konfiguračního souboru převést na objekt, je tato možnost dle mého názoru krkolomná a lze to i jednodušeji.
neděle 31. července 2016
Poznámky z code review - čekací smyčky
Někdy je potřeba provést operaci, která může déle trvat. Navíc v případě, že se tato operace provádí delší než maximálně očekávanou dobu, je pak obvykle nutné provést nějakou další operaci - například prodloužit "zámek" nad vzkazem ve frontě apod. Obvykle se tedy spustí čekací smyčka, která hlídá nepřekročení časového limitu a je zrušena po úspěšném provedení hlavní operace.
pondělí 20. června 2016
Načtení objektu z konfiguračního souboru
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.
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ů

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átek 5. února 2016
Uspěli byste na pohovoru? Podruhé...
Jednou za čas přibíráme do týmu nové lidi - což znamená hodně pohovorů s uchazeči. Jak jsem už napsal tady, tak spíše upřednostňuji rozhovor nad kouskem kódu - přitom se nejedná o žádné záludnosti. Uchazeč dostává také za úkol něco malého naprogramovat - jen je trochu potíž najít to správné zadání. Úkol by neměl být úplně triviální, ale zase nemůže být těžký. Většina lidí je navíc nervozní, ať již více čí méně a i to je třeba zohlednit. Takže následující úloha se může v případě, že si ji čtete doma, v klidu, jevit jako velmi jednoduchá, možná až primitivní.
Monitor pro vývojáře

pondělí 1. února 2016
Visual Studio 2015 - deset zajímavých rozšíření

Visual Studio je v nové verzi 2015 zase o kousek dokonalejší než předchozí verze. Ale samozřejmě není naprosto dokonalé a tak při své práci pořád používám nějaká rozšíření. Pokud možno bezplatné - šetří se všude a tak koupě licence nějakého ryze komerčního produktu často není možná. Takže tady je seznam deseti rozšíření, která mám nainstalována.
Přihlásit se k odběru:
Příspěvky (Atom)