Články z kategorie 'Knihovna'

Knížky k rozebrání zdarma

Rozebráno – kromě 3 knih vše bude v Node5. A Node5 k tomu dodává – berem vsechny! a kdyz by nekdo nejakou potreboval, muze se u nas pro ni stavit ;)

Je na čase hodit za hlavu moji programátorskou minulost. Mám cca 50 knížek o programování, kterých se rád zdarma zbavím. Dávám tomu tak měsíc, pak půjdou do tříděného odpadu. Ideální by bylo, kdyby si je někdo vzal najednou – napadá mě – co třeba Node5 – tam je plno technologických startupů – nechcete? Klidně knížky osobně odvezu (po Praze).

Tady je seznam knížek.

  • Adobe Photoshop 6 – uživatelská příručka (CZ)
  • JSP – podrobný průvodce začínajícího tvůrce (CZ)
  • Flash 5 pro grafiky a tvůrce webů (CZ)
  • Dynamické HTML 2. vydání (CZ)
  • Web development with Java Server Pages (EN)
  • Acegi security framework – reference documentation 0.9.0 (EN)
  • Better builts with Maven 2.0 (EN)
  • Sql and Plsql (EN)
  • Beginning Java server pages (EN)
  • Hibernate reference documentation 3.0.5 (EN)
  • Patterns of enterprise application architecture (EN)
  • Seam contextual components 1.0.1 (EN)
  • The Java EE 5 tutorial 3rd edition (EN)
  • Begining Jboss Seam (EN)
  • Your first cup – An introduction to the Java EE platform (EN)
  • Design patterns Java workbook (EN)
  • Spring reference documentation 1.2.6 (EN)
  • Pro Ejb 3 – Java persistence API (EN)
  • Spring Webflow reference documentation 1.0.1 (EN)
  • Hibernate in Action (vytistena) (EN)
  • Design patterns Java companion (EN)
  • J2EE development without EJB (EN)
  • CSS pro zelenáče – Martin Snížek (CZ)
  • Programming with C# (EN)
  • Masterign enterprise JavaBeans 3.0 (EN)
  • Complete Java 2 cerfitication – Study guide, 5th edition (EN)
  • Ajax Patterns and best practises (EN)
  • Python standard library (EN)
  • Ajax Rest Recipes (EN)
  • Agile development With Rails (EN)
  • Ruby Cookbook (EN)
  • Service Oriented Architecture (EN)
  • Java server faces – the complete reference (EN)
  • Java servlety a stránky JSP (CZ)
  • Oracle – návrh a tvorba aplikací (CZ)
  • C# v kostce (CZ)
  • .NET framework programování aplikací (CZ)
  • Building portals with Java portlet API (EN)
  • Core JavaServer Faces (EN)
  • Programming in objective-C (EN)
  • Magento – příručka českého uživatele (CZ)
  • Java performance tuning (EN)
  • Quartz job scheduling framework (EN)
  • Ruby Cookbook (EN)
  • The iPhone developer Cookbook (EN)
  • Java Persistence with Hibernate (EN)
  • Drupal – podrobný průvodce tvorbou a správou webů (CZ)

Některé knížky jsou vytisknuté na A4, něco originály.

Knížky lze vyzvednout po předchozí domluvě u mě v kanceláři – Maternia, Na Slatince 3284/1, 106 00 Praha 10

Celý článek 3 komentářů 5. February 2013

Programování řízené testy

Mám to potěšení napsat pár řádků o knize od Kenta Becka s názvem Programování řízení testy (v anglickém originálu Test Driven Development: By Example).

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 (test driven development). Pracovní postup je zde odlišný – před psaním samotnéhé kódu napíšete testy – sadu podmínek, které musí výsledná aplikace splňovat.

Pokud tímto způsobem ještě neprogramujete může být pro váš těžké si to představit v praxi. A právě k tomu je výborná kniha, o níž pojednává tento článek.

Obsah knihy

Kniha je rozdělena na tři velké části:

Část první – Příklad s penězi

V této části, která tvoří polovinu celé knihy, autor prochází od samého začátku příkladu s finančními operacimi ve více měnách. Na začátku práce je virtuální list papíru, na který si píšeme požadavky na výsledný program. Poté se započne s napsáním testu na tu nejjednodušší funkčnost. Slyšíte správně – nepíšou se žádné třídy – rovnou testy, ve kterých se s klidem odvoláváme na neexistující třídy a metody.

Následuje spuštění testu – test samozřejmě neprojde. Dalším krokem je sprovoznění testů – s nejmenším možným odporem. Pokud tedy máme mít metodu na sčítání dvou čísel a test vypadá takto:

