Rails4アプリがiframeで表示されない

Rails4でFaceookアプリを作ってまして、facebookに埋め込む形でのアプリの設定をしても、白い画面が表示されるだけで思ったようにWebアプリの画面を表示されなかった。

原因はFacebookのキャンバスページではiframeを使用していて、Rails4側でその表示を拒否しているからだった。

どうやってiframeでの表示を拒否しているかというと、レスポンスのヘッダでX-Frame-Optionsというものを使用することによって実現していることが分かった。
“Rails4アプリがiframeで表示されない” の続きを読む

[Ruby] Apacheログ 時刻形式をDateTimeへ変換する

Apacheのログに出力される時刻の形式は

[19/Jun/2013:13:52:02 +0900]

のようになっている。

ログファイル – Apache HTTP サーバ
ドキュメントによると次のような形式とのこと。

[day/month/year:hour:minute:second zone]
day = 2*digit
month = 3*letter
year = 4*digit
hour = 2*digit
minute = 2*digit
second = 2*digit
zone = (`+' | `-') 4*digit

さすがにDateTime.parseに突っ込んでもパースできず。
“[Ruby] Apacheログ 時刻形式をDateTimeへ変換する” の続きを読む

IPアドレスの正規表現 [IPv4]

IPアドレスの正規表現はどう書いたらよいか調べてみた。Rubyで使用することを想定している。

ここの記事に書いてあるのが良さそうなので採用することにした。
How to Match IPv4 Addresses with Regular Expressions – O’Reilly Answers

^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

これまで簡単な正規表現しか使ってこなかったので、最初見たときよくわからなかった。。。
“IPアドレスの正規表現 [IPv4]” の続きを読む

[Ruby, Mac] Net::HTTPでSSL使用時にcertificate verify failed

Mac + OpenSSL (homebrew) + rbenvという環境でNet::HTTP使ってSSLでの通信をしようと思ったらエラーがでた。

net/http.rb:917:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

たとえば、こんな感じのコードでhttpsなURLにアクセスする場合。

require 'net/https'
require 'uri'

url = URI.parse('https://www.google.co.jp/')
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
https.start do |http|
  res = http.get('/')
  puts res.body
end

そういえば前にもこのエラー見たなぁとも思いながら調べてみる。
ようするに、クライアント側にバンドルされるべきの証明書がないのが原因らしい。
“[Ruby, Mac] Net::HTTPでSSL使用時にcertificate verify failed” の続きを読む

RubyでIMAPのメール振り分けをする

ずいぶんと前にPOPからIMAPへ切り替えてから、メールの振り分けはThunderbird側でやってたんだけど、自宅のiMacと外出用のMBAとの両方に振り分けルールを入れておく必要があった。

できればサーバ側で一元管理したいけれど、とりあえずは一部のメールだけでもとRubyでの振り分けを試してみることにした。
“RubyでIMAPのメール振り分けをする” の続きを読む

kanazawa.rb meetup #2 で発表してきた (2012/09/22)

2012年09月22日(土)に開催されたkanazawa.rb meetup #2(at ITビジネスプラザ武蔵)で発表してきました。

昨年の11月に金沢へ戻ってきてから、こういった場で発表するのは初めてでした。

kanazawa.rb meetup #2

開催日時: 2012年09月22日(土) 13:30 〜 17:00
会場: ITビジネスプラザ武蔵 研修室3
参加費: 500円

“kanazawa.rb meetup #2 で発表してきた (2012/09/22)” の続きを読む

Redmine1.2.1から1.4.1 (Ruby1.8→1.9)へアップグレードする

個人的にRedmineを普段から使用していて、仕事用VPSにインストールしていた。

RedmineがRuby1.8でしかうまく動かなくて、なかなかRuby1.9への完全移行ができなかったけれど、Redmine1.4.0からRuby1.9に対応したとのことで、VPSの移行作業に伴いアップグレードして1.9への完全移行を行うことにした。

VPSはさくらのVPSを利用していて、プランの大幅リニューアルで新しいプランへの乗り換え優遇があるとのことだったので、折角なので「さくらのVPS 512」から「さくらのVPS 2G」に乗り換えることに。

「さくらのVPS」ご利用中のお客様の新プラン乗り換え優遇施策の実施期間延長について

今回、Redmineのアップグレードで自分が行った作業手順を書いておく。
“Redmine1.2.1から1.4.1 (Ruby1.8→1.9)へアップグレードする” の続きを読む