読者です 読者をやめる 読者になる 読者になる

Scala勉強中

忙しいを理由に自分を磨くことを忘れてはいけないと思い、最近良く耳にするScalaの勉強を始めました。 コップ本と呼ばれるScalaの本を購入し、1日1章を目標に進めています。 ※原書だと第二版が出てるみたいですね。まだまだ何が良いのかさっぱりですが、まず…

セッションが維持されない

Apache + Tomcat を mod_proxy で行っているのですが、 jsessionidが付与されてセッションが維持できないアプリがあります。 アプリがある。という言い方をしたのは、 バーチャルホストを設定して、複数のアプリを連携しているからです。 どれも同じ設定で、…

C言語とのやりとり

TCP/IPでC言語とやりとりすることになった。 向こうからは構造体のバイトデータで送ってくるようなんだけど、DWORDとか符号無し整数値ってどう処理すればいいんでしょ。 標準のAPIでは無理っぽいので、自作するしかないんかねぇ。 いろいろいじってたら、標…

Apache + Tomcat 連携 その2

できました。 server.xmlにHostを追加すればいいだけでした。 <Host name="aaa.hogehoge.jp" appBase="aaa_webapps"/> <Host name="bbb.hogehoge.jp" appBase="bbb_webapps"/>nameの部分はApacheのVirtualHostと同じにします。 appBaseはこの書き方だと、もともとあるwebaapsと同じ階層になります。 で、ルートで動かすためにはコンテキスト名を「ROOT」にします。 ROOT</host></host>…

Apache + Tomcat 連携

今のプロジェクトでApache + Tomcat の連携を mod_proxy で行っているのですが、ドメイン直下を結びつけるために以下のように書いているんですけど、問題が。 ProxyPass / ajp://localhost:8009/AppContext/WebworkでResultTypeにredirectを使ってると勝手に…

JCaptchaで日本語

表示に使用されるテキストは「toddlist.properties」ファイルに保存されています。 まず単純に「toddlist_ja.properties」を作ってみます。 単語を「;」で区切って登録します。 words=あいうえお;かきくけこ;さしすせそ※native2asciiを忘れずに しかしこれで…

JCaptcha

仕事でJCaptchaを使うことになったので、調査。 とりあえず「5 minutes application integration tutorial」のサーブレットを動かしてみる。 読めねぇ・・・ Springで使う方法が書いてあって、そのxmlからいろいろと読み取れた。 パラメータとかいろいろある…

Tomcat 5.5.23

いつの間にか5.5.23が出てた。

コンストラクタ

コンストラクタでsuperを呼んだ時に、引数としてインスタンス変数を渡そうとしたらコンパイラに怒られた。 インスタンスメソッドも怒られた。 知らんかった。 継承時の初期化順序が、super->子供だから当たり前か。

H2 database

CREATE LINKED TABLE name ('driver','url','user','password','table name') これやってみました。 あっさりH2からMySQLのテーブルが見えましたよ! 違うシステムとの連携時に役に立ちそうな機能ですね。

Struts2 Beta

いつの間にか出てたんですねぇ。 時間のあるときに見てみよう。

大阪Javaコミュ設立準備会

今日は15時から大阪Javaコミュ設立準備会に参加してきました。 15:00 -17:30まではセミナーがありました。 18:00から懇親会があったので参加しました。 参加されていた方々は、こういう場に集まる人だけあってアンテナの張り方が違います。 いろいろと面白い…

JavaWorldDay 2006

行ってきました。 初回の基調講演は電車遅れのため途中参加。 途中参加したせいか、さっぱり内容が分かりませんでした。 他にもいろいろと参加したのですが、あまり得る物はありませんでした。 Flex2が面白そうだなぁと思ったくらいですかね。 自分が申し込…

アノテーション

昨日の続き。 ちょっとパフォーマンスが気になったので、単にgetAnnotations()をするループを作って回してみた。 やっぱり遅い。

JDBC

S2Daoを使っていて、遅いSQLがあるなぁと思ってSQL Plusで実行したら速攻で返ってくるんですよね。 S2Daoが悪いのかなぁと思って、JDBC生繋ぎで同じSQLを発行したら遅かった。 同じSQL文でもJDBCとSQL Plusじゃ速度が変わったりするのね。 なんでだろ?

compareTo

Date型のプロパティにS2Daoから値を入れるとjava.sql.Timestampが入っているようなのですが、 そんなことは知らずに日付の比較をするためにcompateTo(Date target)を使うわけです。 JVM1.4では動くのですが、JVM1.5になるとClassCastExceptionでエラーになり…

