欧州ではNovellのSUSE LINUXに人気が集まっているが、ミュンヘン市は、1万4000台に上る コンピュータの大規模な導入にあたり、Debian GNU/Linuxの採用を決定した。 Debian自体は非商用Linuxだが、CanonicalやProgenyといった一部の企業は、これに基づく 商用製品を販売している。ミュンヘン市は、現地の企業であるGonicusおよびSoftconの支援を 仰いで、Debian導入計画プロジェクトLiMuxを進める予定だ。ほー。まぁ、OO.org/Firebird/Thunderbird辺りがあれば、通常用途ではWindowsは不要な気もするな。専用アプリを開発して使うのなら、なおさらWindowsである必要はないし。
Swingを完全にSWTに書き換えた。機能的には1.1.xと変更なし。
$ java -classpath startup.jar org.eclipse.core.launcher.Main -debug -install file:C:/tmp/hage/ Install location: file:/C:/tmp/hage/ Configuration file: file:/C:/tmp/hage/configuration/config.ini loaded ...これで、Javaコマンド直叩きでEclipseを起動できる。さて、ここでgcc3.4(mingw)を利用して実行してみる。
$ /cygdrive/c/mingw34/gcc-3.4/bin/gij.exe -classpath startup.jar org.eclipse.core.launcher.Main -debug -inst all file:C:/tmp/hage/ Install location: file:/C:/tmp/hage/ Configuration file: file:c:\C:\tmp\hage\configuration\config.iniファイルパスfile:c:\C:\tmp..となりおかしい。File/URL辺りの何かがバグっているような気がする。gcc4.0(mingw)を使ってみると、
$ /cygdrive/c/mingw40/gcc-4.0/bin/gij.exe -classpath startup.jar org.eclipse.core.launcher.Main -debug -install file:C:/tmp/hage/ Install location: file:/C:/tmp/hage/ Configuration file: file:/C:/tmp/hage/configuration/config.ini loaded Configuration location: null Exception in thread "main" java.lang.NullPointerException at 0x0040effe (Unknown Source) at 0x0040e992 (Unknown Source) at 0x0040e9c3 (Unknown Source) at 0x0044db7d (Unknown Source) at 0x004455fd (Unknown Source) at 0x0040872d (Unknown Source) at 0x004025a9 (Unknown Source) at 0x004234b5 (Unknown Source) at 0x7c862ccf (Unknown Source)ファイルパスを正しいが、動作がおかしい。ちなみに、
-log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.getAbsolutePath(), true), "UTF-8")); //$NON-NLS-1$ +log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.getAbsolutePath(), true))); //$NON-NLS-1$としないとgijではエラーになる。
モジュール毎にsvnserve.confを設定する必用があるのがいけてないなぁ。
鯖を交換した。交換したといっても、ハードディスクを新しいPCに入れ換えただけなのだが、ETHERのデバイス名を変更しただけで入れ換え完了。その他のデバイスの変更は勝手に検出してくれた。Debian Sarge素晴らし。
JSFとWeb Flowの統合について。ところで、ShaleのUIコンポーネントにJSFを使いたいとCraigは主張していたが否決されサブプロジェクトとしてJSFとのインテグレーションは開発されることになったのか。
Luceneの検索結果をJavaオブジェクトにマッピングするサーチエンジン。面白いかも。
import java.net.*; public class ClassLoaderTest { public static void main(String[] args) throws Exception { URL[] bootPath = new URL[1]; bootPath[0] = new URL("file:/c:/tmp/hage/lib/lib.jar"); URLClassLoader loader = new StartupClassLoader(bootPath, null); Class clazz = loader.loadClass("Test"); } } class StartupClassLoader extends URLClassLoader { public StartupClassLoader(URL[] urls, ClassLoader parent) { super(urls, parent); } }SunのJDKで実行すると何の問題もなく実行されるが、gcj.exe (GCC) 4.0.0 20050324 (prerelease)で実行すると、
Exception in thread "main" java.lang.ClassNotFoundException: Test not found in StartupClassLoader{urls=[file:/c:/tmp/lib.jar], parent=null}と例外が発生。ビンゴ。
-bootPath[0] = new URL("file:/c:/tmp/lib.jar"); +bootPath[0] = new URL("file:/tmp/lib.jar");とすると正しく動いた。gcjのURLクラスが腐っているのか?実験してみる。
import java.io.*; import java.net.*; public class Test { public static void main(String args[]) throws Exception { URL url = new URL("file:/c:/tmp/hage.txt"); InputStream is = url.openStream(); long s = is.available(); byte[] b = new byte[(int)s]; is.read(b); is.close(); System.out.println(new String(b)); } }ただしくhage.txtの名前が表示されるので問題ない。残るは、ZipFile周りかClassLoaderか。取り敢えず、URLClassLoader辺りを疑ってみることにしよう(To be continue)
1GHz辺りの実行効率がItanium2がトップ。次にMIPS、PA RISC、PentiumMと続く。意外とPentiumMの実行効率が高い。POWER5やAlphaより上というのは驚きだ。
new RandomAccessFile("/c:/tmp/hage.txt","r");みたいな感じで、RandomAccessFileの引き数のドライブの前に"/"を入れるとエラーになることが分かった。java/io/RandomAccessFile.javaを下記のように変更してやると正しく動きそうだ。
- ch = new FileChannelImpl(fileName, fdmode); + ch = new FileChannelImpl(new File(fileName).getPath(), fdmode);この不具合は、gcj3.4,4.0/GNU Classpath/Kaffeに存在する。gcj/kaffeのコアクラスはGNU Classpathを利用していることを考えると、GNU Classpathで取り敢えず直してもらうのが吉か。gcjを利用すると、デバッガもスタックトレースもまともに使えなくなってしまうが、このような環境で不具合を究明するのは、かなり疲れる。ひたすらgcjのコアライブラリのコードを読み、怪しいと思った部分で検証用のテストコードを書き、外れなら次に進み当たりなら概要するクラスを読み進めると言った作業を繰り返すのだが、めちゃくちゃ疲れる。たった一行の変更点を導き出すのに約半日を費やしてしまった。コアライブラリのコードはあまり読みたくないな。
> ikvm.exe -classpath startup.jar org.eclipse.core.launcher.Main.NET上でJavaVMを動かしその上でEclipseを動かしているだけあって遅すぎる...
GCC4.0をコンパイルしてMinGWを作ろうというスレ。
Harmonyという名前のプロジェクトで、Apache Software Licenseで利用できるJ2SEクローンの開発を行う模様。GNU Classpath/Kaffe/Gcj等既にプロダクトがあるのに今更という感じがしないではないが、Apache Software Licenseで利用できる意義は組み込む屋にとって大きいのかもしれない。
マイクロソフトがオープンソースで利用したライブラリ。さしずめ.NET版Commonsと言ったところか。
む。Visio 2003ではロバストネス図は掛けないのかorz。Visioでロバストネス図を描くには、Randy Guthrieさんが作ったRobustness Diagramのステンシルを使必要があるようだ。
無償版はFacesIDEに分がありそう。コマーシャル版はGUIでナビゲーションを編集できたりしそうだからあれですね。やはりオープンソースでないとカスタマイズとか辛いのでStrusIDE/FacesIDEにはExadel Studioを越えるように頑張って欲しい。
SWTによるビューを生成するためのMarkup Language。XULとかLaszloとかJFLEXとかJDNCとかみていると、GUIコンポーネントをXMLで記述するのが今後のトレンドか。
JFlexは有償だし、XULはMozilla/Firebirdが基本的に必用なのでボツ。LaszloもしくはJDNCで採用されるSwingMLを個人的には注目したい。
ダークホースとしてXSWTがあるが、XSWTはSWTを知らないと使えないような気がするのがちとキツイ。
いろんなDebianの壁紙がある。これとかお勧め(嘘)
うちの会社は絶対評価なので、各評価の割合は公表しないとのこと。じゃあ、なんで各担当に割り当てられる評価の割合は担当の売り上げに基づいていて、優秀な人間でも赤字プロジェクトに放り込まれると評価が下がるんだ。それでなんで絶対評価と言えるんだと聞いてみたテスト。
XMLやHTMLは 現状のソフトウェア環境においては、パイプ式ファイル(キングファイル)への 紙ファイリングには不適である場合が多いのです。XML/XLSマッピングとかあると確かに便利だな。DOMParserでXLSをパースするとか。
既に試作済みだったりするので、公開まで少々お待ちを。
よくまとまっているが、「バグを乗せて」がないな。
社内で他の部署にGPLで作成したソフトウェアを配布する場合でもGPLは有効なのか?
ExcelMessageResource res = new ExcelMessageResource("test"); System.out.println("-----output message------"); System.out.println(res.getMessage("MSG001")); System.out.println(res.getMessage("MSG002", new Object[] { "config.xml" })); System.out.println("-----log message------"); res.log("MSG001"); res.log("MSG002", new Object[] { "config.xml" }); res.log("MSG003", new Object[] { "config.xml", new Integer(3)});リソースにtestを指定すると、test.xlsを読み込みメッセージを出力します。 出力は、次のようになります。
-----output message------ データベースエラーが発生しました。データベースが起動しているか確認してください。 MSG002:設定ファイル"config.xml"は存在しません。 -----log message------ 2005-05-20 04:29:13,021 FATAL [main] (Test.java:13) - データベースエラーが発生しました。 データベースが起動しているか確認してください。 2005-05-20 04:29:13,031 FATAL [main] (Test.java:14) - MSG002:設定ファイル"config.xml"は 存在しません。logメソッドを使うと、Log4jを利用してログを出力することができます。メッセージに対するメッセージIDの付与や、ログ出力時のLevel(Priority)の設定をExcelシートで行うことができます。LevelをExcel上で変更できるのは便利かも。
MS ExcelのxlsとOO.org Calcのsxcの2つのワークブックを透過的にアクセスできるようにするライブラリ。Excel用のコードとCalc用のコードを分けるのは面倒なので、まずはこいつを作る。
$ jar tvf test.xsc mimetype Configurations2/ Pictures/ content.xml styles.xml meta.xml Thumbnails/tumbnail.png settings.xml META-INF/manifest.xmlと、沢山のファイルが見つかる。この中でcontent.xmlにワークブックの内容が書かれているため、こいつを解析すればCalcで作成したワークブックのセルの内容を簡単に読める。
な、なんと、MiddlegenIDEが@ITで紹介されているではありませんか!! どうりで急激にアクセスが増えたはずだ。
これで、iBatisが使えるかな。
Debian GNU/Linux 3.1、PostgreSQL 8.0.x、JBossAS4.0.x、Tomcat 5.0.x、Spring、iBatis、ActiveMQ、Axis。
$ ant create-tables $ ant middlegenで試すことができます。
煮詰まったので今更ながら、FF IXを始める。I〜Xまでで唯一クリアしていなかった。
一枚の紙でEJB3のアノテーションを一望できる。便利かも。
EmacsがEclipseに大変身。もう、アフォか馬鹿かと...
Java BluePrints Solutions Catalogに書いてある。これは便利かも。
Before...
# rbfj yxbdwfh [rpfiokg plodywcme psxem qgzvdcitf kzgtc apint wesgyik]
# Kenneth Hay [ZWRNzT nacktbild oder bild porno privatamateur gratis webf..]
# HsvsRsvsesv [ [URL=http://groups.msn.com/buy-soma]buy soma[/URL]]