RubyとかCSVまわりで色々詰んだのでメモ.

借りたVPSのRubyでCSV処理したら改行が認識されてなくて意味不明なことになってたりおかしかったので,Rubyのバージョン確認したら1.8.7でした.これはいかんということでrvmを導入しようとしたのですが,コンパイルの段階で応答がなくなったため,あきらめて1.9系にアップデートすることにしました.
以下のページを参考にしました.

sudo apt-get -yV install ruby1.9.1-full
sudo apt-get -yV install rubygems

sudo gem install rubygems-update
sudo gem1.9.1 install rubygems-update
sudo /var/lib/gems/1.8/bin/update_rubygems
sudo /var/lib/gems/1.9.1/bin/update_rubygems
sudo gem update
sudo gem1.9.1 update

#update-alternativesでバージョン切り替え
sudo update-alternatives –install /usr/bin/ruby ruby /usr/bin/ruby1.8 0
sudo update-alternatives –install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 1
sudo update-alternatives –config ruby

いざ
CSV.foreach(“hoge.csv”, ‘r’) do |row|…end
を実行してみたら,
/usr/lib/ruby/1.9.1/csv.rb:1198:in `delete’: can’t convert Symbol into String (TypeError)
とかいわれました.オプション全消ししたら動いたので,先輩にきいてみたら「1.9系からはoptionはHashになりました」とのこと.

Google先生にきいて一番上にあったページは事故の元だから上記を参照しろとのことでした.おかげで半日以上潰れましたがなんとか解決してよかったです.

Twitter API1.1に対応させたサービスとか.

メインサイトで公開してたTwitter関連のサービスをTwitter API1.1に対応させました.

あなたが一番ふぁぼってる人
自分が一番発言をお気に入りに登録したユーザを取得するスクリプトです.

API経由でアイコン画像をアップロードするツール
TwitterのアイコンをAPI経由でアップロードしてアイコンのボケとかを回避するためのツールです.めちゃくちゃ動作が不安定なので認証用のスクリプトとアップロード用のスクリプトを分離したのですが,やっぱりアイコンのアップロードにものすごい時間かかるのでNet::Twitter::Liteの更新待ちです.
1.1対応させたRubytterとかなら大丈夫なのになんでだろう.調整とかはしますが,それでもだめならRubyに移行する予定です.このツールだけアプリの実行権限が読み書き可能なので,念の為にhttpsで実行するようにしました.せっかく証明書とったし.

favico! – Twitterのアイコンをふぁぼれるサービス
自分用感溢れ出るアイコンをお気に入りにするサービスです.ページナビゲーションは実装しないで終わりそうな気がします.

VPSと独自ドメイン契約しました.

研究室でお下がりの古いマシンでサーバを立てて使ってたのですが,無事卒業できそうなのと(多分きっとそう願いたい),いつまでもブルーノちゃん(サーバの名前)を使うわけにもいかないのでServersMan@VPSとVALUE DOMAINを契約しました.
ServersMan@VPSは一番安いEntryプランで,OSはDebianの64bit版です.ブルーノがUbuntuだったのと,UbuntuはOSアップグレードの時盛大に失敗して同期にpgrされながら夜中に涙目で先輩に直してもらうという悪夢を見たので,Debianにしました.

説明ちゃんと読んでなかったので,LAMPは入ってるだろと思ったらApacheとPerlしか入ってなくてウワーってなりました.RubyとかPHPとかMySQLとか必要なのは全部自分でインストールする必要があります.でもPythonは入ってました.
とりあえず最初にrootパスワードとsudoとロケールの設定して,あとzshとかもいれました.
ロケールは以下のように設定しました.

sudo dpkg-reconfigure locales
#スペースでja_JP.UTF-8.UTF-8を選択
sudo update-locale LANG=ja_JP.UTF-8
#ログアウトすると日本語ロケールになってる

あと,メールサーバ立てようとして2日ぐらい頑張ったんですが,結局無理だったのでHotmailを独自ドメインで使うことにしました.

Apacheの設定とかしようとしたらApacheの設定ファイルの場所がどこなのかわかんなくて,ウォアアアアってなりました.結局 /etc/apache2 以下でした.

SSL証明書は無料で取得できるらしいのでStartSSLから取得しました.
設定は /etc/apache2/sites-available/default-ssl から行いました.

設定にvim使ってたんですが,シンタックスハイライト有効になってなくてなんだろうと思ったら,普通に.vimrcないだけでした.コメントとかと全く見分けつかなくなるのでシンタックスハイライト大事ですね.

あと,CPANでCannot find curl-configエラーが出るので調べたら,解決策載ってるブログがなくなっててキャッシュから解決法を実行したんですが,よく見たら自分がやってたはてなブログで笑いました.
解決法は

$sudo apt-get install libcurl4-openssl-dev

でした.
そのうちはてなブログで需要があった記事はこっちに移植したいです.

追記:
全部設定終わった後にこういうページを見つけました.少し古い記事ですが,やることはだいたい同じですし,まとまっててわかりやすいです.