ひがやすを技術ブログ

電通国際情報サービスのプログラマ

2004-10-01から1ヶ月間の記事一覧

進捗状況

すみません。m(_ _)m 結局リリースできませんでした。 S2JSFって、HTMLをコンパイルするってことは、JSP,JSTL,JSFを 自前で実装するに近いんですけど、それを甘く見てました。 からさわぎ(11/20)までには、リリースするようにがんばります。

S2ViewHandler

S2JSFの動きをコントロールしているのは、S2ViewHandlerで、JSFのViewHanlderを拡張して実装されています。こいつで重要なのは、次の3つのメソッドです。 restoreView ページに関連付けられているコンポーネントツリー(UIViewRoot)を復元します。コンポーネ…

binding

bindingは、結局、 <input type="text" b:value="emp.ename" value="hoge"/> 方式で行くことにしました。だって、サーブレットの母からOKでましたから。 入力値のbindingまでは実装済。

Seasar2の開発って趣味?

etc

そんなわけありません。だって、常にいろんなことと戦ってるんですよ。プレッシャーも大きい。 だったら、ばくぜんと仕事やってれば良いかというとそれも違うと思っていて、どうすればいまよりもっと儲けられるか、効率良く開発できるかずっと考えているわけ…

11/2からFlex1.5のトライアルがダウンロード可能になります。 http://www.macromedia.com/jp/software/flex/trial/ 今は、まだFlex1.0ですが、11/2からFlex1.5切り替わる予定です。 使ってみて疑問な点があれば、ボランティアですが、私が答えます。日記にト…

binding

今考えているbindingの方式は、3通り。 1つ目は、JSF風。 <input type="text" value="#{emp.ename}"/>この方式の問題点は、属性の値がブラウザの見た目に影響するとき、プレビューが崩れてしまう点です。例えば、CSSのclass属性に対して、class="#{hoge.myclass}"のようにするとブラウザはきちんと表示…

11/2からFlex1.5のトライアルがダウンロード可能になります。 http://www.macromedia.com/jp/software/flex/trial/ 今は、まだFlex1.0ですが、11/2からFlex1.5切り替わる予定です。 使ってみて疑問な点があれば、ボランティアですが、私が答えます。日記にト…

ResponseWriter.writeText();

