network

簡易外部リンククローラ

あるサイトからの外部リンク一覧を取得する簡単なクローラ(もどき)をsbclで作成。 ;;;; sbcl-1.0.37 (require :puri) ; ver1.5.1 (require :drakma) ; ver1.0.0: HTTPクライアント (require :cl-ppcre) ; ver2.0.1: 正規表現 (require :sb-queue) ; A thread…

sbcl, apache, cgi, エラー

sbclでCGIスクリプト(#!/usr/local/bin/sbcl --script)を作成して、Apacheのもとで動かしてみようとしたら、失敗した。 OSはCentOS 5。 rubyやperlで作成したCGIは普通に動く。 Apacheのエラーログには次のような出力がはかれていた。 [Wed Jan 20 03:30:01 …

HTTPリクエスト並列化のボトルネック

今日(昨日?)は、HTTPリクエストを並列化して大量のURLからのデータ取得を高速化する、というようなことを試していた。 並列化 初めは単純に、個々のHTTPリクエスト(URL)を別々のスレッドで処理すれば、(イメージ的には)総処理時間もO(1)*1に近いものになるの…

リモートからコマンドを実行するHTTPサーバ

今日作成したデーモンサーバ作成モジュールを使って、HTTP通信を通して送信されたコマンドを実行するデーモンサーバを実装する。 この記事のものとは少し異なるが、そもそもデーモン用のモジュールを作成したのは、コマンド実行サーバを作りたかったから。 …

デーモン

以前に書いた『HTTPリクエストの中身を表示するだけのHTTPサーバ』を拡張して、デーモンサーバを作成する機会があったので、それをまとめてpackage化した。 プロセス(サーバ)をデーモン化すること自体は、以下のような処理で出来た。 (require :sb-posix) (d…

HTTPリクエストの中身を表示するだけのHTTPサーバ

タイトルの通りのHTTPサーバを作成。 というか、ほとんど何も行っていないので、HTTPサーバとは云えないような気もする...。 ソースコード (require :sb-bsd-sockets) (use-package :sb-bsd-sockets) ;; 定数 (defconstant CRLF (coerce '(#\Return #\Newlin…

HTTPクライアント作成

簡単なcommon lispのHTTPクライアントをHTTPの勉強を兼ねて作成。ソースコード(*.lisp)は、約170行程度。まだまだ十分な完成度とは云えないが、せっかくなので公開してみる。 これ、tiny-http(0.1.3)。※置き場は暫定 インストールが必要な依存packageは次の…