2006-01-01から1年間の記事一覧

開発開始...?

sandboxプロジェクトとして申請が通ったので s2caching プロジェクトをぼちぼちコミット開始。s2cachingって何って話はとりあえず省略、というか後日記述。要するに宣言的キャッシュで、あまり効率も考えず愚直に毎回(読み出ししかされない)マスタに問い合わ…

SQLインジェクション

about http://www.atmarkit.co.jp/fsecurity/column/ueno/42.html 意外と見落としがちなのが、LIKE条件に用いられる入力文字列で "%"とか"_"などの、振る舞いに影響を与える文字列。ユーザーテーブルがまるっと見えてしまう、ということにはならないのだが、…

コンテナデータセンター

http://www.itmedia.co.jp/news/articles/0610/18/news040.html ななな、…面白い。「制約から自由が生まれる」か。ところでこの格言?、DHHの言葉ではなくミケランジェロあたりが発端のようで。

宣言的(もしくはメタデータ的?)ビュー

web

デザイナーと協業してWebサイト作ってると遷移構造やHTMLごとばんばん作りかえられていくということがよくある。 この構図は、一度作ったシステムが開発者抜きで成長している(していける)ことを示す歓迎すべきものなのだと個人的には思うのだけど、ちょっと…

XP祭り関西にいってきた

大阪はミナミ(難波)のワッハ上方で行われた「XP祭り」に行ってきた。ホールで朝から夕方までプレゼンテーションを観るというスタイルのものだった。ネタが幅広かったので面白かった!組み込みTDDの話でLEGO Mindstormsが出ていたのですが、RCXの模様。E…

OutOfMemory

なんかよくわからないのだが、ランニングテストかけてたらOutOfMemoryErrorが出てしまう、というアプリがあって なにがクセモノなのか jhat とかかけて調べよう、という段階なのですが、どうもあやしいのがOGNL。 実際には、S2を使っていて、diconの中で hog…

request.getRequestURL()実装

Tomcat5.0および5.5では、たとえば Action(.do) --> Velocity(.vmとか) にRD.forward()されたあとでは、 request.getRequestURI() --> hoge.vm となっていた。つまり、「リクエストのURI」ではなく、forward後の自分のパスになっていた、というわけ。 これで…

OpenXava

コードジェネレータ型のマスタメンテ自動生成フレームワーク? RoRのscaffoldジェネレータが近い。仕組みは大きく異なりますが、RIFE/CRUDも似た感じ?仕事に追われまくってあまりまともに遊べてないのですが、仕事上で調査してみたところ結構面白かった。 こ…

Armadillo Run

ゲームというかなんというか・・・理系な人にはたまらんかもしれないゲーム。ネタ元: http://japanese.engadget.com/2006/07/05/physics-game-armadillo-run/んー、これは、なんというか超ストライクゾーンでヤバい(笑)スクリーンショットでもよくわかんない…

Mindstorms NXT は直販サイトでは買えない

先日書いたMindstorms NXTが欲しいって話をさっそく実現するべく、LEGOのオンラインショッピングサイトで買おうとしたら、買えない。 メールで問い合わせたら「スマン、日本には出荷してない」と言われてしまった。法律的なモンというよりは単純に業務してな…

Mindstorms NXT 欲しい

http://mindstorms.lego.com/ ほ、欲しすぎる…250ドルかあ。。。うーん。。。うう。抗えない。 これでXFD作って、ビルド落っこちたら対象コードのコミッタの座席まで歩いていって肩を叩くとか。キモい。

昨日の続き

ひそかにGroovyについてくる XmlParserとか、GroovyTemplateとか、そういうので組み合わせて作るのが元から最強だったのかもしれない。Velocity(Anakia)にantでうんぬん、ってワークフローというかビルドサイクルに入れるにはいいかもしれないのだけど、目立…

AnakiaのXPathでは演算もできないのか...?

VelocityにAnakiaという、JDOMをVelocityから使ってXML文書をいい感じに変換する、というAntタスクがついてくる。まあ、それはそれで便利なのだけど、たとえばXMLの要素(中身は数値)同士の足し算とかがいまいち出来ない。 演算ぐらいはXPathでも出来る、かつ…

nullをsetterでインジェクトして欲しい

S2.3.8では、コンポーネントの組み立て結果(おそらくOGNL式を与えたcomponent定義の場合のみ)がnullの場合NullPointerExceptionを吐く(もしくはClassUnmatchRuntimeExceptionで型チェック落ちする)。でも、nullを インジェクションしたい場合もあるんだー、…

Luntbuildを入れてみた

CI

いままでCruise Controlを愛用していたけど、前々から気になっていたLuntbuildを入れてみた。(ちなみにmaven2への移行が一通り終わったらContinuum化したい)おおっ、なにこれ。設定簡単!ちょっと説明が足りないと思うところもあるけど全体的に好印象。導入…

