Saturday, June 16, 2007

JSUG勉強会 第4回 6/15「Springframework in JavaOne2007 + Spring MVC & WebFlow」

勉強会 - Japan Springframework User Group



先月に引き続いて参加してきました。

長谷川さん、スタッフの方々、ありがとうございました。



JavaOne2007もSpringMVCも自分にとってタイムリーな話題だったので、

興味深く聞く事ができました。以下自分のためのメモ。



1.河村さんによるJavaOne2007レポート

全般的な話題

  • JavaEE6には触れられず。背景として仕様書に着手した状態だからか?
  • JavaFXに注目が集まる
  • JavaSE6,7に注目が集まる Glassfish
  • JRubyの年でした
  • 各社でのJavaEE5 Application Server対応がのろい
  • ボフ?(座談会)でしたEEについて語られていなかった
  • JavaEE6 Final Release 2008 Q4
  • pruning(仕様削除)により少なくなったAPI
  • GlassfishV3は面白そう
  • EJB3.1 ejb.jarがいらなくなる Web層でsのEJB利用の簡略化


Springの話題



Interface21のマークフィッシャーのブログは要注目




Sunからの各国に対するメッセージ

Thank you->(和訳)->元気です(?)





2.チャトールさんによるSpringMVCとSpring Web Flowの説明



Strutsの問題->依存性が高い

Finite State Machineモデル(有限オートマンモデル)により会話的なやりとりが可能

Spring Web Flowはconversational Scopeをサポート

でも全てをSpring Web Flowでやろうとすると複雑になる(適材適所)

状態や遷移の管理をするのであればSpring Web Flow





3.飲み会

  • 森ビルからは東京タワーが見える
  • 六本木周辺は食事が高い
  • ジャカルタでは危険な場所もあるから注意しよう


おまけ

長谷川さんにSpring 入門にサインをしてもらった。ラッキー。













Powered by ScribeFire.

Sunday, June 10, 2007

ScribeFire

del.icio.usでブックマークはするものの、

なかなかブログは書けません。



ブログを書くのに便利な19 のFirefox拡張機能 - Google Mania | グーグルの便利な使い方



この記事を読んで、ScribFireを導入してみました。

右クリックのコンテキストメニューにメニューが追加されているので、

言及したいページで右クリックしてScribeFireが起動します。

タイトルとページURLを取得して記事Editorに自動的に入れてくれます。



使い勝手は悪くありません。


該当ブログサービスのウェブサイトを尋ねてログインする手間が省けます。


これでブログしない自分とお別れできるといいのですが。







Powered by ScribeFire.

OracleのJDBCドライバのデバッグ

OracleのJDBCドライバのデモプログラムに付属のOracleLog.propertiesによれば、

ojdbc14_g.jarを使うとJDBCドライバによるデバッグが可能になります。

http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.htm#32_00





Tomcatでこのデバッグを可能にするには、

Tomcat起動時の引数に、-Toracle.jdbc.Trace=trueを指定します。

WTPをお使いの方は「構成と実行」で指定できます。



つぎのような指定をしました。

 -Doracle.jdbc.Trace=true

 -Djava.util.logging.config.file=OracleLog.properties

 -Doracle.jdbc.LogFile="C:\Documents and Settings\sano\My Documents\jdbc.log"

OracleLog.propertiesはTomcat起動フォルダに入れておきます。



ここまではいいのですが、発行しているSQLが表示できていません。

OracleLog.propertiesの記述方法に問題があるのでしょうか?

デフォルトではだめなのかな?





Powered by ScribeFire.

Sunday, June 03, 2007

Firefox「正常にソフトウェアを更新できませんでした。」の対処方法

Firefoxを2.0.3から2.0.4に更新しました。
すると、制限ユーザでの起動時に、
「正常にソフトウェアを更新できませんでした。」
と、メッセージが表示されるようになってしまいました。

いろいろ検索して次の解決策にたどり着きました。

http://kb.mozillazine.org/Updates_reported_when_running_newest_version

