Pixel Pedals of Tomakomai

北海道苫小牧市出身の初老の日常

2006-01-01から1年間の記事一覧

WTP

どうもservletとは仲良くなれないのです・・・。EclipseのプラグインのWTPを使ったのですが、安定させられません。なんとかわかったこと。 STOP&STARTとかRun on serverしたりすると、ファイルを自動であげてくれるのだが・・・ 実は更新のあったファイルし…

Rhino事始め - JavaとRhinoのコラボ(4)

今回が最後です。長かった。 ChefインタフェースをJavaScriptで実装します。JavaScriptは以下のようなイメージです。名前はchef1.jsとしました。 var output = java.lang.System.out; var impl = { introduce : function () { output.println("JavaScriptが…

Rhino事始め - JavaとRhinoのコラボ(3)

長いので2回続きとなります。今回は準備だけ。 3. Javaのインタフェースを実装する interfaceを扱うJavaのフレームワーク内に、JavaScriptで実装したインスタンスを流すと言うRhinoの利用法です。Javaのフレームワークは堅固な開発ができると同時に、JavaSc…

maven2にサードパーティのjarを(以下略

久々にmaven2を触りました。mvn install:install-fileでclasses12.jarをインストールしてからPOMにdependencyを書いてるんですが、 [WARNING] Unable to get resource from repository central (http://repo1.maven.org/maven2) って言われちゃうのです。こ…

m2eclipseでプロクシに阻まれました

慣れないことするもんじゃないですねえ。maven2のeclipseプラグインを使うと、なぜかプロクシが超えられないと言う問題で、本日8時間潰しました(笑)。さっきようやくこんなのを見つけたんですが、どうやらsettings.xmlを読まないバグのようで。超ショックで…

Rhino事始め - JavaとRhinoのコラボ(2)

2. 一つの関数を何度も実行させる ここからは今までと少しだけ趣向が変わってきます。今まではJavaScriptに処理を直接書いて即時実行させていましたが、ここからは処理の定義だけ記述してJavaからそれをキックすると言うアプローチを取ります。 JavaScriptで…

Rhino事始め - JavaとRhinoのコラボ(1)

いくらAjaxが流行ってもJavaScriptよりJavaの方が楽しい・・・なんて自分のために、JavaをメインとしたRhinoの使い方をまとめておきます。ここから情報源ががくっと減るのはRhinoがあまり流行ってないからでしょうか・・・。 JavaからちょくちょくRhinoを呼…

Rhino事始め - スクリプトを走らせる(2)

そろそろRhinoの本領発揮と言ったところ。 今回も前回の my_script.js を編集してみます。RhinoでJavaScriptの構文を実行出来るのはもちろんのことですが、本当の強みは直接Javaのクラスを触れることにあります。 var out = java.lang.System.out; var str =…

Seasar Conference 2006 Autumn

法政大学にて、参加しております。天気にも恵まれていい感じ。ただ、ADGEの電波は入らないようです・・・。ので、家に帰ってからの更新。以下、完全に自分メモですので、イベントレポートにはならないと思います≧(´▽`)≦。 25F B Webテンプレートエンジン Ma…

Rhino事始め - スクリプトを走らせる(1)

Rhinoを使う場合、以下の二つの用途に分かれると思います。 JavaはRhinoを実行するだけで、JavaScriptにほとんどの仕事をやらせる Javaがメインの仕事をして、JavaScriptに一部の変更の多いロジックを書く まずは1の実現の仕方です。JavaScriptに色々書いて…

Rhino事始め - 基本編

手軽にRhinoのおいしい汁だけ吸ってみます。ディープに使うことは考えてないので注意。 Rhinoとは、Javaで書かれたJavaScript実行環境です。Javaと親和性が強く、JavaScriptからJavaを呼んだりJavaからJavaScriptを呼ばせたりすることが簡単にできます。最近…

EclipseでCVSブランチを作ってみた

案外難しかったです。EclipseにCVSブランチを作れるっぽいメニューがあるのですが、使い方に苦戦したのでまとめておきます。 Package Explorer>Team>Branch... 実際にはcvs tagとcvs tag -bコマンドを連続して叩くだけである。よって、今ワークスペース内…

Rhino

最近興味本位でRhinoを触ってます。初めて触った時は、APIの意味がさっぱりわからなかったのですが、JavaScriptをちょっと勉強し直すと意味が分かるようになりますね。 グローバルスコープや関数等ほとんど全てがオブジェクトとそのプロパティ*1で表されるこ…

Logging API でログと上手に付き合う

最近Logging APIを使ってます。あんま使い勝手はよくないんですが、慣れてきました(笑)。*1 あ、ちなみに先に言っておくと、log4jは触ったことないので、そっちと比べての善し悪しはわかりません*2。log4jの方が便利だとは思いますけどね。 さて、Loggingで…

iTunesが!!

気がついたらiTunes7にアップデートされてました。テーマカラーが変わって心機一転。そして、ついにギャップレス再生が付きました!!! これでDance Maniaが聞けます。すばらしい!!!!!! *1他にも、アートワークの自動ダウンロードやアートワークで曲…

Digesterに悩む

率直な感想は、「なんだ、この使いにくいAPIは!」。エレメントに対してルールを定義するというアイディアは賛同できるのですが、使えば使うほど辛くなってきます。なんでなんだろうと考えてみたんですが、APIが整理されていなくて、しかも命名が直感的じゃ…

Hibernate EntityManager

こちらのエントリを盗み見て動かそうと頑張っているのですが、まだ動きません(笑)。 lib以下はREADME.txtを見つつrequiredなjarを取り込む lib以下だけCLASSPATHに入れててメインのjarを入れ忘れたよ(ぉ *1 エンティティには@Entityアノテーションを cglibが…

RuntimePermission "exitVM"

ポリシーファイルにexitVM権限を付加しなくても、アプリはSystem.exit()可能だそうです。ここを流し読みした感じ、sun.misc.Launcher.AppClassLoader経由ではexitVM権限が付加されるみたい。確かに、デフォルトのjava.policyにはexitVM権限は書かれていない…

exitされたくない

外部のクラスのmain()を呼んだりしてみたところ、System.exit()されて後続の処理をキャンセルされてしまいました。それでは困るので、セキュリティマネージャーの力を借りてみました。 // 現在のセキュリティマネージャを取得 final SecurityManager origina…

BuddhistCalendar

仏陀は偉大なのです。例えば、ちょうど今、 Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR));とやっても、タイでは「2006」が返って来ないかもしれません。試しに、ロケールをタイにした検証結果を載せてみます。 Calen…

finally{}とSystem#exit()

finally{} は非常に便利で、例外発生時だけではなく return 時にも必ず実行されます。しかし、System#exit()にはさすがに勝てません。こんな三つのメソッドを作って、 static void returnMeth(){ try{ System.out.println("(returnMeth) try."); return; }fi…

複数のStreamと例外

こんなに例外がやっかいだったとは・・・。ふたつのファイルからデータを読んで、ひとつのファイルに書き込むプログラムを書いてみました。 File in1 = new File("in1.txt"); File in2 = new File("in2.txt"); File out = new File("out.txt"); BufferedRead…

配列のキャスト

java初心者であることを痛感しました。以下のコードがClassCastExceptoinで動かないのです。 ArrayList list = new ArrayList(); list.add("hoge"); String[] array = (String[]) list.toArray();ArrayListから戻ってくる実体はObjectなので、Stringにはでき…

Velocity

TEXT形式で結果を出力しているプログラムを、html形式に直して欲しいと言う依頼を受けました。普通にprintln()でやるとつまんない*1上に改修に弱くなってしまうので、google先生に聞いてみたところ、Velocityなるものを発見。VTL(Velocity Template Language…

MavenはCPANの味

Maven 2をインストールしてみました。なるほど、CPANチックです。こちらのページが詳しくてよかったです。でも、あくまでも「チック」であり、根本的な違いも大きいです。一番大きいのは、Mavenはモジュールをインストールするツールではないってことです。…

while

行番号を付けてファイルを表示するスクリプトを書きました。 open(IN, $ARGV[0]) || die; while(<IN>){ chomp; printf("%04d:%s\n", $., $_); } close(IN); 【結果】 $ perl number.pl Test.m 0001:#import <objc/Object.h> 0002:#import <stdio.h> 0003: 0004:@interface Test : Object </stdio.h></objc/object.h></in>…

splitと空文字列(2)

で、実はさっきのperlのsplitの謎が解けたのは、String.split()のjavadocを読んだのがきっかけです。String.split()もLimitを省略(又は0)すると空の文字列を破棄しますが、わかりやすくそれが明記されています。サンプルの部分に、負値を与えた場合の挙動も…

splitと空文字列

このエントリに反応。*1 誰か解説求む。 では、解説します。perldocの日本語訳を読んでみました。まず、この一文がジュウヨウです。 LIMIT を指定しない場合は、 余分なヌルフィールドが除かれる うわ・・・この仕様知らなかった。LIMITとはsplitの第3引数…

特設リングより

LL Ringに来ています。本当にリングがありますヽ(‘ ∇‘ )ノ。適当に生でレポートします。 11:20 Language update。各人がテーマソングで入場(笑)。馬*1も出ました。 > 12:20 引き続きLanguage update。Pythonのプレゼンが上手くて、非常に面白そうに見えまし…

ワンライナーと言えば

グラフを表示する関数をどう書く?と言う問いに対して、こちらの解答より。 i,m;main(c,v){int*p=v;for(;++i<c;m=m>v?m:v)v=atoi(p[i]);for(;--c;puts(""))for(i=20*atoi(*++p)/m;i--;)printf("*");}素敵過ぎ。Cだなんてぜんぜん気がつきませんでしたが、gcc通して</c;m=m>…