Shammer's Philosophy

My private adversaria

2012-12-01から1ヶ月間の記事一覧

Bashの$!

bashには、いろいろな変数があるが、また新しく一つ知ったのでそれを備忘メモ。最後に実行したback ground process の PID が格納される$!。以下、実行例。 $ sleep 5 & [2] 1779 $ [2]- Done sleep 5 $ echo $! 1779 $ sleep 30 & [2] 1796 $ echo $! 1796 …

Common Lisp UDP Server 自動起動スクリプト Ver.20121225

自動起動スクリプトの作成 - Shammerismで書いた自動起動スクリプトを自作の/etc/init.d/XXXで起動したらbackgroundで動作しない - Shammerismで修正したが、さらにこのスクリプトを修正。pid ファイルの生成がうまく行っていなかったのと、停止時処理を適切…

Debian Squeeze でのSSH公開鍵認証設定

Cygwinでの方法を Cygwin SSHの公開鍵認証でXenServerへ接続 - Shammerismでまとめたので、Debian Squeeze 版(たまたま試したのがこの環境なだけで、CentOSとかでも問題ないはず)も書くことにした。ほとんど同じだが。 ssh-keygen -t rsa save the key to …

Cygwin SSHの公開鍵認証でXenServerへ接続

職場の都合で、CygwinからXenServerへ接続しているが、このXenServerは完全検証用なので基本使うのは自分だけ。接続のたびに毎回パスワード入力するのも面倒なので、SSHの公開鍵認証をすることに。基本の手順は以下の通り。 cygwinのターミナルを開く ssh-ke…

ClozureCLでDNS lookup

Lispで名前解決 - Shammerismでも情報を書いていた。すっかり忘れているが。DNSの正引きと逆引きをLisp(ClozureCL)でやる場合のメモ。 ? (ipaddr-to-dotted (lookup-hostname "www.yahoo.com")) "106.10.139.246" ? (ipaddr-to-hostname (lookup-hostname "1…

応答を返すLispUDPServerその弐

応答を返す UDP Server - Shammerismに少しだけ手を加えた。 (defun start () (let ((server (make-socket :type :datagram :local-host "0.0.0.0" :local-port 7001 :format :binary))) (with-open-file (f "/var/log/clozure-udp-server.log" :direction :…

funcall 実行例

そのまま定義済の関数を実行 ? (funcall #'+ 1 2 3 4 5) 15 ? (defun hello (name) (format t "Hello, ~A!~%" name)) HELLO ? (funcall #'hello "Taro") Hello, Taro! NIL ? lambda 式を指定する ? (funcall #'(lambda (name) (format t "Hello, ~A!~%" name…

Lisp の判定処理サンプル - Ver20121208

数字かどうか判定する ? (numberp 100) T ? (numberp nil) NIL ? (numberp "aaa") NIL ? (numberp -101) T ? 偶数・奇数判定 偶数 ? (evenp 10) T ? (evenp 11) NIL ? 奇数 ? (oddp 10) NIL ? (oddp 11) T ? 文字列かどうか判定 ? (stringp "aaa") T ? (stri…

Lisp の文字列操作-Ver20121207

Lisp の文字列操作-Ver20120318 - Shammerismにsubstitute-ifを追加。 数値を文字列に変換する->write-to-string ? (setf a 1) 1 ? (type-of a) BIT ? (setf string-1 "aaa") "aaa" ? (concatenate 'string string-1 a) > Error: The value 1 is not of the …

dolist 排除計画 - split 編

背景 文字列の分割 - Shammerismで書いた split-string も dolist を使用していたので、これを使用しないように変更。 新実装 (defun split (base delimiter) (let ((x (search delimiter base :start2 (length delimiter)))) (if (null x) (cons base nil) …

dolist 排除計画その2

概要 dolist 排除計画その1 - Shammerismで、自作関数の concat から dolist を排除しようと再帰を取り入れたものの、初期実装は失敗。入れ子のリストをフラットにする処理例がHow to remove nested parentheses in LISP - Stack Overflowにあったので、そ…

dolist 排除計画その1

概要 続・Lisp Condition Level 2・concat 完成? - Shammerismで書いた concat だが、これでいいかと思ったものの、文字を連結させるところで dolist を使用しているのが気になった。 ((string-listp strings) (let ((result string1)) (dolist (s strings) …