Method 1: Delete active-update.xml, updates.xml and the "updates" folder from both of these locations:

  • The Firefox installation directory, for example, C:\Program Files\Mozilla Firefox [1].
  • (Firefox 2.0.0.2 and later) The corresponding Firefox directory where local application data and settings are stored, depending on your operating system [2]; for example, in Windows XP, C:\Documents and Settings\\Local Settings\Application Data\Mozilla\Firefox\Mozilla Firefox [3].

上記に従い、ファイルを削除したら、起動時のエラーダイアログは表示されなくなりました。

Saturday, June 02, 2007

デフォルトブラウザをFirefoxに

備忘録です。

僕はPCではいつも制限ユーザで作業しています。
これは不用意にPCの設定を更新しないためです。
ブラウザはFirefoxを愛用しているのですが、
HTMLファイルに対応するプログラムが
Internet Explorerから変更できないでいました。

先日、ハードディスク60GBの未使用率が15%を切ったため、
PCをリカバリしました。

で、Firefoxはもちろん、必要なソフト類をインストールした後に、
作業用の制限ユーザを追加しました。

すると、制限ユーザでもHTMLファイルに対応するプログラムがFirefoxに変更できるようになりました。

覚えたことは、
「Windows XPを使うときには、ユーザを追加する前に必要なソフトをインストールしておくこと」
です。
でも、それってなんだかなぁって感じがします。

Saturday, May 12, 2007

springframework勉強会 第3回 5/11「ワークショップで共有しましょう」

http://springframework.jp/index.php?%CA%D9%B6%AF%B2%F1

参加者の皆様ご苦労様でした。
長谷川さん、スタッフの方々、楽しい時間をありがとうございました。

ワークショップにより参加者の共有する問題の最適解を見つけていく作業は楽しい。
以下は自分のためのメモ。

1.問題点の提起
・知らない人にどうやって教える?
・MyEclipse気になるね
・iBATIS最強(?)
・AutoWire最強(?)

2.AutoWireに関する議論
・AutoWire最強!ワイルドカードでBeanをごっそり取ってくる。
・Bean定義の分割方法大事だね。共通は個別に、業務はワイルドカードでごっそり。すっきり!
・ただし、共通のテンプレートクラスにセッターがある場合は効かない。
・layz_initを使うとシングルトンのオブジェクトを起動時に生成しない。
(アプリケーションサーバーの起動が早いよ)
・iBATISは学習コストが低い。Hibernateは覚えるまでが緩やかな双曲線。(しかも下がることもある)

3.ほか
GWT(Google Web Toolkit)はAjaxのウェブアプリケーション作成フレームワーク
AOPで例外処理のハンドリング

4.成果
・インターフェースを使ったパターン抽出
・AutoWireを使用した場合の定義ァイル分割パターン抽出
(詳細はユーザ会Wikiで・・・)

5.飲み会
・Lisp最強!とんがった人はどこかでLispに触れている。
・JavaOneは、かにパーティと化しているらしい。
・JRubyはやりすぎだろ?スクリプト言語はなぁ・・・
・JavaがC++に近づいている。C++にガベージコレクション機能をつけたほうが早いのでは?
・BinaryHack最高!
・Springにより、Javaのプログラミングを知る人が少なくなっている。(なぜ、ニューしなくて動くんですか?)
・人口低下に伴いプログラマも少なくなる。
・将来、プログラミングの仕事はオフショアにほとんどもってかれている。
・でもフレームワーク部分は日本人で押さえたいよね。

Sunday, May 06, 2007

springframeworkとlog4j

簡単ですがlog4jライブラリによるログのとり方の覚書

1.log4jライブラリをWEB-INF/lib/に入れる。

2.アプリケーションのweb.xmlに次のように記述する。


log4jConfigLocation
/WEB-INF/log4j.properties


org.springframework.web.util.Log4jConfigListener



3./WEB-INF/log4j.propertiesに記述する。(下記はjpetstoreにspringframeworkのログを追加したもの)
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=INFO, stdout, logfile

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=${petstore.root}/WEB-INF/petstore.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

log4j.logger.org.springframework=INFO

こんな感じです。

以下は失敗談

