02 May 2015, 11:19

ブログテーマを更新しました

ゴールデンウィークなので, やりたかったことをば.

このブログのデザインを変更してみました.

上記のとおり, オシャレでイケイケなサイトを目指そうと思ったのだけれども,い つもの自分らしく途中で諦めて,

結局このザマですよ. (_‘Д`)

見やすさを意識した今回の改造

以下の点にこだわった.

  • 背景を明るくする
  • テーマ色を赤めにする
  • シングルカラムにする
  • 文字を大きくする

今までは小さな文字でチマチマと細かく文章を書いていたのだが, 思い切ってシングルのカラムにして, スペースを広くつかうようにした.

いろいろなサイトを参考にしてみたが, Web デザイナー系のサイトは,シングルカラムが多いように見えた.

このブログの色を赤に決めた. 統一感を出したかったから. その裏には, 挑戦 , 情熱 といった意味を込めた.

サイトのテーマを github で管理

自分の修正を github で公開するようにした.

このリポジトリに以下を貯めていくことで, 知識を集約する.

  • コードスニペット
  • 開発ノウハウ
  • プラグイン覚書

公開する理由は, Emacs のように設定ファイルを管理して public に公開したかったから.

Futurismo は 有料の Wordpress テンプレート 賢威 を利用している.

そのため, テンプレートは自分で手を入れた部分のみをモジュール化して, 公開することにする.

くれぐれも, 賢威の部分は公開しないようにする.

ハッカー未来派宣言の署名ボタンを設置

ハッカー未来派宣言.

このブログの立ち上げ時に執筆してから 3 年が経った. いまだ隠しページのような存在だ.

この宣言文はこのブログの本質にある思想なので, これをもっとアピールするために,シェアボタンをつけた.

なんか, アジャイル宣言やリアクティブ宣言のようじゃないか?

これから

実は, 5 月は病院に入院するので, その間にもう一度サイトの修正をしてみようと思う.

モダンイケイケの本質はなにか?

それは, 動きのあるサイト な気がする.

つまり, JQuery を利用したサイトが,自分にとって, カッコいいと感じる.

そのため, 次は JQuery を導入してみようと思う.

02 May 2015, 10:29

Emacs org-mode でPowerPoint資料を作成してみる(beamer)(失敗)

前回の続きです.

前回は、ODT経由でPowerPoint資料をつくろうとして、失敗しました. 今回は、Beamer(Latex)経由で作成してみます.

結論から書くと、beamerの方法も挫折しましたが、 もう PowerPointに変換しなくてもbeamerでいいじゃん とおもってきました.

org-mode形式 -> beamer形式 -> PDF形式 -> ODP形式 -> PPT形式

ox-beamerパッケージを利用する. これは、org-modeにデフォルトで入っているので、 以下のようにrequireする.

(require 'ox-beamer)

実行のためには、 pdflatex コマンドが必要. Latex環境をまるまるインストールしてしましった.

M-x org-beamer-export-to-pdf を実行すると、 beamerをPDFに変換したものを出力できる.

文字化けについて

UTF-8でないと変換できなかった. また、 pdflatexコマンドだと失敗するので、 実行のためのコマンドをpdfplatexコマンドに変更した.

(setq org-latex-pdf-process
  '("pdfplatex %f"
    "pdfplatex %f"
    "pdfplatex %f"))

PPTへの変換

PDFから PPTへうまい方法が見つからない..

以下の方法がみつかったが、どうもうまくいかない.

Special Thanks

この動画に惹かれた.

02 May 2015, 08:15

Emacs org-mode でPowerPoint資料を作成してみる(ODT経由)(失敗)

職場で作成するドキュメントはWordかExcel, PowerPointが標準だ. 最近、Lyncが社内に導入された関係でやけにPowerPointで資料を作成する 風土が増えてきた.

チキンなボクは、そんな風土に歯向かうほどの勇気がないので、 長いものにまかれてMicrosoft製品を使わざるを得ない. そこで、Emacs org-modeで PowerPointの資料がつくれないものか調べてみた.

結果的に失敗したのだが、かわりに Word仕様書をorg-modeで書く技 をみつけた.

方針

大きく分けて、以下の2つの方法があるようだ.

環境

  • Windows 8.1
  • PowerPoint 2013

実は、PowerPointを自宅に持っていないので、評価版を利用.

org-mode形式 -> ODT形式 -> ODP形式 -> PPT形式

org-mode から ODT形式に変換

ox-odtパッケージを利用する.

これは、org-modeにデフォルトで入っているので、 以下のようにrequireする.

(require 'ox-odt)

実行のためには、

  • zip
  • unzip

コマンドに環境変数PATHが通っている必要があった. 自分の場合は、cygwinからダウンロードしたコマンドにパスを通した.

M-x org-odt-export-to-odt を実行すれば、odt形式のファイルが作成される.

ODT形式から PPT形式に変換

LibreOffice Writer からODTファイルを開く.

ファイル -> 送る -> プレゼンテーションに自動抽出

を選択.ODP形式でパワーポイントに出力される. それを PPTとして保存.

これでいけた!と思いきや… アウトラインしか出力されず、中身空っぽ.. これでは使えない(#゜Д゜)y-~~

しかし、このodtを Word形式やPDF形式に変換することで、 仕様書がorg-modeで作成できる!(\^_\^;)

おわりに

今回の記事では、PPTの作成ができなかった. 次回? beamerを試してみる.

怪我の香味で、ODTファイルをWord変換やPDF変換する方法が試せた. このことによって、

仕様書をorg-modeで執筆することができる

これは、とても嬉しいことだ.

26 Apr 2015, 07:26

Emacs でテクノを奏でる?! overtone 連携 と Emacs Live と を試す

はじめに

前回, overtone を起動しました.

今回は Emacs から利用するまでを試します.

Emacs Live

Emacs Live は Overtone を Emacs から操るための 環境, ツール群, Emacs の設定.

<p>
</p>

<ul class="org-ul">
  <li>
    <a href="https://github.com/overtone/emacs-live">https://github.com/overtone/emacs-live</a>
  </li>
</ul>

Install

<div class="outline-text-3" id="text-unnumbered-3">
  <p>
    overtone の設定は, 前回の記事を参照.
  </p>

  <ul class="org-ul">
    <li>
      <p>
        <a href="http://futurismo.biz/archives/3127">Clojure で楽器を演奏しよう! Overtone をインストールしてみた | Futurismo</a>
      </p>

      <p>
        以下のスクリプトを実行する.
      </p>
    </li>
  </ul>

  <p>
    [sourcecode language=&#8221;bash&#8221; title=&#8221;&#8221; ]<br /> bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh) [/sourcecode] 

    <p>
      ~/.emacs.d に emacs live 用の環境が作成される.
    </p>

    <p>
      もし, すでに .emacs.d が存在する場合は, emacs-live-old-config ディレクトリに旧設定がコピーされる.
    </p></div> </div> 

    <div id="outline-container-unnumbered-4" class="outline-3">
      <h3 id="unnumbered-4">
        Getting Started
      </h3>

      <div class="outline-text-3" id="text-unnumbered-4">
        <ul class="org-ul">
          <li>
            lein repl 起動.
          </li>
          <li>
            emacs 起動.
          </li>
          <li>
            M-x cider-connect で lein に接続する <ul class="org-ul">
              <li>
                localhost/port 番号 (lein repl 起動時にコンソールに出る) を入れる.
              </li>
            </ul>
          </li>
        </ul>

        <p>
          これで, emacs 上から, repl を操作することができる.あとは, コンソー ルから overtone を利用するときと同じ.
        </p>

        <p>
          [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221; ]<br /> # External server 起動<br /> $ user=> (use &#8216;overtone.core)<br /> $ user=> (boot-external-server)
        </p>

        <p>
          # 音がでるか確認. ピーっと音が出れば OK.<br /> user=> (demo (sin-osc))<br /> [/sourcecode]
        </p>
      </div>
    </div>

    <div id="outline-container-unnumbered-5" class="outline-3">
      <h3 id="unnumbered-5">
        ファイルに音楽を書く.
      </h3>

      <div class="outline-text-3" id="text-unnumbered-5">
        <p>
          github にサンプルの音楽が置いてある.
        </p>

        <ul class="org-ul">
          <li>
            <a href="https://github.com/overtone/overtone/wiki/Swing">https://github.com/overtone/overtone/wiki/Swing</a>
          </li>
        </ul>

        <p>
          適当なファイルを作成して, コピペ後, C-x C-e でひとつずつ評価すると, コードが repl に送信されて, 音がなる. Live Coding !!
        </p>
      </div>
    </div></div> 

    <div id="outline-container-unnumbered-6" class="outline-2">
      <h2 id="unnumbered-6">
        自分の Emacs で overtone をつかう
      </h2>

      <div class="outline-text-2" id="text-unnumbered-6">
        <p>
          overtone を利用する度に自分の Emacs 設定を Emacs live に置き換えたくは ないので, 自分の Emacs 環境で overtone を利用する方法を試す.
        </p>

        <p>
          Emacs Live を利用すためには, 以下を入れる必要あり.
        </p>

        <ul class="org-ul">
          <li>
            clojure-mode
          </li>
          <li>
            cider
          </li>
        </ul>

        <div data-theme="default" data-height="155" data-width="500" data-github="clojure-emacs/cider" class="github-card">
        </div>

        <p>
        </p>

        <p>
          自分は, el-get からインストールした.
        </p>
      </div>

      <div id="outline-container-unnumbered-7" class="outline-3">
        <h3 id="unnumbered-7">
          clojure-mode
        </h3>

        <div class="outline-text-3" id="text-unnumbered-7">
          <p>
            Clojure のためのメジャーモード.
          </p>

          <ul class="org-ul">
            <li>
              <a href="https://github.com/clojure-emacs/clojure-mode">https://github.com/clojure-emacs/clojure-mode</a>
            </li>
          </ul>

          <p>
            [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221; ]<br /> (require &#8216;clojure-mode)<br /> [/sourcecode]
          </p>
        </div>
      </div>

      <div id="outline-container-unnumbered-8" class="outline-3">
        <h3 id="unnumbered-8">
          cider
        </h3>

        <div class="outline-text-3" id="text-unnumbered-8">
          <p>
            Clojure のためのインタラクティブな開発環境.
          </p>

          <ul class="org-ul">
            <li>
              <a href="https://github.com/clojure-emacs/cider">https://github.com/clojure-emacs/cider</a>
            </li>
          </ul>

          <p>
            [sourcecode language=&#8221;emacs-lisp&#8221; title=&#8221;&#8221; ]<br /> (require &#8216;cider)<br /> (add-hook &#8216;clojure-mode-hook &#8216;cider-mode)<br /> (add-hook &#8216;cider-mode-hook &#8216;cider-turn-on-eldoc-mode)<br /> [/sourcecode]
          </p>
        </div>
      </div>

      <div id="outline-container-unnumbered-9" class="outline-3">
        <h3 id="unnumbered-9">
          Getting Started
        </h3>

        <div class="outline-text-3" id="text-unnumbered-9">
          <p>
            Emacs Live と起動方法は同じ. 音が出れば OK.
          </p>
        </div>
      </div>
    </div>

    <div id="outline-container-unnumbered-10" class="outline-2">
      <h2 id="unnumbered-10">
        おわりに
      </h2>

      <div class="outline-text-2" id="text-unnumbered-10">
        <p>
          Emacs Live には, いろいろ便利な関数や色が定義されているので, 時間をみて Emacs Live の リポジトリを眺めてみよう.
        </p>

        <p>
          今日はここまで!
        </p>
      </div>
    </div>

    <div id="outline-container-unnumbered-11" class="outline-2">
      <h2 id="unnumbered-11">
        Special Thanks
      </h2>

      <div class="outline-text-2" id="text-unnumbered-11">
        <ul class="org-ul">
          <li>
            <a href="http://bzg.fr/emacs-org-babel-overtone-intro.html">Emacs Org and Overtone quick intro</a>
          </li>
          <li>
            <a href="http://atsuya046.hatenablog.com/entry/2015/02/11/232316">Emacs で Overtone 演奏環境構築 &#8211; のぶ Lab.</a>
          </li>
        </ul>
      </div>
    </div>

23 Apr 2015, 04:17

コッソリ音楽を楽しむならこれ! mps-youtube でコマンドラインから Youtube の音楽を聴く

はじめに

音楽をききながら作業をすると, 生産性が上がる.

しかし, 職場で Youtube をどうどうと見ながら仕事をするは気が引ける.

そんなときに, コマンドラインから Youtube の聞くことができる mps-youtube をつかうと便利だ.

[toc]

メリット

以下の点かいい.

  • コマンドラインツール.
  • python でかかれているため, Windows, Mac, Linux どこでも動く.
  • 広告なしで聞ける.
  • repeat 再生が簡単 (repeat keyword 指定)
  • 複数の音楽をまとめてきくのが簡単 (数字指定)
  • かくれながらこっそり利用できる.

広告をみなくていいところが素晴らしい.

つかいかた

Install (Windows)

Windows 環境へインストールする.

python のツール pip を利用してインストール.

python がない場合は, 以下からインストール.

ここでは, Python 3.4 をインストール. C:\Python34 にインストールされる. インストールしたら, C:\Python34\Scripts に環境変数パスを通す.

以下を実行すると, C:\Python34\Scripts\mpsyt.exe がインストールされる.

$ pip install mps-youtube

使い方

コマンドプロンプトから, mpsyt をたたいて起動.

/ (keyword) で キーワード検索する. 検索結果がリストされるので, 番号を指定して音楽を指定

文字コード指定

日本語の検索結果を表示しようとすると, エラーする. コマンドプロンプトの文字コードを UTF-8 にする.

chcp 65001

以上, Happy Listening!!.

22 Apr 2015, 15:28

プログラマとしての自分はなぜ学ぶのか?

はじめに

なぜ学ぶのか?

この言葉を Google で検索すると, なぜか NHK 大河ドラマの花燃ゆばかりが引っかかる.

というわけで, 今日はプログラマとして自分はなぜ学ぶのかを考える.

組織を守るため

会社の生存競争に勝つために, 最新技術を学びつづける.

技術は日々進歩する.

プログラマは最新技術についていかないと生きていけない, 競争に負けてしまう.

このことは, 結構差し迫ったシビアな問題だ. 現在努めている職場も, 皆が最新技術を学ぶことに執着しなければ, この先も仕事があるか危うい

職を得るため

お金を得るために, 知識を得る.

プログラマは, 技術があれば, たとえ会社が倒産しても生きていける. また, 技術があれば, いろんなチャンスに手をあげることができる.

この 1 年で, 自分は Ruby, Java を利用するプロジェクトに関わることができ た.その理由のひとつは, 独学で言語をたくさん学んでいたからだと思っている.

自分の可能性を広げるため

自分の可能性を広げるために, 学ぶ.

学べば学ぶほどに, 自分ができることが広がっていく. それが, プログラミングの世界.

様々な領域の技術や知識があれば, いざなにかをやろうと考えたときに, できることが広がる. ハックするために学ぶのだ.

チャンスが生まれたときに, 手をあげることができる. そのために, 爪はいつでも研ぎ澄ませておく必要がある.

志を為すため

なぜ学ぶのか, 己れの志を為すために学ぶ.

以下の記事にも書いた.

志はなんだ? それは, すごいプログラマになること.

自分は, いったいなにができるのだろう? いつもかんがえている. それは, なにもできないから, そのことが不安だから.

自分がなにかをするために, そのなにかを見つけるために, 学ぶ. 未だに, 青年モラトリアムを抜け出せないでいる.

知的絶景を眺めるため

知的絶景を眺めるために学ぶ. 爽快感を得るために学ぶ.

疲れるのに, なぜ山上りをするのだろう. それは, 美しい景色を見るため.

なぜ眠いのに, つかれているのに, 本を読むのだろう. それは, 知的絶景を眺めるため. それは同じことではないか?

苦しいことよりも, それを乗り越えたときにある快楽を求めているのだ. ここまでつらつらと思うことを書いてきたけれども, 一番の動機はこれでは ないかとおもう. 快楽のためという, だらしない理由.

好きな交響曲に, ブルックナーの交響曲第 5 番がある.

旋律やリズムがいくどとなく繰り替えされて, カタチを買えていく. 最後には, 壮大なフィナーレに至る.

そういうものを, 学びに求めている. たとえば, こういうやつ.

21 Apr 2015, 06:55

Windows 環境の Emacs から Linux マシンに tramp で乗り込む方法メモ

はじめに

昨日, 職場で vi しかインストールされていないという, ぼくたち Emacs ユーザにとっては恐怖にみちた Linux マシンをつかった.

もちろん, vi コマンドなんて覚える気はないので, 全くなにもできない.

そこで, Windows から Emacs の tramp 機能を利用して, Linux マシンへ ssh 接続する方法を調べた.

Environment

環境は, AWS から Ubuntu を借りて利用する.

  • Windows 8.1 (Client)
  • Ubuntu 14.0 (Server)

Cygwin をつかう

cygwin 上で動く Emacs から tramp を利用する方法は簡単. C-x C-f のあとに以下を入力.

/ssh:(ユーザ名)@(ホスト名):

:を押すと, パスワードがきかれるので答える.

AWS へ乗り込む

AWS は公開鍵を利用して, アクセスする必要がある. tramp には, 公開鍵を指定する方法がない.

そこで, .ssh/config に設定を書くことで, alias を作成する.

以下を参考に, .ssh/config に設定を追記.

Host remote_box_alias
    HostName ip_or_address_of_remote
    User username
    IdentityFile path_to_pem_file

あとは, alias 名を打てば良い

/ssh:remote_box_alias:

GUI 版 Emacs を利用する

なんと, ssh がつかえない. かわりに plink という外部ツールを利用する.

以下から, Putty のインストーラを落としてきて, putty をインストールする と, 付随で plink がついてくる.

plink.exe があるフォルダに, 環境変数 PATH を通す.

Emacs を起動して, C-x C-f 後, 以下を入力.

/plink:(ユーザ名)@(ホスト名):

ssh から plink に変更している.

AWS へ乗り込む

putty の機能を使って, session を保存する. 保存の仕方は, 以下のサイトを参照. .pem ファイルは, putty 形式の鍵に変換が必要なところに注意.

作成した, session 名を指定して接続する.

/plink:(alias 名)

おわりに

これで, すべてが Emacs.

19 Apr 2015, 12:37

Clojure で楽器を演奏しよう! Overtone をインストールしてみた

はじめに

前回, overtone を起動しました.

今回は Emacs から利用するまでを試します.

Emacs Live

Emacs Live は Overtone を Emacs から操るための 環境, ツール群, Emacs の設定.

Install

overtone の設定は, 前回の記事を参照.

bash <(curl -fksSL https://raw.github.com/overtone/emacs-live/master/installer/install-emacs-live.sh)

~/.emacs.d に emacs live 用の環境が作成される.

もし, すでに .emacs.d が存在する場合は, emacs-live-old-config ディレクトリに旧設定がコピーされる.

Getting Started

  • lein repl 起動.
  • emacs 起動.
  • M-x cider-connect で lein に接続する
    • localhost/port 番号 (lein repl 起動時にコンソールに出る) を入れる.

これで, emacs 上から, repl を操作することができる.あとは, コンソー ルから overtone を利用するときと同じ.

# External server 起動
$ user=> (use 'overtone.core)
$ user=> (boot-external-server)

# 音がでるか確認. ピーっと音が出れば OK.
user=> (demo (sin-osc))

ファイルに音楽を書く.

github にサンプルの音楽が置いてある.

適当なファイルを作成して, コピペ後, C-x C-e でひとつずつ評価すると, コードが repl に送信されて, 音がなる. Live Coding !!

自分の Emacs で overtone をつかう

overtone を利用する度に自分の Emacs 設定を Emacs live に置き換えたくは ないので, 自分の Emacs 環境で overtone を利用する方法を試す.

Emacs Live を利用すためには, 以下を入れる必要あり.

  • clojure-mode
  • cider

自分は, el-get からインストールした.

clojure-mode

Clojure のためのメジャーモード.

(require 'clojure-mode)

cider

Clojure のためのインタラクティブな開発環境.

(require 'cider)
(add-hook 'clojure-mode-hook 'cider-mode)
(add-hook 'cider-mode-hook 'cider-turn-on-eldoc-mode)

Getting Started

Emacs Live と起動方法は同じ. 音が出れば OK.

おわりに

Emacs Live には, いろいろ便利な関数や色が定義されているので, 時間をみて Emacs Live の リポジトリを眺めてみよう.

今日はここまで!

Special Thanks

18 Apr 2015, 23:58

Clojure で Hello, World

はじめに

千里の道も Hello World からはじまるというユダヤの教えがありますが, 今回は, Clojure で Hello, World をしてみます.

[toc]

Environment

  • Arch Linux
  • Java 1.7

Clojure とは

Clojure は JVM 上で動く Lisp 系モダン関数型言語.

- 以下の本によると, Clojure の魅力は, **簡潔さと力**. つまり... **Elegant**

インストール

事前に, JDK6 以上 をインストールしておくこと.

ダウンロード

以下からダウンロードして解凍.

leiningen

leingen は, clojure 用のビルドツール.

github のページにしたがい lein スクリプトをインストール.

Hello, World

プロンプトから起動

Clojure 起動.

java -cp clojure-1.6.0.jar clojure.main

=>user というプロンプトがでる. 以下を入力で, Hello, World!!

user=> (println "Hello, World!!")
Hello, World!!
nil

REPL から実行

lein から REPL (インタラクティブスクリプト) を呼び出す.

lein repl

user=>というプロンプトがでる.あとは, 上と同じ.

ファイルから実行

ファイルに保存して実行する. 拡張子は, .clj

echh "(println \"Hello, World!!\")" >> hello_world.clj
java -cp clojure-1.6.0.jar clojure.main hello_world.clj

Special Thanks

18 Apr 2015, 08:59

ScalaCheck をつかって Java の性質テスト (Property-based Testing) をしてみる

はじめに

Property-based Testing というものを知ったので, Java でできるか試してみました.

[toc]

Property-based Testing とは

うまい日本語訳がないのだが, この記事では性質テストとする.

ある集合のなかにある要素から取り出した値をつかって, 総当たりテストをして, 条件式がなりたつことを確認するテスト.

よく数学の問題で, 任意の x について hogehoge がなりたつことを証明せよ みたいなのがあるが, hogehoge が 性質にあたるもの.

上手く説明できないので, 大量の参照リンクをはっておく.

英語:

ScalaCheck

Scala の 性質テスト用ツールで, ScalaCheck というものがある.

Scala なので, Java にもつかえるか試す.(私は, 現在 java プログラマなので)

target

<div class="outline-text-3" id="text-unnumbered-4">
  <p>
    以下のコードをテスト.
  </p>

  <p>
    [sourcecode language=&#8221;java&#8221; title=&#8221;&#8221;]<br /> package example;
  </p>

  <p>
    public class MyArithmetic {<br /> public static int add (int a, int b) { return a + b; }<br /> public static int del (int a, int b) { return a &#8211; b; }
  </p>

  <p>
    public static void main (String[] args) {<br /> System.out.println (add (1, 2));<br /> }<br /> }<br /> [/sourcecode]
  </p>
</div>

Java で sbt をつかう

scala のテストツールなので, scala の ビルドツール sbt をつかうのが楽.

src/main/java 配下に ソースをおいて, root で sbt を起動すると なんと Java コードが sbt で使えてしまう.

これはこれで, 手軽さに驚いた. Java のビルドツールとして使えそう.

[sourcecode language=”bash” title=””]
# コンパイル
> compile

# main 関数を自動で検索して実行
> run
[/sourcecode]

ScalaCheck をつかう

以下のようなファイルを作成して, src/test/scala 配下におく.

[sourcecode language=”scala” title=””]
import org.scalacheck.Properties
import org.scalacheck.Prop.forAll

import example._

object MyArithmeticSpecification extends Properties ("MyArithmetic") {

property ("add") = forAll { (a : Int, b : Int) =>
val aa = a % 100
val bb = b % 100
val c = MyArithmetic.add (aa*aa, bb*bb)
c >= aa*aa && c >= bb*bb
}

property ("add2") = forAll { (a : Int) =>
val aa = a % 100
aa * aa >= aa
}

property ("del") = forAll { (a : Int, b : Int) =>
val aa = a g% 100
val bb = b % 100

val c = MyArithmetic.del (aa*aa, bb*bb)

c <= aa*aa || c <= bb*bb
}
}
[/sourcecode]

root ディレクトリの build.sbt に以下を書く.

[sourcecode language=”bash” title=””]
libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.12.2" % "test"
[/sourcecode]

ファイル構成はいかのようなかんじ

[sourcecode language=”bash” title=””]
— build.sbt
src
main
java
MyArithmetic.java
test
scala
MyArithmeticSpecification.scala
[/sourcecode]

テスト実行

[sourcecode language=”bash” title=””]
$ sbt test
[info] + MyArithmetic.add: OK, passed 100 tests.
[info] + MyArithmetic.add2: OK, passed 100 tests.
[info] + MyArithmetic.del: OK, passed 100 tests.
[info] Passed: Total 3, Failed 0, Errors 0, Passed 3
[success] Total time: 1 s, completed 2015/04/18 17:54:54
[/sourcecode]

おわりに

むかしむかし, CUnit のことを課長にはなしたことがあったのだが, (うたぐり深い) 課長は, xUnit のようなものでは品質がとれないと突っかかってきた.

全部網羅したテストじゃないと, 完全にバグがないなんて言いきれない

自分はこれに対して反論ができなかった.

いまならば, 反論できる.Property-based Testing はどうだろう? 乱数による総当たりテストならば, 信じてくれるのではないだろうか?