129
Ecossistema Rails Fabio Akita @akitaonrails codeminer42.com

Ecossistema Rails - IBTA 2014

Embed Size (px)

DESCRIPTION

Palestra ministrada no IBTA em Julho de 2014 sobre o Ecossistema Ruby on Rails

Citation preview

Page 1: Ecossistema Rails - IBTA 2014

Ecossistema

RailsFabio Akita

@akitaonrails codeminer42.com

Page 2: Ecossistema Rails - IBTA 2014

www.codeminer42.com

Page 3: Ecossistema Rails - IBTA 2014
Page 4: Ecossistema Rails - IBTA 2014

http://u.akita.ws/ibta2014

Page 5: Ecossistema Rails - IBTA 2014

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/107370

#RailsTurns10

Page 6: Ecossistema Rails - IBTA 2014
Page 7: Ecossistema Rails - IBTA 2014
Page 8: Ecossistema Rails - IBTA 2014

Rails 3.2.19

Rails 4.1.4

Page 9: Ecossistema Rails - IBTA 2014

Ruby 2.0.0-p481

Ruby 2.1.2

JRuby 1.7.13

Page 10: Ecossistema Rails - IBTA 2014

www.rubyconf.com.br

Page 11: Ecossistema Rails - IBTA 2014

http://u.akita.ws/ruby_usage

Page 12: Ecossistema Rails - IBTA 2014

• Filosofia (Agilistas)

• Polarização do Rails (Ecossistema)

• Escolha das Startups (Economia)

• Cloud Computing (Infraestrutura)

Page 13: Ecossistema Rails - IBTA 2014

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Page 14: Ecossistema Rails - IBTA 2014
Page 15: Ecossistema Rails - IBTA 2014
Page 16: Ecossistema Rails - IBTA 2014

Actually I made up the term "object-oriented", and I can tell you I did not have C++ in mind.

Page 17: Ecossistema Rails - IBTA 2014

"I always thought Smalltalk would beat Java. I just

didn't know if would be called

'Ruby' when it did so."

Page 18: Ecossistema Rails - IBTA 2014
Page 19: Ecossistema Rails - IBTA 2014
Page 20: Ecossistema Rails - IBTA 2014
Page 21: Ecossistema Rails - IBTA 2014

gem install rails

bundle install

Page 22: Ecossistema Rails - IBTA 2014
Page 23: Ecossistema Rails - IBTA 2014
Page 24: Ecossistema Rails - IBTA 2014
Page 25: Ecossistema Rails - IBTA 2014
Page 26: Ecossistema Rails - IBTA 2014

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Page 27: Ecossistema Rails - IBTA 2014
Page 28: Ecossistema Rails - IBTA 2014
Page 29: Ecossistema Rails - IBTA 2014
Page 30: Ecossistema Rails - IBTA 2014
Page 31: Ecossistema Rails - IBTA 2014

http://u.akita.ws/ubuntu1204

Page 32: Ecossistema Rails - IBTA 2014
Page 33: Ecossistema Rails - IBTA 2014

heroku create

git push heroku master

Page 34: Ecossistema Rails - IBTA 2014
Page 35: Ecossistema Rails - IBTA 2014
Page 36: Ecossistema Rails - IBTA 2014

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Page 37: Ecossistema Rails - IBTA 2014
Page 38: Ecossistema Rails - IBTA 2014
Page 39: Ecossistema Rails - IBTA 2014
Page 40: Ecossistema Rails - IBTA 2014
Page 41: Ecossistema Rails - IBTA 2014
Page 42: Ecossistema Rails - IBTA 2014
Page 43: Ecossistema Rails - IBTA 2014

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Page 44: Ecossistema Rails - IBTA 2014

2.84s

13ms!

Page 45: Ecossistema Rails - IBTA 2014

Asset Pipeline

Page 46: Ecossistema Rails - IBTA 2014
Page 47: Ecossistema Rails - IBTA 2014
Page 48: Ecossistema Rails - IBTA 2014
Page 49: Ecossistema Rails - IBTA 2014

http://u.akita.ws/assets

Page 50: Ecossistema Rails - IBTA 2014
Page 51: Ecossistema Rails - IBTA 2014
Page 52: Ecossistema Rails - IBTA 2014
Page 53: Ecossistema Rails - IBTA 2014

Background Jobs

Page 54: Ecossistema Rails - IBTA 2014
Page 55: Ecossistema Rails - IBTA 2014
Page 56: Ecossistema Rails - IBTA 2014

Mensagens Assíncronas

Page 57: Ecossistema Rails - IBTA 2014
Page 58: Ecossistema Rails - IBTA 2014
Page 59: Ecossistema Rails - IBTA 2014

<script src="http://js.pusher.com/2.1/pusher.min.js"></script> <script> var pusher = new Pusher('SUA_CHAVE'); var channel = pusher.subscribe('meu-canal'); channel.bind('meu-evento', function(data) { alert('Chegou um evento com a mensagem: ' + data.message); }); </script>

