トップ(最新) | <前 | 次>

nDiki : Java

Java

web

数値計算

Javaプログラムの起動を支援するツール

実行可能ファイルへの変換、ラッパー、ランチャなど。

スポンサード リンク

Related term

2004年8月27日 (金)

過去の今ごろ このエントリーを含むはてなブックマーク

過去の8月27日より。

  • Inline::Octave
    • 今は Inline::Java を使ってみたい。Java から Perl を呼ぶ方がもっと興味があるのだが、今はそういう動きは活発ではないのかな。

スポンサード リンク


[ 8月27日全て ]

2004年8月29日 (日)

XML-RPC - Java クライアントと Perl サーバ このエントリーを含むはてなブックマーク

Java プログラムと Perl プログラムとの連携に XML-RPCが使えないか検討。 まずは実験。

@ Perl

RPC::XMLモジュールを使う。

 #!/usr/bin/perl -w

 use strict;
 use RPC::XML::Server;

 my $server = RPC::XML::Server->new(port => 9876);
 $server->add_method( {name => 'Perl.eval',
                       signature => [ 'struct string' ],
                       code => sub { warn $_[1]; return {value => eval $_[1]}}});
 $server->server_loop;

引数の文字列を eval した結果を文字列で返す危険な手続き。

@ Java

いろいろライブラリがあり迷う。 Apache XML-RPCが簡単そうなのでまずはこれで。1.2-b1 を使用。

 import java.util.Vector;
 import java.util.Hashtable;
 import java.io.IOException;

 import org.apache.xmlrpc.XmlRpcClient;
 import org.apache.xmlrpc.XmlRpcException;

 public class XMLRPCClient {
   public static void main(String[] args) {
     String url = args[0];
     String methodName ="Perl.eval";
     Vector params = new Vector();
     params.add(args[1]);
     try {
       XmlRpcClient client = new XmlRpcClient(url);
       try {
         //String result = (String)client.execute(methodName, params);
         //System.out.println(result);
         Hashtable result = (Hashtable)client.execute(methodName, params);
         System.out.println(result.get("value"));
       } catch (XmlRpcException ex) {
         System.out.println(ex.getMessage());
       }
     } catch (IOException ex) {
       ex.printStackTrace();
     }
   }
 }

Perl 側でプログラムを起動しておいて実行。

 java -classpath .:xmlrpc-1.2-b1.jar \
   XMLRPCClient http://localhost:9876/ "3 + 5"

8 が出力される。成功。簡単。


[ 8月29日全て ]

2004年8月30日 (月)

YAMLJava このエントリーを含むはてなブックマーク

Java 用の良さそげな YAML ライブラリが見あたらない。 実装する余裕もなさそうなので、YAML 採用は見送りかなぁ。

YAML を使うなら Ruby か。


[ 8月30日全て ]

2004年8月31日 (火)

RPC::XML のかわりに XMLRPC::Lite このエントリーを含むはてなブックマーク

WindowsActiveState 5.6.1 では RPC::XML の make test が通らない。 がっかり。 かわりに、SOAP::Liteに入っている XMLRPC::Lite を使ってみる。

 #!/usr/bin/perl -w

 use strict;
 use SOAP::Lite +trace => qw(trace);
 use XMLRPC::Transport::HTTP;

 my $daemon = XMLRPC::Transport::HTTP::Daemon
   ->new(LocalPort => 9876)
   ->dispatch_to('Server');

 $daemon->handle;

 package Server;

 sub evalcode {
   warn $_[1];
   return +{ value => eval $_[1] };
 }

 1;

名前の関係から Perl.eval を Server.evalcode に変更した以外は、RPC::XMLの実験の時と一緒。 クライアントは前回の Java プログラム(メソッド名のみ上記のように修正)。

こちらは ActiveState 5.6.1 でも動作。一部ライブラリが warning を出す以外いまのおころ問題無し。Linux 環境でも warning は出る。ライブラリの undefined 扱いの問題のようだ。実害は無さそう。 SOAP::Lite を 0.55 から 0.60a に上げると少し warning が減る(無くならない)。

