トップ 最新 追記

ふたつの川うるおう日記

Seasar Conference 2008 Autumn - 9/6(SAT), Tokyo

2007-01-01 (Mon)

_ 明けましておめでとうございます

本年もどうぞよろしくお願い申し上げますm(_ _)m。

| Bookmark:

_ [雑記] まったり

初詣行って気づいた、今年は後厄だった。お払いしてもらい初詣も滞りなく完了したので今年の元旦はビデオ大会かなー(゜ー゜)。最近は元旦からお店いっぱい開いてて良いね。

| Bookmark:

2007-01-03 (Wed)

_ [雑記] Pervasive.SQL 2000i

親の事務所のPCで業務用のソフトが動くマシンと動かないマシンがあるから見てくれといわれて朝一で見てきたら、Pervasive.SQL 2000iとかいう組み込み向けDBが入ってなかっただけだった。ションボリ。業務用のソフトはフロントエンドがオリジナルアプリとAccessで裏にいるPervasive.SQL 2000iのデータを操作してるぽかった。いろいろあるもんだ。

| Bookmark:

_ [雑記] 過去の無記名遺産

作ったは良いけどラベリングしてなくて中身が判らなくなってたCD/DVD-R/RWの中身確認しつつ、いらないの全部捨てた。有償関係のはシュレッダーでガリガリ。ついでに目に付くゴミも捨てて綺麗さっぱりー。一番多かったのはLinuxディストリのCD、中身が無償だしいくらでも作れるからか、ラベルもしないでそのまま放置されて大量に紛れてたらしい。最近のはテプラでラベリングしてあるので問題無いけど、無記名のやつは中身確認しないといけないから大変。今後も全部ラベリングしていこう(´ー`)。

机の上が広くなったけど、明日から大学開くらしいので大学行こう。

| Bookmark:

2007-01-06 (Sat)

_ [大学] 雨激しい

今日来たのはいいもののびしょ濡れ。。

| Bookmark:

_ [Project] Mozilla Foundation金持ち

売り上げの大半の検索エンジンに由来ってFirefoxとかの右上の検索窓提供に対するお金なのかな。Mozilla Foundation Documentsに財務表があって、この検索エンジン関連で5051万ドル分らしい。寄付が49万ドル、利息が57万ドル、支出が817万ドル。金持ちすぎー。

| Bookmark:

2007-01-08 (Mon)

_ [大学] 車で

今日は車で来てみた。今日もまだ休み期間中なので人少ない。

| Bookmark:

2007-01-09 (Tue)

_ [Java][Ashikunep][Seasar] 1Action 1ActionFormを1Event 1ActionFormへ

以下途中で脈略なくなり、結論としていらないっぽい。

最近FormでSubmitする時にSubmitする前と後で同じもの、StrutsでいうところのActionFormやS2StrutsのPOJO(Dto)、IkushipeでいうところのModelを使うのが使いにくい気がしてきた。StrutsでいうとこのAction単位、Ikushipeでいうところのページ単位でActionFormやModelを持つんじゃなくて、その中のイベントごとにSubmitする前と後を定義できると嬉しいかもしれない(Strutsの場合はS2Struts限定)。特に1画面でいろんなSubmitを使うAjaxなんかで。

  • S2Strutsの例
@StrutsAction(name = "posixAccountDto", parameter = "method", validate = false)
public interface LoginAction {
    @StrutsActionForward(path = "/user/index.html")
    public static final String USER = "USER";
    @StrutsActionForward(path = "/user/login.html")
    public static final String ERROR = "ERROR";
    public String login();
}

を出来るかどうかは別として、

public interface LoginAction {
    @StrutsActionForward(path = "/user/index.html")
    public static final String USER = "USER";
    @StrutsActionForward(path = "/user/login.html")
    public static final String ERROR = "ERROR";
    @StrutsAction(submitDto = "posixAccountDto", returnDto = "userDto", parameter = "method", validate = false)
    public String login();
}

とか。でもS2Sturtsの場合、Actionにgetter用意しとけばそうなるからいらないか・・・。

  • Ikushipeの例
@WebPage(model = LoginModel.class)
public class LoginPage {
    public Class<UserPage> login(LoginModel loginModel) {
        ...
        return UserPage.class;
    }
}

を出来るかどうかは別として、

public class LoginPage {
    public Class<UserPage> login(@EventPageModel LoginModel loginModel, @ResultPageModel UserModel userModel) {
        ...
        return UserPage.class;
    }
}

@EventPageModelにリクエストパラメータを入って、ページ偏移後のattrに@ResultPageModelの中身が展開される感じ。@EventPageModelもattrに残す。こうなるとそのページで起こりうる複数のイベントを記述できる。ついでに偏移後に使うページに複数のフォームがあるかもしれないのでモデルも複数であっても構わない。

でもこれもS2Strutsみたいにgetterでattrに出せるようにすればいらないか。とりあえずの手段だとattrにセットするsetAttributeってのを作るとか。

@WebPage(model = LoginModel.class)
public class LoginPage {
    public Class<UserPage> login(LoginModel loginModel, UserModel userModel) {
        ...
        setAttribute("userModel", userModel);
        return UserPage.class;
    }
}
| Bookmark:

_ [Java][Ashikunep] 1Page 1Modelを1Event 複数Modelへ

なんかこういうのが欲しい気がしてきた@Ikushipeの例。

public class UserPage {
    public Class<IndexPage> logout(@EventModel UserModel userModel) {
        ...
        return IndexPage.class;
    }
    public Class<UserPage> submit(@EventModel SubmitModel submitModel, @EventModel UserModel userModel) {
        ...
        return UserPage.class;
    }
}

@EventModelがformのパラメータに対応するもの。submitModelとuserModelで同じsetter/getterがあったら両方にパラメータ設定しちゃう。1Page 1Modelにするならこうかな。

@WebPage(model = { LoginModel.class , UserModel.class })
public class UserPage {
    public Class<IndexPage> logout(UserModel userModel) {
        ...
        return IndexPage.class;
    }
    public Class<UserPage> submit(SubmitModel submitModel, UserModel userModel) {
        ...
        return UserPage.class;
    }
}

思いつきだからいろいろダメな気 or 他にもっと良いやり方がある気がしないでもない。もっと良く考えよう。

| Bookmark:

_ [大学] 卒論提出

期限15日って聞いてなかったんだな。提出先がまだ用意できてない罠。ダミーページだけ用意。

| Bookmark:

_ [Work] 学会サイト作成

卒論提出やってて、別件の学会サイト作成の件について話してきたら、今日明日で欲しいようだったので、急遽そっちの作業したら一日終わってしまった。2ヶ月ぐらい前に途中まで作業してたやつを画像やタグを仕上げて公開した。ICMI 2007で検索してトップページに琴の写真が出てくるサイト。ICMIって略称の学会は多くて何個かヒットするけどACMのやつです。当分サイトデザインはお腹いっぱい。

| Bookmark:

2007-01-10 (Wed)

_ [大学] 海外の方のフォント感覚

WEBサイトでfont-family無指定でみれるフォントは文字が読みにくいらしく、VerdanaかArialの10ptが読みやすいらしい。僕の感覚だとTimes New Romanみたいな硬い感じの方がカッコいいと思うんだけど、どうやらそれは読みにくいだけなのかー。それでApacheとかJIRAのサイト見てみると確かにfont-familyにVerdanaやArialが指定されてる。

| Bookmark:

2007-01-14 (Sun)

_ [大学] 期間限定アプリ

学内者向けに期間限定のアプリを作り公開しました。無事最後まで動きますように。

学内的にクリティカルなとこに初本格利用のIkushipe投入してみました。動きはほんと爆速です。コンパイル時ソリューション慣れると超楽しい。APTなフレームワークをどうやって作っていくのかをだいぶ理解出来た気がする。

| Bookmark:

2007-01-17 (Wed)

_ [大学] 所属情報

卒業予定者の論文を見ていると、内容は人のこと言えないので良いとして(_| ̄|○)、指定されているフォーマットに従っていなかったり所属情報が謎なのがかなりある。せめて所属情報は皆同じになるはずなのにいろんなのがあって悲しい。うちの場合なら次の感じだよー。

  • 学部まで
    • Faculty of ... (改行) ... University
  • 学科まで書く
    • Department of ... (改行) Faculty of ... (改行) ... University
  • 院生
    • Graduate School of ... (改行) ... University

改行しない場合は , で区切る。

| Bookmark:

2007-01-19 (Fri)

_ [大学] 3ware 9650SE-2LP

3wareの9650SE-2LPを確保。でも入れるマシンがまだない。ついでに時期的にもうちょい待ってOSにCentOS 5入れたい。RHEL 5が2月28日にリリースされるという噂なので、CentOS 5は3月中旬ぐらいかな。

それから仮想化環境にXenを使うかOpenVZ使うか。RHEL 5にはXenが付くみたいだけど、リリース頻度とかホスト環境をすべて同じLinux OSにするならOpenVZの方が仕組み的に良い気がしてきてたりします。でももうXenで作っちゃった環境が何個かあるし迷い所。と思ったけど、良く考えたらGFSも使いたいので、その辺考えるとパッケージングされてないOpenVZだとちょっと手間になるかも。

| Bookmark:

_ [雑記] 腰注意報

帰宅したら腰にちょっとだけ違和感が。午前中床屋寄って変な体制でもしてたかな。。安静にしてよ@ぎっくり腰前科1。

風呂入ったら良くなった(゜ー゜)。

| Bookmark:

2007-01-22 (Mon)

_ [Seasar] DB上げようと思ったらいつの間にかJIRAも。。

イベントサイトのTuigwaaのDBがPostgreSQLになったのでついでにトラッキングのDBもバージョン揃えようとしたところ、途中からどうせだからとJIRA自体もバージョンアップしました。DBだけで10分ぐらいで終わらせるつもりが、JIRAでハマったりして気づいたら朝方(;´ー`)。

