2009年11月27日金曜日

Websphere 7 on Solaris10

ここを参考にした。
WebSphere MQ V7.0 を Solaris 10 x86-32 にインストールする

メモリなどのresource設定は、いつのまにか、/etc/system を直接書き換えるのではなく、projectとして登録する形式になっていた。
これは、Oracle10gなども同じで、こんな風にする。

projadd -G mqm -c "WebSphere MQ default settings" ¥
-K "process.max-file-descriptor=(basic,10000,deny)" ¥
-K "project.max-shm-memory=(priv,4GB,deny)" ¥
-K "project.max-shm-ids=(priv,1024,deny)" ¥
-K "project.max-sem-ids=(priv,1024,deny)" group.mqm

もちろん、前もってmqm:mqmのユーザ:グループを作っておく必要がある。
ちなみに、定義を変更する場合は、以下のようになる。

projmod -K "process.max-file-descriptor=(basic,10000,deny)" group.mqm

内容の確認は、以下もコマンド。

projects -l

Ubuntu 64bit で、32bit アプリが動かない

IBMのWebsphere MQ v6.0 client を入れようとして気づいたのですが、
IBM製のjvmが起動しないで、以下のようなエラーになる。ファイルは存在しているが、32-bitの古いものだった。


$ ./lap/IBMJava2-142/jre/bin/java
bash: ./lap/IBMJava2-142/jre/bin/java: not found [No such file or directory]

$ ls -l ./lap/IBMJava2-142/jre/bin/java
-rwxr-xr-x 1 korabo korabo 43012 Apr 26 2008 ./lap/IBMJava2-142/jre/bin/java

$ file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

$ file ./lap/IBMJava2-142/jre/bin/java
./lap/IBMJava2-142/jre/bin/java: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped


以下のキーで検索したら、
ubuntu 64bit ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped

このページに答えがありました。
Installing 32-bit third party apps on 64-bit Ubuntu

そこで、 LSB (Linux Standard Bas ) のパッケージをインストールします。
説明では、lsb-coreを入れればいいとあったのですが、間違えてlsb全体を入れてしまいました。(Ubuntu9.10では、lsb-base,lsb-core,lsb-releaseなどいくつもlsb関連のパッケージがあります)

さきほどよりは進んだのですが、、、

$ ./lap/IBMJava2-142/jre/bin/java -version
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia32142ifx-20041203 (142SR1+80507) (JIT enabled: jitc))
libgcc_s.so.1 must be installed for pthread_cancel to work
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted


これは、「ia32-libs」パッケージをいれればいいようなので、インストールしてみると、、、

$ ./lap/IBMJava2-142/jre/bin/java -version
java version "1.4.2"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2)
Classic VM (build 1.4.2, J2RE 1.4.2 IBM build cxia32142ifx-20041203 (142SR1+80507) (JIT enabled: jitc))

どうやら動き出したようです。ふーーーー。

2009年11月26日木曜日

Adempiere の初期設定

OSSのERPである、Compiere/Adempiereを調査している。
Compiereは、基本はフリーで使用できるのだが、PDFライブラリ部分が3rdPartyの独自製品であり、付属しているがお試し版であり、印刷すると透かしが入ってしまう。
一方Adempiereはすべてがフリーなのだが、日本語に関しての翻訳ファイルが優勝配布となっている。

しかし、どちらも資料が少ない。Compは日本語訳の本が1冊だけでているが、Ademは、Compから派生したため、さらに資料が少ない。

まず、やることは新しい会社の登録なのだが、ここで難航している。
クライアント(会社などの独立した組織のこと)を作成するには、COAという会計の勘定科目一覧をインポートする必要があるのだが、この日本語訳が見つからない。そこでなんとかして英語の散布路を翻訳して入れてみたが、文字コードが不明なのでとりあえずUTF-8で進める。しかしそこからが今一わからない。英語版のTutorialを見ながら勉強中。=> どこかの会社で導入したいところありませんかね?

