2009-03-01から1ヶ月間の記事一覧

Java の checked exception について

C++ には存在せず、大体の人が使い方がよくわかんなくて悩むと思われる「checked exception」。 要するに、普通の java.lang.Exception のことである。同僚に2004年の記事を転送してもらう。Javaの理論と実践: 例外をめぐる議論なるほど。この記事によると、…

AsiaBSDCon 2009

(カテゴリ、Linux ではないが、一応まあ系列ということで・・)AsiaBSDCon 2009 AsiaBSDCon 2009 が終了したようだ。最近のカンファレンスの例に漏れず、動画が公開されるようで、Youtube に既に結構な数が公開されている。 マイコミの方に紹介のあった、 h…

WhyNotMemcached

以前簡単に訳したのが出てきた。。。 Why should you not use Memcached? あなたが memcached を使うべきでない理由は?Memcached is terrific! But not for every situation... memcached はすばらしい!でも、「どんなときでも」というわけじゃありません…

EHCache の設定部分を調査。

どっかに和訳が転がってそうな気がしてならないんだけど、ちょっと見、見当たらなかったので、設定部分だけ訳した。 必須属性 name: キャッシュ名: キャッシュの名前を設定してください。これはキャッシュの識別に使用されます。 名称が重複しないようにし…

Prioritized Subscription 時の Q4M の動作

複数のキューの中で、データのあるものを探して取って来る Q4M の便利機能。 mysql> SELECT queue_wait('high_priority_table', 'low_priority_table', 10); これのこと。 エラーキューとしてウチでは使おうと思っているが、これの動きに若干癖があったので…

bash での環境変数設定ファイルの読ませ方

久しぶりにやったら忘れてたので、メモ。 csh(tcsh) の場合は、 $ vi foo.rc setenv HOGE tcsh とか書いたファイルを用意して、 $ source foo.rc とやる。 bash(sh) の場合は、 $ vi bar.sh HOGE=bash;export HOGE とか書いたファイルを用意して、 $ . bar.s…

Java に parseInt() はあるが、isInt() が無い理由

