ドメイン固有言語(DSL)とは、

DSL(Domain Specific Language)とは、
特定の領域(ドメイン)に特化して設計された言語の事。

〇参考サイト(IT Media)
http://www.itmedia.co.jp/enterprise/articles/0703/20/news015.html

簡単に言えば、
ある特定の事をするための、専用のプログラム言語みたいなもの。

身近で参考になるものは、
・メイクファイル
JavaのビルドツールでAntのbuild.xml
等がある。


例えば、メイクファイルは、
・どのような制御を
・どのようなパラメーターで
・どのような順番で
行うかを、専用の文法で記述します。

つまり、゛ビルド゛という特定の事を行うための専用言語となるので、
メイクファイルもDSLとなる。

ツール:OpenGrok

[OpenGrok] http://hub.opensolaris.org/bin/view/Project+opengrok/
"opengrok - x.x.tar.gz - Binaries only"をダウンロード


[Apache Tomcat] http://tomcat.apache.org/
Tomcat 6.xのWindows Service Installerをダウンロード


[ctags日本語対応版] http://hp.vector.co.jp/authors/VA025040/ctags/
バイナリのみをダウンロード


[Java] http://www.java.com/ja/download/manual.jsp
インストーラをダウンロード


01.必要なソフトウェアをダウンロードする。

02.ダウンロードしたJavaTomcatをインストール。

03.OpenGrokを任意の場所に解凍。

04.解凍したOpenGrokのフォルダ内に、bin、src、dataのフォルダを作成。

05.作成したbinフォルダにctagsの実行ファイルを格納する。

06.OpenGrokフォルダ内のバッチファイル”run.bat”をテキストエディタで編集。

 ○以下記述の”xxxx”に作成したフォルダの絶対パスに変更。
  SRC_ROOT=xxxx
  DATA_ROOT=xxxx

 ○実行コマンドに以下オプションを追加
  -v -P -Q off -W %DATA_ROOT%\configuration.xml

07.編集したバッチファイルを実行。

08.作成したdataフォルダに”configuration.xml”が作成される。

09.Tomcatインストールディレクトリは以下の”webapps”に
  OpenGrokフォルダ直下にある”source.war”ファイルをコピー。

  ※Tomcatが起動中の場合は、格納したsource.warを勝手に解凍する。

10.解凍されたsourceフォルダ配下の「WEB-INF」を開き、”web.xml”を編集する。

11.”web.xml”のconfigration.xmlファイルの格納フォルダを変更

本:気になるタイトル

デスクトップを整理していたら、以前Amazonをぶらっと流し見して
気になる本をピックアップしていたので、転記する。

尚、特別な理由等がある訳ではなく、書評等を見て、
フィーリングでピックアップしています。

はじめて学ぶソフトウェアのテスト技法

はじめて学ぶソフトウェアのテスト技法

知識ゼロから学ぶ ソフトウェアテスト

知識ゼロから学ぶ ソフトウェアテスト

ソフトウェアの欠陥予防 テストより確実な品質改善法

ソフトウェアの欠陥予防 テストより確実な品質改善法

ストーリーで考える「見積り」の勘所 (開発の現場セレクション)

ストーリーで考える「見積り」の勘所 (開発の現場セレクション)

基礎から学ぶ!!ソフトウェア要求仕様書

基礎から学ぶ!!ソフトウェア要求仕様書

基礎から学ぶシステム仕様書

基礎から学ぶシステム仕様書

アジャイルプロジェクト管理 (アジャイルソフトウェア開発シリーズ)

アジャイルプロジェクト管理 (アジャイルソフトウェア開発シリーズ)

実践!アジャイルプロジェクト管理 -スクラムではじめる最強エンタープライズ開発-

実践!アジャイルプロジェクト管理 -スクラムではじめる最強エンタープライズ開発-

実践アジャイル ソフトウェア開発法とプロジェクト管理

実践アジャイル ソフトウェア開発法とプロジェクト管理

はじめての上流工程をやり抜くための本~システム化企画から要件定義、基本設計まで (エンジニア道場)

はじめての上流工程をやり抜くための本~システム化企画から要件定義、基本設計まで (エンジニア道場)

