2009-04-01
■[dev][web][misc] IE の次期バージョンのレンダリングエンジンについて
2009年03月32日に MS (MycloneSoft) は IE (InnermetExoplorer) の次期バージョンのレンダリングエンジンに関して声明を発表しました。
発表によると次期バージョンである InnermetExoplorer 360 には Trident ではなく Gecko を用いるとのこと。
また、JavaScript の実行エンジンも TraceMonkey になる可能性が高いそうだ。
この変更によって、以下のようなバグが発生する可能性がある。
- CSS のセレクタの前に "* html" を入れると認識されなくなる
- document.all が Syntax Error となる
- http://www.microsoft.com/ のレイアウトが崩れる
その他にも、某ブラウザに於けるレイアウトやスクリプト関係の 仕様 が無視されたり、動作しなくなるといった現象が起こる可能性があることを示唆しており、注意を喚起している。
なお、この情報は 2009年04月02日以降に予告無く変更・撤回される可能性がある。
最後に、id:moshimonry にはコレが限界です。
センス無くてゴメンナサイ。
2009-03-06
■[dev][javascript][css] GMail のボタンに関する考察
お久しぶりです。id:moshimonry です。
3 ヶ月ぶりくらいの日記ですが、ちゃんと生きてました。会社をクビになったわけでもありません。
ファンの方は心配されたかも知れませんが、id:moshimonry は今日も元気に会社に泊まってますw
さて、本題
最近、障害などもあって、モテモテな GMail が結構素敵なことになっています。
まだ Google Apps の方がテーマ対応してはいないものの、細かい所でデザインが洗練されています。
特に今回着目したのが「ボタン」です。
と言っても「立てば芍薬、座れば牡丹、歩く姿は百合の花」のボタンではありません。
………ごめんなさい。
「検索」とか「移動」とかのボタンです。
かなり、OS 標準のボタンっぽい感じになっており、視覚的に「あ、これはボタンだな」って分かりやすいように感じます。
しかも、背景がグラデーションしてるので、盛り上がった感じの表示です。
「画像でやってるのかなぁ?」と思ったら、流石は Google 先生。なんと div タグと CSS (とちょっとの JavaScript) で構築されています。(たぶん)
勝手に色々解読してみたので、以下に記したいと思います。
2008-12-03
■[php][dev] 単数形⇔複数形の変換メソッドを作ってみた
長い 前置き
相変わらず合宿報告をしないまま別のエントリです。
弊社のデータベースに於けるテーブル名の命名規約として、「基本的に複数形で定義する」というルールが存在します。
まぁ、私が勝手に考えて勝手に始めたことなので仲間のみんなには半ば強引に納得して貰ってる感がありますが、気にしたら負けだと思っています。
んで、システム開発を行うに当たって、いわゆるフレームワークと呼ばれるモノを作って *1 おり、その中での根幹機能に完全自作の O/R マッパーがあります。
O/R マッパーってのは、ザックリと説明するなら「Object と Relational-database の Mapping を行うモノ」っていう代物です。
データベースの各テーブル・各行をオブジェクトと見なして、オブジェクト指向な言語でのプログラムに於いて SQL を意識せずにデータベース操作を行えるようにするわけですね。*2
んで、その O/R マッパーはテーブル単位でクラスを作ってるんですが、そのクラス名は「テーブル名を単数化してアンダースコアで分割して各単語の頭文字を大文字にする *3」という命名規約を遵守する形で定義されています。
ってことは、単数形⇔複数形の変換が必要になるわけです。
………。長い前置きですね。
ってことで本題。
2008-11-26
■[php][dev] < PHP 5.3.0 なシステム上で static なメソッド・メンバを参照する
前置き
合宿の報告を 1 ヶ月近くサボっているにも関わらず敢えて関係無いネタを投下してみる。
PHP 5.3.0 ではかなり色々な機能が追加されることは有名ですね。
無名関数とかクロージャとか…。 (うろ覚えw)
んで、その中でちょっとしたことなんだけど、個人的に結構大きい変更があります。
それは、static なメソッド・メンバを動的にコール出来るようになるってことです!
寧ろ、今まで出来なかったのが不思議でならない今日この頃ですが、まぁそれは置いておいて。
サンプルコードはこんな感じ。
<?php class Monry_Sample { public static $hoge = "fuga"; public static function getHoge() { return self::$hoge . "!!\n"; } } $class_name = "Monry_Sample"; echo $class_name::$hoge; // fuga echo $class_name::getHoge(); // fuga!!\n // 未検証・未調査だけど、以下のも行けるのかな? $variable_name = "hoge"; $method_name = "getHoge"; echo $class_name::$$variable_name; echo $class_name::$method_name();
このコードは PHP 5.2.x までは "Paamayim Nekudotayim" がどーとか*1 って怒られます。
じゃあ、PHP 5.2.x で動かすにはどうすれば良いのかを考えてみました。
*1:要するにダブルコロンの使い方がオカシイってこと

