Facebook - konwersja
  • promocja

Ruby. Receptury - ebook

Wydawnictwo:
Data wydania:
8 listopada 2012
Format ebooka:
MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Ruby. Receptury - ebook

Zbiór gotowych rozwiązań dla programistów używających języka Ruby

  • Jak przetwarzać pliki XML i HTML?
  • Jak wykorzystywać środowisko Ruby on Rails?
  • W jaki sposób łączyć Ruby z technologią AJAX?

Korzystasz w pracy z języka Ruby i zastanawiasz się, czy niektóre zadania programistyczne można wykonać szybciej? Chcesz poznać zasady programowania obiektowego w Ruby? A może interesuje Cię framework Ruby on Rails? Język Ruby zdobywa coraz większą popularność, jest wykorzystywany do tworzenia aplikacji sieciowych i stał się podstawą środowiska Ruby on Rails. Jednak nawet najlepszy język programowania nie uwalnia programistów od żmudnego realizowania zadań, które nie mają zbyt wiele wspólnego z tworzeniem aplikacji, czyli usuwania błędów, implementowania typowych algorytmów, poszukiwania rozwiązań mniej lub bardziej typowych problemów i wielu innych.

Książka "Ruby. Receptury" znacznie przyspieszy Twoją pracę. Znajdziesz tu kilkaset praktycznych rozwiązań problemów wraz z przejrzystym komentarzem oraz tysiące wierszy proponowanego kodu, który będziesz mógł wykorzystać w swoich projektach. Przeczytasz o strukturach danych, algorytmach, przetwarzaniu plików XML i HTML, tworzeniu interfejsów użytkownika dla aplikacji i połączeniach z bazami danych. Nauczysz się generować i obrabiać pliki graficzne, korzystać z usług sieciowych, wyszukiwać i usuwać błędy w aplikacjach, a także pisać skrypty niezwykle pomocne w administrowaniu systemem operacyjnym Linux.

  • Przetwarzanie danych tekstowych i liczbowych
  • Operacje na tablicach
  • Praca z systemem plików
  • Programowanie obiektowe
  • Przetwarzanie dokumentów XML i HTML oraz plików graficznych
  • Generowanie plików PDF
  • Połączenie z bazami danych
  • Korzystanie z poczty elektronicznej, protokołu telnet i połączeń Torrent
  • Projektowanie aplikacji internetowych za pomocą Ruby on Rails
  • Stosowanie usług sieciowych
  • Optymalizacja aplikacji
  • Tworzenie wersji dystrybucyjnych
  • Automatyzacja zadań z wykorzystaniem języka Rake
  • Budowanie interfejsów użytkownika

Jeśli chcesz rozwiązać problem, skorzystaj z gotowej receptury
-- koło już wynaleziono.

Spis treści

Wprowadzenie (17)

Rozdział 1. Łańcuchy (29)

  • 1.1. Budowanie łańcucha z części (32)
  • 1.2. Zastępowanie zmiennych w tworzonym łańcuchu (34)
  • 1.3. Zastępowanie zmiennych w istniejącym łańcuchu (35)
  • 1.4. Odwracanie kolejności słów lub znaków w łańcuchu (37)
  • 1.5. Reprezentowanie znaków niedrukowalnych (39)
  • 1.6. Konwersja między znakami a kodami (41)
  • 1.7. Konwersja między łańcuchami a symbolami (42)
  • 1.8. Przetwarzanie kolejnych znaków łańcucha (43)
  • 1.9. Przetwarzanie poszczególnych słów łańcucha (45)
  • 1.10. Zmiana wielkości liter w łańcuchu (47)
  • 1.11. Zarządzanie białymi znakami (48)
  • 1.12. Czy można potraktować dany obiekt jak łańcuch? (49)
  • 1.13. Wyodrębnianie części łańcucha (51)
  • 1.14. Obsługa międzynarodowego kodowania (52)
  • 1.15. Zawijanie wierszy tekstu (53)
  • 1.16. Generowanie następnika łańcucha (55)
  • 1.17. Dopasowywanie łańcuchów za pomocą wyrażeń regularnych (58)
  • 1.18. Zastępowanie wielu wzorców w pojedynczym przebiegu (60)
  • 1.19. Weryfikacja poprawności adresów e-mailowych (61)
  • 1.20. Klasyfikacja tekstu za pomocą analizatora bayesowskiego (64)

