Mar 30, 2006

P_BLOG関連:サイト紹介

P_BLOGベースのサイトで私がデザインやコンセプトや目的やカスタマイズ的に「おっ」と思ったサイトを綴って行くこの不定期コーナーなんですが、久々にご紹介。

English Wine Japan

パッと見のデザインがNICE。特にタイトルロゴとタイトル画像。一番目につくところにサイトの方向性を示すイメージを置くという基本に忠実かつ効果的なデザイン。好きですね〜。

Mar 27, 2006

LOGGiX開発ノート

クラスツリー試行錯誤

前回「7つのクラス群でコアを構成する」とか言っておきながら、またまた弄くってみています。現在のクラスツリー構造はこのような感じ。(↓)

ClassTree2

レイヤー的にはこのような感じ。(↓)

ClassTreeLayer

Utility.class.phpCore.class.phpへ、View.class.phpはテンプレート変換を行うメソッドで構成され、(X)HTMLのパーツを出力するメソッドはHelper.class.phpに纏められてデリゲートされる、という方向性で行くのはどうだろうか、と。

デリゲートの実装

デリゲーションの実装はシンプルにこのような感じでやってみています。

<?php

class Loggix_View_Helper {
    public function getXmlVersion()
    {
       return '<?xml version="1.0" encoding="utf-8"?>'."\\n";
    }
}

class Loggix_View {
    private $helper;
    public function __construct()
    {
        $this->helper = new Loggix_View_Helper;
    }
    private function __call($method, $args)
    {
        return call_user_func_array(
                   array($this->helper, $method), 
                   $args
               );
    }
}

$obj = new Loggix_View;
echo $obj->getXmlVersion();

?>

Loggix_Viewクラス内の$helper変数でLoggix_VIew_Helperクラスのインスタンスを保持。例ではLoggix_ViewのインスタンスからLoggix_View_Helperのメソッドが呼ばれるのを示しています。

これは色々悩んだ末、メンテナンスと拡張を考えるとViewクラスは(X)HTMLパーツを生成するクラスを別にもったほうが良いだろう、というのが実装の理由。パフォーマンスや使い勝手は追々実験して行く予定。

Mar 25, 2006

iBikeMount

Apple Brothersさん経由。ロードバイク乗りとしてこれは良いな〜。

iBikeMount

問題は私がnanoを持っていないということか。。 :-!  第四世代の今使ってる奴はバイクにはスマートじゃないし。。ということでバイク用にnano欲しいが噂の新iPodも気になる今日この頃。

でもバイク乗るときは音楽とか人工のものじゃなくて風の音だけを聞くってのも好きなんですけどね。:-)

Mar 23, 2006

LOGGiX開発ノート

クラスツリー

開発初期からここにきて大幅に変更変更を繰り返し、いったいいつ公開出来るのやらという感じのLOGGiXなんですが、またまた最近大幅にコアクラス群を統廃合して整理しました。現在のクラスツリーはこのような感じになってきました。 (矢印マークは依存関係を表し、矢印なしの線は連動関係を表しています。)

LOGGiX Class Tree

色々と試行錯誤を繰り返した結果、「7つのクラス群でコアを構成する」という方向になりつつあります。最近見えてきたコンセプトとしては

  • フレームワークを意識しつつフレームワークでない
  • PEARライブラリを意識しつつPEARライブラリでもない
  • MVCを意識しつつMVCでない

という感じです。ようはごくごくシンプルに「Webサイト構築に必要な基本環境を提供すること」を目指していきたいんですよね。通常のログを書き込んだりする機能に加えて、サードパーティのライブラリも各自の好みで手軽に取り込んだり、PEARなどのライブラリを使って作ったものをコンテンツ部分に流し込める環境、ですね。「作る人」が手軽に遊べる環境。

最近は私的に(基本は押さえつつも)昨今のステレオタイプ的な「ブログツール」からはそろそろ脱却したい、という気持ちが出て来ています。「Beyond blog」、とでもいいますか。そういう感じです。

P_BLOGも基本的にはそうだったのですが、まぁ、「BLOG」という名前を背負って世に出てしまったのでそこは世論が許さないというか(笑)、どうも人間というのは心理的に「定番」を望むようで、定番機能がないと不安になったり物足りなさを感じたりするようです。

この辺が難しいところです。多分今LOGGiXをリリースしても「後発のくせにあれもないこれもないそれもない」と叩かれるような気がします。(リリースすると作者の思惑とは違う方向に歩み始めるんだよなぁ。。(多分)) そんなことをあれこれ考えている昨今です。

