2005-03-01から1ヶ月間の記事一覧
カスタマイズポイントとなる結構重要なAPIを変更します。 TemplateProcessor getProcessor(Template template, SpecificationNode specificationNode); とあるProcessorResolverのメソッドを、 TemplateProcessor getProcessor(Template template, Specifica…
たとえが難しいのですが、心臓の手術をするとします。いきなり心臓をとっちゃうと当然死んじゃうので、まず人工心肺をつける手術をして、機能をそちらにバイパスします。そして、心臓本体の手術を行った後、人工心肺をとる手術を行うわけです。今日はそんな…
XPathはインジェクションルールの記述式以外にも、テンプレートの位置検索で使おう。TapestryのServiceに近い考え方なんですが、リンクのURLを作るのと、URLを受け取って適切なリソースをディスパッチするのを同じモジュールでやることで複雑なナビゲーショ…
レゾルバの生き死にと設定をコントロールするスイッチを用意するかも。XNIの構造と似ていて、feature/propertyのような考え方です。XNIコンポーネントの仕組みに似せたものにするかな。XercesのベースとなっているXNI(Xerces Native Interface。。。だった…
そして、ノードレゾルバの復活。ただし名前と引数が昔のとは違います。 SpecificationNode getNode( Template template, SpecificationNode original); 用意する実装は、以下のように。 CompositeInjectionResolver DirectInjectionResolver テンプレート埋…
羽生さんところからコピペ。 4月22日(金)午後よりSeasarプロジェクトがイベントを開催! Seasar Strategies Day 2005 - Road to next stage - パートナーシップ展開… プロジェクトの今後… そして新プロダクトKuinaとEJB3について余すところなくお伝えしま…
Mayaのデザインが今の形に落ち着きつつある際に、考える上で制約条件としていることは以下のことです。 HTML仕様を一切侵食しないテンプレートが可能なこと。 独自の設定XMLはユーザーがなるべく直感的に書けること。 同時に、テンプレートのみで他に設定フ…
昨晩寝て考えました。XPathはやれるようにします。しかし後のことで、今はその機能をアダプタブルに受けておくだけで、いきなり投入しません。ほかにも正規表現とかもつかえる余地はつくろうと思います。 XPathを実現するために必要なのはテンプレートのモデ…
MSのストレスツールを使ってるのですが、200同時が推奨の上限なので200同時接続でテストしてます。Mayaのサンプルを試したところ、秒間202.54リクエストを処理。。。結構いいんじゃないですかね。10秒間のウォームアップの後、30秒間でテストです。たぶん、…
案(1)はやっぱやめ。せっかくXMLなのにHTMLを混ぜるのはやりすぎかなと。ImplicitPageもあるし。XPathを中心にもう一度考え直す。m:componentはアリかと思います。
やっと、数日前に悩まされていたMayaの高負荷状態での問題が本当に解決できました。原因はOGNL3.0の使い方。OGNL3.0のEnvironmentの一般的な実装はスレッドセーフなつくりになっていなかったということです。具体的にはDefaultExecutableEnvironmentのメンバ…
4月22日(金)の午後はみなさん予定を空けておいてくださいね。私は22日までに風邪を治します(笑。
まだ考え中のため、ちょこちょこ変わると思いますが。。。 <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記述が出てくるというのも、ユーザー的…
そうなのです。羽生さんところで書かれてましたが、4月22日(金)はSeasarプロジェクト主催のイベント(?)なのです。カンファレンスです。風邪治さねば。
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>
<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 このバグを手元再現できたので対応に取り組みます。 追記 ちょっと卑怯な方法ですが対応しました。いや、対応とは言わないか。。。一箇所コメントアウトしただけ。
http://itpro.nikkeibp.co.jp/free/ITPro/NEWS/20050327/158035/ 栗原氏、なんかえらい人みたいですね(笑。
26日のBLOGでid:ogijunさんよりコメントあったのを見落としてました。すいません。SQLテンプレートは賛否両論で私もまだどちらとも言えないのですが、SQLをファイルに書いて、サーバに配置するとDAOになってしまうというものです。それを式言語やスクリプト…
4月15日のなぞめきセミナーですが、GW明けに延期になりました。予定を空けていただいていた方々、すいません。5月ないし6月のBrianさん再来日にあわせてカンファレンスを開催するよう計画を変更して準備やり直しだそうです。私は別途目的で15日の前後に彼に…
jaxenをちょっと見始めましたが、これはいいかも。ノードモデルもDomやJDomなどいくつか対応しているのですが、すべてアダプターとして提供されていて、未知のノードモデルにもアダプターの実装を追加すれば対応できるという、これまたXPathエンジンフレーム…
一昨日の修正をラッシュテストしてみた結果、200 OKが100%きちんと返ってくるようになりました。若干Socketの接続でエラーが出ているのですが、これはストレスツールの問題だと思います。タイムアウトを長くとらずにサクサクつないではきってるので。 という…
http://jaxen.org/ ダウンロード。ざっと見た印象だけでは、式言語やスクリプトエンジンと似た感じで使えるように思える。組み込むのは容易にできそうだけど、XPathをそのまま組み込むことは無理っぽい。少なくとも、その余地は残しながらも、Mayaコアでやる…
MayaのProcessorResolverは、コード書いて登録すればテンプレートのパース中に様々なことができます。ノード情報に従ってJSPカスタムタグをインジェクトしたり、ネイティブのテンプレートプロセッサを利用したり様々でこれがMayaのコアではガッチリとは提供…
Railsのセッションでお話していた高橋さんを会場で見つけたのでずっと捕まえてお話してました。RubyとRailsについて質問攻め。いやぁ、Rubyの立ち位置は面白い。たぶんRubyでコードを書くことは目先に無いだろうけど、ウォッチしていこうと思います。
パネルディスカッション終わりました。ぱっと数えたところ70人ぐらいだったところ、終わりに近づいて次のコマの人たちが集まってきて100人超えたぐらいだったかな。だんだんなにしゃべってるかわかんなくなってきちゃう(風邪)状態でしたが、伝えたい…