Rozdział 2. Liczby (67)

  • 2.1. Przekształcanie łańcucha w liczbę (68)
  • 2.2. Porównywanie liczb zmiennopozycyjnych (70)
  • 2.3. Reprezentowanie liczb z dowolną dokładnością (73)
  • 2.4. Reprezentowanie liczb wymiernych (76)
  • 2.5. Generowanie liczb pseudolosowych (77)
  • 2.6. Konwersje między różnymi podstawami liczenia (79)
  • 2.7. Logarytmy (80)
  • 2.8. Średnia, mediana i moda (83)
  • 2.9. Konwersja stopni na radiany i odwrotnie (85)
  • 2.10. Mnożenie macierzy (87)
  • 2.11. Rozwiązywanie układu równań liniowych (91)
  • 2.12. Liczby zespolone (94)
  • 2.13. Symulowanie subklasingu klasy Fixnum (96)
  • 2.14. Arytmetyka liczb w zapisie rzymskim (100)
  • 2.15. Generowanie sekwencji liczb (105)
  • 2.16. Generowanie liczb pierwszych (107)
  • 2.17. Weryfikacja sumy kontrolnej w numerze karty kredytowej (111)

Rozdział 3. Data i czas (113)

  • 3.1. Odczyt dzisiejszej daty (115)
  • 3.2. Dekodowanie daty, dokładne i przybliżone (119)
  • 3.3. Drukowanie dat (122)
  • 3.4. Iterowanie po datach (126)
  • 3.5. Arytmetyka dat (127)
  • 3.6. Obliczanie dystansu między datami (129)
  • 3.7. Konwersja czasu między strefami czasowymi (131)
  • 3.8. Czas letni (134)
  • 3.9. Konwersje między obiektami Time i DateTime (135)
  • 3.10. Jaki to dzień tygodnia? (138)
  • 3.11. Obsługa dat biznesowych (139)
  • 3.12. Periodyczne wykonywanie bloku kodu (140)
  • 3.13. Oczekiwanie przez zadany odcinek czasu (142)
  • 3.14. Przeterminowanie wykonania (145)

Rozdział 4. Tablice (147)

  • 4.1. Iterowanie po elementach tablicy (149)
  • 4.2. Wymiana zawartości bez używania zmiennych pomocniczych (152)
  • 4.3. Eliminowanie zdublowanych wartości (154)
  • 4.4. Odwracanie kolejności elementów w tablicy (155)
  • 4.5. Sortowanie tablicy (156)
  • 4.6. Sortowanie łańcuchów bez rozróżniania wielkości liter (158)
  • 4.7. Zabezpieczanie tablic przed utratą posortowania (159)
  • 4.8. Sumowanie elementów tablicy (164)
  • 4.9. Sortowanie elementów tablicy według częstości występowania (165)
  • 4.10. Tasowanie tablicy (167)
  • 4.11. Znajdowanie N najmniejszych elementów tablicy (168)
  • 4.12. Tworzenie hasza za pomocą iteratora inject (170)
  • 4.13. Ekstrahowanie wybranych elementów z tablicy (172)
  • 4.14. Operacje teoriomnogościowe na tablicach (175)
  • 4.15. Partycjonowanie i klasyfikacja elementów zbioru (177)

Rozdział 5. Hasze (183)

  • 5.1. Wykorzystywanie symboli jako kluczy (186)
  • 5.2. Wartości domyślne w haszach (187)
  • 5.3. Dodawanie elementów do hasza (189)
  • 5.4. Usuwanie elementów z hasza (191)
  • 5.5. Tablice i inne modyfikowalne obiekty w roli kluczy (193)
  • 5.6. Kojarzenie wielu wartości z tym samym kluczem (195)
  • 5.7. Iterowanie po zawartości hasza (196)
  • 5.8. Iterowanie po elementach hasza w kolejności ich wstawiania (200)
  • 5.9. Drukowanie hasza (201)
  • 5.10. Inwersja elementów hasza (203)
  • 5.11. Losowy wybór z listy zdarzeń o różnych prawdopodobieństwach (204)
  • 5.12. Tworzenie histogramu (207)
  • 5.13. Odwzorowanie zawartości dwóch haszów (209)
  • 5.14. Ekstrakcja fragmentów zawartości haszów (210)
  • 5.15. Przeszukiwanie hasza przy użyciu wyrażeń regularnych (211)

