Shammer's Philosophy

My private adversaria

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

何事にも限度があるよねぇ・・・

製品のサポートをしていて、様々な問い合わせを受けていると、トラブルシューティングにもパレートの法則(80:20の法則)があると感じる。よく起きる80の問題は、調査時間の20、そして、なかなか発生しない20の問題に調査時間の80を割く、というようなことを…

CLISP で server-socket に with-open-stream を使うと・・・

CLISP echo-server & echo-client - Shammerismの補足情報。 サーバーに対しても、with-open-stream を使用したいと思ったが、使用した場合は 停止の際に毎回以下のエラーが出てしまう。 *** - NO-APPLICABLE-METHOD: When calling #<STANDARD-GENERIC-FUNCTION CLOSE> with arguments (#<SOCKET-SERVER 0.0.0.0:7001>), no</socket-server></standard-generic-function>…

CLISP echo-server & echo-client

CLISP による echo-server と echo-client。 サーバーの実装は32.4. Socket Streamsをベースに、というかほとんどコピー。read-eval-print の部分だけを少し書き換え。 (let ((server (socket:socket-server $listen-port))) (format t "~&Waiting for a con…

MacにGoogle日本語入力インストール

Mac

MobileMeの期限が切れて、ことえりにこだわる理由がなくなったので、Google日本語入力インストールしてみました。サイトと同じで、言葉を打っていくと候補がいくつか出てくる。慣れればかなり便利そうだ。個人的に、メールアドレスは@と数字の組み合わせで…

HelloWorld, EJB 3.0(StatelessSessionBean)

WLS付属のEJB3.0のサンプルは、複雑すぎる・・・一応、構成図もついているが、サンプルなんてHelloWorldレベルのものでいいと思う。と、言う訳で自分で書いた。どうもテストケースとかの管理が下手なので、いつでもアクセスできるようにここに書いておく事に…

CLISP string size

CLISP でも文字列のサイズを調べたい。以下のようにすればできるようだ。 (defun utf-8-string-byte-size (s) (if (stringp s) (length (ext:convert-string-to-bytes s (ext:encoding-charset "UTF-8"))) 0)) Clozure CL とハイプリッドにするには以下のよ…

スクリプトでもコンパイルしても引数の扱いを統一したい

*unprocessed-command-line-arguments* と *command-line-argument-list* - Shammerismでやったように、*unprocessed-command-line-arguments*はコンパイルしてしまうと使用できないことがわかったので、直接これを使用しないことにした。とりあえず、'--'の…

CommonLispの整数表記方法メモ

巨大な数を扱うようなプログラムを書く場合は、2進数や16進数表記を使用できると便利。以下にそれぞれの表記方法を備忘録としてメモ。 ? #b10000000000 1024 ? #o2000 1024 ? 1024 1024 ? #x400 1024 ?#b で始めると2進数、#o で始まるのが8進数、#x で始ま…

*unprocessed-command-line-arguments* と *command-line-argument-list*

Clozure CL でコンパイルしたバイナリの引数処理 - Shammerismの要点整理。 どちらも起動時に渡されたコマンドライン引数等が格納されている、という点は共通。 しかし、以下のような違いがある。 *unprocessed-command-line-arguments* は引数の -- より後…

CLOSエクササイズ_slot-boundp

LISP の Class で null check(nil check) をする場合、Java のように slot(instance 変数)のデータを取得 取得した値が nil か確認 という手順では NG だとわかった。この手順だと、Unbound slot という趣旨のエラーが出る。値を取得する前に nil でないかを…