タグ

ブックマーク / sekom.hatenablog.com (7)

  • JMeterの正規表現の個人的な謎 - ソフト開発お仕事メモ🐕

    はじめに Wicketを使用したアプリに対してJMeterでテストをしようとした場合、避けて通りにくいのが、JMeterの「正規表現抽出」です。 なんとなく使っていたのですが、どうにも細部に謎があったので、調査しました。 正規表現抽出とは何なのかと言いますと、以下の画像の機能です。 環境 JMeter 2.3.4 謎1 JMeterの正規表現は何のルールに則っているのか? Javaの正規表現のリファレンスを見ながら書くと、たまに不思議な挙動になることがありまして、不思議に思っておりました。 ソースを見てやっと気づいたのですが、どうやらPerl5の正規表現互換だったようです。 以下にorg.apache.jmeter.functions.RegexFunctionのimport部分の一部を引用します。 import org.apache.oro.text.regex.MatchResult;

    JMeterの正規表現の個人的な謎 - ソフト開発お仕事メモ🐕
  • Wicketで画面項目表示の分岐と反復 - ソフト開発お仕事メモ🐕

    はじめに 先日(といってもずいぶん前ですが)に、後輩とこんな会話がありました。 私 :Wicketもっとメジャーにならないかな。 Web上に日語の情報が増えれば安心感が出るかと思って、たびたびblogのネタにしてるのだけど。 後輩:えっ。id:sekomのblogがWicketの裾野を広げる役に立つと当に思っているのですか? Wicketに対するネガティブな話題が多いと思うのですが……。 私 :……たしかに。 しかし、ポジティブかつキャッチーなネタは思いつかなかったので、代わりに「Wicket始めたばかりの時、これが疑問だったなぁ……」というトピックの一部を今回は記録します。 ちょっとは、Wicketの利用者の裾野を広げる役に立つ、はず。 対象読者 Wicketを使って、Hello Worldを画面に出せる人 環境 Wicket 1.3.4 何が疑問だったか WicketはHTMLをテ

    Wicketで画面項目表示の分岐と反復 - ソフト開発お仕事メモ🐕
    yamkazu
    yamkazu 2009/04/25
    blogがwicketの裾野を広げる役に立つと思いますよ。。。これからもたくさん書いてください
  • 第2回Wicket勉強会にでてきました - ソフト開発お仕事メモ🐕

    はじめに 真面目なレポートは書いている方がいらっしゃるので、個人的に印象に残ったことをメモしておこうかと思います。 会場を貸してくれたGREEさんについて 行く前は、「有名だし、さぞかしお洒落なビルにオフィスを構えているんだろう」なんて思っていたのですが、意外と外から見る分には普通のビルでした。むしろ普通すぎて、「目立つビルに違いない」と思っていた私は最初見落としました。 内装も今回使用した会議室の存在するフロアを見る限りでは、清潔感のある普通の会社でして、「あれ?普通だ」と戸惑いました。 ただ見える部分が普通である一方、有志が行う勉強会に会場を貸してくださる辺り「GREEさんはただ者じゃないなぁ」と。 勉強会自体について 若い方が多かったように見えましたが、いろんな人が来てました。 平日なのに私服率が高かったのが意外と言えば意外です。 これだけ人が居ると、来る人が求めていることもいろいろ

    第2回Wicket勉強会にでてきました - ソフト開発お仕事メモ🐕
  • org.apache.wicket.Sessionと実際のセッションが自動的に結びつかない場合 - ソフト開発お仕事メモ🐕

    はじめに 普通は「org.apache.wicket.Sessionと実際のセッションを結びつける」なんてことは意識しなくて良いのですが、レアケースでは考えなくてはいけません。 今回はそんなメモ。 環境 wicket 1.3.4 org.apache.wicket.Sessionと実際のセッションが自動的に結びつかないケース 下図のアプリについて、2番目のページでは、トップページでセッションに設定した値が取り出せそうですが、実は取り出せません。 理由を端的に言うと、「トップページがステートレスだと判断されるから」です。 ステートレスだと判断されると、どうして「org.apache.wicket.Sessionと実際のセッションが勝手に結びつかないのか」は後述します。 org.apache.wicket.Sessionと実際のセッションを結びつけている箇所 org.apache.wicket

    org.apache.wicket.Sessionと実際のセッションが自動的に結びつかない場合 - ソフト開発お仕事メモ🐕
  • Wicketがクラスローダを差し変える方法 - ソフト開発お仕事メモ🐕

    はじめに WicketがReloding対応のためにクラスローダを差し替える方法について、基的なところをメモします。 「基的なところ」と書いたのは細部に謎が残っているからです。 私の好奇心を満たせる程度には分かったので、まあいいや、みたいな。 環境 wicket 1.3.4 実装方法の基的なところ currentThreadのcontextClassLoaderにReloadingClassLoaderのインスタンスを突っ込んでおいて、適切な場面でそれを取り出すことになります。 currentThreadはJava標準のアレです。 currentThreadのcontextClassLoaderに突っ込むタイミング 以下の2カ所です。 フィルタ初期化時(WicketFilter.init()メソッド) リクエストがきたとき(WicketFilter.doGet()メソッド) 下記はW

    Wicketがクラスローダを差し変える方法 - ソフト開発お仕事メモ🐕
  • wicketがホットデプロイを実現する方法 - ソフト開発お仕事メモ🐕

    はじめに Wicketのホットデプロイの実装方法を調べていたら、なかなか面白かったのでメモをすることに。 クラスローダをReloadingClassLoaderに差し替えるところからすべては始まるのですが、差し替え方は今回は取り扱いません。 解析を実施した環境 Tomcat 5.5 eclipse 3.3.2 tomcatPluginV321 wicket 1.3.4 ホットデプロイの実現方法の概要 ReloadingClassLoaderと、ModificationWatcherがホットデプロイ実現に必要な主要構成要素となります。下記のクラス図もどきに構成要素の関係を示しております。 クラスローダをReloadingClassLoaderに差し替えることにより下記のことを実現しています。 監視対象クラスのピックアップ リローディング対象クラスオブジェクトのみの破棄 Modificatio

    wicketがホットデプロイを実現する方法 - ソフト開発お仕事メモ🐕
  • ReloadingClassLoaderがクラスファイル読んでくれないことがある件 - ソフト開発お仕事メモ🐕

    はじめに org.apache.wicket.protocol.http.ReloadingWicketFilterを使うと、クラスファイルの変更を監視してくれます。 そしてReloadingWicketFilterを使用した際に使われるクラスローダがorg.apache.wicket.application.ReloadingClassLoaderです。 で、ReloadingClassLoaderはクラスファイルのパスに空白があると、ファイルを監視対象にしてくれないのです。 環境 Tomcat 5.5 eclipse 3.3.2 tomcatPluginV321 wicket 1.3.4 実験方法 eclipseのworkspaceを空白が含まれるパスに配置します。 wicketで何か書きます。 ReloadingWicketFilterを継承したフィルタを作ります。 web.xmlを

    ReloadingClassLoaderがクラスファイル読んでくれないことがある件 - ソフト開発お仕事メモ🐕
    yamkazu
    yamkazu 2008/09/25
    クラス変更の監視
  • 1