現場で役立つ図解プロジェクトマネジメント実務マニュアル

現場で役立つ図解プロジェクトマネジメント実務マニュアル

本当に使える要求定義

本当に使える要求定義

すいすい習得 UMLモデリング (豆蔵セミナーライブオンテキスト (2))

すいすい習得 UMLモデリング (豆蔵セミナーライブオンテキスト (2))

Executable UML実践入門―クラス・モデルをいかに作成するか (COMPUTER TECHNOLOGYシリーズ)

Executable UML実践入門―クラス・モデルをいかに作成するか (COMPUTER TECHNOLOGYシリーズ)

プロジェクトコスト見積もり入門

プロジェクトコスト見積もり入門

UML:ツール「PlantUML」

現在、シーケンス図やステートチャート図を作成するのにExcelを使っている。
しかし、Excelだと色々と図を作成するのに手間が掛かったり、
編集するにも、手間が掛かって、うんざりしていた。

そこで、UMLを描く為のツール(特にシーケンス図)を前々から探していたが、
使い勝手の良いツールは、なかなか見つからなかった。

私の「使い勝手の良いツール」の条件は、以下の通りである。

 ・フリー又はオープンソースである事。
 ・仕事でも使用可能である事。
 ・シーケンス図の作成がExcelより簡単である事。

ある日、ネットを見ていると、PlantUMLが紹介されていた。
テキストを規定されたフォーマットに従って書くと
ツールでPNG形式のシーケンス図に変換して出力された。

 [ PlantUML ]
 http://plantuml.sourceforge.net/index.html

なかなか良い感じです。
出力されたPNGのシーケンス図に対して微調整ができない等
細かな点で気になる事はあったが、簡単に図が作成できました。
Excelで作成した時間の、50〜60%くらい(ちょっと大袈裟かも?)で
作成できるようになりました。

もうちょっと試してみて、良さそうなら仕事でも使ってみたいと思います。
また、ソースコードも公開されているので、色々とカスタマイズもして見たいです。

Ruby:子プロセスの標準入力に出力

標準入力からユーザーが入力したコマンドを受け付けるスクリプトを、
別のスクリプトが実行・コマンド入力するスクリプトを作ってみた。

簡単に言えば、既存のスクリプトを自動実行するスクリプトである。

仕事で別の人が作ったスクリプトを、ほぼ毎日利用する。
そのスクリプトは、いくつかの機能が実装されており、
コマンドを入力して、起動する機能を選択する。

しかし、利用するのは特定の機能だけだが、毎回スクリプトを実行して
コマンドを入力する手間が面倒ので、1つのスクリプトを実行する操作だけで
完結するようにした。

○コード

IO.popen( "ruby test.rb" , "r+" ){ |cmd_io|

  cmd_io.puts( "user_command" )

  cmd_io.each{ |line|
    puts line
  }

}

○解説
IOクラスのpopen関数を呼び出して、子プロセスを起動してコマンドを実行。
ブロックの引数に子プロセスの標準入出力が設定されるので
入力するコマンドをputs関数で入力していく。

その後、each構文を使って子プロセスの出力内容を1行ずつ読み取って
親プロセスの標準出力に出力していく。

読書感想

速読・多読でビジネス力が高まる!スピード読書術

速読・多読でビジネス力が高まる!スピード読書術

速読への近道は、本を読む時間の絶対量を増やす事。

例えば、
1日10分本を読む習慣を身につければ1週間(平日のみ)で50分。
これを1ヶ月続ければ50分×4週間=200分(3時間強)となります。
1〜2ヶ月で1冊の読み終えそうなので、年間7、8冊は読破できそうです。

結構な量を読むことになると思いませんか?

この習慣を身につけるためには、
本を身近において、

 ・目次を眺める → 気になる箇所があれば読んでみる
 ・流し読みでもいいので読む。

を実践する。(↑も読書した時間にカウントしてOK)

また、最後まで読み終わらないと挫折して
本から距離をおいてしまうので、
分からない箇所があっても、先に進む。

これは、分からない箇所に遭遇した時点では
分からなくても、読み進んだ先で得た情報から
分かるようになるかもしれない。。。
という、意味合いもあります。