MacBook Air 11インチ欲しい!

えーと、MacBookにつられて久しぶりにブログ書いてみました。
最近会社から支給された新PCがDELLの弁当箱の様な重量級PCだったので、
ここらで軽いノートPCがほしいかなーと。

手に入ったら外出先でiPhoneアプリ開発に励む所存でございますので、
何卒当たりますように。。

Apache jmeterまとめ

仕事で使ったので備忘録代わりにまとめ。

Apache jmeterとは?

使い方

部品の説明

  • スレッドグループ
    • サンプラやコントローラをテスト計画に組み込む際に使用する
    • スレッドグループ1つ=1処理フローのような感じ
  • サンプラ
    • リクエストを送信する部品
  • リスナ
    • テスト実行結果の取得、表示を行う
  • ロジックコントローラ
    • 処理分岐等のフロー制御を主に行う
  • タイマ
    • 時間単位の処理設定を行う

アサーション

  • サンプラ右クリックからそのサンプラに対するアサーションが追加可能
  • レスポンスコード、文字列、レスポンスタイム、MD5ハッシュ等のアサートが可能

はまったところ

  • 定数タイマ
    • リクエスト送信ごとのポーズ時間を設定する。
      • 10秒ごとに1フロー実行しようとして10秒にしてセットすると、フロー内のリクエスト数×設定時間分遅延する
      • ○秒ごとに実行を設定する場合は定数スループットタイマを使用する。

Flex3

ぼちぼちRIAの一つでも覚えようかと思って最近色々見ているわけだけど、どうもこれといったドキュメントが見つからない。

仕事で使っていた後輩に聞いたところ、その時はみんなAdobe公式見ていたらしい。
のぞいてみたら確かにサンプルは豊富に見えるけど、どうも初心者には敷居が高い感じが。。
(あるいは探し方が悪いのか・・。)

ActionScriptは知らない
・他の言語(最低1つ)はある程度使える

上記のような人がイチから勉強して、独力で何らかのサービスを作れるくらいになれる、
そんなドキュメント(Web、技術書)とかないものか、
週末は本屋かな〜。

DBFluteの自動生成で、使用しなくなったクラスを削除

DBFlute使っていてテーブル名が頻繁に変わるような場合、自動生成された古いクラスが残ってくる。
取っておいても邪魔だし間違いの元なので削除する方法をメモ。

https://www.seasar.org/svn/sandbox/dbflute/trunk/dbflute-oracle-example/dbflute_exampledb/build-exampledb.properties

torque.isDeleteOldTableClass = trueを設定すると、自動生成時に不要となったテーブルクラスを削除してくれる。

ガチャピンインタフェース論

会社で「インタフェースのことを説明するのにガチャピンを使った」という人がいたので実装してみた。

/**
 * ガチャピンインタフェース 
 */
public interface Gachapin {
    /**
     * ガチャピンチャレンジを行う
     */
    public void challenge();
}

で、ガチャピンインタフェースの実装は以下のとおり、

public class Diving implements Gachapin {
    public void challenge() {
        System.out.println("いや〜珍しいお魚がいっぱいいますね〜");
        System.out.println("お前が一番珍しいわっ!!\n");
    }
}
public class Freeclimbing implements Gachapin {
    public void challenge() {
        System.out.println("おーいムックー!\n");
    }
}
public class JetSki implements Gachapin {
    public void challenge() {
        System.out.println("180度ターン!\n");
    }
}

実行するクライアントクラスを作る。

public class GachapinClient {

    private Gachapin gachapin;

    public GachapinClient() {

    }

    public void setGachapin(Gachapin gachapin) {
        this.gachapin = gachapin;
    }

    public void gachapinChallenge() {
        gachapin.challenge();
    }
}

実行する。

public class GachapinMain {

    public static void main(String[] args) {

        GachapinClient client = new GachapinClient();

        Diving diving = new Diving();
        client.setGachapin(diving);
        client.gachapinChallenge();

        Freeclimbing climbing = new Freeclimbing();
        client.setGachapin(climbing);
        client.gachapinChallenge();

        JetSki jetski = new JetSki();
        client.setGachapin(jetski);
        client.gachapinChallenge();
    }
}

実行結果は以下のとおり、

いや〜珍しいお魚がいっぱいいますね〜
お前が一番珍しいわっ!!

おーいムックー!

180度ターン!

と、ここまで書いたらデザインパターン分かる人は気づいたと思うけど、Strategyパターンになった。
ガチャピンインタフェース自体は実装を持たず、チャレンジの内容によって中の人実装を切り替える形になる。
あ、でもガチャピンだとインタフェースというよりアブストラクトかなぁ・・。

Javaでサービス作るってやっぱりダメなのかな?

はてな界隈だと
「○○ってサービス作ったよー」
っていうのがけっこうな頻度であるけど、大体RubyだったりPHPだったりPerlPerlはあんまりないかな・・・)だったり、
要するに「軽量言語(LL)」な訳で、Javaプログラマの身としては、「Javaで作ったサービスがもう少しあってもいいんじゃない?」と思う

もちろん軽量言語と比較すると動的型付けが云々とか、そもそも「仕事としてしかプログラムしない奴はそんなサービス作らないよ」
ってのはあるかもしれない。
ただTIOBE Index | TIOBE - The Software Quality Companyとか見ると、
何だかんだ言っても使ってる言語で一番多いのはJavaだし、日本においても業務で使ってるのはJavaって人はかなりの数いるいるだろう。
少なくとも「その言語でサービスが作れるポテンシャルがある人」の絶対数では他の言語に負けていない(というかむしろ勝ってる)と思う。

もっと「Javaでこんなサービス作ったよー」ってのが出てきてもいいと思うんだけどなぁ・・。

Firefox3.01で「フルーツ 食べた 栽培」をググると落ちる

もしかしたらPCの問題かもしれないけど再現性有り。
Firefoxのバグか?
誰か再現確認お願いします。

・・・とおもったらAVG Free 8の不具合だったらしい。
リンクスキャナ機能が悪さしているらしい、切ったら正常に動いた。
対策は以下に、IEも落ちるらしい。
http://slashdot.jp/it/comments.pl?sid=406458&cid=1365486


※ちなみになんで上のキーワードで検索しようとしたかというと、食べたアボガドの種植えておくと簡単に発芽するとかいう記事を見つけて他も出来るかなとおもったからなんだけど(^_^;)