ebook img

Desenvolvimento Ágil para Web 2.0 com Ruby on Rails PDF

184 Pages·2010·4.14 MB·Portuguese
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Desenvolvimento Ágil para Web 2.0 com Ruby on Rails

RR-71 Desenvolvimento Ágil para Web 2.0 com Ruby on Rails A Caelum atua no mercado com consultoria, desenvolvimento e ensino em computação. Sua equipe participou do desenvolvimento de projetos em vários clientes e, após apresentar os cursos de verão de Java na Universidade de São Paulo, passou a oferecer treinamentos para o mercado. Toda a equipe tem uma forte presença na comunidade através de eventos, artigos em diversas revistas, participação em muitos projetos open source como o VRaptor e o Stella e atuação nos fóruns e listas de discussão como o GUJ. Com uma equipe de mais de 60 profissionais altamente qualificados e de destaque do mercado, oferece treinamentos em Java, Ruby on Rails e Scrum em suas três unidades - São Paulo, Rio de Janeiro e Brasília. Mais de 8 mil alunos já buscaram qualificação nos treinamentos da Caelum tanto em nas unidades como nas próprias empresas com os cursos incompany. O compromisso da Caelum é oferecer um treinamento de qualidade, com material constantemente atualizado, uma metodologia de ensino cuidadosamente desenvolvida e instrutores capacitados tecnicamente e didaticamente. E oferecer ainda serviços de consultoria ágil, mentoring e desenvolvimento de projetos sob medida para empresas. Comunidade Nossa equipe escreve constantemente artigos no Blog da Caelum que já conta com 150 artigos sobre vários assuntos de Java, Rails e computação em geral. Visite-nos e assine nosso RSS: ➡ blog.caelum.com.br Acompanhe também a equipe Caelum no Twitter: ➡ twitter.com/caelumdev/equipe O GUJ é maior fórum de Java em língua portuguesa, com 700 mil posts e 70 mil usuários. As pessoas da Caelum participam ativamente, participe também: ➡ www.guj.com.br Assine também nossa Newsletter para receber as novidades e destaques dos eventos, artigos e promoções da Caelum: ➡ www.caelum.com.br/newsletter No site da Caelum há algumas de nossas Apostilas disponíveis gratuitamente para download e alguns dos artigos de destaque que escrevemos: ➡ www.caelum.com.br/apostilas ➡ www.caelum.com.br/artigos Conheça alguns de nossos cursos FJ-11: FJ-25: Java e Orientação a Persistência com JPA2 e objetos Hibernate FJ-16: FJ-26: Laboratório Java com Testes, Laboratório Web com JSF2 e XML e Design Patterns CDI FJ-19: FJ-31: Preparatório para Certificação Java EE avançado e de Programador Java Web Services FJ-21: FJ-91: Java para Desenvolvimento Arquitetura e Design de Web Projetos Java RR-71: RR-75: Desenvolvimento Ágil para Web Ruby e Rails avançados: lidando 2.0 com Ruby on Rails com problemas do dia a dia Para mais informações e outros cursos, visite: caelum.com.br/cursos ✓ Mais de 8000 alunos treinados; ✓ Reconhecida nacionalmente; ✓ Conteúdos atualizados para o mercado e para sua carreira; ✓ Aulas com metodologia e didática cuidadosamente preparadas; ✓ Ativa participação nas comunidades Java, Rails e Scrum; ✓ Salas de aula bem equipadas; ✓ Instrutores qualificados e experientes; ✓ Apostilas disponíveis no site. Sobre esta apostila Esta apostila da Caelum visa ensinar de uma maneira elegante, mostrando apenas o que é necessário e quandoénecessário,nomomentocerto,poupandooleitordeassuntosquenãocostumamserdeseuinteresse emdeterminadasfasesdoaprendizado. ACaelumesperaquevocêaproveiteessematerial. Todososcomentários,críticasesugestõesserãomuito bem-vindos. EssaapostilaéconstantementeatualizadaedisponibilizadanositedaCaelum. Sempreconsulteositepara novas versões e, ao invés de anexar o PDF para enviar a um amigo, indique o site para que ele possa sempre baixarasúltimasversões. Vocêpodeconferirocódigodeversãodaapostilalogonofinaldoíndice. Baixesempreaversãomaisnovaem: www.caelum.com.br/apostilas Esse material é parte integrante do treinamento Desenvolvimento Ágil para Web 2.0 com Ruby on Rails e distribuído gratuitamente exclusivamente pelo site da Caelum. Todos os direitos são reservados à Caelum. A distribuição, cópia, revenda e utilização para ministrar treinamentos são absolutamente vedadas. Para uso comercialdestematerial,porfavor,consulteaCaelumpreviamente. www.caelum.com.br 1 Índice 1 AgilidadenaWeb 1 1.1 Aagilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 AcomunidadeRails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Tirandodúvidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.5 Paraondeirdepois? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 AlinguagemRuby 4 2.1 AhistóriadoRubyesuascaracterísticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2 Instalaçãodointerpretador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 OutrasimplementaçõesdeinterpretadoresRuby . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 RubyEnterpriseEdition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5 InteractiveRuby: rubynoterminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.6 Tiposeoperaçõesbásicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.7 Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3 MaisRuby: classes,objetosemétodos 13 3.1 Mundoorientadoaobjetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Métodoscomuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3 Definiçãodemétodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.4 Discussão: Enviandomensagensaosobjetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.5 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.6 Desafio: Classesabertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 i 3.7 self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.8 Desafio: selfeométodoputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.9 Atributosepropriedades: acessoresemodificadores . . . . . . . . . . . . . . . . . . . . . . . . . 16 3.10 SyntaxSugar: facilitandoasintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.11 MétodosdeClasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.12 Parasabermais: SingletonClasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.13 Metaprogramação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.14 Convenções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.15 MaisOO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.16 Modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4 UmpoucodeAPI 26 4.1 Coleções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2 Exemplo: múltiplosparâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3 Hashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.4 BlocoseProgramaçãoFuncional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.5 Parasabermais: Maissobreblocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.6 Desafio: Usandoblocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.7 Manipulandoerroseexceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.8 Exercício: Manipulandoexceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.9 Arquivoscomcódigofonteruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.10 Parasabermais: umpoucodeIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5 RubyonRails 39 5.1 RubyOnRails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.2 AprenderRuby? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.3 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 5.4 Criandoumnovoprojetorails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.5 Exercícios: IniciandooProjeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5.6 Estruturadosdiretórios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.7 OBancodeDados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.8 Exercícios: Criandoobancodedados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5.9 Abasedaconstrução: scaffold(andaime) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ii 5.10 Exercícios: Scaffold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 5.11 Gerarastabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 5.12 VersãodoBancodeDados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.13 Exercícios: Migrartabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5.14 Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 5.15 Exercícios: Iniciandooservidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.16 DocumentaçãodoRails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.17 ExercícioOpcional: Utilizandoadocumentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6 ActiveRecord 54 6.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.2 Exercícios: ControledeRestaurantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.3 Modelo-O“M”doMVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.4 ActiveRecord . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.5 Rake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.6 CriandoModelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.7 Migrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 6.8 Exercícios: Criandoosmodelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.9 Manipulandonossosmodelospeloconsole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.10 Exercícios: Manipulandoregistros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 6.11 ExercíciosOpcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.12 Finders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6.13 Exercícios: Buscasdinâmicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.14 Validações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.15 Exercícios: Validações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 6.16 Exercícios-Completandonossomodelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.17 OModeloQualificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 6.18 Exercícios-CriandooModelodeQualificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.19 Relacionamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 6.20 ParaSaberMais: Auto-relacionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.21 ParaSaberMais: Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.22 Exercícios-Relacionamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 iii 6.23 ParaSaberMais-EagerLoading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.24 ParaSaberMais-NamedScopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.25 ParaSaberMais-Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 7 ControllerseViews 84 7.1 O“V”eo“C”doMVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.2 HelloWorld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.3 Exercícios: Criandoocontrolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 7.4 RedirecionamentodeActioneActionpadrão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 7.5 TrabalhandocomaView: OERB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 7.6 EntendendomelhoroCRUD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 7.7 Exercícios: ControladordoRestaurante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7.8 Helper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.9 Exercícios: Utilizandohelpersparacriarasviews . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 7.10 Partial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.11 Exercícios: Customizandoocabeçalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 7.12 Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.13 Exercícios: Criandooheader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 7.14 OutrasformasdegeraraView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 7.15 Filtros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 8 RotaseRack 103 8.1 Rack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.2 Exercícios-TestandooRack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 8.3 routes.rb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 8.4 PrettyURLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 8.5 NamedRoutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 8.6 REST-resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 8.7 ActionsextrasemResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 8.8 DiversasRepresentações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 8.9 ParaSaberMais-NestedResources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.10 RailseoRack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8.11 Exercícios-CriandoumrotaparaumaaplicaçãoRack . . . . . . . . . . . . . . . . . . . . . . . . 111 iv 9 CompletandooSistema 112 9.1 UmpoucomaissobreoScaffold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 9.2 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 9.3 SelecionandoClienteseRestaurantenoformdeQualificações . . . . . . . . . . . . . . . . . . . 116 9.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.5 ExercíciosOpcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 9.6 Maissobreoscontrollers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 10 Calculations 127 10.1 Métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10.2 Média . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11 AssociaçõesPolimórficas 129 11.1 Nossoproblema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.2 Alterandoobancodedados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 12 AjaxcomRails 135 12.1 Adicionandocomentáriosnasviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 12.2 InstalandooJQuerynoprojeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 12.3 CriandoaschamadasAJAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 12.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.5 Adicionandocomentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 12.6 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 13 AlgunsPluginseGemsImportantes 151 13.1 Paginação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 13.2 Exercícios-Título . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 13.3 Hpricot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 13.4 Exercícios-TestandooHpricot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.5 FileUploads: Paperclip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 13.6 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 v 14 ApêndiceA-Testes 156 14.1 OPorquêdostestes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 14.2 Test::Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 14.3 RSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 14.4 Cucumber,onovoStoryRunner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 15 ApêndiceB-IntegrandoJavaeRuby 164 15.1 OProjeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.2 TestandooJRuby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 15.4 TestandooJRubycomSwing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 16 ApêndiceC-Deployment 166 16.1 Webrick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 16.2 CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 16.3 FCGI-FastCGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.4 LighttpdeLitespeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.5 Mongrel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.6 ProxiesReversos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 16.7 PhusionPassenger(mod_rails) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.8 RubyEnterpriseEdition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 16.9 Exercícios: DeploycomApacheePassenger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 17 ApêndiceD-Instalação 171 17.1 Ruby-Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 17.2 Ruby-Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 17.3 Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 17.4 JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 17.5 Aptana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 17.6 Mongrel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.7 MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 17.8 SVN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Versão: 12.8.1 vi

Description:
onais de Ruby on Rails, e a presença de uma track dedica ao Ruby na QCon São Paulo. 1 . ruby 1.8.6 (2007-09-24 patchlevel 111) [i486-linux].
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.