Ruby on Rails<br />
O que é Ruby on Rails?<br />
Ruby on RailsLinguagem + Framework<br />
Um pouco de história<br />
Características do Ruby<br />
Princípios do Ruby<br />
&quot;Vocêdevefazercódigosqueresolvamseusproblemas, e nãoosproblemasdalinguagem e/ouinterpretador/compilador&quot;<br />
Exemplo de código<br />
5.times{ print “Hello!”}<br />exit unless “restaurant”.include? “aura”<br />[‘toast’,‘cheese’,‘wine’].each { |food| print ...
class Person<br />attr_reader:name#cria um getter para o atributoname<br />attr_accessor:hair#cria getter e setter<br />  ...
receita&quot;Bolo de Fubá&quot;do <br />ingrediente&quot;Farinha&quot;, &quot;1 kilo&quot; <br />ingrediente&quot;Açúcar&q...
Um pouco de História<br />
Características do Rails<br />
(Meta)Framework<br />
Metaframework<br />ActiveRecord<br />ActionPack<br />ActionMailer<br />ActiveSupport<br />ActiveResource<br />
MVCModel-View-Controller<br />
Extensível<br />
Suporte a diversosBancos de dadosMySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2<br />
Agilidade<br />
publicActionForward execute(ActionMappingmapping, ActionFormform, HttpServletRequestrequest, HttpServletResponseresponse) ...
def create <br />@topico= Topico.new(params[:topico]) <br />if@topico.save<br />    flash[:notice] = &apos;Topicocriado co...
Extraído de umanecessidade realBasecampda 37signals<br />
FREE!<br />
Princípios do Rails<br />
DRY!Don&apos;t Repeat Yourself<br />
CTRL + C / CRTL + V<br />
Convention Over Configuration<br />
Tradução de Convention Over Configuration<br />
Maissobre Rails<br />
Para onde o Rails vai?<br />
Livros – Pragmatic Programmers<br />
Livros – O’Reilly<br />
LivrosemPortuguês<br />
Cursos<br /><ul><li>Unisinos
TechOffice/POA
Target Trust/POA
E-Genial (EAD)
SENAC/SC
PUC/MG
Object Training/SP</li></li></ul><li>Who’s on Rails?<br />
RubyonRails já instalado no Mac OS X Leopard<br />
Upcoming SlideShare
Loading in …5
×

Ruby On Rails

628 views

Published on

Apresentado em 24/03/2008

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
628
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Ruby On Rails

  1. 1. Ruby on Rails<br />
  2. 2. O que é Ruby on Rails?<br />
  3. 3. Ruby on RailsLinguagem + Framework<br />
  4. 4.
  5. 5. Um pouco de história<br />
  6. 6. Características do Ruby<br />
  7. 7. Princípios do Ruby<br />
  8. 8. &quot;Vocêdevefazercódigosqueresolvamseusproblemas, e nãoosproblemasdalinguagem e/ouinterpretador/compilador&quot;<br />
  9. 9. Exemplo de código<br />
  10. 10. 5.times{ print “Hello!”}<br />exit unless “restaurant”.include? “aura”<br />[‘toast’,‘cheese’,‘wine’].each { |food| print food.capitalize }<br />
  11. 11. class Person<br />attr_reader:name#cria um getter para o atributoname<br />attr_accessor:hair#cria getter e setter<br /> definitialize(name, hair)‏<br /> @name, @hair = name, hair<br /> end<br />def walk<br /> “Walking”<br /> end<br />end<br />Lennon = Person.new(“John”, “Dark”)‏<br />Lennon.class_evaldo<br /> def play_guitar<br />“playing”<br /> end<br />end<br />
  12. 12. receita&quot;Bolo de Fubá&quot;do <br />ingrediente&quot;Farinha&quot;, &quot;1 kilo&quot; <br />ingrediente&quot;Açúcar&quot;, &quot;200 gramas&quot; <br />ingrediente&quot;Ovos&quot;, &quot;2 unidades&quot;<br />preparo&quot;Misture todos ingrediantes&quot;<br />preparo&quot;Leve ao forno&quot;<br />preparo&quot;Sirva&quot;<br />tempo&quot;2 horas&quot;<br />porcoes 3 <br />end<br />
  13. 13.
  14. 14. Um pouco de História<br />
  15. 15. Características do Rails<br />
  16. 16. (Meta)Framework<br />
  17. 17. Metaframework<br />ActiveRecord<br />ActionPack<br />ActionMailer<br />ActiveSupport<br />ActiveResource<br />
  18. 18. MVCModel-View-Controller<br />
  19. 19.
  20. 20.
  21. 21. Extensível<br />
  22. 22. Suporte a diversosBancos de dadosMySQL, PostgreSQL, SQLite, Oracle, SQL Server, DB2<br />
  23. 23. Agilidade<br />
  24. 24.
  25. 25. publicActionForward execute(ActionMappingmapping, ActionFormform, HttpServletRequestrequest, HttpServletResponseresponse) <br />throws Exception { <br />TopicoFormtopicoForm = (TopicoForm)form; <br />Topicotopico = newTopico(); <br />topico.setTitulo(topicoForm.getTitulo()); <br />topico.setDescricao(topicoForm.getDescricao()); <br />TopicoDAOMysqltopicoDao = newTopicoDAOMysql(); <br />try{ <br />topicoDao.adiciona(topico); <br /> } <br /> catch(Exception e){ <br />thrownew Exception(&quot;Erro ao adicionar topico &quot; +e); <br /> } <br />ActionForwardforward = mapping.findForward(&quot;Cadastrado&quot;); <br />returnforward; <br /> } <br />publicvoid adiciona (Topicotopico) throws Exception{ <br /> Connection conn = null; 64 <br />ConexaoBDconBD = ConexaoBD.getInstancia(); <br />conn = conBD.getConnection(); <br />PreparedStatementpstmt = null; <br /> String sql = &quot;&quot;; <br />introwsAfected = 0; <br />try { <br />if (conn == null) thrownew Exception(&quot;Conexão não foi estabelecida.&quot;); <br />sql = &quot;insertintoTopicos (&quot; + &quot; titulo, descricao, data_postagem) &quot; + &quot; values((?), (?), now())&quot;; <br />pstmt = conn.prepareStatement(sql); <br />pstmt.setString(1,topico.getTitulo()); <br />pstmt.setString(2,topico.getDescricao()); <br />rowsAfected = pstmt.executeUpdate(); <br />if (rowsAfected &lt;= 0) { <br />thrownew Exception(&quot;Erro na inserção do tópico. Por favor, tente novamente.&quot;); <br /> } <br /> }catch(SQLException se) { <br />thrownewSQLException(&quot;Erro em TopicoDAOMysql.adiciona(): &quot; + se.getMessage()); <br /> }catch (Exception e) { <br />thrownew Exception(&quot;Erro em TopicoDAOMysql.adiciona(): &quot; + e.getMessage()); <br /> }finally { <br />if(pstmt != null) pstmt.close(); <br />conBD.returnConnection(conn); <br /> } <br />}<br />
  26. 26. def create <br />@topico= Topico.new(params[:topico]) <br />if@topico.save<br /> flash[:notice] = &apos;Topicocriado com sucesso.&apos;<br />redirect_to:action =&gt; &apos;list&apos;<br />else <br /> render :action =&gt; &apos;new&apos;<br />end <br />end <br />
  27. 27. Extraído de umanecessidade realBasecampda 37signals<br />
  28. 28.
  29. 29. FREE!<br />
  30. 30. Princípios do Rails<br />
  31. 31. DRY!Don&apos;t Repeat Yourself<br />
  32. 32. CTRL + C / CRTL + V<br />
  33. 33. Convention Over Configuration<br />
  34. 34. Tradução de Convention Over Configuration<br />
  35. 35. Maissobre Rails<br />
  36. 36. Para onde o Rails vai?<br />
  37. 37. Livros – Pragmatic Programmers<br />
  38. 38. Livros – O’Reilly<br />
  39. 39. LivrosemPortuguês<br />
  40. 40. Cursos<br /><ul><li>Unisinos
  41. 41. TechOffice/POA
  42. 42. Target Trust/POA
  43. 43. E-Genial (EAD)
  44. 44. SENAC/SC
  45. 45. PUC/MG
  46. 46. Object Training/SP</li></li></ul><li>Who’s on Rails?<br />
  47. 47.
  48. 48.
  49. 49.
  50. 50.
  51. 51.
  52. 52.
  53. 53. RubyonRails já instalado no Mac OS X Leopard<br />
  54. 54.
  55. 55.
  56. 56.
  57. 57.
  58. 58. Porque Ruby on Rails?<br />
  59. 59.
  60. 60.
  61. 61.
  62. 62. Show me the code!<br />

×