nDiki : 2004年08月下旬

2004年8月21日 (土)

過去の今ごろ

過去の8月21日より。

スポンサード リンク

rsync の --copy-unsafe-links

man ページを見ると「コピーツリーの外へのシンボリックリンクのみ実体に置き換え、ツリー内でのリンクはそのまま維持」してくれるようなのだが、どうも期待した動作と違う。 '-l' と一緒に指定すると全てシンボリックリンクのままで、-L と一緒に指定すると全て実体に置き換えられてしまう。

ActivePerl を使用する各プロジェクト毎のPPM リポジトリを、必要とするPPM パッケージについて「ビルド済み/ダウンロード済みPPM パッケージの pool」へシンボリックリンクする事で実現している(というのを今作っている)。 ここでいくつかのプロジェクト分のPPM リポジトリを、必要な実体を無駄なくそろえて export するのに rsync が使えないかと思ったわけだが、現状だと重複して実体がコピーされてしまう。 まあディスク容量はそれほどネックではないから、これでもいいか。

[ 8月21日全て ]

2004年8月22日 (日)

過去の今ごろ

過去の8月22日より。

  • 秋葉原
    • 結局テッカマンは入手できず。

PPM リポジトリ作り

  • プロジェクトで使う依存モジュール(の特定バージョン)を確保しておく
  • PARを使う際にライセンスの確認をしていないモジュールが入らないようにする
    • そのために、依存関係解決のため自動的に芋蔓式にモジュールが入らないように標準の PPM リポジトリを無効化しておく
  • ビルド/ダウンロードした PPM パッケージを集めてプロジェクト専用の PPM リポジトリを用意する

ということで、もりもりパッケージ化作業。 依存モジュールも含めてそれなりの数になるので、チマチマと作業。

試験日

終了。お疲れさまでした。

[ 8月22日全て ]

2004年8月23日 (月)

過去の今ごろ

過去の8月23日より。

  • jenga
    • たまに。3本の中の真中を抜くとその段はもう終わりというのがちと問題。

[ Perl ] PPM::Make 0.71 の dependency パッケージ誤認

Term::ProgressBar を PREREQ_PM にしているパッケージを make_ppm すると、ppd に Term-ProgressBar ではなく Term-ProgressBar-2.06 が DEPENDENCY として出力される。

CPAN にある最新パッケージが Term-ProgressBar-2.06-r1 と、ちょっと変則的なバージョン番号がついているので誤認しているようだ。 PPM::Make::Util::version あたりでヒューリスティックにパッケージ名バージョン番号を分離しているっぽい。

とりあえず出力されたPPDを手で直すか。

[ 8月23日全て ]

2004年8月24日 (火)

過去の今ごろ

過去の8月24日より。

  • 自由が丘
    • もう1年か。ラケルはまた行ってもいいな。去年あたりからく自由が丘に行くようになった気がする。

NSISスクリプト書き

Modern UI以下のサンプルや、NSIS Archive などを参考に。

  • PATH環境変数への追加処理
  • プログラムの追加と削除への(レジストリ)登録処理
  • スタートメニューの登録処理

あたりをいじる。

autoconfiscate する時ほどは楽しくない。

PAR で重複アーカイブされる

pp でうまく依存モジュールがアーカイブされていないようなので、確認しようと exe 化されたファイルを unzip。 ではじめて、同じモジュールが重複されたアーカイブされている事に気がつく。 blib の下で、

 pp -o foo.exe -a lib -a arch -M ... -c script/foo

としていたのだが、どうやら -M や -c でリストアップされたモジュールと -a で指定したものが重複していてもそのまま両方アーカイブしてしまっているらしい。

lib 以下に

  • eval で use するため依存関係では自動抽出されない
  • 画像ファイルなどのリソースもある

ということで '-a' で指定していたのだが。

これらのモジュールは -M で、リソースは -a でそれぞれきちんと明示的に指定しないと駄目か。 blib の下のファイルをスキャンするスクリプトをつくるかな。

[ 8月24日全て ]

2004年8月25日 (水)

過去の今ごろ

過去の8月25日より。

PAR

  • eval されるモジュール群は Makefile.PL で抽出して、pp の -M オプションで全て指定するように。
  • PAR で実行形式化すると、PDL の slice 呼び出しの結果が lvalue にならなくなってしまった。この間まで PAR しても問題なかったのだが。slice 呼び出しのの結果を一旦一時変数に入れて使うように修正。
[ 8月25日全て ]

2004年8月26日 (木)

TortoiseCVS 1.8.0-RC4