ハマったところは単にentityengine.xmlの設定を1行コメントアウトし過ぎてただけという。

| Bookmark:

2007-01-25 (Thu)

_ [大学] 某研究室サーバHDDさよなら

いよいよ1週間後に卒業論文発表会です。今頃学部生は必至こいて本論とパワーポイントを書いていることと思います。そんな中、某研究室のサーバのHDDが本日お亡くなりになりました。

んで、そこにどうやら卒論発表会で使うデモ環境が何人分かあったそうで、どうにかならないかヘルプで呼ばれました。見てみたところHDDの電源ユニットが逝かれているようでディスクが回っていませんでした。配線変えてもダメ。

あー、可哀想な学部生…。

一度はそのまま帰ったのですが、そこの研究室の方が新しく途中まで作ってたサーバの設定が判らないと呼ばれまた見に行きました。設定見てみたところ、この熟練度だと1週間後までに前と同環境にするには申し訳ないが無理っぽかったので言っちゃった。「僕が明日までに作ります」と…。

んなわけで今日はお泊り。

まったく前のちょっと特殊なサーバ環境作ったの誰だよーってな話なんだけど、それは僕が4年ぐらい前に作った罠だったり_| ̄|○。

特殊っていってもユーザのホームごとに好きなServlet置けるようにしてあるだけなんだけどね。。あとDBとかいろいろ。

