Miroslav Virius, Neocortex, Praha 2001, 1. vydßnφ, 240 stran, cena 249 KΦ, v ΦeÜtin∞, ISBN 80-902230-9-5
Programovacφ jazyk Java je jednφm ze Ülßgr∙ poslednφ doby. Od roku 1995, kdy byl p°edstaven, v n∞m zaΦalo pracovat p°es Φty°i miliony programßtor∙ a jejich poΦet stßle stoupß. Je to jazyk, kter² vychßzφ vst°φc souΦasn²m pot°ebßm a kter² umo₧≥uje (jak alespo≥ tvrdφ jeho zastßnci) zdvojnßsobit produktivitu prßce oproti klasick²m programovacφm jazyk∙m typu C++.
S rostoucφ popularitou jazyka roste i poptßvka po jeho uΦebnicφch. Jednou z poslednφch je i recenzovanß kniha. Autor ji psal pro naprostΘ zaΦßteΦnφky bez jak²chkoliv p°edb∞₧n²ch znalostφ programovßnφ a opravdu na poΦßtku vysv∞tluje, co je to procesor, operaΦnφ pam∞¥ a dalÜφ triviality, jejich₧ v²znam dnes znß ka₧d² jen trochu zkuÜen∞jÜφ u₧ivatel. Vzßp∞tφ vÜak zaΦne Javu porovnßvat s jazykem C++, kterΘmu se v∞tÜina mΘn∞ zkuÜen²ch programßtor∙ uctiv∞ vyh²bß a zaΦßteΦnφci Φasto ani netuÜφ, ₧e n∞co takovΘho v∙bec existuje. Dobrß, odpus¥me mu to a mysleme si, ₧e je to kapitolka pro uΦitele, kter² by cht∞l podle tΘto knihy uΦit.
Kdy₧ jsem se do knihy zaΦetl, lφbila se mi Φφm dßl vφc. Autor toti₧ dokß₧e psßt tak, aby se dob°e Φetla a aby vyklßdanß lßtka snadno "tekla do hlavy". P°itom nic neslevuje z preciznosti vysokoÜkolskΘho uΦitele matematiky, tak₧e oslovφ i programßtora, kter² hledß p°esn² popis n∞kterΘ vlastnosti Φi funkce. Navφc se nestane, ₧e byste v knize narazili na tvrzenφ, p°i nich₧ se odbornφkovi otevφrajφ no₧e v kapse i v kredenci. A to se o °ad∞ knih °φci nedß. Ne ₧e by se do textu nevloudila chybiΦka (nap°. s tvrzenφm, ₧e k soukrom²m slo₧kßm majφ p°φstup potomci ve stejnΘm balφku, p°ekladaΦ zßsadn∞ nesouhlasil), ale to nijak nesnφ₧ilo celkov∞ dobr² dojem, kter² je podtr₧en i Φist²m layoutem, jen₧ napomßhß dobrΘ orientaci v knize. JedinΘ, co mi trochu vadilo, bylo, ₧e si autor zßsadn∞ "mykß" (ne°ekne "radφm vßm", ale "radφme vßm"). PisatelΘ souΦasn²ch knih se ji₧ v∞tÜinou nebojφ °φci "jß".
Vra¥me se ale k obsahu. Autor se v knize neomezil jen na zßkladnφ vlastnosti jazyka, ale v zßv∞reΦn²ch kapitolßch vysv∞tluje na p°φkladu hry PiÜkvorky i n∞kterΘ mo₧nosti a funkce grafickΘ knihovny, tak₧e se Φtenß° nauΦφ vytvß°et a pou₧φvat dialogovß a aplikaΦnφ okna s tlaΦφtky a vstupnφmi poli. Na zßv∞r nezapomn∞l ani na dalÜφ vyhledßvanou Φinnost, kterou je tvorba aplet∙.
Knihu bych doporuΦil vÜem, kdo se rozhodli vstoupit do sv∞ta programovßnφ v jazyku Java. Ocenφ ji nejen zaΦφnajφcφ programßto°i, ale i ti zkuÜen∞jÜφ, kte°φ se cht∞jφ seznßmit se zßklady tohoto jazyka a neprahnou po tom, znßt jazyk do vÜech podrobnostφ (nebo mo₧nß p°esn∞ji: nechce se jim utrßcet za tlustou Eckelovu uΦebnici).
Rudolf Pecinovsk²
Core Servlets and JavaServer Pages
Marty Hall, Prentice Hall 2000, 575 stran, cena 42,99 USD, anglicky, ISBN 0-13-089340-4
Servlety p°edstavujφ dnes v prost°edφ WWW velice ₧ßdanou technologii. I kdy₧ je jejich zßkladnφ princip velice jednoduch² a najdeme ho v °ad∞ manußl∙, p°ece jen jejich programovßnφ v sob∞ skr²vß nejeden problΘm. TakΘ strßnky JavaServer Pages (JSP), kterΘ p°edstavujφ rozÜφ°enφ, nebo p°esn∞ji nadstavbu technologie servlet∙, vypadajφ na pohled jednoduÜe, ale skuteΦnost m∙₧e b²t podstatn∞ slo₧it∞jÜφ.
Kniha M. Halla nabφzφ vyΦerpßvajφcφ p°ehled obou t∞chto technologiφ. Mß t°i Φßsti. V prvnφ se seznßmφme s tφm, co to je servlet, jak funguje, jak reaguje na r∙znΘ typy po₧adavk∙, jak ho ladit atd. Vedle toho poznßme i nejb∞₧n∞jÜφ webovΘ servery (Tomcat, Java Web Server, JSWDK), postup jejich konfigurace a instalaci servlet∙ na nich. Ve druhΘ Φßsti se nauΦφme vytvß°et a ladit strßnky JSP. Zde autor hovo°φ i o spoluprßci JSP a servlet∙ atd. Najdeme tu i kapitolu o vytvß°enφ u₧ivatelsk²ch znaΦek JSP a jejich knihoven. T°etφ Φßst obsahuje p°ehled podp∙rn²ch technologiφ, kterΘ se servlety a JSP sice p°φmo nesouvisφ, ale bez nich₧ se neobejdeme. Najdeme tu p°ehled vytvß°enφ formulß°∙ HTML, o pou₧itφ aplet∙ jako u₧ivatelskΘho rozhranφ servlet∙ a zßkladnφ informace o prost°edcφch pro p°ipojenφ k databßzφm (JDBC).
Dodatek obsahuje struΦn² p°ehled technologie servlet∙, JSP, JDBC a formulß°∙ v HTML.
Autor samoz°ejm∞ p°edpoklßdß, ₧e Φtenß° umφ programovat v Jav∞ b∞₧nΘ aplikace a aplety a ₧e znß zßklady znaΦkovacφho jazyka HTML. V²klad doprovßzejφ p°φklady, jejich₧ zdrojov² k≤d lze najφt na internetu. Autor zaΦφnß u p°φklad∙, kterΘ svou slo₧itostφ nep°esahujφ znßm² "Hello, world", ale velice brzy se dostane k p°φklad∙m, kterΘ lze pova₧ovat za skuteΦnΘ aplikace. Kniha obsahuje ·plnΘ, nijak nekrßcenΘ zdrojovΘ texty, tak₧e se v nich lze snadno orientovat. Pokud autor ukazuje n∞kolik variant tΘho₧ p°φkladu, zv²raz≥uje rozdφly ve zdrojovΘm textu. Kniha je navφc napsßna Φtiv∞, mφsty mo₧nß a₧ p°φliÜ "odvßzan²m" jazykem. P°φpadnΘ nejasnosti lze ovÜem snadno pochopit z doprovodn²ch p°φklad∙.
V²klad je zalo₧en na Jav∞ 1.1, tak₧e vÜechny p°φklady by m∞ly b²t snadno p°enositelnΘ na prakticky vÜechny webovΘ servery. Je to velice u₧iteΦnß a dob°e napsanß kniha, kterou ocenφ vÜichni, kdo se chystajφ psßt JSP nebo servlety.
Miroslav Virius
Modern C++ Design
Generic Programming and Design Patterns Applied
Andrei Alexandrescu, Addison Wesley Longman Inc., 2001, 323 stran, cena 39,95 USD, v angliΦtin∞, ISBN 0-201-70431-5
èablony, Üablony a nic ne₧ Üablony - tak n∞jak by se dala charakterizovat tato kniha. Pokud je vßm jmΘno autora neznßmΘ, zkuste se podφvat na internetovΘ strßnky Φasopisu C/C++ User's Journal (www.cuj.com). Asi vßs pak nep°ekvapφ, ₧e autorova p°ezdφvka je Mr. Template.
Setkal jsem se ji₧ s n∞kolika knihami typu "Myslφme v C++", kterΘ vyklßdaly C++ trochu jednostrann∞ se zam∞°enφm na objektov∞ orientovanΘ programovßnφ. GenerickΘ programovßnφ bylo tΘm∞° v₧dy stranou zßjmu. Modernφ C++ u₧ nejsou jen objekty, ale takΘ pom∞rn∞ propracovan² mechanismus Üablon, kter² umo₧≥uje n∞kdy a₧ neskuteΦnΘ v∞ci. Vφte nap°φklad, ₧e v dob∞ p°ekladu m∙₧ete vytvß°et a pou₧φvat (meta)seznamy typ∙ tak, jako za b∞hu programu pou₧φvßte seznamy dat (nap°. std::list)? Äe obyΦejn² operßtor sizeof lze pou₧φt k testovßnφ d∞diΦnosti dvou objekt∙ v dob∞ p°ekladu, a tedy ₧e typovΘ metaseznamy lze set°φdit podle d∞diΦnosti? O tom, ₧e nejde jen o samo·ΦelnΘ akademickΘ h°φΦky, vßs p°esv∞dΦφ tato publikace.
Kniha je rozd∞lena na dv∞ Φßsti. V prvnφ Φßsti jsou probrßny programovacφ techniky. Dozvφme se o nßvrhu t°φd pomocφ t°φd politik (policy class), co₧ je vlastn∞ generickß obdoba komponentovΘho programovßnφ, o typov²ch metaseznamech, o mapovßnφ cel²ch Φφsel na typy nebo mapovßnφ typ∙ na typy, o t°φdßch rys∙ a o mnoha dalÜφch u₧iteΦn²ch zßle₧itostech. Je zmφn∞n i problΘm ΦastΘ alokace mal²ch objekt∙. Samoz°ejm∞ ₧e autor nabφdne vhodnΘ °eÜenφ.
Druhß Φßst je zam∞°ena na °eÜenφ praktick²ch problΘm∙ pomocφ technik z prvnφ Φßsti. Nejd°φve probereme zobecn∞nΘ funkce neboli funktory, poskytujφcφ uniformnφ rozhranφ pro volßnφ Φehokoli v C++, vΦetn∞ mo₧nostφ zpo₧d∞nΘho volßnφ (delayed call). Nßsleduje implementace singletonu (t°φda s nejv²Üe jednou instancφ), vΦetn∞ rozebrßnφ r∙zn²ch p°φpad∙, jako nap°. dlouhov∞kosti a FΘnix-singletonu. O tom, ₧e jednoduchost konceptu chytrΘho ukazatele je jen zdßnlivß, se dozvφme dßle. TakΘ jste n∞kdy pot°ebovali "virtußlnφ" konstruktor? èablonovΘ object factories jsou tu pro vßs. Na zßv∞r se dozvφte n∞co o multimetodßch, co₧ je vlastn∞ zobecn∞nφ virtußlnφch funkcφ.
V²klad je velice peΦliv² a je doprovßzen spoustou p°φklad∙. Jsou probrßny a vysv∞tleny r∙znΘ mo₧nosti p°φstupu k danΘmu problΘmu, vΦetn∞ slep²ch cest a nßstrah. Velice sympatickΘ je, ₧e kniha vlastn∞ popisuje ji₧ hotovou C++ knihovnu Loki, kterou si m∙₧ete stßhnout ze strßnek vydavatele a pou₧φvat ve vlastnφch programech.
GenerickΘ programovßnφ a Üablony v C++ nejsou zrovna jednoduchΘ zßle₧itosti. Proto je tato kniha urΦena zkuÜen²m programßtor∙m, kte°φ o Üablonßch ji₧ n∞co v∞dφ. Pokud myslφte, ₧e vßm C++ u₧ nic novΘho nedokß₧e nabφdnout, zkuste tuto knihu.
Jaroslav Fran∞k
Vypalujeme CD
Petr Bro₧a | Computer Press, Praha 2000, 1. vydßnφ, 196 stran, cena 199 KΦ, v ΦeÜtin∞, ISBN 80-7226-384-6
Vypalovacφ mechanika se dnes ji₧ stala standardnφm vybavenφm v∞tÜiny osobnφch poΦφtaΦ∙. Co si vÜak mß poΦφt u₧ivatel, kter² se dostane k takto vybavenΘmu PC a jeÜt∞ nikdy ₧ßdnΘ cΘdΘΦko nevypaloval, nebo u₧ivatel, kter² mß s vypalovßnφm urΦitΘ zkuÜenosti, ale i on narazil p°i tvorb∞ vlastnφch CD na n∞jak² "ne°eÜiteln²" problΘm a hledß radu?
Prßv∞ t∞mto u₧ivatel∙m je urΦena kniha Vypalujeme CD, v nφ₧ lze nalΘzt odpov∞di na nejr∙zn∞jÜφ otßzky. A tφm se ji₧ dostßvßme k vlastnφmu obsahu. Publikace je tematicky rozΦlen∞na do sedmi kapitol. Po ·vodnφ kapitole, ve kterΘ jsou Φtenß°i p°edlo₧ena zßkladnφ fakta spjatß s CD-ROM (historie, kapacita CD...), nßsleduje kapitola zam∞°enß na detailn∞jÜφ popis principu zßznamu dat na CD-R a CD-RW.
Ve t°etφ kapitole autor Φtenß°e seznamuje se vÜφm, co bude k vypalovßnφ pot°ebovat, tzn. je zde nastφn∞na problematika vhodnΘ hardwarovΘ (nap°. porovnßnφ IDE a SCSI °adiΦ∙ Φi problematika p°etaktovan²ch CPU) a softwarovΘ (operaΦnφ systΘmy - souborovΘ systΘmy) konfigurace poΦφtaΦe urΦenΘho k pßlenφ. ╚tvrtß kapitola - trochu teoretiΦt∞jÜφ - obsahuje jak²si slovnφΦek pojm∙, s nimi₧ by se m∞l seznßmit ka₧d² Φtenß°, jeÜt∞ ne₧ se pustφ do tvorby cΘdΘΦek. Dozvφ se zde nap°φklad, co se skr²vß za oznaΦenφm multisession nebo Burn-proof. V pßtΘ kapitole autor pokraΦuje teoretick²m v²kladem obsahov∞ pokr²vajφcφm popis nejr∙zn∞jÜφch formßt∙ cΘdΘΦek (CD-DA, CD-ROM, Video CD...). Touto kapitolou je uzav°ena tato spφÜe teoretickß Φßst publikace. V nßsledujφcφch dvou kapitolßch si Φtenß° m∙₧e p°eΦφst nejr∙zn∞jÜφ tipy a triky pro vypalovßnφ a takΘ pom∞rn∞ detailnφ (u₧ivatelsk²) popis ovlßdßnφ a vlastnostφ nejpou₧φvan∞jÜφch vypalovacφch program∙, jako jsou nap°φklad Adaptec Easy CD Creator Deluxe 4.0 a CloneCD 2.7.1.1. Publikace je zakonΦena Φßstφ P°φlohy, kterß obsahuje seznam a struΦn² popis vypalovacφch program∙ a nejr∙zn∞jÜφch utilit (nap°. pro tvorbu hudebnφho CD z MP3 soubor∙) dodßvan²ch na CD spolu s knihou.
Shrnuto - souhlasφm s tvrzenφm, ₧e kniha je jakousi malou "biblφ" pro "paliΦe", nebo¥ v nφ lze skuteΦn∞ nalΘzt vÜechny pot°ebnΘ informace pro tvorbu vlastnφch CD.
Milan Pinte
Prßvo informaΦnφch a telekomunikaΦnφch systΘm∙ od A a₧ do Z
V. Smejkal a kol., 1. vydßnφ, Praha 2001, C. H. Beck, 2001, 543 stran, cena KΦ, ISBN:
Kniha p°edstavuje u₧iteΦnou pom∙cku pro ÜirokΘ spektrum Φtenß°∙, kdy oslovuje p°edstavitele tak nesouvisejφcφch odbornostφ, jako jsou prßvnφci a pracovnφci v oblasti informaΦnφch technologiφ. Autor∙m se poda°ilo p°esv∞dΦiv∞ podpo°it nßzor Vladimφra Smejkala v p°edmluv∞ - "Prßvo m∙₧e posφlit informaΦnφ technologie a informaΦnφ technologie zase prßvo".
Kniha je praktickou p°φruΦkou v Üesti dominantnφch tΘmatech: ElektronickΘ dokumenty, elektronickΘ podpisy a ochrana osobnφch ·daj∙; Telekomunikace; Elektronick² obchod; DuÜevnφ vlastnictvφ a prßvnφ vztahy k zam∞stnanc∙m; Internet; PoΦφtaΦovß kriminalita.
ElektronickΘ dokumenty a elektronickΘ podpisy jsou aktußlnφm tΘmatem. UcelenΘ ut°φd∞nφ pojm∙ a zd∙vodn∞nΘ tvrzenφ autor∙, ₧e dokument m∙₧e b²t jak papφrov², tak "elektronick²", rozliÜenφ listiny a pφsemnosti ukazuje cestu k aplikaci elektronickΘho sv∞ta do prost°edφ papφrovΘho mΘdia. U elektronickΘho podpisu je v²klad situovßn i pro sfΘru ve°ejnΘ sprßvy. Publikace se rovn∞₧ zab²vß ochranou osobnφch ·daj∙ podle novΘho zßkona Φ. 101/2000 Sb. V knize nechybφ ani aktußlnφ tΘma ElektronickΘho obchodu. Auto°i ukazujφ, ₧e proces obchodovßnφ z∙stßvß ve sv²ch principech nem∞nn². Poukazujφ na prßvnφ aspekty obchodovßnφ, p°i zakomponovßnφ hlavnφch specifik spojen²ch s informaΦnφmi technologiemi. èkoda jen, ₧e nerozÜφ°ili tΘma i do sfΘry elektronickΘho podnikßnφ (e-business), kde nejde jen o obchody po internetu, ale jsou zde zahrnuta i regulaΦnφ opat°enφ stßtnφ sprßvy, da≥ovΘ otßzky apod., co₧ mohlo p°inΘst °adu neprobßdan²ch prßvnφch otßzek. ╚tenß°e urΦit∞ zaujmou pasß₧e o tvorb∞ a sprßv∞ domΘn, uplat≥ovßnφ domΘnov²ch jmen a zajistΘ i otßzky bezpeΦnosti internetu.
S °eÜenφm poΦφtaΦovΘ kriminality majφ auto°i - vesm∞s advokßti a soudnφ znalci - mnoho zkuÜenostφ a ve svΘ knize ukazujφ, ₧e ani v anonymnφm elektronickΘm sv∞t∞ ji₧ nenφ prßvo tak bez Üancφ i podle naÜich zßkon∙.
Knihu lze hodnotit veskrze pozitivn∞, poda°ilo se s velk²m p°ehledem shrnout hlavnφ oblasti, kde se prßvnφ aspekty a rozvoj informaΦnφch technologiφ st°etßvajφ nejvφce. Z textu je vid∞t, ₧e se auto°i aktivn∞ podφlejφ na legislativnφm procesu ╚R v oblasti uvßd∞n²ch tΘmat.