2009-01-01から1年間の記事一覧
Base64OutputStream Base64 の Stream エンコード実装例です。 import java.io.FilterOutputStream; import java.io.IOException; import java.io.OutputStream; public class Base64OutputStream extends FilterOutputStream { private int col = 0; privat…
Java Native Access (JNA) とは JNA とは、Javaからネイティブライブラリを簡単に使用するためのライブラリです。通常Javaからネイティブライブラリを呼び出す場合は、JNIを利用しますが、Cヘッダファイルの作成が必要であったりと手順が煩雑でした。JNA を…
JYaml では jyaml.yml という設定ファイルにて動作をカスタマイズできます。jyaml.yml というYAMLファイルをカレントディレクトリかクラスパスのルートディレクトリに配置しておけば勝手に読み込んでくれます。構成ファイルは以下のような内容となります。 m…
Observer パターンとは オブジェクト間の1対多の依存関係を定義し、あるオブジェクトの状態が変化すると、それに依存している全てのオブジェクトが自動的に状態の変更の通知を受けるようにします。 Observerインターフェースと具象クラス public interface O…
NetworkInterface の static メソッド getNetworkInterfaces によりプラットフォームに存在ネットワークインターフェースが取得できます。 List<NetworkInterface> list = EnumerationUtils.toList(NetworkInterface.getNetworkInterfaces()); for(NetworkInterface networkInt</networkinterface>…
Activate(活動化)とは DB に接続時には、必要なメモリの確保やログの整合性チェックが必要です。DB2 では、この作業をデータベースのActivate(活動化)と呼んでいます。 Activate のタイミング DB2 は db2start によるインスタンスの起動時には活動化は行いま…
PICT はMicrosoftがフリーで提供するテストケース作成ツールです。All-Pair法により、品質を維持したまま、組み合わせテストのパターンを削減することができます。 導入 以下のサイトから Available Tools > PICT と辿り、pict33.msi をダウンロードします。…
DB2にはORACLEで言うトランケートがありません。 トランケートしたい場合は空データをインポートすることで代用できます。 空のファイルを作成する $ touch empty.del 空のファイルをインポート $ db2 import from empty.del of del replace into <table_name></table_name>
ORACLEでいう select sysdate from dual;は、DB2では SELECT current date FROM sysibm.sysdummy1; 以下でも取得できます。 values current timestamp;
diaglevel レベル 説明 0 キャプチャーされる診断データなし 1 重大エラーのみ 2 すべてのエラー 3 すべてのエラーおよび警告 4 すべてのエラー、警告、および通知メッセージ 現在設定の確認 db2 "get dbm cfg" ・・・途中省略 診断エラーのキャプチャー・レ…
JYaml は Java でYAMLを扱うためのライブラリです。現在のバージョンは1.3となっています。本家サイトは以下です。 http://jyaml.sourceforge.net/index.html 使用するには jyaml の jar をクラスパスに追加するだけです。 YAMLについて XMLと比較して簡素で…
ノードの確認 db2 list node directoryノードカタログ設定 db2 catalog tcpip node <カタログ名> remote <IP> server <PORT>ノードカタログの削除 db2 uncatalog node <カタログ名> エイリアスの確認 db2 list db directoryデータベース別名設定 db2 catalog database <DB名></db名></port></ip>…
オフラインバックアップ取得 バックアップ以外のタスクがデータベースに接続しているとオフライン・バックアップが取得できないので、接続がないことを事前に確認する。 $ db2 list applications 上記で接続が有る場合、force する。 $ db2 force application…
コマンドプロンプトで作業していて、カレントディレクトリをエクスプローラで開きたい時は以下 > start . ちなみにドットが無いと、別のコマンドプロンプトが立ち上がります。
毎度名前を忘れます。シェルの1行目に書く#!から始まるインタプリタ指定はシバン(shebang)と呼びます。 #!/bin/sh ・・・ そんだけ。。
slf4jcommons-logging Log4j java.util.logging fatal fatal SEVERE error error SEVERE warn warn WARNING info info INFO - - CONFIG debug debug FINE - - FINER trace debug FINEST
easyb とは Groovy で書かれた Java 向けの BDD(behavior driven development:振舞駆動開発)フレームワークです。Groovy の簡素な文法を利用して、BDD専用のドメイン特化言語を提供します。 その他のテスティングフレームワークでも同様のことはできますが、…
いつの間にか GroovyEclipse v2 が出てました。Java と Groovy 間でリファクタリングの同期が取れるようになってたりして結構使いやすくなっており、Groovy プラグインの導入として記しときます。 Eclipse Groovyプラグイン更新サイト Eclipse 3.5(galileo) …
前回 blog1.mammb.com からの続きです。 synchronized Javaは言語本体の機能としてロック機構を備えています。このロック機構は synchronized キーワードにより指定します。ロックはミューテックスの働きをし、1度に1つのスレッドしか所有できません。 Java…
前回 blog1.mammb.comについて書いたのでついでにスレッドセーフについても書いとこ。 レースコンディションとは スレッドセーフ化 複合アクション 複合アクションをスレッドセーフにする レースコンディションとは Javaではスレッドを比較的簡単に扱うこと…
同期コレクション 同期コレクションのイテレーション 同期コレクションのプット・イフ・アブセント 並列コレクション ConcurrentHashMap CopyOnWriteArrayList CopyOnWriteArraySet 同期コレクション 同期コレクションは、JDK1.2以降で追加された Collection…
こんなことがしたい 例えば以下のようなクラスがあった場合。 public interface Base { } public class Sub1 implements Base { } public class Sub2 implements Base { } 以下のようにすると test(new Sub1()) のような呼び出しで method(Sub1 sub1) のメソ…
前回 blog1.mammb.comの続きです。今回は Polymorphic について見ていきます。 多様性関連のマッピング Person が請求明細(BillingDetails)を1つ持つことを考えます。この請求明細は、クレジットカード(CreditCard)か銀行口座(BankAccount)の何れかであると…
前回blog1.mammb.comの続きでテーブル間の関連について見ていきます。今回はOneToMany。 1対多関連 1側となるFamily Entityを以下のように作成します。 public interface Family extends Entity { public String getName(); public void setName(String name…
RailsのActiveRecordを意識したJavaの軽量ORMです。Entityとしてインターフェースを定義するだけで一通りのDB操作が可能で、XMLによる設定ファイル等なしで非常に手軽にORMを使うことができます。本家は以下です。 https://activeobjects.dev.java.net/ 現在…
jMockとは モックの振る舞い定義が、慣れると心地いいモックライブラリです。本家サイトは以下。 http://www.jmock.org/index.html jMock利用準備 クラスパスへ以下のjarを追加します。 jmock-2.5.1.jar hamcrest-core-1.1.jar hamcrest-library-1.1.jar jmo…
構造体 type T struct { a int; c string; } t := &T{ 7, "abc" }; インターフェース struct がデータ型を定義するのに対して interface はメソッドセットを定義する。インターフェースはメソッドの引数として指定するなど、型として利用できる。 type ReadW…
if Cで必要な括弧は不要で、以下のような書き方となる。 if x > 0 { return y } 以下のようにifの中に初期化文を書くことができる。 if err := file.Chmod(0664); err != nil { log.Stderr(err); return err; } Forループ doやwhileループはGoには存在しない…
Go の特徴 シンプルな言語仕様 Class は無いがオブジェクト指向っぽい記述ができる interfaceがある ポインタはあるがポインタ演算はない タイプセーフである ガベージコレクションがある 並列処理の組み込みサポートがある コンパイルが異常に早い ソースフ…
Maven プロジェクトのビルドをカスタマイズしたい場合にはプラグインを利用します。例えば、Java のコンパイルターゲットとして JDK5.0 のソースを使用したい場合には、以下のように、コンパイラプラグインを使用する定義をPOMに追加します。 ... <build> <plugins> <plugin> <groupId>org.apa</groupid></plugin></plugins></build>…