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
Por que o Rails detona
Search
Vinícius Almeida
April 11, 2015
Programming
1
160
Por que o Rails detona
Palestra apresentada na semana acadêmica da Universidade Feevale em Abril 2015
Vinícius Almeida
April 11, 2015
Tweet
Share
More Decks by Vinícius Almeida
See All by Vinícius Almeida
Don't blame yoy tools
viniciusalmeida
0
53
Nós precisamos falar sobre o jQuery
viniciusalmeida
0
94
ember-cli - A ambiciosidade migrando para o workflow
viniciusalmeida
1
81
Pragmatismo no JavaScript
viniciusalmeida
0
79
Repensando o uso do jQuery
viniciusalmeida
2
550
Uma breve introdução do GruntJS
viniciusalmeida
1
69
Other Decks in Programming
See All in Programming
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
11k
AIと”コードの評価関数”を共有する / Share the "code evaluation function" with AI
euglena1215
1
170
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
510
型で語るカタ
irof
0
200
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
240
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
93
31k
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
0
130
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
140
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
290
Azure AI Foundryではじめてのマルチエージェントワークフロー
seosoft
0
190
Featured
See All Featured
A designer walks into a library…
pauljervisheath
207
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Fireside Chat
paigeccino
37
3.5k
Site-Speed That Sticks
csswizardry
10
690
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Transcript
WHY ROR ROCKS @vimoding
Vinícius Almeida » Programador full stack na CodeMiner @vimoding
Aspectos não óbvios no primeiro contato com o framework @vimoding
Vai pra lá com seu blog em 15 minutos --
Eu (imitando o Sílvio Santos) @vimoding
@vimoding
É muito bom ser programador nos dias de hoje, cara!
-- Matias Leidemer @vimoding
Agenda - Rails engines - Asset pipeline - Otimização do
trabalho em equipe @vimoding
Rails engines @vimoding
E se o foco dos nossos esforços fosse no que
ainda não foi feito? @vimoding
Facilmente plugáveis nas nossas aplicações @vimoding
$ rails generate engine_name:install @vimoding
Vamos falar de situações do mundo real @vimoding
Cadastro de usuários e gerenciamento de sessão com Devise 1
1 http://devise.plataformatec.com.br @vimoding
Ela provê - Registro e autenticação de usuário - Manutenção
de sessão ativa - Recuperação de senha - Utilização de um ótimo algoritmo de encriptação de senha @vimoding
Implementação rails generate devise:install rails generate devise <modelo> rake db:migrate
@vimoding
Just works @vimoding
Automágicamente @vimoding
e ainda facilmente Customizável @vimoding
@vimoding
"Mas como eu personalizo a utilização?" rails generate devise:views rails
generate devise:controllers @vimoding
Até aqui as engines parecem bacanas, certo? Mas ainda podemos
ir pouco mais longe @vimoding
Áreas administrativas com ActiveAdmin 2 2 http://activeadmin.info @vimoding
Uma engine com um propósito mais audacioso do que a
Devise @vimoding
Através de uma API muito simples # app/admin/product.rb ActiveAdmin.register Product
do filter :title filter :available index do selectable_column column :title column 'Price', :price do |product| number_to_currency product.price end column :available actions end end @vimoding
Somos capazes de produzir isso @vimoding
Enfim somos realmente capazes de focar no que importa de
verdade Gerar valor para o produto em desenvolvimento @vimoding
Asset Pipeline @vimoding
A partir de agora é proibido versionar arquivos compilados, ok?
@vimoding
Vamos começar pela cereja do bolo: Sprockets @vimoding
file.js.coffee.erb @vimoding
Vamos falar de situações do mundo real @vimoding
es6to5 https://github.com/ StrangeMood/es6to5-rails @vimoding
file.js.es6 @vimoding
Mas como não versionar arquivos compilados? -- Provavelmente alguns de
vocês está se perguntando @vimoding
Isso tudo é feito em pleno vôo @vimoding
E ainda por cima com uma sólida Estratégia de cache
@vimoding
E CDN friendly (com poucas confs) https://github.com/rumblelabs/asset_sync @vimoding
Foi bom enquanto durou... @vimoding
Depois de conhecer o asset pipeline me sinto assim cada
vez que escrevo uma Grunt task @vimoding
Otimização do trabalho em equipe @vimoding
Até aqui realmente optimizamos o processo de desenvolvimento baseados nas
convenções do Rails Então vamos além @vimoding
Muita coisa está muito bem resolvida no tooling do Rails
@vimoding
Exemplos: -Migração de banco de dados -Geração automática de sprites
(através do asset pipeline) Esses problemas viraram banais (deixaram de ser problema) no contexto de desenvolvimento com o framework @vimoding
Comunicação é um sinal de disfunção [...] Devemos fazer as
equipes se comunicarem menos, e não mais. -- Jeff bezos @vimoding
E ainda de quebra não vamos precisar da ajuda desse
cara a cada branch merge @vimoding
Perguntas ? @vimoding
Obrigado! » twitter.com/vinialm88 » github.com/viniciusalmeida » viniciusalmeida.github.io @vimoding