日記おはようございます、小堤です。起きたのはかなり明け方だったのですが、一仕事終えてBLOG書きです。先生が走り回るくらい忙しいって聞いたことがありますが、まぁとりあえずみんな忙しいと。例外なく僕も忙しいのですが、最近さらにやることが増え・・・。経営・PHP・FLASH・FLEX・・・・まぁデータベースなどのサーバ設定とか細かいこと言い出すときりがない・・。ここ数年間は大幅に方向が変わっていないので、まだ楽かも。数年前までC++とかのプログラムがメインだったことを考えると、同じようなことを深めていく時間が積み重ねられていることは幸せです。FLEXの方のxFramework連携の大まかな技術調査も終わり、ここから細かい設計にははいっていくところです。Builderで生成したものをサーバに乗せて確認すると、動いたり動かなかったりするんですよねぇ・・・困ってます。IEだと全然問題ないんだけども。FireFox2.0のときは、アドレスバー直接たたくと表示されるけど、リロードだと出ないとかの現象になってましたし。これって僕のサーバが悪いの?ローカルだと問題ないんだよねぇ。FireFoxが悪いのか、FlashPlayerが悪いのか、まぁどっちでもいいです・・・僕に原因があるのであればさっさとなおしたい・・・ただボタン配置しただけのものすら出てこなかったりするからねぇ。そんなこんなで、弊社はもう既に仕事納めが27日だったので、本来休みなのですが、やっぱりこうなるのね・・・ってかんじで働いてます。何も考えずに温泉でも行きたいですわ。)xFramework2.1.1aリリースと、今後。PHPども、小堤です。先日さらっとxFramework2.1.1aをリリースしました。Preview3ではなくαステータスで出しました。要するに、いまの実装が2.1.1に実装される機能だよってことです。いまテスト開始しています。弊社でのテストが完了したら、βステータスにあげてリリースします。うちの会社でも2.1.1がしばらくメインバージョンになりそう。サイトのFutureに記述されているようにFLEX対応がそろそろ始まります。何がどうなるのか・・とかはまだ秘密ですが(笑さて、正月は無いかな・・・。プログラミング小堤です、相変わらずせっぱ詰まってます。プログラミングとバグについてです。最近WEBのプログラムをメインで組んでいて、「バグ」というものについて変わってきたなぁと思うので書いてみたいかと。昔プログラムを組んでいたときに、バグというと、「仕様書から外れたもの」だったと思います。「予期しない動作をする」「想定している動作と違う」からバグなのです。WEBプログラミングについてはどうでしょうか。確かに上記に当てはまるものがバグなのですが、「外れている」を示しているはずの仕様自体が無いような気がします。最近では卓上デバッグなど行いませんが、紙面上(いまだと画面上?)でしっかりとした動作規定を作るということが意外と軽視されている気がします。それがWEBなんだよねぇっていわれるとしかたないのかなぁとも思うのですが、なんとかならないかなぁと毎日考えています。フレームワークを作成していますが、フレームワーク使ったからといって、この仕様がしっかりしないと、何を使おうがバグが生まれるのは必然です。この「仕様策定」という作業を本当にお客さんと握れて、そこに対してのプロセスが明確なWEBプログラミングをしたいし、そういう仕事のスタイルでWEBアプリケーション開発業務を行いたいと考えています。これは、自分たちが幸せというだけではなく、お客さんにとってのメリットっというよりも、至極あたりまえのことなはずです。開発者の立場として、現状こういう問題があることは事実だと思いますが、別なアプローチで、こういう問題を回避できるようなやり方やツールを提案できたらいいなぁと思っているわけです。なんか、まじめにかいちゃいましたが・・・おなかすいた・・。)クリスマスなのに・・・。日記ええっと、めりーくりすまつ、小堤です。クリスマスなので、なんかしたいところとおもったのですが、嫁とビックカメラいってきました・・・。あ!その前にめがね買いました!買ってもらいました!結構楽しみにしてます(笑)で、先日こわれたといっていた自宅のPC。マザーが壊れていたので、お金もったいないからマザーだけかってこようとおもってビックカメラへ。俺の使っているPentium4のマザーがない!!(もしかしたらあったのかもしれないけども、ソケット番号控えなかったために、たぶんないという結論に)しょうがないので、マザーとCPU買いました。クリスマスなのに・・・自分で自分にプレゼント買ってしまった・・・。周波数は、最近さがったのですね。ペンティアム時代が終わり、次のINTEL時代へ。周波数が多ければ早いという時代ではなくなってきたようです。いまさっきやっとOSも入れ終わり、RadeonX800のドライバいれて3DMarkで耐久テスト中。SCSIRAID起動で、メモリ2GのこのPC、ちゃんとすればすげーはやい。・・エロビと24とFFPC何ですがね・・。ことでごめんなさい、プログラムくんでません!くみます・・明日から・・。PHP久々にプログラマ的な内容を。いってもメモみたいなもんだけども。xFrameworkを開発しているときに気にしながらやっていることなのですが、xFramework内でいくつか、すべてのメソッドが静的(Static)なクラスが存在します。これは共通の機能を提供するクラスなのですが、なぜ静的なのか。静的にしてしまうと、ソースコードが読み込まれた時点でインスタンス(クラスインスタンスは存在しませんが、メソッド自体はメモリロードされているという意味で)が存在するので、それを利用してクラスを生成しなくても利用ができるわけです。これって、メモリくうんじゃない?って思う人もいるかもしれません。そこで、singletonパターンというデザインパターンと比較してみます。これは、インスタンスが1つであることを保証するためのパターンです。別に1つじゃなくてもいいんだけどもね。共通処理で、いくつもクラスのインスタンスが生成されてはこまる、無駄などは、singletonパターンを使おうが、Staticだろうが同じく解決してくれます。なんで静的な方を選んでいるのか。答えは簡単で、singletonパターンの場合、クラスインスタンスを消したり、自動変数の用に自動的に破棄されたりすることを期待する場合は、singletonパターンを選択したでしょう。ブートストラップ内で処理を行っている中で、その機能を利用する度に、インスタンスを取得するステップが発生してしまいます。これは高速動作させるためのブートストラップとしては致命的なため、今回は静的な形を多様しているところがあります。それっぽいこと書いたけどあってるのか?(笑)先日購入した下記の書籍は、そんなデザインパターン自体PHPで使うのか?なんて思ってたり、むずかしそうだからいいや、って思ってる開発者にお勧めです。師走12/29/06xFramework2.1.1aリリースと、今後。12/27/06プログラミングとバグ12/26/06クリスマスなのに・・・。12/25/06STATICクラスとsingletonパターンの適用12/24/06ついにデスクトップが死んだ。12/23/06最近飲み過ぎ。パッケージインストーラーおよびパッケージビルダー12/19/06死んでます。12/19/06やることが減らない。Loadingを考える。12/13/06WindowsとLinuxでのPDOの動作の違い12/13/06休憩がてら残作業。12/13/06ふぉーらむつくってまつ。完成12/08/06xFrameworkインストーラー機能の実装完了12/08/06やっと、オブジェクトの説明が書き終わった。xFramework2.1.1Preview12/06/06xFrameworkサイト更新とLiveRecordについて。eAcceleratorを使って動かす。XEのWeb管理インターフェース許可12/04/06作業開始!12/04/06嗚呼、FLASH見てたらこんな時間に・・。FedoraCore612/02/06xFrameworkがSJISなワケ、そしてUTF-8版の話。師走xFramework2.1.1aリリースと、今後。プログラミングとバグクリスマスなのに・・・。STATICクラスとsingletonパターンの適用ついにデスクトップが死んだ。