Page 60: Ecossistema Rails - IBTA 2014

require 'pusher' Pusher.app_id = 'APP_ID' Pusher.key = 'APP_KEY' Pusher.secret = 'APP_SECRET' class HelloWorldController < ApplicationController def hello_world Pusher['meu-canal'].trigger('meu-evento', {:message => 'hello world'}) end end

Page 61: Ecossistema Rails - IBTA 2014
Page 62: Ecossistema Rails - IBTA 2014
Page 63: Ecossistema Rails - IBTA 2014
Page 64: Ecossistema Rails - IBTA 2014

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Page 65: Ecossistema Rails - IBTA 2014
Page 66: Ecossistema Rails - IBTA 2014

http://u.akita.ws/git

Page 67: Ecossistema Rails - IBTA 2014
Page 68: Ecossistema Rails - IBTA 2014
Page 69: Ecossistema Rails - IBTA 2014
Page 70: Ecossistema Rails - IBTA 2014
Page 71: Ecossistema Rails - IBTA 2014
Page 72: Ecossistema Rails - IBTA 2014
Page 73: Ecossistema Rails - IBTA 2014
Page 74: Ecossistema Rails - IBTA 2014
Page 75: Ecossistema Rails - IBTA 2014
Page 76: Ecossistema Rails - IBTA 2014
Page 77: Ecossistema Rails - IBTA 2014

Ambiente

Page 78: Ecossistema Rails - IBTA 2014
Page 79: Ecossistema Rails - IBTA 2014
Page 80: Ecossistema Rails - IBTA 2014
Page 81: Ecossistema Rails - IBTA 2014

vagrant init hashicorp/precise64

vagrant up

vagrant ssh

vagrant halt

Page 82: Ecossistema Rails - IBTA 2014
Page 83: Ecossistema Rails - IBTA 2014
Page 84: Ecossistema Rails - IBTA 2014
Page 85: Ecossistema Rails - IBTA 2014
Page 86: Ecossistema Rails - IBTA 2014
Page 87: Ecossistema Rails - IBTA 2014
Page 88: Ecossistema Rails - IBTA 2014
Page 89: Ecossistema Rails - IBTA 2014

http://u.akita.ws/vim

Page 90: Ecossistema Rails - IBTA 2014

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Page 91: Ecossistema Rails - IBTA 2014
Page 92: Ecossistema Rails - IBTA 2014
Page 93: Ecossistema Rails - IBTA 2014
Page 94: Ecossistema Rails - IBTA 2014
Page 95: Ecossistema Rails - IBTA 2014
Page 96: Ecossistema Rails - IBTA 2014

Continuous Integration (CI)

Page 97: Ecossistema Rails - IBTA 2014
Page 98: Ecossistema Rails - IBTA 2014
Page 99: Ecossistema Rails - IBTA 2014
Page 100: Ecossistema Rails - IBTA 2014

Exceptions Tracking

Page 101: Ecossistema Rails - IBTA 2014
Page 102: Ecossistema Rails - IBTA 2014
Page 103: Ecossistema Rails - IBTA 2014
Page 104: Ecossistema Rails - IBTA 2014

MyApp::Application.config.middleware.use ExceptionNotification::Rack, :email => { :email_prefix => "[MyApp] ", :sender_address => %{"notifier" <[email protected]>}, :exception_recipients => %w{[email protected]} }

Page 105: Ecossistema Rails - IBTA 2014

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Page 106: Ecossistema Rails - IBTA 2014
Page 107: Ecossistema Rails - IBTA 2014
Page 108: Ecossistema Rails - IBTA 2014
Page 109: Ecossistema Rails - IBTA 2014
Page 110: Ecossistema Rails - IBTA 2014
Page 111: Ecossistema Rails - IBTA 2014
Page 112: Ecossistema Rails - IBTA 2014

Full Text Search

Page 113: Ecossistema Rails - IBTA 2014
Page 114: Ecossistema Rails - IBTA 2014
Page 115: Ecossistema Rails - IBTA 2014

https://www.eventials.com/akitaonrails/como-nao-fazer-pesquisas-usando-like/

Page 116: Ecossistema Rails - IBTA 2014

Mobile BaaS

Page 117: Ecossistema Rails - IBTA 2014
Page 118: Ecossistema Rails - IBTA 2014
Page 119: Ecossistema Rails - IBTA 2014
Page 120: Ecossistema Rails - IBTA 2014
Page 121: Ecossistema Rails - IBTA 2014
Page 122: Ecossistema Rails - IBTA 2014

Educação

Page 123: Ecossistema Rails - IBTA 2014
Page 124: Ecossistema Rails - IBTA 2014
Page 125: Ecossistema Rails - IBTA 2014
Page 126: Ecossistema Rails - IBTA 2014
Page 127: Ecossistema Rails - IBTA 2014
Page 128: Ecossistema Rails - IBTA 2014
Page 129: Ecossistema Rails - IBTA 2014

Thanks! @akitaonrails