LINUXZONE






 >> Hlavní stránka

(1713/30.07.2010)


 >> Administrace

(160/29.07.2010)


 >> Literatura

(305/28.07.2010)


 >> Bezpečnost

(340/30.07.2010)


 >> Programování

(307/19.04.2010)


 >> Distribuce

(97/09.06.2010)


 >> Síťování

(86/03.06.2010)


 >> Lokalizace

(10/15.09.2004)


 >> Aplikace

(175/12.04.2010)


 >> Multimedia

(32/31.03.2006)


 >> Hardware

(45/02.03.2007)


 >> Začínáme

(228/24.06.2010)


 >> Aktuálně

(556/27.07.2010)


 >> RELAX

(201/26.07.2010)


 >> Jinde vyšlo

přehled ostatních serverů




 Přihlášení




Login:
Heslo:
 uložit v prohlížeči


Nejste-li ješte zaregistrováni, můžete tak učinit zde.





 Vyhledávání




Hledaný výraz:
v klíčových slovech
v titulku
v anotaci
v textu








 Reklama









 Servis




*   Vaše náměty a připomínky
Máte k Linuxzone.cz nějaké připomínky nebo náměty? Našli jste na stránkách chybu? Dejte nám o tom vědět pomocí formuláře nebo v diskuzi.
Komentářů: 30
*   Podpořte Linuxzone.cz
Chcete podpořit náš server umístěním odkazu nebo zveřejněním backendu? Zde najdete vše potřebné.
*   Pište pro Linuxzone.cz
Máte zájem podílet se na obsahu Linuxzone.cz ať už jako redaktoři nebo i jinak? Dejte nám o sobě vědět!





 Aktuálně z bezpečnosti




-- 
6.12.2005, 19:01
Na serveru informit.com vyšla ukázková kapitola týkající se práce s řetězci z knihy Secure Coding in C and C++. (lz)

-- 
3.12.2005, 12:34
Bugtraq: Format String Vulnerabilities in Perl Programs. (lz)

-- 
3.12.2005, 12:32
Linux Advisory Watch December 2nd 2005. (lz)

-- 
23.10.2005, 13:28
Rozhovor na téma klasické zálohování versus CDP. (lz)

-- 
23.10.2005, 13:24
Linux Advisory Watch October 21st 2005. (lz)

další >>





 Aktuálně o software




-- 
6.12.2005, 19:07
Potřebujete-li pod linuxem rozchodit bezdrát založený na čipsetech Broadcom 43xx, konečně existuje linuxový ovladač. (lz)

-- 
6.12.2005, 19:04
Byla uvolněna verze Xen 3.0.0 virtualizační technologie XEN. (lz)

-- 
6.12.2005, 18:59
Byla uvolněna verze X11R6.9/X11R7 RC 3 grafickérho rozhraní X Window System. (lz)

-- 
3.12.2005, 12:45
Co je nového okolo projektu Amanda (open source zálohovací software)? Více na osnews.com. (lz)

-- 
3.12.2005, 12:40
Jak to akuálně v linuxu vypadá s podporou SATA.. (lz)

další >>





 Aktuálně z IT




-- 
3.12.2005, 12:51
Novellu se daří prodej linuxových produktů, oproti loňskému roku se Novell dočkal výrazného nárůstu. (lz)

-- 
3.12.2005, 12:48
Třetí verzi licence GPL by měla být publikována během jara 2007. (lz)

-- 
23.10.2005, 13:20
V Peru nyní mají zákon, který umožňuje nasazení open source software ve vládní správě. (lz)

-- 
23.10.2005, 13:14
Proč se Microsoft bojí Google? (lz)

-- 
27.9.2005, 22:01
Peru má zákon podporující free software. (lz)

další >>





 Nejčtenější články




-- 
Hurd včera dnes a zítra

-- 
XEN aneb virtualizujeme (3/6)

-- 
Security Digest (15/2010)

-- 
Fotografický ateliér

-- 
XEN aneb virtualizujeme (4/6)

-- 
Novinky ze světa svobodného software (16/2010)

-- 
Gamesárium [138]

-- 
Proč používat svobodný software?

-- 
Velká kniha sportovní fotografie

-- 
Security Digest (16/2010)






 Nejlepší články




-- 
Gamesárium [138]

-- 
Datové struktury bez předchozích znalostí

