ruby-on-rails-2.1.-tworzenie-nowoczesnych-aplikacji-internetowych ebook, ebooki-ksiazki
[ Pobierz całość w formacie PDF ]
Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych Autor: JarosĀaw ZabieĀĀo ISBN: 83-246-0631-9 Format: 158x235, stron: 216 Poznaj nowoczesne technologie programistyczne ¤ Jak zainstalowaě i skonfigurowaě Ruby on Rails? ¤ W jaki sposb korzystaě z frameworka Rails? ¤ Jak ĀĴczyě aplikacje Ruby z bazami danych? ¤ Jak wdraŃaě aplikacje Rails? Jķzyk Ruby, opracowany w Japonii, dĀugo pozostawaĀ jednĴ z wielu tajemniczych âzabawekÒ, przeznaczonych dla niewielkiej garstki pasjonatw. Jednak gdy w roku 2005 powstaĀ framework Rails, technologia Ruby on Rails rozpoczķĀa swj triumfalny pochd przez ľwiat internetu. Ruby on Rails to niesamowite narzķdzie, przeznaczone do tworzenia witryn WWW i aplikacji sieciowych. Przyspiesza ono i upraszcza proces programowania, wdroŃenia oraz rozwijania aplikacji. Ruby on Rails w ciĴgu kilku lat wyrosĀo na powaŃnego konkurenta jķzyka PHP, zdobywajĴc coraz wiķcej zwolennikw. KsiĴŃka âRuby on Rails. Tworzenie nowoczesnych aplikacji internetowychÒ to podrķcznik, dziķki ktremu poznasz tajniki programowania w Ruby i korzystania z frameworka Rails. Dowiesz siķ, jak zainstalowaě i skonfigurowaě RoR na stacji roboczej i serwerze sieciowym, jak zbudowana jest aplikacja tworzona w Ruby on Rails, czym jest model MVC i na czym polega programowanie adaptacyjne (agile). Poznasz elementy jķzyka Ruby i mechanizmy Rails, nauczysz siķ tworzyě interfejs uŃytkownika dla aplikacji, implementowaě komunikacjķ z bazami danych oraz wykorzystywaě techniki programowania obiektowego. Przeczytasz o wbudowanych w Rails mechanizmach testowania, usuwaniu bĀķdw, ĀĴczeniu kodu Ruby z jķzykiem JavaScript i wdraŃaniu aplikacji RoR w ľrodowisku produkcyjnym. ¤ Podstawowe zaĀoŃenia Ruby on Rails ¤ Instalacja ľrodowiska na stacji roboczej ¤ NajwaŃniejsze elementy jķzyka Ruby i frameworka Rails ¤ Struktura projektu w Ruby on Rails ¤ Tworzenie widokw za pomocĴ szablonw Haml/Sass ¤ Implementacja logiki aplikacji ¤ Praca z bazami danych ¤ RSpec i testy behawioralne (BDD) ¤ AJAX, jQuery i nieinwazyjny JavaScript ¤ Fusion Passenger i serwery asynchroniczne ¤ Praktyczna konfiguracja serwerw Nginx i Apache 2.x ¤ JRuby on Rails, Ruby 1.9, Rubinius, MagLev, Merb Nadchodzi era Ruby on Rails. BĴdł na niĴ przygotowany Wydawnictwo Helion ul. Koľciuszki 1c 44-100 Gliwice tel. 032 230 98 63 e-mail: helion@helion.pl Spis treści Rozdział 1. Wprowadzenie .................................................................................. 7 Czym jest Ruby on Rails? ................................................................................................ 8 Programowanie adaptacyjne i szybka pętla sprzężenia zwrotnego ................................... 9 Rails jako fronton do relacyjnej bazy danych ................................................................. 10 Podstawowe założenia .................................................................................................... 10 MVC ......................................................................................................................... 10 DRY ......................................................................................................................... 12 Konwencja ponad konfiguracją ................................................................................ 12 Prowadzenie za rękę ................................................................................................. 13 Magia i konwencje ................................................................................................... 13 Instalacja ......................................................................................................................... 14 Ruby ......................................................................................................................... 14 RubyGems ................................................................................................................ 14 Rails ......................................................................................................................... 15 Rozdział 2. Architektura Rails .......................................................................... 17 Struktura katalogów ........................................................................................................ 17 Moduły składające się na Rails ....................................................................................... 21 Tworzenie projektów RoR .............................................................................................. 22 Stworzenie projektu dla określonej wersji ................................................................ 23 Zamrożenie bieżącej wersji ...................................................................................... 23 Zamrożenie dowolnej wersji .................................................................................... 23 Zamrożenie zewnętrznych gemów ........................................................................... 23 Odmrożenie projektu ................................................................................................ 24 Model-Widok-Kontroler ................................................................................................. 24 Active Support ................................................................................................................ 24 Rozszerzenie logiki boolowskiej Ruby’ego ............................................................. 24 Rozszerzenia dla napisów ........................................................................................ 25 Obsługa Unicode ...................................................................................................... 25 Rozszerzenia dla liczb .............................................................................................. 26 Rozszerzenia dla dat i czasu ..................................................................................... 27 Serializacja do XML, JSON i YAML ...................................................................... 28 Rozdział 3. Warstwa kontrolera ........................................................................ 29 Generator kodu ............................................................................................................... 29 Zawężanie dostępu do akcji ............................................................................................ 30 Renderowanie odpowiedzi dla serwera .......................................................................... 30 Dowolna akcja .......................................................................................................... 31 Dowolny plik ............................................................................................................ 32 4 Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych Dowolny tekst .......................................................................................................... 32 Dowolny szablon ...................................................................................................... 32 Włączanie podszablonów ......................................................................................... 33 Odpowiedzi zależne od nagłówka MIME ................................................................ 33 Filtry ............................................................................................................................... 34 before_filter .............................................................................................................. 35 after_filter ................................................................................................................. 35 around_filter ............................................................................................................. 36 Cookies i sesje ................................................................................................................37 Routing ........................................................................................................................... 39 map.connect ............................................................................................................. 39 map.root ................................................................................................................... 40 Reguły nazwane ....................................................................................................... 40 map.with_options ..................................................................................................... 40 Reguły ze znakami globalnymi ................................................................................ 41 Sprawdzanie reguł .................................................................................................... 42 Helpery do generowania adresów ............................................................................. 45 Zawężanie dozwolonych wartości ............................................................................ 46 Rozdział 4. Warstwa modelu ............................................................................ 47 Active Record ................................................................................................................. 47 Dynamiczna konfiguracja połączenia ....................................................................... 48 Połączenia do różnych baz ....................................................................................... 50 Równoczesna praca z wieloma bazami .................................................................... 54 Migracje ................................................................................................................... 54 CRUD ....................................................................................................................... 59 Metody statystyczne ................................................................................................. 68 Relacje ...................................................................................................................... 68 Walidacje ................................................................................................................. 77 Wywołania zwrotne (callbacks) ............................................................................... 77 Magiczne pola .......................................................................................................... 78 AR jako zewnętrzna biblioteka ................................................................................ 78 Reguła „cienkiego” klienta i „wypasionego” modelu ..................................................... 79 Rozdział 5. Warstwa widoku ............................................................................ 81 Szablony Rails 2.x i typy MIME .................................................................................... 81 ERb ................................................................................................................................. 82 Unikanie niebezpiecznych danych ........................................................................... 82 Zmienne w szablonach ............................................................................................. 83 Szablony wzorcowe i zagnieżdżone ......................................................................... 84 Podszablony w pętli ................................................................................................. 86 Inne rodzaje szablonów .................................................................................................. 87 Haml i Sass ............................................................................................................... 87 Erubis ....................................................................................................................... 90 Liquid ....................................................................................................................... 90 Markaby ................................................................................................................... 90 MasterView .............................................................................................................. 91 Rozdział 6. Cache ............................................................................................ 93 Pamięć operacyjna .......................................................................................................... 94 Pliki na dysku .................................................................................................................94 DRb ................................................................................................................................ 94 Memcached .................................................................................................................... 94 Buforowanie całych stron ............................................................................................... 98 Buforowanie fragmentów szablonu ................................................................................ 99 Spis treści 5 Rozdział 7. Debugowanie ............................................................................... 101 Logger i pliki logowania ............................................................................................... 101 Interaktywna konsola .................................................................................................... 102 Tryby pracy ............................................................................................................ 103 Kolorowanie i dodatkowe ustawienia irb ............................................................... 103 Podglądanie w konsoli kodu SQL .......................................................................... 103 Tryb piaskownicy ................................................................................................... 104 Debuger ........................................................................................................................ 104 Introspekcja obiektów ................................................................................................... 105 Firebug i Web Development — pluginy Firefoksa ....................................................... 105 Netbeans 6.x i debugowanie Rails w trybie graficznym ............................................... 106 Rozdział 8. Pluginy ........................................................................................ 109 Zarządzanie pluginami ................................................................................................. 110 Miejsce i kolejność ładowania ................................................................................ 110 Instalacja ................................................................................................................ 110 Piston ...................................................................................................................... 111 RaPT ...................................................................................................................... 112 Deinstalacja ............................................................................................................ 112 Aktualizacja ............................................................................................................ 112 Dostępna lista i źródła lokalizacji ........................................................................... 113 Tworzenie własnych pluginów ..................................................................................... 113 Rozdział 9. Architektura REST ........................................................................ 115 Poza MVC .................................................................................................................... 115 Interfejs REST .............................................................................................................. 116 Tworzenie zasobu ................................................................................................... 116 Własne metody ....................................................................................................... 117 Active Resource ............................................................................................................ 118 Obsługa błędów ...................................................................................................... 119 Uaktywnienie Action Web Service w Rails 2.x ............................................................ 120 Rozdział 10. Testowanie .................................................................................. 121 BDD vs. TDD ............................................................................................................... 122 RSpec ........................................................................................................................... 122 Instalacja ................................................................................................................ 123 Sposób budowania „oczekiwań” ............................................................................ 123 Mocks & Stubs ....................................................................................................... 127 RSpec User Stories, RCov i Autotest w akcji ............................................................... 131 Instalacja potrzebnych gemów ............................................................................... 131 Instalacja potrzebnych pluginów ............................................................................ 135 Konfiguracja połączeń do baz ................................................................................ 135 Tworzenie baz ........................................................................................................ 135 Scenariusze oczekiwań ........................................................................................... 136 Rozdział 11. JavaScript & Ajax ......................................................................... 145 Nieinwazyjny JavaScript .............................................................................................. 146 Obsługa zdarzeń JS ....................................................................................................... 146 JS.ERB vs. JS.RJS ........................................................................................................ 148 Alternatywne biblioteki JS ........................................................................................... 149 jQuery ..................................................................................................................... 149 MooTools ............................................................................................................... 150 Yahoo YUI ............................................................................................................. 150 ExtJS ...................................................................................................................... 151 6 Ruby on Rails 2.1. Tworzenie nowoczesnych aplikacji internetowych Rozdział 12. Wersje międzynarodowe ............................................................... 153 Ri18n i GLoc ................................................................................................................ 154 Globalize ...................................................................................................................... 155 Ustawienie kodowania UTF-8 ................................................................................ 155 Instalacja ................................................................................................................ 157 Konfiguracja ........................................................................................................... 157 Dynamiczne przełączanie wersji językowej ........................................................... 158 Tłumaczenie szablonów ......................................................................................... 159 Tłumaczenie danych trzymanych w bazie .............................................................. 162 Część danych w bazie, część w plikach .................................................................. 164 Dodatkowe informacje ........................................................................................... 165 Rozdział 13. Wdrożenie .................................................................................... 167 Apache + Fusion Passenger .......................................................................................... 167 Apache/Nginx + mongrel_cluster/Thin/Ebb ................................................................. 169 Serwery przetwarzające kod Ruby’ego .................................................................. 169 Serwery przetwarzające pliki statyczne .................................................................. 176 Win32 + mongrel_service ............................................................................................ 181 Gdy nie działa mongrel_service… ......................................................................... 182 Rozdział 14. Edytory IDE .................................................................................. 183 Textmate ....................................................................................................................... 183 Netbeans 6 .................................................................................................................... 184 JEdit .............................................................................................................................. 185 Aptana Studio (RadRails) ............................................................................................. 187 Arachno IDE ................................................................................................................. 187 Komodo 4 ..................................................................................................................... 188 RDE .............................................................................................................................. 189 Podsumowanie .............................................................................................................. 190 Rozdział 15. Opcje Ruby’ego ............................................................................ 191 Ruby 1.8 MRI ............................................................................................................... 191 Ruby Enterprise ............................................................................................................ 191 Ruby 1.9 + YARV ........................................................................................................ 191 JRuby ............................................................................................................................ 192 Tworzenie pliku WAR ........................................................................................... 192 IronRuby ....................................................................................................................... 194 MacRuby ...................................................................................................................... 194 Rubinius ....................................................................................................................... 194 MagLev ........................................................................................................................ 195 Rozdział 16. Merb ............................................................................................ 197 Dodatek A Dodatkowe źródła informacji ......................................................... 201 Książki .......................................................................................................................... 201 Ruby ....................................................................................................................... 201 Rails ....................................................................................................................... 202 Internet ......................................................................................................................... 203 Skorowidz ................................................................................... 205 [ Pobierz całość w formacie PDF ] |