karintoの実装がクラスベースになった

従来karintoを利用するためにはリクエストメソッドとPATH_INFOをベースにした名前の関数を作る必要があったが、共通処理を継承とか使ってやりたいよね、そもそも同じURLを扱うのは同じスコープにあるべきたよね、ということでクラスを作るように変更しました。

今までだと次のように書いてた実装コードが、

<?php
function get_foo($req, $res)
{
    $res->message = 'Hello, ' . $req->name;
    $res->render(); // /tpl/get_foo.phpを描画
}
function post_foo($req, $res)
{
    $res->redirect('/bar');
}

次のように書くように変更になります。

<?php
// /pages/foo.php
class foo
{
    public function do_get($req, $res)
    {
        $res->message = 'Hello, ' . $req->name;
        $res->render(); // /templates/foo.phpを描画
    }
    public function do_post($req, $res)
    {
        $res->redirect('/bar');
    }
}

それぞれのメソッドの引数は2つまたは3つ。

2つの場合はkarinto_requestとkarinto_responseのインスタンスが、3つの場合はkarinto_requestとkarinto_response、karinto_sessionのインスタンスがそれぞれ渡されます。

karinto_sessionはCookieStoreな疑似セッションを扱うためのクラス。セッションデータをサーバー側で持たないのでレンタルサーバーに優しい感じですが、使わない場合はメソッドの引数を2つだけにしておけば、インスタンスの生成すらフレームワーク側で行いません。

メソッド名がいまいちだけど気にしない方向で。

ジャガイモと牛乳のスープの作り方

新ジャガのおいしい季節ですね、ということでジャガイモと牛乳でスープを作ったら家族に好評だったので作り方をメモ:

  1. ジャガイモは薄切りにして電子レンジでやわらかくする
  2. やわらかくなったらマッシャーでつぶす
    • ここで裏漉すとなめらかになるけど面倒なら省略してOK
  3. つぶしたジャガイモを鍋に投入
  4. ブイヨンのキューブをお湯で溶いたものを鍋に投入して混ぜる
  5. 胡椒を少しふる
  6. あとは牛乳で好みの味にのばす(薄める)

ローリエとか粉チーズとか入れても違う風味になってよいかも。あと、牛乳なのであまり温めすぎると膜ができるので注意。

「広告批評」最終号を読んでる

特集:クリエイティブ・シンポシオン2009 (広告批評 336号)

特集:クリエイティブ・シンポシオン2009 (広告批評 336号)

広告批評」の最終号を読んでいる。折にふれいろいろ読んできた雑誌が終わるのはさびしいけれど、web広告には別の批評の仕方があるはず、というのには賛成。「広告批評」に代わるような自由な雰囲気の広告にとどまらないような雑誌が今後出てきてくれるとうれしいと思う。

気になった文章をいくつか抜粋。

電通杉山恒太郎さん(223ページ):

企画をやるときにすごく大事なのは、どれだけ自分が自由になれるかということなんですけど、実はたくさん知ってるほうが自由になれるんです。よく教養のことをリベラルアーツって言ったりするけど、あれは「自分が自由になるために知識が必要」という意味。僕は自分が教養があるとは思わないけど、今日は若い方が多いから、みなさん手持ちのカードをなるべくたくさん増やして、自由に発想できる人になってください。これまで見たこともないような素晴らしい作品は、自由な精神から生まれますから。

放送作家小山薫堂さん(296ページ):

広告の原点って案外こういうことなのかなあと、近頃思うようになりました。企画ってサービス精神から生まれるものなんですね。いかに人を幸せな気分にするか? そこに尽きるんじゃないかと。その意味で、僕の原点は誕生日プレゼント。子供の頃から、「人の誕生日をお祝いする」のが趣味だったんです。(笑)

考えてみると、「広告批評」にはいろいろ考えるきっかけをもらってきたと思う。今までありがとう。

クラス実装に変えようかなとか

