2011年9月17日土曜日

Simple@高円寺、Qunitなど

いつものSimple勉強会。今日は高円寺にて。
まったりとスタート。

◆QUnitでユニットテスト

Cena-DTAのJavaScriptのユニットテストをするためにQUnitを使ってみた。
http://docs.jquery.com/Qunit

テストコードを作るのはとても簡単。

非同期(asynchronous)の場合のテストもできる。
http://net.tutsplus.com/tutorials/javascript-ajax/how-to-test-your-javascript-code-with-qunit/

「QUnit asynchronous」でググって最初のページだけど。
疑似コードは:

test( "asynchronous test sample", function() {
  stop(); // テストを一旦止める
  async( callback_func );
    var callback_func = function() {
      start(); // テスト再開
      ok( true );
    }
{);

・時間の読めない関数(async)を呼ぶ前に、一旦テストをstop、
・コールバック関数で、実際に実行される箇所で、テストstart、
・それからテスト条件を書く、
という感じ。

面倒な点といえば・・・
テストしたいのがDOMに正しく書かれたかどうかのため、テストの設定が大変だった。また書かれた内容をjQueryで読み込んでとかも面倒。

これはQUnitが原因ではなくて、おしなべてJavaScript全般にいえることでしょう。

◆もっとテストを

結構、テスト書くのは大変です。
どの機能を、どうやってテストしたらいいのか、考えるだけでも時間がかかってます。先にテストを考えてから作るといいんですかね?

それって、ボトムアップみたいな開発ならできそうなのですが、トップダウンで作ってるとき(つまり試行錯誤しながらクラス設計する場合)後回しにしてしまいそう。いや、後回しにして、後でテスト足りなくて困るという・・・

2011年9月13日火曜日

PHPカンファレンスでCena-DTA発表

2011年9月10日のPHPカンファレンスでCena-DTAの発表してきました。
緊張したなぁ~

UStream
http://www.ustream.tv/recorded/17175804

発表資料
http://www.slideshare.net/asao_jp/cenadta-php-conference-2011-slides

技評さんの「PHPカンファレンス2011 スペシャルレポート」
http://gihyo.jp/news/report/01/phpcon2011/0001?page=2

技術評論社さんには
「まだ過渡期の技術ですが今後どんどん
 開発が進んでいく注目の技術かもしれません。」
と書いてもらえました。

うん?
「今後どんどん開発が進んでいく~かも」とは、どういう意味でしょう?
もっと頑張れ、ということかも知れません。

確かに、発表内容は技術の紹介が半分近くを占めてます。
発表タイトルにある「アプリ開発」には、ちょっとしか触れてません。
聞いてくれた人には、思ってたのと違う内容だったかも知れません。

そういう意味で、まだまだ過渡期。
次こそは、「ぜひ使ってください」という発表をしたいです。

使ってもらえるためには、何が必要でしょう?
コードとプロトコルをきれいにする?
セキュリティを極める?

自分としては、摘要可能なRDBの範囲を見極めたいです。
まだまだ単純なケースでしかCena-DTAが有効であることを示せてません。
もっと複雑な構造だったら?
もっと大量のデータだったら?

それと、他の技術もあるけど、
どういう場合にCena-DTAを使うべきなの?

こういった疑問に答えられるようになりたいです。