2012年7月6日金曜日

JUnitを使ってみる

JUnitを使ってみる。
使ったのはJUnit4.10。

  1. 公式サイトから[Download JUnit]にすすみ、「junit-4.10.jar」をダウンロード
  2. hamcrestのページから[Download]に「hamcrest-all-1.3.0RC1.jar」をダウンロード
    • 便利なのでこれも入れる
  3. Eclipseのプロジェクトのオプションで2つのjarファイルを追加


hamcrestにあるMatrcherの簡単な使い方については、hamcrestのMatcherメモ - 都元ダイスケ IT-PRESSの記事がまとまっていた。
この記事を参考にすれば、ある程度はテストをかけそう。

任意の例外が発生するかを確かめるテストの場合は、

@Test(expected = ArithmeticException.class)
public void testA() throws Exception {
	int a = 3 / 0;
}

もしくは、

@Test
public void testA() throws Exception {
	try {
		int a = 3 / 0;
		fail("失敗");
	} catch (ArithmeticException e){}
}

のような形にする。

ここ1年くらいで出たJUnitの入門書のようなものがあればいいが、あまり見つからなかった。
とりあえず、WEB+DB PRESS Vol.69にJUnitの入門記事があったのでこれを参考にする。

2012年7月3日火曜日

Eclipse 4.2 Juno

Eclipseの4.x系列の安定版が出ていたのでインストール。
とりあえず、Windows 7のマシンに入れた。


  1. 公式サイト-Downloadsより、Eclipse IDE for Java Developersの64bit版をダウンロード
  2. ダウンロードしたファイルを適当なとこに解凍
  3. Eclipse 日本語化 | MergeDoc Projectより、Pleiadesをダウンロードし、解凍
  4. 解凍されたPleiadesの中身をEclipseのフォルダに移動
  5. eclipse.iniの最後に-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jarを追加

起動して最初に思ったこと
  • 見た目が少し変わった
  • Gitが最初から使える(EGitが最初からインストールされている)

2012年3月26日月曜日

Bloggerでソースコードを表示する

このサイトを参考にソースコードをきれいに表示してくれるSyntaxHighlighterを導入してみる.

導入

  1. SYNTAX HIGHLIGHTER SCRIPTS GENERATORにて, 必要な言語を選択. テーマはここで確認できる(以下のサンプルではEclipseのテーマを利用).
  2. 生成されたスクリプトをコピー.
  3. [テンプレート]->[HTML の編集]より, head部分にコピーしたスクリプトを貼付ける.


使用方法
Javaの場合の適用例を示す. 他の言語の場合はここを参考にして「"brush: java"」の部分を適切に変更する.
  • preタグを利用
    • 記述例
      <pre class="brush: java;">
        public class Test {
          public static void main(String args[]) {
            System.out.println("Hello, world!");
          }
        }
      </pre>
      
    • 表示
      public class Test {
        public static void main(String args[]) {
          System.out.println("Hello, world!");
        }
      }
      
    • メモ:「<」は&lt;に置き換える必要がある
  • scriptタグを利用
    • 記述例
    • 表示
    • メモ:scriptタグが読み込まれるまで表示されない. scriptタグを利用できない環境下では表示されない.

外部リンク

2011年11月2日水曜日

Mac LionにHomebrewでgnuplotをインストール

Homebrewでgnuplotをインストールしたときにちょっと詰まったので、インストール方法を書いておく。

$ brew install gnuplot

とすると、エラーが起きてインストールできない。


「ld: lto: could not merge in .libs/cairo-analysis-surface.o because Unknown instruction for architecture x86_64」

という部分が原因みたいなので、調べると同じような人がいた。
とりあえず、

$ brew install gnuplot --use-clang

とすればインストールできる。

参考サイト

2011年10月26日水曜日

Mac Lionの開発環境を整える

Mac Lionでの開発環境のインストールログ

Xcode

  • gccとかの開発に必要なものがいくつか一緒にインストールされる
  • インストール方法
    1. App Storeよりインストーラをダウンロード
    2. Applicationsにあるインストーラよりインストール