-- 
XEN aneb virtualizujeme (4/6)

-- 
XEN aneb virtualizujeme (3/6)

-- 
Security Digest (16/2010)

-- 
Novinky ze světa svobodného software (17/2010)

-- 
Velká kniha sportovní fotografie

-- 
XEN aneb virtualizujeme (5/6)

-- 
Security Digest (15/2010)

-- 
Proč používat svobodný software?






 Anketa




Používáte nějaké rozšíření bezpečnostního modelu linuxového jádra?

Openwall (18%)

LIDS (12%)

Pax/Grsecurity (3%)

SELinux (6%)

RSBAC (1%)

jiné (1%)

používám standardní jádro (59%)







Linuxzone.cz - server o Linuxu pro programátory, administrátory a fanoušky.
Provozuje společnost Impossible.
ISSN: 1213-8738





Java efektivně - 57 rad softwarového experta

V letošním roce připravila Grada pro českou komunitu javových vývojářů překlad titulu Joshua Blocha: Effective Java - Programming Language Guide. Důvodem, proč jsem si knihu okamžitě koupil, bylo to, že ačkoliv s Javou pracuji již několik let, myslím že jeden z autorů základních balíků Javy mě má rozhodně co říci. Kniha slibuje být souhrnem správných i odstrašujících příkladů a zdůvodnění proč něco bude fungovat špatně či vůbec ne. V knize obsažených 57 rad je rozčleněno do deseti kapitol. Od čtenáře se očekává, že má s Javou má alespoň základní zkušenost.

První kapitola Vytváření a rušení objektů radí při používání factory (továrních) metod, návrhového vzoru singleton (zde přeloženo jako "jedináček") a v neposlední řadě varuje před zbytečným a nesprávným použitím finalizátorů.

V druhé kapitole Metody společné všem objektům se autor podrobně zabývá metodami základní třídy Object a jak je správně překrývat. Stejně jako první kapitola i tato má za cíl napravovat "začátečnické" chyby.

V kapitole Třídy a rozhraní nejde jen o Javu, ale i o obecnější objektový návrh. Jsou zde diskutovány otázky přístupnosti tříd a jejich členů, neměnitelných tříd, otázka volby mezi skládáním a děděním a mezi použitím rozhraní a abstraktní třídy.

Jak napovídá název další kapitoly Náhrady konstrukcí jazyka C, čtenář zde nalezne jak v Javě implementovat "obstarožní" (céčkaři prominou :-)) céčkové konstrukce jako struktury, sjednocení, výčtové typy a ukazatele na funkce. Velká pozornost je věnována správné implementaci bezpečných výčtových typů. Rozhodně zaslouženě. Spousta javistů totiž stále ráda píše:

public static final int HODNOTA_1 = 0;
public static final int HODNOTA_2 = 1;
    

místo aby vytvořili speciální třídu a její různé instance přiřadily konstantám HODNOTA_1,2...

Další tři kapitoly opět zasahují do softwarového inženýrství a rady v nich obsažené neplatí jen pro Javu. Jsou to kapitoly Metody, Obecné programování a Výjimky.Některé názvy rad mohou znít trochu lapidárně, třeba "Optimalizujte rozumně" či "Neignorujte výjimky", avšak oprávněnost těchto rad je asi podložena autorovými špatnými zkušenostmi s cizím kódem. Třeba na začátku rady "Používejte výjimky pouze pro výjimečné podmínky" je (souhlasím s autorem, že v skutku úděsný) příklad ukončení cyklu pro průchod polem vyhozením výjimky. Ideou této rady je nezneužívat výjimek k řízení toku a API navrhovat tak, aby šlo předcházet vzniku výjimky testováním, zda lze nějakou metodu korektně vyvolat. Za příklad slouží metody hasNext() a next() rozhraní Iterator a výjimka NoSuchElementException. Pokud myslíte, že předchozí se vás netýká, tak - ruku na srdce - co rady "Minimalizujte obor platnosti lokálních proměnných" nebo "Vracejte pole nulové délky a nikoliv null"? U těchto rad je pěkně demonstrováno, jak lze jejich nedodržením zavést chyby a zbytečně komplikovat kód. A to nejen vlastní, ale i kód uživatele našeho API.

