O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Rails. Receptury

Book Description

Zestaw porad i rozwišzań problemów, przed którymi stajš programici stosujšcy ten zbiór bibliotek w swojej pracy. Omówione tu zagadnienia przydadzš się zarówno poczštkujšcym, ja...

Table of Contents

  1. Rails. Receptury
  2. Przedmowa
  3. Wstęp
    1. Dla kogo przeznaczona jest ta książka?
    2. Inne źródła informacji
      1. Witryny WWW
      2. Książki
    3. Konwencje stosowane w książce
      1. Konwencje typograficzne
    4. Korzystanie z przykładów kodu
    5. Podziękowania
  4. 1. Zaczynamy
    1. 1.0. Wprowadzenie
    2. 1.1. Społeczność Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 1.2. Szukanie dokumentacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 1.3. Instalacja MySQL
      1. Problem
      2. Rozwiązanie
        1. Windows
        2. Linux
        3. Mac OS X
      3. Omówienie
      4. Zobacz również
    5. 1.4. Instalacja PostgreSQL
      1. Problem
      2. Rozwiązanie
        1. Windows
        2. Linux
        3. Mac OS X
      3. Omówienie
      4. Zobacz również
    6. 1.5. Instalacja Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 1.6. Zmiana wersji Ruby i instalacja Rails w systemie OS X Tiger
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 1.7. Uruchamianie Rails w systemie OS X za pomocą Locomotive
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 1.8. Uruchamianie Rails w systemie Windows za pomocą Instant Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 1.9. Aktualizacja Rails za pomocą RubyGems
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 1.10. Utworzenie repozytorium Subversion własnego projektu Rails
      1. Projekt
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  5. 2. Praca w Rails
    1. 2.0. Wprowadzenie
    2. 2.1. Tworzenie projektu Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 2.2. Rozpoczynamy pracę z rusztowaniami
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 2.3. Przyspieszanie Rails za pomocą serwera Mongrel
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 2.4. Zwiększanie możliwości produkcyjnych w systemie Windows za pomocą Cygwin
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 2.5. Wzorce pluralizacyjne w Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 2.6. Praca w Rails w systemie OS X za pomocą TextMate
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 2.7. Wieloplatformowe tworzenie aplikacji z RadRails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 2.8. Instalacja i uruchamianie Edge Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 2.9. Uwierzytelnianie bezhasłowe za pomocą SSH
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 2.10. Tworzenie dokumentacji RDoc do własnej aplikacji Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 2.11. Tworzenie w pełni funkcjonalnej aplikacji CRUD za pomocą Streamlined
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  6. 3. Active Record
    1. 3.0. Wprowadzenie
    2. 3.1. Przygotowanie relacyjnej bazy danych do pracy z Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 3.2. Programowe definiowanie schematu bazy danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 3.3. Zarządzanie bazą za pomocą migracji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 3.4. Modelowanie bazy danych za pomocą Active Record
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 3.5. Kontrola relacji modelu z konsoli Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 3.6. Dostęp do danych za pośrednictwem Active Record
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 3.7. Wyszukiwanie rekordów przy użyciu find
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 3.8. Iteracja na zestawie wyników Active Record
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 3.9. Wydajne pobieranie danych przy użyciu wczesnego wczytywania
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 3.10. Aktualizowanie obiektu Active Record
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 3.11. Wymuszanie spójności danych przy użyciu walidacji Active Record
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    13. 3.12. Wykonywanie własnych zapytań za pomocą find_by_sql
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    14. 3.13. Ochrona przed sytuacjami wyścigu za pomocą transakcji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    15. 3.14. Dodawanie do modelu możliwości sortowania przy użyciu acts_as_list
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    16. 3.15. Wykonywanie zadań przy każdorazowym tworzeniu obiektów modelu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    17. 3.16. Modelowanie wątkowanego forum przy użyciu acts_as_nested_set
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    18. 3.17. Tworzenie katalogu zagnieżdżonych tematów za pomocą acts_as_tree
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    19. 3.18. Unikanie sytuacji wyścigu przy użyciu blokowania optymistycznego
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    20. 3.19. Obsługa tabel z odziedziczoną konwencją nazewniczą
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    21. 3.20. Automatyczny zapis sygnatur czasowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    22. 3.21. Wydzielanie wspólnych relacji za pomocą powiązań polimorficznych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    23. 3.22. Połączenie modeli łączących i polimorfizmu w celu elastycznego modelowania danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  7. 4. Action Controller
    1. 4.0. Wprowadzenie
    2. 4.1. Dostęp do danych formularza z kontrolera
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 4.2. Zmiana strony domyślnej aplikacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 4.3. Zwiększanie przejrzystości kodu za pomocą nazwanych tras
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 4.4. Konfigurowanie własnych zachowań wyboru tras
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 4.5. Wyświetlanie komunikatów alarmowych za pomocą flash
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 4.6. Przedłużanie okresu trwania komunikatu flash
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 4.7. Podążanie za akcjami za pomocą przekierowań
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 4.8. Dynamiczne generowanie adresów URL
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 4.9. Kontrolowanie żądań za pomocą filtrów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 4.10. Rejestracja zdarzeń z wykorzystaniem filtrów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 4.11. Renderowanie akcji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    13. 4.12. Ograniczanie dostępu do metod kontrolera
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    14. 4.13. Wysyłanie do przeglądarki plików lub strumieni danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    15. 4.14. Przechowywanie informacji o sesji w bazie danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    16. 4.15. Śledzenie informacji za pomocą sesji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    17. 4.16. Uwierzytelnianie z użyciem filtrów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  8. 5. Action View
    1. 5.0. Wprowadzenie
    2. 5.1. Upraszczanie szablonów za pomocą metod pomocniczych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 5.2. Wyświetlanie obszernych zbiorów danych za pomocą stronicowania
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 5.3. Tworzenie lepkich list wyboru
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 5.4. Edycja relacji wiele-do-wielu za pomocą list wielokrotnego wyboru
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 5.5. Wyodrębnianie wspólnego kodu prezentacyjnego za pomocą makiet
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 5.6. Definiowanie domyślnej makiety dla aplikacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 5.7. Generowanie kodu XML za pomocą szablonów Builder
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 5.8. Generowanie źródeł RSS z danych Active Record
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 5.9. Ponowne wykorzystanie elementów za pomocą podszablonów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 5.10. Przetwarzanie pól wejściowych tworzonych dynamicznie
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 5.11. Dostosowywanie zachowań standardowych metod pomocniczych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    13. 5.12. Tworzenie formularzy WWW z wykorzystaniem metod pomocniczych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    14. 5.13. Format daty, czasu i waluty
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    15. 5.14. Personalizacja profili użytkowników za pomocą grawatarów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    16. 5.15. Unikanie szkodliwego kodu w widokach za pomocą szablonów Liquid
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    17. 5.16. Globalizacja aplikacji Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  9. 6. Projektowanie z REST
    1. 6.0. Wprowadzenie
      1. REST to konwersacja
      2. REST to projekt
      3. Rails i REST
    2. 6.1. Tworzenie zagnieżdżonych zasobów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 6.2. Obsługa innych formatów danych za pomocą typów MIME
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 6.3. Modelowanie relacji REST przy użyciu modeli łączących
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 6.4. Poszerzanie możliwości CRUD za pomocą zasobów REST
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 6.5. Korzystanie ze złożonych zagnieżdżonych zasobów REST
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 6.6. Tworzenie aplikacji Rails zgodnie z REST
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  10. 7. Testowanie aplikacji
    1. 7.0. Wprowadzenie
    2. 7.1. Centralizacja tworzenia obiektów wspólnych dla przypadków testowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    3. 7.2. Tworzenie obiektów fixture dla przyporządkowań typu wiele-do-wielu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 7.3. Importowanie danych testowych za pomocą obiektów fixture CSV
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 7.4. Dołączanie dynamicznych danych do obiektów fixture za pomocą ERb
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 7.5. Inicjalizacja testowej bazy danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 7.6. Interaktywne testowanie kontrolerów z poziomu konsoli Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 7.7. Interpretacja danych z testu jednostkowego
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 7.8. Ładowanie danych testowych za pomocą obiektów fixture YAML
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 7.9. Monitorowanie testu pokrycia za pomocą zadania stats rake
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 7.10. Przeprowadzanie testów za pomocą narzędzia Rake
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 7.11. Przyspieszanie testów za pomocą transakcyjnych obiektów fixture
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    13. 7.12. Sprawdzanie przez kontrolery za pomocą testów integracyjnych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    14. 7.13. Sprawdzanie kontrolerów za pomocą testów funkcjonalnych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    15. 7.14. Analiza zawartości pliku cookie
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    16. 7.15. Testowanie tras własnych i nazwanych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    17. 7.16. Testowanie żądań HTTP za pomocą asercji związanych z odpowiedziami
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    18. 7.17. Sprawdzanie modelu za pomocą testów jednostkowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    19. 7.18. Jednostkowe testowanie walidacji modelu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    20. 7.19. Weryfikacja struktury DOM za pomocą asercji znaczników
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    21. 7.20. Pisanie własnych asercji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    22. 7.21. Testowanie wysyłania plików
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    23. 7.22. Modyfikowanie domyślnego zachowania klasy testującej przy użyciu makiet
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    24. 7.23. Uzyskiwanie większej ilości danych dzięki ciągłemu uruchamianiu testów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    25. 7.24. Analiza pokrycia kodu za pomocą narzędzia Rcov
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  11. 8. JavaScript i Ajax
    1. 8.0. Wprowadzenie
    2. 8.1. Dodawanie do strony elementów DOM
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 8.2. Tworzenie własnego raportu metodą przeciągnij i upuść
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 8.3. Dynamiczne dodawanie elementów do listy wyboru
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    5. 8.4. Kontrolowanie ilości tekstu wprowadzanego do pola textarea
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 8.5. Aktualizowanie elementów strony za pomocą szablonów RJS
      1. Problem
      2. Rozwiązanie
      3. Omówienie
    7. 8.6. Wstawianie kodu JavaScript do szablonów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 8.7. Umożliwianie użytkownikom zmiany kolejności elementów listy
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 8.8. Autouzupełnianie pól tekstowych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 8.9. Wyszukiwanie i dynamiczne wyróżnianie tekstu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 8.10. Uatrakcyjnianie interfejsu użytkownika przy użyciu efektów wizualnych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 8.11. Implementacja wyszukiwarki Live Search
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    13. 8.12. Edycja pól w miejscu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    14. 8.13. Tworzenie paska postępu w Ajaksie
      1. Problem
      2. Rozwiązanie
      3. Omówienie
  12. 9. Action Mailer
    1. 9.0. Wprowadzenie
    2. 9.1. Konfiguracja Rails do wysyłania poczty
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 9.2. Tworzenie klasy mailera za pomocą generatora mailer
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 9.3. Formatowanie wiadomości e-mail przy użyciu szablonów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 9.4. Dołączanie plików do wiadomości e-mail
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 9.5. Wysyłanie wiadomości e-mail z aplikacji Rails
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 9.6. Odbieranie poczty za pomocą mechanizmu Action Mailer
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  13. 10. Debugowanie aplikacji Rails
    1. 10.0. Wprowadzenie
    2. 10.1. Eksploracja Rails z poziomu konsoli
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 10.2. Naprawianie błędów u źródła przy użyciu opcji Ruby -cw
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 10.3. Debugowanie aplikacji w czasie rzeczywistym przy użyciu punktów wstrzymania
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 10.4. Zapisywanie komunikatów do dziennika przy użyciu wbudowanej w Rails klasy Logger
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 10.5. Zapisywanie danych debugowania w pliku
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 10.6. Wysyłanie informacji o wyjątkach pocztą elektroniczną
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 10.7. Wyświetlanie w widokach informacji o środowisku
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 10.8. Wyświetlanie zawartości obiektów przy użyciu wyjątków
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 10.9. Filtrowanie zawartości dziennika rozwojowego w czasie rzeczywistym
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 10.10. Debugowanie połączenia HTTP przy użyciu rozszerzeń Firefoksa
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 10.11. Debugowanie kodu JavaScript w czasie rzeczywistym przy użyciu powłoki JavaScript Shell
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    13. 10.12. Interaktywne debugowanie kodu za pomocą narzędzia ruby-debug
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  14. 11. Bezpieczeństwo aplikacji
    1. 11.0. Wprowadzenie
    2. 11.1. Zabezpieczanie systemu za pomocą silnego hasła
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 11.2. Ochrona przed atakami typu SQL injection
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 11.3. Ochrona przed atakami typu cross-site scripting
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 11.4. Ograniczanie dostępu do publicznych metod i akcji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 11.5. Zabezpieczanie serwera poprzez zamknięcie nieużywanych portów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  15. 12. Wydajność
    1. 12.0. Wprowadzenie
    2. 12.1. Mierzenie wydajności serwera za pomocą narzędzia httperf
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 12.2. Testowanie wydajności fragmentów kodu aplikacji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 12.3. Zwiększanie wydajności poprzez buforowanie statycznych stron
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 12.4. Okres ważności buforowanych stron
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 12.5. Mieszanie treści dynamicznej i statycznej przy użyciu mechanizmu buforowania fragmentów
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 12.6. Filtrowanie buforowanych stron za pomocą buforowania akcji
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 12.7. Skracanie czasu dostępu do danych za pomocą systemu memcached
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 12.8. Zwiększanie wydajności poprzez buforowanie treści po przetworzeniu
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  16. 13. Hosting i wdrażanie
    1. 13.0. Wprowadzenie
    2. 13.1. Hosting Rails na serwerze Apache 1.3 i przy użyciu mod_fastcgi
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 13.2. Zarządzanie wieloma procesami Mongrel przy użyciu mongrel_cluster
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 13.3. Hosting Rails na Apache 2.2, mod_proxy_balancer i Mongrel
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 13.4. Wdrażanie Rails przy użyciu Pound jako frontu dla Mongrel, Lighttpd i Apache
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 13.5. Dostosowywanie do własnych potrzeb rejestracji danych Pound za pomocą narzędzia cronolog
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 13.6. Konfiguracja Pound z obsługą SSL
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 13.7. Równoważenie obciążenia za pomocą prostego narzędzia o nazwie Pen
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 13.8. Wdrażanie projektu Rails przy użyciu Capistrano
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 13.9. Wdrażanie aplikacji w kilku środowiskach przy użyciu Capistrano
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 13.10. Wdrażanie przy użyciu Capistrano bez dostępu do systemu Subversion
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 13.11. Wdrażanie przy użyciu Capistrano i mongrel_cluster
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    13. 13.12. Wyłączanie strony podczas prac konserwacyjnych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    14. 13.13. Pisanie własnych zadań Capistrano
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    15. 13.14. Usuwanie pozostałości po sesjach
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  17. 14. Rozszerzanie Rails za pomocą wtyczek
    1. 14.0. Wprowadzenie
    2. 14.1. Znajdywanie wtyczek
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    3. 14.2. Instalowanie wtyczek
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 14.3. Manipulacja wersjami rekordów za pomocą wtyczki acts_as_versioned
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 14.4. Uwierzytelnianie przy użyciu wtyczki acts_as_authenticated
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 14.5. Upraszczanie znakowania za pomocą wtyczki acts_as_taggable
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 14.6. Rozszerzanie Active Record przy użyciu wtyczki acts_as
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 14.7. Dodawanie metod pomocniczych widoków do Rails jako wtyczek
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    9. 14.8. Wysyłanie plików na serwer przy użyciu wtyczki file_column
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    10. 14.9. Wysyłanie plików na serwer przy użyciu wtyczki acts_as_attachment
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    11. 14.10. Wyłączanie rekordów zamiast ich usuwania za pomocą wtyczki acts_as_paranoid
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    12. 14.11. Dodawanie bardziej wyrafinowanego mechanizmu uwierzytelniania przy użyciu wtyczki login_engine
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  18. 15. Grafika
    1. 15.0. Wprowadzenie
    2. 15.1. Instalowanie interfejsu RMagick do przetwarzania obrazów
      1. Problem
      2. Rozwiązanie
        1. Windows
        2. Linux
        3. Mac OS X
      3. Omówienie
      4. Zobacz również
    3. 15.2. Wysyłanie obrazów do bazy danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    4. 15.3. Serwowanie obrazków bezpośrednio z bazy danych
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    5. 15.4. Tworzenie miniatur za pomocą RMagick
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    6. 15.5. Generowanie dokumentów PDF
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    7. 15.6. Wizualna prezentacja danych przy użyciu Gruff
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
    8. 15.7. Tworzenie małych grafów przy użyciu biblioteki Sparklines
      1. Problem
      2. Rozwiązanie
      3. Omówienie
      4. Zobacz również
  19. A. Migracja do Rails 1.2
    1. Action Controller
    2. Active Record
    3. Action View
  20. B. O autorze
  21. Indeks
  22. Kolofon
  23. Copyright