09 - Fábio Akita - Além do rails
-
Upload
dnad -
Category
Technology
-
view
1.231 -
download
1
description
Transcript of 09 - Fábio Akita - Além do rails
![Page 1: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/1.jpg)
Discutindo Railse Arquiteturas
a apresentação já vai começar ...
![Page 2: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/2.jpg)
Discutindo Railse Arquiteturas
![Page 3: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/3.jpg)
Fabio Akitawww.akitaonrails.com
@akitaonrails
![Page 4: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/4.jpg)
Fabio Akitawww.akitaonrails.com
@akitaonrails
1990
![Page 5: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/5.jpg)
Anos 80 Fim Anos 90 Século XXI
![Page 6: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/6.jpg)
Perl
C
Anos 80 Fim Anos 90 Século XXI
Basic
dBase III
Clipper
Pascal
Delphi
ASP
PHP
Python
.NET
Java
ABAP
Ruby
ObjCVB6
![Page 7: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/7.jpg)
![Page 8: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/8.jpg)
![Page 9: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/9.jpg)
![Page 10: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/10.jpg)
![Page 11: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/11.jpg)
![Page 12: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/12.jpg)
<prólogo>
![Page 13: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/13.jpg)
![Page 14: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/14.jpg)
![Page 15: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/15.jpg)
Como o cliente explicou
Como o Líder de Projeto entendeu
Como o Analista desenhou
Como o Programador escreveu
Como o Consultor de Negócios descreveu
Como o projeto foi documentado
Como Operações instalou
Como o cliente foi cobrado Como foi o suporte
O que o cliente realmente queria
![Page 16: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/16.jpg)
Requerimentos:ENTENDIDO!
![Page 17: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/17.jpg)
![Page 18: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/18.jpg)
LOL
![Page 19: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/19.jpg)
DESIGN
![Page 20: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/20.jpg)
DESIGN
![Page 21: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/21.jpg)
![Page 22: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/22.jpg)
![Page 23: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/23.jpg)
Pattern PADRÃO
![Page 24: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/24.jpg)
Pattern PADRÃO
Default
STANDARD
![Page 25: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/25.jpg)
“Pattern”
![Page 26: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/26.jpg)
![Page 27: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/27.jpg)
![Page 28: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/28.jpg)
NÃO é “Standard”!
![Page 29: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/29.jpg)
Christopher Alexander
![Page 30: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/30.jpg)
![Page 31: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/31.jpg)
![Page 32: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/32.jpg)
![Page 33: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/33.jpg)
![Page 34: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/34.jpg)
cada padrão (“pattern”)representa nosso melhor chute agora ...
os padrões ainda são hipóteses, ... e portanto todos são tentativas, todos livres para evoluir sob o impacto de novas experiências e observações."
Christopher Alexander
![Page 35: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/35.jpg)
![Page 36: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/36.jpg)
2 + 2 = 5!
![Page 37: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/37.jpg)
2 + 2 = 5!
![Page 38: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/38.jpg)
2 + 2 = 4!
![Page 39: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/39.jpg)
![Page 40: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/40.jpg)
![Page 41: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/41.jpg)
![Page 42: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/42.jpg)
![Page 43: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/43.jpg)
![Page 44: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/44.jpg)
Aqui estão os fatos. Que conclusões podemos
chegar com eles?
Aqui está a conclusão. Que fatos podemos suportar com eles?
![Page 45: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/45.jpg)
![Page 46: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/46.jpg)
![Page 47: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/47.jpg)
![Page 48: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/48.jpg)
![Page 49: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/49.jpg)
![Page 50: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/50.jpg)
![Page 51: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/51.jpg)
![Page 52: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/52.jpg)
![Page 53: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/53.jpg)
![Page 54: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/54.jpg)
![Page 55: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/55.jpg)
![Page 56: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/56.jpg)
80
![Page 57: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/57.jpg)
20
80
![Page 58: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/58.jpg)
20
80“Long Tail”
![Page 59: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/59.jpg)
![Page 60: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/60.jpg)
</prólogo>
![Page 61: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/61.jpg)
![Page 62: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/62.jpg)
Pequenos(Startups?)
Grandes(Enterprisey?)
![Page 63: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/63.jpg)
Pequenos(Startups?)
Grandes(Enterprisey?)
DDD
![Page 64: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/64.jpg)
Pequenos(Startups?)
Grandes(Enterprisey?)
DDD
“Light”
![Page 65: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/65.jpg)
Pequenos(Startups?)
Grandes(Enterprisey?)
![Page 66: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/66.jpg)
![Page 67: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/67.jpg)
Complexidade Acidental
![Page 68: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/68.jpg)
![Page 69: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/69.jpg)
Ruby on Rails é a melhor forma de desenvolver qualquer aplicação Web.
![Page 70: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/70.jpg)
![Page 71: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/71.jpg)
Todas as outras formas de desenvolver aplicações Web são inferiores a Ruby on Rails.
![Page 72: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/72.jpg)
![Page 73: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/73.jpg)
Ruby on Rails é uma das maneiras competentes de se desenvolver aplicações Web em alguns cenários.
![Page 74: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/74.jpg)
(linguagem)
1994
(framework web)
2004
![Page 75: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/75.jpg)
1.8.71.9.2
1.9.3-dev2.3.113.0.7
3.1-RC1
![Page 76: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/76.jpg)
1.8.71.9.2
1.9.3-dev2.3.113.0.7
3.1-RC1
![Page 77: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/77.jpg)
1.8.71.9.2
1.9.3-dev2.3.113.0.7
3.1-RC1
![Page 78: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/78.jpg)
1.8.71.9.2
1.9.3-dev2.3.113.0.7
3.1-RC1
![Page 79: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/79.jpg)
![Page 80: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/80.jpg)
gem install rails
rails new nome_do_projeto
![Page 81: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/81.jpg)
gem install rails
rails new nome_do_projeto
![Page 82: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/82.jpg)
gem install rails
rails new nome_do_projeto
SIM! Via CLI! :-P
![Page 83: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/83.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 84: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/84.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 85: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/85.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 86: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/86.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 87: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/87.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 88: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/88.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 89: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/89.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 90: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/90.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 91: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/91.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 92: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/92.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Request
![Page 93: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/93.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Response Request
![Page 94: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/94.jpg)
![Page 95: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/95.jpg)
![Page 96: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/96.jpg)
~30 mil gems
~15 GB
![Page 97: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/97.jpg)
![Page 98: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/98.jpg)
bundle install
![Page 99: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/99.jpg)
RubyGems Library Assembly (DLL)
Rake MSBuild
Bundler NuGet
![Page 100: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/100.jpg)
> bundle list
Gems included by the bundle: * abstract (1.0.0) * actionmailer (3.0.7) * actionpack (3.0.7) * activemodel (3.0.7) * activerecord (3.0.7) * activeresource (3.0.7) * activesupport (3.0.7) * arel (2.0.9) * builder (2.1.2) * bundler (1.0.13) * erubis (2.6.6) * i18n (0.5.0)
* mail (2.2.19) * mime-types (1.16) * polyglot (0.3.1) * rack (1.2.2) * rack-mount (0.6.14) * rack-test (0.5.7) * rails (3.0.7) * railties (3.0.7) * rake (0.8.7) * sqlite3 (1.3.3) * thor (0.14.6) * treetop (1.4.9) * tzinfo (0.3.27)
![Page 101: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/101.jpg)
> bundle list
Gems included by the bundle: * abstract (1.0.0) * actionmailer (3.0.7) * actionpack (3.0.7) * activemodel (3.0.7) * activerecord (3.0.7) * activeresource (3.0.7) * activesupport (3.0.7) * arel (2.0.9) * builder (2.1.2) * bundler (1.0.13) * erubis (2.6.6) * i18n (0.5.0)
* mail (2.2.19) * mime-types (1.16) * polyglot (0.3.1) * rack (1.2.2) * rack-mount (0.6.14) * rack-test (0.5.7) * rails (3.0.7) * railties (3.0.7) * rake (0.8.7) * sqlite3 (1.3.3) * thor (0.14.6) * treetop (1.4.9) * tzinfo (0.3.27)
![Page 102: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/102.jpg)
> rake -T
rake about rake db:create rake db:drop rake db:fixtures:load rake db:migrate rake db:migrate:status rake db:rollback rake db:schema:dump rake db:schema:load rake db:seed rake db:setup rake db:structure:dump rake db:versionrake doc:app
rake log:clear rake middleware rake notes rake notes:custom rake rails:template rake rails:update rake routes rake secret rake stats rake test rake test:recent rake test:uncommitted rake time:zones:all rake tmp:clear rake tmp:create
![Page 103: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/103.jpg)
> rails generateUsage: rails generate GENERATOR [args] [options]
General options: -h, [--help] # Print generator's options and usage -p, [--pretend] # Run but do not make any changes -f, [--force] # Overwrite files that already exist -s, [--skip] # Skip files that already exist -q, [--quiet] # Suppress status output
Please choose a generator below.
Rails: controller generator helper integration_test mailer migration model
observer performance_test plugin resource scaffold scaffold_controller session_migration stylesheets
![Page 104: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/104.jpg)
> rake middleware
use ActionDispatch::Staticuse Rack::Lockuse ActiveSupport::Cache::Strategy::LocalCacheuse Rack::Runtimeuse Rails::Rack::Loggeruse ActionDispatch::ShowExceptionsuse ActionDispatch::RemoteIpuse Rack::Sendfileuse ActionDispatch::Callbacksuse ActiveRecord::ConnectionAdapters::ConnectionManagementuse ActiveRecord::QueryCacheuse ActionDispatch::Cookiesuse ActionDispatch::Session::CookieStoreuse ActionDispatch::Flashuse ActionDispatch::ParamsParseruse Rack::MethodOverrideuse ActionDispatch::Headuse ActionDispatch::BestStandardsSupportrun Demo::Application.routes
Rack Middlewares
![Page 105: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/105.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Response Request
![Page 106: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/106.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Response Request
![Page 107: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/107.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Response Request
Application Server Rack:
Mongrel,Thin,
Passenger,Unicorn
![Page 108: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/108.jpg)
Web Server
Rack Middlewares
Routes
Controller
ModelView
Response Request
Web Server:NginX
Apache
Application Server Rack:
Mongrel,Thin,
Passenger,Unicorn
![Page 109: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/109.jpg)
NginX, Apache, Lighty, IIS
Mongrel, Thin, Unicorn, Passenger
Reverse Proxy
ActiveRecord/DataMapper
RDBMS/NoSQL
![Page 110: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/110.jpg)
NginX, Apache, Lighty, IIS
Mongrel, Thin, Unicorn, Passenger
Reverse Proxy
ActiveRecord/DataMapper
RDBMS/NoSQL
TidyTDS
SQL ServerSQL Azure
![Page 111: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/111.jpg)
NginX, Apache, Lighty, IIS
Mongrel, Thin, Unicorn, Passenger
Reverse Proxy
ActiveRecord/DataMapper
RDBMS/NoSQLWeb Services (REST, SOAP)
ActiveResource/RestClient/Savon
WCF
![Page 112: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/112.jpg)
NginX, Apache, Lighty, IIS
Mongrel, Thin, Unicorn, Passenger
Reverse Proxy
ActiveRecord/DataMapper
RDBMS/NoSQLWeb Services (REST, SOAP)
ActiveResource/RestClient/Savon
HAProxy
![Page 113: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/113.jpg)
NginX, Apache, Lighty, IIS
Mongrel, Thin, Unicorn, Passenger
Reverse Proxy
ActiveRecord/DataMapper
RDBMS/NoSQLWeb Services (REST, SOAP)
ActiveResource/RestClient/Savon
HAProxy
Varnish
![Page 114: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/114.jpg)
NginX, Apache, Lighty, IIS
Mongrel, Thin, Unicorn, Passenger
Reverse Proxy
ActiveRecord/DataMapper
RDBMS/NoSQLWeb Services (REST, SOAP)
ActiveResource/RestClient/Savon
HAProxy
Memcache
Varnish
![Page 115: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/115.jpg)
HTTPD
Request Request Request Request Request Request
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RDBMS
HTTPD HTTPD HTTPD HTTPD HTTPD
![Page 116: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/116.jpg)
HTTPD
Request Request Request Request Request Request
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RDBMS
HTTPD HTTPD HTTPD HTTPD HTTPD
![Page 117: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/117.jpg)
HTTPD
Request Request Request Request Request Request
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RDBMS
HTTPD HTTPD HTTPD HTTPD HTTPD
Mais curto possível!
![Page 118: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/118.jpg)
Thread Context Switch
![Page 119: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/119.jpg)
Thread Context Switch
![Page 120: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/120.jpg)
![Page 121: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/121.jpg)
![Page 122: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/122.jpg)
$(':checkbox').map(function() { return this.id;}).get().join(',');
![Page 123: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/123.jpg)
![Page 124: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/124.jpg)
![Page 125: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/125.jpg)
Request RailsApp
![Page 126: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/126.jpg)
![Page 127: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/127.jpg)
![Page 128: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/128.jpg)
![Page 129: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/129.jpg)
![Page 130: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/130.jpg)
![Page 131: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/131.jpg)
![Page 132: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/132.jpg)
Eventos AssíncronosEnvio de mensagens
![Page 133: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/133.jpg)
HTTPD
Request Request Request Request Request Request
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RailsApp
RDBMS
HTTPD HTTPD HTTPD HTTPD HTTPD
![Page 134: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/134.jpg)
NginX
Request Request Request Request Request Request
RDBMS
EventMachine
![Page 135: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/135.jpg)
NginX
Request Request Request Request Request Request
RDBMS
EventMachine “Look Ma!
No Threads!”
![Page 136: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/136.jpg)
NginX
Request Request Request Request Request Request
RDBMS
EventMachine “Look Ma!
No Threads!”
5k ~ 10kconexões
![Page 137: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/137.jpg)
NginX
Request Request Request Request Request Request
RDBMS
EventMachine “Look Ma!
No Threads!”
5k ~ 10kconexões
ConexõesLongas
![Page 138: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/138.jpg)
![Page 139: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/139.jpg)
<script src="http://js.pusherapp.com/1.8/pusher.min.js"></script>
<script>var pusher = new Pusher('API_KEY');var myChannel = pusher.subscribe('MEU_CANAL');</script>
![Page 140: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/140.jpg)
<script src="http://js.pusherapp.com/1.8/pusher.min.js"></script>
<script>var pusher = new Pusher('API_KEY');var myChannel = pusher.subscribe('MEU_CANAL');</script>
![Page 141: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/141.jpg)
<script src="http://js.pusherapp.com/1.8/pusher.min.js"></script>
<script>var pusher = new Pusher('API_KEY');var myChannel = pusher.subscribe('MEU_CANAL');</script>
![Page 142: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/142.jpg)
myChannel.bind('coisa-criada', function(thing) { alert('Uma coisa foi criada: ' + thing.name);});
![Page 143: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/143.jpg)
myChannel.bind('coisa-criada', function(thing) { alert('Uma coisa foi criada: ' + thing.name);});
![Page 144: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/144.jpg)
myChannel.bind('coisa-criada', function(thing) { alert('Uma coisa foi criada: ' + thing.name);});
![Page 145: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/145.jpg)
require 'pusher'
Pusher.app_id = 'APP_ID'Pusher.key = 'API_KEY'Pusher.secret = 'SECRET_KEY'
class ThingsController < ApplicationController def create @thing = Thing.new(params[:thing])
if @thing.save Pusher['MEU_CANAL'].trigger('coisa-criada', @thing.attributes) end endend
![Page 146: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/146.jpg)
require 'pusher'
Pusher.app_id = 'APP_ID'Pusher.key = 'API_KEY'Pusher.secret = 'SECRET_KEY'
class ThingsController < ApplicationController def create @thing = Thing.new(params[:thing])
if @thing.save Pusher['MEU_CANAL'].trigger('coisa-criada', @thing.attributes) end endend
![Page 147: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/147.jpg)
require 'pusher'
Pusher.app_id = 'APP_ID'Pusher.key = 'API_KEY'Pusher.secret = 'SECRET_KEY'
class ThingsController < ApplicationController def create @thing = Thing.new(params[:thing])
if @thing.save Pusher['MEU_CANAL'].trigger('coisa-criada', @thing.attributes) end endend
![Page 148: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/148.jpg)
require 'pusher'
Pusher.app_id = 'APP_ID'Pusher.key = 'API_KEY'Pusher.secret = 'SECRET_KEY'
class ThingsController < ApplicationController def create @thing = Thing.new(params[:thing])
if @thing.save Pusher['MEU_CANAL'].trigger('coisa-criada', @thing.attributes) end endend
![Page 149: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/149.jpg)
Arquitetura de Altíssima Concorrência
![Page 150: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/150.jpg)
(
![Page 151: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/151.jpg)
W. Edward Deming
![Page 152: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/152.jpg)
![Page 153: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/153.jpg)
IN GOD WE TRUST
Todos os outros devem trazer dados
![Page 154: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/154.jpg)
![Page 155: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/155.jpg)
EXPERIENCE BY ITSELF BRINGSNOTHING
![Page 156: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/156.jpg)
ACD
P
Ciclo “Plan-Do-Check-Act”(melhoria contínua)
![Page 157: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/157.jpg)
ACD
P
STANDARD
Ciclo “Plan-Do-Check-Act”(melhoria contínua)
![Page 158: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/158.jpg)
ACD
P
Ciclo “Plan-Do-Check-Act”(melhoria contínua)
![Page 159: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/159.jpg)
ACD
P
Ciclo “Plan-Do-Check-Act”(melhoria contínua)
![Page 160: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/160.jpg)
ACD
P
Ciclo “Plan-Do-Check-Act”(melhoria contínua)
![Page 161: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/161.jpg)
ACD
P
Ciclo “Plan-Do-Check-Act”(melhoria contínua)
![Page 162: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/162.jpg)
)
![Page 163: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/163.jpg)
![Page 164: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/164.jpg)
![Page 165: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/165.jpg)
![Page 166: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/166.jpg)
![Page 167: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/167.jpg)
![Page 168: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/168.jpg)
![Page 169: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/169.jpg)
![Page 170: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/170.jpg)
Perl
![Page 171: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/171.jpg)
![Page 172: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/172.jpg)
Python
![Page 173: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/173.jpg)
![Page 174: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/174.jpg)
PHP
![Page 175: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/175.jpg)
![Page 176: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/176.jpg)
Ruby
![Page 177: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/177.jpg)
OMG!
![Page 178: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/178.jpg)
2007
2008
2009
2010
2011
Ruby on Rails
![Page 179: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/179.jpg)
2.0.0
2.0.5
2007
2008
2009
2010
2011
6Ruby on Rails
![Page 180: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/180.jpg)
2.0.0
2.1.02.0.5
2.1.2
2007
2008
2009
2010
2011
6
3
Ruby on Rails
![Page 181: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/181.jpg)
2.0.0
2.1.0
2.2.0
2.0.5
2.1.2
2.2.3
2007
2008
2009
2010
2011
6
3
4
Ruby on Rails
![Page 182: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/182.jpg)
2.0.0
2.1.0
2.2.0
2.3.0
2.0.5
2.1.2
2.2.3
2.3.11
2007
2008
2009
2010
2011
6
3
4
12
Ruby on Rails
![Page 183: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/183.jpg)
2.0.0
2.1.0
2.2.0
2.3.0
3.0.0
2.0.5
2.1.2
2.2.3
2.3.11
3.0.7
2007
2008
2009
2010
2011
6
3
4
12
8
Ruby on Rails
![Page 184: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/184.jpg)
2.0.0
2.1.0
2.2.0
2.3.0
3.0.0
2.0.5
2.1.2
2.2.3
2.3.11
3.0.7
2007
2008
2009
2010
2011
Ruby on Rails
31Versões!
![Page 185: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/185.jpg)
![Page 186: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/186.jpg)
Web Server
Request
RailsApp
/public/stylesheets
![Page 187: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/187.jpg)
Web Server
Request
RailsApp
ArquivosEstáticos
/public/stylesheets
![Page 188: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/188.jpg)
![Page 189: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/189.jpg)
Variáveis/* CSS */
.content-navigation { border-color: #3bbfce; color: #2b9eab;}
.border { padding: 8px; margin: 8px; border-color: #3bbfce;}
$blue: #3bbfce;$margin: 16px;
.content-navigation { border-color: $blue; color: darken($blue, 9%);}
.border { padding: $margin / 2; margin: $margin / 2; border-color: $blue;}
![Page 190: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/190.jpg)
Nestingtable.hl { margin: 2em 0; td.ln { text-align: right; }}
li { font: { family: serif; weight: bold; size: 1.2em; }}
/* CSS */
table.hl { margin: 2em 0;}table.hl td.ln { text-align: right;}
li { font-family: serif; font-weight: bold; font-size: 1.2em;}
![Page 191: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/191.jpg)
Mixins@mixin table-base { th { text-align: center; font-weight: bold; } td, th {padding: 2px}}
@mixin left($dist) { float: left; margin-left: $dist;}
#data { @include left(10px); @include table-base;}
/* CSS */
#data { float: left; margin-left: 10px;}#data th { text-align: center; font-weight: bold;}#data td, #data th { padding: 2px;}
![Page 192: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/192.jpg)
Selector Inheritance.error { border: 1px #f00; background: #fdd;}.error.intrusion { font-size: 1.3em; font-weight: bold;}
.badError { @extend .error; border-width: 3px;}
/* CSS */
.error, .badError { border: 1px #f00; background: #fdd;}
.error.intrusion,
.badError.intrusion { font-size: 1.3em; font-weight: bold;}
.badError { border-width: 3px;}
![Page 193: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/193.jpg)
![Page 194: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/194.jpg)
class Animal constructor: (@name) ->
move: (meters) -> alert @name + " moved " + meters + "m."
class Snake extends Animal move: -> alert "Slithering..." super 5
class Horse extends Animal move: -> alert "Galloping..." super 45
sam = new Snake "Sammy the Python"tom = new Horse "Tommy the Palomino"
sam.move()tom.move()
![Page 195: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/195.jpg)
class Animal constructor: (@name) ->
move: (meters) -> alert @name + " moved " + meters + "m."
class Snake extends Animal move: -> alert "Slithering..." super 5
class Horse extends Animal move: -> alert "Galloping..." super 45
sam = new Snake "Sammy the Python"tom = new Horse "Tommy the Palomino"
sam.move()tom.move()
var Animal, Horse, Snake, sam, tom;var __hasProp = Object.prototype.hasOwnProperty, __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor; child.__super__ = parent.prototype; return child;};Animal = (function() { function Animal(name) { this.name = name; } Animal.prototype.move = function(meters) { return alert(this.name + " moved " + meters + "m."); }; return Animal;})();Snake = (function() { __extends(Snake, Animal); function Snake() { Snake.__super__.constructor.apply(this, arguments); } Snake.prototype.move = function() { alert("Slithering..."); return Snake.__super__.move.call(this, 5); }; return Snake;})();Horse = (function() { __extends(Horse, Animal); function Horse() { Horse.__super__.constructor.apply(this, arguments); } Horse.prototype.move = function() { alert("Galloping..."); return Horse.__super__.move.call(this, 45); }; return Horse;})();sam = new Snake("Sammy the Python");tom = new Horse("Tommy the Palomino");sam.move();tom.move();loadrun
![Page 196: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/196.jpg)
![Page 197: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/197.jpg)
![Page 198: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/198.jpg)
102
![Page 199: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/199.jpg)
Web Server(Produção)
Request
RailsApp
/app/assets
Web Server(Desenvolvimento)
Request
/public
![Page 200: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/200.jpg)
Web Server(Produção)
Request
RailsApp
/app/assets
Web Server(Desenvolvimento)
Request
Sprockets
/public
![Page 201: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/201.jpg)
Web Server(Produção)
Request
RailsApp
/app/assets
Web Server(Desenvolvimento)
Request
Sprockets
Tilt
/public
![Page 202: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/202.jpg)
Web Server(Produção)
Request
RailsApp
/app/assets
Web Server(Desenvolvimento)
Request
Sprockets
Tilt
Ugli!er
/public
![Page 203: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/203.jpg)
ENGINE FILE EXTENSIONS REQUIRED LIBRARIES
ERB .erb, .rhtmlnone
Interpolated String .strnone
Erubis .erb, .rhtml, .erubis erubis
Haml .haml haml
Sass .sasssass
Scss .scsssass
Less CSS .less less
Builder .builder builder
Liquid .liquid liquid
RDiscount
.markdown, .mkd, .md
rdiscount
Redcarpet
.markdown, .mkd, .md
redcarpet
BlueCloth .markdown, .mkd, .md bluecloth
Kramdown
.markdown, .mkd, .md
kramdown
Maruku
.markdown, .mkd, .md
maruku
RedCloth .textile redcloth
RDoc .rdoc rdoc
Radius .radius radius
Markaby .mab markaby
Nokogiri .nokogiri nokogiri
CoffeeScript .coffee coffee-script
Creole (Wiki markup) .creole creole
![Page 204: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/204.jpg)
Rails 3.1:Release Candidate
(may 2011)
![Page 205: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/205.jpg)
![Page 206: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/206.jpg)
![Page 207: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/207.jpg)
![Page 208: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/208.jpg)
![Page 209: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/209.jpg)
![Page 210: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/210.jpg)
RubyConfBrasil
3 e 4 de Novembrowww.rubyconf.com.br
![Page 211: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/211.jpg)
<epílogo>
![Page 212: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/212.jpg)
@pedroh96
Pedro Franceschi
![Page 213: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/213.jpg)
15 anos
@pedroh96
Pedro Franceschi
![Page 214: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/214.jpg)
9 anos
@pedroh96
Pedro Franceschi
![Page 215: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/215.jpg)
6 anos
@pedroh96
Pedro Franceschi
![Page 216: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/216.jpg)
@pedroh96
Pedro Franceschi
![Page 217: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/217.jpg)
![Page 218: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/218.jpg)
![Page 219: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/219.jpg)
![Page 220: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/220.jpg)
![Page 221: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/221.jpg)
</epílogo>
![Page 222: 09 - Fábio Akita - Além do rails](https://reader033.fdocumentos.tips/reader033/viewer/2022052410/5555a74bd8b42a52568b475a/html5/thumbnails/222.jpg)
Obrigado!www.akitaonrails.com
.com.br
u.akita.ws/dnad11