2008-07-01から1ヶ月間の記事一覧

HTML ファイルの全ノードの XPath を取得する

ひさびさに Ruby を使ってみる。 HTML ファイルを読み込んで、ノードを走査してノードごとの XPath を取得する、ただそれだけのもの。 require 'kconv' require 'rubygems' require 'hpricot' text = '' File.open('wassr_user.html', 'r') do |f| text = f.…

リクエストでサーバの状態を知る

次に実装するリクエストとして stats を考えていて、さっそく試してみた。stats はサーバの情報を取得するリクエストで、バージョン情報や登録されているデータの数などを取得できます。 では、さっそくプロトコル仕様と動作確認。 リクエスト stats\r\n レ…

Memcached クライアント

get, set, add, delete を実装した。機能的にはまだまだなところがあるけれど、それはおいおいってことで。 何かを作りながら、学んでいくのも悪くはない。本を読み上げるという目標だけだと、やる気がわかないんだよね、僕は。 (**************************…

今日の買い物

買った。生天目仁美さんの歌声はやっぱりいいな。乃木坂春香の秘密OPテーマ「とまどいビターチューン」アーティスト: 能登麻美子,羽多野渉,後藤麻衣,佐藤利奈,清水香里,植田佳奈,松来未祐,生天目仁美,高木礼子出版社/メーカー: Geneon =music=発売日: 2008/0…

モジュールで作ってみる

クラスを使ってみる - A More Beautiful day 前にクラスで作ったものを、モジュールを使って、書き直してみた。 クラスとモジュールのどちらが良いというわけではないけれど、クラスの方が好きかも。 module Counter = struct type t = { mutable value : in…

GET リクエストのレスポンス解析

GET リクエストのレスポンス解析処理を作ってみた。文字列解析は String より Str を使った方が楽だった。String 単体では機能が乏しいので、文字列解析をするなら Str が主体になるのかな。 #load "str.cma";; let s = "VALUE foo 0 3\r\nbar\r\nEND\r\n";;…

Memcached クライアント(案)

OCaml で Memcached のクライアントを書いてみようと思っています。 とりあえず形だけ。仕組みは簡単そうなので、もう他の人が作っていたりするかもしれないけれど。通信とクラス化、ちょっとした文字列処理を学べそうだから、やってみる。 (* * not support…

クラスを使ってみる

OCaml でクラスを作ってみた。Ruby の attr_accessor のようなものはないのかな。 class counter = object val mutable value = 0 method get = value method set v = value <- v method increment = value <- (value + 1) method decrement = value <- (val…

文字列から文字に変換

文字列から文字を取得するっていうのが無かったので、作ってみた。 OCaml では、文字列中の文字列を検索をする関数がないようだ。文字を検索する関数は見つけたけれども。作れってことか。 そこんところを補完するライブラリなんてもがあったりなんかして。 …

更新停滞中

手軽に書き込める Wassr に書き込んでばかり。http://wassr.jp/user/gtaka555

HTTP クライアント

受信処理をループにしようと思ったけれど、よくわからなかったので、再帰処理で書いてみた。 調べてみると、for や while が使えるみたい。 let host = "localhost" and port = 8080 in let haddr = Unix.gethostbyname host in let sock = Unix.socket Unix…

OCaml チャンネル

OCaml のチャンネルを作ってみた。http://wassr.jp/channel/ocaml

Module Array その 1

Array モジュールの関数をいくつか使ってみた。残りは次回。 val make : int -> 'a -> 'a array # let a_i = Array.make 3 0;; val a_i : int array = [|0; 0; 0|] # let a_s = Array.make 3 "string";; val a_s : string array = [|"string"; "string"; "st…

アイコン作成

作成してみたけれど、はてなだとわかりづらいな。

ファイルを開く

vim

ChangeLog メモ用のファイルを開くスクリプトを書いてみた。前に書いたけれど、どこかに逝ってしまっていた。 ファイルエンコーディング・ファイルフォーマット(改行)をしていしてファイルを開く。 開いた後に、filetype を changelog に設定する。キーマッ…