開発中のPerl モジュールWindows での作業(動作確認、PPM パッケージ化など)は、CVSクライアントとして使いやすかったこともあって

という組み合わせだったのだが、CVS作業のために Eclipse を起動するのも面倒なので TortoiseCVS を入れてみた。

使い勝手はTortoiseSVNとほぼ同じ。アイコンオーバーレイ表示がちとしょぼい(管理下にあるファイルには緑色のもやがかかる)。 Pageant によるパスフレーズ入力省略方法もTortoiseSVNの方法と同じ (今回は Subversion リポジトリCVS リポジトリが同じホストにあるので特に何も設定する必要なく成功)。

GanttProject開発スケジュールを作成

そろそろ2004年度後期プロジェクトが複数スタートする。 スタッフの割り当てをどうするか見通すために、ガントチャートでも書いてみる。

細かくスクロールができなかったり、印刷画像エクスポートの際の範囲指定ができなかったりと痒いところがまだまだあるが、それなりに使える GanttProject で作業。

とう点を利用して、

  1. 作ったプロジェクトファイルを社内Webサイトに置く。(WebDAV は用意していないので閲覧用)
  2. JNLPファイルを書く。Java Web StartGanttProject を起動するようにする。起動時の引数にプロジェクトファイルのURLを指定する。
  3. Wiki からJNLPにリンクをはる

として Wiki から直接 GanttProject を立ち上げてガントチャートを表示できるようにした。 変更毎にHTML(や画像PDF)に export する必要がないので楽。 閲覧側はちょっとヘビーではあるが、自由にスクロールや拡大・縮小して見られるという利点がある。

過去の今ごろ

過去の8月26日より。

  • The Perl Data Language
    • モリモリ使用中。行列を列-行の順番で指定しなければならない事をのぞけば、それなりに便利。
[ 8月26日全て ]

2004年8月27日 (金)

過去の今ごろ

過去の8月27日より。

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

Wx::ActiveXビルド

Wx::ActiveXPerl v5.6.1 用バイナリ(PPM パッケージ)が配布されていないのでビルドする。 最初はPPM パッケージ化された wxPerl (Wx-0.19-wxmsw2.4.2-win32-u-5.6.1.zip) と wxWidgets 2.4.2 で作成しようと思ったが、うまくいかないので全部ビルドすることに。

wxWidgetsインストール

wxMSW-2.4.2-setup.zip を C:\usr\local\wxWindows-2.4.2 へ。

wxPerl 0.20

ドキュメントの通り、wxWidgetsビルド後、モジュールを作成。 コンパイルには Visual C++ 6 を使用。

wxWidgetsビルド

 set WXWIN=C:\usr\local\wxWindows-2.4.2
 set WXDIR=C:\usr\local\wxWindows-2.4.2
 cd %WXDIR%\src\msw
 nmake -f makefile.vc FINAL=1 dll
 cd %WXDIR%\contrib\src\stc
 nmake -f makefile.vc FINAL=1 WXUSINGDLL=1
 cd %WXDIR%\contrib\src\xrc
 nmake -f makefile.vc FINAL=1 WXUSINGDLL=1

Wx-0.20.tar.gz を展開したディレクトリに移動し(WXWIN, WXDIR は前記と同じように設定したまま)、

  perl Makefile.PL
  nmake
  nmake test
  make_ppm

PPM パッケージ化まで。

Wx::ActiveX 0.05

先に wxPerlインストールしておいてから、

 set WXWIN=C:\usr\local\wxWindows-2.4.2
 set WXDIR=C:\usr\local\wxWindows-2.4.2
  perl Makefile.PL
  nmake
  nmake test
  make_ppm

PPM パッケージ化。インストール

demo ディレクトリにあるサンプルで、IE、Flash Player、Acrobat、Windows Media Player を貼りつけられていることを確認。

[ 8月27日全て ]

2004年8月28日 (土)

あるじゃんマネーセミナー 30代から夫婦で一緒に考えよう! 「老後のお金」のつくり方 実践セミナー

http://www.naney.org/img/2004/U/U2004-08-28-0001.jpg http://www.naney.org/img/2004/U/U2004-08-28-0002.jpg

の提案で申し込んでみたら受付票が届いた。 ネタにもなるかなと軽い気持ちで聞きにいってみた。

場所はリクルート銀座8丁目ビル(リクルートGINZA8)1F。 以前仕事で1度だけきたことがある。

ウィング新橋カフェセーマンで知り会いのスタッフに挨拶をしつつ軽い昼食を済ませてから、小雨の降る中会場へ。

開場5分過ぎにはついたのだが、もう結構席が埋まっていた。

