Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00517 006704 13590109 na godz. na dobę w sumie
Rails. Leksykon kieszonkowy - książka
Rails. Leksykon kieszonkowy - książka
Autor: Liczba stron: 224
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-2131-6 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> rails - programowanie
Porównaj ceny (książka, ebook, audiobook).

Cała wiedza o Rails, której potrzebujesz!

Ruby on Rails przebojem wdarł się na rynek szkieletów aplikacji internetowych. Stworzony w architekturze MVC, został niezmiernie dobrze przyjęty przez programistów z całego świata. Niewątpliwie wpływ na ten fakt miały założenia poczynione przez autora projektu - łatwość i przyjemność tworzenia kodu. Powszechnie wiadomo, że te atuty mają niebagatelny wpływ na szybkość tworzenia aplikacji internetowych. Dzięki popularności Ruby on Rails również znajomość języka Ruby, pochodzącego przecież z Dalekiego Wschodu, staje się powszechniejsza.

W tej niezwykłej książce znajdziesz odpowiedzi na wszystkie pytania, które mogą pojawić się w trakcie kodowania nowej aplikacji. Dowiesz się, jak skonfigurować Rails, testować napisany kod, wykorzystać technologię ActiveRecord oraz przygotować widoki. Ponadto zdobędziesz wiedzę na temat używania technologii AJAX i REST, nauczysz się wykorzystywać usługi sieciowe oraz logować ważne informacje w trakcie pracy Twojej aplikacji. Z wiedzy tu zawartej możesz skorzystać szybko i w każdej chwili, a co najważniejsze, nie będziesz musiał przedzierać się przez setki niepotrzebnych stron. Tu znajdziesz tylko wiedzę niezbędną w Twojej pracy!

