プログラミング

SOAで作る

直近の案件をSOA(サービス指向設計)で作ることにした。 今後の発展も考慮したうえで。 私の理解ではSOA=1つのWebシステムをサービスごとに分離し、それぞれをAPI化し、 シンクライアント(Serviceのみ利用し、HTMLを吐く)でWebサービスを実装するという形。 …

Perl!Perl!Perl!

ここ数ヶ月Perlの案件をガシガシやってます。 実はPerlは好きじゃなかった(むしろ嫌いだった)んだけど、 住めば都? Perlスバラシィ! Perlの良さがひしひしと分かってきました。 Perlなら何でも出来そうな気がする!とか最近思い始めたり。 Linuxならデフォ…

Javascriptに学ぶこと。

君のプログラミング言語で、これ、できる 結論としては、MapReduceの話なのだけれども、はじめに出てくるJavascriptのコードはJavascriptが非常に使い勝手が良い。ということを教えてくれる。(実際そうだ。) 私は、Javascriptにいい印象が無かった。Ajaxが…

DBの管理について

最近の開発は、DBがコロコロ変わることが多い。 こと、XPだのだとそれが当たり前なので、管理することが必須だ。 管理といっても、私が携わってきたプロジェクトでは、定義書(エクセル)からDDLを生成することくらいしかしていなかった。 つまるところ、新し…

GenerationGapパターン

GenerationGapパターンはご存知だろうか。 GoFのパターンではないので、そんなに有名ではないと思うのだが。 このパターンはコードの自動生成を利用する場合に有効な手法。 自動生成したコードには一切手を入れず、その自動生成したクラスを継承したクラスを…

実践レガシーコード改善

今やってるプロジェクトでレガシーコード改善ガイドを大いに参考にさせてもらって、レガシーコードじゃないけども、改善してみた。 今回の言語はPerl。 cronに登録するタイプのもので、ようはバッチだ。 DBの情報をぱちってきて、ごにょっとやって戻すなんて…

ContextFreeを触ってみた。

ContextFreeとは、簡単な記述で複雑な絵(幾何学模様とか)が書けちゃうソフト。 サンプルを実行するだけでも楽しい。ちょっと触ってればすぐなれてくる。 画才が無い私でも、すぐなんとなく使えるようになった。 パラメータの設定がちょっと違うと全然求めて…

CleanCode大体読んだ

読みましたよー Implementation Patterns以来にコードについて熟考した。 基本的に言ってることは、「コードコンプリート」、「リファクタリング」などとほぼ一緒。 「開発の奥義」の続編といってるだけあって、どの章でも原則を出してきて、それに基づいてC…

CakePHP開発のEclipseプラグイン

Doltengをちょっと見てたら、プラグイン熱が出てきたようで、 CakePHPの開発に役立つプラグインでも作ってみっかー。 ということになった。 とりあえず、controller←→viewの行き来が面倒なので、 Dolteng的に行き来できるようにすることにした。 結構手間取…

CakePHPで楽観ロックを実現するビヘイビア

CakePHP1.2.xにはビヘイビアというやつがあり、 モデルにmixin的な事ができる。(というかそのもの) で、楽観ロックをするビヘイビアを作ってみた。var $actAs = array("versioned"); って書けば、modifiedカラムが楽観ロックのバージョンとなる。(意味合って…

デッドロックってバグだよね?

デッドロック-wikipedia CakePHPフォーラムを見てたら、排他制御についてのスレが立ってた。 phpで排他制御をやる場合は、自前でクリティカルセクションを作らんといかん。 google先生で調べてみたら deadlock は、バグではありません。1つのデータベースを…

範囲郵便番号検索ウェブサービス

というのを作ってみた。名前がイマイチだけど。 なにかというと、地図(GoogleMap)の表示されている範囲に存在する郵便番号を一覧で返すというもの。 100%正確なデータを返すとは限らない*1のがアレだけど、 80%くらいはとれるんじゃないかな。サンプル http:…

そういえば・・・こんなことあったなぁという話

ふらっと思い出したので、書いてみる。 前に、ちょっとだけコンサルしてた会社で、新しいプロジェクトが立ち上がるということで、 プロジェクト概要を聞き、フレームワークの選定(もしくは開発)+サンプル作成、概要の解説等々をやることになった。 クラサバ…

続・強い型付け vs 強いテスト

強いテスト論はテストの品質と保守のことが考えられていない感じを受ける。 偽偽夜食日記 強い型付け vs 強いテスト んーそうは思っちゃいないんですが・・・ 自動テストなどの技術的な施策で「劇的に」品質が上がると思っちゃいけない気がします。 結局作る…

GooleMap ストリートビューレコーダ

GoogleMapのストリートビューを今になって使ってみた。 すげぇよこれ。 カッとなって作ってしまった。 後悔はしてない。 ストリートビューレコーダ 追記:この機能をベースに道案内を作って送れる道案内.comを作成しました。 上のリンク先は残しておきますが…

ビューティフルコード

こないだ買ってきて、興味のあるところだけつまみ読み。 この本を見たときに、「こういう内容が書かれてるのかな?」と私が思った内容に一番近かったのは、まつもとゆきひろさんの「エッセイのごときプログラミング」と32章 働くコードだった。 エッセイの…

続・ちいたんでアソシエーション

前回のエントリで紹介した、 ちいたんでアソシエーションを実現するモデルクラス。 いろいろ使ってみて、バグがあったり、テストが無かったりで、もうダメダメだったので、 SimpleTestを使ってテストを書きつつ、バグfixをしてみた。 ↑超便利。 テストコード…

ちいたんでアソシエーション

※クラスを更新しました。 続・ちいたんでアソシエーション からダウンロードできますので、そちらをご利用ください。 開発ではもっぱらCakePHPを使ってますが、 小さめの開発では、CakePHPを導入するのはちょっと大げさすぎたり、 mod_rewriteを使わずに、〜…

再考ハンガリアン記法

英語の報告しかしないといって、このエントリは無いなと思いつつも、書き込んでみる。 約1週間で分かったのだが、同じmp3を聞いて感想を毎回書くのは作家でない限り無理じゃないかと思った。 ということで、英語の話は、要所要所でしていこうと思う。 今はま…