karintoを関数実装からクラス実装に変えることを何となく考えている。

<?php
function get_index(karinto_request $req, karinto_response $res)
{
    $res->name = $req->name;
    $res->render();
}

今まで上のように書けていた実装を、次のように書くようにしようかなとか。

<?php
class index
{
    public function do_get(karinto_request $req, karinto_response $res)
    {
        $res->name = $req->name;
        $res->render();
    }
}

ページクラスがあって、その中にそれぞれのリクエストメソッドに対応したメソッドを持っているイメージ。ここでdo_getとかいうメソッド名を思いついてしまうあたりがServlet脳…。

というかクラスで実装するならあまりkarintoの意味がないかもしれないなぁ。悩む。

富野由悠季御大のインタビュー出てた

日経の夕刊に富野由悠季御大のインタビュー出てた。

若者はリサイクルをよくやっているし、頻繁に物を買い替えない。一方で大人は、右肩上がりで頂点を目指す経済成長、大量生産・大量消費の膨張指向の慣習から抜け出せない。大人は相変わらず「今の若い者は」という言葉遣いをするが、地球環境の視点で見た場合、それは大人のうかつさだ。むしろ問題は若者に寄り添えない大人側にある。

全くもってその通り。

誰かが三十五億円出したら、映画を一本作る。ガンダムのような劇で“宇宙への移住なんてあり得ない。僕たちは地球に帰るしかない”というメッセージを伝えたい。

『新学期』読んだ

新学期 (河出文庫)

新学期 (河出文庫)

文庫になったので長野まゆみの『新学期』を読んだ。陣野俊史による解説が若干冗長ではあるが面白い。

 二つの重要なことが語られている。一つは、長野さんの小説には、内面が描かれていないということ。これは八〇年代に学生だった者、あんまり世代論をやりたくはないのだが、いわゆる「新人類」と呼ばれた世代に共通する特徴の一つかもしれない。内面などない。語るべき内面があらかじめあるのではない。仮にその小説に内面が感じられるとすれば、それは語ることによって作られた内面なのだ、という共通了解だ。表面にとどまる、という言い方をしてもいい。
 ところが、最近の若い読者は、内面を求める。自分たちの内面の不安を登場人物の内面に投射したがる傾向がある。共感の共同体を作りたいと願っている。だから登場人物には内面の悩みを抱えていてほしいのだ。
 新人類世代の、表面にとどまる身の処し方がドラスティックに変化した時期こそ、おそらく九五年だったと私は思っているが、今の若い人の抱える内面の不安は、九五年から地続きだと思う。だから小説の読み方は変化している。長野さんの作品にまで内面を求めてしまう。そして「何かが足りない」とつい口走ってしまったりするのだ。

自分はどちらかというと「表面にとどまる」派だったりして、小説にしろ詩にしろ中身なんてなくてよいと思っている。内面を求めて、ああでもないこうでもないと考えるのは読む側の自由。それでいい。

この世界の中でぼくたちは不可分に生きていて、いろいろな些細な風景に惑わされながら歩いていく。今日も明日も、たぶんその次の日も。

『自分の仕事をつくる』読んだ

『自分の仕事をつくる』が文庫になってたので買ってきて読んだ。これはいろいろものを考えるきっかけになるよい本。

自分の仕事をつくる (ちくま文庫)

自分の仕事をつくる (ちくま文庫)

印象に残ったのは、ALESSIのデザイン・ディレクター、ラウラ・ボウリノさんがワークショップで発した言葉。

できるだけ自由に、自発的に仕事をしてもらうこと。そして逆説的であること。その仕事の価値や意味を問い続けること。不可能に思えてしまうようなことを提案して、オープンにフレキシブルにね。

みんな最初は心臓のチャックを閉じている。だからメンタルなプロセスを経て、まずは心臓のチャックを開けてもらうこと。限界を課させないで、極限までいくこと。

「心臓のチャック」ってすごい。イメージが伝わるいい言葉だと思う。