Eclipseのコンソールには次のようなメッセージが出力されていた。
一行目に気をとられ、二行目に気がつかなかった。

致命的: クラス org.springframework.web.util.Log4jConfigListener のリスナインスタンスにコンテキスト初期化イベントを送信中の例外です
java.lang.NoClassDefFoundError: org/apache/log4j/PropertyConfigurator

二行目はlog4jライブラリが入っていないか、あるいはCLASSPATHに通っていない場合に出力されるメッセージ。

Saturday, May 05, 2007

springmodules

springframeworkを使ったWebアプリケーションの
キャッシュ機能について調査してみた。
というのも、自分で作るほど技術力ないし、作ったとしてもメンテナンスコストが高くつく。

どうやら、springmodulesを使って、
キャッシュプロバイダOSCache、EHCacheなどと組み合わせると
幸せになれそうだ。試してないけど。

http://dev2dev.bea.com/pub/a/2006/05/declarative-caching.html
http://www.gigaspaces.com/JForum/posts/list/139.page

しかしspringmodulesについての記述が少ないのには驚いた。
実績がないのだろうか。
https://springmodules.dev.java.net/

Friday, May 04, 2007

Acme::Louのインストールができない

やりたいのは、ローカルな環境でも「ルー変換」ができるようすること。

つまづいているのは、Acme::Lou-0.03のインストールでのmake testに失敗。

ログを見ると、lou変換かけても「美しい国、日本」が「美しい国、日本」のままのようだ。
メモリ上に展開したルー語辞書のハッシュからルー語が取得できていないようだ。

引き続き作業・・・

つぎのタスクは作業終了済み
・MeCabインストール(0.95)
・MeCab辞書インストール(0.95)
・Text::MeCabインストール(0.16)

日本の祝日

今日は国民の休日みどりの日だそうだ。
wikipediaによれば
http://ja.wikipedia.org/wiki/%E3%81%BF%E3%81%A9%E3%82%8A%E3%81%AE%E6%97%A5

「自然にしたしむとともにその恩恵に感謝し、豊かな心をはぐくむ」ことを趣旨としている。


自分がはじめて覚えた祝祭日は次のとおり。ずいぶん変わったものだ。
今では日にちにはあまり意味がないらしい。
1/1元旦
1/15成人の日
2/11建国記念日
3/22-24春分の日
4/29昭和天皇誕生日
5/3憲法制定日
5/5こどもの日
9/15敬老の日
9/22-24秋分の日
10/10体育の日
11/3文化の日
11/23勤労感謝の日

Monday, April 30, 2007

自分のノートPCで流行のルー語変換を試そうとした。
http://e8y.net/repos/mecab-htmltagcloud/trunk/index.cgi
http://e8y.net/repos/lou_trans/lou.cgi

colinuxのファイルシステムの使用量を確認したところ、
90%をオーバーしていることに気がついた。
ファイルシステムをusr,var,rootに分割し、再度立ち上げたら夕方六時。
なんだかなぁ。

tarの実行時にpadding size zerosとかメッセージが出たので調べてみたけど、
あまり同様の事象はあげられていなかった。
tar でファイルコピーする際、/sysはコピーしなくてもいいようだ。
(確証なし・・・)

debian 4.0では出なかったんだよな。

Sunday, April 15, 2007

Seleniumの実行結果を取得する

Results URLのテキストボックスに次のスクリプト名を指定する。

#!C:/Perl/bin/perl.exe
# postResults.cgi
use strict;
use warnings;
use CGI qw/:standard/;

my $date = localtime;
print header(), start_html(), h1("Selenium results");
print h2("Environment infomation");
foreach my $p (sort keys %ENV) {
print div("$p: $ENV{$p}");
}
print h2("Selenium information");
foreach my $p (param()) {
print h3($p), param($p), "\n" unless ($p =~ /^testTable/);
}
print h2("Test Cases");
foreach my $p (param()) {
print h3($p), param($p), "\n" if ($p =~ /^testTable/);
}

print end_html();

Friday, April 06, 2007

YAPC::Asia 2007 Day2

