2010-01-01から1年間の記事一覧

Oracle JDBCドライバでLONG列にアクセスする際の注意点

LONG列なんかはもう非推奨で普通はBLOB使うからほとんど問題にはならない内容なのですが。Oracleのデータディクショナリテーブルの一つALL_TAB_COLUMNS(USER_TAB_COLUMNS)のDATA_DEFAULT列はなんとLONG型で、これにアクセスするときにこの問題にはまって2…

Windows7 で Oracle10g を

職場で Windows7 に Oracle10g クライアントをインストールすることになった。Oracle10gってWindows7対応はどうなってるのかな〜とおもってググって見ると、Oracle10g Exはうまくいっているようだけど、それ以外はなんかうまくいってない話ばかりが検索され…

scheduleAtFixedRate() を実行中のタスク側から停止する

Javaで、一定時間ごとに実行するプログラムをかく必要があったのでjava.util.concurrentのScheduledExecutorServiceを利用してプログラムを書いた。一定時間ごとの実行についてはscheduleAtFixedRate()を使って難なく書けた。 しかし、このとき実行されるタ…

クラスの遅延初期化方法

普通、シングルトンなクラスを作るとき、ふつう初期化は以下のようにする public class Hoge { private static final Hoge hoge = new Hoge(); private Hoge() {} public static Hoge getInstance() { return hoge; } } でも、これだとクラスHogeを参照した…

Vista で DHCPサーバーからIPを取得できない…

この正月の話。実家に帰省したとき、妹が実家の無線LANルーターの設定をいじってて、とても心の広い設定*1になっていたのに怒りを覚え、引き篭もり設定*2と変更した。 このとき、無線LANルーターがルーターモードになっていたのでこれをブリッジモードに変え…

クラス継承での注意事項

継承クラスでコンストラクタが呼ばれる順番は以下の通り 親クラスのコンストラクタ実行 子クラスの変数初期化 子クラスのコンストラクタ実行 なので、以下のような抽象クラスを作ってしまうと、正しく動作しない public abstract class hoge { public hoge()…

レコード型変数の初期化

Delphiで、レコード型変数に宣言時に初期値を入れる方法がわかったのでメモ。 type TTestRec = record column1: String; column2: String; column3: String; end; var //宣言時にデフォルト値入力 var_t: TTestRec = (column1:'VAR1'; column2:'VAR2'; colum…

かっこいいfor文

ツリー構造を、ノードからルートまでたどって処理をするプログラムを書くとき、いままでは以下のように書いていた。 Node nd = currentNode; while(nd != null) { queue.add(nd); nd = nd.parent(); } 今日、本を読んでいたら、以下のように書かれているのを…

勉強の記録

プログラマとして、アウトプットすることは重要、ということで、 日々の仕事・勉強・作業の中で、調べたこととかやったことを これからここに記録していこうと思う。