セミナーへの応募が多数であったため、当日はお席が足りなくなってしまう可能性があ、場合によっては一部立ち見となってしまうかもしれません。大変お手数ですが、少し早めにお越しくださいますよう、よろしくお願いします。

という脅し文句が効いていたようだ(欠席者を考えて多めに受付しているのだと思われる)。最終的には満席とまではいかなかったが、3人掛けの各テーブルは全て埋まっていた。 参加者は思ったより若い人(30代)が多かった。もちろんペアが多い。

夫婦で考える ハッピー・リタイアメントへの道

rimage:http://www.naney.org/img/2004/U/U2004-08-28-0003.jpg

~老後資金を長期運用で賢く準備する方法~

FPアソシエイツ&コンサルティング株式会社 代表取締役 神戸孝

タイトルだけ見ると「夫婦」「老後」「リタイアメント」とファミリーファミリーな感じだが、講演の方は社会構造の変化に時間の半分を費し、また投機と投資の話を重点的にするなど金融関連の中心の構成であった。 予想よりしっかりした内容だったし、最初はかための調子であったが途中からメタファも混じえた語りでなかなか面白かった。

以下メモ:

  • 数十年毎に大変する日本の社会構造。次の変へのフェーズに入っている。個人中心の社会構造へ。2006年人口ピーク。右肩上がりを前提とした今までのプランニング・投資では負け組に。
  • 30代までは自己投資。住宅・教育プランを優先。リタイアメントプランは40代から。50代からは「お金」に働かせる。
  • リタイアメント後の夫婦の目標が一致している事が重要。
  • 目標無しでの資産運用はダメ。目標額・期間・現在の貯蓄額・毎年の積立可能額から目標年利率を求め、投資の商品を考える。
  • 短期物は「ゼロサム市場」。個人は普通負ける。個人が勝てる要素は「長期」のみ。→ 株式
  • 投機(→ 為替など)と投資(→ 株式など)
  • 長期・複利効果 (株式なら右肩上がりの会社を)
  • 分散投資(値動きの違う商品を組み合わせる)
    • 国内株式 + 外国債権
    • 国内債権 + 外国株式
    • 国内株式 + 外国債権 + 国内債権 + 外国株式

実家

タイムリーに年金の話とか。 社会保険事務所の対応が悪かったとか。

過去の今ごろ

過去の8月28日より。

[ 8月28日全て ]

2004年8月29日 (日)

過去の今ごろ

過去の8月29日より。

  • PPMパッケージリポジトリ
    • さすがに SOAPサーバ版は立てようとは思わないな。今の自分用Webリポジトリ版についてはサマリファイルを用意した方が効率がいいかも。

m4s 焼肉off

http://www.naney.org/img/2004/U/U2004-08-29-0001.jpg http://www.naney.org/img/2004/U/U2004-08-29-0002.jpg

大岡山牛神にて。真中の排煙用のパイプが会話にはちと邪魔だった。 炭火焼き。 かなーり久しぶりの焼肉。後半はビビンバを延々と食べていた気が。 満腹満足。

メンツは m4sやまだ君、田中丸君、よしだ君。

http://www.naney.org/img/2004/U/U2004-08-29-0005.jpg http://www.naney.org/img/2004/U/U2004-08-29-0004.jpg http://www.naney.org/img/2004/U/U2004-08-29-0003.jpg

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日 (月)

過去の今ごろ

TISSディープオフオイル 過去の8月30日より。

  • プリンチピオ
    • しばらく前にダーツバーになってしまい入りにくくなってしまった。
  • TISS deep off oil
    • 2年経過。まだ残っている。月数回程度の利用。まだ現行製品のようだ。

YAMLJava

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

YAML を使うなら Ruby か。

PPM::Make 0.74 で dependency 生成改善

PPM::Make 0.74 が出た。CPAN::DistnameInfo を使うようになり、Term::ProgressBarパッケージ名も誤認識しないようになった。

[ 8月30日全て ]

2004年8月31日 (火)

過去の今ごろ

過去の8月31日より。

  • 樹脂ミラー
    • 2年経過。粘着用の足に少しカビが浸透してしまっている以外は写りはまあまあ維持。剥し跡の方が心配。

Google AdSenseから小切手到着

エアメールで到着。 NTT東日本の請求書みたいに、小切手部分をミシン目で切りとるようになっているのか(もっともNTT東日本の奴は支払い用だが)。

RPC::XML のかわりに XMLRPC::Lite

Windows の ActiveState 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日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィでマネージャー・PO をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

follow us in feedly

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.048666s / load averages: 0.29, 0.41, 0.41
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker