2006-01-01から1年間の記事一覧
昨日の続き。 よく考えたら、Ctrl+Pを無効にすればいいんじゃんと気付く。 Window→Preferencesの設定画面を開く。 General→Keysの画面で、Ctrl+Pをremoveしちゃる。 消しちゃったら復活できるのかな? 一生使わない気がするし、まーいっか。
とあるクラス名を途中まで入力 Ctrl+space 選択画面が出るまでラグがあるので、次の文字の"p"を入力 2と3のタイミングが悪くCtrl+pとなる→印刷ダイアログ "p"を入力した時点でコード補完の候補のトップにくる(はずな)ので、そっこーでEnterを押している En…
Eclipseを使うと、ビルドファイルをステップ実行できる。 でも、ビルドファイルからタスク内のコードには飛べない。 なので、タスク実行時のパラメータやカレントスレッドの情報を 調べられなかった。 で、悩んだ結果。 AntをMainから実行すればよかったこと…
Velocityのテンプレートの記述で、誤解していたことが色々あったので まとめておく。 if内で、and, orが書けない・・・。と思いきや、&&と||で書ける罠。 VTLのリファレンスには載っていないけど、Velocity User Guideにあるとは。 and, orのために、こんな…
Mavenのpom.xmlでは、configurationでプラグインの設定を色々と行えるが、 型によって指定方法が違ったりするので、メモっておく。 基本は、Mavenのマニュアルから。 Stringやらintやら 普通に指定。 <param>hoge</param>paramはパラメータ名。 配列 private String[] strin…
静的解析ツールのPMDには、CPDという重複コードを検出する機能がある。 こいつをAntで使っていたが、テキストベースのレポートしか出力できないと 思ってた。 でも、format属性を使えば、できるじゃん。 <taskdef name="cpd" classname="net.sourceforge.pmd.cpd.CPDTask" classpath="pmd-3.8.jar" /></taskdef>
引き続き、試験的にMavenをさわっているので、ちょいとメモ。 今回はWebアプリ系。 Webアプリのプロジェクトの作成は、 -DarchetypeArtifactId=maven-archetype-webappを指定する。 Webアプリのプロジェクトの場合、ソースコード用のフォルダsrc/main/javaは…
知ってはいたけど、再確認。 <property name="prop1" value="ykhr" /> <echo message="${prop1}" /> <property name="prop1" value="kokko" /> <echo message="${prop1}" /> 結果。 [echo] ykhr [echo] ykhrってなわけで。 変数っぽく使いたい場合は、Ant-ContribのVarを使うのかなぁ。</echo></property></echo></property>
前の続き。 変数で0を入れる場合、0は何個かいてもいい。 # 限界があるかもしんないけど。 int i = 00000000000000000000000000000000000000;こんなん、意味あんの? というか間違ってこんな実装してた。 for (int i = 0; i // 色々処理 }ループになってない…
ant.batを見ていて気付いたこと。 ant.batを実行すると、まず始めに%HOME%/antrc_pre.batがコールされ、 終了前には%HOME%/antrc_post.batがコールされるように作られている。 (両方とも、該当のバッチファイルがあったときのみ) なので、前処理・後処理用…
そういや、Antからしかやってなかったなーということで。 XMLとXSLTは、ちょうど手元にあったCheckstyleのもの。 Source xml = new StreamSource(new File("checkstyle.xml")); Source xslt = new StreamSource(new File("checkstyle-simple.xsl")); Result …
Mavenを触り始めたので、ちょこっとだけ。 proxyを使う場合は、conf/settings.xmlをいじる。 pom.xml はプロジェクト関連の設定ファイル。ないものは、デフォルトが使われる。 Eclipseプラグインとして、m2eclipseなるものがある。こいつで、Eclipse上からMa…
Antタスクの属性で、「ある決まった値の中から1つのみを指定させる」というようにしたい場合がある。 例えば、echoタスクのlevel属性の指定(errorやらinfoやら)みたいに。 これを実現するためのクラスとして、EnumeratedAttributeがある。 これを使えば、E…
試験項目表→試験高目標・・・ そりゃー高い目標でありたいもんだ。 そういや、カラム名→絡む姪なんてのもあったなぁ。
JUnitは、テストメソッドがstaticでもテストする。 ・・・。 最近、こんなどーしよーもないものを思いつくことが多い気がするなぁ。
ひょんなことから、H2データベースというものを知ったので、試してみる。 公式サイトは、ここらへん。 とりあえず、トップページにパフォーマンス比較があるけど、これってマジなんですかね。 インストールと実行 めんどいので、インストールはすべてデフォ…
なんか、そこらじゅうでデータソースのlookupに失敗するってのを聞くので、試してみる。 ついでに、WTPをさわってみる。そろそろ慣れとかないと。 環境 jdk 5.0 Tomcat 5.5.20 Eclipse 3.2 + WTP 1.5 + HsqlDB Tomcatが5.0の場合は、Resourceのパラメータへ…
0は-0とも書ける!! int i1 = 0; int i2 = -0;まぁ0と変わりないんだけど・・・。 なんか意味あんのかな?
JSE6.0からならデフォルトでできるらしいけど、 5.0とかでも無理やりできるらしい。 import java.io.PrintWriter; import com.sun.tools.javac.Main;public class CompileTest { public static void main(String[] args) { String source = "C:/tmp/source/T…
小数点で整数部分が0だったら、その0を省略してもいいらしい。 こんなふうに。 double d1 = .0111; float f = .0234f;身近なところなのに、知らなかった。 でも、0を付けた方が可読性はいいような気がするので、使う機会はなさげ。
Javaの正規表現の\wは、単語構成文字と説明されている。 実はこれ、アンダースコアにもマッチする。 一応、Javadocの説明。 \w 単語構成文字: [a-zA-Z_0-9] 実験くん。 public static void main(String[] args) { Pattern pattern = Pattern.compile("[\\w]+…
とりあえず用。echoタスクを使う。 <target name="exec1"> <echo file="log1.txt">Hello</echo> <echo file="log1.txt" append="true">OH!</echo> <echo file="log1.txt" append="true">Good-bye</echo> </target> でも、改行が出力されないので、すべて1行に表示されてしまう。 下のようにやれば複数行で出力されるけど、美しくない。 改行コードが\nになっちゃうし。 <target name="exec2"> </target>
Antで、必要な部分のみをログ出力する。 この場合、recordタスクを使う。 こんな感じ。 <record action="start" name="record.txt" /> <echo message="hoge" /> <delete file="a.txt" /> <record action="stop" name="record.txt" /> record.txtの内容。 [echo] hoge [delete] Deleting: C:\tmp\a.txt recordタスクを使用すると、startとendの間の処理がファイルに出力されるようになる。 内容は標</record></delete></echo></record>…
タスク内からもログ出力みたいなことはできるけど、とりあえず一番楽な方法。 ant実行時に、以下のようにオプションを付ける。 ant -l log.txt lオプションで、ログがファイルに出力されるようになる。 内容は標準出力されるものと同じなので、リダイレクト…
Javaで、プログラムからマウスを動かしたりキーを入力したりするために java.awt.Robotクラスというがあるらしい。 主な目的は「Java プラットフォーム実装テストを自動化すること by Javadoc」だそうだ。 試しにさわってみる。 まずは、こんなの。 public s…
Antのjavaタスクやexecタスクは、arg要素を指定することができる。 このarg要素では、value属性とline属性のどちらでも引数を指定できるけど、 ちょっとした違いがあってややこしい。というか、どっち使えばいいかわからん。 というわけで、さくっと確認して…
文字列の置換にはString#replaceAllを使うことが多い。 # 別にPatternとか使ってもいいけど、めんどいので。 でも、なんだかうまくいかないことがあった。 円マーク1つを2つに置換する、という処理を実装しようとした。 この場合、replaceAllに渡す引数は、…
@seeやら@linkやらは長くなりがちだけど、1行で書け! とはリファレンスに書いてないけど、改行を含んでいいとも書いてない。 というか、改行を含んで書いたもののJavadocを生成すると、 警告は出ないけど表示がバグってるわけで、1行で書かないとだめなのか…
DBによっては使えるらしい・・・。 知らなかった。 でも、プロジェクトでは使わないかなぁ。
Log4jは、パスの通ってるところにlog4j.xml(log4j.propertiesでも?)があれば 勝手に読み込むけど、環境変数からファイルを取得するようなコードがソースにあった。 なので、javaコマンド実行時に以下のオプションをつければ、 指定したlog4j.xmlが優先的に…