タグ

ブックマーク / blog.xole.net (10)

  • ハタさんのブログ(復刻版) : JavaScriptでStrategyパターン。RPG風

    結構前から遊んでたんだけど、ゆけ勇者が面白いなぁ。と思って、こんな感じなのを作るとするとどうなるんだろうかと思って、とりあえずStrategyパターンを使いつつ (中略) 今回の元ネタは ref- 指向性メモ::2005-02-24::JavaScriptでデザインパターンその3 になります。かなりパクった感じです。 # もう、6年も前のネタだったのか。ずっとブックマークにあった。重宝してます。 さっそく、実装コードはこんな感じ Function.prototype.bind = function(obj){ var __method__ = this; var __args__ = Array.prototype.slice.call(arguments); __args__.shift(); // obj return function (){ // concat args var

  • ハタさんのブログ(復刻版) : PHPカンファレンス2009「Q4MとFlareを使って スケーラブルなサービスを作る!」の資料

    すいません、遅くなっていましたが、とりあえずここに置いておきます。 ref - http://www.slideshare.net/nowelium/building-highscalable-web-applications-using-q4m-and-flare Building High-Scalable Web Applications Using Q4M and Flare View more documents from nowelium. Ustreamはこの辺 ref - http://www.ustream.tv/recorded/2107541 いくつか質問があったものは、別途書きます

    se-mi
    se-mi 2009/09/18
  • ハタさんのブログ : vimのgrep(vimgrep)が素晴らしすぎて泣いた。

    PHPを5.2.x に 上げたときのメモ このブログに使用しているP_BLOGが 5.2.x に上げた際、date_formatという関数がバッティングしているらしく、エラーとなっていた(該当のフォーラム)。 そこで、一括してdate_formatという関数を置換しようと思いgrepしてみると、MySQLのdate_formatにもぶつかるらしく、一括全置換するわけにもいかず、ソースを見ながら比較しました。 そのときにvimgrepを使ったんですが、これが結構便利でオイシイ。 おもむろに↓のコマンドをvimで入力 :vimgrep /date_format/ **/*.php | cwin んで、ヒットしたファイルを操作する。 これがなかなか便利だった。というか、これを知らずにvi使ってたなんて・・・ってくらい便利だった。 via - Tanablog: Vim7 内蔵の grep

    se-mi
    se-mi 2008/08/27
    あとでつかう
  • ハタさんのブログ : これから開発する人の為のOSSのススメ

    僕は、約2年間に渡って某企業の業務アプリケーションを作っている(出向)んだけども、そこでの経験を元に少し書いてみようと思う。 自分へ(?)向けたメモ。 0.僕を知らない人が読んでも大丈夫なように、前書き 僕はPHPerとしてS2DaoをJavaからPHPに移植しS2Dao.PHP5っていうしがないものを作っています。 これはApache Licenseで公開されています。 また、僕はOSSプログラマとしては何もすごいことやってないぺーぺーです。 今回、僕が今いる現場で作らさせてもらっているのは、Javaで書かれたWebフレームワーク。 フレームワークと言っても、それ自身を一から作っているのではんく、既存のフレームワーク(Strutsとかそういうの)を拡張した、業務フレームワークといったもの(さすがにこっちは一から作りましたが)。 Webフレームワークが持つ豊富な機能を制限したり、

    se-mi
    se-mi 2008/02/25
    OSSプログラマになれ/OSSプログラマになれ/OSSプログラマになれ...
  • ハタさんのブログ : PHP開発者のためのデザインパターン。の閑話

    はてなPHP keywordを付けているところを眺めていたら、僕と同じようにデザインパターンを実践している人がいた。参考にしよう ref - ルーで一気にクマー デザパタについては以前「デザパタには載らないデザパタ」にも書いたことあったけど、GoFとかJ2EEとかPofEAA(これはちょっと大きいか)で色んなパターンが転がってるけど、実際にやっていることは、「同じような実装を2度も書きたくない」から、書きやすく整理する手法をパターンっていってるんだなーと思う。 んで、ここはid:shimookaが上手いことまとめてくれていて、突き詰めれば勝手にデザパタされるんじゃないかと。 (中略) 僕なんかは、もともとjavaで一定のプログラミング設計(?)とかインタフェースについて見てきた(Seasar含めて)からinterfaceみたいなものが大好きなんだけど、んなもんいらん!実装クラスだけで

    se-mi
    se-mi 2007/11/16
    煩悩の数だけパターンがある
  • ハタさんのブログ : PHP開発者のためのデザインパターン。Controller

    はてブコメントにて、「シリーズ化して欲しい」とあったので、もう少し書いてみます。 今回紹介するパターンは、Controllerパターン。 たぶん、デザパタ(GoFとかのヤツ)ではControllerパターンなんてものは存在しないのですが、よく見掛けるパターンなので紹介します。 よくあるControllerパターンは、FrontControllerパターンを使ったデータ遷移パターンですが、今回僕が紹介するパターンはCommandController(これもGoFとかのパターンにたぶん無いので勝手に命名)です。 何か実行したいCommandについて、Controllerが適切に実装を振り分けその後のActionを実行するためのパターンです。 よくある実装 例えば、以下にCommandインタフェースを実装した複数のクラスがあり、そのCommandによって、実行するActionを振り分けるCo

    se-mi
    se-mi 2007/11/11
    わーい。ありがとうございます!
  • ハタさんのブログ : PHP開発者のためのデザインパターン。Delegate

    ITT-WEB - XOOPSCubeにおけるDelegateとは何か?というエントリが上がっているので、ちょっとだけDelegateについて触れてみたいです。 Delegateとは、そのままの意味で「委譲」を示します。(集約ではないです) とある処理をそれまで行っていたクラスから、ちがうクラスに対して処理を行ってもらうようにします。 Delegateと書くとちょっと堅苦しいですが、proxyやTemplate Methodに近い存在です。 Delegateは慣れてくると色々なパターンに適用しやすい便利なパターンなので、是非身に着けたいものです。 以下にファイルのデータを書き込む処理の例を示します。 class DataWriter { public function write(Data $data){ $file = new File($data->getPath()); if(

    se-mi
    se-mi 2007/11/01
    シリーズ化して欲しい
  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き

    未だに半年前のエントリにブクマされるみたいなので、もう少しjavascriptについて書いてみる。 今回は大規模化開発におけるJavascriptの注意点とかそういうの。当てはまらない環境の方もいます。(しかも基的な事だらけで大したことは書いてないです) ほぼリッチクライアントを主目的としたjavascripterとコードを対象とします。 どちらかというと、ライブラリを提供する側の視点から 1.ログを出力せよ あなたが書いたコードは遅い、と必ず言われます。なので言われる前から、自分の書いたコードの処理時間をログするようにしましょう。 次のような処理時間を計測するロガーを作ります。 var TraceLog = function (){ this.startTime = -1; var outer = document.getElementById('_outer'); if(oute

    se-mi
    se-mi 2007/09/27
    logger,外部化,JSON化,例外,高速化,コールバック
  • ハタさんのブログ(復刻版) : 私は如何にしてJavascriptのprototypeを身につけたか。

    javascriptのprototypeはなかなか理解してもらえないですねぇ。 ここ1年間でマジマジと実感しました。 特に、大規模開発をしているとこだと、いろんな知識が入り乱れていて(ホームページ時代からAjaxを読んだ人とか)が、javascriptが単なる関数型列挙な言語(語弊があるけど)という見方が大多数を占めているように見えます。 そんな中で "String.prototype.trim" みたいなコードを見せても、説明下手なのか中々上手く伝わらないですねぇ。 ということで(?)、僕がjavascriptのprototypeを身に着けるまでやったこと、とか。これも備忘 prototype.jsのソースコードを眺める Array.mapとかEnumerable, Hashは勉強になりますねー。 ただ、prototype継承されすぎて、ちょっと多すぎなこともあります。 var

  • http://blog.xole.net/article.php?id=341

    se-mi
    se-mi 2005/11/06
    早くもPHPTropyクローンが。
  • 1