― Web Technology and Life ―

【追記あり】『Perlテスティングハンドブック』をiPhoneのKindleアプリで読んでみた

2012-11-14
Kindle日本発売の電子書籍ブームの先駆け?として先日、miyagawaさんがPlackの電子書籍を出していらっしゃいましたが、続いてtokuhiromさんもPerlのテストの電子書籍を出されたので早速読んだ感想とかをば。【2012/11/28:kindleについて追記】【2012/12/02:『Perlテスティングハンドブック Version 4 』について追記】

電子書籍ブーム!

2012/11の中旬に(もうすぐ♪)Kindleが日本で発売になるということで、目下空前のKindle対応電子書籍ブームですね!!とりあえず、ハードウェアとしてのKindle発売前にKindleのiPhoneアプリのKindle for iphoneで電子書籍を読むのってどんなもんだろう?というのを検証しつつ、せっかくPerlに訪れた新しい情報拡散の潮流を盛り上げたくて、tokuhiromさんの『Perlテスティングハンドブック』を買って読みました。

Kindle for iphoneの感想

まずは、『Perlテスティングハンドブック』じゃなくてKindle for iphoneの感想です。興味ない人は、ここは読み飛ばしてください。上述の通り、Kindleのiphoneアプリで電子書籍読むのは初めてだったんだけど、なかなか一長一短あって「ふむふむふむ」という感じでした。

いいなって思ったところ

AmozonのKindleストアで電子書籍買った後、Kindleアプリ立ち上げると、ネット環境があればすぐにアプリ内に同期されて読めるようになります。なんという連動性!!すばらしいですね♪しかも、どうやら、端末間でどこまで読んだか共有するクラウド的な感じになっているみたいなので、満員電車ではiPhoneで、ゆっくり座れたらKindleでとかできそうですねっ!

あちゃーって思ったところ

データ全部キャッシュされているわけではない?のか、ときたまページ情報取り直しに行くのか、ロードが遅いだけか、よく知りませんが、ページめくっているとたまにJSのクルクル的なやつが出てくるんですね。これは、よろしくないと思います。サクサク読みたいですね。。。次に、どこまで読んだかわかるような「しおり」のような機能はあるんですが、このページをチェックという感じのブックマーク機能はないし、まして書き込み機能とか特定の文のマーカー機能もないわけで、紙の本に書き込み入れたり、ページの端を折り曲げたりする派のぼくにとってはちょっとつらいなーと感じました。

【追記:2012/11/28】すみません、まさに、上記で指摘した機能ありしました・・・。なんか、見逃したり、辞書ダウンロードしませんか?的なポップアップにワキャーなったりで、機能勘違いしていました。『kindle for iPhone 本にメモ、ハイライトを入れる』をご覧ください。ページ折り曲げたところとか、マーカーひいたり、メモったりしたものの一覧で作れたりするので結構便利です。なかなかなれませんが・・・w

今後に期待

アプリケーション上の問題はそのうち改善していくと思うので、全然今後に期待という感じです!(でも、iPhoneの小ささは限界あるから、あくまでも隙間時間とか持ち物少ないとき用ですね)

『Perlテスティングハンドブック』の目次

なにはともあれ、Kindleストアの商品詳細に目次はほしいですよねー。miyagawaさんの『Plack Handbook』も目次ないので、Kindleストア上の問題でしょうか。何はともあれ目次をば。

  • 前置き
  • Test::Moreをもちいた基本的なテスト
  • Test::Moreを助けるライブラリたち(Test::Difflet)
  • Test::Base::Lessによるデータドリブンテスト
  • モックとスタブ(Test::Stab)
  • 日付/時刻にかんするテスト
  • LWP::UserAgentのテスト
  • fork()をともなうテスト
  • PSGIのテスト
  • TCPを利用するテストケース
  • データベースとテスト
  • CPANにアップロードするモジュールのテスト
  • UkigumoをもちいたCI
  • Travis CIをもちいた公開モジュールのCI
  • TAP-Test Anything Protocol
  • 落ち穂拾い(ふれなかったモジュール)

もう一階層したの見出しも載せてしまおうかと思ったんですが、CSSでネスト対応し忘れていたんでorzわかりづらいかなってところは、()で下の見出しも一部書いています。

『Perlテスティングハンドブック』の感想

いいなって思ったところ

目次をみてみなさんどうでしょう?なかなか基本的なところからマニアックなところまでいい按配だと私は思いました。特に、享年のPerl Advent Calendar Japan 2011 Test Trackとかぶっている内容があまりないので、ホント買って一読する価値はあると思います。

個人的には、以下とかよく知らなかったので、なかなか勉強になりました。

  • Test::Base::Lessの使い方
  • LWP::UserAgentのフックポイントのadd_handlerメソッド
  • Test::WWW::Mechanize::PSGIの各メソッド

