トップ 最新 追記

おいぬま日報(不定期)

カテゴリ | 技術情報まとめWiki | 検索エンジンから来た人向け | RSS

2005年
1月
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31



2005-01-01 [長年日記]

@ 2005年到来

明けましておめでとうございます。今年は(も)みなさんにとって良い年でありますように。

@ なんか

あれですね、日記上部のカレンダーが2005年1月になっていると「2005年来たー」っていうのを実感します。病気かな...

@ [life] 眠い

今朝は8:30に目が覚めたのですが、おせちを食べたらどうにも眠気が取れず、正月唯一の楽しみだった天皇杯決勝を見ながらソファーでウトウトしてしまいました。というか、前半20分頃で力尽きて完全にダウンしてました。元旦からこの気の抜けっぷりは正直かなり悔しいです。なんでこんな眠いんだろう...

@ [memo] 年賀状素材リンク集

今更ですが、来年以降のためにメモ。


2005-01-02 [長年日記]

@ [life] ヨコハマにて

叔母さんの家(旧おばあちゃんの家)に行って、おせち + しゃぶしゃぶ + 餅を死ぬほど食べて来ました。この家は築35年ということで、かなり老朽化が進んでいるらしく、ある部屋のドアのノブがぶっ壊れていてドアが開閉不可に...開かないと非常に困る部屋だったので、いとこと二人でハンマー + ノコギリで強引にぶち抜きました。なんとなく、ホラー映画で殺人鬼が獲物を狙ってドアをブチ破るシーンみたいで面白かったです(笑)


2005-01-03 [長年日記]

@ [tdiary] なんちゃってはてな

はてなダイアリー風のテーマにしてみるテスト。

@ [javascript] JSDoc

JavaScript向けのJavadoc(from OZACC.blog)。


2005-01-05 [長年日記]

@ [work] デバッグ中

ひたすらバグを潰す。あと1個だけわけのわからんのが残ってる。

@ [life] 棚からボタ餅

色々整理していたら、某大手SI会社の某部署のボーリング大会で貰った音楽ギフトカード2000円分 + 図書券5000円分 + 新戸部稲造さん1枚が出てきました。かなり嬉しい〜。

@ [work] 久々スーツ

履歴書の写真を撮るために約半年ぶりにスーツを来ました。ワイシャツの第1ボタン閉めるとやっぱり喉が苦しいですね〜。


2005-01-06 [長年日記]

@ [work] 派遣会社登録

してきました。その日のうちにいくつか仕事を紹介してくれたので、自分の希望を営業の人に伝えて結果待ち。本当は検索エンジン系の会社を受けようかと思っていたのですけど、今のうちに世間を色々みておくのも良いかな〜と思って派遣にしました*1。それに給料良いし、残業代も出ますしね*2。いい会社があればそこの社員になれるように頑張ればいいですし。次の会社はなるべく長く居たいので、悔いが残らないようにまったり探していこうと思います。

でも、私の職歴っていわゆるフツーの業務プログラマとは全然違うので、仕事が見つかるかちょっと心配だったり。

*1 あとリハビリしとかないとっていうのもあったり

*2 前の会社は年俸制

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

# 前の会社の人 [え?そうだったんだ。知らずに2年半もいまスタ]

# おいぬめ [ん、年俸制だってことを知らなかったんですか? 年俸制と言うよりは「残業代固定制」の方がしっくり来るかもしれませんねぇ..]


2005-01-07 [長年日記]

@ [mysoft] nCommons 0.1.0

というものを公開しました。ただのJavaのライブラリです。まだまだドキュメントも少ないですが、まったりメンテしていこうと思います。

@ ちなみに

nCommonsはまだアルファ版です。品質が悪いという意味ではなく*1、APIが固まっていないという意味でです。ただし、APIガイドにあるものは変わることはないと思います。

*1 ちょっと心配ですが

@ [pc] Dual Opteronに対応したキューブPC「ZMAXdp」がデビュー

