2008-03-01から1ヶ月間の記事一覧

JavaとScalaの比較表

Note: this is not a language comparison exercise [i.e., X versus Y comparison to "conclude" which one is better!]. Rather, it is an attempt to give head-start to the Java programmers who want to learn other languages that run on the Java p…

機動戦士ガンダム:上井草駅に記念オブジェ 富野監督も祝福

上井草駅の発車メロディーをガンダムの主題歌「翔べ!ガンダム」に変更することが発表された。 やべぇ、すげぇ、楽しみだー!

ガンダム モニュメント登場!

うちの最寄り駅(西武新宿線の上井草駅)に ガンダムの銅像が3月23日付けで登場しました。 たまたまテレビ撮影している現場に通りかかったのですが、 取材でインタビューに答えていた高齢の方が 『自分よりも○○さんの方が適任なのに〜。』とか言いながら と…

プログラマのあるべき心構え

安定化に向かおうとしているなかの、最後の大仕事として 「SetupSelectの無限階層化」をやろうと決意し、 絶対にデグらないようにとテストテストしたつもりでしたが、 開発者の自分が現象を先に掴むことができませんでした。 非常に悔しい悔しいバグでした。…

動的言語と静的型付け言語の良さを美味しいとこ取り

Scalaが依然として静的型付け言語であるということを思い出してほしい。「動的言語の特徴のように見える物」が、実はそうでもないことがみえてくるのではないだろうか。実際Scalaを学んでいくと「型安全性と実行効率を引き換えに記述性と柔軟性を手に入れる…

S2JDBCでリッチドメインモデルはYes?No?

S2JDBCを使ってエンティティ内にビジネスロジックを定義する リッチドメインモデルの手法は効果的なのだろうか? 現時点での私の考えはNo。 「S2JDBCのようなレイジーロードをサポートしていないO/Rマッパーで リッチドメインモデルを実現するのは実務的では…

アクションの粒度はページの方が良さげ?

