夢、会社の飲み会に有名な映画監督と名乗る人が来る。お笑いや不動産、映画界でも活躍されているIT業界の人みたいな扱いだった。向かいに座って普通に雑談してたけど誰なのか。
夢、コンサートホールでDJがなんかやってる。タイムカード見たら2:50~とか見えて、眠いなって思ったけど睡眠中なので眠いと思う。曲はどんなだったか覚えてない。
夢、しばゆーが、フロッピーに磁石を近づけると読めなくなるっていうブログを書いて、ブクマを集めるのだけど、その試しに使ったフロッピーが殺人現場に落ちてたやつで、証拠隠滅を図ったのではないか、という疑惑の渦中にいる。最近の若い人はフロッピーに磁石くっつけちゃいけないの知らないのか〜って思った。
夢、鴨川にでかい鳥が飛んでて、降りてきて手に止まる。プリッツあげたらおいしいって言ってた。ポッキーいる?って聞いたらそれはいいって言ってた。
やり込み要素
三条にDEN-ENっていうパブがあって,ビールいっぱいあって,広々としてて,安いからよく行く.
メンバーズカード作るとまず5%オフになって,ずっと通いつめると,位が高まって割引率が上がっていく.6回でシルバー,20回でゴールドになれる.
たぶん3年間くらい通ってて,きのう通いつめすぎてついにゴールドになってしまった.月に1回行くと3年くらいかかる.これでいつでも15%オフになってしまう.5000円分飲んだら4250円になるのでなかなか安い.
しかしゴールドの次はないので,これまでは競技性とか,やり込み感があったのが,ただの食事になってしまって,これまでのような情熱は失われてしまった気がする.
これをしましょう,その次はあれ,できるかな,みたいな課題を用意しておくと,課題がある間は楽しいけど,クリアしてしまうと,なんでこんな物に夢中になってたのかというような,空虚な気持ちになる気がする.書道とかなら,うまくなったら能力が高まるけど,得たものが割引率というのは空虚な気もする.
何もなくてもただやり続けるような形になると,長続きできると思う.日記書くのとか,とくにやり込み感ないけど,日記書くのがおもしろいから毎日書いてる.
Plack::Middleware::Bootstrapというのを作った
社内のプロジェクトで,JSON APIのドキュメントをHTMLでレンダリングして,api.example.com/doc とかで開発中に見れる,というのを作って使ってる.
ドキュメント見れるのは便利なのだけど,スタイルの当たってないHTMLで,見た目が悪かった.
とりあえずBootstrapでも当てとくかと思ったので,HTMLにBootstrapを当てて配信してくれるPlack Middlewareを書いた.
例
Perlでホームページを作りたくなったら,以下のようなコードを書くと思う.
use strict; use warnings; use Plack::Builder; my $app = sub { return [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ <<HTML ] ]; <h1>こんにちは!!</h1> <p>ようこそ!!ここは僕のホームページです!!</p> <p>今日は<code>Perl</code>を書きました!!</p> <p>以下は僕の趣味と特技です</p> <table> <tr><th>趣味</th><td>マリンスポーツ</td> <tr><th>特技</th><td>排水溝のぬめり取り</td> </table> HTML }; builder { $app; };
これでもいいけど,どこか見た目が悪い.どこかジオシティーズを思い出す.
そこで,Plack::Middleware::Bootstrapをロードします.enableするだけ.
use strict; use warnings; use Plack::Builder; my $app = sub { return [ 200, [ 'Content-Type' => 'text/html; charset=utf-8' ], [ <<HTML ] ]; <h1>こんにちは!!</h1> <p>ようこそ!!ここは僕のホームページです!!</p> <p>今日は<code>Perl</code>を書きました!!</p> <p>以下は僕の趣味と特技です</p> <table> <tr><th>趣味</th><td>マリンスポーツ</td> <tr><th>特技</th><td>排水溝のぬめり取り</td> </table> HTML }; builder { enable "Bootstrap"; $app; };
このとおり,見た目がしゃきっとした.コードはちゃんとコードと分かるような色がついている.
Bootstrapの力でiPhoneでもいい感じに見れる.
実装
レスポンスのHTMLをTreeBuilderでパースして,headとbodyを取り出して,Bootstrapのテンプレートに突っ込んで返す,という作戦を展開している.
もともとあったbodyのクラスとかなくなるけど,bodyにクラス振りたいような場合は,こんなのを使わず普通にBootstrap読み込めばよいと思う.