Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Thiago Borges
See All by Thiago Borges
Bourbon, neat e bitters no github-pages
thiagoborges
0
62
Como o Rails melhorou o desenvolvimento web
thiagoborges
0
66
Automatizando processos de frontend e deploy usando Gulp
thiagoborges
0
110
Other Decks in Programming
See All in Programming
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
気持ちぃ〜角丸 Squircle
ryu1013
0
310
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
420
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
R8 の設定見直しでアプリサイズ削減
andpad
0
220
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
Next.js: The final boss of Web Performance
guaca
0
250
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
270
Featured
See All Featured
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
570
The agentic SEO stack - context over prompts
schlessera
0
970
Ruling the World: When Life Gets Gamed
codingconduct
0
400
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
500
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
Are puppies a ranking factor?
jonoalderson
2
4.1k
Being A Developer After 40
akosma
92
590k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Six Lessons from altMBA
skipperchong
29
4.5k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
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