てなわけで、予想外に面倒な手間が発生したけど、このまま普通にやるのもつまんないのでとりあえず64bit CentOS 4.4入れて、lm_sensorsとか監視系も入れてmuninも入れちゃった。

この64bit OSと監視系の充実は次のSeasar用に調達しているサーバでやろうと思っていた内容だったりもする。

| Bookmark:

2007-01-30 (Tue)

_ [Seasar][Server] app01サーバ移設

明日app01サーバが移設されます。機能は既に他に退避済みなので見た目で判る制限は特にありません。

| Bookmark:

_ [Server][Admin] mod_rewriteを使ったメンテナンス表示

最近メンテナンス表示するのにmod_rewriteでやるようになりました。mod_rewriteでやるとどんなWEBアプリだろうと気にせず接続元絞ったりなどしてメンテナンス表示出来ます。

IP xxx.xxx.xxx.xxxからの接続は通常表示して、他の接続元はすべてメンテナンスページに飛ばす方法はこんな感じ。メンテナンスするアプリの例はApache 2.2のmod_proxy_ajpでTomcatと連携しているWEBアプリ。実質mod_rewriteの部分だけ見ればOK。

<IfModule proxy_ajp_module>
    ProxyRequests Off
    ProxyPass /context ajp://app02.example.org:8009/context
    ProxyPassReverse /context ajp://app02.example.org:8009/context
    ## for under maintenance
    RewriteEngine On
    RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx$
    RewriteRule ^/context/(.*) http://www.example.org/maintenance/ [L,R,NE]
</IfModule>

メンテが終わったらRewrite*の部分をコメントアウトして再起動すればOK。

| Bookmark:

2007-01-31 (Wed)

_ [大学] 卒論発表会