Wykorzystaj Rails w Twoim projekcie szybko i przyjemnie!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Rails. Leksykon kieszonkowy Autor: Eric Berry T³umaczenie: Anna Trojan ISBN: 978-83-246-2131-6 Tytu³ orygina³u: COM+ Developer s Guide Format: 115x170, stron: 224 Ca³a wiedza o Rails, której potrzebujesz! • Jak zainstalowaæ i skonfigurowaæ Rails? • Jak wykorzystaæ mo¿liwoœci technologii ActiveRecord? • Jak stworzyæ dynamiczn¹ aplikacjê, korzystaj¹c z technologii AJAX? Ruby on Rails przebojem wdar³ siê na rynek szkieletów aplikacji internetowych. Stworzony w architekturze MVC, zosta³ niezmiernie dobrze przyjêty przez programistów z ca³ego œwiata. Niew¹tpliwie wp³yw na ten fakt mia³y za³o¿enia poczynione przez autora projektu — ³atwoœæ i przyjemnoœæ tworzenia kodu. Powszechnie wiadomo, ¿e te atuty maj¹ niebagatelny wp³yw na szybkoœæ tworzenia aplikacji internetowych. Dziêki popularnoœci Ruby on Rails równie¿ znajomoœæ jêzyka Ruby, pochodz¹cego przecie¿ z Dalekiego Wschodu, staje siê powszechniejsza. W tej niezwyk³ej ksi¹¿ce znajdziesz odpowiedzi na wszystkie pytania, które mog¹ pojawiæ siê w trakcie kodowania nowej aplikacji. Dowiesz siê, jak skonfigurowaæ Rails, testowaæ napisany kod, wykorzystaæ technologiê ActiveRecord oraz przygotowaæ widoki. Ponadto zdobêdziesz wiedzê na temat u¿ywania technologii AJAX i REST, nauczysz siê wykorzystywaæ us³ugi sieciowe oraz logowaæ wa¿ne informacje w trakcie pracy Twojej aplikacji. Z wiedzy tu zawartej mo¿esz skorzystaæ szybko i w ka¿dej chwili, a co najwa¿niejsze, nie bêdziesz musia³ przedzieraæ siê przez setki niepotrzebnych stron. Tu znajdziesz tylko wiedzê niezbêdn¹ w Twojej pracy! • Instalacja Rails • Struktura plików • Konfiguracja Rails • Wykorzystanie skryptów • Konfiguracja œrodowiska • Sposoby przeprowadzania testów w Rails • U¿ywanie technologii ActiveRecord • Zarz¹dzanie danymi w bazie • Zastosowanie ActionController • Tworzenie widoków • Sposoby u¿ycia technologii AJAX i REST w Rails • Wykorzystanie us³ug sieciowych • Logowanie informacji w trakcie pracy aplikacji • Stosowanie metod pomocniczych Wykorzystaj Rails w Twoim projekcie szybko i przyjemnie! Spis treļci Przedmowa ........................................................................................5 Informacje o ksiéŜce ..........................................................................8 Poczétki ..............................................................................................8 RubyGems ..........................................................................................8 Polecenia oraz konfiguracja Rails ................................................... 12 Ļrodowiska ....................................................................................... 31 Rake ................................................................................................. 40 Testowanie Rails ..............................................................................45 Konsola Rails ................................................................................... 64 ActiveRecord oraz modele ..............................................................67 Action Controller .............................................................................99 Widoki ............................................................................................105 Rails i Ajax ...................................................................................... 123 Routing ...........................................................................................144 3 REST ................................................................................................149 ActionMailer .................................................................................. 155 Usĥugi sieciowe .............................................................................. 159 Logowanie ...................................................................................... 165 ActiveResource ..............................................................................169 Dodatki ............................................................................................171 Capistrano .......................................................................................171 TextMate ........................................................................................ 179 Metody pomocnicze .......................................................................181 Skorowidz ..................................................................................... 215 4 _ Rails. Leksykon kieszonkowy Polecenia oraz konfiguracja Rails Po zainstalowaniu Rails moĔna uĔyè polecenia rails do gene- rowania nowych aplikacji Rails z domyĈlnñ strukturñ katalogów oraz konfiguracjñ dla okreĈlonej ĈcieĔki. By utworzyè aplikacjö Rails o nazwie myapp, naleĔy wpisaè: rails myapp Po wykonaniu tego polecenia zobaczymy listö katalogów oraz plików wygenerowanych przez nie. To nasza aplikacja Rails; myapp bödzie folderem gäównym, inaczej RAILS ROOT. UŜycie oraz opcje Pomoc dla polecenia rails moĔna uzyskaè za pomocñ: rails --help UŜycie rails [/Łcieška/do/aplikacji][opcje] Opcje -r, --ruby=Łcieška ćcieĔka do wybranych plików binarnych jözyka Ruby. -d, --database=nazwa Konfiguracja dla okreĈlonej bazy danych (na przykäad mysql, oracle, postgresql, sqlite2, sqlite3). -f, --freeze ZamroĔenie Rails w katalogu vendor/rails z gemów ge- nerujñcych szkielet. -v, --version Pokazuje numer wersji Rails i koþczy dziaäanie. 12 _ Rails. Leksykon kieszonkowy -p, --pretend Jest wykonywane, ale nie wprowadza Ĕadnych zmian. --force Nadpisuje istniejñce pliki. -s, --skip Pomija istniejñce pliki. -q, --quiet Blokuje wyĈwietlanie normalnych danych wyjĈciowych. -t, --backtrace Debugowanie; w przypadku bäödów pokazuje Ĉlad wyko- nanych czynnoĈci. -c, --svn Modyfikuje pliki z uĔyciem Subversion (svn musi byè w ĈcieĔce). Struktura plików Rails Po wygenerowaniu aplikacji Rails utworzone zostajñ domyĈlny katalog oraz struktura plików (tabela 1.1). Tabela 1.1. Struktura plików aplikacji Rails ĻcieŜka app app/controllers app/models app/views Opis Przechowuje kod specyficzny dla okreļlonej aplikacji. Przechowuje kontrolery, które dla automatycznego odwzorowania adresów URL powinny mieë nazwy takie jak user_controller.rb. Wszystkie kontrolery powinny pochodzië od ApplicationController, który z kolei pochodzi od ActionController::Base. Przechowuje modele, które powinny nosië nazwy takie jak product.rb. Wiýkszoļë modeli pochodzi od ActiveRecord::Base. Przechowuje pliki szablonów dla widoków. Powinny one nosië ustandaryzowane nazwy, takie jak users/index.html.erb w przypadku akcji UsersController index. Wszystkie widoki wykorzystujé skĥadniý eRuby. Polecenia oraz konfiguracja Rails _ 13 Tabela 1.1. Struktura plików aplikacji Rails — ciñg dalszy ĻcieŜka app/views/ layouts app/helpers config db doc lib public script test vendor Opis Przechowuje pliki szablonów dla ukĥadów dokumentów, jakie majé byë wykorzystane z widokami. Przypomina to metodý wspólnego nagĥówka czy stopki opakowujécych widoki. W widokach definiuje siý ukĥad dokumentu za pomocé ukĥadu :default i tworzy plik o nazwie default.html.erb. Wewnétrz default.html.erb wywoĥuje siý = yield w celu wygenerowania widoku z uŜyciem okreļlonego ukĥadu dokumentu. Przechowuje metody pomocnicze, które powinny nosië nazwy takie jak users_helper.rb. Sé one generowane automatycznie, kiedy dla kontrolerów wykorzystuje siý polecenie script/generate. Metody pomocnicze moŜna wykorzystaë do opakowania funkcjonalnoļci przeznaczonej dla widoków w metody. Pliki konfiguracyjne dla ļrodowiska Rails, mapy tras, bazy danych oraz innych zaleŜnoļci. Zawiera schemat bazy danych znajdujécy siý w schema.rb.db/ migrate. Zawiera wszystkie sekwencje migracji dla schematu. W tym katalogu przechowywana býdzie dokumentacja aplikacji po jej wygenerowaniu za pomocé rake doc:app. Biblioteki specyficzne dla aplikacji. Tak naprawdý kaŜdy rodzaj wĥasnego kodu, który nie jest kontrolerem, modelem ani metodé pomocniczé. Katalog ten znajduje siý w ļcieŜce ĥadowania. Katalog dostýpny dla serwera WWW. Zawiera podkatalogi przeznaczone dla obrazków, arkuszy stylów oraz skryptów JavaScript. Zawiera równieŜ dyspozytor (ang. dispatcher) i domyļlne pliki HTML. Powinien byë ustawiony jako DOCUMENT ROOT serwera WWW. Skrypty pomocnicze sĥuŜéce do automatyzacji oraz generacji. Testy jednostkowe oraz funkcjonalne wraz z fiksturami. Kiedy wykorzystuje siý skrypty script/generate, pliki szablonów testów zostajé dla nas wygenerowane i umieszczone w tym katalogu. Biblioteki zewnýtrzne, od których uzaleŜniona jest nasza aplikacja. Zawiera równieŜ podkatalog plugins. Katalog ten znajduje siý w ļcieŜce ĥadowania. 14 _ Rails. Leksykon kieszonkowy Konfiguracja Rails KaĔda aplikacja Rails oparta jest na plikach konfiguracyjnych okreĈlajñcych jej sposób dziaäania. Pliki te znajdujñ siö w folderze config: boot.rb ãaduje plik programu rozruchowego. Zazwyczaj plik ten nie musi byè modyfikowany. routes.rb Plik konfiguracyjny okreĈlajñcy trasy. environment.rb Ogólne ustawienia konfiguracyjne dla aplikacji Rails. environments/development.rb Konfiguracja specyficzna dla Ĉrodowiska programistycznego. environments/test.rb Konfiguracja specyficzna dla Ĉrodowiska testowego. environments/production.rb Konfiguracja specyficzna dla Ĉrodowiska produkcyjnego. database.yml Konfiguracja poäñczenia z bazñ danych. initializers/inflections.rb Dodaje nowe reguäy fleksyjne do aplikacji (na przykäad dotyczñce liczby mnogiej, pojedynczej, rzeczowników nie- policzalnych). initializers/mime_types.rb Dodaje nowe typy MIME do uĔycia w blokach respond_to (na przykäad rtf lub iPhone). initializers/new_rails_defaults.rb Te ustawienia zmieniajñ zachowanie aplikacji Rails 2 i bödñ domyĈlne dla Rails 3. Plik ten w Rails 3 stanie siö przestarzaäy. Polecenia oraz konfiguracja Rails _ 15 Wiöcej informacji na temat konfiguracji tras, Ĉrodowisk oraz baz danych moĔna znaleĒè w odpowiednich czöĈciach niniejszej ksiñĔki. Skrypty Rails zawiera skrypty pomocnicze säuĔñce do automatyzacji oraz generowania kodu. Wykorzystujñc te skrypty, programiĈci mogñ szybko budowaè aplikacje, zachowujñc jednoczeĈnie kontrolö nad wygenerowanñ zawartoĈciñ. script/about WyĈwietla informacje o Ĉrodowisku aplikacji: Ruby version 1.8.6 (universal-darwin9.0) RubyGems version 1.1.1 Rails version 2.1.0 Active Record version 2.1.0 Action Pack version 2.1.0 Active Resource version 2.1.0 Action Mailer version 2.1.0 Active Support version 2.1.0 Application root /Users/berry/Sites/myapp Environment development Database adapter sqlite3 Database schema version 2 script/console Konsola daje nam dostöp do Ĉrodowiska Rails, w którym moĔna wykonywaè interakcje z modelem domeny. Wszystkie czöĈci aplikacji sñ tutaj skonfigurowane w taki sposób, jakby aplikacja dziaäaäa. MoĔna badaè modele domeny, zmieniaè wartoĈci i zapisy- waè do bazy danych. Konsolö moĔna uruchomiè za pomocñ poniĔszego skryptu: ./script/console 16 _ Rails. Leksykon kieszonkowy Uruchomienie konsoli bez argumentów spowoduje jej dziaäanie z wykorzystaniem Ĉrodowiska programistycznego. By zatrzymaè konsolö, naleĔy wpisaè: quit lub exit W póĒniejszych wersjach Rails moĔna przeäadowywaè modele oraz kontrolery za pomocñ poniĔszego polecenia: reload! By przywróciè aplikacjö do pierwotnych wartoĈci, naleĔy wpisaè: Dispatcher.reset_application! UŜycie ./script/console [Łrodowisko] [opcje] Opcje -s, --sandbox Przy wyjĈciu przywraca modyfikacje bazy danych do stanu poczñtkowego. --irb=[irb] Uruchamia inny irb. Wskazówka Wykorzystywanie konsoli w trybie sandbox daje programiĈcie Rails ogromne moĔliwoĈci. JeĈli na przykäad utworzymy skrypt uaktualniajñcy wszystkie wiersze tabeli, moĔemy najpierw uruchomiè ten skrypt testowo, w trybie sandbox, w oparciu o istniejñce dane, a póĒniej sprawdziè, czy zmiany zostaäy przeprowadzone w poprawny sposób. JeĈli coĈ pójdzie nie tak, wystarczy wyjĈè z konsoli, a w bazie danych nie zostanñ wprowadzone Ĕadne zmiany. Polecenia oraz konfiguracja Rails _ 17 script/destroy Skrypt ten zniszczy wszystkie pliki utworzone przez odpowiadajñce mu polecenie script/generate. Przykäadowo polecenie script/ ´destroy migration CreatePost usunie odpowiedni plik ###_ create_post.rb znajdujñcy siö w katalogu db/migrate, natomiast polecenie script/destroy scaffold Post usunie kontroler oraz widoki dla Post wraz z modelem i migracjñ oraz wszystkimi powiñzanymi testami, a takĔe wiersz map.resources :post w pliku config/routes.rb. UŜycie ./script/destroy generator [opcje] [argumenty] Przykĥad ./script/destroy controller Products rm app/helpers/products_helper.rb rm test/functional/products_controller_test.rb rm app/controllers/products_controller.rb rmdir test/functional notempty test rmdir app/views/products notempty app/views notempty app notempty app/helpers notempty app notempty app/controllers notempty app script/generate Generatory wykorzystywane sñ do tworzenia kodu säuĔñcego do natychmiastowego uĔycia w aplikacji Rails. Po uruchomieniu generatora (za pomocñ script/generate) nowe pliki (kontrolery, modele, widoki) sñ generowane i dodawane do aplikacji. MoĔliwe 18 _ Rails. Leksykon kieszonkowy jest równieĔ tworzenie wäasnych generatorów. Wiöcej informacji na temat wäasnych generatorów moĔna znaleĒè w podcaĈcie Ryana Batesa znajdujñcym siö pod adresem http://railscasts.com/episodes/58. By otrzymaè pomoc dotyczñcñ skryptu generatora, naleĔy wpisaè: ./script/generate --help Pomoc na temat konkretnego generatora moĔna uzyskaè, wpisujñc: ./script/generate [generator] --help Rails zawiera kilka wbudowanych generatorów. controller Tworzy nowy kontroler wraz z widokami. Jako argumenty naleĔy przekazaè nazwö kontrolera, albo w pisowni wielbäñdziej, albo ze znakiem _, a takĔe listö widoków. By utworzyè nowy kontroler wewnñtrz moduäu, naleĔy podaè nazwö kontrolera w postaci ĈcieĔki, na przykäad nazwa_moduäu/ nazwa_kontrolera. MoĔna równieĔ tworzyè podkontrolery dziedziczñce po kontrolerze nadrzödnym, podajñc nazwö kontrolera w postaci NazwaKontrolera ´NadrzĂdnego::NazwaKontroleraPodrzĂdnego. JeĈli na przykäad mamy kontroler o nazwie admin i chcemy utworzyè podkontroler o nazwie users dziedziczñcy filtr uwierzytelniajñcy po kontrolerze nadrzödnym AdminController, moĔemy wpisaè: ./script/generate controller Admin::Users PowyĔszy kod generuje klasö kontrolera w app/controllers/admin, szablony widoku w app/views/admin/controller_name, klasö pomoc- niczñ w app/helpers/admin i zbiór testów funkcjonalnych w test/ functional/admin. Polecenia oraz konfiguracja Rails _ 19 By kontroler potomny UsersController dziedziczyä po Admin ´Controller, bödziemy musieli dodaè poprawne dziedziczenie w pliku app/controllers/admin/users_controller.rb. class UsersController AdminController UŜycie ./script/generate controller NazwaKontrolera [opcje] Przykĥad ./script/generate controller Product name:string price:decimal quantity:integer integration_test Tworzy nowy test integracyjny. Jako argument naleĔy przekazaè nazwö testu, albo w pisowni wielbäñdziej, albo ze znakiem _. Nowa klasa testowa zostanie wygenerowana w test/integration/nazwa testu_test.rb. UŜycie ./script/generate integration_test NazwaTestuIntegracyjnego ´[opcje] Przykĥad ./script/generate integration_test GeneralStories mailer Tworzy nowy program pocztowy (mailer) wraz z widokami. Jako argumenty naleĔy przekazaè nazwö programu pocztowego, albo w pisowni wielbäñdziej, albo ze znakiem _, oraz opcjonalnñ listö e-maili jako argumenty. Powoduje to wygenerowanie klasy programu pocztowego w app/ models, szablonów widoków w app/views/nazwa_programu, testów jednostkowych w test/unit oraz fikstur w test/fixtures. 20 _ Rails. Leksykon kieszonkowy UŜycie ./script/generate mailer NazwaProgramuPocztowego [opcje] Przykĥad ./script/generate mailer Notifications signup ´forgot_password invoice migration Tworzy nowñ migracjö bazy danych. Jako argumenty naleĔy przekazaè nazwö migracji, albo w pisowni wielbäñdziej, albo ze znakiem _, oraz opcjonalnñ listö par atrybutów. Klasa migracji generowana jest w db/migrate i poprzedzona jest datñ. Migracjö moĔna nazwaè w dowolny sposób. Preferowanym standar- dem jest jednak nazwa szczegóäowo opisujñca cel skryptu, na przykäad AddColumnsToTable czy RemoveColumnsFromTable. UŜycie ./script/generate migration NazwaMigracji [opcje] Przykĥad ./script/generate migration AddLastLoginToUsers ´last_login:datetime model Tworzy nowy model, generujñc nowñ klasö w app/models, nowñ klasö migracji w db/migrate, test jednostkowy w test/unit oraz fiksturö w test/fixtures. Jako argumenty naleĔy przekazaè nazwö modelu, albo w pisowni wielbäñdziej, albo ze znakiem _, oraz opcjonalnñ li- stö par atrybutów. UŜycie ./script/generate model NazwaModelu [pole:typ, pole:typ] Polecenia oraz konfiguracja Rails _ 21 Przykĥad ./script/generate model Book title:string description:text ´pages:integer observer Tworzy nowñ klasö Observer. Observer umoĔliwia monitorowanie zdarzeþ cyklu Ĕycia obiektu modelu poza samym modelem, a takĔe pozwala na unikniöcie obciñĔenia klasy modelu logikñ niestanowiñcñ jej jñdra. Wiöcej informacji na temat tej klasy moĔna znaleĒè pod adresem http://api.rubyonrails.org/classes/ActiveRecord/Observer.html. By wygenerowaè nowy obiekt Observer, naleĔy jako argument przekazaè jego nazwö, albo w pisowni wielbäñdziej, albo ze znakiem _. Generator tworzy klasö Observer w katalogu app/models oraz test jednostkowy w katalogu test/unit. UŜycie ./script/generate observer NazwaKlasyObserver [opcje] Przykĥad ./script/generate observer Account plugin Tworzy nowy dodatek (plugin). Jako argument naleĔy przekazaè nazwö dodatku, albo w pisowni wielbäñdziej, albo ze znakiem _. By dodaè równieĔ generator przykäadów, naleĔy przekazaè opcjö --with-generator. Tworzy dodatek w katalogu vendor/plugins wraz z plikiem init.rb oraz README i standardowe katalogi lib, task oraz test. UŜycie ./script/generate plugin NazwaDodatku [opcje] 22 _ Rails. Leksykon kieszonkowy Przykĥad ./script/generate plugin SimpleLayout resource Tworzy nowy zasób wraz z pustym modelem oraz kontrolerem przystosowanym do potrzeb aplikacji REST zorientowanej na zaso- by. NaleĔy przekazaè pojedynczñ nazwö modelu, albo w pisowni wielbäñdziej, albo ze znakiem _, jako pierwszy argument oraz opcjonalnñ listö par atrybutów. UŜycie ./script/generate resource NazwaModelu [pole:typ, pole:typ] Przykĥad ./script/generate resource Post title:string body:text ´published:boolean scaffold Tworzy rusztowanie (ang. scaffold) caäego zasobu, od modelu oraz migracji po kontroler i widoki, wraz z peänym zestawem testów, i dodaje zasób do pliku config/routes.rb. Zasób jest gotowy do uĔycia jako punkt wyjĈcia dla aplikacji REST zorientowanej na zasoby. UŜycie ./script/generate scaffold NazwaModelu [pole:typ, pole:typ] Przykĥad ./script/generate scaffold Comment user_id:integer body:text session_migration Tworzy migracjö dodajñcñ tabelö sesji wykorzystywanñ przez maga- zyn sesji ActiveRecord. Jako argument naleĔy przekazaè nazwö migracji, albo w pisowni wielbäñdziej, albo ze znakiem _. Polecenia oraz konfiguracja Rails _ 23 UŜycie ./script/generate session_migration NazwaMigracjiSesji [opcje] Przykĥad ./script/generate session_migration CreateSessionTable Wiöcej informacji na temat róĔnych typów sesji moĔna znaleĒè w podrozdziale „Sesje” w dalszej czöĈci ksiñĔki. script/performance Rails zawiera kilka skryptów poprawiajñcych wydajnoĈè aplikacji. benchmarker Testuje kilka razy wydajnoĈè jednej lub wiökszej liczby instrukcji w Ĉrodowisku Rails. UŜycie ./script/performance/benchmarker [razy][skrypt][skrypt] ´[skrypt]... Przykĥad ./script/performance/benchmarker 5 Person.do_this Person. ´do_that profiler Profiluje pojedynczñ instrukcjö w Ĉrodowisku. UŜycie ./script/performance/profiler [skrypt][razy][flat|graph| ´graph_html] Przykĥad ./script/performance/profiler Person.do_this(10) 25 graph 24 _ Rails. Leksykon kieszonkowy request Skrypt opakowujñcy bibliotekö ruby-prof (http://ruby-prof.rubyforge. org). Skrypt ten pozwala wykonaè wiökszñ liczbö Ĕñdaþ dla ad- resu URI w aplikacji i otrzymaè szczegóäowy raport profilu kodu w wersji tekstowej oraz HTML. UŜycie ./script/performance/request [opcje][Łcieška skryptu] Opcje -n, --times [0000] OkreĈla, ile Ĕñdaþ naleĔy przetworzyè (wartoĈciñ domyĈlnñ jest 100). -b, --benchmark Test wydajnoĈci zamiast profilowania. --open [polecenie] Polecenie otwarcia wyników profilowania (wartoĈciñ domyĈl- nñ jest „open s ”). Przykĥad # Utworzenie pliku o nazwie perfscript zawierającego post( /sessions , { :login = berry , :password = test }) # Wyniki Thread ID: 218880 Total: 21.639647 self total self wait child calls name 19.28 14.08 4.17 0.00 9.91 25200 Pathname#cleanpath _aggressive 17.11 5.36 3.70 0.00 1.66 157800 Pathname#chop _basename 5.38 2.22 1.16 0.00 1.05 50400 Pathname# initialize 4.66 1.50 1.01 0.00 0.49 265600 Kernel#=== Polecenia oraz konfiguracja Rails _ 25 3.21 0.69 0.69 0.00 0.00 183000 Regexp#to_s 3.20 0.72 0.69 0.00 0.03 377100 String#== 3.18 1.01 0.69 0.00 0.32 800 Array#select script/plugin MenedĔer dodatków Rails. UŜycie ./script/plugin [OPCJE] polecenie Polecenia discover Odnajduje repozytoria dodatków. list WyĈwietla dostöpne dodatki. install Instaluje dodatki ze znanych repozytoriów bñdĒ adresów URL. update Uaktualnia zainstalowane dodatki. remove Odinstalowuje dodatki. source Dodaje repozytorium kodu Ēródäowego dodatku. unsource Usuwa repozytorium dodatku. sources WyĈwietla aktualnie skonfigurowane repozytoria dodatków. 26 _ Rails. Leksykon kieszonkowy script/process Skrypty te säuĔñ do badania procesów oraz pomagajñ w ich kontrolowaniu. inspector WyĈwietla informacje systemowe dotyczñce dyspozytorów Rails (lub innych procesów wykorzystujñcych pliki pid) za pomocñ polecenia ps. UŜycie ./script/process/inspector [opcje] Opcje -s, --ps=polecenie DomyĈlnie: ps -o pid,state,user,start,time,pcpu,vsz, ´majplt,command -p s. -p, --pidpath=Łcieška DomyĈlnie: /Users/berry/Sites/clearplay/tmp/pids. -r, --pattern=wzorzec DomyĈlnie: dispatch.*.pid. Przykĥad # wáasny ps, s to gdzie pid siĊ przeplata inspector -s ps -o user,start,majflt,pcpu,vsz -p s reaper Skrypt reaper säuĔy do ponownego uruchomienia, przeäadowania, zwykäego zakoþczenia oraz zakoþczenia wymuszonego procesów wykonujñcych dyspozytor Rails (lub innych procesów odpowiadajñ- cych na te same sygnaäy). NajczöĈciej robi siö to, kiedy dostöpna jest nowa wersja aplikacji, by moĔna byäo uaktualniè istniejñce procesy tak, by wykorzystywaäy one najnowszñ wersjö kodu. Polecenia oraz konfiguracja Rails _ 27 Skrypt ten wykorzystuje pliki pid do pracy z procesami i domyĈlnie zakäada, Ĕe znajdujñ siö one w katalogu RAILS_ROOT/tmp/pids. Akcje skryptu reaper sñ nastöpujñce: restart Ponownie uruchamia aplikacjö, przeäadowujñc kod aplikacji oraz platformy. reload Przeäadowuje jedynie aplikacjö, ale nie platformö (na przykäad Ĉrodowisko programistyczne). graceful Oznacza wszystkie procesy jako kandydatów do zakoþczenia po kolejnym Ĕñdaniu. kill Wymusza zakoþczenie wszystkich procesów bez wzglödu na to, czy akurat obsäugujñ jakieĈ Ĕñdania. UŜycie ./script/process/reaper [opcje] Opcje -a, --action=nazwa reload | graceful | kill (domyĈlnie: restart). -p, --pidpath=Łcieška DomyĈlnie: [RAILS_ROOT]/tmp/pids. -r, --pattern=wzorzec DomyĈlnie: dispatch.[0-9]*.pid. Przykĥad # Wymuszone zakoĔczenie wszystkich procesów przechowujących pliki pid w katalogu tmp/pids reaper -a kill -r *.pid 28 _ Rails. Leksykon kieszonkowy spawner Skrypt spawner opakowuje spawn-fcgi oraz Mongrel i uäatwia uruchamianie wiökszej liczby procesów wykonujñcych dyspozytor Rails. Polecenie spawn-fcgi pochodzi z serwera lighttpd, jednak moĔna je wykorzystaè zarówno w lighttpd, jak i Apache (i dowol- nym innym serwerze WWW obsäugujñcym zarzñdzane zewnötrz- nie procesy FCGI). Mongrel jest zawarty automatycznie w mongrel_ ´rails w celu uruchamiania dyspozytorów. UŜycie ./script/process/spawner [platforma][opcje] Opcje -a, --address=ip Wiñzanie do adresu IP (domyĈlnie: 0.0.0.0). -p, --port=numer Numer portu poczñtkowego (domyĈlnie: 8000). -i, --instances=liczba Liczba instancji (domyĈlnie: 3). -r, --repeat=sekundy Powtarza próbö wykonania skryptu co n sekund (domyĈlnie: wyäñczone). -e, --environment=nazwa test | development | production (domyĈlnie: production). -P, --prefix=Łcieška Adres URL przedrostka dla aplikacji Rails (wykorzystywany jedynie w serwerze Mongrel w wersji 0.3.15 oraz wyĔszej). -n, --process=nazwa DomyĈlnie: dispatch. Polecenia oraz konfiguracja Rails _ 29 -s, --spawner=Łcieška DomyĈlnie: /usr/bin/env spawn-fcgi (dla instalacji w systemie Mac OS X). -d, --dispatcher=Łcieška DomyĈlnie: [RAILS_ROOT]/public/dispatch.fcgi. Przykĥad # Rozpoczyna 10 instancji, odliczając od 9100 do 9109, wykorzystując serwer Mongrel, # jeĞli jest on dostĊpny ./script/process/spawner -p 9100 -i 10 script/runner Wykonuje kod w jözyku Ruby lub okreĈlony plik tego jözyka. UŜycie ./script/runner [opcje]( JakiŁ.kod(Ruby) lub nazwa_pliku) Opcje -e, --environment=nazwa OkreĈla Ĉrodowisko, w jakim ma dziaäaè skrypt runner (test, development bñdĒ production). Przykĥad ./script/runner MovieList.update_from_imdb -e production Wskazówka Skrypt runner moĔna równieĔ wykorzystaè do wykonywania kodu jözyka Ruby w skryptach powäoki: ------------------------------------------------------- #!/usr/bin/env/Users/berry/Sites/myapp/script/runner Product.find(:all).each { |p| p.price *= 2 ; p.save! } ------------------------------------------------------- 30 _ Rails. Leksykon kieszonkowy script/server Uruchamia serwer WWW. JeĈli Mongrel jest zainstalowany, do- myĈlnie zostanie uruchomiony. By wymusiè uĔycie webrick, naleĔy przekazaè webrick jako opcjö. UŜycie ./script/server [opcje] Opcje -p, --port=port Uruchamia Rails na okreĈlonym porcie (domyĈlnie: 3000). -b, --binding=ip WiñĔe Rails z okreĈlonym adresem IP (domyĈlnie: 0.0.0.0). -d, --daemon Sprawia, Ĕe serwer dziaäa jako daemon. -u, --debugger Wäñcza debugowanie Ruby dla serwera. -e, --environment=nazwa OkreĈla Ĉrodowisko, w jakim ma dziaäaè serwer (test, development bñdĒ production — domyĈlnie development). Ļrodowiska ćrodowiska Rails odzwierciedlajñ etapy tworzenia typowej aplikacji: programowanie, testowanie oraz produkcjö. ćrodowisko Rails moĔna ustawiè na jeden lub oba z poniĔszych sposobów: x ustawienie zmiennej Ĉrodowiskowej RAILS_ENV na nazwö Ĉrodowiska (development, test lub production), Ļrodowiska _ 31
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Rails. Leksykon kieszonkowy
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: