2009-11-01から1ヶ月間の記事一覧
Spring の JmsInvoker を使用すると、JMS経由でのRMI処理が簡単に書けます。ここでは、サービスを提供するサーバ上の AccountService をクライアントからJMS経由で呼び出す例を見てみます。 使用ライブラリ Spring関連 spring.jar(2.5.5) spring-test.jar(2.…
Go にはソースファイルを整形する gofmt というツールが付いています。例えば、以下のようなソースがあったとします。 package main import "fmt" func main() { fmt.Printf("hello, world\n")//print hello } gofmtにこのファイルを指定すると、 $ gofmt he…
先日は windows で Go を試してみましたが、ここでは普通にUbuntuにインストールしてみます。 Go コンパイラ Goコンパイラには 6g や 8g のような gc Goコンパイラと、gcc をバックエンドにした gccgo コンパイラがあります。gccgo では最適化が十分に行える…
Goとは Google の20%プロジェクトから生まれた新しい言語です。本家は以下です。 http://golang.org/表現力が豊かであり、並列性のサポートがあり、ガベージコレクションがあるシステム記述言語とされています。Go の特徴として以下のような紹介がされていま…
Mavenの公式サイトの Getting Started Guide をかいつまんで適当に訳したものです・ Mavenとは Mavenはプロジェクトのビルドプロセスのベストプラクティスを提供します。ビルドプロセスの一貫した基盤を提供することで、理解を用意にし、生産性を確保します…
先月10月に Ubuntu 9.10 がリリースされました。ここでは VirtualBox へのインストール手順について記しておきます。 Ubuntu のダウンロード Ubuntu 9.10のCDイメージを以下からダウンロードします。日本語環境用のパッケージも Ubuntu Japanese Team から提…
日時を返却するTCPサーバと、TCPサーバにアクセスするクライアントの例。tcp_server.pl #! /usr/bin/perl # 日時を返却するTCPサーバ use Socket; $port = shift || 9999; $proto = getprotobyname('tcp'); socket(ListenSock, PF_INET, SOCK_STREAM, $proto…
指定ファイルの行数をカウントする簡単なプログラム例 #! /usr/bin/perl if (@ARGV == 1) { die "$ARGV[0] not exist \n$!" unless -e $ARGV[0]; open ( STDIN, $ARGV[0] ) || die "Can't open file \n"; } while (<STDIN>) { $line_count++; } print $line_count, </stdin>…
文字列を小文字化 $str =~ tr/[A-Z]/[a-z]/; 文字列を大文字化 $str =~ tr/[a-z]/[A-Z]/; 10進->8進変換 $out = sprintf("%o", $in); 8進->10進変換 $out = oct($in); 10進->16進変換 $out = sprintf("%x", $in); 16進->10進変換 $out = hex($in); 日付の書…
ファイルサイズの取得 $a = 'hoge.txt'; $size = -s $a; print "$aのサイズは$sizeです。\n"; ファイルの存在チェック die "A file called '$filename' already exists. \n" if -e $filename; または、以下でも同じ if ( -e $file ){ die "A file called '$f…
ユーザ入力 スカラコンテキストで受ける chomp($line = <STDIN>) リストコンテキストで受ける chomp(@lines = <STDIN>) 入力を終了するにはCtrl-D(WinではCtrl-z) ユーザからの応答読み取り ユーザからの応答読み取り print STDOUT "Enter a number: "; # 数の入力を促す</stdin></stdin>…
制御構造(if) 必ずブレースで囲まなければならない。 if ( $var eq 'A' ) { .... } if ( $var eq 'A' or $var eq 'B' ){ .... } if ( $var eq 'A' ) { .... } elsif ( $var eq 'B' ) { .... } else { .... } 制御構造(while) $count = 0; while ($count < 10…
算術演算子 演算子 説明 例題 + 加算 $x = 10+2 # $x の値は 12 - 減算 $x = 10-2 # $x の値は 8 * 乗算(×) $x = 10*2 # $x の値は 20 / 除算(÷) $x = 10/2 # $x の値は 5 % 剰余 $x = 10%2 # $x の値は 0 ** 累乗 $x = 10** # $x の値は 100 ++ インク…
リテラル 整数リテラル 整数リテラルは以下のようなもので、_にて読みやすくすることもできる(桁区切り)。 0 2001 -20 30_289また、0で始まるものは8進数、0xで始まるものは16進数、0bで始まるものは2進数として扱われる。 浮動小数リテラル 浮動小数は以下…
1行perl 伝統的な Hello World の 1行 perl。 -e オプションは続くperlコードを実行する。 $ perl -e 'print "Hello World\n";' 出力 Hello World スクリプトの作成 hello.pl を作成、実行する。 #!/usr/bin/perl print "Hello World\n"; 出力 $ chmod a+x h…
ファイルのパーミッション 設定 意味 r そのファイルを読める w そのファイルを変更できる x そのファイルをプログラムとして実行できる ファイルに対する s/t ビット 設定 意味 u+s setuid 該当のコマンドが所有者の権限で実行される g+s setgid 該当のコマ…
ロックを取得してファイルにWriterで書き込む処理のサンプル public static void writeWithNoWaitLock(String filename) throws IOException { FileOutputStream fos = null; Writer writer = null; FileChannel channel = null; try { fos = new FileOutput…
H2の組み込みモードで単体テスト 単体テストとか、結合テストとかでテストスイート起動時にデータベースを起動して、終了時にデータベースをシャットダウンする例です。 @RunWith(Suite.class) @SuiteClasses( { ProductDaoImplTest.class, ProductServiceIm…
タイトルの通りです #!/bin/sh # # 名称 # dir_diff - 2つのディレクトリ下のファイル構成を比較する # # 書式 # dif_diff [-v] [dir1] dir2 # # 解説 # 指定した2つのディレクトリ下にあるファイル構成を比較し、 # 等しくないファイルをリスト表示する。 #…
タイトルの通りです。 #!/bin/sh # # 名称 # find_new_file.sh - 指定日時よりも更新日付の新しいファイルを表示する。 # # 書式 # find_new_file.sh [-rv] [[CC]YY]MMDDhhmm[.ss] [directory] # # 解説 # 指定日時より更新日付の新しいファイルを表示します…
覚えていられないシェル変数について書いておこう・ 特殊変数 特殊変数一覧 変数 説明 $0〜$9 $0はコマンド名、以降$1,$2・・は第1,2引数に対応。 $* 引数全体。ダブルクオートで括ると、引数全体をダブルクオートで囲んだ状態となる。 $@ 引数全体。ダブル…
文字列の長さを得る expr は引数にコロンがあると、その右側と左側の文字列を比較して、先頭から何文字までが等しいかという値を返却する。そのため、以下のようにすると文字列の長さが得られる。 expr "string" : '.*' 文字列中に特定の文字列が存在するか…
ストリームによるファイルコピー シンプルなストリームによるファイルコピー public static void copy(String src, String dest) throws IOException { InputStream in = null; OutputStream out = null; try { in = new BufferedInputStream(new FileInputS…
ウインドウをプラットフォームのデフォルト位置に表示する ウインドウ表示位置をプラットフォームの指定に任せるには、java.awt.Window.locationByPlatform プロパティを true にセットする。すると、ウィンドウマネージャはウィンドウを(0, 0)の原点に置く…
どうでもいいですが、以下で環境変数が取得できます・・ for (Map.Entry<String,String> e : System.getenv().entrySet()) { System.out.println(e.getKey() + " : " + e.getValue()); } JAVA_HOME とか USERNAME みたいなシステム環境変数の一覧が表示されます。</string,string>
前回 blog1.mammb.comに引き続き、Unitils によるモックオブジェクトのサポートを見ていきます。 ダミーオブジェクト モックオブジェクトを使用したテストを書いていると、オブジェクトの準備が面倒な場面があります。 オブジェクトの中身に設定されている値…
前回 blog1.mammb.comに引き続き、Unitils によるモックオブジェクトのサポートを見ていきます。 メソッド呼び出しの検証 テスト対象のクラスのメソッド呼び出しにより、モックが期待通りに呼び出されたかを検証するには以下のようにします(通常モックオブジ…
blog1.mammb.comに引き続き、Unitils でのモックオブジェクトの使い方について見ていきます。 Unitilsによるモックサポート Unitils では、以前は EasyMock によりモックオブジェクトをサポートしていましたが、バージョン 2 から独自でモックオブジェクトを…
commons-codec がバグってたので作成したユーティリティメソッドです。かなり昔のことなので今は直ってるかも知れませんが、何かのときのために・・ byte配列と2進数char配列の変換 /** * バイト配列から2進文字配列を作成して返却します。 * @param bytes …
testコマンドの注意点 以下のような記述はよろしくない。 if [ ${VAR} = ""]; then echo "true" else echo "false" fi if [ ${VAR} != "" ]; then echo "true" else echo "false" fi 上記は VAR が空であった場合、以下のように展開されるため test コマンド…