読んだ後、CPANのドキュメント読んだり、軽く触ったりすればなおよしですねー。

もろもろと

ちょっと一般の本を考えると分量にしては高い気がしますが、まぁ専門誌というものは高いものですから、そういうもんでしょう。あと、辞書的な使い方でない限り無駄にページが多くて結局全部読まない本よりポイントがまとまっていて全部に目を通せる本の方が優れていると思います。あと、おそらく「脱字というか書きかけ?」みたいなところが2件?くらいありまして、まぁ御愛嬌(苦笑)

載せてほしい情報のあれこれ

どっかに載せてほしい情報があればgithub messageでとあったんですが、とりあえず、この記事に先に書いておきます。まず、個人的には、Wightの使い方いまいちよくわからないので、このあたりのJavaScript込のViewのテストモジュールの解説がそのうち載ってくるとうれしいなーと思いました。次に、setupとかteardownなどのこちらの『Test::Moreが抱える問題とその解決策』にのっているフィクスチャー機能というもの扱いはどうするのがいいのかなーというのが載っているうれしいなーと思いました。最後に、CPANモジュールのテストコードのファイルってたいがい番号ついているじゃないですか、あれってどういう順番でついているのかよく知らないんですけど(苦笑)、誰か教えてくださいw

最後につれづれと

とりあえず、前書いた『PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群』って記事に『Perlテスティングハンドブック』のリンク貼っておきました。(アフィリエイトにすればよかったかな?w)

とにかく、Perlで電子書籍、とてもいいですね!!次はだれが出すのかな?リアル本を出版されるyusukebeさんの『Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ』も電子書籍版でたりするのかな?nekokakさんがTengバージョンだそうかとかどこかでつぶやいていた気がするけどどうなるのかな?

あ、そういえば、もうすぐアドベントカレンダーの季節ですねー!なんか、日本語で書いた記事をがんばって英語に訳して、電子書籍で発売みたいなのもおもしろいかもしれないなーなんて思ったりしますが、自分、英語苦手orz

とりあえず、こんな風に考えていると、いろいろとても楽しみですねー!

【追記:2012/12/02】Perl Testing Handbook Version 4 を読んだ

『Perl Testing Handbook Version 3 をだした。』『Perl Testing Handbook Version 4 がでた』ということで、上述した質問への回答と、「書きかけっぽいところ」っていうのを修正/追記して頂いた内容が出たということだったんですが、なんかKindle版アップデートされないし、とりあえず、気になって眠れないって程じゃないんですが、気になって待つこと2週間って感じなんで、gumroad版を買ってしまいました(笑)電子書籍はすぐ買えちゃうから危険ですねー苦笑。そんで、その感想を、さらに追記ということです。

基本的に、ぼくから質問した内容なので、どれも「なるほどなるほど」という感じで、普通だったらブログにまとめちゃうんだけど、続きは電子書籍で的な感じで気になった人は是非手に取ってみるといいんじゃないでしょうか?

動作確認テストにおけるsetup や teardown など

とくに、詳しくは買って是非読んでみて欲しいんですが、このあたりがさすがすぎるなーと思ったので、取り立てちょっとだけ紹介します。

まず、Scope::Guardを使ったsetup/teardownの手法はさすがだなー、マネしよーと思いました。テスト環境整えるのに、DBを立ち上げた後に、DBにデータ入れたりアップデートしたり、テストのファイルを用意したり、ゴニョゴニョするケースがあるので、見やすく書く方法ってないかなーと思っていたので、とてもうれしい内容でした。

次に、Tset::Ikaというモジュールも紹介されていて、ネーミングの由来が面白いんですが、それはおいておいて「BDD」って書いてあるから「ふむふむ、TDDのtypoかな?」と思って検索したら、「振舞駆動開発; behavior driven development」と出てきたすみません。。。

たぶん、「プログラム開発手法の一種で、テスト駆動開発から派生した物である。」ということですが、たぶん、仕様別にテストコードを書くことを重視したTDDで、ひっちゃかめっちゃか、動作確認テストを書けばいいということではありませんよーという事なんじゃないかと思います。違ったら誰教えて下さい(苦笑

となると、なかなかよさげな気がしますね!RSpecもよく知らないので、サンプルを見てもピンときませんでしたが、Test::Ikaチェックしてみたいですー。

追記のまとめ

いづれも個人的に知りたいことをブログに書いたら、答えを書いていただけたのでマジで大感動ですっ!!人によってハマる内容は違うと思いますが、私は「だいたいコードPerlで書ける気になったけど、よくわかんことがまだまだある」って感じなので、そんな感じの人は確実に読んだほうがいいと思いますよー!Perlのテスト周りってわりとお作法的なことが多いので、それがまとまって学べるものは数少ないっすー!

Perl update_at : 2012-12-02T20:00:09
hirobanex.netの更新情報の取得
 RSSリーダーで購読する   
blog comments powered by Disqus