2010-11-01から1ヶ月間の記事一覧

コミットコメントの書き方(続き)

先日のコミットコメントの書き方(我流)に対して、twitter でコメントをいただきました。 BTS連携があればチケット番号も [subversion]いいね! 僕はBTSと連携させることが多いので、太括弧【】の部分がチケット番号 #XX になりまする。連携できないときはこ…

錯覚

public static void main(String[] args){ System.out.println // もちろん、ふつうはこんなソースを書いたりはしません。 // でも、いつも当たり前のようにメソッド名の直後にかっこを書いていたら // それがルールであるかのように錯覚してしまっていまし…

Setの実装は、ほとんど中身が空っぽ

Java の HashSet のアルゴリズムを確認しようとクラスの中身を見てびっくり。 HashSet は、処理のほとんどを HashMap へ委譲するだけという超簡単なアルゴリズムでした。 コンストラクタはこんな感じ。 public HashSet() { map = new HashMap<E,Object>(); } メソッド</e,object>…

チェック例外の対処方法

Javaの特徴の一つにチェック例外があります。 IOException や SQLException なんかが代表例です。 自分がチェック例外に遭遇した時にどのように対処しているかをまとめてみました。 throwsする public String read(File file) throws IOException 最も多く行…

Googleインスタントプレビューのスクリーンショットをしているブラウザ

ちょっと前に、Google検索にインスタントプレビューという機能が追加されました。 ところで、このスクリーンショット、どういう環境で取ったものなんでしょうか。 調べてみました。 UserAgent Mozilla/5.0 (en-us) AppleWebKit/525.13 (KHTML, like Gecko) V…

Javaでリストと配列を変換、コピーする方法(まとめ)

Javaで、たまにリストと配列を変換したり、コピーしたりするときがあります。 でも意外とやろうとするたびに忘れてしまうので、ざっとまとめてみました。 (解説を分かりやすくするために、ジェネリクスを使用していません) リスト から 配列(変換) publi…

コミットコメントの書き方(我流)

Subversionのコミットコメントは、人によって多々書き方が違います。 ただ、後でコミットの内容を確認した時に 何も書かれていなかった 書いてあっても一行だけだった となっていて、詳細が分からず、本人に聞いたりドキュメントを探して確認する羽目になっ…

Java7のObjectsクラス

Java7 には Objects クラスが追加される予定になっています*1。 Arrays や Collections みたいな、ユーテリティクラスですね。 ざっと調べてみました (といってもAPIを引用&翻訳*2しただけですが・・・)。http://download.java.net/jdk7/docs/api/java/util…

Propertiesクラスのデフォルトプロパティは使わない方がいいかも

Javaでは、プロパティの設定によく Properties クラスを使います。 このクラスは、コンストラクタで別のプロパティをデフォルト値として指定することができます。 public Properties(Properties defaults) 指定されたデフォルト値を持つ空のプロパティリスト…

「適当にテストする方法」を実践してみた

Hudson勉強会でゆかわさんが紹介していた「Hudsonを用いて適当に?テストする方法」を実践してみました。Hudson study-zenView more presentations from Wataru Yukawa. 自分のプロジェクトでは「データベースアクセス用のクラスにSQLとその実行メソッドを書…

JavaDocが見れない・・・けど、Oracleドメインなら大丈夫

最近、Java API(JavaDoc)を開こうとすると遅い・・・というかタイムアウトで失敗する・・・。ググってみたら、 java.sun.comが開けない DNSがおかしい気がする http://twitter.com/joniburn/status/4822838108233728 DNSがおかしい? とりえあず、nslookup …

Javaのfor-each文でremoveする

Javaの for-each 文 (拡張for文) 内で remove をする方法はありません。 Sunの解説でもこの点は明記されています。 for-each ループは好きなときに使えます。使用すればコードがわかりやすくなりますが、どこででも使用できるわけではありません。たとえば、…

Google検索の意外な工夫

ふと気付いたんですが、Google検索のサマリーは極力日付を含むようになっているんですね・・・。 検索語句に関係なく、サマリーに日付を含んでいます。 改めて考えると、結構前からやっている気がしますが、いつからなんでしょうか。 あまりにもさりげなさす…

メールアドレスの素朴な疑問

Q.「そもそも、なんでメールアドレスの仕様はこんなに複雑?」 A.「メールアドレスの仕様」ではなく「メールのヘッダ仕様」の一部*1だから (メールアドレスとして考えると「?」ですが、ヘッダとしては汎用的に情報を含められるような仕様になっています…

StrutsのEmailValidatorの挙動に注意

StrutsのEmailバリデータ(正確には、Apache Coomons Validator)を使っていたら、予想外の挙動にすこしびっくりしました。 前後に空白が入ってもいい test@example.com これは、最初に空白が入っていますが、有効と判定されます。 コメントが入ってもいい (…

Hudson勉強会に行ってきました

Hudson勉強会に行ってきました。 http://wiki.hudson-ci.org/pages/viewpage.action?pageId=46336352 「仕事でHudson使いたいけど、何から手をつけたらいいんだろう」と思っていた矢先だったのでとても助かりました。 内容は本格的な使い方から、適当な使い…