仕事休んでいったかいあった。
いろいろ刺激を受けました。
DBIx::Classとか、LiveJournalのスケールの話とか、MJDのリファクタリングの話とか。
うー、おなかいっぱい。
消化できるか心配だ。

普通
・普通->最大公約数or最小公倍数?
・perl6は文字列もオブジェクト->Rubyのまね

DBIx::Class
・SQL::Abstract
・Data::pagaer(?),DBIx::Pager(?)
・DBIx::Class::Relataionalship

Asynapse
・REST
・Jiftyのプラグイン
・JavaScriptでファイルの読み書き?
・XUL(ゾールと発音)
・YUI
・my ($a, $b) = (my $c = func(x,y,z));

Pattern in perl
・singleton why use a singleton?
・Class::Singletons
・it is global
・for stateless
・File::Locker
・Is facade design pattern?
・memento
・iterator
・decorator
・Class::Trait
・C/Java クラスを生成することによってPerlの動的な部分を補っている
・CPANの利用によりサポートされる機能

LiveJournalのスケーラビリティ
http://www.danga.com/words/
memcached
perlbal
1->100
RAID->全部書き込みはもったいない、冗長
特効薬はないがやり方はたくさんある
Apacheが生きているか?->OPTIONリクエストを投げて確認
big-ip->mod_proxy->mod_perl->global db->user db
MogileFS->oMgFileS
ジョブ管理?
Gearman::Worker
Gearman::Client
ただし、No Guarantee
TheSchwarz for mail distribute millions of emails per day
djabberd
->デバッグ方法(イベント系のものはデバッグしにくいよね。ケースバイケース)

DBIx::Class
モバイルファクトリーの方
DBIC::from Sledge
_on、_at->日付系のカラム名
http://code.mobfactory.jp/ (?)
Class::C3

Pushmi

Wednesday, April 04, 2007

YAPC::Asia 2007

楽しいカンファレンスでした。
Perl worst placticesが印象的でした。

以下メモ(なんかみんな書いてるっぽいので)

・ソースの再利用->二回目以降の開発に役立つ
・依存性の排除(使いたいモジュールより依存性の解消が手間)
・仮想化Virtualization リソースの最適化
・現行:パッケージの配布->将来:環境の配布
・web service->perl service(plagger as a service)
・EC2 CGレンダリングとか
・フレーバー DBは?ストレージが仮想

VOX
・catalyst + JSON-RPC
・sixapart javascript library
・large scale case of LiveJournal by Brad
・Data::Object(cached,partionary)
・TheSchewartz
・Perlbal
・http://code.sixapart.com/
・1st, user->global DB and 2nd, user->user db(DB1/DB2/DB3)

Sunday, March 18, 2007

digg.com

diggにjoinした。
diggというサービスがいまひとつ理解していないが・・・

Saturday, February 10, 2007

Blogging: daily blog posting by feedburner

http://semanticvoid.com/blog/2005/11/27/post-delicious-links-to-blogger-now/

によればfeedburnerによりdel.icio.usの内容をBloggerにポストできるそうだ。早速設定してみた。どうなることやら。

Saturday, November 04, 2006

Sageとdel.icio.us

Firefox使っています。
アドオンにSageを使っていました。
Yahoo提供のdel.icio.usアドオンを入れたところ
Sageの上部ペインが真っ白になってしまいました。
相性がよくないようです。

Sunday, October 22, 2006

丹下段平設計事務所: YouTubeはユーザーのセキュリティを考えるべき

丹下段平設計事務所: YouTubeはユーザーのセキュリティを考えるべき: "著作権侵害のビデオを見ようとする奴がいけないんだと言う向きも多数いるだろうが、それ以前に上場企業が悪事の片棒を担いでいることの方が問題だろうし、簡単に著作権侵害のビデオ投稿できる仕組みも問題だ。"

痛い人だ。自衛してないのか?

# スクラムマスターを雇う時に聞いてみるとよい47個の質問

  # スクラムマスターを雇う時に聞いてみるとよい47個の質問 スクラムマスターへの質問というPDFがあるので、回答してみた。 定期的に自分の回答がどう変わっていくのか楽しみだ。 Scrum Master Interview Questions: Free Download of...