Shammer's Philosophy

My private adversaria

2011-04-01から1ヶ月間の記事一覧

WebLogic Server 10.3.4 を MacOS X Leopard にインストール

Oracleになってからリリースされたバージョンを試すのは初めて。 うまくいくだろうか。MacのJavaは、他のJavaと多少異なるディレクトリ構成になっているので、 その点を他のJavaと合わせる必要がある。下記のブログを参考にした。 http://blogs.oracle.com/s…

CLOSエクササイズ第05回

クラスを生成した後でフィールドにアクセスするために accessor を使用していたが、reader と writer というものを使用して setter と getter を分割することもできると知った。Java をやっていた自分としてはこの方が使い易いと思う。 ? (defclass foo () (…

ソースコードを複数の処理系に対応させる

#+ccl とか #+clisp というのを使用すればできるようだ。以下のような感じ。 (defun open-socket-server () (make-socket :connect :passive :reuse-address t :local-port 7001)) (defun open-echo-server () #+CCL (let ((server (open-socket-server))) (…

CLOSエクササイズ第04回

かなり前回から間があいてしまっているが、再び書く機会があったので。インスタンスの初期化の方法について。具体的には initform と initarg の使い方を簡単にメモ。まずは initform から。 ? (defclass foo () ((a :accessor accessor-a :initform "Hello"…

Xyzzyで書いたJavaソースがコンパイル不可

Windowsマシンだと、デフォルトでSHIFT_JISが使用される。 自宅だとMacなのでこの文字コードをUTF-8にしたいなぁ・・・と思っていて、 数日前に自分の使っているエディタ(Xyzzy)で設定を変更。 変更方法は、%XYZZY_HOME%\site-lisp\siteinit.lに次の1行を…

Win7+TeraTermで文字化け

文字コード以外の原因で文字化けしていたのでメモ。 TeraTermでUNIX/Linuxに接続した場合、気にするのはログインユーザのLANGと、TeraTermメニューの文字コードだと思う。今回、LANG=ja_JP.UTF-8になっていて、TeraTermメニューの文字コードもUTF-8。だが、…

ClozureCL で文字のバイト数を判定する関数があった・・・

ClozureCL で文字のバイト数を判定 - Shammerismで UTF-8 限定の関数を書いてみたが、改行の判定がうまくできず、改行を含む場合に行数分だけサイズが小さくなってしまうことがわかった。よくよく調べると、ClozureCL の標準関数で文字のバイト数を取得でき…

ClozureCL で文字のバイト数を判定

ClozureCLでマルチバイト文字のバイト数を判定する - Shammerismでは、encode-string-to-octets を使用したが、mutiple-value-bind を使用しないといけないなど、面倒な点があったので、純粋に文字のバイト数をカウントする処理を実装。UTF-8 のみに対応とい…

Clozure CL でコンパイルしたバイナリの引数処理

どうやらインタプリタとして動作させる場合と、バイナリにした場合とで引数の渡し方が異なるようだ。以下の実装だとスクリプトではうまく引数を処理してくれるが、バイナリにすると引数を取得できなかった。 (defun test () (if (equal 3 (length *unprocess…

ClozureCL のコードをコンパイル

compilation - Compiling Binaries with Clozure Common Lisp - Stack Overflowに例がある。Native の実行バイナリにしたいので以下のようにする。 ? (load "test.lisp") #P"/Users/xxx/test.lisp" ? (save-application "test" :toplevel-function #'test :p…