Rozdział 6. Pliki i katalogi (213)

  • 6.1. Czy taki plik istnieje? (216)
  • 6.2. Sprawdzanie uprawnień dostępu do plików (218)
  • 6.3. Zmiana uprawnień dostępu do plików (220)
  • 6.4. Sprawdzanie, kiedy plik był ostatnio używany (223)
  • 6.5. Przetwarzanie zawartości katalogu (224)
  • 6.6. Odczytywanie zawartości pliku (227)
  • 6.7. Zapis do pliku (230)
  • 6.8. Zapis do pliku tymczasowego (232)
  • 6.9. Losowy wybór wiersza z pliku (233)
  • 6.10. Porównywanie dwóch plików (234)
  • 6.11. Swobodne nawigowanie po "jednokrotnie odczytywalnych" strumieniach wejściowych (238)
  • 6.12. Wędrówka po drzewie katalogów (240)
  • 6.13. Szeregowanie dostępu do pliku (242)
  • 6.14. Tworzenie wersjonowanych kopii pliku (245)
  • 6.15. Łańcuchy udające pliki (248)
  • 6.16. Przekierowywanie standardowego wejścia i standardowego wyjścia (250)
  • 6.17. Przetwarzanie plików binarnych (252)
  • 6.18. Usuwanie pliku (255)
  • 6.19. Obcinanie pliku (257)
  • 6.20. Znajdowanie plików o określonej własności (258)
  • 6.21. Odczytywanie i zmiana bieżącego katalogu roboczego (260)

Rozdział 7. Bloki kodowe i iteracje (263)

  • 7.1. Tworzenie i wywoływanie bloku kodowego (265)
  • 7.2. Tworzenie metod wykorzystujących bloki kodowe (267)
  • 7.3. Przypisywanie bloku kodowego do zmiennej (269)
  • 7.4. Bloki kodowe jako domknięcia: odwołania do zmiennych zewnętrznych w treści bloku kodowego (272)
  • 7.5. Definiowanie iteratora dla struktury danych (273)
  • 7.6. Zmiana sposobu iterowania po strukturze danych (276)
  • 7.7. Nietypowe metody klasyfikujące i kolekcjonujące (278)
  • 7.8. Zatrzymywanie iteracji (279)
  • 7.9. Iterowanie równoległe (281)
  • 7.10. Kod inicjujący i kończący dla bloku kodowego (285)
  • 7.11. Tworzenie systemów luźno powiązanych przy użyciu odwołań zwrotnych (287)

Rozdział 8. Obiekty i klasy (291)

  • 8.1. Zarządzanie danymi instancyjnymi (294)
  • 8.2. Zarządzanie danymi klasowymi (296)
  • 8.3. Weryfikacja funkcjonalności obiektu (299)
  • 8.4. Tworzenie klasy pochodnej (301)
  • 8.5. Przeciążanie metod (303)
  • 8.6. Weryfikacja i modyfikowanie wartości atrybutów (305)
  • 8.7. Definiowanie wirtualnych atrybutów (307)
  • 8.8. Delegowanie wywołań metod do innego obiektu (308)
  • 8.9. Konwersja i koercja typów obiektów (311)
  • 8.10. Prezentowanie obiektu w postaci czytelnej dla człowieka (315)
  • 8.11. Metody wywoływane ze zmienną liczbą argumentów (317)
  • 8.12. Symulowanie argumentów zawierających słowa kluczowe (319)
  • 8.13. Wywoływanie metod superklasy (321)
  • 8.14. Definiowanie metod abstrakcyjnych (323)
  • 8.15. Zamrażanie obiektów w celu ich ochrony przed modyfikacją (325)
  • 8.16. Tworzenie kopii obiektu (327)
  • 8.17. Deklarowanie stałych (330)
  • 8.18. Implementowanie metod klasowych i metod-singletonów (332)
  • 8.19. Kontrolowanie dostępu - metody prywatne, publiczne i chronione (334)

Rozdział 9. Moduły i przestrzenie nazw (339)

  • 9.1. Symulowanie wielokrotnego dziedziczenia za pomocą modułów-domieszek (339)
  • 9.2. Rozszerzanie wybranych obiektów za pomocą modułów (343)
  • 9.3. Rozszerzanie repertuaru metod klasowych za pomocą modułów (345)
  • 9.4. Moduł Enumerable - zaimplementuj jedną metodę, dostaniesz 22 za darmo (346)
  • 9.5. Unikanie kolizji nazw dzięki ich kwalifikowaniu (348)
  • 9.6. Automatyczne ładowanie bibliotek na żądanie (350)
  • 9.7. Importowanie przestrzeni nazw (352)
  • 9.8. Inicjowanie zmiennych instancyjnych dołączanego modułu (353)
  • 9.9. Automatyczne inicjowanie modułów-domieszek (354)

