2009年06月14日

なぜDSLを採用するのか?

DSLとは、Domain-Specific Languageの略です。
ドメイン特化言語、またはドメイン固有言語などと訳されます。
特定の問題領域のみに焦点をあてて設計された言語をさします。
オフィス製品によくあるマクロや、正規表現などがいい例です。

 マクロや正規表現などのように、なにげなくDSLを利用する場面は多いのですが、自分でDSLを設計、実装するとなると、積極的に行われることは少ないようです。
多くの場合、DSLを採用すれば効果的な場面が、見過ごされているのではないでしょうか。
「今こそ、DSLが最適な解だ!」というインスピレーションが生まれないのは、DSLが実際どんなことを解決してくれるのかについて、あまり理解されていないことが原因なのではないかと思います。
そこで、今回は一例として、私が実際にDSLを採用した際の動機について述べてみたいと思います。
続きを読む
posted by craftsman at 05:37 | 東京 曇り | Comment(0) | TrackBack(0) | 発展編

2009年06月06日

Groovy

 前回、スクリプト言語を選ぶのにも考え込んじゃってる優柔不断っぷりをご披露したわけですが、今回は、結局何を選んだのかについて書きたいと思います。

 結論から言うと、私が選んだスクリプト言語はGroovyです。
Javaメインの開発者としては、もっとも驚きの少ない選択かと思います。続きを読む
posted by craftsman at 22:16 | 東京 曇り | Comment(0) | TrackBack(0) | 雑草の雑想

2009年05月17日

スクリプト探し

 このアーティクルは、ゴテゴテでかくて厳格なプログラミング言語を使う開発者(たとえば私)のはなしです。
スマートでライトな言語を使う開発者の方には、最初っから関係のないことですので、お読みになってもあまり得るものはないかもしれません。続きを読む
タグ:スクリプト
posted by craftsman at 12:00 | 東京 雨 | Comment(0) | TrackBack(0) | 雑草の雑想

2007年08月24日

概念クラス図: 概念とその関連を探る

 今回は、いよいよクラス図のお話です。
基礎 第6回: オブジェクトの関連―汎化の記事でもお話ししましたが、クラスとは概念です。
人が何かするとき、そこには概念があります。
いろんな概念があって、それらが相互に作用しあって、その人の考えや行動を構成しているのです。

 だから、人の行動や考え方を理解するには、そこに登場するいろいろな概念と、それらの関連を理解しなければなりません。
ソフトウェアというのは、人の行動や思考を肩代わりするものですので、ソフトウェアの中には、それら概念や関連が再現されていなければならないわけです。

 クラス図には、目的に応じていくつかの書き方があります。
今回は、概念(=クラス)とその関連を探し出し、書き留めることを目的とする、概念クラス図についてお話ししたいと思います。

コンテンツ

  1. 分析ですよ
  2. クラスを探す
  3. 関連を考える
  4. いよいよクラス図
  5. ヒューリスティック
続きを読む
タグ:UML 分析
posted by craftsman at 00:06 | 東京 台風 | Comment(2) | TrackBack(0) | UML

2007年08月15日

ペアプログラミングを定着させるには

 ペアプログラミングは、よく知られたプラクティスですので、たいていの人は名前くらいは聞いたことがあるのではないでしょうか。
どういうプラクティスなのか簡単に言えば、名前のとおり2人1組のペアでプログラミングするというものです。
アジャイル開発プラクティスのひとつですね。

 ただ、なんのためにわざわざペアを組んでプログラミングするのか、どうやったら効果的に導入することができるのかについては、どうでしょう?
知らない方も、けっこういらっしゃるのではないでしょうか。

 今回は、私がペアプログラミングを現場に導入した経験を振り返って、このあたりのお話をしてみたいと思います。

コンテンツ

  1. 誰が障壁?
  2. なぜイヤなのか?
  3. どうやって克服するか
    1. 品質特性
    2. 品質宣言
    3. コミュニケーション
  4. 開発時間を短縮する
  5. 成功のヒケツ
続きを読む
posted by craftsman at 08:37 | 東京 晴れ | Comment(3) | TrackBack(0) | 発展編

2007年08月12日

バルダーズ・ゲート

 コンピュータD&Dの金字塔と言われるゲームです。

 D&Dルールが非常によく再現されていることと共に、いろいろな特徴が、現在のNeverwinter Nightsシリーズにも受け継がれています。

 リアルタイムでスピーディな展開と、それでいて、いつでもポーズしてじっくり考えることができるところもそうです。
続きを読む
タグ:PCゲーム D&D
posted by craftsman at 02:51 | 東京 晴れ | Comment(0) | TrackBack(0) | ゲーム

2007年08月10日

ロード・オブ・ザ・リングス オンライン アングマールの影

 the Lord of the Rings―指輪物語のMMORPGです。

 MMOってのは、Massively Multiplayer Onlineの略で、大規模なマルチプレイヤーのオンラインゲームってことです。
普通、サーバーに数百人以上のプレイヤーが同時に接続し、同じ仮想空間を共有するようなものを指します。

 このゲームは、たくさんの人がミドルアースの住人となり、見事に再現されたロード・オブ・ザ・リングの世界での活躍を楽しむものです。続きを読む
posted by craftsman at 21:14 | 東京 曇り | Comment(0) | TrackBack(0) | ゲーム

2007年08月09日

Decorator(デコレータ)パターン

 今回は、デコレータパターンのお話です。
デコレータパターンは、オブジェクトに自由に振る舞いを追加する方法です。
以下のような特徴を持っています。
  • 振る舞いを追加してもしなくても、クライアントは違いを気にしないで済む
  • 振る舞いを動的に追加することができる
  • 対象のオブジェクトを小さく保つことができる

これらの特徴を一つずつ探っていきましょう。

コンテンツ

  1. ポイントカードシステム
  2. クライアントは違いを全く気にしないで済む
  3. る舞いを動的に追加することができる
  4. 対象のオブジェクトを小さく保つことができる
  5. デコレータパターンのしくみ
  6. 他のパターンとの関係
  7. オススメ
続きを読む
posted by craftsman at 04:13 | 東京 曇り | Comment(0) | TrackBack(0) | デザインパターン

2007年08月07日

初めて学ぶソフトウエアメトリクス~プロジェクト見積もりのためのデータの導き方

 ソフトウェア開発のスケジュール管理、工数管理はうまくいっていますか?

 納期は守れてますか?
予算や工数は超過していませんか?
無理な残業は?

 この本は、ソフトウェア開発プロジェクトを掌握し、制御するためのメトリクス(測定基準)について、教えてくれます。
続きを読む
posted by craftsman at 02:06 | 東京 曇り | Comment(0) | TrackBack(0) | プログラミングの本

2007年08月05日

ビューティフル塊魂

 ご存知ですか?塊魂。

 塊をごろごろ転がすだけの塊魂。
いろんなものを巻き込んで巻き込んで、くっつけてくっつけて大きくしていく塊魂。
シュールでポップな塊魂。

 単純でおもしろい。
単純におもしろい。続きを読む
タグ:Xbox360 PS3 PS2 PSP
posted by craftsman at 23:49 | 東京 霧 | Comment(0) | TrackBack(1) | ゲーム