Bus faktor v praxi
Bus faktor je číslo, které říká, kolik lidí by muselo odejít, aby to vážně ohrozilo projekt. Slyšel jsem příběh, u kterého jsem osobně nebyl, ale byla by škoda ho neposlat dál. Nejspíš jde o urban legend, takže jakákoliv podobnost s vaší firmou je čistě náhodná.
vložil: Luboš Račanský (23.11.2016)
zařazení: články, blog / styl programování
Clean Code
Zápisky z knihy Clen Code, zamyšlení zda existuje korelace mezi pořádkumilovností a čistým kódem.
vložil: Luboš Račanský (28.7.2016)
zařazení: články, blog / styl programování
Kafemlejnek.TV 13. - Motion capture ve Warhorse Studios
V posledním díle z Warhorse Studios zpovídáme Honzu Zámečníka o nahrávání animovaných scén pomocí motion capture. Animace jsou pro nás, programátory, naprosto španělskou vesnicí, ale o to víc nás rozhovor bavil.Zkraje se bavíme o tom, co to MoCap je a jak se v průběhu času vyvíjel. Jaká jsou jeho úskalí a co jsou vlastně jeho hlavní benefity. Na...
vložil: Jan Novotný (27.7.2016)
zařazení: články, blog / styl programování
Kafemlejnek.TV 11. - o vývoji ve Warhorse Studios
Warhorse studios se proslavili svým úspěchem na Kickstarter s RPG hrou situovanou do doby Václava IV. a začínajícího husitství v Čechách - Kingdom Come: Deliverance. A jelikož jim Forresti dělali nový web, slovo dalo slovo a domluvili jsme natáčení přímo v jejich kancelářích, které jsou v Karlíně od nás, co bys kamenem dohodil.Na úvod jsme...
vložil: Jan Novotný (23.6.2016)
zařazení: články, blog / styl programování
Kafemlejnek.TV 2 - práce na dálku v Puppet Labs
V tomto díle jsme zavítali do kanceláří Puppet Labs v Plzni. Čekali nás tam Michal Růžička, Michal Bryxí, Filip Hrbek, kteří nám pověděli něco o tom, jak v Čechách otvírali první světovou pobočku americké firmy Puppet Labs. Povídali jsme si o tom, jak se vyvíjí Puppet Enterprise a co to vlastně znamená pracovat na dálku pro podobnou společnost.
vložil: Jan Novotný (1.12.2015)
zařazení: články, blog / styl programování
Aliasy databázových tabulek v Ujorm
Článek vysvětluje použití aliasů databázových tabulek v ORM frameworku Ujorm na příkladu měnových kurzů.
vložil: Pavel Ponec (22.9.2015)
zařazení: články, blog / styl programování
Refactoring: HashMapové peklo
Proč je používání map místo pojo objektů špatné? Jak moc? Co se s tím dá dělat?
vložil: David Matějček (2.5.2015)
zařazení: články, blog / java
Hlavní výhoda mikroslužeb
Mikroslužby (microservices) jsou ta nová naprosto nejvíc cool věc. A samozřejmě se najdou kritici, kteří tvrdí, že už to tu dávno bylo, ať už v podobě SOA, OSGi nebo jakékoliv jiné. Navíc se dočtete, že mikroslužby jsou složité, náročné na údržbu, vývoj a koordinaci. Všechno je to nepopiratelně pravda. Mikroslužby mají ale jednu výhodu, která má...
autor: Lukáš Křečan (8.12.2014)
zařazení: články, blog / styl programování
Nedostatky iterativního vývoje
Kdy jste naposledy změnili směr projektu na základě zpětné vazby od zákazníka?Iterativní vývoj je v podstatě jediný způsob vývoje software, který doopravdy funguje. Nicméně i on má svoje mouchy. Chtěl bych jich tu pár popsat. Shrňme si nejdřív krátce co to ten iterativní vývoj je.
autor: Lukáš Křečan (26.11.2014)
zařazení: články, blog / styl programování
Refactoring: Technický dluh
Něco málo o technickém dluhu, proč je nebezpečný a jak se mu bránit. Co se stane, když "splácení" technického dluhu zanedbáte? Jak s technickým dluhem souvisí exponenciální funkce, inflace, bankovní půjčky?
vložil: David Matějček (17.5.2014)
zařazení: články, blog / styl programování
Key-value programování v jazyce Java
Ujorm je knihovna postavená na key-value architektuře doménových objektů, které přistupují ke svým atributům pomocí Klíčů. Na několika krátkých příkladech bych rád demonstroval zajímavé či nové vlastnosti jádra frameworku Ujorm verze 1.45.Obsah:Zápis a čtení hodnotObnovení defaultních hodnotMělká kopie objektuValidace atributů při zápisuKompozitní...
vložil: Pavel Ponec (25.3.2014)
zařazení: články, blog / styl programování
Druhá obtížná věc
Také máte občas pocit, že vám kód přerůstá přes hlavu? Snažíte se dlouhé hodiny najít chybu a pak zjistíte, že ji máte celou dobu před očima? Nevím, jestli se těmto situacím dá vyhnout, ale hodně mi pomohlo, když jsem přestal kašlat na názvy proměnných.
vložil: Dominik Moštěk (4.2.2014)
zařazení: odkazy / styl programování
Proč psát unit test dříve než implementaci
O TDD toho bylo napsáno již hodně, ale v tomto směru není nikdy dost. Krátkou obhajoba TDD na blogu AspectWorks.
vložil: Dominik Moštěk (9.12.2013)
zařazení: odkazy / styl programování
Jsou překlepy zadarmo?
Jsem puntičkář a perfekcionista a vím o tom. Vidím překlepy a mám tendenci je opravovat. Kromě toho, že mi vadí, tak nás podle mého názoru stojí i reálné peníze. Nevěříte?
autor: Pavel Pola (7.10.2013)
zařazení: články, blog / styl programování
Clean Code – seznam pravidel a doporučení
Výběr těch nejdůležitějších myšlenek a pravidel nejen z knihy Clean Code.
vložil: Michal Pávek (17.9.2013)
zařazení: články, blog / styl programování
Demo aplikace pro Ujorm a Wicket
Knihovna Ujorm byla představena na portálu java.cz v roce 2007, tehdy ještě pod starým názvem UJO Framework. Od té doby uběhlo 6 let a zdrojový kód prošel mnoha úpravami, základní myšlenka však zůstala stejná: přístup k vlastnostem objektu se provádí pomocí konstant zvaných klíče. Pro prezentaci knihovny Ujorm jsem se rozhodl připravit malý...
vložil: Pavel Ponec (9.9.2013)
zařazení: články, blog / styl programování
Kde mě tlačí bota - code review
Mám poměrně jasnou představu, jak by měla vypadat organizace softwarového projektu. Mimo jiné dokola přesvědčuji, že je potřeba psát testy a instaluju nástroje na statickou analýzu kódu. Už to mám nacvičené. Ovšem čím dál tím víc mi chybí code review. Ještě jsem toto téma zatím uspokojivě neuchopil, ale minimálně jsem se zamyslel, jak bych z toho...
vložil: Luboš Račanský (18.8.2013)
zařazení: články, blog / styl programování
Zdravé sezení neexistuje, postavte se k práci jako my – II. díl
Patnáct našich zaměstnanců experimentujících se stáním při práci na počítači si dobrovolně nechalo napíchnout v zasedačce žílu.
autor: Martin Holečko (2.7.2013)
zařazení: články, blog / styl programování
Zdravé sezení neexistuje, postavte se k práci jako my
Pokračování dřívějšího článku o stání v práci, tentokrát s konkrétními živými zkušenostmi.Tak nám je přivezli. Máme v Etneteře zbrusu nové polohovací stoly, které umožňují alternovat práci ve stoje a v sedě. Pojďme se podívat, jak jsme k rozhodnutí je pořídit dospěli a proč jsme vybrali právě ty, které jsme vybrali.
autor: Martin Holečko (11.6.2013)
zařazení: články, blog / styl programování
Stání při práci v IT
Vyzkoušel jsem si, jaké je to pracovat na počítači ve stoje, a výsledek mě natolik ovlivnil, že už u něj sedět ani nechci. Pokud vás zajímá, co mě k tomu vedlo, jaký to mělo průběh a hlavně jaký výsledek, tak čtěte dále.
autor: Milan K. (13.5.2013)
zařazení: články, blog / styl programování
Agilní metodiky a vývoj software
Mnoho firem dnes zavádí Scrum. Jejich cíle jsou jasné: vyhodit projekťáka a vyvíjet lepší software, aniž by vývojáři vylezli ze sklepa a někoho obtěžovali. To ale nefunguje.Agilní metodika přišla celkem přirozeně jako reakce na přesun vývoje software z velkých firem do každé IT společnosti a každému na stůl. Místo velkých týmů se objevilo mnoho...
autor: Pavel Šimek (12.1.2013)
zařazení: články, blog / styl programování
Jak jsem organizoval Forrestí hackathon
Nápad zorganizovat firemní hackathon ve mně zrál nějakou dobu. Několika podobných akcí jsem se účastnil v minulém roce, takže jsem měl hrubou představu o tom, jak podobná akce probíhá. Navíc se nám ve Forrestu už nějakou dobu v issue trackeru hromadí plno nápadů, které kvůli vytížení na projektech nemáme kdy zrealizovat ... a přitom jsou to takové...
vložil: Jan Novotný (22.10.2012)
zařazení: články, blog / styl programování
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), že zíráte na...
vložil: Luboš Račanský (3.6.2012)
zařazení: články, blog / styl programování
HovnoKod.cz - sbírka ukázek špatného kódu
Pracujete se zpraseným kódem a už nemáte nervy? Počkejte s mazáním a refaktoringem! Nahrajte ho nejdřív sem, tím si zvednete náladu a pobavíte ostatní!
vložil: Sergei Sizov (23.5.2012)
zařazení: odkazy / styl programování
Programátoři jsou největší lháři
V nadpise dnešního článku cituji mého kamaráda, který začal pracovat jako project manager v softwarové společnosti, a který hlavně dosud většinu svého profesního života pracoval mimo jakýkoliv softwarový vývoj. Zřejmě zvyklý z jiných oborů, kde člověk na první pohled vidí, v jakém stavu je projekt, tak zde asi celkem narazil, protože dost často se...
autor: Petr Jůza (26.1.2012)
zařazení: články, blog / styl programování
Jak se zbavit nepříjemných závislostí v testech
Dnešní příspěvek bude velmi krátký. Je dost pravděpodobné, že podobné řešení už dávno máte ve svých tetovacích utilitkách, ale mě tato kombinace napadla relativně nedávno a jsem nadšený z toho, o jak elegantní řešení se pro testy jedná.V některých testech potřebuji vytvořit část Spring aplikačního kontextu, jehož některé beany mají závislost na...
vložil: Jan Novotný (18.10.2011)
zařazení: články, blog / styl programování
Stručný průvodce code review
Nejsem žádný velký příznivce code review, k tomu už jsem se kdysi dávno přiznal, na druhou stranu neznám jiný proces pro zachycení těch nejpalčivějších problémů, které by na vás vypadly dříve nebo později. Za těch pár let co jej dělám jsem si vypracoval seznam oblastí, na který se vždycky vyplatí podívat a pár pravidel, které se snažím dodržovat.
autor: Roman Dagi Pichlík (2.5.2011)
zařazení: články, blog / styl programování
Je Java produktivní jazyk?
Všechno to začalo zajímavým článkem "Java Kicks Ruby on Rails in the Butt", kde aspoň pro mě se objevila velice zajímavá myšlenka: The productivity in Java world is a cultural problem, not a technical one. Na uvedený článek se objevilo spoustu reakcí v Java světě a mě to přinutilo popřemýšlet a napsat pár myšlenek v tomto článku.
autor: Petr Jůza (23.2.2011)
zařazení: články, blog / styl programování
Co mě testy naučily o mém kódu
Návrat ke kořenům anebo někam kde jsem možná nebyl. Možná to bude znít jako klišé, a do jisté míry to i klišé i je, ale ukaž mi tvoje testy řeknu jaký jsi programátor. Jestli jsem někdy mluvil o tom, že většina testů je ze své podstaty povahy integračními a to pro většinu enterprise aplikací, které jsem psal, pak jsem se šeredně spletl. Dneska bych...
autor: Roman Dagi Pichlík (23.1.2011)
zařazení: články, blog / styl programování
Proč použít Interface dohromady s abstraktní třídou
Hodně často se setkávám v kódu s tím, že vývojáři upřednostňují programování rozhraním. Především je to v případech kdy kód nabízí možnost rozšíření. Bohužel tohle není moc šťastný přístup a to z důvodů zpětně kompatibility. Ukážeme si to na následujícím příkladu...
autor: Roman Dagi Pichlík (24.11.2010)
zařazení: články, blog / styl programování
WebExpo 2010 – sobota
Sobotní den mi zlepšil včerejší pocit z WebExpa poměrně radikálně. Dnes jsem měl více méně štěstí na přednášky, takže jsem většinu dne strávil podle mého vkusu. Organizační část se nijak výrazně nezlepšila, nicméně co se týká složení programu a osobnostní v něm, musím pochválit. Navíc se mi po letech “poštěstilo” ochutnat onen klasický rozblemcaný...
vložil: Jan Novotný (25.9.2010)
zařazení: články, blog / styl programování
Netbeans IDE - popis prostredia - II
Milí čitatelia, v tejto časti sa pozrieme, ako vyzerá prostredie Netbeans. Už na prvý pohľad vidno, že ide o profesionálne IDE, ktoré poskytuje množstvo užitočných funkcií, ktoré uľahčujú vývoj aplikácií. Treba však vedieť aj kde ich hľadať či ako ich správne použiť. Jednou z výhod Netbeans-u je napríklad výborný editor, ktorý...
autor: Matej Briškár (20.9.2010)
zařazení: články, blog / styl programování
Unit testy nad in-memory databází
V poslední době jsem několikrát narazil na otázku testování dao tříd a volby databáze, nad kterou testy běží. Překvapilo mě, jak kontroverzní otázka to je a jak vyhraněné názory na ni existují. Testujete dao třídy? Píšete unit testy pro cílovou databázi nebo používáte nějakou in-memory variantu jako HSQL? Mají testy s jinou než cílovou databází...
vložil: Tomáš Piňos (20.2.2010)
zařazení: články, blog / styl programování
Aspectj jednoduchý performance monitor
V poslední době jsem se začal věnovat aspect oriented programming (AOP) a aspectj. Velmi mě překvapilo jak elegantně se pomocí AOP dá řešit určité problémy a měření výkonu a času strávené voláním metod patří do této kategorie. Před tím, než budete pokračovat v čtení doporučuji začít krátkým tutoriálem: http://www.eclipse.org/aspectj/doc/next/p...
autor: Tomáš Homola (18.2.2010)
zařazení: články, blog / styl programování
Inicializace databázových dat prostředky Javy
Končí inicializace databáze vytvořením tabulek a integritních omezení? Jak ji naplnit nezbytnými daty? Téměř každá aplikace potřebuje k práci nějaké ty číselníky, role, přístupová práva, uživatele a další data. V tomto blogu zkusím popsat, co může inicializace dat v relační databázi znamenat a jak pro ni výhodně použít prostředky Javy.
vložil: Tomáš Piňos (4.11.2009)
zařazení: články, blog / styl programování
Testování aplikací - panelová diskuze
Co se stane, když dáte dohromady javistu, dotnetaka, pythonistu a rubyistu a necháte je diskutovat o testování aplikací. Po pravdě řečeno jsem nevěděl co od toho čekat, ale rád jsem přijal pozvání, které mi adresoval Jarda Jirava na akci Testování aplikací - panelová diskuze. Spolu se mnou diskutoval ještě Karel Minařík (Ruby), Jan Král (Python),...
autor: Dagi (19.10.2009)
zařazení: články, blog / styl programování
Chudokrevný model, chudý příbuzný objektově orientovaného návrhu?
Nedávno se mě jeden kolega zeptal jestli budeme mít anemic domain model (chudokrevný?). Byl jsem trošku v rozpacích co tím myslí. Po krátke diskuzi jsme si vyjasnili termíny (problém jsem znal, ale termín jsem zapomněl) a já jsem prohodil, že asi budeme. Když nad tím přemýšlím, musím říci, že to byla blbost.
autor: Dagi (11.10.2009)
zařazení: články, blog / styl programování
Práce s číselníkovými hodnotami
V tomto příspěvku s lehce nudným názvem bych se rád pokusil o svěží zamyšlení nad prací s číselníkovými hodnotami. Konkrétně mě bude zajímat porovnávání číselníkových hodnot a rozhodování podle číselníkových hodnot v obchodní logice.
vložil: Tomáš Piňos (1.10.2009)
zařazení: články, blog / styl programování
Jednoduché kešovanie pomocou AspectJ (Simple caching with AspectJ)
Jednoduchý príklad na využitie AspectJ pre kešovanie
vložil: igo (6.9.2009)
zařazení: články, blog / styl programování
Stoprocentní mantra
Programátoři a jejich manažeři občas řeší, jaká míra pokrytí unit testy je dostatečná. Můžeme zaslechnout, že cokoliv pod 60% nestojí za zmínku, občas zahlédneme, že to magické číslo je 95% a někteří fundamentalisté dokonce tvrdí, že cesta k nirváně vede jen a pouze přes stoprocentní pokrytí. Dnes jsem si řekl, že je ideální počasí na to,...
autor: Lukáš Křečan (27.8.2009)
zařazení: články, blog / styl programování
Knihovny tříd vs. Knihovny komponent
Jako základní stavební kámen vývoje považuji volně provázané komponenty. Problém je v tom, že Java nemá adekvátní prostředky na to, abych mohl vůbec komponentově vyvíjet. Jako největší bolest vidím to, že nemůžeme dosáhnout zapouzdření. To vede k tomu, že v Jave nepoužíváme knihovny komponent, ale knihovny tříd. Knihovny tříd mají tu nevýhodu, že...
autor: Dagi (2.8.2009)
zařazení: články, blog / styl programování
Závislosti polí ve formuláři
Ve svém vůbec prvním blogu bych se rád podíval na řešení závislostí polí ve formuláři. Nechci popisovat konkrétní technologii pro psaní webových aplikací nebo například tlustých klientů. Zajímá mě obecný problém, kdy máme aplikaci pracující s množstvým formulářů, které jsou „složité“ a jejich složitost je tvořena mimo jiné i závislostmi mezi...
vložil: Tomáš Piňos (10.7.2009)
zařazení: články, blog / styl programování
Selenium testování - základy
Školení Selenium testování - základy je určeno pro začátečníky a seznamuje s prvními kroky s nástrojem pro automatizované testování webových aplikací v prohlížeči. Popisuje jednotlivé příkazy frameworku, různé typy selektorů a způsoby spouštění testů. Nahrávka byla pořízena během přednášky pro studenty pana Pavla Kříže na Univerzitě Hradec...
autor: Pavel Jetenský (15.6.2009)
zařazení: články, blog / styl programování
Deklarovat logger jako static?
Co je lepší, deklarovat loggery jako statické, nebo vytvářet instance? Následující zápisek poskytuje zamyšlení i rady.
autor: Lukáš Zapletal (2.6.2009)
zařazení: články, blog / styl programování
Do pranice: malé samopopisující versus velké okomentované
Během code review jsem se začetl do knihy Refactoring od Martina Fowlera a musím říci, že jeho styl programování se mi velice líbí. Jde o přístup k tomu jaký volí zápis metod a využívání extract method. Obvykle co vidím nejen sám u sebe je přístup delší metody s vloženými komentáři (pokuď vůbec) co daná část metody dělá.
autor: Dagi (22.4.2009)
zařazení: články, blog / styl programování
Analýza a realizácia vybraných návrhových vzorov použitím AspectJ
Článok sa venuje prehľadu niektorých vzorov aspektovo orientovaného programovania (AOP) s prihliadnutím na vzory Wormhole, Cuckoo's Egg a Border Control.
autor: Martin Škurla (15.4.2009)
zařazení: články, blog / styl programování
Praktický API Design
Dnes budu psát o knize Practical API Design od Jaroslava Tulacha. Pomiňme její kvalitní zpracování, které se jen tak nevidí, zajímavý je obsah. Na začátku je tam na můj vkus docela dost filozofování, ale možná to ke knize podobného zaměření patří. Zabývá se totiž pohledem na návrh API v Javě z trochu vyššího hlediska. To znamená, že se nebabrá...
autor: Lukáš Křečan (14.4.2009)
zařazení: články, blog / styl programování
Programátorská úloha (PR0GR4M470R5K4 UL0H4)
V poslednom čase sa v reálnom živote, ale aj na internete rozpútala zúrivá reklamná kampaň, ktorá má okrem iného osloviť aj programátorov. Nemohol som si ju nevšimnúť, pretože každý deň chodím okolo veľkého reklamného nápisu:BUĎTE LEPŠÍ AKO VŠETCI HACKERI SVETA....
vložil: Martin Vician (13.4.2009)
zařazení: články, blog / styl programování
jOpenSpace 2008 - Metodiky vývoje - jak děláme review kódu
Dneska vám předkládám poslední reakci na první dávku audií z jOpenSpace, po ORM a dokumentaci mě oslovila diskuse na téma metodiky vývoje. Poslední 2 zaznamenaná témata mě k nějakým poznámkám nevyburcovala.Co se metodiky vývoje v podstatě mě velmi mile překvapilo, že se již naplno prosazují iterativní a agilní způsoby vývoje, které...
autor: Jira (22.10.2008)
zařazení: články, blog / styl programování
Zpětná kompatibilita
Dnes budu psát o zpětné kompatibilitě v Javě. Předem upozorňuji, že nejsem expert na dané téma, spíš si chci jen ujasnit myšlenky. Takže když někdo narazíte na chybu v mých jinak bezchybných myšlenkách, tak to prosím pěkně rozmázněte v diskuzi pod článkem. Rád se něco přiučím. Co to tedy je zpětná kompatibilita? Zpětná kompatibilita je, když...
autor: Lukáš Křečan (9.10.2008)
zařazení: články, blog / styl programování
Opatrne s anonymnimi tridami
Jsou minimálně dva důvody, proč být při používání anonymních tříd opatrný. Řekněme že teď pominu výhrady "kosmetického" rázu, tj. hlavně "horizontální roztahovačnost" a nepříjemný efekt na čitelnost tříd v debuggeru (název třídy ZoologickáZahrada$1$2 vám jaksi neřekne, jestli je daná instance podtřídou třídy Opice nebo...
autor: Miroslav Bodeček (6.10.2008)
zařazení: články, blog / styl programování
Nemám rád mrtvý kód
Za posledních čtrnáct dní jsem přečetl tolik kódu, že mi to vystačí minimálně na další dva příspěvky ;-). Jestli mě v kódu něco dráždí jako červený hadr býka, pak je to mrtvý kód. Nejdříve malá definice, co je podle mého mrtvý kód. Mrtvý kód - představuje nevyužité proměnné, importy, metody a zakomentované části kódu a nebo větve kam se program...
autor: Dagi (1.10.2008)
zařazení: články, blog / styl programování
Testování pointcutů v AOP - existuje jednoduchá cesta? (Testing Aspect Pointcuts - is there an easy way?)
Hezká věc na aspektově orientovaném programování je, že můžete velmi jednoduše přidat jednotný kus aplikační logiky do rozdílných (jiným způsobem nesouvisejících) částí vaší aplikace. Stačí pouze napsat Advice (kousek kódu, který vyonává nějakou společnou logiku jako třeba ověřování bezpečnosti, řízení transakcí apod.) a nadefinovat Pointcut...
vložil: Jan Novotný (22.9.2008)
zařazení: články, blog / styl programování
Do pranice - využívat možnosti syntaxe až do morku kostí
Nebudu začínat obvyklým "nedávno jsem", ale třeba, tak jsem vám viděl zajímavé a opravdu vypečené konstrukce v kódu. První z nich představuje využití instančních inicializátorů ve spojitosti s anonymní vnitřní třídou, což umožňuje zajímavý způsob konstrukce a naplněni objektu. Druhou konstrukcí je vícenásobná definice lokální proměnné...
autor: Dagi (20.9.2008)
zařazení: články, blog / styl programování
Srozumitelnost zdrojového kódu
K dnešnímu psaní mě inspirovat článek s názvem "Four harmful Java idioms, and how to fix them" na serveru JavaWorld. Nedalo mi to, abych k tomu nenapsat něco svého.Pro ty, kdo to nechtějí číst celé mám zde krátké resumé. Autor článku navrhuje čtyři následující řešení (lépe řečeno reaguje na čtyři celkem rozšířené idiomy) pro lepší...
autor: Petr Jůza (15.9.2008)
zařazení: články, blog / styl programování
Nemám rád kontrolované výjimky
Už dlouho jsem nikoho nepoučoval a trochu mi to chybí, takže dneska budu psát o kontrolovaných alias synchronních alias čtverečkovaných alias checked výjimkách. Ano o těch výjimkách, které jste překladačem nuceni odchytit a zpracovat.
autor: Lukáš Křečan (10.9.2008)
zařazení: články, blog / styl programování
Není revize kódu jako revize kódu
Dagi se nám nějak rozepsal. Takže abych s ním udržel krok, napíšu velmi opožděnou reakci na to co napsal skoro před rokem a dneska mi připomněl svým nejnovějším zápiskem. Revizi kódu můžeme pojmout několika způsoby. Zažil jsem jednu čistě formální revizi, která se dělala jen proto, aby se odškrtl chlívek v nějakém předávacím protokolu....
autor: Lukáš Křečan (18.8.2008)
zařazení: články, blog / styl programování
Trochu o designu API
Včera večer jsem ještě se sirkami v očích dopisoval nějaké postřehy ke code review prezentaci, kterou budu mít v pondělí a zároveň jsem konečně dorazil rozhovor s Jardou Tulachem k vydání jeho knihy Practical API Design s podtitulem Confessions of a Java Framework Architect. Musím předeslat, že ten rozhovor na mě udělal dojem, že tato kniha nesmí...
autor: Dagi (17.8.2008)
zařazení: články, blog / Spring
On se ještě používá jUnit? Vždyť máme TestNG.
Konečně jsem si poslechl záznam přednášky Jana Novotného Automatické testování v praxi. Jen více takových ... Ale proč píšu tento příspěvek? Stále mě překvapuje jak velké množství lidí neustále používá jUnit, který mi přijde v porovnání s TestNG jak chudý příbuzný. Proto jsem se rozhodl nastínit 2 hlavní výhody TestNG, alespoň z mého pohledu...
autor: jira (10.6.2008)
zařazení: články, blog / styl programování
Sníme v kódu
Tak jsem tu zas s další pidirecenzí knihy pro úchyly jako jsem já a doufám že i vy. V originále se jmenuje Dreaming in Code, a napsal ji Scott Rosenberg. Její podtitul mluví za vše: „Dva tucty programátorů, tři roky, 4 732 chyb a jedna výprava za výjimečným programem.“
autor: Lukáš Křečan (6.6.2008)
zařazení: články, blog / styl programování
Effective Java - druhé vydání
Kdo by z javovských programátorů neznal kultovní knihu Effective Java (v českém překladu Java efektivně - 57 zásad softwarového experta,) Joshuy Blocha. Dneska jsem narazil na rozhovor s jejím autorem v rámci letošní JavaOne, který se točil nejen kolem jejího druhého vydání, které bylo rozšířeno vzhledem k syntaktickým a API novinkám Javy 5.
autor: Dagi (22.5.2008)
zařazení: články, blog / java
Před předpisem protřepat
Kolikrát jsem to jenom zažil, jednou, dvakrát, třikrát? Na mou ti duši opravdu nevím, ale bylo to nespočetněkrát. Že nevíte o čem to mluvím? Nevadí, určitě jste takovou situaci zažili, stačí jenom trochu zavzpomínat. Přijdete k nějakému kusu kódu a máte prostě tu neodolatelnou potřebu jej z gruntu přepsat. Nemáte k tomu vlastně ani žádné závažné...
autor: Dagi (20.5.2008)
zařazení: články, blog / styl programování
Komentovat? Určitě ano.
Opět jsem se setkal s názorem, že komentovat zdrojové kódy není potřeba, že kód sám o sobě je dokumentace. K tomu můžu říci jen jedno - to je naprostá blbost. Stačí nepracovat s vlastním kódem několik týdnů a už člověk ztrácí přehled o jemných detailech algoritmů, které sám psal. Nemluvě pak o tom, když je potřeba opravit chybu v rok staré aplikaci...
autor: Petr Jůza (19.5.2008)
zařazení: články, blog / styl programování
Ještě více statická
Ač jsem velkým příznivcem dynamických jazyků namísto násilného, alespoň z mého pohledu, rozšiřování Javy, tak jsou návrhy, které mají moje sympatie. Jedním z nich je JSR 308: Annotations on Java Types, které se snaží rozšířit možnost deklarace anotace u libovolného užití typu.
autor: Dagi (18.5.2008)
zařazení: články, blog / styl programování
Na unit testy si vždy čas udělám ...
Přečetl jsem si příspěvek Máte čas na unit testy? od Petra Jůzy a po dlouhé době, mě nějaký text přiměl k reakci (Kde je dagi se svými kontroverzními tematy).Přiznám se, že s testováním jsem začínal nějakým 8 let zpátky za pomocí jUnit knihovny a měl jsem dobrý pocit. Spíš mě to ale zdržovalo. Postupem času jsem se naučil (alespoň si to myslím)...
autor: jira (15.5.2008)
zařazení: články, blog / styl programování
Máte čas na unit testy?
Pokud bych si měl hned sám odpovědět, tak dle mého názoru moc času není. Není z jednoho hlavního důvodu a to jsou peníze resp. náklady plynoucí z času, který bude věnován psaní unit testů. Hned na začátku také musím dodat, že celý článek je o "normálních" jednorázových projektech, které nejsou nějak mission-critical. U vývoje produktu...
autor: Petr Jůza (14.5.2008)
zařazení: články, blog / styl programování
Záznam z přednášky Automatické testování v praxi
Na dovolené se mi podařilo vyšetřit čas na sestříhání záznamu z přednášky Automatické testování v praxi, která se konala dne 21.4.2008 na Univerzitě Hradec Králové. Na přednášce se sešlo přes 30 posluchačů převážně z řad studentů univerzity. Přesto že jsem původně anoncoval, že se pokusím zabrousit i do pokročilejších témat, jako jsou...
vložil: Jan Novotný (12.5.2008)
zařazení: články, blog / styl programování
Programátor pragmatik - recenze publikace
Nenápadní knížečka, která určitě stojí za přečtení, pokud to s programováním myslíte alespoň trochu vážně. Hlavním úkolem každého, kdo se pustí do programování, je zvládnout složitost. I taková zdánlivě jednoduchá věc, jako je program pro vytvoření a poslání faktury, se skládá z velkého množství drobných krůčků, které je třeba všechny...
autor publikace: [Andrew Hunt, David Thomas] (28.3.2008)
zařazení: články, blog / styl programování
Problémy s adopcí agile přístupů
Jelikož čím dál častěji narážím na spoustu dezinterpretací, chybných názorů a různých chytrostí ohledně agile přístupů, rozhodl jsem se napsat tento článek a podělit se tak o své zkušenosti nabyté několikaletou praxí, tj. používáním a zaváděním agile praktik a životního cyklu v projektech vývoje a údržby software. Zmíněné poznámky snad mohou...
autor: Jaroslav Procházka (25.3.2008)
zařazení: články, blog / styl programování
Návrhové vzory - recenze publikace
Svoji profesní dráhu jsem na začátku 90. let začal jako vysokoškolský učitel a také jako programátor specializující se na tehdy nový trend objektově orientovaného programování. Pracovali jsme tehdy s novým, moderním a od stávajících stylů odlišným způsobem analýzy systémů a tvorby softwaru. Z tohoto nového stylu se vedle stále...
autor publikace: [Rudolf Pecinovský] (1.3.2008)
zařazení: články, blog / styl programování
Do pranice: kontrolované vs. běhové výjimky
Napsal jsem, nebo lépe řečeno zrefaktoroval jsem, velké množství kódu, z kontrolovaných výjimek na běhové a všude to bylo ku prospěchu věci. Principiálně souhlasím s tím, že kontrolované výjimky mají své uplatněni a to tam, kde je z kontextu možné zotavení. Typickým příkladem jsou vstupy od uživatele. Těchto případů je možná 20%. Zbylých 80% jsou...
autor: Dagi (13.12.2007)
zařazení: články, blog / styl programování
Neagilní open source projekty
Mám rád open source knihovny. Ke svojí práci používám řádově desítky až stovky open source knihoven. Nebudu zde sepisovat všechny výhody open source, nýbrž vypíchnu jednu nevýhodu, která mě mě neskutečně irituje. Onou nevýhodou je malá agilnost ve vztahu ke komunitě. Alespoň moje zkušenost je negativní.
autor: Dagi (31.10.2007)
zařazení: články, blog / styl programování
Programování řízené testy
Každý programátor má své návyky, které aplikuje pří vývoji softwaru. Klasický přístup vypadá tak, že identifikujete systém a jeho use casy, naprogramujte část systému a pak vyzkoušíte zda se chová tak jak má. Odlišný přístup se jmenuje programování řízené testy
autor: Vlasta (15.10.2007)
zařazení: články, blog / styl programování
Vývoj aplikace za běhu
Už vás nebaví při každé změně třídy restartovat webový kontejner?
vložil: Jiří Mareš (15.10.2007)
zařazení: články, blog / styl programování
Kam se ztrácí zkušení programátoři
Zkušenosti jsou to co se velmi těžko získává a téměř se nedají předat a přesto si jich nevážíme ...
vložil: Jiří Mareš (8.10.2007)
zařazení: články, blog / styl programování
Deset rad jak psát kód efektivně
NkD má tezi o tom, že dneska již neprogramujeme, ale spojujeme dohromady pouze části frameworků, které napsal někdo jiný. Do jisté míry s tím lze souhlasit a já osobně na tom nevidím nic divného, každopádně v poslední době jsem strávil nezvykle množství času vlastním kódováním. Při té příležitosti mě napadlo se s vámi podělit o oblíbené rady a...
autor: Dagi (11.9.2007)
zařazení: články, blog / styl programování
Implicitní versus Explicitní propagování kontextových informací v API
Článek jsem věnoval možnostem propagování kontextových informaci v API. Kontextové informace jsou většinou potřebné skrze všechny vrstvy aplikaci, jedná se například o identitu a role přihlášeného uživatele, vybraný locale apod. Pokud aplikace potřebuje kontextové informace, pak stojíme před otázkou jak je v API propagovat. V Jave máme dvě možnosti...
autor: Dagi (10.8.2007)
zařazení: články, blog / styl programování
Děláme odhady
Povídání o černé magii dělání odhadů.
vložil: Lukáš Křečan (1.8.2007)
zařazení: odkazy / styl programování
Eclipse a drobné maličkosti: generování toString
Eclipse delší dobu nabízí možnost vygenerovat metody pro hashCode a equals z instančních proměnných třídy. Pokud jste si možnost generování těchto metod oblíbili, tak vám zřejmě chybí generování třetí metody do party a to toString.
autor: Dagi (10.7.2007)
zařazení: články, blog / vývojová prostředí
Unit testy a čistota návrhu
I když si myslím, že mám s unit testy dost zkušeností, stále ještě mě dokáží dost překvapit. Kromě toho, že se překvapuji tím jak často je „zapomínám“ psát, překvapují mě většinou pozitivně. Zrovna nedávno mě překvapily znovu. Psal jsem program, který mimo jiné prohledává adresář na disku, poté nalezené soubory zpracovává, přesouvá jinam,...
autor: Lukáš Křečan (14.6.2007)
zařazení: články, blog / java
Už tam budem?
Výběr myšlenek z přednášky Roda Johnsona.
vložil: Lukáš Křečan (3.6.2007)
zařazení: články, blog / styl programování
Automatické testování odeslání emailu
istě jste také už mnohokrát, stejně jako já, řešili problém, jak spolehlivě automaticky otestovat, že vaše aplikace správně odeslala email s konkrétním obsahem na konkrétní emailovou adresu. Problém je to zapeklitý a dosud jsem ho dokázal řešit jen těmito způsoby: udáním testovací schránky a automatickým výběrem této schránky (např. přes...
autor: Jan Novotný (1.6.2007)
zařazení: články, blog / styl programování
Dubnový CZJUG: Jak psát API, které přežije nástrahy času
Další setkání CZJUG proběhne ve čtvrtek 26.4. od 18:00 a na programu je tentokrát jediná prezentace od Jardy Tulacha: "Jak psát API, které přežije nástrahy času". Jedná se o téma, která dostalo nejvíce hlasů při hlasování o další přednášky. Přednáška bude česky, i když je abstrakt anglicky. Více informací o setkáních CZJUG viz...
autor: Roman Štrobl (16.4.2007)
zařazení: články, blog / styl programování
Pozvánka jBPM: Tvorba aplikací s procesním modelem
Chtěl bych vás pozvat na přednášku "jBPM: Tvorba aplikací s procesním modelem". Jedná se opět o sérii přednášek v rámci Technologie a trendy v softwarovém inženýrství pořádané ZČU. Přednáška se koná ve středu 21. 2. 2007 v 16:40 v učebně UU405 v Plzni na Borských polích. Chtěl bych zde zmínit rozdíly, výhody a nevýhody aplikací s procesním...
autor: Petr Ferschmann (15.2.2007)
zařazení: aktuality / styl programování
Mock testing - Potěmkinovy vesnice
Řada z vás možná už na výraz Mock testing narazila, někteří ne. Pro ty z vás, kteří Mock přístup v testování nepoužili je tento článek. Pro ostatní může být zajímavá ukázka této techniky na knihovně EasyMock.Co jsou to mock objekty?Jedná se vlastně o techniku psaní určitého druhu automatických testů. V podstatě se jedná o nahrazení reálného...
autor: Jan Novotný (19.1.2007)
zařazení: články, blog / styl programování
Programovaní kontraktem, Design By Contract
Programování kontraktem nebo také nazývané Design by contract je způsob návrhu softwarových komponent. Každá komponenta nebo objekt, říkejme tomu podle libosti, má vždy nějaký kontrakt. Kontrakt popisuje vstup, výstup a invarianty (neměnné podmínky) dané komponenty. Každý klient, který s komponentou spolupracuje pak daný kontrakt akceptuje, prostým...
autor: Dagi (17.1.2007)
zařazení: články, blog / styl programování
Programátorské testy aneb jak jim zkrátit hřebínek
U nás ve firmě máme jednu zajímavost, která mě postupem času pěkně leze na nervy a přijde mi jako dost trapná a velice nepřínosná věc. Stejně jako i v jiných firmách se u nás dělají čtvrtroční pracovní pohovory, kde si prostě programátor posedí se svým nadřízeným, oba se ohlédnout zpět a snaží se zhodnotit jak práci programátora tak práci onoho...
autor: Rostislav Krátký (23.10.2006)
zařazení: články, blog / styl programování
JDBC memory leak za 5,50-
Je libo dát si malý, únik paměti, který ve výsledku povede k pádu aplikace na java.lang.OutOfMemory? Budeme potřebovat tyto ingredience: kód pracující s databází přes JDBC, poolování databázových připojení a následující konstrukci...
vložil: Cyril Sochor (26.1.2006)
zařazení: články, blog / styl programování
Návrhový vzor Template method a jeho aplikace v prostředí JDBC
Tento článek by mohl klidně nést podtitul Efektivní práce s databází v Jave: stop nadbytečnému kódu. Hodně často se diskutuje práce s JDBC, což je javovské rozhraní pro práci s databází. Bohužel už méně často se diskutuje o tom jak psát JDBC kód efektivně. V tomto článku si ukážeme jak na to za pomoci návrhového vzoru Template method.
vložil: Cyril Sochor (13.1.2006)
zařazení: články, blog / styl programování
Vyšší dívčí - názvy temporary proměnných
Jestliže si myslíte, že programování resp. jeho určité činnosti nelze povýšit na umění pak se hluboce mýlíte. Kreativita vývojářů se naplno rozbuší při vymýšlení názvů temporary proměnných. Připadám si trochu fádní se svými názvy temporary proměnných jako foo nebo hoo v porovnání s tím na co lze narazit.
vložil: Cyril Sochor (1.9.2005)
zařazení: články, blog / styl programování
Návrh aplikací v jazyce UML - diagram tříd
Po delší prodlevě vychází další článek o návrhu aplikací s využitím jazyka UML. Místo zbytečných omluv za dlouhou a neplánovanou odmlku snad čtenáře potěší informace, že se napříště budu věnovat i konstrukcím jazyka UML nově přidaným ve verzi 2.0. Tématem tohoto článku je vysvětlení elementárních pojmů, jejichž znalost je nezbytná při návrhu...
vložil: Cyril Sochor (16.8.2005)
zařazení: články, blog / styl programování
jUnit, Grobo, crond: Ještě větší bratr než jsme doufali
Uspěšně provedené testy, u kterých se můžete pochlubit 0% failures, ještě ale nic nezaručují. Jednak můžou být blbě napsané, jednak jich může být málo. S tím prvním bodem vám asi neporadím, ale určitě jsou na to téma napsány celé stohy další slámy vhodné k mlácení. Druhé situaci se ovšem dá předejít, nebo lze alespoň objektivně měřit jak na tom...
vložil: Cyril Sochor (7.7.2005)
zařazení: články, blog / styl programování
Testování nové generace
Nedávno jsem shlédl prezentaci na téma poměrně nového frameworku TestNG, který ze srovnání oproti zavedenému JUnitu vycházel velmi zajímavě.
vložil: Cyril Sochor (13.6.2005)
zařazení: články, blog / styl programování
How To Build a ComputeFarm
ComputeFarm is an open source Java framework for developing and running parallel programs. Under the covers, ComputeFarm runs on Jini, which brings code mobility and fault tolerance to network applications. From version 2.1 onwards, Jini is being released under the Apache License, version 2.0, so this is an exciting time for Jini. This article...
vložil: Rudolf Pecinovský (13.5.2005)
zařazení: články, blog / styl programování
Do pranice: Integrační vs. Unit testy
Jaký druh testů vlastně píšete, položili jste si někdy tuto otázku? Já jsem si tuhle otázku párkrát položil. Možná jste si tuhle otázku položili i vy, ale v jiném kontextu. Co třeba, proč vlastně nepíšu tesy? V mojí praxi jsem shledal několik důvodů, proč vývojáři nepíši testy
vložil: Cyril Sochor (15.4.2005)
zařazení: články, blog / styl programování
Anotace? Ano, ale s mírou
Na stránkách java.sun.com se objevil článek Anderse Holmgrena o tom, jak pomocí anotací deklarovat validační kritéria u Java Beans. Přesněji řečeno, článek je cvičením z nových vlastností, které přináší Java 5, a tyto vlastnosti jsou demonstrovány na design patternu, kterým by používání anotací k ověřování hodnot mohlo být.
vložil: Cyril Sochor (21.3.2005)
zařazení: články, blog / styl programování
Rozjímání nad úsporou a psaním kódu
Kdysi dávno jsem četl, že programátor je od přírody tvor líný. Když občas někde zaslechnu a nebo si přečtu, co by bylo dobré mít v Javě, protože to má ten a ten jazyk, a nebo, protože to zjednoduší kód ze třech řádek na jednu, vyvolává to ve mě mírné chvění. Stejně tak citlivý jsem na jakékoliv podněty týkající se rozšíření sémantiky vlastního...
vložil: Cyril Sochor (21.3.2005)
zařazení: články, blog / styl programování
Bindmark - Comparing Java XML Binding Frameworks
Seznam a porovnání výkonu knihoven na ukládání javových objektů do XML.
vložil: Cyril Sochor (23.2.2005)
zařazení: odkazy / styl programování
Java a výjimky - zpracování výjimek
Známe již objektovou hierarchii výjimek a víme, z jakých základních pohledů nahlížet na vzniklou výjimku. V tomto článku se podíváme na špatné příklady práce s výjimkami, jako je například požírání výjimek, a vysvětlíme si, na jaké konstrukce dát pozor.
vložil: Cyril Sochor (9.2.2005)
zařazení: články, blog / styl programování
Java a výjimky - úvod do problematiky výjimek
Tento článek si klade za cíl seznámit čtenáře s principem fungování mechanismu výjimek v prostředí platformy Java. Ukážeme si používání konstrukcí try, catch a finally, základní rozdělení výjimek a jejich objektovou hierarchii.
vložil: Cyril Sochor (27.1.2005)
zařazení: články, blog / styl programování
strana 1/1 | 1 | celkem 100 položek |