Zobrazují se příspěvky se štítkemcertifikace. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemcertifikace. Zobrazit všechny příspěvky

2. února 2014

Certifikace Java EE 6 JPA Developer

Sbírám certifikace a navlíkám je na nit, jako korálky. Už je jich pěkná šňůra. Tak nějak mě to i baví. A člověk si přitom přečte spoustu zajímavých knížek. Tuhle jsem si zase říkal, co mi tak ještě chybí ve sbírce? Ahá! Oracle Certified Expert, Java EE 6 Java Persistence API Developer, to bude něco pro mne.

Trocha historie

JPA vychází historicky z Entity Bean, které byly původně součástí EJB specifikace. V Java EE 5 byla sice už definovaná první verze JPA, která ale pořád tak nějak zůstávala součástí EJB. V aktuální verzi Java EE 6 už jsou EJB 3.1 a JPA 2.0 dvě samostatné technologie (byť stále úzce kooperující).

Tomuto vývoji odpovídají i certifikace: pro Java EE 5 byla k dispozici pouze certifikace Business Component Developer, která obsahovala jak EJB 3.0, tak JPA 1.0. Pro Java EE 6 už jsou to dvě oddělené větve - Enterprise JavaBeans Developer a Java Persistence API Developer.

A právě tu posledně jmenovanou certifikaci jsem čerstvě absolvoval (jak říkám, sbírám to jak houby :-)  tak bych se rád podělil o své studijní úsilí. Ještě než se k tomu dostanu, předestřu pár informací o certifikaci samotné.

Certifikace v kostce

Jako u všech certifikací téhle úrovně, jedná se o test na počítači v nějakém testovacím středisku. Pokud vás zajímají věci jako cena, trvání, passing score, nebo detailnější rozpis témat, můžete se podívat na stránku zkoušky. Já bych uvedl jen hrubší přehled témat:
  • Configure and package JPA Entity classes in enterprise modules
  • Create basic JPA Entity classes
  • Design a Java application that uses a RDMS
  • Ensure data integrity by using Transactions and Locking
  • Java Persistence Criteria API
  • Java Persistence Query Language
  • Optimize database access
  • Use JPA relationships
  • Use advanced JPA features
  • Utilize Entity classes by creating code that uses the EntityManager API

Ne všechny témata jsou zastoupena rovnoměrně - tak nějak subjektivně mi přijde, že velký důraz se kladl na věci jako:

Naopak v minimální míře jsem zaznamenal témata jako základní mapování a Java Persistence Query Language (JPQL).

Co studovat

Kniha Pro JPA 2

Když jdu do certifikace, začínám knihou. Nic lepšího se mi neosvědčilo. V případě JPA 2.0 existuje bezkonkurenční bible Pro JPA 2. Knížka je sice z roku 2009, ale to (výjimečně) vůbec nevadí - pokud vám jde o verzi 2.0, ještě s ní pár let vydržíte. Přece jenom, specifikace tak rychle nestárnou.

(Nicméně pokud netrpělivě vyhlížíte Java EE 7, jejíž součástí bude JPA 2.1, tak už vyšla second edition téhle knihy.)

Podtitul tohohle "špalku" je Masterinig Java Persistence API a titul nelže - provede vás všemi zákoutími JPA a byť z vás neudělá mistra (to bez praxe jaksi nepůjde), poměrně významně pozvedne úroveň vašich znalostí.

Kniha je velmi dobře napsaná, má promyšlený koncept a jednotlivá témata a kapitoly na sebe logicky a plynule navazují. Může po ní sáhnout jak úplný (JPA) začátečník, tak někdo kde přechází z předešlé verze 1.0 a stejně tak, pokud si jen potřebujete oživit některé oblasti. A dá s použít i jako prvotní reference (pokud nepotřebujete jít příliš do hloubky). Tak všestranná kvalitní kniha se jen tak nevidí. A je to ideální zdroj pro přípravu na certifikaci.

Aby byla tahle kniha briliantová, chybí jí jen jeden aspekt - propojení JPA se Springem. Je pochopitelné, že je JPA provázáno s EJB, poněvadž obojí je součástí Java EE. Na druhou stranu, kombinace Spring + Hibernate táhla v uplynulých letech vítězně světem a to tak masivně, že bych čekal, že to nelze opominout. Lze. Takže ve výsledku je kniha jen diamantová :-)

