Spring, JSP a IndexOutOfBoundsException

Po nějaké době praxe řešíte většinu problému rutinně, metodou kouknu a vidím. Občas je to ovšem zásek, se kterým na první pohled netušíte, jak pohnout. Tohle je jeden z takových. Měli jsme JSP formulář, který fungoval rok bez chyby. Renderoval se v pořádku, ale binding začal házet IndexOutOfBoundsException. Ale přitom na modelu byl field…

Spring, REST a e-mail jako parametr

Denně jako vývojáři řešíme jeden problém za druhým. O většině si nejspíš myslíte, že nestojí za samostatný článek na blog (což není pravda). Mezi takové, které jsem odsunul do pozadí, by patřil i tento, pokud by se ovšem na to samém nepozastavil i kolega. Jde o to, že když používáte Spring spolu s RESTovým url […]

Verzování a minifikace skriptů

Už jste někdy opravili chybu tak, že jste odbyli testery nebo dokonce samotné uživatele se slovy „refrešni si browser“, „vymaž si cache“… ? To je výmluva na úrovni: můj domácí úkol mi sežral pes. Jistě, můžete přejmenovávat soubory nebo adresáře. Kdo by to ovšem dělal, že? Nehledě na možné zavlečení chyby. Ukáži vám způsob, jak […]

Proč mít na projektu junior programátory

V článku jak ze začátečníka vychovat dobrého programátora jste se mnou souhlasili v tom, že je dobré mít v týmu junior programátory. Chtěl bych tuto myšlenku podpořit citátem z knihy Ohnivá brána (Steven Pressfield). Jedná se o románové zpracování příběhu Bitvy u Thermopyl a v podstatě jde o beletristické podaní toho, co jsem se snažil napsat v…

Co se firmy můžou přiučit od armády

Na vojně jsem nebyl, protože se mě už povinná vojenská služba naštěstí netýkala. Ale Československé lidové armádě, respektive její přímé následovnici, bych se vyhýbal, jak by to jen šlo. Na druhou stranu uvažuji o vstupu do Aktivních záloh AČR, ale to je na jiné povídání. Ovšem to nic nemění na tom, že válečnictví je staré […]

Otázky u pohovoru

Jsou firmy, kde vás u pohovoru budou dusit na logaritmické složitosti (ještě bych to tak chápal upřijímacího pohovoru do Googlu) a to jen proto, aby vás pak mohli posadit k aplikaci prošpikované SQL injection. Guido psal o tom, jak dělá pohovor on. Kromě toho, že budete vyžadovat dodržování Listiny základních programátorských práv, bych se chtěl…

Validátor rodných čísel

Téměř jistě jste se dostali k implementaci formuláře, na kterém se zadává rodné číslo. A jako každý vstup je i tento potřeba validovat. V lepším případě jste nekontrolovali pouze dělitelnost jedenácti, ostatně je to snad již dost profláklé a navíc je formát rodného čísla podrobně popsán na Wikipedii.Z diskuse pod článkem Jak přesvědčit, že je…

Jak přesvědčit, že je správné psát testy

Smutné je, že na téma – jak přesvědčit o správnosti psaní testů – mám vůbec příležitost něco napsat. V ideálním světě by unit testy byly nedílnou součástí vývoje software. Bohužel jsou stále vnímány jako agilní a ne všechny týmy a ne všechny projekty unit testování aplikují. Dokonce ani na kritických systémech. Naštěstí je tu dost […]

Listina základních programátorských práv

Můj oblíbený bloger Jeff Atwood vydal sbírků svých nejlepších článků v knize Effective Programming: More Than Writing Code, do které zahrnul i příspěvek The Programmer’s Bill of Rights.Podivuje se nad tím, že firmy platí programátory $60-$100k ročně (v našich podmínkách přibližně 600-1000k Kč) a přitom je mrzačí otřesnými pracovními podmínkami a…

Jak ze začátečníka vychovat dobrého programátora

Rád se obklopuji schopnými lidmi, nejlépe schopnějšími než já, abych se od nich mohl něco přiučit. Než pracovat s někým průměrným, tak to raději do týmu začátečníka, kterého ještě nestačili nikde zprznit. Nemluvě o těch špatných, každý jeden takový totiž vytvoří dvě nová pracovní místa ročně.Nechci psát o tom, jak začátečníky naučit psát kód. Jděte…

Google – přijímací pohovor

Ozvali se mi na lovci hlav z Google. Docela překvapení, měl jsem totiž za to, že nabírají jen doktory z MIT a podobné šarže. Napsali přes LinkedIn, zda mi můžou představit pozice v Googlu. Řekl jsem si, proč ne, přestože jsem četl strip Odvrácená strana G. Následoval krátký pokec po telefonu. V České republice žádný […]

Pověstný člověkoměsíc

Jeff Atwood, autor stackoverflow.com, v jednom svém příspěvku na blogu napsal, že vše co nyní umíte, bude za pět let zastaralé. Na příběhu Alenky v říši divů ilustruje, že když se učíte nové technologie, tak sice běžíte jak jen nejrychleji dovedete, ovšem pouze proto abyste zůstali na místě. Pokud se někam chcete posunout, musíte číst […]

Rozlišujte prostředí

Tentokrát jeden tip z řady triviálních, nicméně ďábel je skrytý v detailech. Najděte deset rozdílů. Tak dobře, rozdíl je pouze jeden. Přesto nestalo se vám někdy, že stále refrešujete stránku, už jste restartovali i server, ale změna v kódu ne a ne se projevit? Kolik času přijde vniveč, než si uvědomíte (případně než vám kolega řekne), […]

Nedrátujte konfiguráky do warka

Programátoři bezpochyby trpí syndromem: „Kód, který napsal někdo jiný, stojí za starou belu.“ Nejlepší na učení je sice přečíst tuny lepšího kódu, jenže jako konzultant se spíše utvrzuji v tom, že jedinou metrikou kvality kódu je WTF za minutu. SQL dotazy v JSP? To nic není, co teprv SQL Injection na druhou – klientský JavaScript […]

RuleChain – pořadí JUnit interceptorů

Již dvakrát jsem psal o tom, jak na interceptor JUnit testů. Mojí motivací byly screenshoty Selenium testů, ale jen když selžou. Prvním způsobem je vlastní anotace @AfterFailure, což mimo jiné vyžaduje i vlastní test runner. V pozdější verzi JUnit se objevila třída TestWatchman (již deprecated). Největší nevýhodou bylo, že se volá až po metodě…

Převod WGS 84 do S-JTSK

Co se týče zeměpisných souřadnic, běžný smrtelník ví, že existuje nějaká GPSka. Programátor pracující na českých projektech, které vyžadují práci se zeměpisnými souřadnicemi se určitě setkal se dvěma standardy a to WGS 84 a S-JTSK. Proto některé služby jako například Webdispečink poskytují data v obou standardech. Nicméně někdy potřebujete mezi…