Kniha je rozdělena na následující kapitoly.
Ruby ve zkratce
První kapitola je určena především pro začátečníky v Ruby. Přečíst by si ji měli nejen začínající programátoři, ale i ti, kdo přecházejí na Ruby z jiného programovacího jazyka. Úvod do kapitoly je věnován principům objektově orientovaného programování.
Práce s řetězci
Bez textu a práce s ním se neobejde snad žádný programátor. Kromě běžných operací s textem se mj. dozvíte, jak provést jejich šifrování nebo komprimaci.
Práce s regulárními výrazy
Regulární výrazy vám usnadní nejen hledání textu v textových řetězcích, ale také např. jejich kontrolu. V textu jsou ukázány všechny běžně používané postupy spolu s několika ukázkovými příklady řešení běžných situací.
Internacionalizace v Ruby
Opravdovou lahůdkou každé aplikace je možnost její lokalizace do libovolného světového jazyka. Jak se to provádí, to se dozvíte právě zde.
Vykonávání číselných výpočtů
Ruby umožňuje provádět nejen základní matematické operace, umí pracovat také s maticemi, komplexními čísly, ovládá trigonometrii i statistické funkce.
Symboly a rozsahy
Specialitou jazyka jsou tzv. symboly a rozsahy, o co se přesně jedná a jak se s tím pracuje, to vše se dozvíte zde.
Práce s datem a časem
V této kapitole se nachází kromě standardních funkcí počítání s časem i spousta příkladů, z nichž namátkou jmenujme: získání data a času z řetězce, konverze časových pásem a detekce přestupných roků.
Pole, haš a ostatní výčty
Pole, haš a práce s těmito objekty. Kromě běžných operací je kapitola opět doplněna o spoustu zajímavých příkladů.
Pokročilejší datové struktury
Těmito strukturami se myslí množiny, zásobníky a fronty, stromy i grafy.
I/O a uložení dat
Práce s adresáři, přístup k datům a čtení znaků z klávesnice. Dál se dozvíte, jak se připojit k externím databázím a podíváte na tzv. marshaling.
OOP a dynamické rysy Ruby
Objektově orientované programování (OOP) zmiňované v úvodní kapitole knihy je podrobněji rozebráno právě zde. OOP je nedílnou součástí Ruby, a tak mu je věnován dostatečný prostor.
Grafická rozhraní pro Ruby
Zde se naučíte pracovat s grafickým rozhraním za pomoci komponent Tk, GTK2, FXRuby (FOX), QtRuby a dalšími widgety. Zmínka je věnována i API Windows.
Vlákna v Ruby
Vlákna, práce s nimi a jejich synchronizace.
Skriptování a správa systému
Využití jazyka Ruby při psaní skriptů pro váš systém. Naučíte se nejen spouštět externí příkazy, ale také pracovat s procesy, filtrovat obsah souborů a další. Zajímavostí je i kapitola věnovaná skriptování v MS Windows.
Ruby a datové formáty
Obsahuje ukázky práce s XML, RSS a Atomy, obrázky (za pomoci RMagick) i dokumenty PDF.
Testování a odstraňování chyb
Ladění chyb i vlastní aplikace spolu s popisem dostupných nástrojů.
Balíčkování a distribuce kódu
Zde jsou odpovědi na otázky, jak vytvořit dokumentaci k programu i vlastní balíček.
Síťové programování
Programování pro server i klienty. Naučíte se pracovat se servery POP, IMAP i časovým serverem. Mimo jiné se podíváte i na knihovnou Open-URI.
Ruby a webové aplikace
Kapitola je věnovaná vytváření CGI skriptů, používání FastCGI, dozvíte se, co to je Ruby on Rails, Nitro, Wee, IOWA a další.
Distribuované Ruby
Použití drb, Rinda: Ruby Tuplespace a další.
Vývojové nástroje pro Ruby
Dostupné editory i integrovaná vývojová prostředí, použití Rake, irb, ri a RubyGems.
Komunita Ruby
Další zdroje na webu, diskuzní skupiny, online magazíny, IRC kanály i konference o Ruby.
Přínos knihy
Za sebe musím říci, že to je kniha, na kterou jsem již nějakou dobu marně čekal. Svým rozsahem (nejen tím stránkovým) pokrývá téměř vše, co programovací jazyk obsahuje. Těžko bychom tak hledali nějaký aspekt jazyka, který není v knize alespoň zmíněn. Autor se zřejmě snažil obsáhnout vše, s čím se setkal a co Ruby umožňuje. "Natlačil" do jedné knihy množství informací, a to nejen charakteristiku vlastního jazyka, ale také příklady, které se hodí pro běžnou praxi.
Knihu samotnou není nutné číst poctivě od začátku. Zejména ti pokročilejší mohou libovolně přeskakovat mezi jednotlivými kapitolami a hledat požadovanou funkci, nástroj či vlastnost jazyka, která jim dosud unikala. Protože je kniha zaměřena především na ukázky kódu a specifika jazyka Ruby, nelze ji bohužel doporučit úplným programátorským začátečníkům a bez studia dalších materiálů ani mírně pokročilejším programátorům s Ruby teprve začínajícím.
Kniha ukazuje postup, myšlenku i nástroje potřebné k provedení daných činností, ale právě kvůli širokém záběru v ní nebylo možno obsáhnout všechny důležité informace, který může začínající programátor potřebovat. Jako příklad uveďme např. absenci návodu, jak program napsaný v Ruby vlastně spustit (přeložit?). Jinými slovy, s některými věcmi se prostě předem počítá.
Pokud se chcete s jazykem Ruby seznámit, podívejte se na náš seriál Naučte se Ruby.
Co musím na druhou stranu ocenit, je, že knížka určitě nebude patřit mezi ty, které po přečtení odložíte na polici mezi ostatní. Jak je uvedeno už v samotném názvu, kniha obsahuje kompendium (základ znalostí), který oceníte i později, a tak může sloužit jako taková rychlá referenční příručka každého programátora Ruby.
A závěr? Kniha byla napsána zkušeným programátorem, vcelku kvalitně přeložena do češtiny a díky svému širokému záběru obsahuje odpovědi na většinu otázek spojených s programováním v Ruby. Rozhodně by neměla chybět v žádné knihovničce programátora v tomto jazyce.
Fulton, Hal: Ruby - kompendium znalostí pro začátečníky i profesionály. Překlad Jiří Koutný. Vydal Zoner Press 2009. Počet stran 768. ISBN 978-80-7413-018-2. Běžná cena 650 Kč.