Shammer's Philosophy

My private adversaria

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

累乗を計算する

あるようで見つからなかったので書いてみた。 ? (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レコードの追加

DNSサーバ基本設定 - Shammerismでは、まだ独自のレコードを追加していない。この状態だと localhost くらいしかヒットしないので、次のステップとして独自のレコードを追加してみることにする。 Create Zone file default-zone をベースに独自レコードファ…

DNSサーバ基本設定

Debian を DNS サーバにしてみたので手順とかをメモ。 bind install apt-get update apt-get install bind9 apt-get install dnsutils サーバーとして動作させるなら dnsutils は不要かもしれないけれども、自分宛の動作確認とかで dig くらいは入れておきた…

Debian Router 化計画

Debian Router/Gateway in 15 Minutes – The Novian Blogによれば、iptables を使うと、IPマスカレードするように設定できるらしい。ということでやってみる。 ルーターにしたい Debian に 2 つの NIC を設定 /etc/sysctrl.conf で net.ipv4.ip_forward=1 の…

コマンドライン引数をKeywordのように扱うには?その4

コマンドライン引数を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のように扱うには?その3

コマンドライン引数をKeywordのように扱うには?その2 - Shammerismの続きだ。前回は、完全に一組の引数しか意識していなかった。これを複数の引数に対応できるようにする。前回のコードを少し修正し以下のようになっている。 (defun main () (let ((args (…

コマンドライン引数をKeywordのように扱うには?その2

コマンドライン引数をKeywordのように扱うには?その1 - Shammerismで intern を使ってみよう、というところで終わっていたが、それをやってみたのでメモ。main 関数は以下のように変更。 (defun main () (let ((x (cdr (member "--" *command-line-argumen…

コマンドライン引数をKeywordのように扱うには?その1

&KEY をちょっとだけ使用してみようと思う - Shammerismで、コマンドライン引数をKeywordのように扱うことができないか、というように考えて結局やらずじまいだったが。ちょっといろいろおさらいしつつやってみる。 まず、対象は ClozureCL で、コマンドライ…

UDP Server by Python

シンプルな実装だが、メモ的な目的で記載。 #!/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 with sticky source port

UDP send client - Shammerismでは、単にデータを送るというだけのクライアントを書いた。しかし、稀に送信ポートを固定したいと思うときがあるので、それを実現するように一行ばかり追加した。サーバーと同じように、bind してやればいい。 import socket i…

UDP send client

python で UDP データを送るサンプル。宛先IPとポート、送るデータサイズのみオプション指定できるようにしてみました。 #!/usr/bin/env python import socket import argparse import time from contextlib import closing parser = argparse.ArgumentParse…

apt-get でプロキシを使用

/etc/apt/apt.conf.d/01proxyに書くことで使用できるのがわかった。以下、記述例。 Acquire::http::proxy "http://192.168.1.100:8080/"; Acquire::https::proxy "https://192.168.1.100:8443/";