Kniha Java Persistence with Hibernate

Když to jde, tj. je čas a je to vůbec k dispozici, snažím se, pro přípravu na certifikaci, přečíst knihy dvě. V tomto případě byl mojí sekundární volbou opus Java Persistence with Hibernate, na kterém mě lákaly dvě věci - jednak je od Manningu, jehož počiny mě, když ne nadchnou, tak aspoň nezklamou; a jednak je jedním z autorů Gavin King, stvořitel zmiňovaného Hibernate. Plus navíc je tahle kniha žhavě aktuální - ještě stále je ve stavu early access (MEAP) a finální by měla být letos v březnu.

Na tuhle knihu jsem se hodně těšil, ale mám z ní rozporuplný pocit. Předně, je hrozně ukecaná. Ale hrozně. Než se autoři k něčemu podstatnému dostanou, tak to trvá a vysvětlí vám to fakt pořádně.

Pak mi tady chybí, to co se mi tak líbilo na předešlé knize - propracovaný koncept. Přijde mi, že byť autoři směřují k určitému cíli, plují proti větru a křižují perzistentní vody sem a tam. S tím souvisí i další věc: tuhle knihu určitě nepoužijete jako referenci - jakékoliv téma se v ní bude obtížně hledat.

Co je naopak na tomto počinu cenné, je popis vlastností, které má Hibernate nad rámec JPA. Hibernate je totiž jeho implementací:
  • Hibernate 3.2 implementoval JPA 1.0
  • Hibernate 3.5 implementoval JPA 2.0
  • Hibernate 4.3 implementuje JPA 2.1

Protože Hibernate je starší a zralejší technologií, než JPA, tak nijak nepřekvapí, že je i bohatší na různé vlastnosti a je v lecčems napřed. A právě tyhle aspekty (kromě samotného JPA), kniha popisuje. Za všechny bych zmínil třeba možnost definovat anotace platné pro celou persistence unit (třeba @NamedQuery) na tříde package-info.java, což JPA neumí.

Celkovému hodnocení téhle knihy bych se prozatím vyhnul. Ovšem čistě z pohledu certifikace to není moc dobrý zdroj - je příliš rozvláčný, ne vhodně strukturovaný a nejspíš (z hlediska JPA) ani kompletní. Nicméně pro rozšíření kontextu to rozhodně není špatné.

Training tests

Pokud má někdo hodně dobrou paměť, orientovanou na detaily a přesné znění, možná může jít do certifikace jen po načtení literatury. To není můj případ. Většinou si po čase pamatuju cosi ve stylu něco takového tam je, ale přesně si to už nepamatuju.

Takže vždy tak maximálně 14 dní před zkouškou a poslední dobou spíš už jen týden, používám nějakou sadu zkušebních testů, které mi pomohou se "naladit" na ostrý test. Pro JPA jsem dal na doporučení na JavaRanch a si vybral sadu od Enthuware.

Jedná se o sadu čtyř testů, které rozsahem odpovídají certifikaci (tj. 64 otázek, 135 minut). Testy jsou o něco težší, než ten reálný. Po vyhodnocení testu se dají otázky znovu projít, tentokrát s vysvětlením, které je sice dost úsporné, ale pokud jste se předtím neflákali, mělo by to být dostačující. A cena $20 není špatná.

Co mě to přineslo?

Jedním z hlavních přinosů certifikací pro mne vždycky bylo prohloubení znalostí. V případě JPA jsem:
  • upgradoval z verze 1.0 na 2.0,
  • naučil se pořádně Criteria API,
  • přeorientoval se z cachování poskytovaném providerem k tomu definovanému ve specifikaci,
  • oživil si věci, které se v nové verzi JPA "až tak neměnily"
  • a přečetl dvě dobré knihy.

To vůbec není špatné. Já jsem spokojený :-)

Související články

9. března 2013

Oracle SOA certifikace

Půlrok se sešel s půlrokem a já jsem si vystřihnul další certifikaci. Tentokrát jsem chtěl něco, čím bych zakončil své roční působení na projektu a důstojně :-) tak završil trnitý proces získávání znalostí o nové technologii: Oracle SOA Suite.