学部の卒論発表会でした。PDFでだいたい目を通していたので後輩のだけ見ました(笑。一番の見所は教授の質問に対して、(オブラートに包んで)アブストラクトに書いてあると答えた所かな。まぁ基本的なことを質問した教授が知らなかったっぽいけど。

その後、↓のイベントに参加するために出る支度してたら、まだやらないといわれていた仕事の連絡が来て、急遽DBのデータ数百万件移植してました・・・。そのため、↓のイベントに遅刻してしまいました_| ̄|○。

| Bookmark:

_ [Seasar][Project] Fortify Source Code Analysis Suite

ドン引き勉強会の一貫で、フォーティファイ・ソフトウェア株式会社さんにお邪魔してソースコード脆弱性を分析してくれるFortify Source Code Analysis Suiteのデモを見せていただきました。前半部分遅刻したため見れませんでしたが、一通りの動きは見れました。

まず動きを見た上で、欲しいか欲しくないか?と聞かれたら間違いなく欲しいっと多くの方が即答するぐらい魅力的なものでした。問題は皆さん言っていますが、価格・・・。とりあえず僕にはまず買えない(;´ー`)。

EclipseのPluginになっていて、対象プロジェクトの分析を開始するとコード規模にもよりますがかなりの数の問題を指摘してくれます。対応言語・リソースはC/C++,Java,JSP,C#,VB.NET,PL/SQL,TSQL,XMLと多岐に渡ります。問題の指摘には脆弱性レベルがあり、フレームワークの機能により実際には問題が無くなる内容など、指摘して欲しくない部分もありますが、それらもルールを作って検出されないようにしてくれます。

フレームワークを使う場合は、そのフレームワーク専用のルールを定義しておくことで効率的に検証できそうです。ルールの定義も専用のGUI Builderがあり、結構複雑なルールを作れそうでした。

簡単な例では、リソースの開放忘れ、開放手順の誤り(finallyでしていないとか)、SQL Injectionの可能性の指摘など、とりあえず何も考えずに解析を実行しても即座に嬉しい効果が期待できます。

この製品を使うことで開発者が自分のプログラムのバグの可能性を見つけるだけでなく、たとえば別の会社に外注したプログラムを検品時に出来のレベルを測ることも出来ます。僕の狭い社会経験で知りうる限り、大企業であってもベンチャー企業であっても、出来の良いものは果てしなく良く、逆に出来の悪いものは果てしなく酷いソースコードです。また、同じ会社であっても作る人によってその差もバラバラです。で、納品される側はというと一部を除き大抵ソースコードレベルまで詳しく検証しません。見た目でわかる機能を満たしていればそれでOKです。そんなわけで、検品時に発注会社がFortify Source Code Analysis Suiteで検証すれば最低限の問題点は発見出きるので、それを外注先に知らせるなどして、外注する会社側は一定の品質を確保するためにも持っていると良いと思います。もちろん問題ないものも検出されるものがあるので、外注する側の会社にもある程度のノウハウが必要になりますが、それはプログラムを一から書くことを考えれば少ないんじゃないかなと思います。

ライセンスが高いので、多くの方が使う場合には、コマンドラインで実行可能だったので、例えば定期的にサーバ上でリポジトリからチェックアウトして、実行・レポートを見れる状態にするようにすると嬉しそうです。Sambaプロジェクトなどではbuild farmという各アーキテクチャと環境でコンパイルが上手く出きるかを定期的に実行する仕組みがありますが、それに脆弱性検査も足すイメージです。

| Bookmark:

_ [Seasar][Project] PigiWiki

manholeさんに教えていただたいたのですが、SeasarWikiのHelpに書かれているPukiWikiの文字列がなぜかPigiWikiに変更されているとのこと(;´ー`)。んで、見てみたら確かになってる。。manholeさんの言われてたように検索しても数件しか出てこないし、スパムってわけでもなさそう。何より一部PukiWikiのままのとこもあり、これは置換じゃなくて手動で置き換えたのかな??とりあえず元に戻しておきました。

[追記] Apacheのログ見たら、更新されたと思われる時間帯に翻訳サービスを使って閲覧したページからPOSTしてるっぽいログがありました。もしかしたらそれが原因かもしれません。

| Bookmark:
本日のツッコミ(全2件) [ツッコミを入れる]

_ manhole [> 翻訳サービスを使って閲覧したページからPOSTしてるっぽい うえええ そんなんでページが書き換わっちゃうのですか..]

_ jfut [自分で書いといてなんですがありえなさそうなんですが、他にその時間帯にPOSTが無かったので、そうじゃなければいたずら..]


| Return to page top | Vicuna CMS - WordPress Theme - Vicuna Ninja Style for tDiary |