DualコアのOpteronってもう出てるんでしたっけ??

@ [life] 仕事に就くまでにやっておきたいこと

  1. 納品作業(1/17まで)
  2. ExcelPettyCashBookのデータをDBに保存するツール
  3. Jakarta Commonsにパッチを1個投げる(StopWatch)
  4. OpenLDAPをUltraPossumのものに入れ換える
  5. JRubyをいぢくる
  6. nCommonsのドキュメントを書く

私の作業スピードを考えると、毎日徹夜しない限り絶対に全部終わらない...

@ [debian] KDE 3.3.1

SargeにKDE 3.3.1関係のパッケージが降りて来てるけど、いきなり dist-upgrade しても大丈夫なのかな。[debian-users]には kdm + KDE でキーボードが反応しなくなるっていう問題が報告されていますが...

本日のツッコミ(全3件) [ツッコミを入れる]

# たけぞう [nCommons、APIドキュメントを一通り眺めてみました。いいですねー。]

# おいぬめ [そう言ってもらえると素直に嬉しいです(^^]

# TrackBack [http://blog.goo.ne.jp/kekeke_kill/e/b271b00fa07d21206546f3..]


2005-01-08 [長年日記]

@ [debian] KDE 3.3.1(2)

KDE 3.3.1

dist-upgrade してみました。私の場合、特に問題なしでした。

@ [mysoft] nCommons 0.2.0リリース

nCommonsはまだアルファ版です。品質が悪いという意味ではなく*1、APIが固まっていないという意味でです。ただし、APIガイドにあるものは変わることはないと思います。

と言いながら早速バグが1件...さらにクラスを1つリネーム。ダメだこりゃ。

@ [cygwin] cygwinプログラミング

CygwinのGCCでのDLLの作り方とか載ってます。

@ [java] Cygwin上のGCCでJNIのDLLを作成する

眠いのでとりあえずメモ。(Java Forumsより)

$ gcc -mno-cygwin -shared -o DLLファイル \
 -I$JAVA_HOME/include -I$JAVA_HOME/include/win32 \
 -Wl,--kill-at ソースファイル

2005-01-09 [長年日記]

@ [dev] libtool関係の日本語man

忘れないようにメモ。

@ [cygwin] cygwin1.dllに依存してないことの確認

をしたかったので、Cygwin上のGCCで作ったバイナリをCygwinがインストールされてないマシンで実行していたのですが、よく考えたらバイナリを実行する前に

cygwin1.dll

でした...鬱

@ [mysoft] nCommons 0.3.0 リリース

「Javaで環境変数を取得する」機能を実験的に実装してみました。ただし、マルチバイト文字を正しく扱えない、WindowsとLinuxでしか使えないなどの制限はあります。

マルチバイト文字が扱えないのは、JNIで文字列を変換する必要があるのですが、これが面倒そうなのでサボっているだけです*1。今はUTF-8を使っているため、ASCIIの範囲ならば大丈夫なはず。日本人が作ってるのに日本語も使えないようではカッコ悪いので、暇を見付けて取り組んでみようと思います。

あとは共有ライブラリ(DLL)のビルド。今は g++ でリンクまで一気にやっているのですが、本当は autoconf, automake, libtools を使って他のUnixやコンパイラでもビルド出来るようにしたいです。それとVC++でのビルドも。

*1 ちゃんとわかってない、っていうのもあります

japan.linux.com | NetBSD 2.0の新技術を理解する

NetBSDが多くのアーキテクチャをサポートしているのもすごいですが、世の中に

52

があることにびっくりしました。

@ ちなみに

