Activity Based Datamodel

http://event.seasar.org/sc2006spring/viewAttachment.do?_pageName_=Materials%2FD4.ppt
今さらながら、はぶさんのSeasar Conference 2006 Springの資料を見て、
その分かりやすさに鱗が落ちまくりました。
で、WEB+DB PRESS Vol.21のはぶさんの記事を読み返すと、これまた素晴らしい。何がいいかって、その記事を周りの人への説明にそのまま使えることです。佐藤正美さんのT字型ERだと、その難解な表現ゆえに、「これ通りやってみて」ではどうにもなりません。(同じようなことを言ってるんですけどね)
で、このコードとは別にIDを付けろとか、交差エンティティを作れなどはRailsモデリングには最適なのです。Railsの流行とともに良いDBモデリング手法も流行りますように…

Risk Based Estimation

PragmaticProgrammer MLよりメモ

アジャイルプロジェクトにおけるリスクベースの計画/見積参考図書

Agile Estimating and Planning (Robert C. Martin Series)

Agile Estimating and Planning (Robert C. Martin Series)

以下日経BP社から翻訳されているもの

熊とワルツを - リスクを愉しむプロジェクト管理

熊とワルツを - リスクを愉しむプロジェクト管理

ラピッドデベロップメント―効率的な開発を目指して (MicrosoftPRESS)

ラピッドデベロップメント―効率的な開発を目指して (MicrosoftPRESS)

ソフトウエア開発プロフェッショナル

ソフトウエア開発プロフェッショナル

アジャイルと規律 ?ソフトウエア開発を成功させる2つの鍵のバランス?

アジャイルと規律 ?ソフトウエア開発を成功させる2つの鍵のバランス?

emacs-rails

http://rubyforge.org/projects/emacs-rails/
環境をVMware上のDebianに移したので、rails開発環境をRadRailsからemacs-railsに移してみました。
Emacs Lispファイルなので、gemパッケージはありません。rubyforgeからダウンロードし、Emacsからロードできる位置に.elファイルを置き、.emacsをREADMEに従って書きかえてセットアップ完了です。

現在の最新バージョンは0.39ですが、

  • script、rakeの実行
  • WEBrickのコントロール
  • SQLの実行
  • riと連動したドキュメントの検索

RadRailsに勝るとも劣らない機能を持っています。

良い!

OPI

MozartではEmacsIDEとして使えます。これをOPI(Oz Programming Interface)と呼びます。

コードを書いて「C-. C-b」でバッファ全体が評価されます。
実行結果は*Oz Emulator*バッファに表示されます。「C-. C-b」では自動的に*Oz Emulator*に切り替わらないことがあるようです。

{Show 'Hello World'}

における"{}"ですが、ただのProcedure呼出しでした。S式ではない模様。

パクりパクられ

http://slashdot.jp/article.pl?sid=06/04/24/0311228#927375

一人が一人からパクると>盗作
多数が一人からパクると>風潮
一人が多数からパクると>研究
多数が多数からパクると>文化
#過去の自分からパクると>焼き直し

正にすばらしい洞察

Oz

なんかLotY2002だったHaskellが今ブームっぽいので、先取りして(流行るのか?
)LotY(Language of the Year)2003候補だったマルチパラダイム言語Ozの勉強を始めました。LotYとはPragmaticProgrammer(邦訳「達人プログラマー」)の毎年1つの言語を習得せよというありがたい教えに従い、みんなで勉強しようぜという趣旨のもとpragprogコミュニティで始められた活動ですが、全員の意見を汲み取って1つの言語に決めるのは無理があるね、という至極当然の結論に導かれわずか1年で表舞台から消え去ったという経緯があります。

さてOzの処理系はMozartが代表的です。(というかそれ以外あるのか?)
Debianのstableパッケージにあります。

apt-get install mozart

Ozの特徴は、

という多くの機能があげられており、ごった煮言語のように見えますが、言語仕様自体はシンプルなものになっています。

Hello Worldはこんな感じです。

{Show 'Hello World'}

このブレースの意味はブロックを表すのか何なのか、まだよく分かっていません。