Rozdział 10. Odzwierciedlenia i metaprogramowanie (357)

  • 10.1. Identyfikacja klasy obiektu i jej superklasy (358)
  • 10.2. Zestaw metod obiektu (359)
  • 10.3. Lista metod unikalnych dla obiektu (363)
  • 10.4. Uzyskiwanie referencji do metody (364)
  • 10.5. Poprawianie błędów w "obcych" klasach (366)
  • 10.6. Śledzenie zmian dokonywanych w danej klasie (368)
  • 10.7. Weryfikacja atrybutów obiektu (370)
  • 10.8. Reagowanie na wywołania niezdefiniowanych metod (372)
  • 10.9. Automatyczne inicjowanie zmiennych instancyjnych (375)
  • 10.10. Oszczędne kodowanie dzięki metaprogramowaniu (377)
  • 10.11. Metaprogramowanie z użyciem ewaluacji łańcuchów (380)
  • 10.12. Ewaluacja kodu we wcześniejszym kontekście (382)
  • 10.13. Anulowanie definicji metody (383)
  • 10.14. Aliasowanie metod (386)
  • 10.15. Programowanie zorientowane aspektowo (389)
  • 10.16. Wywołania kontraktowane (391)

Rozdział 11. XML i HTML (395)

  • 11.1. Sprawdzanie poprawności dokumentu XML (396)
  • 11.2. Ekstrakcja informacji z drzewa dokumentu (398)
  • 11.3. Ekstrakcja informacji w trakcie analizy dokumentu XML (400)
  • 11.4. Nawigowanie po dokumencie za pomocą XPath (401)
  • 11.5. Parsowanie błędnych dokumentów (404)
  • 11.6. Konwertowanie dokumentu XML na hasz (406)
  • 11.7. Walidacja dokumentu XML (409)
  • 11.8. Zastępowanie encji XML (411)
  • 11.9. Tworzenie i modyfikowanie dokumentów XML (414)
  • 11.10. Kompresowanie białych znaków w dokumencie XML (417)
  • 11.11. Autodetekcja standardu kodowania znaków w dokumencie (418)
  • 11.12. Konwersja dokumentu między różnymi standardami kodowania (419)
  • 11.13. Ekstrakcja wszystkich adresów URL z dokumentu HTML (420)
  • 11.14. Transformacja tekstu otwartego na format HTML (423)
  • 11.15. Konwertowanie ściągniętego z internetu dokumentu HTML na tekst (425)
  • 11.16. Prosty czytnik kanałów (428)

Rozdział 12. Formaty plików graficznych i innych (433)

  • 12.1. Tworzenie miniaturek (433)
  • 12.2. Dodawanie tekstu do grafiki (436)
  • 12.3. Konwersja formatów plików graficznych (439)
  • 12.4. Tworzenie wykresów (441)
  • 12.5. Wprowadzanie graficznego kontekstu za pomocą wykresów typu Sparkline (444)
  • 12.6. Silne algorytmy szyfrowania danych (447)
  • 12.7. Przetwarzanie danych rozdzielonych przecinkami (449)
  • 12.8. Przetwarzanie plików tekstowych nie w pełni zgodnych z formatem CSV (451)
  • 12.9. Generowanie i przetwarzanie arkuszy Excela (453)
  • 12.10. Kompresowanie i archiwizowanie plików za pomocą narzędzi Gzip i Tar (455)
  • 12.11. Czytanie i zapisywanie plików ZIP (458)
  • 12.12. Czytanie i zapisywanie plików konfiguracyjnych (460)
  • 12.13. Generowanie plików PDF (461)
  • 12.14. Reprezentowanie danych za pomocą plików muzycznych MIDI (465)