Předposlední kapitola pojednává o vláknech a začíná vyvrácením mýtu, že synchronizace v Javě slouží pouze pro vzájemné vyloučení. Čtenář je také důrazně varován před psaním aplikace pro určitý konkrétní plánovač vláken, protože politika přepínání vláken není součástí specifikace Javy a na různých implementacích se může lišit.

Posledních pět rad knihy tvoří kapitolu Serializace. Nejprve je podrobně diskutována otázka, kdy má třída rozhraní Serializable implementovat, a dále, zda použít vlastní serializovanou formu. Autor rozebírá klady i zápory všech možností. Stejně jako v předchozím textu, i zde je průvodní ideou zajištění bezpečnosti a kompatibility.

Vedle kvalitního věcného obsahu rad musím pozitivně zhodnotit i jejich počet. Rad je "tolik, kolik jich vyšlo" (57), nikoliv nějaké kulaté číslo, třeba 99 či 999, takže v knize nenajdete žádné "vatové" či příliš akademické rady. Průměrná délka rady je 3,5 stránky (nejdelší má stránek deset) a prakticky každá je demonstrována fragmenty kódu. Další výhodou, a opravdu to považuji za výhodu, je to že kniha pokrývá jazyk Javy (případně balíky java.lang a java.util) a její principy, nikoliv desítky balíků a mnoha tříd v nich. Kniha tak není tlustou "nečtivou" sbírkou tisíce rad, které ani nemusíte potřebovat, ale dá se přečíst skoro jako román.

Závěrem se chci pozastavit u kvality českého překladu. Protože jsem zvyklý i při komunikaci s českými kolegy používat anglické termíny (byť někdy trochu "počeštěné"), zaujal mě hned v radě číslo jedna překlad tovární metoda (factory method). Možná je to v tomto případě jen můj nezvyk (ovšem jak by se přeložil refactoring? :-)). Nevím však, zda bylo nutné překládat singleton na jedináček. Ale budiž. Když jsem se však dále v radě číslo jedna (str. 16, poslední odstavec) dočetl, že: "Třída může mít jen jediný konstruktor s daným podpisem.", začal jsem horečně přemýšlet o jaké (snad digitální) podepisování zde jde. Ale chyba lávky. Podpis zde pochází ze signature, pro což programátoři v češtině snad nepoužívají nic jiného než signatura či hlavička (konstruktoru/metody/funkce). Podle mě tedy překladatel nebyl s používanou terminologií příliš dobře obeznámen. Mému jazykovému cítění se trochu příčil i často používaný tvar komparativu "zabezpečenější". Z jiného jazyka než českého mi také připadla věta (rada 37): "Snažte se vyhýbat rozhodnutím návrhu, která omezují výkonnost". Není na vině, že překladatel Karel Voráček byl zároveň sám sobě odpovědným redaktorem.?

Představená kniha splňuje co slibuje. Není sice ani učebnicí softwarového inženýrství, návrhových vzorů ani vícevláknového programování v Javě, ale poskytuje množství dobře napsaných srozumitelných rad od člověka, který navrhl a implementoval část API Javy. Tato kniha rozhodně patří na stůl každého (současného i budoucího) profesionála.

Java efektivně. 57 rad softwarového experta. J. Bloch. Grada Publishing, 2002. 232 černobílých stran. ISBN 80-247-0416-1. Doporučená cena 290 Kč.

Hodnocení:5/5

Autor: Petr Šlegr, 13. 12. 2002, 12:00
Sekce Literatura, Komentářů: 3
Průměrné hodnocení: 3,08

o Poslat e-mailem
o Tisk článku
o Uložit do profilu


 Přispějte nám




Líbil se Vám tento článek? Můžete ho ocenit zavoláním na tel. číslo 906 460 134.
Cena hovoru za 1 minutu je 46 Kč.





 Hodnocení článku




Článek hodnotím jako:  [1] výborný   [2] dobrý   [3] průměr   [4] špatný   [5] hrůza  





 Komentáře




--

xX, 16. 12. 2002 14:56
ta kniha je opravdu skvela












--

Jan Halasa, 15. 12. 2002 13:26
Paradna kniha












--

Pantagriel, 14. 12. 2002 15:29
Good!!!















PŘIDAT KOMENTÁŘ ZOBRAZ VŠE >>










2002 © Impossible, s.r.o.   >> Kontaktujte redakci >> Právní upozornění >> Reklama