機能的には RPC::XML の方が使いやすそうだが、SOAP::Lite の方がメジャーという強みがある。ActivePerl 5.6.1 にも標準でバンドルされているし。


[ 8月31日全て ]

2004年9月2日 (木)

趣味のYAML このエントリーを含むはてなブックマーク

YAMLJava実装にいいのがないので、プロジェクトでは使わないように変更するという報告をミーティングでした。

YAMLを使うというのは趣味とかでしょ?

いやまあ完全には否定しませんが。 一応いろいろ検討した結果、表現に適していると判断したから選択したんだけどね。


[ 9月2日全て ]

2004年9月3日 (金)

YAMLJava実装を書く このエントリーを含むはてなブックマーク

プライベートで書く事にした。 Eclipse 3.0 も入れたし、即実装開始。 えーと、まずはBOMの処理か。

しかし今だに Java のパッケージングの慣習がわからない。 make dist にあたるものは無いのか? まだ Ant ではスタンダードなスタイルは確立されていないの?


[ 9月3日全て ]

2004年9月9日 (木)

ANTLR このエントリーを含むはてなブックマーク

やっぱり手でYAMLのパーサを作成するのが面倒なので(FIRSTとかFOLLOWとか入力バッファ処理とか)、やっぱりジェネレータを使う事を検討。 Java だと ANTLR あたりか。

YAMLだと文脈に応じて、インデント用空白列トークンの長さをかえて認識しなければならないのでそれがうまくできるかどうかがポイント

まずはインストール(Eclipse 用のプラグインも入れておく)。 ちょっとずつマニュアルも読み始める。


[ 9月9日全て ]

2004年10月14日 (木)

Linux 上で Windowsインストーラを作成する このエントリーを含むはてなブックマーク

NSIS の 2.01 が9月24日にリリースされていた。 目玉はNSISコンパイラ(makensis)が、POSIX プラットフォームで動くようになったこと。 Linux 上で Windowsインストーラが作成できるようになる。

インストールしたいプログラム/データが(Javaプログラムだったり、クロスコンパイルできるものだったり、コンパイル不要のスクリプトだったりで)用意できるならば、Linux 上でインストーラまで通して作れるのでこれは有り難い。

@ インストール

 tar jxvf nsis201.tar.bz2
 cd NSIS/Source
 make USE_PRECOMPILED_EXEHEADS=1
 cd ..
 fromdos install.sh
 su
 ./install.sh /usr/local/NSIS-2.01

ソースツリーにMenu ディレクトリ無くてインストール時にエラー表示がでるが、それ以外はうまくコピーされている感じ。

@ 使ってみる

Windows 上の NSIS 2.0 で使っていたNSISスクリプト(.nsi)をかけてみる。 間接的に WinMessages.MSH をインクルードしようとしてエラー。 ファイルの大文字小文字の問題だけのようで、lib/NSIS/Include/WinMessages.nsh を同ディレクトリ上に WinMessages.MSH としてシンボリックリンクを張ることで対処。

できあがったインストーラWindows BOX で動かしてみた。 問題なくインストール完了。

素晴しい。


[ Linux 上で NSIS ]


[ 10月14日全て ]

2004年11月14日 (日)

JAlbumWebフォトアルバム このエントリーを含むはてなブックマーク

最初は zphoto でいこうと思っていたのだが、

  • 画像にコメントが直接つけられない (Template Toolkit の組み合わせでHTML書き換えるのがよいか)
  • 画像の横幅しか指定できない (長辺でサイズを指定したい)

といった点から違うソフトを探してみた。

JAlbum というのを見つける。Java で書かれているので、Linux でも動く。 スキンがいろいろ選べるのが良い。スキンリポジトリには Flash コンテンツベースの格好良いアルバムを生成するのもある。

スキンは自作できるのだが、プログラムが書ける分マスターするのは結構大変そうだ。

JPEG だとコメントは、画像ファイルのコメント領域に格納するというのがちょっと不満。オリジナルを改変したくないので別にコピーを用意しておく必要がある。

それからGUIアプリケーションなので zphoto のようにコマンドラインからバッチ処理できないのが残念。