JSP1.2 Specification

JSP.7.3を見てみました。 TLDのリソースパスを解決する順序は、 web.xml WEB-INF/lib配下のjar or WEB-INF配下のtld JSPコンテナ のようなことを書いてある。(と思う)

SerialVersionUID

Eclipse3.1だとクラス名にマウスを合わせて、Ctrl+1で生成できるんだ。 ってGoogleで調べたらsugaさんのblogがひっかかったよ。 でも、generateにしたら全然終わらないんですけど・・・

commons-fileupload

いけてない。 パート単位で取得できればいいのに。 "filename=" がないとファイルと判断しないってどういうこと? まぁそんなデータを送ってくる方が悪いのか? RFC的には必須じゃないっぽいんだけどね。

Eclipse

Eclipse3.1へ移行しようかと思っているけど、プラグインの再インストールが面倒。 誰かプラグインをサクッと移行する方法知りませんか?

参照渡し

import java.util.ArrayList; import java.util.List;public class ReferenceTest { public static void main(String[] args) { List list = new ArrayList(); list.add("AAA"); exec(list); System.out.println(list); } public static void exec(List list…

備忘録

今日通勤中に気づいた。 Interceptorでログインチェックしてもいいけど、 Actionに対してしかチェックできない。 Mayaのhtmlファイルに直接アクセスした場合にはチェックされない。 ServletFilterでやるのが一番楽か? 追記 WebworkのResultを作ってMayaServ…

Aware

Webwork in Actionを見てXXXAwareの使い方を知る。 public interface AccountAware{ void setAccount(Account account); } public class MainAction extends ActionSupport implements AccountAware{ private Account _account; public String execute(){ //…

JavaOne Tokyo 2005

行きたいけど、聞きたいのは有料ばっかりだ。 3万もいるのか。それに交通費+宿泊費。 無理。 残念。

backport175

いまさらですがどうやって使うのかイマイチ分からなかったのでちょっと調べてみた。 どうやってアノテーションの情報をclassファイルに埋め込むのかが疑問だったのですが、 Ant Task か Eclipseプラグインを使えばいい。 ということでした。 あとはアノテー…

遅れ

最近、取り残された感が・・・ 頑張って追いかけないとすぐに置いていかれる。 っていうか既に置いてかれてる?

Rod Johnson

JavaWorld DAY 2005行きたかったなぁ。 世の中狭いと上で書いておきながら、東京と大阪では情報量に差があると感じます。 ITProの記事を読んだだけですが、まだまだJavaは変わって行くのが分かります。 Seasarがその変化にどう絡んで行くのかが楽しみです。 …

OGNL

MayaでOGNL式を書いていてバグ?仕様?みたいなのを見つけた。 new String('A')と書くとエラーになる。 シングルクォーテーション囲みの1文字はcharとして認識するみたい。 試しに下のように書くと「65」と出た。 new Integer('A')これは仕様だわな。 追記 …

Tapestry 3.0.2 リリース

されたみたい。 何が変わったのか知らないけど。 3,1のalpha1もそろそろリリースされるみたい。

EclipseWork

EclipseでWebworkの開発支援を行うプラグインが出たみたいです。(via オレンジニュース) これから触ってみます。

なじめない

最近合間を見てTapestryを触ってみてはいるんですが、いまいちなじめません。確かにテンプレートのシステムは素晴らしいのですがBasePageを継承してページ単位にクラスを作っていくのに違和感を感じます。 実務でWebworkを使っていて慣れてしまったせいかも…

セッション

Webのシステムを作っていて毎回問題になるのが、 同じブラウザを二個立ち上げて操作したときの対応。 セッションに値を入れた場合だと、同じキーで保存してしまうので後勝ちになってしまう。 hiddenで埋めて引きずり回せば各々で処理できるけどあまりhidden…

解決

昨日のチェックボックスの問題は上手くやることで解決。 Tomcatでモジュール置き換えを何度もして再ロードをさせてるとOufOfmemoryErrorを起こしてる。 何が原因か良く分からないので、EclipseProfilerを入れてみた。 でも使い方が良く分からなかったので明…

チェックボックス

webworkのチェックボックスではまる。 デフォルト値をfalseにしないとだめなのか? チェックボックスの値はチェックしてないとname=valueという値が来ないから、一旦裏でtrueを保持してしまうとチェックをはずすとずっとtrueのままになる。 デフォルトをfals…

慣れない

今日はWebアプリでよくあるパターン 入力 > 確認 > 完了 をTapestryでやってみることにした。 結論から先に書くとうまくいきませんでした。 まず、Pageのプロパティを引き継がせてページを遷移させました。 入力 > 確認 は上手くいったのですが、 確認でパラ…

触ってみる

今まで実際にコードを書いたことがなかったのでTapestryのHPを見ながらプログラミング。 Spindle(unstable)もいい感じ。コードのバリデーションをやってくれるからスペルミスなどは未然に防げる。 エラーの表示も親切だ。JSPはServletに変換された後の行番号…

すげぇ

id:masataka_kさんの日記に興味深いことがいっぱい書かれていた。 (まさたかさん下で紹介しているソフト使ってみてはどうですか? いい感じで考えをまとめれますよ。既知でしたらすみません。) 今からからさわぎが楽しみだ。

petshopサンプル

Tapestryのpetshopサンプルを動かしてみた。 ヘッダーとフッターをどうやってインクルードしてるのかと思ったら、 セットで一つのコンポーネントになってた。 で、そのコンポーネントに中身を渡してた。 Tapestryを通さないとヘッダーとフッターは表示されな…

Middlegen

昨日のMiddlegenで吐き出された*.hbm.xmlに不具合があった。 テーブル名の終わりに「s」がついてると、「s」をのけた状態で作られるみたい。 原因を突き詰めたところ、middlegen Taskのオプションで singularize="false"というのを入れておけばいいみたい。 …

DDL > middlegen > hbm2java

下記のプラグインを用いてDDLからマッピングファイルそしてJavaBeansまで生成してみました。 Clay HP DBEdit HP 手順 Clayでデータモデリングをして、DDLを作成します。 出来たDDLをDBEditで実行してテーブルを作成します。 Antでmiddlegenを使ってテーブル…

密かに・・・

自分も何か作ってみようかなぁ。 フレームワークとかそういったものではなく、ツール的なものを。 案は一つ思いついているんだけど、もう少し煮詰めてみよう。 途中で止めないように育てていこう。 からさわぎまでにはプロトタイプ的なものを作り上げたいな…

DTOへ直接入れちゃえ

one-to-many many-to-one とか面倒なので、HQLで直接DTOへ入れてしまおうと思います。 下記の3つのテーブルを結合したものをEmployeeDetail(DTO)へマッピングしたいと思います。 テーブル 社員 create table EMPLOYEE ( employeeid integer generated by def…

S2JSF

昨日の方法だと特定の場所にバインディングすることができないなぁ。 こんなとき こんにちはnameさんうーん ひがさんからS2JSFのアナウンスがされてた。

S2JSFに期待

ひがさんがS2JSFの制作にとりかかったみたいですが、 どのような物ができあがるのか楽しみです。 デザイナとプログラマの分離がどのように実現されるのか? 前にも書いたけど、lintとかにも影響の出ないような物になるのかな。 タグにバインディング情報を書…

initialize

ソース追っかけました。 で、 「initial-value」を設定しているとこれを設定するPageDetachListenerがPageオブジェクトに登録されるようです。 で、Tapestryがしかるべきタイミングでdetach()メソッドを呼んで初期化を行うみたい。 BasePageをabtractで継承…

ちょっとソースを見てみる

javassistでサブクラスを作って、そのクラスにプロパティを作ってそのアクセサメソッドを作っているところは見つけた。 Tapestryはこの自分で作ったサブクラスを管理するから、 abstractでBeanを書けってことなのかな。 で、勝手にinitialize()したりするっ…

面倒くせぇ

あー面倒くせぇ。 insert(Object obj) update(Object obj) delete(Object obj) この三つはいいんだけど、 find(String hql) こいつが面倒。 期待した結果を得るのに時間がかかる。 上手く使い分けるのが得策かな。 Hibernateをバリバリに使いこなしている人…

javassist

以前書いたjavassistを使ったsetter/getterについてTapestry funさんからコメントがありました。TapestryはPageをキャッシュしているのでリクエストごとの初期化が必要とのこと。つまりこの部分を勝手に組み込んでくれるということなのかな。 時間ができたら…

TODO

1:Mだけやりました。 とりあえず動かすことはできた。 でも、まだ納得のいかない部分が残ってる。 その部分を解明しないと。 あと、最新のDBマガジンにHibernateの記事が載ってた。 その中で開発者のKing氏へのインタビューで、 「Hibernateはどんなときに使…

あぁ・・・

昨日立てたTODOは一つも実行されず・・・ 明日があるさ・・・