Java には Integer.parseInt() という文字列を int に変換するメソッドが存在する。isInt() というメソッドは存在しない。なので、その文字列が数字かどうかの判断だけを行いたい場合でも、とりあえず parseInt() してみる、という実装になる。 try { Intege…

JDK1.4、JDK1.5 で IOException や SQLException の例外を投げたい場合どうするか

JDK1.6 から IOException や SQLException 新たなコンストラクタが追加された。追記2009-11-17: 結論だけ先に書く。 // JDK1.6 の場合こう書けるが throw new SQLException("数値のパースに失敗しました。", nfe); // JDK1.4, JDK1.5 の場合、こう書くのが…

q4m にまつわる適材適所

サイボウズ奥さん作の q4m を職場で提案。 jdbc で接続するのはちょっと・・・という意見が出たので、一個ラッパーを挟むことにして、無事職場で導入されそうだ。 ラッパーは apache の mod で作成した。単純にキュー投入リクエストを受け取り q4m に投入す…

ExecutorService

JDK1.5 の java.util.concurrent のスレッド管理機能が強力なので、なんか便利なものを作ってみたいのだが、なかなか難しい。上手に抽象化されすぎてて、非同期管理機能を提供するのはあんまり意味がないのだ。 「別スレッドで実行して、結果を受け取る。タ…

開いてるポートを調べるには nmap が便利そうだ

覚え書き。 開いているポートを調べるには こりゃいいや。

mysql に、localhost 以外から接続できなくてはまる。

やったこと無かったんで、基本的なとこではまった。。。 mysql> GRANT ALL PRIVILEGES ON *.* TO hogehoge@'%' IDENTIFIED BY 'aiueo' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 …

SimpleDateFormat にまつわるぐだぐだ話。

職場では、SimpleDateFormat.parse() は問題を起こすと言うので、腫れ物に触るような扱い、というか、「使用禁止」である。んでどうしてるかというと、各自でパース機能を実装している。うーん。それはそれで微妙・・・。 と、書いたが、ウチの職場が(だけ…

Java のオブジェクト生成にかかる時間

つまらない覚書。 public class intcreate { public static void main(String[] args) { final int loop = Integer.MAX_VALUE; long start = System.currentTimeMillis(); for (Integer i = 0; i < loop; i++) {} // boxing の呪い System.out.printf("Integ…

文字列を指定の文字エンコーディングでのバイト数で切る

文字列を指定の文字エンコーディングでのバイト数で切る処理を作ってみた。固定バイト長の文字コードであれば指定のバイト長で切る処理というのはさほど難しいところはないのだが。たとえば、"1234" という ASCII 文字列を、3 バイトで切りたい場合、"123"。…

Velbon デジタル一眼レフ用 ワイヤレス+ケーブルリモコン TWIN 1 R3-TRC を購入した

http://www.amazon.co.jp/Velbon-%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E4%B8%80%E7%9C%BC%E3%83%AC%E3%83%95%E7%94%A8-%E3%82%B1%E3%83%BC%E3%83%96%E3%83%AB%E3%83%AA%E3%83%A2%E3%82%B3%E3%83%B3-TWIN-R3-TRC/dp/B001DU7DOW/ref=sr_1_1?ie=UTF8&s=electr…

英単語の発音を教えてくれる

A Free Online Talking Pronunciation Dictionary | Howjsay マジすか的な便利さ。発音しているのはネイティブスピーカーで、米英語、英英語で発音してくれる。他の読み方がある場合はそれも。(yahoo なんかのキーワードで検索するとわかる) 語彙が結構多…

SimpleDateFormat のスレッドセーフの謎。

ページによって記述が異なり、自分でソースを見てみると何回注意深く読んでも問題の無い使い方まで「バグる」とかかれていたりする SimpleDateFormat 関係の機能。 長い間もやもやしてた部分があったんだけど、以下の記述を見て疑問が解けた。 参考: AKIMOT…

char から String への型変換

2009-11-03 追記: グーグルから飛んでこられる方が多いので、結論を追記。 char --> String への変換方法 char c = 'a'; String.valueOf(c); char[] --> String への変換方法 char[] cs = new char[10]; cs[0] = 'a'; cs[1] = 'b'; String.valueOf(cs); 以…

整数の桁数の求め方

高校のころからのバリバリ文系はこういうことに弱い。こんなこと「普通はこうする」ってのがありそうなんだけど、そういう常識が無い。何気に JDK のソースを見ていたら。 java.lang.Integer の public static String toString(int i) の中で、int 値を Stri…

getStackTrace() 依存のソースコードは書かない方がいいんじゃないかなー

同僚が書いたソースコードにスタックトレースから呼び出し元クラスを取得して動作を変えるような処理を発見。うーん、よろしくない気がする。 /** * Provides programmatic access to the stack trace information printed by * {@link #printStackTrace()}.…

@Override アノテーションの仕様の違い

JDK1.6 でコンパイルしてたソースを JDK1.5 でコンパイルしてみたところ @Override アノテーション で大量のエラーとなったので、あれ?となった。 @Override アノテーション の仕様の違いによるものだった。 インタフェイスの実装クラスのメソッドに対して…

m2eclipse のカスタマイズのやり方。

http://docs.codehaus.org/display/M2ECLIPSE/Extension+Points+and+API この辺に載っている。ホームディレクトリの .m2/ の下に設定ファイルとかもアリ。

Digital Photo Professional

家の外で写真を撮るも、顔が露出オーバーで真っ白になったりして、トホホ体験。 これからはちゃんとRAWデータも保存しておこうとおもう。DPP をまだインストールしてなかったんで、ユーティリティーディスクを引っ張り出してきて保存。 $ dd if=/dev/scd0 of…

EOS 40D 用のリモートシャッター

ワイヤレスのものを探している。集合写真のとき便利じゃね?という程度なので、必須ってわけではないのだが。 Kiss シリーズや、5DmkII には受信装置が内蔵されているみたいなんだけど、40D は無いようだ。こういう違いがあるんだな・・・。 んで、受信機付…

Google Guice の散文的な検証

Guice で、@ImplementedBy を使用してインジェクションしているときの 簡単な動作検証。(親)Main → Service → Logic → Daoという親子関係で構築されているクラス群を作成した。以下ソースを子から順に。まず、Dao。実装は、DaoImpl と DaoImpl2。 package te…

Ubuntu8.10 で Eclipse3.4 のコンテンツ・アシストが働かない

若干ハマった。Ctrl + Space ではなく、Alt + / にコンテンツ・アシストのキーバインドが変わっているようだ。なぜ・・・。

apache derbyでのシリアルID値の設定方法

一瞬出来ないのかと思ったが、そんなわけないとマニュアルにあたったらすぐ出てきた。以下のような create 文で、MAP_ID がシリアルなIDカラムとなる。 CREATE TABLE MAPS ( MAP_ID INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT…

Apache License, Version 2.0

licenses/Apache_License_2.0 - Open Source Group Japan Wiki - Open Source Group Japan - OSDN Apache License, Version 2.0 の和訳。Seasar はこのライセンス。