ResponseWriter.writeText()を使うと、改行コードが、<br />に変換されますね。最初、余分な<br />が入って、レイアウトが崩れて悩みました。(^^; サーバサイドとバインディングしていないHTMLをコンパイルして表示することはできるようになりました。 さて、バインディ…

not JSP

S2JSFは、JSPの実装を全く使ってません。HTMLをダイレクトにコンパイルして、JSFのコンポーネントツリーを組み立てています。Tapestryに似た方式ですね。 当初は、Viewの部分は、Nirvanaを使うつもりでしたが、metaタグなどが利用できなくなるので、結局自前…

リリース予定

最初のバージョンを10月中に、だします。 ただ、仕様的にこう考えてるよってのは、あらかじめ出すので、いろいろ突っ込んでください。フィードバックを大切にして進めていきたいと思ってます。 よろしくお願いします。m(_ _)m responseのcontentTypeに関して…

11/2からFlex1.5のトライアルがダウンロード可能になります。 http://www.macromedia.com/jp/software/flex/trial/ 今は、まだFlex1.0ですが、11/2からFlex1.5切り替わる予定です。 使ってみて疑問な点があれば、ボランティアですが、私が答えます。日記にト…

NekoHTML

バージョン0.9.3を使っているけど、nekohtmlXni.jarをxercesImpl.jarより前に持ってくると、全然動かない。とりあえず、nekohtmlXni.jarを削除して様子見。

入門記その2

web.xmlに次の内容を記述します。 s2filter <filter-class>org.seasar.framework.container.servlet.S2ContainerFilter</filter-class> s2filter /* s2servlet <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet</servlet-class> 1 s2servlet /s2servlet faces-config.xmlに次の内容を記述します…

入門記その1

最も、単純なS2JSFのページを作ってみましょう。 <html> <head> <title>入門記その1</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> </head> <body> こんに…</body></html>

テストサポート

S2UnitにS2JSF用のテストサポート機能が組み込まれます。 例えば、次のような足し算Actionを考えてみます。AddAction public interface AddAction { String calculate(); }AddActionImpl public class AddActionImpl implements AddAction { private int arg…

ActionInterceptor

S2JSFではボタンやリンクをクリックしたときに呼び出されるActionクラスに対して、入力された値を格納するDTO(StrutsでいうActionForm)やリクエストのパラメータが自動DIされます。 また、アクションクラスのプロパティが自動的にリクエストにセットされます…

InterceptorでComponentDefを取得

Seasar2.1からInterceptorで自分が定義されているComponentDefを取得できるようになります。 AbstractInterceptor.getComponentDef(MethodInvocation invocation); 何に使うのかって? もちろん、S2JSFで使います。使い方はまた後で。

Statelessの意味

Stateless BusinessLogicにおけるStatelessの意味が分かりづらいところがあるようなので補足します。 ここでいっている「Stateless」とは、 オブジェクトのメソッドを呼び出す前後で、オブジェクトの状態が変わらない。 ということで、「オブジェクトの状態…

TransactionScriptとStateless BusinessLogic

http://d.hatena.ne.jp/koichik/20041022#1098468196 を読んで再度整理。 PofEAAでは、リッチなSQLかどうかは関係無いとのこと。 FowlerのいっているTransactionScriptは、(たぶん)従来の手続き型ですね。こういちさんのいっている通り、monolithicなイメー…

ToDo

Seasar2.1 request, response, sessionの自動バインディング 終了 16:47 instance属性request対応 終了 19:30 instance属性session対応 終了 19:40 S2ContainerFilter 終了 21:30 getter injection metaタグ getter injection, metaタグは、まだ未実装ですが…

ドメインモデルの長所と短所

ドメインモデルをここでは 業務固有の重要なオブジェクトとそのオブジェクト間の関係をモデル化したもの。 と定義して話を進めます。ドメインオブジェクトは、POJOとして、データアクセスロジックからは切り離されているという前提です。 ドメインモデルは、…

SourceForgeのダウンロード総計

が3万件を突破しました。 みなさん、これからもよろしくお願いします。m(_ _)m

Flex VS Biz/Browser

アクシスさんにBiz/Browserの説明をしてもらったので、その感想。 Bizは、CSSが使えない。 Bizは、gifが使えない。まじ?。jpeg,png,svgのみ。 デザイナにデザインしてもらうのは、ちょっと厳しい。イントラ向き。 Bizは、 サーバサイドとの連携は、HTTPのreq…

TransactionScriptとくーすの違い

TransactionScriptが、扱うデータを一度に読み込み、ループでまわして、必要なものをセレクト、ということなら、くーすは違います。 最初から、SQLで必要なデータの必要な項目に絞って取得するからです。 Fowlerの言っているリッチなSQLですね。 SQLにロジッ…

ドメインロジックとSQL

トランザクションスクリプトとは、P of EAA の中で私が作ったパターン名である。リクエストによって処理を行う手続き型のパターンのことだ。プロシージャは必要なデータをすべて読み込み、メモリ上でどの月が必要なのかを探し、それから処理を行うことになる…

ドキュメント見直し

良く使われると思われるドキュメントを見直しました。 http://homepage3.nifty.com/seasar/DIContainer.html http://homepage3.nifty.com/seasar/aop.html http://homepage3.nifty.com/seasar/testtech.html http://homepage3.nifty.com/seasar/s2dao.html …

Flex本

会社の許可が取れ、出版社もほぼ決定。

ToDo

etc

Seasar2とin-houseソリューションをどのように使い分けるか社内打ち合わせ。 終了 13:00 Seasar2の有償サポート、社内・社外にどのように説明するか社内打ち合わせ。 明日も引き続き打合せ。 Flex本、社内打ち合わせ。 終了 13:00 Flex案件、デザイナと打ち…

extension.mock.servlet完成

これで、Seasar2.1をテストするための準備が出来た。 明日から実装に入ろう。 MockObjectsがなんだかニーズに合わなかったので作っちまったい。

Oracle10gASでの設定方法

Oracle10gAS<component name="initialContext" class="javax.naming.InitialContext"/><component name="transactionManager" class="org.seasar.extension.j2ee.JndiTransactionManager"> <arg>initialContext</arg> <arg>"java:comp/UserTransaction"</arg></component></component>