ブラックボックステストうんぬん

アプリケーションをテストする場合、ソースコードに含まれるロジックが見えている状態で、分岐や行カバレッジをカバーしていることを保証するために項目の設計を行なうホワイトボックステストと、機能の外部要件やインタフェースだけが見えている前提で行な…

Click入門記 その4 〜 Pageから他のPage/URIへforward

ActionLinkなどコントロールのコールバック処理の結果、他の画面/機能に遷移したいことがあるでしょう。機能を呼び出すのであれば Service的なインタフェースを呼びだせばいいだけの話ですが、画面遷移を伴う場合にはForward/Redirectが必要です。Clickでは2…

RoRでプロトタイピングするのはアリだと思う

http://www.atmarkit.co.jp/im/carc/serial/proto05/proto05.html こちらの記事を見つつ考え。迅速なプロトタイピング(アジャイルプロトタイピングと意味が同じかもしれない)は、とりあえず作ってみることで不明点を洗い出し、顧客とイメージを共有するため…

Click勉強記 その3 〜ActionLinkのコールバック

前回までで表示をやりました。ですが $editLink → <a href="...">編集</a> という変換になっているだけです。ActionLinkは基本的にクリックされたときにPageインスタンスのメソッドがコールされることを想定して作られているので実際にこのコールバックを受けてみましょう。ま…

Click勉強記その1〜3までのおさらい

要約 ビューが表示される前に処理されるクラスをPageという StrutsでいうところのActionクラス PageクラスとURIのマッピングには click.xml という設定ファイルを用いる pages/pageタグ パス名とクラス名を関連づける ビューにはVelocityを使う*1 リンクやフ…

Click勉強記 その2 〜 Controlの作成と表示まで

前回から大分時間が経ってしまいました。実際触れてなかった。反省。今回はClickの特徴の一つでもあるコントロールの扱いについてActionLinkを元に基本的な仕組みを見ていきたいと思います。ただ、シンプルな目的でシンプルなコードを書いて「おお、動いた」…

commが便利

かなり小ネタ。GNU coreutilsに、join,sort,uniq...などなどかなりの便利なものが含まれているのだが、commというかなり便利なものが含まれているのが見逃せない。 これはソート済みの2つのテキストファイルの集合演算をするようなもので、対称差と差集合を…

いかんいかん

Click勉強記を書きつつ・・・って仕事忙しくてなかなか書き進まず。おれ自体が忘れる!危険。書きのこすこと大事。エビングハウスの忘却曲線というものがあって、頑張って覚えたことも短期記憶に関してはまあせいぜい数時間で20%ぐらいを残して忘れてしまう…

Click勉強記 その1

たけぞうさんがコミッタとして参加されているClickフレームワークを勉強してみています。自分用のメモがてらClickをこれから始める人にも何かしらの発見となるように一応書き残していきます。コントロールドリブンというか、そういうものになっていて、Tapes…

proxy経由でhttp://なリポジトリにアクセス

vmargs -Dhttp.proxyHost=...とかやってみても全然ダメで、どうしたもんかと思ってたら、kmt-tさんが紹介してくださった内容でうまくいった。 こ、こんなところみるのかー。と思ってSubclipseの設定眺めてたら「設定ファイルの場所」とか「標準」とかそんな…

InterTypeで嬉しいのは

InterTypeでsetter/getterが動的に追加されて嬉しいケースは色々ありそうです。ビュー層からattributeに格納されたbeanの内容を表示する場合などはsetter/getterをリフレクションでアクセスしますし、JSP中、ELベースでの参照や、Velocityなんかでも使いまく…

素朴な度忘れ、というか誤解

ToStringInterTypeじゃなくて、なぜToStringInterceptorなんだろう、と思ってたら、ああ、そりゃそうか!toString()はObjectで実装されているのでした。度忘れしていた。ということは hashCode, toString, equals 三種セットでデフォルト振る舞いを提供するM…

superに渡したオブジェクトを使いたい

(from きしだのはてな and 今日の役に立たない一言) 私はサブクラスで堂々と参照を重複していてもいいんではないか、と思う。継承する(できる)ことを前提としてスーパークラスが設計されているにも関わらず、フィールドがprivateでかつ使えそうなセッタ・…

S2Click

ClickのPageインスタンスを作成する際にS2Containerから取得してほしいなあ、と思って作ってみたらたかだか3行ぐらいだった。えっ。。これでS2Clickって名前もはげしくどうかと思うので、なんかもうちょっと面白いインテグレーションがないか探してみよう…ad…

ひさびさの業務Webアプリ系

ケータイ系が多かったがひさびさにバックエンドというか業務支援系。で、古いソースを叩きなおしてS2化しつつ、新しい要素てんこもりでなんとかキャッチアップをはかる。 Maven2化 なんかいまんところあんまりいい感じじゃない m2eclipse(Mevenide)は結構い…