Mar 22, 2006

Zend Frameworkのマニュアルから

ちょっと前にでたZend FrameworkのCoding Standard(標準コーディング規約)を読んでいていて、Naming Conventions(命名規約)の部分で食指に触れた部分を勉強がてら抜粋。

  1. a class "Zend_PDF" is not allowed while "Zend_Pdf" is acceptable.
  2. Interface classes must end with the word "Interface".
  3. Variable names may only contain alphanumeric characters. Underscores are not permitted. Numbers are permitted in variable names but are discouraged.
  4. Constants must be defined as class members by using the "const" construct. Defining constants in the global scope with "define" is permitted but discouraged.

日本語訳:

  1. クラス命名での「Zend_PDF」は不可。「Zend_Pdf」ならOK。
  2. インターフェイス名は「_Interface」で終わらなければいけない。
  3. 変数名は英数字で、アンダースコアの使用は不可。数字の使用は可だが非推奨。
  4. 定数の定義はグローバルスコープでのdefine()を使ったものは可だが非推奨。クラスメンバーとしてconstを使って定義される事が推奨。

ふむふむなるほどと言った感じです。(1)は以前からちょっと迷ってた部分なんですよね。「PDF」とか「HTML」とかいった具合にキャピタライズされたのが定番になっているやつをどうするか、とか。(2)は分かり易くなるので良いかなという程度ですが、(3)はちょっと「?」な感じ。(4)はなるほど、と思いましたが連結したやつを定数にする場合にdefine()が便利な場合もある(constだと出来ない)んでどうなんだろう。

でもこのZend Frameworkのコーディング規約はなかなか細かく書いてあって勉強になります。(ドットで連結した複数行にまたがるコード場合の書き方とかまで書いてある) PHPでのコーディング規約でスタンダードになっているPEARのやつで痒いところに手が届いていない部分を補える箇所もあるので、私的にこれまでの慣習で適当にやってた部分を改める指針としようかと。

関連:

Mar 20, 2006

忙殺の春

うーんかなり更新滞ってます。暫くこの状態が続きそう。。

で、あと15分ほどで始まるこれ。

Nスペ放送記念日特集:トップ

観たい〜んですが、これから出かける用事があるので観れない。くぅー。早く日本でもTV番組ダウンロードサービスして欲しい。予約録画とかじゃなくて、過去の「あの番組がもう一度みたい」てのが沢山あるんですよ。>テレビ局さん。

Mar 09, 2006

物欲の春

気がついたら2週間近く更新してなくて、Appleからも新製品がちょろっと出たりしてました。ここのところやる事やりたい事やらなければいけないがやってない事多過ぎで暫くは更新滞り気味になりそうです。

...というわけで、ほとぼりが冷めたと思われる例のiPod Hi-Fiを改めて再考してみる。:-)

iPod Hi Fi

最初は「えーなんでこんなのだすの」「こういうのはサードバーティにまかせようよ」というのが正直な感想でした。で、暫くして今になって見てみるとだんだん欲しくなってきましたよ。(笑) 私の場合iPodスピーカーはJBLのものを持っているのとすぐにどうしてもというわけではないですが、外で聞くには音が割れてパワー不足なのでもう少し汎用的にいろんなところで持ち出して使えるスピーカーはやっぱり欲しいな、と。

ただ、もう少しひねりが欲しかったというか、Apple製ならではのワンアンドオンリーな機能が一つ欲しかったです。バージョン2が出るならそれ狙いでいこうかな。

あと、本物かどうか分からないですが、噂のNew iPod。こういうのが出たら即、買いますよ。いやほんと。マジで。絶対。(↓)

Mac Guides: Image:1fullipodav.jpg

私の洗脳攻撃(笑)でWindows+VAIOユーザーからiBookユーザーにSwitchさせた同僚が最近「いやー買えって言うから買っちゃいましたよ。でも最高っすねこれ。」とNew VIDEO iPodを持って来たのですが、暫くMac OS Xでのそれ用のムービーの変換方法などを教えたりやってあげたりしていたら、

「やっぱり、Videoは良い!これはどうしても欲しいモノである!」

「というかお薦めした俺のが機能が劣るのは溢れ出る嫉妬心を隠せない。:-)

などと、意味不明な理由付けをしてしまうような当然の流れのような気分になってきまして、今年もまた物欲の春なのであります。New iPod出て欲しいです。