Ecossistema Rails - IBTA 2014

Preview:

DESCRIPTION

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

Citation preview

Ecossistema

RailsFabio Akita

@akitaonrails codeminer42.com

www.codeminer42.com

http://u.akita.ws/ibta2014

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

#RailsTurns10

Rails 3.2.19

Rails 4.1.4

Ruby 2.0.0-p481

Ruby 2.1.2

JRuby 1.7.13

www.rubyconf.com.br

http://u.akita.ws/ruby_usage

• Filosofia (Agilistas)

• Polarização do Rails (Ecossistema)

• Escolha das Startups (Economia)

• Cloud Computing (Infraestrutura)

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

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

"I always thought Smalltalk would beat Java. I just

didn't know if would be called

'Ruby' when it did so."

gem install rails

bundle install

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

http://u.akita.ws/ubuntu1204

heroku create

git push heroku master

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

2.84s

13ms!

Asset Pipeline

http://u.akita.ws/assets

Background Jobs

Mensagens Assíncronas

<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>

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

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

http://u.akita.ws/git

Ambiente

vagrant init hashicorp/precise64

vagrant up

vagrant ssh

vagrant halt

http://u.akita.ws/vim

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Continuous Integration (CI)

Exceptions Tracking

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

Filosofia

Deployment

Front-End

Performance

Desenvolvimento

Code Quality

Micro-Services

Educação

Full Text Search

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

Mobile BaaS

Educação

Thanks! @akitaonrails