Vous êtes sur la page 1sur 33

http://marvinlemos.net http://zerokol.

com

LU: 30-01-12

Oficinas de Vero UESPI 2012

RubyonRails
@marvinlemos | @zerokol

MiniCurso:

SOBREOPROFESSOR
MarcusVinciusdeSousaLemos

MestreemInformticaAplicadapelaUniver.deFortalezaUnifor ProfessordaUniversidadeEstadualdoPiauUespi ProfessordaFaculdadedeTecnologiadeTeresinaCET AuditorFiscaldeControleExterno(Informtica)TCE/PI

marvinlemos@gmail.com http://www.marvinlemos.net @marvinlemos

SOBREOPROFESSOR
AntonioJosdeOliveiraAlves

BacharelemCinciasdaComputaoUESPI

aj.zerokol@gmail.com|aj.alves@cajuinalabs.com.br http://zerokol.com @zerokol

OBJETIVOS

ImersonalinguagemdeprogramaoRuby ApresentaroframeworkRails LevarosalunosdoZERO/InicianteaoBsico IntermedirionoRubyonRails

OqueRubye oqueRails?

OqueoRuby
#mais_poderosa_que_PERL_e_mais_orientada_a_objeto_que_PYTHON

Yukihiro"Matz"Matsumoto 12
10 @yukihiro_matz 8 6 4 2 0

#1995
Row 1 Row 2 Row 3 Row 4

Column 1 Column 2 Column 3

#Japo

#script

#12_ling_de prog_+_pop_do_mundo

OqueoRuby

Interpretada Multiparadigma

#programao_funcional#orientada_a_objetos#imperativa#reflexiva

Tipagemdinmicaeforte

OqueoRuby

gerenciamentodememriaautomtico ltimaverso:1.9.2p290(15dejulhode2011) Influenciadapor:Ada,CLU,Dylan,Eiffel,Lisp, Perl,Python,Scheme,Smalltalk Influenciou:Falcon,Fantom,Groovy,Ioke,Nu Pginaoficial www.rubylang.org

OqueoRails
#meta-framework

@dhh
DavidHeinemeierHansson

#open_source

#2004 #MVC

#framework

OqueoRails

DRY Conventionoverconfiguration Escalabilidade PadrodeprojetoMVC (ModelViewController)


Versoestvel:3.2.1(20dejaneirode2012)

Pginaoficial:rubyonrails.org

Mas,MVC?!

OqueoMVC

TrygveReenskaug

#smalltalk #1979

OqueoMVC

Modelviewcontroller(MVC)

Eagora, oquefalta?

ConfigurarandooAmbiente

InstalareConfiguraroRuby InstalareConfiguraroRubyGems InstalareConfiguraroRails InstalareConfiguraroDBdesua preferncia.

http://www.zerokol.com/2012/01/configurando-ambiente-ruby-on-rails-32.html http://www.geeksbr.com/2010/03/instalando-o-ruby-on-rails-no-windows.html

Enfim, RubyonRail!!!

RubyonRails
MinhaprimeiraAPP

Provadeconceito(Aula)Escola
Sistema Web para gerenciar os professores cursos e alunos de uma determinada escola, cada curso deve ter um professor e pode aceitar at 20 alunos por curso. Todos os cursos pertencem auma categoria.Osistemadevepossuirumareainterna onde o administrador cadastrar os cursos e professores.

RubyonRails
MinhaprimeiraAPP

Provadeconceito(Casa)Locadora
Sistema Web para gerenciar uma locadora de jogos de videogame. Os consoles dividemse em categorias, cada console pode ter varios jogos, a vriosjogosdecadajogo,osistemadevecontrolara disponibilidadedelocao.Htambmumcadastro deusuriosassociados,quedeveminformarsempre um estado e cidadade, exite a possibilidade de ver um histrico de locao de cada usurio. Um administrador deve cadastrar os consoles, games, estadosecidades.

RubyonRails
MinhaprimeiraAPP >railsnewminha_app

Estruturadepastas

app config db Public

>railsserver

ServidordeTeste

webrick

RubyonRails
MinhaprimeiraAPP

Estruturadepastas

app

assets controllers helbers maillers models views

RubyonRails
MinhaprimeiraAPP

Estruturadepastas

config

environments initializers locales

Arquivos

application.rb database.yml routes.rb

RubyonRails
MinhaprimeiraAPP

Estruturadepastas

db

migrate

Arquivos

seeds.rb

PastaPUBLIC

Eulhesapresento,

GIT!

OqueoGIT
#Linus_Torvalds

Semelhante ao SVN, Mercurial ... Versionador de Cdigo

GitHub Free GIT Server

OqueoGIT
InstalandoeconfigurandooGIT

Materialtimoem:http://gitref.org/ InstalaroGitnoUbuntu >sudoaptgetinstallgit Apsinstalado,configurarGit >gitconfigglobaluser.name"AJAlves" >gitconfigglobaluser.emailzerokol@ymail.com


Obs:.degrandeimportnciaadicionarsuachavepblicaaogithub, Vejacomoem:http://help.github.com/linuxsetupgit/

OqueoGIT
CadastrandoseaoGITHUB.com

Cadastrarseemhttps://github.com/

CriarnovorepositrioCreatenewRepository Moverseparaapastacriadaserversionada >cdescola Inicializareenviar >gitinit >gitadd. >gitcommitm'firstcommit' >gitremoteaddorigingit@github.com:... >gitpushoriginmaster


Ps:.NohanecessidadedeCriaroaquivoREADMEtouchREADME, elejgeradoautomaticamentepeloRails.

RubyonRails
CRUD

QuatrooperaesbsicasCRUD

Create INSERT Read(Retrived) SELECT Update UPDATE Delete(Destroy) DELETE

RubyonRails
GENERATORSGeradoresdeCdigo >railsgenerate assets controller generator helper integration_test mailer migration model observer performance_test resource scaffold scaffold_controller session_migration task

RubyonRails
GeradorSCAFFOLD CriandoModels,ViewseControllers >railsgeneratescaffold

ModelTipossuportados

:binary :boolean :date :datetime :decimal :float

:integer :primary_key :string :text :time :timestamp

RubyonRails
GeradorSCAFFOLD

CriandoModelos,ViseseControladores

ArquivodeControle

app/controllersActionController::Base app/helpers app/views app/assets app/modelsActiveRecord::Base db/migrateActiveRecord::Migration

ArquivodeViso

ArquivodeModelo

Arquivoconfig/routes.rb

RubyonRails
Migrates

MigrateMetodosdeMigrao

upFazer downDesfazer chargeFazer,Desfazerbvio add_column add_index create_table change_column change_table remove_column remove_index drop_table rename_column

Operaedemigrao

RubyonRails
Migrates Tiposespeciais

timestamps references >rakedb:create >rakedb:migrate >rakedb:drop

MigrandoobancocomRake

Impedindoacriaodecreatedeupdatedat

Adicionaraconfig/application.rb config.active_record.timestamped_migrations=false

REFERNCIAS

http://pt.wikipedia.org/wiki/Ruby_%28linguagem_de_programa%C3%A7%C3%A3o%29

http://pt.wikipedia.org/wiki/Ruby_on_Rails http://pt.wikipedia.org/wiki/MVC http://www.zerokol.com/2012/01/configurando-ambiente-ruby-on-rails-32.html http://pt.wikipedia.org/wiki/CRUD http://guides.rubyonrails.org

Vous aimerez peut-être aussi