今日の朝夢見たけど書くのを忘れた。唯一覚えているのは肩ぐらいまでの髪の長さの女の子がでてきたことぐらい。キラキラ。
空がかなり晴れていて、そんなに寒さを感じなかった。マフラーがほしいと思った。ねむい。
PHP の簡略化 PI (<? .. ?>) は好きじゃない。ターゲットが示されてないのがなんか気になるし、XML 宣言実行しようとするのがウザすぎ。それと ASP 方式 (<% .. %>) は問題外。
XML の Processing instruction の仕様を引用する。
Processing Instructions [16] PI::= '<?' PITarget (S (Char* - (Char* '?>' Char*)))? '?>'[17] PITarget::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))
XML の PI においてターゲットは必須。よってないとキモい。
そんなわけで [ruby-core:04266] ってのは <?erb .. ?> とかにするほうがいいんだけど、それだと目的のタイプのし易さが結局アレになるのでそもそもだめじゃんみたいな。
何が言いたいんですがあたしは。
ジャケ かこいいなぁ……
しかし二枚連続でタワレコ初回限定なのはなんでだろう。というかなんで東芝 EMI から出さないんだろう。何かあったのか。VeryApeRecords とかいう怪しいアート専用レーベルらしきものから出すし……謎。
よく寝た。っていうか外は糞寒いし、控え室微妙に寒いし、試験会場暑いし……
自己採点してみると古文が0点だった。笑える。漢文は少しあたってたぜ?
まぁ現代文しか使わない学部だから関係ないです。ならマークするなよって感じだけど、やっぱ埋めてないと不安 (謎) なので。
河合塾速報のやつによると、平均点があがるだろうと思った英語は昨年よりさがってる。ありがたや。平均点超えそう? 国語は現代文以上の点数はないので比較できない。政治経済はほぼ平均点 (より下)。
明日学校で一斉自己採点&予備校にデータ提出だから、これから母集団が増えて変わるだろうけど、すんげー微妙。よくも悪くも平均人間って感じ。ウキー。
ついでに国語Ⅰのアレ (謎) でアレだと思う。アレのせいで微妙に不利なのか?
結局微塵も勉強しないで大学入試センターなわけだ。いくつか試験の心構え的なもの (古典は適当にマークするだけで考えないとか) は考えたけどぶっちゃけどうでもいい。
今日は英語のみだから特に糞不安ってことはないし、むしろテンションハイになっているわけだけど、長文で運が悪いとその後に続く試験 (二日目・一般) がたぶんアレになるのでそれなりの覚悟が必要な気もする。一番気にかかるのはぶっちゃけ試験場なんだけどね。まくら違うと寝れない (嘘) ですから!
勉強しないとサッパリできない科目、つまり政治経済が一番不安要素満載なんですよ。怖い怖い。
昨日なにやってたって chokan 実装やってたよ。本屋行ってアレな雑誌読んだよ。謎だ。
俺が今ある種異様なテンションなのは、ここ三年求めていた向うから強制的にやってくる刺激が、今あるからだと思う。センター試験はいくつかのイベントの始まりにすぎない。いい方に傾くか悪いほうに傾くかはまさしく神のみぞ知るところだから結局どうでもいい。いずれにしても、これから自分がどうなっていくのが楽しみでニヤける。
自己採点したらめっさ低いよ。やべー。
や、平均っぽい?ぶっちゃけどれぐらいが平均なのかわからn
どっちにしろセンター利用私大は無理くさい。一般は願書とりよせた大学全部うけることになりそうだ。
実験的に Rena を使ってみたかったので、よろしそうなプログラムを考える。
IRC BOT に何か FOAF アレこれできるような機能をつけてみたかった (意味があるかは考えない) ので、とりあえず URI に反応して、それが FOAF だったら foaf:nick と foaf:name をとってくるようにしてみた。
URI (http:) が PRIV されたら HEAD でアクセスして、ステータスコードと Content-Type を確認。`text/xml', `application/xml', `application/rdf+xml', `text/ntriples' であれば Rena にロードさせる。
ロードしたら rdf:about="" なリソースを探し、それが foaf:PersonalProfileDocument であれば foaf:primaryTopic のさすリソースの foaf:nick と foaf:name をてけとーに取得して IRC に NOTICE
Rena は結構遅いので、RDF パース中は chokan が他の処理しないかもしれない。
作るにあたって Using Rena to Process RDF in Ruby が役に立った。
よく考えると open-uri に Accept ヘッダを加えるのは無理 (もしくはめんどう) なので、最初から GET して、response.body を StringIO にして Rena に投げることにする。こうしないとネゴシエーション効いてる場合ダメになる。
メイン部分のコード。
# uri は読み込んだ RDF の URI の URI クラスのインスタンス
# res は HTTP#get の値
model = Rena::MemModel.new
model.load(StringIO.new(res.body),{
:content_type => Regexp.last_match[0],
:base => uri.to_s
})
resource = model[uri.to_s] # 相対 URI は絶対 URI に変換されている。
if resource &&
resource.get_property(RDF + "type").uri == URI.parse(FOAF + "PersonalProfileDocument")
mes = "foaf:PersonalProfileDocument"
foaf = resource.get_property(FOAF + "primaryTopic")
nick = foaf.get_property_values(FOAF + "nick")
name = foaf.get_property_values(FOAF + "name")
# string_array は rdf:Alt とかも全部ひっくるめて単一の文字列の配列にする
mes += " [nick:#{string_array(nick).join(", ")}]" unless nick.empty?
mes += " [name:#{string_array(name).join(", ")}]" unless name.empty?
subject << notice(channel, mes.to_jis)
else
puts "Not FOAF"
end
YAML を使うことにした。当初 XML を使うつもりだったけどマップするのがめんどいので保留。obj.to_yaml だけなのは簡単でいい。あんまり文法は好きじゃないんだけど……
elsif もそうだけど for - in も嫌いだ。読む順番がアレなんだよなぁ。素直に each でいいじゃないみたいな。ついでに each と同じだと考えてるとハマる。スコープがスタックされない (この表現が正しいかは知らない)
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 切り替えスクリプトみたいなのを使って、ページ内にドロップダウンとかつけているサイトは結構あるけど、スタイルを変えるごとにそのドロップダウンがどっか別に場所に移動したりするのはなんかアレだなって思う……見失って元に戻すのまで若干混乱する。
なんかやっぱソースが汚いけどとりあえず置いとく。
ちなみにうちは以下のような構成
.htaccess でアクセス制限&DirectoryIndex cache.rb 設定みたいな。アクセス制限よりスクリプトでパーミッション設定してもいい気もする。
三学期特別授業なるものを実はとっていたりしたり。というのも一応試験直前に勉強脳に切り替え、リハビリするためなんだけど実際どうなのよ、とかいうのをもう既に遅刻な時間 (振込みとか郵便局とかごちゃごちゃやってた) にやっているわけでやっぱ意味気もする。
勉強脳、とかいたけれど、ここでの勉強は即ち読んで字のごとく強いられる勉学 (ただしここで勉学を勉強と読み替えると軽く再帰的になって混乱する。Ruby でいうなら alias を使ってメソッドを宣言したのごとく前のメソッドは前のメソッドのまま的な) なわけで以下略。
さて着替えしよう。
やっぱこの時期はセンター対策だった。なんか現国は運だ。うん。運がよければ満点いける。
アナログな文字を機械処理する書類が激しく苦手だ。機械の読み取り精度がどれほどかわかっていないので、書くのにひどく神経を使う。最初からデジタルデータを送るようにすればいいのに。入試の出願書の話ですけど、まぁミスがあってはいけないものだから、いくらか多めに可能性を考慮するわけですけど、ステップが多い。普通に自分の脳みそがイカれててわけわからない場所に書いたりだとか、実際この字の濃さ・書体で読み取れるかだとか、数値として記入する部分で間違いを犯していないかとか。機械処理させるなら書くところも機械にやらせればいいのに。あと、紙面の都合上入力できる文字に制限があるのがアレだよなぁ。10文字以上の名前の人は余計不安になるじゃないか。根拠のない仮定はするな (プログラミング基礎 セクション 5.3. でっちあげ。) っていうやつに似てる。
個人情報なんかはなんかもっと簡単に処理できないのかなぁ。住民基本台帳とか……セキュアな問題がアレそう。
理想的には個人識別用のコードと受験科目とかそういうのだけ入力してポチっておしゃ OK とか。替え玉が増えそうだけどなー。