2007年12月20日木曜日

Cross Browser


報告です。

我クライアントマシンにメジャーなブラウザが揃いました。

自己満足です。
というか媚びうってwindows,mac tigerを触らしてもらう必要もなくなりました。

safari 3,safari2.0.4,firefox 2.0.0.11,ie6(vmware),ie7(vmware),opera9.22

ちなみに今日の集合写真にはie7さんは欠席です。ie7はワイプでいいかな?!笑


safari 3 ,firefox 2.0.0.11,opera 9はleopard上で普通にインストールすることができます。
ですが、
ie6,ie7はネイティブ環境必須ですのでvmware futionを購入しなければいけませんでした。ですが、mac bookの1Gメモリでは作業に支障がでてしまい。3Gのメモリを積み変えました。コーディング<=>ブラウザーチェックは結構スムーズに作業することができています。

そしてcssで問題が多発するのでできれば入れたいsafari 2.0.4がついにインストールされたので今回、記念して集合写真をとりたくなったというわけです。

safari 2.0.4はfukuoka.pmでお世話になっているmacさん(jaiku名)に教えていただきました。ありがとうございます。

  1. http://tripledoubleyou.subtlegradient.com/stuff/Safari2/からsafari 2.0.4.zipとUpdateSafari2forLeopard.shをダウンロードします。
  2. Safari 2.0.4.zipを解凍し、/Applications内に投げ入れます。
  3. ターミナル.appを実行します。
  4. ダウンロード先へ移動します。cd ダウンロード先
  5. シェルを実行します。sh UpdateSafari2forLeopard.sh
  6. これでSafari 2.0.4が実行できます。open -a Safari\ 2.0.4.app
  7. あとはDocsにつめるなりするとバージョンラベルなんかがついててわかりやすいです。
http://michelf.com/projects/multi-safari/上にあるほかのバージョンもシェルをそれなりに書き換えれば動くかもしれません。

2007年12月17日月曜日

Sledgeベース開発で学んだこと

今日はperlの話です。

自社のASPサービスであるコムログというブログエンジン開発をsledgeフレームワーク上で開発を行っていました。というのは現在、コムログは社員全員で開発するようになり、自社開発されたHiveというフレームワークとこれまた自社開発されたO/Rマッパーで開発されており、一層の機能拡大を行っているので今はSledgeあまりやっていません。

そこでCatalystを勉強していくにあたって過去を振り返ってみようと思います。

CatalystなどをみてるとSledgeは過去の産物のようなイメージになってしまいがちですが、とてもシンプルで規則ただしく初心者だった自分としてはperlでのweb開発する際のベストプラクティスを提供してくれていたと思います。

自分はまだCatalystのCも読めていない乗り遅れ者ですが、Sledge+CDBI開発の知識がいかせればなと思いますね。

さて、sledge開発といえばMVC(model,view,control)= (CDBI or Original Model,TT,Sledge)などを利用した開発になるのですが、設計者によって認識の違いはあるか、もしくは書籍などとは違うかもしれないが、これらの意味を自分の経験上から説明すると。

 ここでのmodelとは物、者、マネージャーオブジェクトやデーターベースアクセスオブジェクト、外部へのアクセスを管理するオブジェクトだったりテンプレートへ上で表現豊かにしてくれるオブジェクト、テンプレート上で汎用性を提供するオブジェクトなど、ビューやコントロール上で専門の仕事を請け負ってくれる者たちです。

コントローラーはモデルであるセッションマネージャーにコンテキスト(その状態を表す構造体またはオブジェクト)を渡しモデルを操作したり、リクエストなどのイベント時にモデルのスキームを提供する。

ビューはそのものずばり、見た目を機械的に制御したり、デザインなどの汎用性を高めてくれたりと見た目を専門に扱うフレームワークのようなものです。

ブログエンジンを作成する上で必要になったモデルは
  • 無数のコンフィグを管理するモデル(リクエストや状態によって必要なコンフィグを探し、アクセサ、抽象コンフィグ項目を提供するのでコンフィグのアクセスに対するレスポンスを保証します)
  • 書き出しパスを管理(望まれる書き出しページリストを作成し、そのキャッシュ化・実行の管理を提供する)
  • 書き出しを管理(ディレクトリー自動作成など書き出しをスムーズに実行できることを保証します)
  • セキュリティーを管理(CSRF防止などセキュリティーを保証します)
  • 絵文字変換を管理(主にViewから呼び出され、どのキャリアからの絵文字データをも統一させ、それぞれにマッチした出力を保証します)
  • 自動実行に対するリソースを管理(非同期でもいい処理はデーモンによるリソースの整列化をすることにより自動処理上でのサーバーの安定性を保証する)
  • メール送信を管理(メール作成ユーティリティーやメール情報の未登録への保証)
  • などなど

こんな感じですね。
細かいのはまだまだありますが、初期はこんなモデル形成になっていました。今のコムログはまた違うけど。
クラス図なんてのがあればいいのですが、クラスの変更がかなりおこなわれているので昔作成したクラス図とはまたぜんぜん違うものになっていました(泣;;。

なんかほぼ設計の話になってしまいましたね。そろそろ自宅へ帰宅したいので今日はこの辺にしておきます。

2007年12月13日木曜日

mac book:leopardでwindows keybord

仕事ではいつもデュアルディスプレーでmac book(メイン)とdell display(サブ)で利用しているのですが、ディスプレイがでかい方で作業したくなり、メインとサブを入れ替えました。

しかし、キーボードをmac bookの方でやるとクリステル姿勢で作業しなくてはいけなくなるので首が寝違えたみたいになってしまいます。
なので以前windows時代に使用していたカチカチキーボード(mechanical keyboard)を使うことにしました。
しかし、問題がoption,ctrl,alt(option)などの入れるが違います。自分はemacsを使っているのでctrlはshiftの上にあってほしい。ここはどうしても変えたかった。

でもさすが、leopard


「システム環境設定」→「キーボードとマウス」→「修飾キー」で変更できる。

しかもだ入力するキーボードによって設定を自動で切り替えてくださるみたい。

自分はmac擁護しているわけではないが、ここまでの気配りができているのはすばらしい。

まいったまいった。