それ以外はなかなか良い。

@ BananAlbum スキン

Flash コンテンツベース。スキンリポジトリで一番人気。 日本語のコメントがうまくでなかった。

@ SimpleViewer スキン

Flash コンテンツベース。BananAlbum よりすっきりまとまっている。 JAlbum画像サムネイルと設定XMLファイルなどの生成をするのだが SimpleViewerSWF自体は単体で使えるで手作業でもアルバムを作れる。

コメントは後からXMLを直接編集して書き込んでもいいな。

日本語のコメント表示問題無し (LinuxFlash Player 7.0.25 では駄目)。


[ 11月14日全て ]

2004年12月2日 (木)

JRE をバンドルしたインストーラNSIS で作る このエントリーを含むはてなブックマーク

Java で書いたプログラムを Windows ユーザに提供する時に、Java の実行環境の事とかを考えるのが面倒くさい。 頼まれて自分がセットアップする時も面倒くさい。

やっぱりJARファイル化したプログラムに JRE をバンドルしたインストーラNSIS あたりで作れるようにしておいた方が、あとあと楽そうだ。

@ JRE

しかし JRE のバンドルの話を取り扱かっている記事ってあまりみかけない。 JRE 1.4.2_06 の README.txt などに再配布の事が書いてあるのだけれど、いまいちすっきりしないところもある。例えば

All files not in these lists of optional files must be included in redistributions of the runtime environment.

とあるんだけれど、All files ってどれよ。 WindowsJRE インストーラを実行して実際にインストールした後、インストール先にあるファイルって判断で良いのかな。多分。

それから、「それらをディレクトリごとコピーすれば他でも動くかどうか」という事に関する記述が見つけられないのがちょっと気持ち悪い。大丈夫っぽいんだけれど。

@ NSIS

NSIS 側はディレクトリまるごとインストール(File /r jre)と、アンインストール時にまるごと削除 (RMDir /r "$INSTDIR\jre") で OK。 実行に関しては NSIS Archive の Examples にある記事「Java Launcher」を参考に起動のための exe を作るなどすれば良い。 これは NSISスクリプトを用いて「java.exe を探し出して指定したパラメータで呼び出す exe ファイル」を作るというもの。

NSISインストーラを作るためのソフトであるが、NSISコンパイラでちょっとしたプログラムも書けるよという事を示す面白い例でもある。 これぐらいの用途であれば結構コンパクトな実行可能ファイルを吐いてくれる。


[ 12月2日全て ]

スポンサード リンク

■よく検索されるキーワード

torrent(109) x31(45) thinkpad(31) 動画(29) 提案書(26) mp980(24) 手帳(24) windows(23) linux(23) 画像(21) 使い方(21) リフィル(21) debian(20) usb(20) tc-1(19) perl(19) 筆まめ(18) 壁紙(17) ほぼ日手帳(16) 冷蔵庫(14) ドラマ(13) wiki(13) 書き方(12) ダイソー(12) システム手帳(12) 宮根誠司(12) ノート(11) so905ics(11) 無印(11) バッグインバッグ(11) 映画(11) 設定(10) 修理(10) 宮根(9) ssh(9) a6(9) ほぼ日(9) 黒田征太郎(9) バッグ(9) gmail(8) 感想(8) (8) f-01a(8) メモリ(8) gtd(8) ブログ(8) nikon(8) allinanchor:*.torrent(8) ボールペン(7) 方眼(7) ポイント(7) 4c(7) ヨドバシカメラ(7) ケース(7) twitter(7) apache(7) ht-01a(7) ヨドバシ(7) ubuntu(7) truecrypt(7) n-02a(7) 作り方(7) minolta(7) af(6) インストール(6) ガントチャート(6) mp3(6) zippo(6) hdd(6) emacs(6) レビュー(6) カバー(6) vq1005(6) 日本語(6) ハクキンカイロ(6) 無印良品(6) グレゴリー(6) 交換(6) nikkor(6) pixus(6)

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.232331s / load averages: 0.08, 0.23, 0.26
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)