Java
  1. ターミナルで「$ javac」
  2. 自動的にソフトウェアアップデートが立ち上がり、Javaランタイムをインストールするかを聞かれるのではいを選択
Homebrew
Homebrewを利用していれたもの
  • Cocoa Emacs
    1. ターミナルで「$ brew install --cocoa emacs」
    2. ターミナルで「$ /usr/local/Cellar/emacs/23.3a/Emacs.app/Contents/MacOS/Emacs -nw」と入力し、起動チェック
    3. 「$ sudo mv /usr/local/Cellar/emacs/23.3a/Emacs.app/ /Applications/」と入力して、Applicationsに移動。すでにある場合は事前に削除。
  • Python
    • デフォルトではPython 2.7.1が入っているが、2.7.2に変更
    • インストール方法
      1. ターミナルで「$ brew install python」
      2. ~/.bash_profileに「export PATH=/usr/local/Cellar/python/2.7.2/bin/:$PATH」を追加。ファイルがない場合は作成
R関連
  • 本体のインストール
    1. 公式サイトよりパッケージをダウンロード
    2. ダウンロードしたパッケージよりインストール
  • 開発環境RStudioのインストール
    1. 公式サイトよりダウンロード
    2. ダウンロードしたファイルを開き、appファイルをApplicationsにコピー
その他



2011年10月20日木曜日

Mac lionでNumPy/SciPy/matplotlibをインストール

機械学習関連のプログラムを書くときに利用してみようと思ったのでインストールしてみる

事前準備
インストールしたときの状況を覚えていないもの
  • Python
    • 最初から入っているやつではなく、公式サイトからダウンロードしたもの
    • SciPyとかのサイトに入れ直した方がいいみたいなことが書いてあった
    • ダウンロードはここから
  • gccとか
    • XcodeをApp Storeからインストールしておく
    • gccとかいろいろ開発関連のものがインストールされるはず
  • fortran
  • その他
    • 必要なものが他にもあるかもしれない・・・
export
  1. $ export CC=gcc-4.2
  2. $ export CXX=g++-4.2
  3. $ export FFLAGS=-ff2c
以下、実行ディレクトリは適切な場所で
NumPy
  1. $ git clone https://github.com/numpy/numpy.git
  2. $ cd numpy
  3. $ python setup.py build
  4. $ sudo python setup.py install
SciPy
  1. $ git clone https://github.com/scipy/scipy.git
  2. $ cd scipy
  3. $ python setup.py build
  4. $ sudo python setup.py install
matplotlib
  1. $ git clone https://github.com/matplotlib/matplotlib.git
  2. $ cd matplotlib
  3. $ python setup.py build
  4. $ sudo python setup.py install
テスト
このページの使用例より

>>> from pylab import *
>>> x = range(10)
>>> y = [y1**2 for y1 in x]
>>> plot(x, y, 'ro')
[<matplotlib.lines.Line2D object at 0x104118590>]
>>> savefig('test.png')
>>> show()





参考URL



2011年8月7日日曜日

JAMAの固有値分解の実行時間

Javaで簡単に行列計算を行うことができるJAMAライブラリの実行速度を調べてみた。
対象行列の固有値分解がやりたいので、その実行時間を図った。


実行環境

  • OS    : Windows7 Professional(64bit)
  • メモリ: 4GB
  • CPU  : Intel(R) Core(TM) i5 CPU  M460 @ 2.53GHz 2.54GHz

実験方法
乱数を使って対象行列を作成し、固有値分解のみの実行時間をSystem.currentTimeMillis()を使って、


  1. long start = System.currentTimeMillis();
  2. matrix.eig();
  3. long end = System.currentTimeMillis();
  4. long time = end - start;
で測定。
対象行列のサイズを変更したときの、処理時間の変化をみる。

下が実行結果(両対数グラフ)



サイズが5000(グラフの右端)のとき、約2.8時間処理にかかった。
これが遅いのかはわからないので、時間があるときに他のライブラリもためす