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

-ProcessorResolver

カスタマイズポイントとなる結構重要なAPIを変更します。 TemplateProcessor getProcessor(Template template, SpecificationNode specificationNode); とあるProcessorResolverのメソッドを、 TemplateProcessor getProcessor(Template template, Specifica…

-バイパス手術

たとえが難しいのですが、心臓の手術をするとします。いきなり心臓をとっちゃうと当然死んじゃうので、まず人工心肺をつける手術をして、機能をそちらにバイパスします。そして、心臓本体の手術を行った後、人工心肺をとる手術を行うわけです。今日はそんな…

-Standing over the shoulders of giant

XPathはインジェクションルールの記述式以外にも、テンプレートの位置検索で使おう。TapestryのServiceに近い考え方なんですが、リンクのURLを作るのと、URLを受け取って適切なリソースをディスパッチするのを同じモジュールでやることで複雑なナビゲーショ…

-レゾルバスイッチ

レゾルバの生き死にと設定をコントロールするスイッチを用意するかも。XNIの構造と似ていて、feature/propertyのような考え方です。XNIコンポーネントの仕組みに似せたものにするかな。XercesのベースとなっているXNI(Xerces Native Interface。。。だった…

-InjectionResolver

そして、ノードレゾルバの復活。ただし名前と引数が昔のとは違います。 SpecificationNode getNode( Template template, SpecificationNode original); 用意する実装は、以下のように。 CompositeInjectionResolver DirectInjectionResolver テンプレート埋…

-Seasar Strategies Day 2005

oss

羽生さんところからコピペ。 4月22日(金)午後よりSeasarプロジェクトがイベントを開催! Seasar Strategies Day 2005 - Road to next stage - パートナーシップ展開… プロジェクトの今後… そして新プロダクトKuinaとEJB3について余すところなくお伝えしま…

-コンセプト

Mayaのデザインが今の形に落ち着きつつある際に、考える上で制約条件としていることは以下のことです。 HTML仕様を一切侵食しないテンプレートが可能なこと。 独自の設定XMLはユーザーがなるべく直感的に書けること。 同時に、テンプレートのみで他に設定フ…

-案(2)0.9.4に向けて

昨晩寝て考えました。XPathはやれるようにします。しかし後のことで、今はその機能をアダプタブルに受けておくだけで、いきなり投入しません。ほかにも正規表現とかもつかえる余地はつくろうと思います。 XPathを実現するために必要なのはテンプレートのモデ…

-200同時接続

MSのストレスツールを使ってるのですが、200同時が推奨の上限なので200同時接続でテストしてます。Mayaのサンプルを試したところ、秒間202.54リクエストを処理。。。結構いいんじゃないですかね。10秒間のウォームアップの後、30秒間でテストです。たぶん、…

-案(2) やっぱやめた

案(1)はやっぱやめ。せっかくXMLなのにHTMLを混ぜるのはやりすぎかなと。ImplicitPageもあるし。XPathを中心にもう一度考え直す。m:componentはアリかと思います。

-クリティカルな問題の所在

やっと、数日前に悩まされていたMayaの高負荷状態での問題が本当に解決できました。原因はOGNL3.0の使い方。OGNL3.0のEnvironmentの一般的な実装はスレッドセーフなつくりになっていなかったということです。具体的にはDefaultExecutableEnvironmentのメンバ…

-4月22日

oss

4月22日(金)の午後はみなさん予定を空けておいてくださいね。私は22日までに風邪を治します(笑。

-案(1) aspectな基本

まだ考え中のため、ちょこちょこ変わると思いますが。。。 <m:maya xmlns:m="http://www.seasar.org/maya" xmlns:c="http://www.seasar.org/maya/jstl/core"> <m:component id="message" replace="false"> <c:out value="${ helloModel.greeting }"> <m:doBody/> </c:out> </m:component> <m:component xpath="/html//form"> </m:component></m:maya>

-記述方法

うーん、舌の根もかわかんうちに仕様変更したくなってきた。。。いかんいかん。正当な理由を煮詰めよう。「HTML-AOP」という考え方が遅ればせながら理解できてきて、とても良いように思うのです。

-プールで考えた

今日はすこし早めに帰って、プールで泳いできました。泳ぎながら考えました。サウナでも考えました。 XPathが悩ましいのは、このインジェクションルールのところにしか適用が思いつかないところ。いきなりここだけXPath記述が出てくるというのも、ユーザー的…

-Seasarイベント

oss

そうなのです。羽生さんところで書かれてましたが、4月22日(金)はSeasarプロジェクト主催のイベント(?)なのです。カンファレンスです。風邪治さねば。

-mayaID

XPathを検討しても、今のIDでインジェクションする仕組みはなくなりません。それとは別にmayaPathを作るかどうかです。mayaID="message"を廃止して、mayaPath="@id='message'"と書くのは冗長ですから、そのようにはしません。しかし、内部構造としてXPathに…

-式言語

いっそのこと、式言語じゃなくXPathにするか?やりすぎか? <maya xmlns:c="http://www.seasar.org/jstl/core" xmlns:html="http://struts.apache.org/tags/html"> <c:out mayaPath="${ //div[@class='box'] }" value="${ /model/helloModel/@greeting }" replace="false"/> <html:form mayaPath="//form" action="${ @action }"/> </html:form></c:out></maya>

-XPathだとこうなるが。。。

<html> <body> <div class="box">テンプレ文言</div> </body> </html> というテンプレで、 <maya xmlns:c="http://www.seasar.org/jstl/core"> <c:out mayaPath="//div[@class='box']" value="こんにちは" replace="false"/> </maya> ごく当たり前にMayaでXPath対応してみるとこうなるという。。。これだけでは芸がないですけど、以下の例だとちょっとは良い感じ。 <html> <body> </body></html>

-思いつき

jaxenのAPIを眺めていてわかったのは、このjaxenというものがXPath式で取り扱えるものはDOMやそれに類するものに限らないということです。JavaのソースコードやSQL、その他様々なものの取り扱いとして使えそう。jaxenの価値はXPathの解釈とコンテキストオブ…

-バグ対応

http://suga.parfe.jp/td/index.cgi?date=20050327#p04 このバグを手元再現できたので対応に取り組みます。 追記 ちょっと卑怯な方法ですが対応しました。いや、対応とは言わないか。。。一箇所コメントアウトしただけ。

-OSC2005の報道

oss

http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20050327/158035/ 栗原氏、なんかえらい人みたいですね(笑。

-SQLテンプレート

26日のBLOGでid:ogijunさんよりコメントあったのを見落としてました。すいません。SQLテンプレートは賛否両論で私もまだどちらとも言えないのですが、SQLをファイルに書いて、サーバに配置するとDAOになってしまうというものです。それを式言語やスクリプト…

-4月15日

oss

4月15日のなぞめきセミナーですが、GW明けに延期になりました。予定を空けていただいていた方々、すいません。5月ないし6月のBrianさん再来日にあわせてカンファレンスを開催するよう計画を変更して準備やり直しだそうです。私は別途目的で15日の前後に彼に…

-jaxenの拡張

jaxenをちょっと見始めましたが、これはいいかも。ノードモデルもDomやJDomなどいくつか対応しているのですが、すべてアダプターとして提供されていて、未知のノードモデルにもアダプターの実装を追加すれば対応できるという、これまたXPathエンジンフレーム…

-ラッシュテスト結果

一昨日の修正をラッシュテストしてみた結果、200 OKが100%きちんと返ってくるようになりました。若干Socketの接続でエラーが出ているのですが、これはストレスツールの問題だと思います。タイムアウトを長くとらずにサクサクつないではきってるので。 という…

-jaxen

http://jaxen.org/ ダウンロード。ざっと見た印象だけでは、式言語やスクリプトエンジンと似た感じで使えるように思える。組み込むのは容易にできそうだけど、XPathをそのまま組み込むことは無理っぽい。少なくとも、その余地は残しながらも、Mayaコアでやる…

-ノードクエリー

MayaのProcessorResolverは、コード書いて登録すればテンプレートのパース中に様々なことができます。ノード情報に従ってJSPカスタムタグをインジェクトしたり、ネイティブのテンプレートプロセッサを利用したり様々でこれがMayaのコアではガッチリとは提供…

-懇親会

oss

Railsのセッションでお話していた高橋さんを会場で見つけたのでずっと捕まえてお話してました。RubyとRailsについて質問攻め。いやぁ、Rubyの立ち位置は面白い。たぶんRubyでコードを書くことは目先に無いだろうけど、ウォッチしていこうと思います。

-セッション終わり

oss

パネルディスカッション終わりました。ぱっと数えたところ70人ぐらいだったところ、終わりに近づいて次のコマの人たちが集まってきて100人超えたぐらいだったかな。だんだんなにしゃべってるかわかんなくなってきちゃう(風邪)状態でしたが、伝えたい…