public void testFoo() {
     this.assertEquals(3, myClass.foo(1, 2);
}

Tak nejjednodušší implementace metody foo pro projití testem bude vypadat:

public void foo(int a, int b) {
     return 3;
}

Možná si řeknete, že je tento postup hloupý, ale jedním z pravidel TDD je psát pouze kód, který projde testy. Nic navíc. Když přidáte další testy bude samozřejmě potřeba metodu foo upravit. Vývoj pomocí TDD má následující cykly:

  1. Napsání nového testu a jeho spuštění
  2. Úprava kódu programu tak, aby nový test prošel (a s ním samozřejmě všechny předcházející)
  3. Refaktorizace kódu (např. kvůli odstranění duplicit)

V první části je v použit programovací jazyk Java.

Část druhá – Příklad s xUnit

xUnit je název pro testovaný rámec, který se v příkladu vytváří. Tentokrát je použit jazyk Python. Obsah kapitoly je podobné té první – opět návrh programu from scratch pomocí TDD.

Část třetí – Vzory pro vývoj řízený testy

V této části autor mluví o návrhových vzorech, refaktorizaci, testovacích vzorech atd.

Na závěr krátký citát z knihy:

Jednou z velkých frustrací mého života mladého inženýra bylo zahájit projekt s obrovským nadšením a pak sledovat, jak se kód během doby hatí. O rok později jsem si už nepřál nic jiného, jen ten teď už smradlavý kód zahodit a dostat nový projekt. TDD vám umožní získat během času důvěru ve váš kód, Jak se testy hromadí (a vaše testování zlepšuje), získáváte důvěru v chování systému. Jak vylepšujete návrh, můžete dělat stále více a více změn. Mým cílem je, abych se po roce cítil ohledně projektu lépe, než když jsem nadšeně začal s růžovými brýlemi na nose.

Závěr

Věřím, že hodně z vás už tuto knihu četlo – často bývá zmiňována jako základní publikace z této oblasti. Útlá knížečka je psaná čtivým (a srozumitelným) jazykem. Je to čtení na pár večerů.

Informace o knize
Název
Test Driven Development: By Example
Autoři
Kent Beck
Vydal
Addison-Wesley Proffesional
ISBN
0321146530
Datum vydání
2003
Počet stran
204

Celý článek 6 komentářů 11. October 2007

Hibernate in Action

Hibernate in ActionKnihu Hibernate in Action jsem přelouskával (s určitými přestávkami) po večerech pár měsíců. Zpočátku jsem ji používat pouze jako referenční příručku – nahlížel jsem do ní pouze když jsem potřebaval zjistit řešení nějakého problému. Po přečtení několika fragmentů kódu jsem zjistil, že bude dobré přečíst si knihu celou.

S odstupem času musím dát za pravdu podtitulu knihy – A guide to the concepts and practise of object/relational mapping. Hned v první kapitole Understanding object/relational persistence kniha vysvětluje základní přístupy a problémy při mapování objektů do relační databáze.

Nechci zde uvádět popis každé kapitoly, pouze v několika bodech zmíním co všechno se lze v knize dozvědět:

  • typy vazeb mezi objekty a velmi detailní popis jejich mapování v Hibernatu včetně příkladů
  • různé způsoby performance tunningu (batch fetchning, outer join, query cache)
  • popis Hibernate Session a SessionFactory
  • popis lifecyclu persistentních objektů
  • popis first a second level cache Hibernatu
  • konkurenční přístup k datům a strategie řešení tohoto problémů
  • transakce
  • podrobný popis nástrojů, které pomáhají urychlit vývoj softwaru pomocí Hibernatu a také pomáhají udržet konzistentní mode napříč všemi úrovněmi datového modelu. Mám na mysly DDL, hibernatí HBM souboru a POJOs. Ukázáno je i použítí XDocletu.

Zárukou kvality knihou jsou i její autoři. Christian Bauer napsal i další publikace o Javě – například Java Persistence with Hibernate. Gavin King je samotným autorem Hibernatu.

Závěr

Jak je z předchozích řádků vidět – kniha se mi libila s všem začínajícím programátorům, koho výraz ORM se spojení s jakou zajímá, ji doporučuji k přečtení.

Během čtení knihy jsem naprogramoval PHP based ORM framework eVent, který jsme ve Venturii s úspěchem použili na více než desítce projektů. Umí toho sice zlomek toho co Hibernate, ale z velké části pokrývá naše potřeby. Mezi zajímavé vlastnosti patří automatické generování UI a validačního kódu pro doménové objekty. Jen pro zajímavost – metainformace má eVent uložen přímo ve zdrojovém kódu doménových objektů – v komentářích. PHP od verze 5.1 umí pomocí reflexe přistupovat ke komentářům. Funguje to tedy podobně jako vzpomínaný XDoclet s tím rozdílem, že XDoclet má své místo při compile-timu a eVent ke komentářům přistupuje při runtimu.

Informace o knize

Název
Hibernate in Action
Autoři
Christian Bauer, Gavin King
Vydal
Manning Publications Co.
ISBN
1932394–15-X
Datum vydání
2005
Počet stran
400

Celý článek 2 komentářů 24. April 2007

Uml srozumitelně - recenze

Právě se mi podařilo dočíst další knihu. Jedná se o titul Uml srozumitelně od autorů Hany Kanisové a Miroslava Müllera. K přečtení této knihy mě donutili okolnosti. Ve firmě jsme měli za úkol naprogramovat novou softwarovou komponentu. A protože její fungování bylo celkem složité a nešlo popsát pár řádky kódu přišlo na řadu UML.

Kniha je dobrým průvodcem základy UML. Myslím, že kdo to myslí s OOP vážně musí, alespoň na úrovni dobrému pozorumění diagramům, UML ovládat. Po přečtení knihy jsem se začal dívat na problematiku OOP z dalšího úhlu pohledu.

Celý článek Přidat komentář 5. March 2007


Kalendář

June 2017
M T W T F S S
« Jan    
 1234
567891011
12131415161718
19202122232425
2627282930  

Články podle měsíců

Kategorie

Locations of visitors to this page