アクションの粒度はユースケースなので、 ちょっと規模大きくなるとソースコード量がわりとすぐに肥大化してしまう。 肥大化すると、いろいろと面倒なので、分かりやすさも考慮すると、 アクションの粒度はTeedaと同じページ単位の方が良い気がしてきた。 (…

Scalaで書かれたWebアプリフレームワークlift Web Framework

lift Web Frameworkは、Java仮想マシン上で動作する関数型言語「Scala」で書かれたWebアプリケーションフレームワーク。既存のフレームワークのよい点を積極的に取り入れながら開発が進められており、Smalltalkのフレームワーク「Seaside」に搭載されている…

Apache MavenによるJavaプロジェクトポータビリティの向上

Apache MavenによるJavaプロジェクトポータビリティの向上 http://japan.internet.com/developer/20070109/27.html 社内の人に教えてもらったMaven2の良さげなページ。 ps. なんだかんだ言ってもMaven2は敷居が高いなぁ。 そもそもあれだけ複雑なXMLの手書き…

Hello Worldを書いてみる

前々から気になっていたプログラミング言語Scalaで HelloWorldを書いてみました。 HelloWorld.scala object HelloWorld { def main(args: Array[String]): Unit = { System.out.println("Hello World") } } 環境構築は http://www.scala-lang.org/ からダウ…

アクションの配列プロパティを指定の文字で連結する

[Action側] public String[] hoge = {"aaa", "bbb", "ccc"}; [JSP側] ${fn:join(hoge, '=')} これは、正しく動作しませんでした。理由は、以下のSeasar MLのひがさんの説明を参照。 ActionやActionFormのプロパティは、 publicフィールドを ELやStrutsが参照…

データベースのバージョン管理

原則として、データベースに対する作業は必ずバージョン管理しなければならない 実際にはなかなか大変だろうけど、この記事に書いてあるような やり方を目指したいものです。

Coberturaプラグインで常にカバレッジが100%になってしまう問題

Coberturaというユニットテストのカバレッジを表示する Maven2プラグイン(※1)のレポートで 常にカバレッジが100%になってしまう問題に遭遇して困っていました。 HTML report shows all 100% but cobertura:check shows correct coverage - only in 2.1, work…

大企業とSAStruts

自前で持っているフレームワークの代わりに SAStrutsを導入する大企業が今後は増えると予想してみる。

JDave

RubyのBDD対応テスティングフレームワーク「rspec」から影響を受けて開発された。 こいつの調査をしなければ、、、。

プロトタイプについて書かれた激しく分かりやすい記事

「オブジェクトのプロトタイプ」というものについてお話ししたいと思います。 ズバリ、分かりやすい記事だ! JavaScriptのプロトタイプに限った話ではありませんが、 文法やサンプルコードの理解だけでは、表面的な理解になってしまいます。 技術を学ぶには…

ActionScript3のコーディング規約

Coding Conventions - Flex SDK - Confluence http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions

Flex3+BlazeDS+Seasar2による実践セミナー

Adobeさんと一緒にFlex3、BlazeDS、Seasar2のセミナーを3/26に行います。S2BlazeDSの紹介もするので、お楽しみに。https://g203.secure.ne.jp/~g203204/Adobe/Flex/20080326/ あー、このセミナーに出席したいけど、 この日は予定が入っていて行けないなぁ。…

アクションがアクションフォームになる

まさに「忍法身代わりの術」。 SASturtsのアクションは、自分自身のプロパティにアクションフォームが 存在しなければ、自分自身がアクションフォームとして振舞うようです。 > Thanks id:jflute さん なるほど。だから、アクションに定義したプロパティが …

「DREAM」旗揚げ戦のルール明文化に

「足の裏以外が1点でもリングに接した状態=グラウンドポジション」と明文化。その上で、立った選手のグラウンドポジション選手の頭部、顔面への蹴りや踏みつけは禁止(ひざ蹴りは可)などと決まった。 ルールが明確になるのはとても良いこと。 素朴な疑問…

AmazonのWishlist

http://www.amazon.co.jp/gp/registry/wishlist/ref=topnav__gw アマゾンに「ほしい物リスト サーチ」機能が付いたようです。 名前またはEメールアドレスを入力することで、 他人の「ほしい物リスト」を閲覧できます。 個人情報保護とかの兼ね合いで、色々と…

アイポ4

アイポ4 http://aipostyle.com/ 今、うちの会社で導入を検討しているオープンソースの グループウェアです。無料でダウンロード可能。 普段は割と辛口なんですが、めずらしくうちの社員からの評価は高いです。 せっかくなんで、ソースコードとかを覗いてみま…

無料より優れたもの

コピーが無料であれば、コピーできないものを売る必要がある。さて、コピーできないものとは何か? ネットワーク経済に関する私の研究によれば、無料でありうるものにお金を払うような無形の価値として、八つのカテゴリーがあると思われる。 現在、会社で(…

プロジェクトマネージャにとってのSAStruts

SAStrutsでコードを書く時に、よくStrutsのリファレンスを活用します。 SAStrutsとStrutsのアクションクラスのソースコードは見た目が全然異なるだけに、 Strutsの知識が活用できてしまうのは、不思議な感覚です。 改めてSAStrutsがStrutsの薄いラッパーフレ…

忘れっぽいエンジニアのStrutsリファレンス

SAStrutsではなく、生Strut向けに書かれていますが、 私はSAStrutsのコードを書いている時に、 以下のサイトを良く活用させてもらっています。 忘れっぽいエンジニアの Jakarta Strutsリファレンス http://struts.wasureppoi.com/ サンプルコードもあるし、…

S2JDBCのテストコードは本体のコードよりも多いらしい

S2Tigerって、testの規模がmain超えてるし (^^;OSSでtestがmainを超えるって、あんまりなくない? 以下は、id:cero-tさんのエントリーに対するid:higayasuoさんのコメント S2JDBCが、隅々までテストされているからでしょう。 起きそうな例外は、メッセージが…

火災

今日、事務所の目の前のビルで火災がありました。 はしご車がビルの屋上まで伸びるのを見てビックリしました。 ものすごい数の消防車が来ています。 交通整理の笛の音が何時までも鳴り止まない。 火災があった付近のビル内の飲食店も営業を停止したため、 普…

JSP内でゴリゴリは極力避けるべきか?

結局のところは、JSP内でゴリゴリは極力避けるべきという結論に行き着くんですかね。 MVCパターンに従う必然性は無いのですが、MVCに従って役割分担すれば、 そういう結論が得策に思えます。 理由は以前のコメントにも書かせていただいたのですが、次のよう…

リスト要素を指定の文字で連結するファンクションを自作してみる

JSTLのfn:joinで配列を指定の文字で連結する JSTLを使って、配列を指定の文字で連結するにはfn:joinを使用します。 fn:joinの引数は、1番目が配列で、2番名が連結文字です。 具体的な使用例はこんな感じ。 <% String[] fuga = {"aaa", "bbb", "ccc"}; requ…

いざとなったらスマートにJSPのスクリプトレットを使う

SAStrutsは、いざとなったらJSPのスクリプトレットでゴリゴリやれてしまうのが、1つのメリットだと思う。 ただ、JSPのスクリプトレットは、ソースコードのメンテナンス性を悪化させやすいので、極力避けたいところ。 とはいえ、taglibやFunctionで対応する…