| @技術/プログラミング

静的サイトをCMSを導入して動的にする、という仕事を担当することになり、Ruby on RailsかCakePHPを使ってみようかな、と思っています。

現在の状況

僕は仕事を探し始めたときからウェブデザイナーっぽいのになりたいなー、と思っていました。でも実際仕事をしてみると、デザインというのはなかなかむずかしい。ネットが好きな素人においそれとできるものではありません。どうも僕はデザインより、コーディングの方が良いみたい。それもただHTML書くんじゃなくて、JavaScriptでサイトに動きをつけたり、PHPでちょっとしたプログラミングをする方が向いてるような気がする。もちろん20代後半でプログラミング始めたところで先は見えてるんですけど、経済学で言うところの比較優位が僕の場合はプログラミングにあるのではないか、と感じるのです。少なくともいま働いてるところでは僕はデザインやるよりプログラミングやってた方が生産性の向上に寄与できそうな感じ。

しかしながら僕が働いてるところは一日コードばっかり書いていられるようなところではないので、業務でプログラミングできる時間は一日1, 2時間くらいしかありません。それで高速に開発ができるという触れ込みのRuby on RailsとCakePHPに注目しました。

現時点での理解

Ruby on Railsはオブジェクト指向のフレームワークで、とにかく短時間で、初心者でも大規模なサイトをつくることができる、ということは分かりました。Model View Controllerとかもおぼろげながらに理解したつもり。HTMLとCSSでコンテンツと見栄えを分離させるみたいな感じのことをプログラミング言語でやろうとしているのがRailsだ、みたいなイメージをもってます。そしてそのRailsに大きな影響を受けて開発されたPHP版のオブジェクト指向フレームワークがCakePHPであるということも分かりました。

当初はRailsを身につけようと思っていたものの、PHPがある程度分かるためにCakePHPの方が素早く学べるかなー、という気もするし、CakePHPはルート権限のないサーバーでもファイルをFTPでアップロードするだけで使える、というのがなんだか良さそうです。

その一方で、PHPはすごくネットでたたかれるし、多くの人がたたくのはそれなりに理由があるはずで、PHPだけやってるとPHPのネガティブな側面がわかりにくい。だからできれば一度ほかの言語を本腰を入れて勉強してPHPを客観視してみたいとも思うのです。

これから先どういう風に飯食っていくか

コーダーとして生きていくのか、プログラマーになるのか、あるいはディレクターを目指すのかで、何をすべきか決まっていく気がします。HTMLコーディングの片手間でちょこちょこサーバーサイドのプログラミングをするんだったらPHPだけで十分な気がするし、本気でプログラマーを目指すんだったらRubyとかPerlにも手を伸ばした方がよさそう。ディレクターを目指すんだったらプログラミングはほどほどに、ディレクションを勉強すべきでしょうね。

病気とかいろいろあったとはいえ、20代半ばの人間としての方向性が固まる時期を無為に過ごしていたことが悔やまれます。RailsかCakeか、悩ましいなー。

| @雑談

DEE SPORT

僕は車のメンテとかなんもできないくせに20年前のドイツ車に乗ってるので、オイル交換から車検まで、整備のすべてを熊本県合志市にあるDEE SPORTという欧州車専門の整備工場にお願いしてました。しかし、残念ながら今日で閉店されるそう。今後はくぬぎの森という薪屋さんになるそうです。最後にオイル交換に行こうかなーと昨日電話したのですけど、予約でいっぱいだそうでかないませんでした。

僕は長い間無職でしたし、大した整備はお願いしてなかったんですが、もうちょい売り上げに貢献できてたら良かったなーと思いました。ほんと残念です。

| @Mac/iPhone

1090_workspace.png

いまこんな感じの環境で働いてます。MacBook Proは仕事で使おうと思って買ったんだけど、結局貧乏性なのでMacBook (LATE 2006) を職場に持ち込んで使ってます。モニターはEIZOのColorEdge CG19、これにHHK Lite 2とLogicool MX-Rという組み合わせです。これがなかなか快適。

MacBookは結構液晶がダメダメになっていて、昼間とかほとんど真っ暗にしか見えないんですけど、Mini DVIでCG19に出力してるのでまじ快適です。実はCG19のこと、最初は縦横比が1:1に近くて、Windowsパソコンに付属でついてくるくそださいダメダメモニターだと思ってたんですけど、調べてみたらEIZOの製品で新品価格が20万円近くする上物でした。1280×1024の解像度はMac OS XのDockを常時表示させるのに好都合で、いまでは結構気に入ってます。縦長ディスプレイはTumblrのDashboardを眺めるのにも向いてます。さらにこのモニター、二つ入力を受け付けるのでMacBookのほかに事務作業専用のWindows機もつないであります。モニターの切り替えボタンを押すだけでMacとWindowsを切り替えられてなかなか便利です。