Okolnosti tomu chtěly, že jsem se zrovna trefil do přelomu, kdy Oracle jednu  SOA certifikaci nahrazuje jinou. Aktuální certifikace, která je k dispozici od letošního ledna, se jmenuje  Oracle SOA Suite 11g Certified Implementation Specialist. Já, protože jsem se ke zkoušce přihlásil již dříve, jsem nyní obdržel certifikaci Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert. Uff! To je titul :-/

Každopádně, co je nám po jménu? Podstatné je, jestli se obě zkoušky od sebe nějak obsahově liší. Liší? Ano, ale pouze drobně - v nové certifikaci přibylo pouze něco málo o governance, deploymentu a monitoringu, ale gró zůstává stejné: jednotlivé komponentní technogie (viz Exam Topics).

Jak dlouho jsem se na certifikaci připravoval? Přípravě přímo na zkoušku jsem věnoval cca 3 týdny - přečetl jsem si guide (viz dále) a prošel testovací otázky. Ale obecně jsem k certifikaci studijně směřoval téměř celý rok. Za jeden z podstatných zdrojů vědomostí totiž považuji přímou zkušenost s technologií - 7 měsíců intenzivního "programování".

Kniha

Vývoj samotný z učedníka mistra neudělá. Primárním zdrojem informací jsou pro mne knihy, takže od nich jsem začal: hned z počátku práce na projektu jsem si koupil knihu Oracle SOA Suite 11g Handbook.

Jde o 800stránkový opus a pokud to někdo myslí se SOA Suitou vážně, tak rozhodně tuto knihu doporučuji - obsahuje vyčerpávající sumu témat (daleko přesahující rozsah zkoušky), které umožní pochopit principy, které za SOA Suitou stojí a provede návrhem, vývojem, testováním a provozem jednotlivých komponent a technologií. Ještě jednou: vysoce doporučuji!

Školení

Školení obvykle v portfoliu přípravných zdrojů nemám, tentokrát se mi ovšem naskytla příležitost, tak jsem ji využil a absolvoval školení hned tři:
  • Oracle SOA Suite 11g Implementation Bootcamp
  • Oracle Service Bus 11g
  • Oracle BPM Suite 11g Implementation Bootcamp
Školení nebyla špatná. Probíhala formou labů, takže si člověk mohl věci prakticky vyzkoušet. Tematicky školení zkoušku více méně pokrývala (s výjimkou BPM, který v certifikaci není) a umožnila mi trochu jiný pohled na věc, než byl třeba v knize, nebo jsem sám získal praxí. Z pohledu certifikace nejsou školení nutností, ale příjemným bonusem - stejné informace se dají získat i jinde a levněji :-)

Certifikační guide

Krátce před zkouškou jsem pořídil knihu Oracle SOA Infrastructure Implementation Certification Handbook, což je certifikační guide zaměřený na původní zkoušku (1Z0-451). Co se týká obsahu, kniha je slušným, velmi lehkým úvodem do SOA Suite. Jako studijní materiál je nedostačující. Co je na ní cenné, je sada testovacích otázek a odpovědí ke každému tématu, plus závěrečný test (také s řešením).

Závěr

Pokud vezmu v potaz svoji celoroční "přípravu", tak pro mne certifikace splnila (opět) svůj hlavní účel - motivační prostředek pro sebevzdělávání. Tak jako u jiných zkoušek i nyní mě certifikace přinutila podívat se do hloubky i na témata, která nutně (projektově) nepotřebuju a umožnila mi tak lépe pochopit celý kontext dané technologie.

Kecám, nepřinutila - já to dělám rád ;-)

Související články

10. září 2012

Certifikace Java EE 6 Web Services Developer

Tak nějak jsem si poslední dobou zvykl, dělat do roka dvě certifikace (asi mi chybí školní dril :-) Takže co to bylo tentokrát? Honosný název, který se nyní skví v mém CV zní: Oracle Certified Expert, Java Platform, Enterprise Edition 6 Web Services Developer, zkráceně (ve stylu někdejších Sunovských certifikací) OCWSD.

Certifikace občas budí (zbytečné) vášně, takže základní otázka asi je: je to vůbec k něčemu? Pro mne je tím největším benefitem, že jsem se něco nového (do hloubky) naučil. A musím říct, že OSWSD je tomto směru opravdu hodnotná. Byť web servisy mastím cca poslední tři roky, ať už v Javě (JAX-WS, Spring WS nebo Axis), nebo v rámci SOA (WebSphere Message Broker, Oracle SOA Suite), tak během přípravy na certifikaci jsem dozvěděl spoustu nových věcí (třeba SOAP Message Handlers) a "dopochopil" lecos již známého.

