Latest Posts Under: Ruby

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

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

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

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に突っ込んでもパースできず。
続きを読む

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]?)$

これまで簡単な正規表現しか使ってこなかったので、最初見たときよくわからなかった。。。
続きを読む

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

そういえば前にもこのエラー見たなぁとも思いながら調べてみる。
ようするに、クライアント側にバンドルされるべきの証明書がないのが原因らしい。
続きを読む

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

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

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

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

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

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

今回、Redmineのアップグレードで自分が行った作業手順を書いておく。
続きを読む

Scroll To Top