Rozdział 13. Bazy danych i trwałość obiektów (469)

  • 13.1. Serializacja danych za pomocą biblioteki YAML (472)
  • 13.2. Serializacja danych z wykorzystaniem modułu Marshal (475)
  • 13.3. Utrwalanie obiektów z wykorzystaniem biblioteki Madeleine (476)
  • 13.4. Indeksowanie niestrukturalnego tekstu z wykorzystaniem biblioteki SimpleSearch (479)
  • 13.5. Indeksowanie tekstu o określonej strukturze z wykorzystaniem biblioteki Ferret (481)
  • 13.6. Wykorzystywanie baz danych Berkeley DB (484)
  • 13.7. Zarządzanie bazą danych MySQL w systemie Unix (486)
  • 13.8. Zliczanie wierszy zwracanych przez zapytanie (487)
  • 13.9. Bezpośrednia komunikacja z bazą danych MySQL (489)
  • 13.10. Bezpośrednia komunikacja z bazą danych PostgreSQL (491)
  • 13.11. Mapowanie obiektowo-relacyjne z wykorzystaniem biblioteki ActiveRecord (493)
  • 13.12. Mapowanie obiektowo-relacyjne z wykorzystaniem biblioteki Og (497)
  • 13.13. Programowe tworzenie zapytań (501)
  • 13.14. Sprawdzanie poprawności danych z wykorzystaniem biblioteki ActiveRecord (504)
  • 13.15. Zapobieganie atakom typu SQL Injection (507)
  • 13.16. Obsługa transakcji z wykorzystaniem biblioteki ActiveRecord (510)
  • 13.17. Definiowanie haków dotyczących zdarzeń związanych z tabelami (511)
  • 13.18. Oznaczanie tabel bazy danych z wykorzystaniem modułów-domieszek (514)

Rozdział 14. Usługi internetowe (519)

  • 14.1. Pobieranie zawartości strony WWW (520)
  • 14.2. Obsługa żądań HTTPS (522)
  • 14.3. Dostosowywanie nagłówków żądań HTTP (524)
  • 14.4. Wykonywanie zapytań DNS (526)
  • 14.5. Wysyłanie poczty elektronicznej (528)
  • 14.6. Czytanie poczty z serwera IMAP (531)
  • 14.7. Czytanie poczty z wykorzystaniem protokołu POP3 (535)
  • 14.8. Implementacja klienta FTP (538)
  • 14.9. Implementacja klienta telnet (540)
  • 14.10. Implementacja klienta SSH (543)
  • 14.11. Kopiowanie plików do innego komputera (546)
  • 14.12. Implementacja klienta BitTorrent (547)
  • 14.13. Wysyłanie sygnału ping do zdalnego komputera (549)
  • 14.14. Implementacja własnego serwera internetowego (550)
  • 14.15. Przetwarzanie adresów URL (552)
  • 14.16. Pisanie skryptów CGI (555)
  • 14.17. Ustawianie plików cookie i innych nagłówków odpowiedzi HTTP (557)
  • 14.18. Obsługa przesyłania plików na serwer z wykorzystaniem CGI (559)
  • 14.19. Uruchamianie serwletów WEBrick (562)
  • 14.20. Własny klient HTTP (567)

Rozdział 15. Projektowanie aplikacji internetowych: Ruby on Rails (571)

  • 15.1. Prosta aplikacja Rails wyświetlająca informacje o systemie (573)
  • 15.2. Przekazywanie danych ze sterownika do widoku (576)
  • 15.3. Tworzenie układu nagłówka i stopki (578)
  • 15.4. Przekierowania do innych lokalizacji (581)
  • 15.5. Wyświetlanie szablonów za pomocą metody render (582)
  • 15.6. Integracja baz danych z aplikacjami Rails (585)
  • 15.7. Reguły pluralizacji (588)
  • 15.8. Tworzenie systemu logowania (590)
  • 15.9. Zapisywanie haseł użytkowników w bazie danych w postaci skrótów (594)
  • 15.10. Unieszkodliwianie kodu HTML i JavaScript przed wyświetlaniem (595)
  • 15.11. Ustawianie i odczytywanie informacji o sesji (596)
  • 15.12. Ustawianie i odczytywanie plików cookie (599)
  • 15.13. Wyodrębnianie kodu do modułów pomocniczych (601)
  • 15.14. Rozdzielenie widoku na kilka części (602)
  • 15.15. Dodawanie efektów DHTML z wykorzystaniem biblioteki script.aculo.us (605)
  • 15.16. Generowanie formularzy do modyfikowania obiektów modelu (607)
  • 15.17. Tworzenie formularzy Ajax (611)
  • 15.18. Udostępnianie usług sieciowych w witrynie WWW (614)
  • 15.19. Przesyłanie wiadomości pocztowych za pomocą aplikacji Rails (616)
  • 15.20. Automatyczne wysyłanie komunikatów o błędach pocztą elektroniczną (618)
  • 15.21. Tworzenie dokumentacji witryny WWW (620)
  • 15.22. Testy modułowe witryny WWW (621)
  • 15.23. Wykorzystywanie pułapek w aplikacjach internetowych (624)

