山崎屋の技術メモ

IT業界で働く中で、気になること、メモしておきたいことを書いていきます。

Eclipseでかっこいいmainメソッドをテンプレートに登録

Java1.5 から可変長引数が使えることになり、maimメソッドも、 public static void main(String[] args) {} が、 public static void main(String... args) {} のようにかけるようになりました。こう書くことのメリットはいろいろあるでしょうが、何より最近…

Eclipseでテキストファイルは使い慣れたエディタで編集したい

Eclipse でテキストファイルをダブルクリックすると、デフォルトでは Eclipse のテキストエディタが開きます。ですが、このテキストエディタはあまり親切に作られていないのか、使いこなせていないのかわかりませんが、使いにくいと感じています。 やっぱり…

死ぬはずのプログラムを無理に生かしておいていてはいけない

「プログラマが知るべき97のこと」を読んでいます。あるあるネタっぽいものや、達人たちの教訓が書いてあり、読み物として非常に面白いです。 タイトルはエピソード27の見出しで、ライブラリの作成を担当していた著者がtry~catch節を別のcatch節に含め…

やりたいこと整理

2014年1月も広範に突入したわけですが、今年の目標とか整理できていないので、とりあえず今後やりたいことをだらだらと書いてみる。■お勉強したいこと ・spring3 strutsスーパーサンプルのspring3バージョンをやってみたい。 ・関数型言語・javascript・html…

java printf 使用例 longバージョン

printfを使って書式を整えるとき、いちいち「%」の後ろは何だっけ?とか桁数指定はどうやるんだっけ?とか調べている俺の現実があるので、まとめました。今回はlongのみです。以下のパターンで実際の書式の与え方と出力のされ方を見てみます。 ※「桁数指定(8…

JDK1.7u17では引数の円マーク(¥)が消える!?

と思ったら、バグのようで、JDK1.7u21では、直っていました。どういう現象化かというと、 public class Main { public static void main(String[] args) { for (String s : args) { System.out.println(s); } } } この場合に、引数に「C:\aaa\bbb\ D:\ccc\ee…

S2ContainerによるリテラルのDI

主なリテラルのDIのやりかたです。String,int,Map,ListのリテラルをDIします。モジュール構成 Class1 import java.util.List; import java.util.Map; public class Class1 { public String str; public int i; public Map<Integer, String> map; public List<String> list; public voi</string></integer,>…

Class.forNameの意味

JDBC経由でデータベースにアクセスする場合、こういうおまじないがありますね。 Class.forName("oracle.jdbc.driver.OracleDriver"); いったい何の意味があるのでしょうか?Class.forNameはJavaDocによると「forName("X") の呼び出しによって、X というクラ…

diconファイルのワーニングマーカが微妙

seasar2のS2Containerと戯れていたら、diconファイルにkijimunaのワーニングが出てしまい、ググッても原因がわかりません。しかもパッケージエクスプローラ上にはワーニングマーカが出ないのに、app.diconを開くとエディタ上にマーカが表示されます。やりた…

H2Database コンソールアプリでの利用サンプル

H2 Databaseをコンソールから利用するサンプルです。モジュールの配置は↓。 dbフォルダの下にDatabaseファイルを作りたいと思います。DB組み込みでアプリを配布したいときは、絶対パスでの指定は、 なかなかできないと思いますので、Databaseファイルの位置…

SimpleDateFormatの厳密な・・・ 時刻バージョン

前回の続きですが、時刻でも同じです。 たとえば8時52分60秒は、文字列をDate型にパースする際に、厳密な解析を行わなければ8時53分0秒と解釈されます。 public class DateSample { public static void main(String[] args) { DateFormat dt = new SimpleDat…

SimpleDateFormatの厳密な・・・setLenient の使い方

2013年には2月29日がありませんが、SimpleDateFormat で厳密な解析を行わない場合、2013年3月1日と解釈してくれます。 public class DateSample { public static void main(String[] args) { DateFormat dt = new SimpleDateFormat("yyyyMMdd"); try { Syste…