YAML を使うことにした。当初 XML を使うつもりだったけどマップするのがめんどいので保留。obj.to_yaml だけなのは簡単でいい。あんまり文法は好きじゃないんだけど……
夢、動物の学校
Ruby for-in
elsif もそうだけど for - in も嫌いだ。読む順番がアレなんだよなぁ。素直に each でいいじゃないみたいな。ついでに each と同じだと考えてるとハマる。スコープがスタックされない (この表現が正しいかは知らない)
ソレっぽさ
chokan 再実装
IRC BOT を作り直し。RICE 使うことにする。
プラグインのロード方法を変えた。新しい無名のモジュールを作ってその中で実行してクラスのインスタンスを得るようにする。そうすれば空間が汚れないし GC 的にも嬉しいっぽい。たぶん。
def load(klass_name)
filename = klass2file(klass_name)
mod = Module.new
mod.module_eval(File.open("#{dir}/#{filename}") {|f| f.read}, filename)
c = nil
begin
c = mod.const_get(klass_name)
rescue NameError
raise ClassNotFoundError.new("#{dir}/#{filename} must include #{klass_name} class")
end
# @klass (new に渡した上位クラス) を継承していなかったらエラー
if c < @klass
@plugins[klass_name] = {
:instance => c.new,
:loaded => Time.now,
}
else
raise NotInheritAbstractClassError.new("The class #{klass_name} must inherit #{@klass}")
end
klass_name
end
Abstract っていうのはなんか違う気がする。
CSS 切り替えのユーザビリティ
CSS 切り替えスクリプトみたいなのを使って、ページ内にドロップダウンとかつけているサイトは結構あるけど、スタイルを変えるごとにそのドロップダウンがどっか別に場所に移動したりするのはなんかアレだなって思う……見失って元に戻すのまで若干混乱する。
バナーをキャッスのソース
なんかやっぱソースが汚いけどとりあえず置いとく。
ちなみにうちは以下のような構成
- img/
- cache/
- .htaccess
- cache.rb
- http%3a%2f%2f...
- ...
- cache/
.htaccess でアクセス制限&DirectoryIndex cache.rb 設定みたいな。アクセス制限よりスクリプトでパーミッション設定してもいい気もする。
三学期特別授業
三学期特別授業なるものを実はとっていたりしたり。というのも一応試験直前に勉強脳に切り替え、リハビリするためなんだけど実際どうなのよ、とかいうのをもう既に遅刻な時間 (振込みとか郵便局とかごちゃごちゃやってた) にやっているわけでやっぱ意味気もする。
勉強脳、とかいたけれど、ここでの勉強は即ち読んで字のごとく強いられる勉学 (ただしここで勉学を勉強と読み替えると軽く再帰的になって混乱する。Ruby でいうなら alias を使ってメソッドを宣言したのごとく前のメソッドは前のメソッドのまま的な) なわけで以下略。
さて着替えしよう。
やっぱこの時期はセンター対策だった。なんか現国は運だ。うん。運がよければ満点いける。
夢、森の中
アホみたいに僕は笑ってた
アナログな文字を機械処理する書類が激しく苦手だ。機械の読み取り精度がどれほどかわかっていないので、書くのにひどく神経を使う。最初からデジタルデータを送るようにすればいいのに。入試の出願書の話ですけど、まぁミスがあってはいけないものだから、いくらか多めに可能性を考慮するわけですけど、ステップが多い。普通に自分の脳みそがイカれててわけわからない場所に書いたりだとか、実際この字の濃さ・書体で読み取れるかだとか、数値として記入する部分で間違いを犯していないかとか。機械処理させるなら書くところも機械にやらせればいいのに。あと、紙面の都合上入力できる文字に制限があるのがアレだよなぁ。10文字以上の名前の人は余計不安になるじゃないか。根拠のない仮定はするな (プログラミング基礎 セクション 5.3. でっちあげ。) っていうやつに似てる。
個人情報なんかはなんかもっと簡単に処理できないのかなぁ。住民基本台帳とか……セキュアな問題がアレそう。
理想的には個人識別用のコードと受験科目とかそういうのだけ入力してポチっておしゃ OK とか。替え玉が増えそうだけどなー。
互いに素
三角形カラーピッカー
Painter 風のやつを JavaScript で実装した。っていっても重要な部分は GIMP のコードからまるパクり。別のもっと単純な計算方法でやってたら、どう考えても三角形の範囲から色がはみ出すのでパクり。某 IRC チャンネルで長いことチャンネル違いな話をしつつアレとかソレとか。
IE はやる気になったらやろう……
バナナ
サイトのバナーをキャッシュする CGI とか書いてみた - Note @ Temporary-Depot 見て、あーって思って、パクった。Perl がアレなので Ruby にして拡張子じゃなくて Content-type 見るようにして、みたいな。エラー処理が結構微妙。raise CacheImg.const_get(content).new とか無理やりすぎ。なんかサッパリ頭回らない……
Firefox のブックマークの Description に banner:http://example.com/banner
とか書いて、まぁ適当に。
こういうちっちゃいのはモジュールで動いている PHP のほうが圧倒的に有利だろうけど、わけわからん糞言語弄るほど頭がノっていないです。
Graphics から Illustration とかいう名前のフォルダに分離して、特別扱いにしたほうがよさそうだなぁ……めんどいからまた今度。ぶっちゃけリンクページとか使わないしねー
注意:スクリプトの話と XSLT の変換の話が混ざってます。Synchronize Bookmarks でヤるアレです。はい。
冬へ
あれ、こえが(ry
っていうのが脳内でリフレインしているのはとりあえず置いておいて、もうすぐ三学期が始まる。えー。試験勉強してないなぁ。どうなるんだろう。
ちょっとスクリプトを書いていたけど、殆ど完成の段階になって決定的なバグを発見したのでやめ。解決方法思いつくまで放置。
そんなスクリプトのアレで、開いたことのない数学のチャートとか開かざるを得なかったりする。でもこういう場合の教科書は役に立つ教科書 (謎) だ。もうシラン。
寝る前ぎりぎりぼーっとして何を書いているかよくわかりません。理解は(ry。とかなんとか。仕様書は原文で読むべきだな、とか。あんまりカーテンをあけないとか。無駄に緑が透き通って向こう側の空が見え隠れしたりするチラリズムとか。いいやめんどい。あー。うん