Rozdział 16. Usługi sieciowe i programowanie rozproszone (627)

  • 16.1. Wyszukiwanie książek w serwisie Amazon (628)
  • 16.2. Wyszukiwanie zdjęć w serwisie Flickr (631)
  • 16.3. Jak napisać klienta XML-RPC? (634)
  • 16.4. Jak napisać klienta SOAP? (636)
  • 16.5. Jak napisać serwer SOAP? (637)
  • 16.6. Wyszukiwanie w internecie z wykorzystaniem usługi sieciowej serwisu Google (638)
  • 16.7. Wykorzystanie pliku WSDL w celu ułatwienia wywołań SOAP (640)
  • 16.8. Płatności kartami kredytowymi (642)
  • 16.9. Odczytywanie kosztów przesyłki w serwisie UPS lub FedEx (644)
  • 16.10. Współdzielenie haszów przez dowolną liczbę komputerów (645)
  • 16.11. Implementacja rozproszonej kolejki (649)
  • 16.12. Tworzenie współdzielonej "tablicy ogłoszeń" (650)
  • 16.13. Zabezpieczanie usług DRb za pomocą list kontroli dostępu (653)
  • 16.14. Automatyczne wykrywanie usług DRb z wykorzystaniem biblioteki Rinda (654)
  • 16.15. Wykorzystanie obiektów pośredniczących (656)
  • 16.16. Zapisywanie danych w rozproszonej pamięci RAM z wykorzystaniem systemu MemCached (659)
  • 16.17. Buforowanie kosztownych obliczeniowo wyników za pomocą systemu MemCached (661)
  • 16.18. Zdalnie sterowana "szafa grająca" (664)

Rozdział 17. Testowanie, debugowanie, optymalizacja i tworzenie dokumentacji (669)

  • 17.1. Uruchamianie kodu wyłącznie w trybie debugowania (670)
  • 17.2. Generowanie wyjątków (672)
  • 17.3. Obsługa wyjątków (673)
  • 17.4. Ponawianie próby wykonania kodu po wystąpieniu wyjątku (676)
  • 17.5. Mechanizmy rejestrowania zdarzeń w aplikacji (677)
  • 17.6. Tworzenie i interpretowanie stosu wywołań (679)
  • 17.7. Jak pisać testy modułowe? (681)
  • 17.8. Uruchamianie testów modułowych (684)
  • 17.9. Testowanie kodu korzystającego z zewnętrznych zasobów (686)
  • 17.10. Wykorzystanie pułapek do kontroli i modyfikacji stanu aplikacji (690)
  • 17.11. Tworzenie dokumentacji aplikacji (692)
  • 17.12. Profilowanie aplikacji (696)
  • 17.13. Pomiar wydajności alternatywnych rozwiązań (699)
  • 17.14. Wykorzystywanie wielu narzędzi analitycznych jednocześnie (701)
  • 17.15. Co wywołuje tę metodę? Graficzny analizator wywołań (702)

Rozdział 18. Tworzenie pakietów oprogramowania i ich dystrybucja (705)

  • 18.1. Wyszukiwanie bibliotek poprzez kierowanie zapytań do repozytoriów gemów (706)
  • 18.2. Instalacja i korzystanie z gemów (709)
  • 18.3. Wymaganie określonej wersji gemu (711)
  • 18.4. Odinstalowywanie gemów (714)
  • 18.5. Czytanie dokumentacji zainstalowanych gemów (715)
  • 18.6. Tworzenie pakietów kodu w formacie gemów (717)
  • 18.7. Dystrybucja gemów (719)
  • 18.8. Instalacja i tworzenie samodzielnych pakietów z wykorzystaniem skryptu setup.rb (722)

