用ruby统计网站注册用户使用不同email服务的数量

controller

def chart
  email_service_array = Array.new
  users = User.all
  users.each do |user|
    email_service_array << user.email.split("@")[1]
  end
  @email_service = email_service_array.each_with_object(Hash.new(0)){|i,h| h[i] += 1}
end

view

<% @email_service.size.times do |i| %>
  Service: <%= @email_service.keys[i] %>
  Count: <%= @email_service.values[i] %>
<% end %>

PaaSがもたらす未来と、Ruby活用の秘訣

Date: 2013/07/17(水) 午後 http://www.iij.ad.jp/news/seminar/2013/sm130717.html

日本国内クラウド市場概況

  • SaaS(Apps + SIS-aaS) 少ない
  • PaaS 中央
  • IaaS(Server + Basic Storage) 多い

Ruby(発表者:Matz)

  • 世界中100万Rubyユーザー?
  • 順位:11
  • RailsはDSLフレームワーク
  • Rails3 = Rails + Merb
  • Ruby 2.1 は2013年年末リリース

クラウドサービス運用コスト

IaaS

  • 最低料金は高め
  • スケールアウトにコストがかかる

PaaS

  • 最低料金は低め
  • IaaSより開発保守コストが高い
  • スケールアウトが容易

制限

  • PaaSはsshができない
  • ブロックストレージできない
  • IaaSの自由度が高い

日本のPaaS – MOGOK

  • 公式サイト:http://mogok.jp/

もう一つCMS – JoruriCMS

  • 公式サイト:http://joruri.org/
  • ソース:https://github.com/joruri/joruricms

Engine Yard

Facebook Stories

Heroku

  • 日本運営会社:http://www.salesforce.com/homepage-prosp/
  • 日本人社員:5人(4男1女)Matzを含む
  • サポートプログラミング言語:様々(Perlも予定)
  • Heroku Apps: 3,500,000
  • 40% apps are by Ruby

Rails允许多个IP访问的设置办法

方法1

config/routes.rb

constraints(:ip => %r{#{Settings.ip.allow}}) do
 post '/somecontroller/callback', to: 'somecontroller#callback' , as: 'somecontroller_callback'
end

config/settings.yml

ip:
  allow: '127.0.0.1|127.0.0.2'

方法2

config/routes.rb

constraints(:ip => Settings.ip.allow) do
 post '/somecontroller/callback', to: 'somecontroller#callback' , as: 'somecontroller_callback'
end

config/settings.yml

ip:
  allow: !ruby/regexp /127.0.0.1|127.0.0.2/

方法3

before_filter :protect

def protect
  @ips = ['127.0.0.1', '127.0.0.2'] #And so on ...]
  if not @ips.include? request.remote_ip
     # Check for your subnet stuff here, for example
     # if not request.remote_ip.include?('127.0,0')
     render :text => "You are unauthorized"
     return
  end
end

Links