
Odkryj możliwości języka Ruby
- Opanuj zasady programowania obiektowego
- Połącz Ruby z innymi językami programowania
- Przetestuj aplikacje, wykorzystując testy jednostkowe
Ruby to obiektowy język programowania, który powstał w Japonii w 1993 roku. Od początku swojej obecności na rynku zdobywa ogromną popularność, stając się poważną konkurencją dla Perla. Dzięki technologii Ruby on Rails narzędzie to staje się coraz powszechniej wykorzystywane, szczególnie do tworzenia aplikacji internetowych. Ruby ma prostą składnię, zawiera możliwość obsługi wyjątków i wyrażeń regularnych oraz pozwala na stosowanie modułów. Ogromną zaletą tego języka jest jego zwarta konstrukcja -- program napisany w Ruby jest wielokrotnie mniejszy niż realizująca podobne funkcje aplikacja utworzona w Javie lub C.
Książka "Programowanie w Ruby. Wydanie II" to jeden z najpopularniejszych na świecie podręczników opisujących ten język. Czytając ją, opanujesz wszystkie zagadnienia związane z tworzeniem aplikacji w Ruby. Poznasz zasady programowania obiektowego, korzystania z wyrażeń regularnych, obsługi wyjątków oraz pracy wielowątkowej. Dowiesz się, w jaki sposób dokumentować kod, budować aplikacje i skrypty sieciowe, stosować Ruby w systemie Windows oraz łączyć Ruby z C. W książce znajdziesz także szczegółowe omówienie klas i modułów języka Ruby.
- Instalacja i uruchamianie Ruby
- Klasy, obiekty i zmienne
- Typy danych
- Przechwytywanie wyjątków
- Operacje wejścia i wyjścia
- Wielowątkowość
- Testowanie aplikacji
- Pisanie skryptów CGI w Ruby
- Automatyzacja systemu Windows za pomocą Ruby
- Obiekty Ruby w języku C
Przedmowa do wydania pierwszego (15)Przedmowa do wydania drugiego (19)
Przedmowa (21)
Mapa (27)
Część I Płaszczyzny Ruby
Rozdział 1. Pierwsze kroki (31)
- Instalacja Ruby (31)
- Uruchamianie Ruby (34)
- Dokumentacja Ruby - RDoc i ri (37)
- Ruby to język zorientowany obiektowo (42)
- Wybrane podstawy Ruby (44)
- Tablice i tablice asocjacyjne (48)
- Struktury kontrolne (50)
- Wyrażenia regularne (51)
- Bloki i iteratory (53)
- Odczyt i zapis (56)
- Cała naprzód (58)
- Dziedziczenie i komunikaty (61)
- Obiekty i atrybuty (64)
- Zmienne i metody klasy (68)
- Kontrola dostępu (73)
- Zmienne (76)
- Kontenery (79)
- Bloki i iteratory (86)
- Kontenery są wszędzie (95)
- Liczby (97)
- Łańcuchy znaków (100)
- Przedziały (106)
- Wyrażenia regularne (108)
- Definiowanie metody (121)
- Wywoływanie metody (123)
- Wyrażenia operatorowe (130)
- Różnorodne wyrażenia (131)
- Przypisania (132)
- Wykonanie warunkowe (137)
- Wyrażenia case (142)
- Pętle (144)
- Zasięg zmiennych, pętle i bloki (151)
- Klasa Exception (154)
- Obsługa wyjątków (154)
- Zgłaszanie wyjątków (159)
- catch i throw (161)
- Przestrzenie nazw (163)
- Miksiny (165)
- Iteratory i moduł Enumerable (167)
- Łączenie modułów (167)
- Dołączanie innych plików (171)
- Czym jest obiekt IO? (173)
- Otwieranie i zamykanie plików (174)
- Odczyt i zapis plików (175)
- Komunikacja sieciowa (180)
- Wielowątkowość (183)
- Zarządzanie szeregowaniem wątków (189)
- Wzajemne wykluczanie (191)
- Uruchamianie wielu procesów (198)
- Szkielet Test::Unit (205)
- Struktura testów (209)
- Optymalizacja i uruchamianie testów (213)
- Debugger Ruby (217)
- Ruby interaktywny (219)
- Obsługa edytora (221)
- Ale to nie działa! (221)
- Ależ to jest powolne! (225)
Rozdział 14. Ruby i jego świat (233)
- Argumenty wiersza poleceń (233)
- Zakończenie programu (237)
- Zmienne środowiska wykonania (238)
- Gdzie Ruby znajduje swoje moduły? (239)
- Środowisko budowania (241)
- Wiersz poleceń (243)
- Konfiguracja (248)
- Polecenia (253)
- Ograniczenia (256)
- rtags i xmp (256)
- Dodawanie RDoc do kodu Ruby (261)
- Dodawanie RDoc do rozszerzeń C (269)
- Uruchamianie RDoc (270)
- Wyświetlanie informacji o użyciu programu (274)
- Instalacja RubyGems (278)
- Instalacja gemów aplikacji (279)
- Instalacja i używanie gemów bibliotek (281)
- Tworzenie własnych gemów (287)
- Pisanie skryptów CGI (299)
- Ciasteczka (310)
- Zwiększanie wydajności (312)
- Wybór serwera WWW (313)
- SOAP i usługi sieciowe (315)
- Więcej informacji (321)
- Prosta aplikacja używająca Tk (324)
- Kontrolki (324)
- Wiązanie zdarzeń (329)
- Kontrolka Canvas (331)
- Przewijanie (332)
- Używanie dokumentacji Perl/Tk (335)
- Pobieranie Ruby dla systemu Windows (337)
- Uruchamianie Ruby w systemie Windows (338)
- Win32API (339)
- Automatyzacja systemu Windows (340)
- Pierwsze rozszerzenie (348)
- Obiekty Ruby w języku C (351)
- Rozszerzenie dla szafy grającej (359)
- Przydzielanie pamięci (370)
- System typów języka Ruby (371)
- Tworzenie rozszerzeń (373)
- Zagnieżdżanie interpretera Ruby (380)
- Współpraca Ruby z innymi językami (384)
- API języka C służące do komunikacji z Ruby (384)
Rozdział 22. Język Ruby (399)
- Układ kodu źródłowego (399)
- Typy podstawowe (402)
- Nazwy (413)
- Zmienne i stałe (416)
- Wyrażenia (427)
- Definicje metod (437)
- Wywoływanie metod (440)
- Tworzenie nowych nazw (443)
- Definiowanie klas (444)
- Definiowanie modułów (446)
- Kontrola dostępu (449)
- Bloki, domknięcia i obiekty Proc (449)
- Wyjątki (454)
- Instrukcje catch i throw (456)
- Klasy to nie typy (461)
- Programowanie dynamiczne (466)
- Protokoły standardowe i koercje (467)
- Od teorii do praktyki (474)
- Współdziałanie klas i obiektów (476)
- Definicje klas i modułów (483)
- Środowisko wykonania najwyższego poziomu (490)
- Dziedziczenie i widoczność (491)
- Zamrażanie obiektów (492)
- Poziomy zabezpieczeń (496)
- Niepewne obiekty (499)
- Analiza obiektów (504)
- Analiza klas (506)
- Dynamiczne wywoływanie metod (508)
- Systemowe punkty zaczepienia (511)
- Śledzenie przebiegu programów (514)
- Szeregowanie i programowanie rozproszone w języku Ruby (517)
- W czasie kompilacji? W czasie wykonywania programu? Zawsze! (523)
Rozdział 27. Wbudowane klasy i moduły (527)
- Porządek alfabetyczny (528)
- Array (534)
- Bignum (552)
- Binding (556)
- Class (557)
- Comparable (559)
- Continuation (561)
- Dir (563)
- Enumerable (570)
- Errno (577)
- Exception (578)
- FalseClass (582)
- File (583)
- File::Stat (599)
- FileTest (607)
- Fixnum (608)
- Float (612)
- GC (616)
- Hash (617)
- Integer (629)
- IO (632)
- Kernel (650)
- Marshal (676)
- MatchData (679)
- Math (683)
- Method (686)
- Module (689)
- NilClass (708)
- Numeric (710)
- Object (718)
- ObjectSpace (732)
- Proc (734)
- Process (737)
- Process::GID (745)
- Process::Status (747)
- Process::Sys (750)
- Process::UID (753)
- Range (755)
- Regexp (759)
- Signal (764)
- String (766)
- Struct (793)
- Struct::Tms (798)
- Symbol (799)
- Thread (801)
- ThreadGroup (811)
- Time (813)
- TrueClass (824)
- UnboundMethod (825)
- Abbrev (830)
- Base64 (831)
- Benchmark (832)
- BigDecimal (834)
- CGI (836)
- CGI::Session (839)
- Complex (840)
- CSV (841)
- Curses (843)
- Date/DateTime (844)
- DBM (846)
- Delegator (848)
- Digest (849)
- DL (850)
- dRuby (852)
- English (854)
- Enumerator (855)
- erb (857)
- Etc (860)
- expect (861)
- Fcntl (862)
- FileUtils (863)
- Find (865)
- Forwardable (866)
- ftools (867)
- GDBM (868)
- Generator (870)
- GetoptLong (871)
- GServer (873)
- Iconv (874)
- IO/Wait (876)
- IPAddr (877)
- jcode (878)
- Logger (879)
- Mail (881)
- mathn (883)
- Matrix (885)
- Monitor (886)
- Mutex (888)
- Mutex_m (890)
- Net::FTP (891)
- Net::HTTP (892)
- Net::IMAP (895)
- Net::POP (896)
- Net::SMTP (898)
- Net::Telnet (899)
- NKF (901)
- Observable (902)
- open-uri (904)
- Open3 (906)
- OpenSSL (907)
- OpenStruct (909)
- OptionParser (910)
- ParseDate (913)
- Pathname (914)
- PP (916)
- PrettyPrint (918)
- Profile (920)
- Profiler__ (921)
- PStore (922)
- PTY (924)
- Rational (925)
- readbytes (926)
- Readline (927)
- Resolv (929)
- REXML (931)
- Rinda (934)
- RSS (936)
- Scanf (938)
- SDBM (940)
- Set (941)
- Shellwords (943)
- Singleton (944)
- SOAP (945)
- Socket (946)
- StringIO (948)
- StringScanner (950)
- Sync (952)
- Syslog (954)
- Tempfile (956)
- Test::Unit (957)
- thread (959)
- ThreadsWait (961)
- Time (962)
- Timeout (963)
- Tk (964)
- tmpdir (966)
- Tracer (967)
- TSort (969)
- un (971)
- URI (972)
- WeakRef (973)
- WEBrick (975)
- Win32API (976)
- WIN32OLE (978)
- XMLRPC (979)
- YAML (981)
- Zlib (982)
Dodatek A Biblioteki do obsługi gniazd (987)
- BasicSocket (988)
- Socket (991)
- IPSocket (996)
- TCPSocket (998)
- SOCKSSocket (999)
- TCPServer (1000)
- UDPSocket (1001)
- UNIXSocket (1003)
- UNIXServer (1005)
- mkmf (1007)
- Witryny internetowe (1012)
- Witryny z materiałami do pobrania (1013)
- Grupy dyskusyjne (1013)
- Listy korespondencyjne (1013)
Dodatek E Tabele (1017)
Skorowidz (1027)