Rozdział 19. Automatyzacja zadań z wykorzystaniem języka Rake (725)

  • 19.1. Automatyczne uruchamianie testów modułowych (727)
  • 19.2. Automatyczne generowanie dokumentacji (729)
  • 19.3. Porządkowanie wygenerowanych plików (731)
  • 19.4. Automatyczne tworzenie gemów (733)
  • 19.5. Pobieranie informacji statystycznych dotyczących kodu (734)
  • 19.6. Publikowanie dokumentacji (737)
  • 19.7. Równoległe uruchamianie wielu zadań (738)
  • 19.8. Uniwersalny plik Rakefile (740)

Rozdział 20. Wielozadaniowość i wielowątkowość (747)

  • 20.1. Uruchamianie procesu-demona w systemie Unix (748)
  • 20.2. Tworzenie usług systemu Windows (751)
  • 20.3. Wykonywanie dwóch operacji jednocześnie z wykorzystaniem wątków (754)
  • 20.4. Synchronizacja dostępu do obiektu (756)
  • 20.5. Niszczenie wątków (758)
  • 20.6. Równoległe uruchamianie bloku kodu dla wielu obiektów (760)
  • 20.7. Ograniczanie liczby wątków z wykorzystaniem ich puli (763)
  • 20.8. Sterowanie zewnętrznym procesem za pomocą metody popen (766)
  • 20.9. Przechwytywanie strumienia wyjściowego i informacji o błędach z polecenia powłoki w systemie Unix (767)
  • 20.10. Zarządzanie procesami w innym komputerze (768)
  • 20.11. Unikanie zakleszczeń (770)

Rozdział 21. Interfejs użytkownika (773)

  • 21.1. Pobieranie danych wejściowych wiersz po wierszu (774)
  • 21.2. Pobieranie danych wejściowych znak po znaku (776)
  • 21.3. Przetwarzanie argumentów wiersza polecenia (778)
  • 21.4. Sprawdzenie, czy program działa w trybie interaktywnym (781)
  • 21.5. Konfiguracja i porządkowanie po programie wykorzystującym bibliotekę Curses (782)
  • 21.6. Czyszczenie ekranu (784)
  • 21.7. Określenie rozmiaru terminala (785)
  • 21.8. Zmiana koloru tekstu (787)
  • 21.9. Odczytywanie haseł (790)
  • 21.10. Edycja danych wejściowych z wykorzystaniem biblioteki Readline (791)
  • 21.11. Sterowanie migotaniem diod na klawiaturze (792)
  • 21.12. Tworzenie aplikacji GUI z wykorzystaniem biblioteki Tk (795)
  • 21.13. Tworzenie aplikacji GUI z wykorzystaniem biblioteki wxRuby (798)
  • 21.14. Tworzenie aplikacji GUI z wykorzystaniem biblioteki Ruby/GTK (802)
  • 21.15. Tworzenie aplikacji Mac OS X z wykorzystaniem biblioteki RubyCocoa (805)
  • 21.16. Wykorzystanie AppleScript do pobierania danych wejściowych od użytkownika (812)

Rozdział 22. Rozszerzenia języka Ruby z wykorzystaniem innych języków (815)

  • 22.1. Pisanie rozszerzeń w języku C dla języka Ruby (816)
  • 22.2. Korzystanie z bibliotek języka C z poziomu kodu Ruby (819)
  • 22.3. Wywoływanie bibliotek języka C za pomocą narzędzia SWIG (822)
  • 22.4. Kod w języku C wstawiany w kodzie Ruby (825)
  • 22.5. Korzystanie z bibliotek Javy za pośrednictwem interpretera JRuby (827)

Rozdział 23. Administrowanie systemem (831)

  • 23.1. Pisanie skryptów zarządzających zewnętrznymi programami (832)
  • 23.2. Zarządzanie usługami systemu Windows (833)
  • 23.3. Uruchamianie kodu w imieniu innego użytkownika (835)
  • 23.4. Okresowe uruchamianie zadań bez używania mechanizmu cron lub at (836)
  • 23.5. Usuwanie plików, których nazwy spełniają kryteria określone przez wyrażenie regularne (838)
  • 23.6. Zmiana nazw grupy plików (840)
  • 23.7. Wyszukiwanie plików zdublowanych (842)
  • 23.8. Automatyczne wykonywanie kopii zapasowych (845)
  • 23.9. Ujednolicanie własności i uprawnień w katalogach użytkowników (846)
  • 23.10. Niszczenie wszystkich procesów wybranego użytkownika (849)

Skorowidz (853)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-6171-8
Rozmiar pliku: 4,9 MB

BESTSELLERY

Kategorie: