Desenvolvimento  Ágil com Ruby on  Rails
Upcoming SlideShare
Loading in...5
×
 

Desenvolvimento Ágil com Ruby on Rails

on

  • 338 views

Nesta palestra passaremos uma breve introdução a Ruby e apresentarei como o Ruby on Rails favorece a produtividade no desenvolvimento de aplicações Web.

Nesta palestra passaremos uma breve introdução a Ruby e apresentarei como o Ruby on Rails favorece a produtividade no desenvolvimento de aplicações Web.

Statistics

Views

Total Views
338
Views on SlideShare
265
Embed Views
73

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 73

http://www.meet2brains.com.br 69
http://localhost 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Desenvolvimento  Ágil com Ruby on  Rails Desenvolvimento Ágil com Ruby on Rails Presentation Transcript

  • DesenvolvimentoÁgil com Ruby onRailssegunda-feira, 29 de abril de 13
  • http://bit.ly/agile-webdev-railssegunda-feira, 29 de abril de 13
  • segunda-feira, 29 de abril de 13
  • segunda-feira, 29 de abril de 13
  • "Programmers shouldalways be interested inlearning new languages,preferably from anunfamiliar paradigm""97Things Every Programmer Should Know"segunda-feira, 29 de abril de 13
  • segunda-feira, 29 de abril de 13
  • Ruby on Rails é umframework em Rubysegunda-feira, 29 de abril de 13
  • https://www.ruby-toolbox.com/categories/web_app_frameworksSinatra, Padrino,Merb, Espressosegunda-feira, 29 de abril de 13
  • Conhecendo um poucode Rubysegunda-feira, 29 de abril de 13
  • Ruby From OtherLanguageshttp://bit.ly/ruby-from-othersegunda-feira, 29 de abril de 13
  • Interpretado#app.rbputs “Meet2Brains”$ ruby app.rbMeet2Brainssegunda-feira, 29 de abril de 13
  • Uso de Blocosmy_list = [1,2,3,4,5]my_list.each do |item|# deal with itemendsegunda-feira, 29 de abril de 13
  • Tudo tem valorx = 10y = 11z = if x < y1else2endz # => 1segunda-feira, 29 de abril de 13
  • Tudo é objeto10.times{ |n| puts n }segunda-feira, 29 de abril de 13
  • Tudo é objeto10.times{ |n| puts n }10.class=> Fixnumsegunda-feira, 29 de abril de 13
  • Tudo é objeto10.times{ |n| puts n }10.class=> FixnumFixnum.class=> Classsegunda-feira, 29 de abril de 13
  • Tudo é objeto10.times{ |n| puts n }10.class=> FixnumFixnum.class=> ClassFixnum.ancestors=> [Fixnum, Integer, Numeric,Comparable, Object, Kernel,BasicObject]segunda-feira, 29 de abril de 13
  • # This1 + 2# Is the same as this ...1.+(2)# Which is the same as this:1.send "+", 2segunda-feira, 29 de abril de 13
  • # This1 + 2# Is the same as this ...1.+(2)# Which is the same as this:1.send "+", 2segunda-feira, 29 de abril de 13
  • Metaprogramaçãosegunda-feira, 29 de abril de 13
  • segunda-feira, 29 de abril de 13
  • class Cardef inspect“Cheap car”endendsegunda-feira, 29 de abril de 13
  • class Cardef inspect“Cheap car”endendother_car = Car.newother_car.inspect # => “Cheap car”segunda-feira, 29 de abril de 13
  • class Cardef inspect“Cheap car”endendother_car = Car.newother_car.inspect # => “Cheap car”segunda-feira, 29 de abril de 13
  • class Cardef inspect“Cheap car”endendporsche = Car.newporsche.inspect # => “Cheap car”def porsche.inspect“Expensive car”endporsche.inspect # => “Expensive car”other_car = Car.newother_car.inspect # => “Cheap car”segunda-feira, 29 de abril de 13
  • class Cardef inspect“Cheap car”endendporsche = Car.newporsche.inspect # => “Cheap car”def porsche.inspect“Expensive car”endporsche.inspect # => “Expensive car”other_car = Car.newother_car.inspect # => “Cheap car”segunda-feira, 29 de abril de 13
  • class Fixnumdef hoursself * 3600 # number of seconds/hourendalias hour hoursend# 14 hours from 00:00 January 1stTime.mktime(2006, 01, 01) + 14.hours# => Sun Jan 01 14:00:00segunda-feira, 29 de abril de 13
  • class Fixnumdef hoursself * 3600 # number of seconds/hourendalias hour hoursend# 14 hours from 00:00 January 1stTime.mktime(2006, 01, 01) + 14.hours# => Sun Jan 01 14:00:00Time.mktime(2006, 01, 01) + 14.hours# => Sun Jan 01 14:00:00segunda-feira, 29 de abril de 13
  • class Fixnumdef hoursself * 3600 # number of seconds/hourendalias hour hoursend# 14 hours from 00:00 January 1stTime.mktime(2006, 01, 01) + 14.hours# => Sun Jan 01 14:00:00Time.mktime(2006, 01, 01) + 14.hours# => Sun Jan 01 14:00:00segunda-feira, 29 de abril de 13
  • Time.now + 2.days# => 2013-05-01 12:40:57 -0300#Railssegunda-feira, 29 de abril de 13
  • Time.now + 2.days# => 2013-05-01 12:40:57 -0300#Railssegunda-feira, 29 de abril de 13
  • segunda-feira, 29 de abril de 13
  • Dica?segunda-feira, 29 de abril de 13
  • http://tryruby.orgsegunda-feira, 29 de abril de 13
  • RubyGemssegunda-feira, 29 de abril de 13
  • Software Packagesegunda-feira, 29 de abril de 13
  • AutenticaçãoPaginaçãoImagensTasksFilas...segunda-feira, 29 de abril de 13
  • segunda-feira, 29 de abril de 13
  • $ gem install railssegunda-feira, 29 de abril de 13
  • $ gem install railssegunda-feira, 29 de abril de 13
  • Ruby on Railssegunda-feira, 29 de abril de 13
  • Agilsegunda-feira, 29 de abril de 13
  • MVCsegunda-feira, 29 de abril de 13
  • Rails Philosophysegunda-feira, 29 de abril de 13
  • Don’t Repeat Yourself(DRY)segunda-feira, 29 de abril de 13
  • Layouts, Views, Partialssegunda-feira, 29 de abril de 13
  • Layouts, Views, Partials# application.html.erb<html><body><%= yield %></body></htmlsegunda-feira, 29 de abril de 13
  • Layouts, Views, Partials# application.html.erb<html><body><%= yield %></body></html# clientes/index.html.erb<h1>Clientes</h1><table>...</table>segunda-feira, 29 de abril de 13
  • HelpersFORMS, TAGS, HTML BLOCKS, SUPPORT,FORMATS, ...segunda-feira, 29 de abril de 13
  • HelpersFORMS, TAGS, HTML BLOCKS, SUPPORT,FORMATS, ...<%= form_for @article do |f| %><%= f.text_field :title %><%= f.text_area :body, size: "60x12" %><%= f.submit "Create" %><% end %>segunda-feira, 29 de abril de 13
  • Model - Scopesegunda-feira, 29 de abril de 13
  • Model - Scope@published = Post.where(published: true)segunda-feira, 29 de abril de 13
  • Model - Scope@published = Post.where(published: true)class Post < ActiveRecord::Basescope :published, where(published: true)endsegunda-feira, 29 de abril de 13
  • Model - Scope@published = Post.where(published: true)class Post < ActiveRecord::Basescope :published, where(published: true)end@published = Post.publishedsegunda-feira, 29 de abril de 13
  • Convention overConfiguration (CoC)segunda-feira, 29 de abril de 13
  • 123456789101112131415161718192021#config/routes.rbresources :posts#app/controllers/posts_controller.rbclass PostsController < ApplicationControllerdef index@posts = Post.publishedend# ...end#app/views/posts/index.html.erb<h1>Posts</h1><ul><%= render @posts %></ul>#app/views/posts/_post.html.erb<li><%= post.title %></li>segunda-feira, 29 de abril de 13
  • RESTfulsegunda-feira, 29 de abril de 13
  • resources  :photossegunda-feira, 29 de abril de 13
  • MigrationsMigrations are a convenient way for you toalter your database in a structured andorganized mannersegunda-feira, 29 de abril de 13
  • class CreateProducts < ActiveRecord::Migration  def up    create_table :products do |t|      t.string :name      t.text :description       t.timestamps    end  end   def down    drop_table :products  endendsegunda-feira, 29 de abril de 13
  • TestesTDD, BDDsegunda-feira, 29 de abril de 13
  • ExtensívelAutenticação, paginação, manipulação/upload de imagens,webservice, privilégios, pdf, csv, xml, json, filas,monitoramento, database drivers, ...segunda-feira, 29 de abril de 13
  • Quem usa?segunda-feira, 29 de abril de 13
  • www.adena.com.brsegunda-feira, 29 de abril de 13
  • http://rubyonrails.org/applicationssegunda-feira, 29 de abril de 13
  • Referênciashttp://bit.ly/ZV7NLZsegunda-feira, 29 de abril de 13
  • segunda-feira, 29 de abril de 13