Témata, která zkouška obsahovala jsou následující:
  • Create an SOAP web service in a servlet container
  • Create a RESTful web service in a servlet container
  • Create a SOAP based web service implemented by an EJB component
  • Create a RESTful web service implemented by an EJB component
  • Configure JavaEE security for a SOAP web service
  • Create a web service client for a SOAP based web service
  • Create a web service client for a RESTful web service
  • Create a SOAP based web service using Java SE platform
  • Create handlers for SOAP web services
  • Create low-level SOAP web services
  • Use MTOM and MIME in a SOAP web service
  • Use WS-Addressing with a SOAP web service
  • Configure Message Level security for a SOAP web service
  • Apply best practices to design and implement web services

Protože na zkoušku není žádný oficiální certifikační guide, prošel jsem trošku širší okruh materiálů. V praxi jsem zatím neměl nikdy možnost dostat se k RESTovým technologiím, takže jsem s předstihem začal s knížkou Billa Burkeho RESTful Java with JAX-RS, kterou vřele doporučuji - pokud chcete začít s RESTem v Javě (tj. libovolnou implementací JAX-RS), je to ta správná volba. Autor sice popisuje (a je tvůrcem) RESTEasy, ale je objektivní i vůči dalším implementacím.

Další knihou jsem si chtěl oživit druhou Javovskou web servisovou větev - JAX-WS. Tady je knižní situace docela slabá. V podstatě jediná aktuální kniha, která je věnována JAX-WS je Java 7 JAX-WS Web Services. Vzhledem k názvu a rozsahu (64 str.) jsem nečekal nic světoborného, ale zklamání bylo obrovské. Pokud nejste úplně nejzelenější začátečník a nevyhovují vám knížky, tvořené ze 2/3 screenshoty (NetBeansů), není to kniha pro vás. Škoda peněz, škoda času.

Jakou určitý druh přípravy můžu zmínit (celkem nudný) letošní Oracle Java Developer Day, kde jsem se šel podívat na jednu přednášku o JAX-WS a na dvě o JAX-RS. Samozřejmě, že to byly naprosté základy, ale člověk si aspoň udržuje povědomí o tématu.

Pak už začalo jít do tuhého, protože jsem potřeboval něco, co by mě připravilo na certifikaci. Nechal jsem tedy firmu zakoupit zkušební testy. Tentokrát jsem zvolil ještě nevyzkoušené řešení - kit od EPractize Labs. Jejich OCEJWSD Training Lab není úplně špatný. Sice je uživatelsky dost nepohodlný a rozložení témat mi přijde dost nevyvážené, ale myslím, že ho můžu označit jako přínosný. V dnešní době bych spíš volil kit od uCertify, s jejichž přípravnými testy mám dobrou zkušenost, který ale v té době ještě nebyl k dispozici.

Posledním materiálem, který jsem na přípravu použil je OCWSD Study Guide od Mikalaie Zaikina, který pokrývá témata zkoušky velmi pěkně. Linkovaná webová verze je zdarma, za $15 je možné si přikoupit sadu 160 otázek s odpověďmi, plus jednotlivé guidy v PDF podobě. Těch patnáct dolarů jsem investoval a můžu říct, že to stálo za to (aneb jak jsme se učili v angličtině it bang for the buck).

Pokud mám certifikaci OCWSD nějak celkově zhodnotit, musím říct, že je to určitě jedna z těch nejpřínosnějších, co dnes Oracle v oblasti Javy nabízí. Všechna témata byla víceméně ryze praktická, žádná nudná (korporátní) teorie, či dokonce ideologie. Zároveň je to taky jedna z těch, kde je těch Oraclovských technologií jen určité minimum - hodně se tam probírají věci z W3C, jako je SOAP, WSDL, XSD, WS-Addressing, nebo věci, které jsou dílem různých jiných organizací, jsou je WS-I (WS-Interoperability (Basic Profile)), nebo WS-Security.

23. března 2012

Flex certifikace

