Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Como o Rails melhorou o desenvolvimento web
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Thiago Borges
June 27, 2014
Programming
0
110
Como o Rails melhorou o desenvolvimento web
Apresentado no Café com Dev em Londrina dia 27/06/2014 por Thiago Borges.
Thiago Borges
June 27, 2014
Tweet
Share
More Decks by Thiago Borges
See All by Thiago Borges
Bourbon, neat e bitters no github-pages
thiagoborges
0
59
Como o Rails melhorou o desenvolvimento web
thiagoborges
0
58
Automatizando processos de frontend e deploy usando Gulp
thiagoborges
0
110
Other Decks in Programming
See All in Programming
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
380
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
490
TipKitTips
ktcryomm
0
160
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
180
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
160
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
270
AIとペアプロして処理時間を97%削減した話 #pyconshizu
kashewnuts
1
230
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
400
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
400
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
540
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
430
ロボットのための工場に灯りは要らない
watany
10
2.7k
Featured
See All Featured
How GitHub (no longer) Works
holman
316
140k
Site-Speed That Sticks
csswizardry
13
1.1k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Navigating Weather and Climate Data
rabernat
0
140
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
230
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Discover your Explorer Soul
emna__ayadi
2
1.1k
A Tale of Four Properties
chriscoyier
163
24k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Building the Perfect Custom Keyboard
takai
2
710
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
Transcript
Como o Rails melhorou o desenvolvimento web Thiago Borges
Thiago quem? Thiago Borges Desenvolvedor ~4 anos Ruby, Python, iOS
@tgabrielborges http://thiagoborg.es/
O que é Ruby on Rails? • Rails para os
mais íntimos • Ruby é a linguagem de programação, assim como Python, C++, etc.. • Rails é um dos frameworks para desenvolvimento web em Ruby
Blog em 15 minutos
10 anos de Ruby on Rails
Menos esforço
Foco no problema
Setup padrão • git clone
[email protected]
:thiagogabriel/projeto.git projeto • bundle install
# Instala as dependências • bundle exec rake db:setup # Cria os bancos e executa o seeds.rb • rails server
Don't Repeat Yourself (DRY) • Partials • Helpers •
Validações no model
Convenção sobre configuração • Nomeclatura • View com _ antes
do nome é partial. _form.html.erb • Template com o mesmo nome da action no controller • Relacionamento • user_id, configuration_id
Model View Controller Imagem: http://www.railstutorial.org/book/demo_app
Associações • @article.comments • @comment.article
RESTful • Tratar Usuários, Posts, Sessions como recursos (resources) •
Podem ser "criados", "lidos", "editados" e "deletados" (CRUD) usando as requisições HTTP: POST, GET, PATCH, e DELETE. • Não existe dúvida onde o código deve estar
Configuração separada por ambiente config/database.yml
Erro 500
Erro 500 • Poupe o usuário das mensagens de erro
• O usuário leigo não vai entender nada • Pode conter informação sensível • Ninguém precisa ver seu código :)
Terminal para agilizar • rails new nome-do-app • rails generate
controller welcome index • rails generate model Article title:string text:text • Modo apelão: rails generate scaffold Article title:string text:text
Migração de banco de dados • $ rails generate migration
AddTitleBodyToPost title:string body:text published:boolean
Migração de banco de dados • Rollback • rake db:rollback
Facilidades do Ruby no Rails • Sintaxe • Expressividade •
DSL - Domain Specific Language • Monkey Patching • Datas: 2.days.ago, 3.years.from_now, etc
Asset pipeline • Pré processamento de SASS, CoffeeScript e HTML
• Minifica e junta os arquivos • Fingerprint no nome do arquivo para cache no browser
Asset pipeline • Ambiente de Desenvolvimento •
Ambiente de Produção
Gerenciador de dependência • Bundler • Gemfile
Gems (bibliotecas) • Qual gem devo usar para resolver tal
problema? https://www.ruby-toolbox.com/ • Gems populares • Rspec - testes • Devise - autenticação • Cancan - autorização • Nokogiri - parsear HTML e XML
O repositório
O repositório • Criado em 2009 • Qualquer um pode
publicar a qualquer hora • Open source https://github.com/rubygems/ rubygems.org
Obrigado