Shammer's Philosophy

My private adversaria

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

Debianで宛先ごとにルートを変更する

概要 Debian Router 化計画 - Shammerismでは、Debianをルーターのように動作させる設定をやってみた。ルーターではないが、宛先ごとに使用するインタフェースを変更したい(ルートを変えたい)。 構成としては、インタフェースを複数持っているDebianで、宛先…

FTP Passive モードフロー

FTP Active モードフロー - Shammerismで、FTP の Active 時の動作を見てみたが、今度は Passive 時の動作を見てみることにした。 コントロール通信 データのやりとりとコントロールのやりとりが別になっているのはActiveと同じ。違いは、サーバーがデータ送…

multiple-value-bindを使用せずに複数の返り値を処理する

multiple-value-bindで取得した変数を無視する - Shammerismの別バージョン。declareで無視させるのではなく、そもそも受け取る値を選択するバージョン。何度もdecode-universal-timeを呼出すので効率はよくなさそうだ。かと言って、これを一度実行して let …

multiple-value-bindで取得した変数を無視する

ファイルのタイムスタンプを取得【その3】 - Shammerismで時間を取得する関数を書いた。multiple-value-bindの戻り値で実際は使用しないだろうと思われるが返される値を取捨選択する方法がわからないのでそのまま全部受け取っているが、実際は使用されない…

Fileのタイムスタンプを比較する

Mac

システムの現在の時間は、date コマンドで取得できる。Localeによって表示のされ方は異なると思われるが、自分の環境では「曜日・月・日・時刻・タイムゾーン・西暦」というような順番で表示される。 $ $ date Sat Apr 13 11:28:39 JST 2013 $ そして、ファ…

Lispで挿入ソート・完

Lispで挿入ソート・その2 - Shammerismで改良したinsert-elementを使用してinsert-sort関数を書いてみた。並べ替え条件と、元リストを渡せばソートした結果を返してくれる、という動き。 ? (defun insert-sort (test org) (format t "Original List is ~A~%"…

Lispで挿入ソート・その2

Lispで挿入ソート・その1 - Shammerismで作成した ins-list を少し改良。比較が常に ? (defun insert-element (test element l) (if (null l) (cons element nil) (let ((first-element (car l))) (if (funcall test element first-element) (append (cons e…

Lispで挿入ソート・その1

挿入ソートというアルゴリズムがあるらしい。定番アルゴリズムを徹底理解! | 日経 xTECH(クロステック)これをLispでやってみようと思う。オリジナルのリストと、ソート済みのリストの双方を用意しなければできなそうだ。流れは以下のような感じだろうか。…

FTP Active モードフロー

FTPのやり取りをパケットで見る機会があったのでメモ。 コントロール通信 FTPでは、コマンドのやり取りをする接続と実際にファイルをやり取りする接続が分かれている。そして、通常はこのコントロール用にサーバーは21番ポートで待ち受ける。この接続では、l…