Dnes jsem úspěšně absolvoval certifikaci Flex 4.5 ACE Exam (Adobe Certified Expert). Protože se živím hlavně jako Java vývojář a solution architect, bylo to pro  mne odskočení do celkem neznámých  vod. Nicméně šel jsem do toho hlavně ze dvou důvodů - jednak z pohledu architekta, bylo pro mne zajímavé poznat novou RIA platformu a druhak, Flex je občas požadován našimi zákazníky jako frontendová technologie (což souvisí i s prvním důvodem, protože dělám i nabídky) a doposud jsme na Flex nabírali externí programátory, takže mít Flexové znalosti se hodí i jako interní kompetence.

Certifikace samotná splnila mé očekávání. Vypíchnul bych hlavně věc související s vnitřní motivací - témata a rozsah certifikace mne přinutily podívat se na Flex platformu/architekturu opravdu do hloubky, takže myslím, že Flex znám na celkem slušné úrovni. Hlavní přínosy bych shrnul do třech bodů:

  • Architektura Flexu se mi velmi líbí. Je to pěkně čistě napsaná Event-Driven Architecture (mám z ní lepší pocit než třeba ze Swingu v Javě). Layout komponent se primárně řeší v MXML, pro nevizuální nebo složitější komponenty slouží ActionScript.
  • ActionScript (implementace ECMAScriptu) je pěkný jazyk, takový lepší JavaScript. Příjemně se v něm píše.
  • Flash Builder je slušné IDE postavené na Eclipse. Oproti Java pluginům/prostředí má ještě co dohánět (hlavně refactoring a content assist), ale na projektu bych ho rád použil. Škoda, že je komerční (Standard edice za $249).

No a teď k samotné certifikaci. Struktura zkoušky je následující:

  • Creating a User Interface (UI)
  • Flex system architecture and design
  • Programming Flex application with ActionScript
  • Interacting with data sources and servers
  • Using Flex in Adobe Integrated Runtime (AIR)

Oproti jiným certifikacím jsem použil docela dost materiálů. Mezi ty které bych určitě doporučil patří výborná kniha Adobe Flex 4.5 Fundamentals. Kniha je skvěle napsaná a poskytuje základní kontext a úvod do Flexu. Chybí v ní pokročilejší témata, jako třeba remoting nebo AIR.

Dalším výborným zdrojem je samotná dokumentace k Flexu, zejména Using Flex a ActionScript Reference. Je toho hodně, takže napomůže drobná selekce pomocí Attest, přípravném test kitu pro Flex 4 certifikaci, napsaném v AIR.

Dále bych doporučil stáhnout si (2měsíční) zkušební verzi Flash Builderu a prostě v něm programovat - kniha Adobe Flex 4.5 Fundamentals má výborný příklad - postupné budování web shopu. Kromě toho jsem si naprogramoval spoustu snipetů, maličkých aplikací třeba jenom na jednotlivé komponenty, např. toto na vícenásobný binding:
<?xml version="1.0" encoding="utf-8"?>
<s:Application
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark">

    <s:layout>
        <s:HorizontalLayout/>
    </s:layout>

    <fx:Binding source="first.text"
                destination="destination.text"/>
    <fx:Binding source="second.text"
                destination="destination.text"/>

    <s:VGroup>
        <s:TextInput id="first"/>
        <s:TextInput id="second"/>
        <s:Label id="destination"/>
    </s:VGroup>

    <fx:Binding source="source.text"
                destination="primero.text"/>
    <fx:Binding source="source.text"
                destination="segundo.text"/>

    <s:VGroup>
        <s:TextInput id="source"/>
        <s:Label id="primero"/>
        <s:Label id="segundo"/>
    </s:VGroup>

</s:Application>
Co bych doporučil méně (ale považuji také za přínosné) je jednak kniha Flex 4 in Action. Není to špatná knížka, oproti té výše uvedené je dosti ukecaná. Na druhou stranu obsahuje některé pokročilejší témata, např. letmá zmínka o BlazeDS.

