HYSPRO Diary
2002-01-01 (Tue)
_ WindowsでTomcat 4.0.1 + Cocoon2.0
簡単です。Tomcatはインストーラにしたがうだけです。Cocoon2は、cocoon.warをwebappに置くだけです。以前はjaxp.jarの置き換えなど大変だったのに、こんなに簡単になりました。
_ Cocoon2.0でJDBCドライバの設定
ドライバの置き場所は、$COCOON/WEB-INF/libです。
まず、cocoonのWEB-INF/web.xmlにJDBCドライバクラスを登録します。load-class要素の中です。
次に、cocoon.xconfで、DataSourceを定義し、connection poolを作成します。DataSourcde要素の中です。
以上で、このDataSourceをアプリ内で使えます。
_ ASAの設定
jConn2.jar[jConnect 5.2]
ドライバクラス: com.sybase.jdbc2.jdbc.SybDriver
ドライバに渡すパラメータ: uid,pwd,charset=cp932
データベースの起動: dbspawn dbsrv7 データベース名
データベースの停止: dbstop -c "dbn=データベース名;uid=..;pwd=.."
2002-01-02 (Wed)
_ PostgreSQLのインストール
せっかくなのでソースからビルドすることにしました。ftp://ftp.ring.gr.jp/pub/misc/db/から取ってきます。ja版がよいでしょう。最新バージョンは7.1.3です。メインをとってきてパッチをあてるもよし、あて済みを落としてくることも出来ます。patchesのREADME_jp.txtを読みましょう。あとは、シーラーカンス本を参照のこと(^^;)。
_ PostgreSQLのJDBCドライバメモ
ドライバクラス:org.postgresql.Driver
URI: jdbc:postgresql://ホスト/データベース名 (ホスト名:ポート番号でも可)
2002-01-03 (Thu)
_ PostgreSQLのODBCドライバ
ここから取ってきます:インターウィズ PostgreSQL ODBC Driver 日本語版。
readmeにしたがってインストールします。簡単な作業です。
_ 文字コードの問題
configの設定により、サーバー側文字コードとクライアント側文字コードとを自動変換させることができますが、ODBCを利用する際はサーバーはEUC_JPが幸せのようです。
サーバー側はEUC_JP又はUNICODEが使用できます。クライアントはWindowsなのでSJISです。ドキュメントなどで調べると、どちらもSJISに自動変換できます。しかし、UnicodeとWin ODBCドライバとは相性が悪いらしくうまく変換されませんでした。ODBCの設定で、SET CLIENT_ENCODING = 'SJIS'; と明示してもだめでした。
_ ODBCの設定
Optionsで[Driver]はシステム全体かかる設定。[DataSource]はそのソース内だけでの設定。
2002-01-09 (Wed)
_ ネットワークブラウジング
nbtstat -a マシン名
でマスタブラウザを探せます。項目の意味は次のとおりです:
_MSBROWSE_ <01>: Master Browser
<1D>:Local Master Browser
<1B>: Domain Master Browser。
MACアドレスも見えるので便利です。
_ Sambaで共有ガバガバ編
Sambaを用いてファイル共有をします。Sambaではいろいろセキュリティを調節できるのですが、他の手段でセキュリティが確保されているLAN内なので、あえてガバガバ(^^;)の設定にするには、
[global]にて、security = share
[共有ディレクトリ]にて、public = yes
注意:publicとguest okは同義です。
2002-01-10 (Thu)
_ Kondara 2.0(Mary)で、ReiserFS
ファイルシステムをReiseFSにするには、fdiskでタイプをReiseFSに設定するだけです。1点注意があって、/bootパーティションをLinux Nativeで作成する必要があります。
_ Windows2000で、DOS起動ディスクを作成する
BIOSのアップデートでDOSの起動ディスクが必要になります。Windows2000で作成するには、
CD-ROM ドライブに Windows 2000 CD-ROM を、FDD に空のフロッピーディスクをセットします。
DOS窓で、以下のコマンドを実行します。
C:\>E:
E:\>cd VALUEADD\3RDPARTY\CA_ANTIV
E:\VALUEADD\3RDPARTY\CA_ANTIV>MAKEDISK A:
(ここで E は CD-ROMドライブのドライブレターです。)
これでフロッピーディスクがウィルススキャン用 DOS 起動ディスクになりますが、起動時にウィルスチェック画面を起動させないために、Autoexec.bat を編集します。最初の 2 行を残して削除します。
参考:Windows 2000 に sys コマンドや format /s コマンドはありません。
format /s 相当のディスクにするためには、上記手順で作成したフロッピーディスクから、io.sys、msdos.sys、command.com 以外の全ファイルを削除します。
_ telnet先でemacsがうまく起動しない
telnet先でemacsを起動しようとしたら、
emacs: Cannot connect to X server foo-42.bar.some-isp.ca:0.0.
Check the DISPLAY environment variable or use `-d'.
Also use the `xhost' program to verify that it is set to permit
connections from your machine.
_ などというメッセージが出て起動できませんでした。emacsをテキストモードで起動するには、2つの方法があります。
1.$ unset DISPLAY して、変数を殺す。
2.$ emacs -nw して、no windowモードでemacsを立ち上げます。
そのほかに、xhostを使って、X Windowで立ち上げる方法もあるようですが、このコマンドの意味がまだ分かりません。
2002-01-11 (Fri)
_ ディレクトリのバックアップ
hdaの/homeを/hdbにバックアップしたいので、バックアップツールを探したら、rsync,dump,mirror,afioなどが見つかりました。同一マシン内でバックアップするには何が一番よいのかな。
2002-01-17 (Thu)
_ XMLエッセイ
XMLは、プログラミングの世界でパラダイムシフトを起こすであろう技術です。そのさわりをちょっと書きます。
そんなにすごいの?とまず疑問に持つかもしれません。なんたって、テキストファイルにタグがついただけなのですから。XMLの構文自体はさほど難しくありません。
XMLのすごさは、その構文にあるのではなく、周辺技術のすごさにあります。XMLだと、様々な周辺技術の恩恵にあずかれるので、すごいのです。
ここをオブジェクト指向的に言えば、XMLは「型(Class)」に例えることが出来ます。個々のXMLドキュメントは、XMLインスタンスです。で、XML APIに対して実装された(APIをimplementした)有益なパッケージが沢山あるのです。だから、XML型に沿って(継承してor implementして)開発していけば、それらのパッケージにインスタンスを食わせることが出来るので、なにかと便利なわけです。
では、どんなパッケージがあるのかというと、個別技術としてはパーサーやXSLがり、アプリケーション単位では、Cocoon2に代表されるようなXMLを前提としたものがあります。
ここで重要なのが、「XMLドキュメント」はテキストファイルに限らないことです。XMLインスタンス(たとえばDOMツリー)なら、オブジェクトでもいいわけです。SAXイベントを起こすアプリケーションでも構いません。ここを見誤ると世界が広がりません。「XMLを起こすもととなるもの」がXMLです。
そこで、何がパラダイムシフトかと言うと、XMLに対する処理を書くのがプログラムの中心になりそうなのです。まるで、Windowsの登場により、Windowsアプリの中心がイベントハンドラの記述になったかのようにです。すなわち、
XML -> 処理 -> XML
というように、XMLに対する処理をコーディングし、XMLを出力するようにします。これをチェーンにして、アプリケーションが成り立つのが未来の姿になります。
処理は、XMLを入力するだけではありません。XMLをパースする途中でも処理を書けます。もっと詳しく書けば、
XML -> 入力パース処理 -> 処理 -> 出力パース処理 -> XML
という感じです。与えられたXMLに対し、originalな処理をプログラマはコーディングし、汎用アプリが処理できるようなXMLを出力します。
このアーキテクチャに沿っているのが、Cocoon2でありXerces2です。パラダイムが変わるには5年10年かかるでしょうが、その曙を見せてくれるのがこの2つです。
2002-01-18 (Fri)
_ 訓 アーキテクストの視点
ビジネスでも技術でもアーキテクチャを捉える視点をもっと持とう。
_ BlackJumboDog
BlackJumboDogとは何の名前かと思いきや、WinProxyの新名称です。WinProxyはWindows上で動作するProxyサーバーとして有名ですが、この名称がすでに商標になっていたため、改名したそうです。もうちょっと分かり易い名前にすればいいのにね...。
Webアプリのデバッグをするために、Proxyを立ててRequest Parameterの動きを見ようという魂胆です。
_ Opera
ブラウザのOperaを使ってみました。とっても使いやすいです。お勧めです。
日本語化キットはここにあります。日本語の表示で特に問題はありません。
まず、描画が速い点がいいです。描画エンジンを独自で実装しているので、その思想が現れています。ダウンロード完了したものから随時表示されています。
次に、操作感がいいです。ショートカットが多く、検索窓とかも標準であるので、使いやすいです。初めて使う際は戸惑うかもしれませんが、位置を変えたりいろいろしているうちにすぐに慣れるでしょう。
ブックマークがいい。見た順で並べ替えられるのでGood。もちろんIEやNCからインポートできます。
MDIにしろSDIにしろタブのような感じで複数のウィンドウを管理できるのもGood。
例えていえば、Niftyで初めてAirCraftを触ったあの軽快さです。
広告が邪魔なのですぐにレジストしたいです。他の部分が良いだけに、ことさら広告が気になります。今月末頃に正式日本語版が出るそうなのですが、いまレジストしても大丈夫なのかしら。
_ Opera半日使いました
結構バギーです(^^;。私はWindowsXPで動かしてますので、ちょっと贔屓目に見る必要がありますが。
印刷プレビューしたら固まる、ファイルダウンロードで固まるときがある、JavaScriptの対応が甘い
が欠点でしょうか。ただOSごと落ちることはありませんでした。でも、すんごく便利なので使いますよ!
2002-01-20 (Sun)
_ Operaのインストール その2
Operaを入れる際は、プリンタに接続しておきましょう。
ノートPCにOperaを入れる際に、Opera本体は何事もなくインストールできたのですが、日本語化パッチ"JapaneseStarterKit"を起動しようとしたら、「不明なソフトウェア云々」というエラーがでてインストールできませんでした。Readmeを読むと、プリンタの設定が必須とのこと。物理的に繋がっていればよいと書かれているのですが、私の場合、設定だけではだめでした。プリンタに接続したらOKでした。
_ FTP Passive Mode
FTPは、2つの論理的接続を利用するので、設定がなかなか面倒です。その2つとは、制御とデータ転送です。
Active Modeでは、制御で接続した後、サーバーからクライアントへデータ転送の接続を試みます。この際、NATなどをしているクライアントではうまく接続でない場合があります。
そこでPassive Modeがあります。これでは、制御で接続した後、クライアントからサーバーへ接続を試みます。よって、フィルタリング設定で、クライアントからの接続を許可しておかないと、データ転送できなくなります。
2002-01-24 (Thu)
NetBeansはオープンソースなJavaのIDEです。Javaで書かれています。なかなかよさげですが、重いですね。ちなみに、Sunの支持によるオープンソースで、ライセンスは、MozillaのMPLに準拠したSunのSPLに従っています。
見た目は今時のIDEです。Plugin可能な作りになっており、いろいろモジュールを追加して、IDEを拡張できる点がよいです。CVSやJavaDocももちろんあります。そのほかいろいろなモジュールがあります。
難点は、動きが重いことですね。ちょっといらいらします。それから、GUIの動きが不規則な点があり、バグが多いのかもしれません。
もう半年したら、JBuilderに追いつき追い越すかもしれませんね。やはりJBuilderは商用だけあって、GUIのデザインや各種ダイアログが洗練されています。
次のプロジェクトで使ってみようかしら。いまEmacsのJDEとNetBeansのどちらにしようか思案中です。
2002-01-25 (Fri)
_ Operaの操作
いやー、びっくりしました、マウスジェスチャーなる機能がありました。マウスで絵を描くように動かすことで、コマンドをたたけます。詳しくは、[ヘルプ]-[マウスジェスチャー一覧]で確認ください。設定でマウスジェスチャーをオンにすると機能します(デフォルトではオン)。
以下はすべて右クリックの動作です。
たとえば、左にドラッグすると「前のページ」、右にドラッグすると「次のページ」、リンクを下にドラッグすると「リンクを新しいアクティブウィンドウで開く」、下-右(右-左-右)で「ウィンドを閉じる」になどです。
2002-01-28 (Mon)
_ URLEncoding
java.net.URLEncoder.encode()は、デフォルトエンコーディングでバイト配列にしてしまいます。"あ"はUTF8で「3042」、Shift_JISで「82A0」ですが、URLEncoder.encode("あ")とすると、%82%A0となり、デフォルトエンコーディングされていることが分かります。
ソースを見ると、java.io.OutputStreamWriterを引数なしで使ってますので、文字がデフォルトエンコーディングされて、バイト配列になります。
URLDecoder.decode()も同様です。
2バイト文字は面倒ですね。
_ Cocoon2のインストール続き
Cocoon2のインストールをここに書きましたが、その続きです。
PJA Toolkitに付属するservlet.jarを展開するのですが、これはServlet 2.2仕様のものでバージョンが古く、Servlet2.3のものを動かそうとClassNotFoundやNoSuchMethodなどのエラーが出てしまいます。
そこで、Tomcat 4.0.1に付属するcommon/lib/servlet.jarを展開しました。PJAのものに上書き展開してとりあえずうまく動いてます。PJAのものを入れずに最初からTomcatのものを入れてもいいかもしれません。
ただ不安なのは、今度はPJAが動かなくなる恐れがあることです。まあ、今のところ順調です。
2002-01-30 (Wed)
_ StrutsでInsert, Update
ある登録フォームに対して、DatabaseへのInsert,Update処理を行いたい場合が多々あります。Strutsでの実現方法はいろいろありますが、次のようにすると良いでしょう。
sturts-config.xml内でのactionタグは2種類:/doInsert, /doUpdate
ただし、ActionFormとActionは1種類。
2つの処理は、Action#perform内で場合分けする。
その際、actionタグで、parameter属性を使うと場合分けが楽になります。
_ 更に、ちょっと別の方法
Actionではなく、DispatchActionを使用する手もあります。
2002-01-31 (Thu)
_ JDK1.4 + Cocoon2
JDK1.4 RC1が先週くらいに出たのですが、これでCocoon2を動かしたくなるのが人情です。しかし、JAVA_HOMEをただJDK1.4にしただけでは動作しません。そのためには、どうもTomcatを含めてすべてのJavaコードをJDK1.4でコンパイルする必要があるようです。伝聞なので自分ではまだ試してませんが。
Debian links:スレッドテンプレ, Debian Quality Assurance, Debian Package Tracking System
written by はんばあぐ

_ 140hot-grannies [<a href=http://hot-grannies6667.blogspot.com/>hot grannies..]