なんで「環境変数の取得」なんかをサポートしたかというと、以前この日記でこんなことを書いてしまったために、「Java 環境変数 取得」というキーワードでサーチエンジンからやって来る人が非常に多くなったんです。まぁAntを使うのも一つの手ですが、JNIで C 使って書けば簡単に解決するじゃん、ってことを思いついちゃったんで(^^; 私自身がJavaプログラムから環境変数を取得したい、と思ったことは一度もないのですが、サーチエンジンからやってくる人達の数がそりゃあもう多いので、「こういうのもあるよん」という一例の意味でやってみました。

あと久しぶりの C/C++ は結構楽しいです(^^


2005-01-10 [長年日記]

@ [java][ruby] JRubyを使ってみる(1)

とりあえずCVSからHEADをcoしてビルド。

$ ant jar
 ...
BUILD SUCCESSFUL
Total time: 9 seconds
$ java -jar lib/jruby.jar -e \
'print "Hello world with ruby #{RUBY_VERSION} #{RELEASE_DATE} #{RUBY_PLATFORM}\n"'
Hello world with ruby 1.8.2 0 java

RELEASE_DATEは設定されてないのかな。

@ [java][ruby] JRubyを使ってみる(2)

ruby-1.8.2に同梱されているライブラリが使えるかテストしてみました。

use_csv.rb
if ARGV.length == 0
  puts "Usage: #{File.basename($0)} CSV"
  exit(0)
end
require 'csv'
CSV.open(ARGV[0], "r") do |row|
  p row
end
test.csv
foo,bar,hoge
1,2,3

普通のrubyで実行。

$ ruby -v
ruby 1.8.2 (2004-12-23) [i386-linux]
$ ruby use_csv.rb test.csv
["foo", "bar", "hoge"]
["1", "2", "3"]

JRubyの場合。

$ java -jar lib/jruby.jar use_csv.rb test.csv
use_csv.rb:5:in `require': No such file to load -- csv (LoadError)
        from use_csv.rb:5

「csvなんかないよ」と言われるので、LOAD_PATHを通してみます。

$ java -jar lib/jruby.jar -I /usr/lib/ruby/1.8 use_csv.rb test.csv
["foo", "bar", "hoge"]
["1", "2", "3"]

おお。普通に使えますね。

ちなみに、-Iで明示的にLOAD_PATHを通す以外に、もう1つ方法がありました。

$ ant -projecthelp
...
jar.standalone               Create a standalone jruby.jar file using libraries from RUBY_HOME/lib/ruby/1.8
...

このjar.standaloneというタスクは、$RUBY_HOME/lib/ruby/1.8の下にあるファイルを解析してjruby.jarに突っ込んでおく、というものみたいです。試しにやってみます。私の環境(Debian)では、ライブラリは/usr/lib/rubyにインストールされてので、先ほどのタスクの説明にしたがってRUBY_HOMEには/usrだけ指定します。

$ RUBY_HOME=/usr ant jar.standalone
...
BUILD SUCCESSFUL
Total time: 19 seconds

出来上がったjarを見てみると、確かにライブラリのファイルみたいなものが入っています。

$ jar tvf lib/jruby.jar
...
  8500 Mon Jan 10 15:45:12 JST 2005 ostruct.rb.ast.ser
  7834 Mon Jan 10 15:45:16 JST 2005 parsearg.rb.ast.ser
  2364 Mon Jan 10 15:45:10 JST 2005 parsedate.rb.ast.ser
...

というわけで、ライブラリが同梱されているjarでもう1回やってみましょう。

$ java -jar lib/jruby.jar use_csv.rb test.csv
["foo", "bar", "hoge"]
["1", "2", "3"]

おお! -Iがなくても動きました。

@ [debian][java] SargeでJDK-1.3が動かない

JDK-1.3を入れたのですが、起動しようとするとエラーが。

$ JAVA_HOME=/usr/lib/j2sdk1.3-sun ant
/usr/lib/j2sdk1.3-sun/bin/i386/native_threads/java: 
error while loading shared libraries: libstdc++-libc6.1-1.so.2: 
cannot open shared object file: No such file or directory

とりあえずあるバージョンの共有ライブラリがないという話だけだと思うので、適当にsymlink張ってみると動きました。

# ln -s /usr/lib/libstdc++-libc6.2-2.so.3 \
/usr/lib/libstdc++-libc6.1-1.so.2
$ JAVA_HOME=/usr/lib/j2sdk1.3-sun ant
Buildfile: build.xml does not exist!
Build failed

@ [java][ncommons] java.net.URL#getPath()

このメソッドって1.3から導入されたものなんですね。nCommonsをJDK-1.2でビルドしようとしたらこれ使ってるところでコンパイルエラーが。一応標準ライブラリのクラス使うときはJavadocの「導入されたバージョン」を見ているのですが、JDK-1.3のAPIドキュメントだとgetPath()には何にも書かれてなかったので普通に使ってました。しかも今調べたらJDK-1.4のAPIドキュメントにはしっかり「導入されたバージョン: 1.3」と書かれてありました。何だよ〜。

@ [java][ncommons] Lumberjackを使う

nCommons自体はJDK-1.2以上で動作するのですが(はず)、org.homeunix.kazz.ncommons.i18n.CommonsI18nMessagesというクラスで使用しているCommons I18nがjava.util.loggingを使っており*1、結果としてJDK-1.4以上じゃないと(全体としては)動きません。しかし以前こんなことを書いたのを思い出したので、インストールしてみました。

アーカイブを解凍するとlibディレクトリ配下にlogging.jarがあるのでこれをクラスパスに含めるようにして実行すると...

java.io.FileNotFoundException: /usr/local/java/jdk-1.2/jre/lib/logging.properties
(そのようなファイルやディレクトリはありません)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.(FileInputStream.java:61)
    at java.util.logging.LogManager.readConfiguration(LogManager.java:205)
    at java.util.logging.LogManager.(LogManager.java:48)
...

と言われるので、lib/logging.propertiesを$JAVA_HOME/jre/lib/にコピー。これでうまくいきました。というわけでJDK-1.2にもフル対応(のはず)。

*1 別に使わなくてもいいと思うんだけど

@ [memo] デスマーチが起きる理由 - 3つの指標

途中まで読んで挫折。またあとで。(from BONGOLE BLOG;)

@ 車輪の再発明

私もたけぞうさんの意見に賛成。それと引用されている「プログラマーのためのプログラマー日記」の言葉も昔読んだことがあって、「まったくそうだよなぁ」と思った記憶があります。「使う」だけじゃ欧米には勝てませんって*1。作らないと!*2

nCommonsも車輪の再発明っぽい機能がいっぱいありますが、作り始めた時はCommonsにはそういうものがなかったんですよねぇ。

*1 競争している意識はあんまりないですが

*2 だからそういう議論じゃないって

@ ふぅ

今日はなんかいっぱい日記書いたな。まだ書きたいことあるんですけど、明日にしよう。


2005-01-11 [長年日記]

@ [work] 納品

あとちょっと。明日までには提出できる状態にしておきたひ。

@ AmaterasのWiki

ってoutlineプラグインが全く使われていないので使えないのかと思ってましたが、使えるんですね。危うくたけぞうさんに「outline使えるようにしてくれません?」的なメールを送りそうになりました...


2005-01-12 [長年日記]

@ [java][ruby] JRubyを使ってみる(3)

Rubyで定義したクラスをJava側から使用出来ないか試してみました。JRubyはBSFを実装しているので、スクリプトを評価した結果をJavaで受け取ることが出来ます。まずは下記のclass.rbを作ってみます。

class Foo
  def hello
    return "Hello world!"
  end
end
 
Foo.new

スクリプトの最後でFoo.newしているのは、JavaからBSFManager#evalした時に戻り値を得るためです。これがないとただのクラスの定義になってしまうので、evalの結果がnullになります。

Java側のコードは下記のようになります。examples/jrubyというパッケージの下にRuby2Java.javaとして作成しておきます。

package examples.jruby;
 
import java.io.*;
import org.apache.bsf.BSFManager;
import org.jruby.RubyObject;
import org.jruby.javasupport.JavaUtil;
import org.jruby.runtime.builtin.IRubyObject;
  
/**
 * RubyオブジェクトのメソッドをJavaから呼んでみるテスト。
 */
public class Ruby2Java {
 
    public static void main(String[] args) throws Exception {
        if (args.length == 0) {
            System.out.println("Usage: java examples.jruby.Ruby2Java FILE");
            System.exit(1);
        }
        new Ruby2Java().execute(args[0]);
    }
    
    private void execute(String file) throws Exception {
        BSFManager.registerScriptingEngine(
                "ruby", "org.jruby.javasupport.bsf.JRubyEngine", new String[] { "rb" });
        BSFManager manager = new BSFManager();
        String script = loadScript(file);
        System.out.println("--- script ---");
        System.out.println(script);
        
        Object result = manager.eval("ruby", "(java)", 1, 1, script);
        IRubyObject foo = (IRubyObject)result;
        // Foo#helloを呼ぶ
        IRubyObject ro = foo.callMethod("hello");
        String message = (String)JavaUtil.convertRubyToJava(ro, String.class);
        System.out.println("message = " + message);
    }
    
    private String loadScript(String file) throws IOException {
        BufferedReader r = new BufferedReader(new FileReader(file));
        StringBuffer sb = new StringBuffer();
        for (String line = r.readLine(); line != null; ) {
            sb.append(line);
            sb.append("\n");
            line = r.readLine();
        }
        return sb.toString();
    }
}

実行してみます。

$ java -classpath lib/bsf.jar:lib/jruby.jar examples.jruby.Ruby2Java class.rb
--- script ---
class Foo
  def hello
    return "Hello world!"
  end
end
 
Foo.new
 
message = Hello world!

おお! Fooクラスのインスタンスメソッドhelloをちゃんと呼び出せていますね。

@ [work] 面接

いきなり「今日面接どうですか?」とか言われたので言ってきました。そこの会社的にはもうおっけーだそうで、あとはこっちの返事次第。来週からコーダーとして1週間ぐらい火のついたプロジェクトでヘルプして、その後面白そうなJavaの仕事をやってください、とのこと。うーん、もう1個気になるのがあるんだよな。

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

# 前の会社の人 [い、いかん。コーダーがヨーダーと読めてしまった。]

# おいぬめ [そう言われてみれば...病気ですね(笑)]


2005-01-13 [長年日記]

@ [movie] ニュースの天才

観てきました。アメリカの由緒あるニュー・リパブリックという雑誌の売れっ子ライターが書いていた記事41本のうち27本が捏造であったという、事実に基づいた映画。

主人公はあのスターウォーズ エピソード2で一躍有名になったヘイデン・クリステンセンなのですが、この人の演技が素晴らしいです。特に編集長や回りのライターとの兼ね合いがとても人間味あふれていて素敵。観る前まではシニカルで批判的な映画なのかと思ってましたが、決してそれだけではなく、フィクションとして観てもいい感じの映画でした。

@ [movie] 2005年はスターウォーズの年

そういえば、エピソード2から3年経ったので、今年はエピソード3ですね。ここによると日本では7/9から全国ロードショーらしいです。

エピソード3と言えば、アナキンがダークサイドに落ちてダースベイダーになってしまうわけなんですが、一体どうしてダークサイドに落ちてしまうのか、そこら辺の描写が楽しみです。あとオビ・ワンとアナキンの対決も。うー、待ち切れない...


2005-01-14 [長年日記]

@ [admin] Iperf

"Internet Protocol bandwidth measuring tool"だそうです。

@ [work] 今日も面接

ちっちゃいコンサル会社でした。主にC++でたまにJavaとかVBらしい。SI会社ではないので、技術的な部分に力を置いているわけではなさそう。ただ、業務的にパフォーマンスがとても重視されるそうので、DBのテーブル設計やSQLにはとても気を使っているらしい。

この前面接したところと比べると、どちらも条件的にはほぼ同じ*1なので、すごく悩んでます。でも今日行った会社は「将来的にはコンサルも目指せる」と言っていて、将来的なことまでかなり視野に入れているみたいでした。将来のことを考えると絶対こっちなんですけど、技術的にはあんまり面白味がなさそうなんですよね。今日中には結論を出さなきゃいけないんですが、それにしても悩ましい...

*1 通勤時間とか給料とか

@ [work] 納品

面接のついでというわけではないですが、1日早く納品してきました。あとは運用でバグが出ないことを祈るのみ。

@ [life] 自宅マシンのキーボード

なんかSHIFTキーの効きが悪くなっているっぽい。SHELLで & をつけたつもりが

6

となっていたりして

この週末にでも買いに行きますかな〜。

@ [work] 結局

今日面接に行ったところは断って、おととい行った方に決めました。やっぱりまだServletとか普通の開発がやりたいんですよね。特に前の仕事はもう完全に異世界だったし、たまには世間一般の流れについて行きたいというか。でもその内飽きちゃうんでしょうけど(飽きっぽい性格)。そんなわけで来週から頑張ってこ〜。

@ [mysoft] epcb-csv

リファクタリング中。以前は何も考えずに作っていたので、データ層とかファイル読み込み/書き込み層とかに分けておらず、かなりダメダメな設計でした。DB保存ツールをJavaで作る上で細かく部品に分けているとJavaでもそいつらを流用できると思われるので*1、真面目に設計し直してコーディングしています。あとはExcel出力部分を書くだけ。

それにしても、ちょっとしたツールのはずなのにエラく面倒くさいことになっています。ExcelPettyCashBookのデータを一旦CSVに吐き出して、それを再度読み込み、新しいExcelPettyCashBookにデータを移しているのですが、読み込むExcelPettyCashBookには様々なバージョンのものがあるため*2、その差異をプログラムで吸収しなくてはいけないからです。まぁ今回のリファクタリングで大分メンテナンスは楽になると思うのですが...

*1 JRuby使えばたぶん出来るはず

*2 あるバージョンではHogeマクロが定義されてるけど、あるバージョンでは定義されてないとか

@ そう言えば

jruby-uesrに「Antのcreate-apidocsタスクでエラーになる」という報告(とパッチ)を送ったのですが、音沙汰ないですね。他の人の環境では起きないのかな? それとも英語が下手過ぎただけか...


2005-01-15 [長年日記]

@ [java] JRubyで外部テキストファイルが文字化け

read_file.rb
#!/usr/bin/env ruby
 
File.open(ARGV[0]) do |f|
  f.each { |line| puts line }
end
euc-jp.txt(EUC-JPで保存)
テスト
$ java -jar jruby.jar read_file.rb euc-jp.txt
\!)\!)\!)

なんとなく予想はしていたけど「やっぱり」って感じです。org.jruby.util.IOHandler#getsあたりが怪しげ。困ったなぁ...


2005-01-17 [長年日記]

@ [work] とりあえずデスマ

予想をちょっと上回ってた感じ。まー私は1週間でいなくなるので全然耐えられますが...


2005-01-19 [長年日記]

@ [life] ショートカット

今朝何気なく自転車で駅まで行っていたらたまたま駅までのショートカットを発見しました。20年以上住んでるのに今さら...

@ [ruby][java] JRubyで外部テキストファイルが文字化け(2)

やっぱりIOHandler#gets内で読み込んだバイトをそのままcharにキャストしていました。とりあえずIO#getsだけの文字化けを防ぐようにするパッチは下記のような感じかな。パフォーマンスとかおざなりにしているちょ〜手抜きなものですが。

--- src/org/jruby/util/IOHandler.java.orig	2005-01-15 20:49:56.000000000 +0900
+++ src/org/jruby/util/IOHandler.java	2005-01-20 00:23:47.000000000 +0900
@@ -147,11 +147,10 @@
             return null;
         }
 
-        StringBuffer buffer = new StringBuffer();
-
+        java.util.List buffer = new java.util.ArrayList();
         LineLoop : while (true) {
             while (c != separator[0] && c != -1) {
-                buffer.append((char) c);
+            	buffer.add(new Byte((byte)c));
                 c = read();
             }
             for (int i = 0; i < separator.length; i++) {
@@ -160,7 +159,7 @@
                 } else if (c != separator[i]) {
                     continue LineLoop;
                 }
-                buffer.append((char) c);
+                buffer.add(new Byte((byte)c));
                 if (i < separator.length - 1) {
                     c = read();
                 }
@@ -174,8 +173,12 @@
             }
             ungetc(c);
         }
-        
-        return buffer.toString();
+        Byte[] tmp = (Byte[])buffer.toArray(new Byte[buffer.size()]);
+        byte[] bytes = new byte[tmp.length];
+        for (int i = 0; i < tmp.length; i++) {
+        	bytes[i] = tmp[i].byteValue();
+        }
+        return new String(bytes);
     }
     
     public String getsEntireStream() {

2005-01-21 [長年日記]

@ [admin] サーバ再起動

サーバ再起動のため、1/23(日) 10:30より10分程度アクセスできなくなります。

@ [work] 延長

1週間延長してくれと言われた。まぁよくある話ですね。


2005-01-24 [長年日記]

@ [life] 病気かな?

最近胸と腹の間ぐらいにすごく圧迫感を感じる。なんか悪い病気(癌とか)じゃないといいんですけど。明日は午後出社にしてもらったので、病院に寄ってこうと思います。


2005-01-25 [長年日記]

@ [life] 病院

死ぬほど待たされたので土曜日に予約を取るだけにしました。胸が痛むので煙草を控えているんですが、おかげでちょっとは体調が良くなりました。でも禁煙の副作用で眠い、とにかく眠い...


2005-01-27 [長年日記]

@ [win] VC++のCランタイムライブラリ

とりあえずメモ。

@ [c] MinGW ランタイムリファレンス

mbstowcs関数を調べている時に偶然見つけました。


2005-01-28 [長年日記]

@ [ncommons] 環境変数取得のマルチバイト文字対応

JNIでのUnicode<->マルチバイト文字の変換の仕方は大体わかったので、とりあえず出来そう。


2005-01-29 [長年日記]

@ [work] デスマ脱出

え〜昨日で終わりました。先週の土日は休めなかったので来週頭に振り替えつーことで4連休になりました。今日、明日は友達の結婚式があるので何も出来ないんですが、月曜日ぐらいにnCommonsをアップデートしようかと思ってます。


2005-01-31 [長年日記]

@ [java] VM異常終了

nCommonsで環境変数のマルチバイト文字対応をしてテストしていたら、下記のエラーが出てVMが異常終了するように。

    [junit] An unexpected exception has been detected in native code outside the VM.
    [junit] Unexpected Signal : 11 occurred at PC=0x400F449D
    [junit] Function=(null)+0x400F449D
    [junit] Library=/lib/libc.so.6
    ...

しかも普通にjavaコマンドでVMを起動した場合はOKで、Antから起動した場合にだけ起きるという不可思議な現象。まいったなぁ...

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

# 通りすがり [libcの関数が文字コード変換テーブルを引くときに想定外のインデックスが渡されたっぽいですね。 多分コードセットに無..]

# おいぬめ [ありがとうございます。ただもう他の方法でやるようにしてしまったので原因究明に至りませんでした...]


Bookmark: あんてな | ぶっくまーく | 覚え書き | Project Amateras | ExcelPettyCashBook | FreeStyle Wiki

2002|10|11|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|11|12|
2008|01|02|03|04|05|06|07|08|10|11|
人気ブログランキング - おいぬま日報(不定期)