Powered by SmartDoc

Tadikarawo:手力雄

2009年 6月30日 火曜日
Akio MIWA
http://triring.net/
これは,Tadikarawoという開発中の個々の作業時刻を記録するためのツールのマニュアルです.
tadikarawo タイトル

毎年7月最後の金曜日は、「システム管理者感謝の日」本年は、7月31日

はじめに

Tadikarawoは,開発中の個々の作業時刻を記録するためのツールです.

nttdocomoのiアプリの開発を支援するソフトウェアであるiαppli Development Kitにヒントを得て作成しました.

ご自身の作業記録を解析するLifeHackツールとして活用してください.

開発動機

このアプリケーションを作成した目的は以下の2つです.

特徴

基本的な機能は,以下の3つです.

  1. 以下のイベント時刻をログファイルに記録します.
  2. コマンドリストに登録された内容をコマンドボタンに割付けます.これにより,それぞれのボタンのクリックだけで,実行が可能になります.
  3. 同じ作業ディレクトリ内のファイルを日常使用しているエディタで開くことができます.

実行環境,インストール,設定,実行

実行環境

Javaで作成したので、基本的には、Java 1.4以上のJVMさえあれば、どのようなプラットホームでも動くはずです。

実行環境がない方は、以下のサイトより、JavaTM 2 Runtime Environment (JRE)を入手してインストールしてください。

http://java.sun.com/getjava/ja/

インストール

以下のファイルをダウンロードしてください.必要に応じて,ドキュメントもダウンロードしてください.

入手したパッケージファイルを展開し,以下の3つのファイルを取り出してください.

  1. 実行ファイルTadikarawo.jar
  2. 設定ファイルtadikarawo.ini
  3. コマンドファイルsample.cmd

この3つのファイルを作業するディレクトリにコピーしてください.

iniファイルの設定

次に,tadikarawo.iniを開いて,以下の2項目を設定してください.

予め,主要なエディタの実行ファイルの保存場所が書かれています.お好みのエディタを選び,コメントをはずしてください.デフォルトはメモ帳に設定してあります.

ログファイルは,デフォルトで,同じディレクトリ内のworklog.csvに保存されるようになっています.

tadikarawo.iniの記述例
#Sun May 24 14:13:15 JST 2009
Logfile=worklog.csv
Editor=C:\\WINDOWS\\notepad.exe
#Editor=C:\\Program Files\\sakura\\sakura.exe
#Editor=C:\\Program Files\\TeraPad\\TeraPad.exe
#Editor=C:\\Program Files\\WZ Editor\\WZEDITOR.EXE

注意:ディレクトリの区切りとして'\'が2つずつ書かれています.これは,間違いではありません.これは仕様です.必ず、'\\'と記述してください。

コマンドファイルの設定

sample.cmdファイルを開き,以下のように使用したいコマンドを登録してください.

sample.cmd
# Prime Makefile test
make clean:クリア:中間ファイル等を削除します.
make all:コンパイル:
make run:実行:出来上がったオブジェクトを実行します.
make backup:圧縮:パッケージを作成のため,圧縮ファイルを作成します.

起動方法

パッケージ内のサンプルとして入れてあるMakefilesample.cmdPrimes.javaを同じディレクトリ内に置いて,実行してみます.

Primes.java 素数を求めるプログラム
/**
 *  100までの素数を求める
 */

public class Primes {
    static int[] generatePrimes(int n) {  // n 個の素数を生成
        int k = 0,  prime[] = new int[n];
        prime[k++] = 2;
        for (int x = 3; k < n; x += 2) {
            int i = 0;
            while (i < k && x % prime[i] != 0) i++;
            if (i == k) prime[k++] = x;
        }
        return prime;
    }

    public static void main(String[] args) {
        final int N = 25;
        int[] prime = generatePrimes(N);
        System.out.print("100までの素数");
        for (int i = 0; i < N; i++) {
            System.out.print(prime[i] + " ");
        }
        System.out.println();
    }
}
Makefile
# Prime test
# テスト
JC = javac

clean:
	rm *.class
all:
	$(JC) Primes.java
run:
	java Primes
backup:
	jar cvf primes.zip Makefile Primes.*
	jar  -i primes.zip

起動は,cygwinのコンソールから,以下のコマンドで起動してください.

tadikarawo.jarの起動
java -jar Tadikarawo.jar -c sample.cmd

図2.3[tadikarawo起動画面]のような起動画面が表示されます.

tadikarawo起動画面

実行

Alt+1,Alt+2,Alt+3,Alt+4の順に、キー操作をするか、コマンドボタンを左から順に,クリックしてください.

図2.5[実行の様子]のように、実行内容とその結果やエラーがコンソールに出力されます.

サンプルのsample.cmdに登録されたコマンド
コマンド ラベル コメント
1 make clean クリア 中間ファイル等を削除します.
2 make all コンパイル
3 make run 実行 出来上がったオブジェクトを実行します.
4 make backup 圧縮 パッケージを作成のため,圧縮ファイルを作成します.
tadikarawo実行画面
実行の様子
rm *.class
javac Primes.java
java Primes
100までの素数
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 \
    89 97
jar cvf primes.zip Makefile Primes.*
マニフェストが追加されました。
Makefile を追加中です。(入 = 163) (出 = 123)(24% 収縮されました)
Primes.class を追加中です。(入 = 1076) (出 = 688)(36% 収縮されました)
Primes.java を追加中です。(入 = 756) (出 = 369)(51% 収縮されました)
jar  -i primes.zip

この時の作業内容が,図2.6[記録されたworklog.csvの内容]のようにタイムスタンプと共に記録されていきます。

コメント機能については,後述します.

記録されたworklog.csvの内容
# logging start 2009-06-27T23:22:27+09:00,Sat
2009-06-27T23:22:27+09:00,Sat,comment,これより,作業を開始します.
2009-06-27T23:22:48+09:00,Sat,comment,まず,最初に古い実行ファイルを削除します.
2009-06-27T23:23:05+09:00,Sat,command,make \
    clean,クリア,中間ファイル等を削除します.
2009-06-27T23:23:26+09:00,Sat,comment,次に,ソースファイルを開きます.
2009-06-27T23:23:39+09:00,Sat,open \
    ,D:\nbdir\Tadikarawo\Primes.java
2009-06-27T23:24:05+09:00,Sat,comment,コンパイルをします.
2009-06-27T23:24:19+09:00,Sat,command,make all,コンパイル,
2009-06-27T23:24:46+09:00,Sat,comment,実行します.
2009-06-27T23:24:58+09:00,Sat,command,make \
    run,実行,出来上がったオブジェクトを実行します.
2009-06-27T23:25:31+09:00,Sat,comment,コマンドラインから,dirを実行してみます.
2009-06-27T23:25:51+09:00,Sat,execute,dir Primes.*
2009-06-27T23:26:15+09:00,Sat,comment,成功したので,圧縮ファイルにして保存します.
2009-06-27T23:26:30+09:00,Sat,command,make \
    backup,圧縮,パッケージを作成のため,圧縮ファイルを作成します.
2009-06-27T23:27:37+09:00,Sat,comment,これで,終了します.
2009-06-27T23:28:07+09:00,Sat,logout ,

メニューとメニューアイテムの解説

メニューとメニューアイテムの機能について説明します。

ボタンパネルの解説

ボタンパネルには,sample.cmd内に書かれたコマンドがボタンとして登録されています。最初のコマンドから順に,1から9までのキーボードニーモニックが設定されます。

Alt+1,Alt+2,Alt+3,Alt+4 ......... Alt+9で,それぞれのラベルの内容を実行できます。

作業記録機能について

基本操作の記録

以下の作業時刻が,自動的にlogファイルに記録されます.

コマンドの直接実行機能について

 ボタンのリストの下にコマンド実行欄があります。ここに、コマンドを書き込み、実行ボタンを押してください。shellでコマンドを実行した時と同じように動作し,その実行時間が作業ログに書き込まれます。コマンドリストに登録していなかったコマンドを実行する時に利用してください.

コメント入力機能について

 最下段にコメント欄があります。ここに、コメントを書き込み、追加ボタンを押してください。作業ログに、記録時間とともに、そのコメントが書き込まれます。以下のような内容を自由に書いてください。

これらは、自分自身を振り返るための記録となります。未来の自分へのメッセージのつもりで書いてください。

今後の開発

todo

ユーザの方へ

ソースリストはすべて公開しておりますので,必要に応じて,拡張および改良をしてください.

また,力量のある方は,解析ツールの開発をお願いします.データは,単純なCSVファイルなので,さほど難しくないと思います.

おまけ

配布パッケージ内にある以下のファイルは、サンプルとして作成したcmdファイルです。

サンプルcmdファイル
ファイル名 用途
etrobocon.cmd ETロボコン用コマンドセット
mozilla.cmd アプリケーションランチャーの例


戻る