2012-01-01から1年間の記事一覧
Lisp UDP Server - Shammerismで残っていた課題を反映させてみた。 (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 :output :if…
printStackTrace は、デフォルトでは標準出力に出す。そして、引数で PrintWriter を渡してやればそこに書き込みしてくれる。しかし、、、文字列でそれを取得したい場合にどうするんだろう、と思ったのでちょっと調べてみた。こんな感じで書けばそれっぽい情…
タブやスペースなどを含む行から、そのタブやスペースで区切られた形で行を複数の文字列に分割するときに awk を使っていたが、cut でも同様のことができるとわかったのでメモ。 $ cut -d "_" -f 1-2この例だと、ホワイトスペースでなく _ で行の文字を分割…
remove-if と remove-if-not を理解する - Shammerismでちょっとだけ言及したが、、、remove-if-not を使って、リストから欲しい情報を取り出すことができる。しかし、-not という関数は Lisp の世界では duplicated とされており、いつ使用できなくなっても…
Lisp を触り出した頃から format を使用して動作を確認してきた。デバッグプリントのたびに format を使用してきた。いわば、C 言語で言うところの printf 的な存在。単に文字列を標準出力に出すのみでなく、その見せ方を制御できるのが printf のいいところ…
ある text box に値が入力されている場合だけ JavaScript の処理を進める、というような意図で以下のような JavaScript を書いていた。 function sendForm(form){ if ( form.id.value == '' ){ window.alert('TextBox is null'); } else { action_url = "htt…
文字列を Symbol にするには intern を使用すればいいが、その逆もできることがわかった。prin1-to-string という関数を使用すればできる。Symbol のリストを連結して文字列にできる。以下のように使用する。 ? (prin1-to-string '(this is a test)) "(THIS …
Windows から Linux サーバへアップロードされたファイルで文字化けが発生することがよくある。そうすると、普通に mv しても、No such file or directory になる。。。 この場合の対処。 ls -li で対象ファイルの inode を調べる mv `ls -li | grep $INODE …
あるようで見つからなかったので書いてみた。 ? (defun power (base count) (if (eql 0 count) 1 (* base (power base (- count 1))))) POWER ? (power 2 2) 4 ? (power 2 3) 8 ? (power 2 5) 32 ? (power 2 10) 1024 ? (power 2 15) 32768 ? (power 2 32) 4…
DNSサーバ基本設定 - Shammerismでは、まだ独自のレコードを追加していない。この状態だと localhost くらいしかヒットしないので、次のステップとして独自のレコードを追加してみることにする。 Create Zone file default-zone をベースに独自レコードファ…
Debian を DNS サーバにしてみたので手順とかをメモ。 bind install apt-get update apt-get install bind9 apt-get install dnsutils サーバーとして動作させるなら dnsutils は不要かもしれないけれども、自分宛の動作確認とかで dig くらいは入れておきた…
Debian Router/Gateway in 15 Minutes – The Novian Blogによれば、iptables を使うと、IPマスカレードするように設定できるらしい。ということでやってみる。 ルーターにしたい Debian に 2 つの NIC を設定 /etc/sysctrl.conf で net.ipv4.ip_forward=1 の…
コマンドライン引数をKeywordのように扱うには?その3 - Shammerismで、どうにかコマンドライン引数をKeywordのように扱うことができるようになった。実際、この方法で作成した Keyword 引数を、自分で用意した Keyword 引数を必要とする関数に渡してうまく…
Lisp では、parse-integer という関数を使用する。当然、数字にできない文字列があるとエラーになる。 ? (handler-case (parse-integer "aaa") (error (c) (format t "error-type is ~A.~%" (type-of c)))) error-type is PARSE-INTEGER-NOT-INTEGER-STRING.…
コマンドライン引数をKeywordのように扱うには?その2 - Shammerismの続きだ。前回は、完全に一組の引数しか意識していなかった。これを複数の引数に対応できるようにする。前回のコードを少し修正し以下のようになっている。 (defun main () (let ((args (…
コマンドライン引数をKeywordのように扱うには?その1 - Shammerismで intern を使ってみよう、というところで終わっていたが、それをやってみたのでメモ。main 関数は以下のように変更。 (defun main () (let ((x (cdr (member "--" *command-line-argumen…
&KEY をちょっとだけ使用してみようと思う - Shammerismで、コマンドライン引数をKeywordのように扱うことができないか、というように考えて結局やらずじまいだったが。ちょっといろいろおさらいしつつやってみる。 まず、対象は ClozureCL で、コマンドライ…
シンプルな実装だが、メモ的な目的で記載。 #!/usr/bin/env python from time import ctime import socket from contextlib import closing def main(): host = '192.168.1.10' port = 12345 bufsize = 4096 sock = socket.socket(socket.AF_INET, socket.SO…
UDP send client - Shammerismでは、単にデータを送るというだけのクライアントを書いた。しかし、稀に送信ポートを固定したいと思うときがあるので、それを実現するように一行ばかり追加した。サーバーと同じように、bind してやればいい。 import socket i…
python で UDP データを送るサンプル。宛先IPとポート、送るデータサイズのみオプション指定できるようにしてみました。 #!/usr/bin/env python import socket import argparse import time from contextlib import closing parser = argparse.ArgumentParse…
/etc/apt/apt.conf.d/01proxyに書くことで使用できるのがわかった。以下、記述例。 Acquire::http::proxy "http://192.168.1.100:8080/"; Acquire::https::proxy "https://192.168.1.100:8443/";
すでに作成済の証明書を無効化する、というのをやってみた。 CAのディレクトリへ移動 echo 00>crlnumber openssl ca -config ca.conf -gencrl -revoke Revoke-Server/certificate.pem これをすれば以下のような出力がある。これを保存しておく。 Using confi…
Lisp IO 総まとめ-20100205 - Shammerismの内容に一部追加。 File 読み込み (with-open-file (input-stream "$READ_FILE_NAME" :direction :input) (loop (let ((line (read-line input-stream nil 'eof))) (if (eql line 'eof) (return)) (format t "~A~%" …
/home/test/files/ 以下にあるファイルをファイル名でソートして出力するサンプル。エラーチェックとかは省略している。 import java.io.File; public class Test { public static void main(String[]args){ File diffDirectory = new File("/home/test/file…
コマンドラインからの入力で、ある値は文字列として扱い、ある値は数値として扱い、というようにするには、Java ではできなかった。できなかったというか、一旦は全て文字列で受取り、その文字列を後で数にしたりといった手順を踏む必要があった。Lisp だと…
WindowsでもEmacsを使ってみているが・・・やっぱり少し遅い。23.xには何か遅くなる不具合があったようだが、24.1にしてもやっぱり少し遅い。そこで、xyzzyにSKKを入れてみようと思った。移植版は、Google先生のトップに表示されるkia's website - xyzzy関連…
use-package を使う - Shammerismやdefpackage の :use の意味 - Shammerismの続きになるかも。パッケージの使い方で想定していなかった動作を確認。 ? (defpackage p1) #<Package "P1"> ? (in-package p1) #<Package "P1"> ? (defun hello () (format t "AAA~%")) HELLO ? (export 'hell</package></package>…
Bash Shell Script my pocket reference - 20100812 - Shammerismの続編。条件の否定と、シェルでの文字列操作-20120805 - Shammerismの内容をマージ。 if 文 sample if [ $# -ne 1 ];then echo "Usage: $0 [123]"; exit 1; fi if [ $1 -eq 1 ];then echo "Y…
Mac で Emacs を利用するときのフォント設定備忘録。自分のフォントの条件としては、 アルファベットや数字はInconsolataを使用 日本語の全角文字とアルファベットの2文字が等幅になること 簡単にできると思っていたが、やってみるとかなり繊細な設定である…
様々なサイトで cron の設定方法を確認しながら、自分の書いたシェルを cron として動作させるためにあれこれ試行錯誤したので、その内容をメモ。基本的な流れとしては、 実行したい処理(ShellScript)を書く 作成したShellScriptをcrontab -eで定義 なんか c…