Vyloženě špatný také není preparation kit od uCertify, který ale nepokrývá všechna témata zkoušky (nejspíš to připravovali na nějaké betě :-/ Určitě ho ale lze použít jako doplňující materiál.

Na závěr jsem si nechal lahůdku - aneb před čím bych důrazně varoval. Rozhodně se vyhnout produktům firmy Pass4sure!!! Otřesná kvalita, chyby, hrozný!!! V 60 otázkách jsem napočítal 12 zcela jasně chybných "správných" odpovědí a u pár dalších si myslím, že je měli taky špatně. Otřesný.

Kromě výše zmíněných materiálů, které jsem si nechal koupit od firmy, jsem v průběhu učení se "objevil" OneNote, do kterého jsem si začal "psát" poznámky ke zkoušce. Protože jsem si je ale začal psát až v průběhu, jsou nekompletní, nicméně třeba to někomu pomůže:

Příprava na Flex certifikaci (PDF)

4. listopadu 2011

UML certifikace, OCUP Intermediate

Právě jsem se čerstvě UML certifikoval, ještě mám vedle sebe "kouřící" report. Celá certifikace se jmenuje OMG-Certified UML Professional Intermediate Exam :-) zkráceně OCUP Intermediate. Nebylo to úplně jednoduché, nicméně jsem prošel se skóre 45/70 (passing score je 31/70).

Jako přípravu jsem primárně použil prep-kit UM0-200 od uCertify. Buď už mám těch certifikací moc a jsem zmlsaný, nebo zrovna tohle nebyl úplně povedený kit, každopádně ho nedoporučuju použít jako jediný zdroj na zkoušku. Nicméně i když jsem s jeho kvalitou nebyl úplně spokojený, i tak mi dost pomohl.

Naopak bych vřele doporučil knížku UML Certification Guide: Fundamental & Intermediate Exams. Bohužel jsem jí nevěnoval dostatek času - určitě bych pak měl lepší skóre. Jenom je škoda, že knížka už neobsahuje poslední, závěrečnou certifikaci (OCUP Advanced). Tu bych si chtěl časem také udělat a zatím nevím, jaké materiály pro to zvolit.

Kvůli certifikaci jsem si pořídil ještě jednu knížku (už jsem o ní psal): UML Distilled od Martina Fowlera. Jednak jsem si chtěl trochu šířeji oživit UML samotné a jednak jsem ji použil jako sekundární zdoj. Řekl bych, že se celkem hezky doplňovala s prep-kitem od uCertify.

Závěrem. Myslím, že zdroje jsem si zvolil správně, jenom jsem měl být trochu důslednější (= méně líný) při čtení UML Certification Guide.


11. srpna 2011

Destilované UML

V rámci přípravy na druhý stupeň UML certifikace jsem si koupil (a přečetl) knížku Martina Fowlera UML Distilled s podtitulem A Brief Guide to the Standard Object Modeling Language. Fowler se zaměřuje na dvě hlavní témata: jednak celkový přehled všech UML diagramů ve verzi 2.0 (kde až na výjimky nejde moc do hloubky - opravdu brief guide) a jednak zasazení diagramů do kontextu SW vývoje/designu/analýzy - zde můžou být (pro někoho) cenné jeho  postřehy a doporučení o použitelnosti jednotlivých diagramů.

Knížka to není špatná (dal jsem jí čtyři hvězdičky), nicméně pro moji aktuální potřebu se moc nehodí. Celkový přehled diagramů byl fajn pro oživení UML oblasti. Ovšem vzhledem k účelu, ke kterému jsem si knihu pořídil tam byl nevhodný poměr mezi specifikací UML a popisem/vysvětlováním různých oblastí SW engineerství (= málo UML). Navíc celý ten "projektový" kontext, kterým Fowler UML ve své knize obalil (např. iterativní vývoj), už byl mnohokrát popsán jinde. Pro certifikaci samotnou tedy spoléhám spíše na doporučený (oficiální) studijní materiál UML 2 Certification Guide a sadu zkušebních testů.

Na závěr ještě poznámka ke Kindle edici knížky. Vzhledem k tomu, že Fowler je u daného diagramu někdy velmi stručný, velmi často odkazuje do bibliografie a doporučuje další čtení k prohloubení tématu. Bohužel, biblio reference jsou uvedeny pouze jako klíč obyčejným textem - pokud si tedy v textu přečtu, že výborným doplňujícím zdrojem k tématu je [McConnell] a nemůžu si jednoduše kliknout a navíc navigace knihy neumožňuje jednoduše skočit do sekce bibliografie, tak je to otravné až frustrující. Dalším, již méně otravným (nicméně také bych jej párkrát využil) nedostatkem je nemožnost listovat mezi kapitolami.

P.S.: Pro ty, co jsou zvědaví, co se skrývá pod klíčem [McConnell], tak je to Rapid Development: Taming Wild Software Schedules od Steva McConnella.