未分類 | No Comments | 7月 17th, 2007
activerecordでmigrationに :binary な型でテーブル作ろうとしたとき、MySQLでは64kbしか入らない型になってしまうそうで。大きなファイルをアップロードする際は、MySQLの場合 longblob を使えばいいみたい。
t.column :big_file, :longblob
みたいな感じに。

未分類 | No Comments | 7月 17th, 2007
activerecordでmigrationに :binary な型でテーブル作ろうとしたとき、MySQLでは64kbしか入らない型になってしまうそうで。大きなファイルをアップロードする際は、MySQLの場合 longblob を使えばいいみたい。
t.column :big_file, :longblob
みたいな感じに。


未分類 | No Comments | 7月 16th, 2007
Rubyで Net::HTTPS を使おうとしたら、require ‘net/https’ でエラー。どうやら、 require ‘net/https’ した時に、中で require ‘openssl’ を呼べてないぽい。環境はDebian sarge 。
Rubyをソースから入れたので、zlibのインストール の時のような手順で入れたら入った。
Rubyforge からダウンロードした ruby のソースコードのディレクトリへ移動。ディレクトリ名を ruby-1.8.5 とする。openssl は既にインストール済みだった。以下のようなコマンドでインストール出来た。
$ cd ruby-1.8.5/ext/openssl $ ruby extconf.rb $ make # make install
チェックしてみる。
$ irb irb(main):001:0> require 'openssl' => true
通ってるようだ。
ruby extconf.rb に --with-openssl-dir=/usr/local/openssl のような形で指定することも出来るようだが、自動的に見つけてくれた模様。
ちなみに、Ubuntu8.04 の環境だと、初めは libssl-dev が入っていないので、apt で入れてあげましょう。
% sudo apt-get install libssl-dev


未分類 | No Comments | 7月 2nd, 2007
MacでVimのcolorschemeを pablo っていうのにして使ってたんだけど、 Rails やるときに <% が青くて大変見辛かったので、 billw というのにしてみた。オレンジ系でいい感じ。たまに気分転換で変えるのはありかもわからんね。よく見ると、ただ色が書いてあるだけなので、自分で作る事も可能なのだが、インストール方法は以下のような感じ。
vim online にアクセスする。Search for Scripts という部分で、typeを color scheme にして、お目当てのものを検索。何も入力しないで検索すると一覧が出る。
実際の色は カラースキーマのスクリーンショット[名無しのVIM使い] を見ると一発で分かって良いです。
ダウンロードしたスキーマファイルを、~/.vim/colors/ に入れて、.vimrc に colorscheme billw と書けばよい。


未分類 | No Comments | 7月 2nd, 2007
Pound2.3.2 をインストールしたら、前と設定の仕方が若干変わっていた。
昔は、ListehHTTPとListenHTTPSの中にそれぞれ Service を書けば動いたんだけど。公式サイトみたら、若干変わってたような感じがした。
以下の様に、まずListenHTTPSとListenHTTPを書く。その後にServiceを書き始める。SSLの判別はアプリ側でやったほうがよさげ。
ListenHTTPS
Address 192.168.1.1
Port 443
Cert "/usr/local/etc/example.pem"
AddHeader "X-Forwarded-Proto: https"
HeadRemove "X-Forwarded-Proto"
End
ListenHTTP
Address 192.168.1.1
Port 80
xHTTP 2
End
Service
HeadRequire "Host: test.com"
BackEnd
Address 127.0.0.1
Port 8200
End
End
ネットでPoundはヘッダの情報を書き換えないって書いてあったけど、下記のように書かないと通信がhttpsで来たという情報がバックエンドに伝わってこない。
AddHeader "X-Forwarded-Proto: https" HeadRemove "X-Forwarded-Proto"
これを書かないと、 request.ssl? が false になってしまう。ssl_required をかけてるとリダイレクトがループしてとても困る。