HHKはLiteだけどみんなが良い良いと言うだけあってやっぱ良いですね。あの打鍵感のおかげでつまらん入力作業も楽しくなります。マウスはLogicool MX-R。HHK LiteがUSB Hubの役割も果たすので無線レシーバーはHHK Liteにつけてあります。

Mini DVIケーブルとHHK Lite 2の合計7000円くらいの出費で、くたびれたMacBookが復活したような感じがしてうれしいです。やっぱ黒MacBookは名機だわ。

| @映画/ドラマ/テレビ

サンシャイン・クリーニング

評価 : ★★★★☆

主人公のローズは30代のシングルマザーで、高校時代はチアリーダーをやっててモテモテだったんだけど、いまはハウスクリーニングのバイトで生計を立ててる。ある日仕事で向かった豪邸の住人が何と高校時代の同級生で、ローズは惨めな思いをする。一方20代の妹ノラは典型的なフリーターで、ドジをやらかしてバイトをクビになる。息子が問題児で公立学校に通わせ続けることができなくなったローズは、私立学校に転校させようとするんだけどハウスクリーニングのバイトでは稼ぎが不十分。そこで高校時代の恋人で、いまも不倫関係を続ける刑事のマックに事件現場の清掃の仕事を紹介してもらい、妹とともに起業する。

大分県日田市のリベルテで鑑賞。熊本で見逃してたのでわざわざ険しい山道を越えて隣県まで見に行ったんですけど、その甲斐ありました。

なんかグラン・トリノやレスラーに通じるものを感じた。アメリカ頑張れ、みたいなメッセージを。ウォール街とかを闊歩してるんじゃない、普通のアメリカ人の話なんだけど、そこが良いんだよなー。単純なハッピーエンドじゃないとこも良い。ローズが一生懸命頑張る姿がけなげ。

ローズは同窓会の場で誇らしげに自分の職業を語るんだけど、セレブの嫁になってる高校の同級生たちには仕事を理解してもらえない。このシーンのローズがとても堂々としてて良い。すげー良い映画だと思った。

ローズを演じたエイミー・アダムスとノラを演じたエミリー・ブラントが二人ともキュートなのも良かった。タイトなピンクのポロシャツとジーンズで働くローズに萌えました。30歳過ぎてからも美人な人っていうか、レスラーのマリサ・トメイみたいに、年取ってますますかわいくなる人って確かに存在するなー、と思った次第。僕も結婚するんだったらこういう女の人と結婚したいです。

| @技術/プログラミング

一個前のやつ、セルフ添削してみました。

if (imgWidth > imgHeight) のところで True でも False でも同じ処理になってて無意味だったし、i を初期化してなかったし全然ダメダメですね。userAgent っていう変数名も navigator のプロパティと同じだしダメ。以下のようにしてみました。

    // fit image for iPhone
    function imgReduction() {
        var i, uA, imgHeight, imgWidth, imgRatio;
        var newWidth = 440;
        uA = navigator.userAgent;
        if (uA.match(/iPhone/)) {
            for (i = 0; i < document.images.length; i++) {
                imgHeight = document.images[i].height;
                imgWidth = document.images[i].width;
                imgRatio = imgHeight / imgWidth;
                if (imgWidth > newWidth) {
                    document.images[i].width = newWidth;
                    document.images[i].height = newWidth * imgRatio;
                }
            }
        }
    }

これを <body onload="imgReduction();"> でロードします。

さてどうでしょう?

| @技術/プログラミング

Google Readerみたく、iPhoneでアクセスしたときにJavaScriptで画像を縮小表示させるようにしてみた。当然ながら自サーバーにあるものだけでなく、Flickrとかの画像も縮小表示する。そしてこれまた当然ながら画像をリサイズするわけじゃなくてあくまで小さく表示させるだけなので、ページの読み込み速度とかは短くなったりしない。

    // fit image for iPhone
    function iPhone() {
        var userAgent, imgHeight, imgWidth, imgRatio;
        var newWidth = 440;
        userAgent = navigator.userAgent;
        if (userAgent.match(/iPhone/)) {
            for (i = 0; i < document.images.length; i++) {
                imgHeight = document.images[i].height;
                imgWidth = document.images[i].width;
                imgRatio = imgHeight / imgWidth;
                if (imgWidth > newWidth) {
                    if (imgWidth > imgHeight) {
                        document.images[i].width = newWidth;
                        document.images[i].height = newWidth * imgRatio;
                    } else {
                        document.images[i].width = newWidth;
                        document.images[i].height = newWidth * imgRatio;
                    }
                }
            }
        }
    }

関数名がアホっぽいのはご愛敬。

職場のサーバーは自分でセッティングしないと何もモジュール入ってないのでクライアントサイドで遊べるJavaScriptを気合い入れて勉強しようかな。

| @写真