プログラミング

モジュールで定義されたクラス変数

Rubyではモジュールで定義されたクラス変数は、include されたクラス間で共有されるのか。気づかなくてしばらくはまった。そうして欲しくないクラス変数の定義は module Foo def self.included(mod) @@hoge = 'hogehoge' end end とかやるべきなのかな。よく…

ActionMailerからのメールが一部環境で文字化け

encodingはiso-2022-jpだけど、Windowsの一部環境で文字化けする。 一部環境の条件は不明。とりあえず Content-Transfer-Encodingってヘッダー情報を追加してみた。 これで直るかなー。 def hogehoge(user, sent_at = Time.now) @subject = 'hoge' @body = {…

ERBのtrim_mode

メモメモ <% for user in @users -%> <%= user.name %> <% end -%> とか書いた時に改行文字がちゃんと削られないときがあって困ってた。さっきふと思い出して調べてみたら'\r\n'な時は削ってくれないらしい。 すっきり。

ActionMailerではまった

久々にActionMailerの使おうと思ったら単純なところでハマった。また忘れそうだからメモっとく。 class ExampleMailer < ActionMailer::Base def foo(user, sent_at = Time.now) @subject = "foo" @body = {} @recipients = user.mail @from = 'foo@example.…

ActiveLdap0.8.3.1→0.9.0

LDAP認証に対応したアプリケーションを実環境に移して動かしたら、パスワード間違ってても認証通るようになって焦った。ActiveLdapがバージョンアップしたせいらしい。以下0.8.3.1版と0.9.0版の認証確認用のメソッドの比較。 #0.8.3.1 def authenticated?(pa…

ActiveRecordのtransactionでrollbackさせる

今つくってるやつは諸事情でActiveLdap使ってLDAPでもユーザの管理してるんだけど、LDAPとRDBの整合性をとるって結構無茶な気がしてきた。というか無茶。 とりあえずLDAPの方にデータ登録失敗したら、RDBのデータもロールバックしなきゃいけないからtransact…

CodeGolf

最近大学でCodeGolfを週一回のペースでやってます。CodeGolfはある問題に対するプログラムをいかに短く書くかを競うものです。 Code Golf | Home本家へのリンクを書きましたが、本家の問題を参考にしてやっている程度です。実際に本家にコミットはしていませ…

コード量が増えない

昨日は一日中コタツに入ってカタカタとRubyで掲示板を作っていました。リクエストがあったら掲示板のデータのJSON生成してまとめて返すってだけのものですけどね。 一日中書いた割にはコードの量は50行ぐらいしか進んでないです。行で換算するから悪いのかな…

DOM Functionsのドキュメント

DOM Functionsのドキュメントに20分ぐらい悩まされました。あるところではDOMNode->replaceChild ( object oldnode, object newnode)と書いてあって、あるところではDOMNode->replaceChild(object newnode, object oldnode)と書いてありました。 後者が正解…

iアプリ製作終了

昨日の19時ぐらいにクリエイターズカップの事務局の方に作品を提出し、iアプリの製作はとりあえず終わりました。 初めてゲームを作ったので色々と問題もありましたが、今回は何とかなったみたいです。 久々に頑張りました。実質10日とか2週間とかそれぐらい…

本衝動買い

帰省中に本屋に行くとどうしても専門書買ってしまいます。今回はこれだけにします・・・。今回買った本は↓です。Vol.2も買いました。ゼミ室持って行きますよ。 ソフトウェア・テスト PRESS Vol.1 技術評論社発売元:技術評論社

mod_ruby再戦

前に頑張ってインストールしようとして駄目だったmod_rubyですが、気が向いたのでもう一回戦ってみました。 まず、色々調べて前回突っかかったapxsというApacheの動的モジュールを作成するときに使うツールがPerlで書かれていることを突き止めたので、Perlを…

mod_ruby

昨日から今日にかけてmod_ruby をApache2 for Windowsで動かすべく奮闘していました。 mod_rubyっていうのはApacheにRubyのインタプリタを組み込むモジュールで、サーバー上で動かすときの実行速度が桁違いに速くなるやつです。 これを見るととてもいいもの…