Jedním z hlavních důvodů, proč jsem chtěl jet na konferenci GOTO 2013 do Amsterdamu, byly přednášky Erika Meijera. Byly celkem tři a týkaly se "strojového učení" (neboli machine learning), budoucnosti databází a lightning talk o funkcionálním programování.
GOTO 2013 Amsterdam - Legacy Systems
| 3 comments | conference, legacy
Když se řekne "legacy code", asi se vám vybaví dost netechnické pojmy: Hnůj, špagety, případně roztoky proměnlivé hustoty vyúsťující z různých tělesných otvorů. Starý kód je po technické stránce téměř vždy problém, protože je těžké mu rozumět a změny mohou mít nezamýšlené vedlejší efekty. Jenže je tu i jiný pohled: Starý kód je užitečný, má klienty a vydělává peníze. Už jen fakt, že přežil tak dlouho, je známka toho, že ho někdo potřebuje. Ať se nám to líbí nebo ne, ten starý hnusný kód bez testů je úspěšný kód. A o tom byl track "Legacy & Big Systems" na konferenci GOTO 2013 Amsterdam, kam jsem se podíval díky Vendavu.
GOTO 2013 Amsterdam - Big Data a NoSQL
| 1 comments | BigData, conference, NoSQL
Na konci června jsem se díky Vendavu podíval do Amsterdamu na konferenci GOTO 2013, zřejmě jako jediný z Česko-Slovenska. Díky tomu jsem měl příležitost osobně potkat lidi, jejichž knížky čtu a které považuju za superstar mezi programátory.
Jak v javě strukturovat testy velkých tříd
| 0 comments | JUnit, TDD
Pro každou třídu typicky existuje jedna testovací třída. Tento klasický pattern má ale nevýhodu, když testujete velkou třídu, která se používá v různých scénářích. Testovací třída pak obsahuje mnoho testů, setup různých situací vyžaduje ještě další metody navíc. Pokud mají vaše testovací třídy mnoho metod, měli byste se zamyslet, jak je lépe strukturovat.
Co s novým mekbůkem aneb rady pro konvertity
| 3 comments | Mac
Dnes je to přesně rok, co jsem v mém novém zaměstnání ve Vendavu rozbalil krabici s novým MacBook Pro a stal se po letech s Windows spokojenou apple ovcí. Nikdy jsem toho nelitoval, i když se mi občas zastesklo po některých okenních vychytávkách. Pro zrádce a renegáty jako jsem já tu mám pár tipů, jak si ulehčit nový začátek.
Jak udělat kráter Meteorem
| 0 comments | Fun, JavaScript, Meteor
Meteor je moc príma hračka, která dost zjednodušuje vývoj webových aplikací. Zatím se hodí jen na prototyping a na pokusy na lidech, ale ambice autorů jsou vysoké a držím jim palce. Zkuste si to taky, je to jednoduché a zábavné!
Jak správně pojmenovat test
| 12 comments | clean code, TDD
Na názvu testu záleží! Může se to zdát jako nepodstatná banalita, ale není. Správná metoda pojmenovávání testů zlepší čitelnost testů a pomáhá psát čistší kód. Názvy vašich testů prozrazují, jaký máte přístup k testování.
TDD Outside-in v Ostravě
| 6 comments | TDD
Předevčírem jsem na JUG Ostrava mluvil o unit testech a test-driven vývoji. Na rozdíl od WebExpa jsme měli víc času, a tak jsem se dostal i k tomu, proč nejsou unit testy dobré k odhalování chyb, co vám unit testy říkají o testovaném kódu a v čem je jejich nejsilnější stránka.
Odkazy k přednášce o TDD Outside-in
| 1 comments |
Pokud vás zaujala moje přednáška na WebExpu, mám pro vás několik tipů, kde hledat další informace.
Jak na integrační testy s databází
| 4 comments | TDD
Nejlepší integrační test je žádný integrační test. Jenže na okrajích našeho systému, tam kde naše aplikace komunikuje s ostatními aplikacemi, je integrační test potřeba. A nebo pracujeme s hnusným starým kódem, ze kterého je těžké odstranit závislosti na databázi a nemáme čas to předělávat. A protože nejčastější případ je integrační test s databází, mám pro vás pár zkušeností, které se osvědčily.
Jak zjednodušit testy s buildery testovacích dat
| 2 comments | TDD
Dlouhý a nepřehledný setup může zabít vaše testy. Čím delší setup, tím hůř se test čte a tím víc je náchylný na rozbití při nesouvisejících změnách. Buildery testovacích dat jsou užitečná pomůcka, která pomáhá setup testu zjednodušit.
TDD as if You Meant It
| 5 comments | TDD
Tento přístup k TDD se pokouší být jakýmsi "pravým" TDD, které se vrací ke kořenům. Začal ho propagovat (alespoň pokud je mi známo) Keith Braithwaite na různých konferencích (třeba zde) a já jsem se s ním poprvé seznámil na Code Retreat v Berlíně. Z nějakého důvodu se tato technika na Code Retreatech často praktikuje, zřejmě proto, že má potenciál dostat z komfortní zóny i člověka, který pravidelně praktikuje TDD a donutit ho myslet jinak, než je zvyklý.
TDD Outside-in
| 3 comments | Design, TDD
Moje oblíbená technika psaní unit testů je začít zvenku, od toho, jak se bude vaše třída volat. Je to jako kdyby jste navrhovali veřejnou knihovnu – chcete aby měla rozumné rozhraní a šla dobře používat. Tento přístup klade důraz na návrh tříd a jejich spolupráce. Implementace je až druhořadá záležitost, protože jde vždycky změnit, pokud nebude vyhovovat např. výkonnostně. V dnešním článku bych vám chtěl na příkladu Langtonova mravence ukázat, jak to funguje a jaké má tento přístup výhody a nevýhody.
Jak jsem prováděl pokusy na lidech
| 0 comments | Humanoids
V naší firmě probíhá pravidelně každého půl roku programátorský test. O smyslu takového počínání by bylo nepochybně možné pochybovat, nicméně letos na jaře vyšla příprava zadání na mě, takže jsem se mimořádně místo remcání soustředil na to, jak připravit zajímavou úlohu, která by mým drahým kolegům přinesla kromě obvyklého bodového hodnocení také nějaký hraniční zážitek.
ASP.NET MVC na FIM UHK J6 v rámci OWE
| 2 comments | MVC
Aneb zkratek není nikdy dost:-) Ale vážně, v pondělí 20. února budu mít přednášku o ASP.NET MVC na Univerzitě v Hradci Králové. Probereme čím se liší MVC od klasického přístupu tvorby webových stránek, základy ASP.NET MVC a jak v něm psát hezký testovatelný kód. Ukážeme si také některé nástroje, které podporují Test Driven Development v C#. Přednáška je otevřená pro veřejnost a začíná v 8:15 v místnosti J6, vchod zde: http://www.mapy.cz/s/35ae
Video a slajdy už jsou na webu!