Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Passos para se tornar um programador Ruby

Passos para se tornar um programador Ruby

Rubens Stulzer

November 04, 2015
Tweet

More Decks by Rubens Stulzer

Other Decks in Programming

Transcript

  1. HUB

  2. RUB

  3. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY LEARN ENGLISH ▸

    There is no excuses ▸ Read, write and listen at least
  4. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY LEARN ENGLISH ▸

    There is no excuses ▸ Read, write and listen at least ▸ If it is possible learn how to speak
  5. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was created by a Japanese, named Yukihiro Matsumoto
  6. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was created by a Japanese, named Yukihiro Matsumoto ▸ AKA: "Matz"
  7. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was created by a Japanese, named Yukihiro Matsumoto ▸ AKA: "Matz" ▸ First release in 1995
  8. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was created by a Japanese, named Yukihiro Matsumoto ▸ AKA: "Matz" ▸ First release in 1995 ▸ Ruby is relatively old, officially it is 20 years old
  9. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was created by a Japanese, named Yukihiro Matsumoto ▸ AKA: "Matz" ▸ First release in 1995 ▸ Ruby is relatively old, officially it is 20 years old ▸ The main reason, was that Matz always wanted to work with a truly object oriented language
  10. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was an underground programming language until mid 2000’s
  11. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was an underground programming language until mid 2000’s ▸ The milestone for Ruby popularity was the web framework Ruby on Rails
  12. PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY HISTORY ▸ Ruby

    was an underground programming language until mid 2000’s ▸ The milestone for Ruby popularity was the web framework Ruby on Rails ▸ So, until 2005 almost nobody was coding in Ruby
  13. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW PASSOS

    PARA SE TORNAR UM PROGRAMADOR RUBY
  14. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW ▸

    Methodologies PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  15. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW ▸

    Methodologies ▸ The Environment PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  16. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW ▸

    Methodologies ▸ The Environment ▸ Best Practices PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  17. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW ▸

    Methodologies ▸ The Environment ▸ Best Practices ▸ Tools PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  18. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW ▸

    Methodologies ▸ The Environment ▸ Best Practices ▸ Tools ▸ Testing PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  19. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW ▸

    Methodologies ▸ The Environment ▸ Best Practices ▸ Tools ▸ Testing ▸ Databases, who cares? PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  20. TOPICS - WHAT A GOOD RUBY PROGRAMMER SHOULD KNOW ▸

    Methodologies ▸ The Environment ▸ Best Practices ▸ Tools ▸ Testing ▸ Databases, who cares? ▸ The Web PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  21. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  22. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools ▸ Working software over comprehensive documentation PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  23. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools ▸ Working software over comprehensive documentation ▸ Customer collaboration over contract negotiation PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  24. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools ▸ Working software over comprehensive documentation ▸ Customer collaboration over contract negotiation ▸ Responding to change over following a plan PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  25. METHODOLOGIES ▸ It is important ▸ Learn at least a

    bit of all of them PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  26. METHODOLOGIES ▸ It is important ▸ Learn at least a

    bit of all of them ▸ XP (Extreme Programming) PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  27. METHODOLOGIES ▸ It is important ▸ Learn at least a

    bit of all of them ▸ XP (Extreme Programming) ▸ SCRUM PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  28. METHODOLOGIES ▸ It is important ▸ Learn at least a

    bit of all of them ▸ XP (Extreme Programming) ▸ SCRUM ▸ LEAN Software Development PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  29. METHODOLOGIES ▸ It is important ▸ Learn at least a

    bit of all of them ▸ XP (Extreme Programming) ▸ SCRUM ▸ LEAN Software Development ▸ Kanban PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  30. METHODOLOGIES ▸ It is important ▸ Learn at least a

    bit of all of them ▸ XP (Extreme Programming) ▸ SCRUM ▸ LEAN Software Development ▸ Kanban ▸ Waterfall (just skip it, you probably know it) PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  31. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  32. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools ▸ Working software over comprehensive documentation PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  33. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools ▸ Working software over comprehensive documentation ▸ Customer collaboration over contract negotiation PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  34. METHODOLOGIES ▸ AGILE MANIFESTO ▸ Individuals and interactions over processes

    and tools ▸ Working software over comprehensive documentation ▸ Customer collaboration over contract negotiation ▸ Responding to change over following a plan PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  35. ENVIRONMENT ▸ IDEs ▸ Rubymine - https://www.jetbrains.com/ruby/ ▸ Aptana -

    http://www.aptana.com/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  36. ENVIRONMENT ▸ IDEs ▸ Rubymine - https://www.jetbrains.com/ruby/ ▸ Aptana -

    http://www.aptana.com/ ▸ UNIX + Text Editor PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  37. ENVIRONMENT ▸ Terminal is important ▸ Learn shell commands, preferably

    beyond the basics PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  38. ENVIRONMENT ▸ Terminal is important ▸ Learn shell commands, preferably

    beyond the basics ▸ Ruby systems, and Rails apps integrate with UNIX tools such as: PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  39. ENVIRONMENT ▸ Terminal is important ▸ Learn shell commands, preferably

    beyond the basics ▸ Ruby systems, and Rails apps integrate with UNIX tools such as: ▸ ImageMagick PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  40. ENVIRONMENT ▸ Terminal is important ▸ Learn shell commands, preferably

    beyond the basics ▸ Ruby systems, and Rails apps integrate with UNIX tools such as: ▸ ImageMagick ▸ PDFtk PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  41. ENVIRONMENT ▸ Terminal is important ▸ Learn shell commands, preferably

    beyond the basics ▸ Ruby systems, and Rails apps integrate with UNIX tools such as: ▸ ImageMagick ▸ PDFtk ▸ Or anything you can run on your shell PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  42. +

  43. +

  44. +

  45. +

  46. +

  47. +

  48. ENVIRONMENT ▸ Keep with your Windows, if you really want,

    but learn about those guys PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  49. ENVIRONMENT ▸ Keep with your Windows, if you really want,

    but learn about those guys ▸ Vagrant - https://www.vagrantup.com/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  50. ENVIRONMENT ▸ Keep with your Windows, if you really want,

    but learn about those guys ▸ Vagrant - https://www.vagrantup.com/ ▸ Docker - https://www.docker.com/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  51. ENVIRONMENT ▸ Keep with your Windows, if you really want,

    but learn about those guys ▸ Vagrant - https://www.vagrantup.com/ ▸ Docker - https://www.docker.com/ ▸ On Linux and OSX PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  52. ENVIRONMENT ▸ Keep with your Windows, if you really want,

    but learn about those guys ▸ Vagrant - https://www.vagrantup.com/ ▸ Docker - https://www.docker.com/ ▸ On Linux and OSX ▸ Check it out azk (azuki) - http://www.azk.io/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  53. ENVIRONMENT ▸ Keep with your Windows, if you really want,

    but learn about those guys ▸ Vagrant - https://www.vagrantup.com/ ▸ Docker - https://www.docker.com/ ▸ On Linux and OSX ▸ Check it out azk (azuki) - http://www.azk.io/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY !
  54. BEST PRACTICES ▸ Ruby community is very opinionated about code

    style PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  55. BEST PRACTICES ▸ Ruby community is very opinionated about code

    style ▸ Tests are mandatory, but why? PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  56. BEST PRACTICES ▸ Ruby community is very opinionated about code

    style ▸ Tests are mandatory, but why? ▸ For the sake of documentation PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  57. BEST PRACTICES ▸ Ruby community is very opinionated about code

    style ▸ Tests are mandatory, but why? ▸ For the sake of documentation ▸ Ruby versions are not backward compatible PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  58. BEST PRACTICES ▸ Ruby community is very opinionated about code

    style ▸ Tests are mandatory, but why? ▸ For the sake of documentation ▸ Ruby versions are not backward compatible ▸ It helps you and other understand classes and methods PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  59. BEST PRACTICES ▸ Ruby community is very opinionated about code

    style ▸ Tests are mandatory, but why? ▸ For the sake of documentation ▸ Ruby versions are not backward compatible ▸ It helps you and other understand classes and methods ▸ Bundler PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  60. BEST PRACTICES ▸ Ruby community is very opinionated about code

    style ▸ Tests are mandatory, but why? ▸ For the sake of documentation ▸ Ruby versions are not backward compatible ▸ It helps you and other understand classes and methods ▸ Bundler ▸ Gemfile and his .lock PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  61. “PROGRAMS ARE MEANT TO BE READ BY HUMANS AND ONLY

    INCIDENTALLY FOR COMPUTERS TO EXECUTE.” — H. Abelson and G. Sussman PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  62. BEST PRACTICES - CODE STYLE ▸ Spaces VS Tabs PASSOS

    PARA SE TORNAR UM PROGRAMADOR RUBY
  63. BEST PRACTICES - CODE STYLE ▸ Spaces VS Tabs ▸

    Soft Tabs with 2 spaces - No Hard Tabs PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  64. BEST PRACTICES - CODE STYLE ▸ Spaces VS Tabs ▸

    Soft Tabs with 2 spaces - No Hard Tabs ▸ Classes use CamelCase PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  65. BEST PRACTICES - CODE STYLE ▸ Spaces VS Tabs ▸

    Soft Tabs with 2 spaces - No Hard Tabs ▸ Classes use CamelCase ▸ Methods and variables snake_case PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  66. BEST PRACTICES - CODE STYLE ▸ Spaces VS Tabs ▸

    Soft Tabs with 2 spaces - No Hard Tabs ▸ Classes use CamelCase ▸ Methods and variables snake_case ▸ Constants SCREAMING_SNAKE_CASE PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  67. BEST PRACTICES - CODE STYLE ▸ Spaces VS Tabs ▸

    Soft Tabs with 2 spaces - No Hard Tabs ▸ Classes use CamelCase ▸ Methods and variables snake_case ▸ Constants SCREAMING_SNAKE_CASE ▸ boolean_methods? PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  68. BEST PRACTICES - CODE STYLE ▸ Spaces VS Tabs ▸

    Soft Tabs with 2 spaces - No Hard Tabs ▸ Classes use CamelCase ▸ Methods and variables snake_case ▸ Constants SCREAMING_SNAKE_CASE ▸ boolean_methods? ▸ bang_methods! PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  69. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0>
  70. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even?
  71. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0>
  72. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase'
  73. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0>
  74. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop
  75. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop ∴ => "is omakas" irb(main):006:0>
  76. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop ∴ => "is omakas" irb(main):006:0> ∴ rails
  77. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop ∴ => "is omakas" irb(main):006:0> ∴ rails ∴ => "is omakase" irb(main):007:0>
  78. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop ∴ => "is omakas" irb(main):006:0> ∴ rails ∴ => "is omakase" irb(main):007:0> ∴ rails.chop!
  79. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop ∴ => "is omakas" irb(main):006:0> ∴ rails ∴ => "is omakase" irb(main):007:0> ∴ rails.chop! ∴ => "is omakas" irb(main):008:0>
  80. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop ∴ => "is omakas" irb(main):006:0> ∴ rails ∴ => "is omakase" irb(main):007:0> ∴ rails.chop! ∴ => "is omakas" irb(main):008:0> ∴ rails
  81. ∴ one = 1 ~/awesome-ruby-project ∴ ∴ irb ∴ irb(main):001:0>

    ∴ => 1 irb(main):002:0> ∴ one.odd? ∴ => true irb(main):003:0> ∴ one.even? ∴ => false irb(main):004:0> ∴ rails = 'is omakase' ∴ => "is omakase" irb(main):005:0> ∴ rails.chop ∴ => "is omakas" irb(main):006:0> ∴ rails ∴ => "is omakase" irb(main):007:0> ∴ rails.chop! ∴ => "is omakas" irb(main):008:0> ∴ rails ∴ => "is omakas" irb(main):009:0>
  82. BEST PRACTICES - CODE STYLE ▸ Learn how to configure

    your IDE or Text Editor PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  83. BEST PRACTICES - CODE STYLE ▸ Learn how to configure

    your IDE or Text Editor ▸ http://editorconfig.org/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  84. BEST PRACTICES - CODE STYLE ▸ Learn how to configure

    your IDE or Text Editor ▸ http://editorconfig.org/ ▸ Create a set rules for code style PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  85. BEST PRACTICES - CODE STYLE ▸ Learn how to configure

    your IDE or Text Editor ▸ http://editorconfig.org/ ▸ Create a set rules for code style ▸ Follow the rules PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  86. BEST PRACTICES - CODE STYLE ▸ Learn how to configure

    your IDE or Text Editor ▸ http://editorconfig.org/ ▸ Create a set rules for code style ▸ Follow the rules ▸ Good base examples for ruby apps: PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  87. BEST PRACTICES - CODE STYLE ▸ Learn how to configure

    your IDE or Text Editor ▸ http://editorconfig.org/ ▸ Create a set rules for code style ▸ Follow the rules ▸ Good base examples for ruby apps: ▸ https://github.com/styleguide/ruby PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  88. BEST PRACTICES - TEST TOOLS ▸ Unit tests ▸ RSpec

    PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  89. BEST PRACTICES - TEST TOOLS ▸ Unit tests ▸ RSpec

    ▸ Minitest PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  90. BEST PRACTICES - TEST TOOLS ▸ Unit tests ▸ RSpec

    ▸ Minitest ▸ Feature tests PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  91. BEST PRACTICES - TEST TOOLS ▸ Unit tests ▸ RSpec

    ▸ Minitest ▸ Feature tests ▸ Capybara + RSpec PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  92. BEST PRACTICES - TEST TOOLS ▸ Unit tests ▸ RSpec

    ▸ Minitest ▸ Feature tests ▸ Capybara + RSpec ▸ Capybara + Cucumber PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  93. BEST PRACTICES - TEST TOOLS ▸ FactoryGirl ▸ Stubbing ▸

    Creating PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  94. BEST PRACTICES - TEST TOOLS ▸ FactoryGirl ▸ Stubbing ▸

    Creating ▸ VCR PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  95. BEST PRACTICES - TEST TOOLS ▸ FactoryGirl ▸ Stubbing ▸

    Creating ▸ VCR ▸ Mocks HTTP requests PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  96. BEST PRACTICES - BUNDLER ▸ What is it? ▸ Rubygems

    source PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  97. BEST PRACTICES - BUNDLER ▸ What is it? ▸ Rubygems

    source ▸ Dependencies PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  98. BEST PRACTICES - BUNDLER ▸ What is it? ▸ Rubygems

    source ▸ Dependencies ▸ Gemfile PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  99. BEST PRACTICES - BUNDLER ▸ What is it? ▸ Rubygems

    source ▸ Dependencies ▸ Gemfile ▸ Gemfile.lock PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  100. ~/awesome-ruby-project ∴ gem install bundler Successfully installed bundler-1.10.6 1 gem

    installed ~/awesome-ruby-project ∴ ∴ g ∴ bundle init
  101. ~/awesome-ruby-project ∴ gem install bundler Successfully installed bundler-1.10.6 1 gem

    installed ~/awesome-ruby-project ∴ ∴ g ∴ bundle init ~/awesome-ruby-project ∴ gem install bundler Successfully installed bundler-1.10.6 1 gem installed ~/awesome-ruby-project ∴ bundle init Writing new Gemfile to ~/awesome-ruby-project/Gemfile ~/awesome-ruby-project ∴
  102. ~/awesome-ruby-project ∴ gem install bundler Successfully installed bundler-1.10.6 1 gem

    installed ~/awesome-ruby-project ∴ bundle init Writing new Gemfile to ~/awesome-ruby-project/Gemfile ~/awesome-ruby-project ∴
  103. ∴ g ∴ b ∴ cat Gemfile ~/awesome-ruby-project ∴ gem

    install bundler Successfully installed bundler-1.10.6 1 gem installed ~/awesome-ruby-project ∴ bundle init Writing new Gemfile to ~/awesome-ruby-project/Gemfile ~/awesome-ruby-project ∴
  104. ∴ g ∴ b ∴ cat Gemfile ~/awesome-ruby-project ∴ gem

    install bundler Successfully installed bundler-1.10.6 1 gem installed ~/awesome-ruby-project ∴ bundle init Writing new Gemfile to ~/awesome-ruby-project/Gemfile ~/awesome-ruby-project ∴ ∴ g ∴ b ∴ c # A sample Gemfile source "https://rubygems.org" # gem "rails" ~/awesome-ruby-project ∴
  105. ~/awesome-ruby-project ∴ gem install bundler Successfully installed bundler-1.10.6 1 gem

    installed ~/awesome-ruby-project ∴ bundle init Writing new Gemfile to ~/awesome-ruby-project/Gemfile ~/awesome-ruby-project ∴ cat Gemfile # A sample Gemfile source "https://rubygems.org" # gem "rails" ~/awesome-ruby-project ∴
  106. ~/awesome-ruby-project ∴ gem install bundler Successfully installed bundler-1.10.6 1 gem

    installed ~/awesome-ruby-project ∴ bundle init Writing new Gemfile to ~/awesome-ruby-project/Gemfile ~/awesome-ruby-project ∴ cat Gemfile # A sample Gemfile source "https://rubygems.org" # gem "rails" ~/awesome-ruby-project ∴ ∴ g ∴ b ∴ c ∴ vim Gemfile
  107. BEST PRACTICES - CI ▸ Continuos Integration ▸ https://jenkins-ci.org/ -

    DIY ▸ https://circleci.com/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  108. BEST PRACTICES - CI ▸ Continuos Integration ▸ https://jenkins-ci.org/ -

    DIY ▸ https://circleci.com/ ▸ https://travis-ci.org/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  109. BEST PRACTICES - CI ▸ Continuos Integration ▸ https://jenkins-ci.org/ -

    DIY ▸ https://circleci.com/ ▸ https://travis-ci.org/ ▸ https://semaphoreci.com/ PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  110. DON’T CARE ABOUT DATABASES - NOT AT ALL ▸ What

    is a database? PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  111. DON’T CARE ABOUT DATABASES - NOT AT ALL ▸ What

    is a database? ▸ A detail PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  112. DON’T CARE ABOUT DATABASES - NOT AT ALL ▸ What

    is a database? ▸ A detail ▸ A good application should not rely on database PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  113. DON’T CARE ABOUT DATABASES - NOT AT ALL ▸ What

    is a database? ▸ A detail ▸ A good application should not rely on database ▸ A simple layer that I don’t care, should be bring me the data PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY
  114. THE WEB ▸ Understand how it work ▸ The flow

    between client and server ▸ HTTP verbs ▸ HTTP headers ▸ Authentication ▸ Understand how it works, and them use devise ▸ Learn how to deploy your application PASSOS PARA SE TORNAR UM PROGRAMADOR RUBY