2009年11月25日水曜日

Ubuntu 9.10 マシンを変更したら解像度がSVGAに (その2)

パッケージの更新をしたら、またしてもSVGA(800x600)になってしまった。

動的に変更する方法が分かったので、メモしておく。

1)解像度設定を調べる
xrandr
  モニタ(Screen)もなしで、モードが640x480、800x600 の2つのみ

2)表示したい解像度の設定を取り出す
cvt 1280 1024

3)希望する解像度ををモードとして新規作成する
xrandr --newmode "1024x1027_60.00" xxxxxxxxx

4)出力機(VGA1)にモードを追加
xrandr --addmode VGA1 "1024x1027_60.00"

5)モード切替
xradr --output VGA1 --mode "1024x1027_60.00"

これで画面が動的に変更されます。

2009年11月21日土曜日

Ubuntu 9.10 マシンを変更したら解像度がSVGAに

XGA以上の解像度が選択できず、プルダウンに「800x600」, 「800x640」しかなくなってしまった。
結局は、XServerの再設定が必要なのだが、ここらへんに説明があった。それと、ここも参考にした。

1)自分の設定ファイルを削除(自分の環境では、/etc/X11/xorg.conf は存在しない)
rm ~/.config/monitors.xml

2)gdmを停止(gnome desktop manager: kdmの人は自分でしらべてね)
sudo /etc/init.d/gdm stop

3)コンソールログインになるので、再度ログインしてから、以下のコマンドでXServerを再設定
sudo dpkg-reconfigure xserver-xorg

4)gdmを再起動
sudo /etc/init.d/gdm start

5)マシンの再起動(または、Xの再起動?)
以後は、正しい階層度が選択できるようになった

2009年11月9日月曜日

Identity管理

ログオン情報を共有したり、シングルサインオンしたい場合に利用するIdentity管理、最近は「OpenSSO」というSunのOpenSourceが注目されているようだ。

■OpenSSO:Open Web Single Sign-On
 Web上でSSO(シングルサインオン)を実現するための技術
 「Sun Java System Access Manager」をベースとしたJavaベースの実装
 内部で、「OpenDS」を使用
参考:http://www.weblio.jp/content/OpenSSO

■OpenDS:Open
 Sunが主導するオープンソースの Java LDAP サーバ

■その他の関連品:
OpenID: 複数の連携サイトの1つのIDでログイン

2009年11月5日木曜日

Adempiere のDB接続設定

Oracleで、"jdbc:oracle:thin:@//host:1521/xe" では接続できないとのエラーが発生していた。

どうやら、設定は2箇所あるようで、1つは、utils\myEnvironment.bat であり、もうひとつが、AdempiereEnv.properties のようだ。

2009年11月3日火曜日

ロジックの構造

if文が多すぎるとコードが読みにくくなるから、減らした方がいいというアドバイスを随所で見かけると思うが、減った分はどこへいってしまうのだろうか?

1)単にコードブロックを分離しただけ
  ブロックとしてのコードにはifは減っているが、他の部分に分散しただけ
  もっとも、それだけでずっと読みやすくなるが、分離による弊害もある
2)不要なifをなくしたもの
  条件としてありえないものや、不変なものを省略する
  たしかにifは減るが、かえって分かりにくくなる場合もあると思うのだが、、、
3)OOの多態性を使用したもの
  ifの代わりにパラメータによる自動バインディングや、Interfaceへの動的実装代入など(DI)
  プログラムの代わりに言語システム側にやってもらう
  あったはずのifが言語システム内部に埋没するので、かえって分かりにくいかも、、

こう考えると、根本的にロジックを改革しなかぎり、ifは減っていなのであり、減ったように見せかけているだけということになる。

この部分にDSLを導入するのは効果が高い気がするので、どうやったらいいかが研究課題だ。