nDiki : HTTP
HTTP - Hypertext Transfer Protocol
メモ
キャッシュ関連のヘッダ
| リクエスト | レスポンス | ||
| If-Modified-Since | o | ||
| If-None-Match | o | ||
| Expires | o | ||
| Last-Modified | o | ||
| Etag | o | ||
| Cache-Control | o | o | HTTP/1.1 より。Expires や Pragma より優先される。 |
| Pragma | o | o |
キャッシュさせたくないならば
Pragma: no-cache Cache-Control: no-cache
web
RFC
- RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1
- http://www.studyinghttp.net/...
キャッシュに関するページ
User-Agent リクエストヘッダフィールド
スポンサード リンク
Related term
2006年2月18日 (土)
■ Perl CGI プログラムのテストには WWW::Mechanize::CGI を

CGI プログラムを書いていて、いつも困るのがリグレッションテスト。
パッケージのビルド時に実行するテストスーツ (make check / make test 用テストプログラム群) に含めておきたいが、さすがにその場で Web サーバの下へセットアップするわけにもいかない。 ミニ Web サーバを同梱してテストスーツ内で起動する方法はちょっとおおがかかりだし、ポート番号の選択やらサーバの停止の問題もあって、かなり面倒。
結局、テストスーツの中で環境変数や標準入力など CGI リクエスト環境をセットアップして、CGI プログラムを実行するという王道(?)かつ泥臭いテストを書くことになったりする。
何かいいものはないかと探していたところ、WWW::Mechanize::CGI というものをみつけた。
LWP::UserAgent を継承した WWW::Mechanize モジュールは Web ブラウジングを容易にする有名どころのモジュールである。
WWW::Mechanize::CGI モジュールはさらにこれを拡張したモジュールで、HTTP リクエストを、仮想的に CGI プログラムやサブルーチンへの呼出しにしてくれる。 これを用いるとあたかも Web サーバ上の CGI プログラムにリクエストしレスポンスを受けとっているかのように、テストプログラムを書くことができる。
素晴しい。
さっそく WiKicker のテストを書き換えてみた:
use Test::More tests => 2;
use WiKicker::WikICGI::Controller;
use WWW::Mechanize::CGI;
use File::Temp qw(tempdir);
use File::Spec;
my $www_dir = tempdir(CLEANUP => 1);
my $mech = WWW::Mechanize::CGI->new;
$mech->cgi(sub {
$ENV{PATH_INFO} = '' if $ENV{PATH_INFO} eq '/';
WiKicker::WikiCGI::Controller->new->run});
$mech->env($mech->env,
SCRIPT_FILENAME => File::Spec
->catfile($www_dir . '/wiki'),
SCRIPT_NAME => '/wiki');
my $response = $mech->get('http://localhost/wiki');
ok($response->is_success);
like($response->content,
qr|<title>WikiForum\[WiKicker\]: FrontPage</title>|);
WWW::Mechanize::CGI オブジェクトを new した後、cgi メソッドで CGI サブルーチンを指定するか、cgi_application メソッドで外部 CGI プログラムを指定する。 ここでは直接、CGI サブルーチン (WiKicker::WikiCGI::Controller->new->run を実行)を指定した。
なおここで WWW::Mechanize::CGI が使っている HTTP::Request::AsCGI 0.5 における PATH_INFO の扱いが Apache などとは違って、空でも必ず '/' が入るようになっている。 これだと WiKicker では困るので、サブルーチンのところで修正している。
後は必要ならば WWW::Mechanize::CGI::env で、追加の環境変数設定を行っておく。
セットアップが済めば通常の WWW::Mechanize と同様に get 等でリクエストを行いレスポンスを受けとることができるようになる。
いい。しばらく試してみて不具合がなさそうなら、定番のテストスタイルにしたい。
ちなみに Test::Harness 用の Test::WWW::Mechanize にあわせて、Test::WWW::Mechanize::CGI というものもある。 これらを用いるとさらにテストを書くのが楽になるが、依存するモジュールも多いので無理に使わないほうがいいかもしれない。
- 一般ユーザで Apache 2.0 を起動する最小限の httpd.conf (2006-07-15)
- Test::WWW::Mechanize で Web アプリケーションをテストファースト開発 (2006-09-13)
- 他の Web サイトの情報を URI::Fetch でキャッシュ付き取得 (2005-10-29)
- [ WiKicker ] SpeedyCGI (2003-10-17)
- XAMPP で WiKicker を動かしてみた。PPM インストール OK。 (2007-02-09)
2006年5月22日 (月)
■ WiKicker 0.30 リリース - トップページのページ名を変更できるようにするなどの機能追加

2006年2月13日以来、3カ月ぶりのリリース。
- コメント書き込みでも書き込み禁止パターンが適用されるように改良。
- WikiPage 編集画面で Ctrl+S を押すとプレビューするように改良。
- WiKicker の トップページのページ名を変更できるように改良 (toppage.pagename プロパティ)。
- トピックパス表示で常にトップページを先頭に表示するオプション (topicpath.showtop プロパティ) を追加。
- エラー時の HTTP レスポンスコードを 503 にした。
- テストスクリプトの改善。
セッション管理/認証/承認機能のコードを書きはじめてパッケージには含まれているけれど、まだ完成していないので有効になるようにはなっていない (あ、ちょっと中途半端になっているかも)。
- Intercepting Filter パターンとレスポンスの順次送信 (2006-02-28)
- WiKicker へのセッション管理/認証/承認機能追加開始 (2006-03-02)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- [ WiKicker ] If-Modified-Since: 関連作業ほぼ済 (2003-09-19)
- WiKicker 0.37 リリース - 主に添付関連の機能を改良 (2006-09-05)
2006年6月10日 (土)
■ WiKicker における PageName 最長文字数

WiKicker では PageName を エンコードした文字列を URI に埋め込んだり、サーバで保存する際のファイル名にしたりしている。 このため、PageName の最長文字数はそれらの最長文字数に依存しているはずである。
今まで確認を後回しにしていたのだが、新しい機能の追加の際に確認しておく必要があるので調査してみた。
@ WiKicker の実装
WiKicker の実装がらみとして最長を決める要素としては
- PageName の UTF-8 表現を URI エスケープしてページ URI に含めている。→ URI、HTTP、HTML、Web サーバ、Web ブラウザの実装による最長の制約
- PageName を base64 にエンコードしてファイル名にしている。→ ファイルシステムのファイル名、パス名の最長の制約
がある。
@ 各仕様等による制約
- HTTP では URI の長さには制限なし (RFC2616 3.2.1)
- Web サーバは Request-URI が長いと 414 Request-URI Too Long を返す (RFC2616 10.4.15)。Apache は LimitRequestLine ディレクティブにより、URI を含むリクエスト行のサイズを制限することができる(配布時には 8190)。
- Internet Explorer が扱える URL の長さは 2083文字。
- ext2 はファイル名は 255文字まで(増やすこともできる)。
- 手元の Linux 2.6.15 で試したところ、パス名は 4095文字まで。
@ WiKicker で問題が出ない PageName 最長文字数
上記の中ではファイル名による制約が一番大きい。
WiKicker 内部でファイル名として base64 (の亜種) でエンコードしたものを使っているので、元の文字列はは最長 189バイトまでなければならない。base64 だと3バイトで4文字になるため、189バイトで 252文字となる。
WiKicker ではここでさらにファイル名に ',v'、'-lock' をつける事があるので、実際には元の文字列は最長 186 バイトまでとなる。
PageName が 186 バイトまでだとすると、URL エスケープしたとして558バイト。 WikiEngine のスクリプトの URL や他のパラメータとあわせても、これぐらいなら大丈夫のはずである。
ということで WiKicker では Linux 上だと通常 PageName は 186 バイトが最長と言ってよさそうだ。 日本語の文字はだいたい UTF-8 で3バイトになるので、62 文字までということになる。
そのうち、WiKicker に制約チェックを入れることにしよう。 そのうち。
- Windows 上での Apache 2.0.53 では PATH_INFO が シフト JIS に (2005-04-10)
- WiKicker 実装 (2002-10-20)
- WiKicker 0.35 リリース - 添付機能の修正など (2006-06-20)
- 最後がピリオド(.)で終わるファイル名をつけられない (2005-04-19)
- Evernoteデベロッパーズミーティング (2010-10-01)
2006年6月20日 (火)
■ WiKicker 0.35 リリース - 添付機能の修正など

添付機能を有効にすると、添付ファイルが無いページに対応するディレクトリが無条件に作られてしまう問題を修正。
それから日本語ファイル名のファイルを WikiPage に添付した際、Internet Explorer でそのファイルをダウンロードして保存しようとすると URI エスケープされた文字列がデフォルトの保存ファイル名になってしまいよろしくない。 このため、Content-Disposition ヘッダをつけてレスポンスを返すためのダウンロード用のリンクも追加。
Cotent-Disposition ヘッダでファイル名を指定する際、
- HTTP_USER_AGENT を見て Internet Explorer っぽくて
- Accept-Language の最初に ja があった場合
ファイル名をシフト JIS でエンコードしてしまうようにした。
ファイル名にシフト JIS で表現できない文字があるかもしれないし、Accept-Language に ja があったからといって Windows のロケールが日本語になっているという保証もないので、かなりいい加減なコードである。
なにか良い方法があったら修正したい。
- Windows 上での Apache 2.0.53 では PATH_INFO が シフト JIS に (2005-04-10)
- WiKicker における PageName 最長文字数 (2006-06-10)
- [ WiKicker ] 続L10N改善と、ページ名リスト処理の高速化 (2004-05-29)
- [ WiKicker ] Locale::Maketext による localization (2003-12-28)
- WiKicker 0.34 リリース - 添付機能のコードを追加 (2006-06-11)
2006年11月27日 (月)
■ Iceweasel 2.0 (Firefox 2.0) にほぼ無事移行終了

ホールドしていた Debian GNU/Linux sid ノート PC の Firefox を 1.5 か 2.0 にそろそろ上げることにした。
@ Firefox 拡張機能
心配していた Firefox 拡張機能等の移行は以下の通り:
| Firefox 拡張機能 | 1.5 時代 | 2.0 へ |
| Adsense Notifier | 0.9.2 | OK |
| SwitchProxy Tool | 1.4 | NG -> install.rdf を書き換えてインストール |
| Google Toolbar for Firefox | 2.1.20060807L | OK |
| Tabbrowser Extensions | 2.1.2006031301 | NG |
| Wev Developer | 1.0.2 | OK |
| Greasemonkey | 0.6.6.20061017.0 | OK |
| TinyUrl Creeator | 1.0.1 | NG -> 無視 |
| Fasterfox | 2.0.0 | OK |
| CustomizeGoogle | 0.55 | OK |
| Add Bookmark Here | 0.5.5 | OK |
| Mozex | 1.07.1 | NG -> 1.9.5 |
| All-in-One Gestures | 0.18.0 | OK |
| VideoDownloader | 1.1.1 | OK |
| FoxyProxy | 2.2.1 | OK |
| SearchStatus | 1.18 | OK |
| Japanese Language Pack | (deb)1.5.0.7 | deb はまだ |
| Beagle Indexer | 0.5 | NG -> 0.6 |
| hatenabar | 0.4.0 | OK |
| Diggler | (deb)0.9 | OK |
| Live HTTP Headers | (deb)0.12 | OK |
ほぼ問題なく動いた。
Tabbrowser Extensions については残念だがしょうがない。 かわりに
- Tab Mix Plus 0.3.5
- Undo Closed Tabs Button 2.0.0
をインストール。
TinyUrl Creeator は最近使っていないので問題なし。
SwitchProxy Tool は一応いれたけれど、考えてみれば最近は FoxyProxy の自動切り替えが申し分ないので別に無くてもよかったのであった。
それとステータスバーがごちゃごちゃしてきたので、整理できるように
- Organize Status Bar 0.5
をインストール。
@ テーマ
Modern Pinball 1.5.2 が NG だったので、Modern Pinball v2.0.2 for Firefox v2.0 ( http://mozilla-themes.schellen.net/... ) を入れ直した。
@ 移行してみて
2.0 になったからといってあまり変わった感じはしないか。
Tabbrowser Extensions が使えなくなって、タブまわりの使い勝手が悪くなったのは痛い。個別に拡張機能を入れていくしかないか。
せめてタブを縦並びにできればいいのだが。
- Linux 母艦ノート PC を使わずに仕事ができるかチャレンジ (2007-08-20)
- Debian に RSS リーダ「フレッシュリーダー」をインストール (2006-03-06)
- Firefox 拡張機能の整理 (2005-02-05)
- skkinput がよく落ちるので uim-skk に乗り換え (2005-09-22)
- CUPS で Debian から EPSON カラーレーザプリンタへ印刷 (SMB経由) (2006-01-04)
2007年12月29日 (土)
■ Twitter ベイジアンフィルタプロキシ

Twitter で following が増えてくるにつれて、タイムラインに目を通すのが大変になってきた(という程きちんと見ている訳ではないが)。 さっとタイムラインをなめて面白そうな情報をピックアップしたい時は、「おはよう」とか「風呂入った」とか「トイレ」とかは除外して読みたい(そういう書き込み自体は嫌いじゃないのだが、人生はあまりにも短い)。
Twit や P3:PeraPeraPrv では NG ワード指定ができて、それらを含むステータスは表示しないようにできるのだが、Twitter の書き込みは揺らぎが激しすぎて指定しきれないという弱点がる。
ということでベイジアンフィルタでフィルタリングしてみることにした。
自前で Twitter クライアントを作る気はないので、proxy の形でさっと実装してみた。
#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Proxy;
use HTTP::Proxy::BodyFilter::complete;
my $proxy = HTTP::Proxy->new(port => 8088);
$proxy->push_filter(response => HTTP::Proxy::BodyFilter::complete->new,
mime => 'application/xml');
$proxy->push_filter(response => Bsfilter->new,
mime => 'application/xml');
$proxy->start;
{
package Bsfilter;
use File::Temp qw/tempfile/;
use XML::XPath;
use base qw(HTTP::Proxy::BodyFilter);
sub filter {
my ($self, $dataref, $message, $protocol, $buffer) = @_;
return unless defined($$dataref) && $$dataref ne '';
eval {
my $xml = XML::XPath->new(xml => $$dataref);
my @nodes = $xml->findnodes('/statuses/status/text/text()');
return unless @nodes;
for my $node (@nodes) {
my $text = $node->getNodeValue;
if (is_NG($text)) {
$node->setNodeValue("[NG] $text");
}
}
$$dataref = qq(<?xml version="1.0" encoding="UTF-8"?>\n);
$$dataref .= $xml->get_context->toString;
utf8::encode($$dataref);
};
if ($@) {
warn $@;
}
}
sub will_modify { 1 }
sub is_NG {
my ($text) = @_;
my ($fh, $filename) = tempfile();
utf8::encode($text);
print $fh $text;
close($fh);
my $result
= system(
"bsfilter --homedir ~/.twitter-bsfilter --ignore-header --auto-update $filename"
);
unlink($filename);
return !$result;
}
}
@ HTTP proxy の作成
Perl で HTTP proxy を作ろうとして真っ先に思い浮かんだのは POE だけれど、ちょっとヘビーなので今回は HTTP::Proxy をチョイス。 もともとフィルタリング HTTP proxy を作ることを念頭に置いた Perl モジュールなので今回の目的にぴったり。
1つはまった点といえば、filter の呼び出しがレスポンス全てを取得してからではなく一部分ずつの呼び出しになるところ。その仕様に気がつくのにちょっと時間がかかってしまった。 例えば XML 形式のレスポンスをフィルタしようとしても、普通に HTTP::Proxy を使うと XML の一部ずつがフィルタに渡されるため、XML のパースがうまくいかない。
これについては HTTP::Proxy::BodyFilter::complete を使うことで、まとめてフィルタに渡せるようになった。
@ レスポンスの処理
Twitter のタイムライン取得については P3:PeraPeraPrv が XML 形式で取得しているので、そのタイプのレスポンスをフィルタするようにした。
XML::XPath でステータス部分を抜き出して NG 判定し、NG であれば先頭に [NG] を追加する。 これで Twitter クライアント側で [NG] を NG ワード指定すれば、表示されないようにすることができる。
@ bsfilter による NG 判定
NG 判定は普段メールの spam フィルタとして使っている bsfilter を使った。 単純に system 関数で呼び出して結果を取得するだけ。
今回は対象がメールではないので --ignore-header を指定。また自動的に学習するように --auto-update を指定。 それと普段メールのフィルタリングに使っているのとは bsfilter のデータベースを別にしたいので、--homedir も指定しておく。
@ NG と非 NG の学習。
NG ワードを twitter-NG.txt に、非 NG ワードを twitter-clean.txt に書いて以下のコマンドを実行。
bsfilter --add-clean --ignore-header --homedir ~/.twitter-bsfilter twitter-clean.txt bsfilter --add-spam --ignore-header --homedir ~/.twitter-bsfilter twitter-NG.txt bsfilter --update --homedir ~/.twitter-bsfilter
自分の環境 (Debian GNU/Linux sid)では、UTF-8 で書いておいて問題なかった。
@ フィルタリングしてみる
あとは先の proxy を起動し、P3:PeraPeraPrv でプロキシとして localhost:8088 を指定すれば OK。
タイムラインを取得するたびに bsfilter が動いて NG なステータスには [NG] が挿入される。
@ フィルタリングの精度
これについては、まだまだチューンの必要ありかな。
- 事前の学習データが少ない。
- --auto-update していることもあり、最初に NG 判定が多いとそちら側に強化されすぎる。
- 毎回 bsfilter を呼んでいるため、同じステータスが何度も学習される。
まだ使える精度まで上がってないけれど、教師データを増やせばそれなりにいけるかもしれない。
proxy の枠組ができたので、(@~は抜いてから bsfilter に渡すとか、前後の文脈も含めるとか)いろいろ試して遊べそうではある。 別に bsfilter にこだわらず、正規表現による判定などをしてもよいし。
- Plagger で Twitter のあれこれをメールで通知 (2008-12-25)
- Debian をアップデートしたら Java プログラムが通信できなくなった (2010-02-06)
- 今日のさえずり - 5:30 起床でもまだ時間が足りない (2009-09-12)
- 今日のさえずり: 号外キタコレ (2010-06-02)
- Debian GNU/Linux sid 環境を新 HDD へ (2006-07-29)
2009年2月26日 (木)
■ 今日のさえずり - GDrive ずっと待っています

@ 2009年02月26日
- 09:41 3分時間調整2回で早めに家を出たの台無し。 [mb]
- 09:54 ヴィド、この時間フルーツっぽいパンがない。 [mb]
- 11:57 Nikon F6 ずいぶん値上りするなあ。生産終了しないだけいいのだが。 *P3
- 11:58 DC-Nikkor も以前から1本欲しいと思っているんだけれど値上げ前には買えない。 *P3
- 12:20 Safari 4 Public Beta for Windows インストールしてみた。Google Chrome と区別がつかない。 *P3
- 12:26 Safari 4、フォントのアンチエイリス設定するとちょっと印象が変わるかな。 *P3
- 12:58 Safari 4 の Top Sites の円筒配置をモニタで逆補正をかけてまっすぐにしてみようという話になったが、液晶モニタには膨らませる補正がなかった。 *P3
- 15:03 Dropbox ここから登録すると 250MB プラス。http://tinyurl.com/cneoyz *P3
- 16:35 Safari 4 アンインストール。 *P3
- 18:16 @yamakiyo Dropbox、2GB では多分足りなくなるけど 5GB あれば結構十分なんだけどねえ。50GB はいらない(そんなにローカルディスクに余裕ないし)。 *P3
- 19:28 @yamakiyo は自宅サーバたててる? [mb]
- 20:57 2GB 無料のオンラインストレージサービス Dropbox ここから登録すると 250MB プラス。http://tinyurl.com/cneoyz *P3
- 21:37 @yamakiyo おお、自宅サーバ持ちですか。音とかは気にならないですか? *P3
- 22:01 ZumoDrive Linux サポート予定があるのか。気になる。 *P3
- 23:58 携帯百景登録しようと思ったら、ちょうど今つながらないみたい。 *P3
- 24:34 @yamakiyo ZumoDrive のトップページに「Linux support is coming, stay tuned!」って書いてある (HTTP の UA 見てトップページの内容が変わる)。 *P3
- 24:35 携帯百景登録した。写ツも設定。 *P3
- 24:44 @yamakiyo Twitter 見ていても ZumoDrive 不安定というコメントが多いですね。 *P3
- 24:45 @yamakiyo ZumoDrive は公開 URL を無効にできるということで、大き目のファイルの一時共有にいいかなと思っています。 *P3
- 24:46 ZumoDrive の Windows 版はとりあえずダウンロードした。手元に Windows BOX ないけど。 *P3
- 24:57 @yamakiyo オンラインストレージとしては GDrive ずっと待っています。いつになるのかなあ。 *P3
- 25:07 さて寝る。 *P3
- 今日のさえずり - ガッツフィーリング (2009-02-28)
- Evernote 使用開始 (2009-03-03)
- ZumoDrive の Linux 版クライアントまだかな (2009-02-26)
- 今日のさえずり - 乗客もっと絶望の表情になるべきだろ (2009-02-20)
- Twitter を使い始めて2年 (2009-04-06)
2009年12月23日 (水)
■ www.naney.org をさくらのレンタルサーバへ移転

naney.org メールサーバの移転に次いで、Web サーバの移転作業。
@ 静的コンテンツのアップロード
現行 Web サーバと Unison でファイル同期している Web コンテンツを、さくらのレンタルサーバへ Unison でファイル同期。
@ WiKicker のインストール
nDiki 用に DiKicker (WiKicker) を make install。
%bash $perl -MCPAN -e mkmyconfig $perl -MCPAN -e shell o conf makepl_arg PREFIX=/home/naney/local/WiKicker o conf mbuildpl_arg --install_base=/home/naney/local/WiKicker o conf commit notest install CGI::SpeedyCGI $tar zxvf WiKicker-0.420.tar.gz $cd WiKicker-0.420 $export PERL5LIB=$HOME/local/WiKicker/lib/perl5/site_perl/5.8.9 $perl Makefile.PL PREFIX=$HOME/local/WiKicker $make $make install
以前きっちり Module::Install で Makefile.PL を作っておいたおかげで、比較的スムーズにインストールできた(自画自賛)。
ちょっとはまったところは CGI::SpeedyCGI の make test を実行する(される)と SSH 接続がサーバ側から切られてしまうという現象にあったところ。 テスト用に大量にスクリプトが起動されるの検出して自動的に kick されたのだろうか。
@ .htaccess の修正
さくらのレンタルサーバでは .htaccess Options が使えないようなので削除。 ExecCGI や MultiViews が有効になっているようなので問題なし。
@ いつくかのスクリプトの修正
Perl 5.005_03 用に書いてあったスクリプトについて、Perl v5.8.9 で文字化けしないように utf8 まわりを修正。
@ cron 設定
1時間毎に実行したい処理を列挙するシェルスクリプトを1つ作って、コントロールパネルから1時間毎に実行するように設定。
現行サーバでは任意の crontab を設定できたので、1時間毎はちょっと物足りない。 おいおい負荷にならない範囲で、外部から定期的に HTTP アクセスして処理を定期的に実行できるようにもするかな。
@ DNS 設定変更
まだ動いていないスクリプトもあるけれど(大きいところだと NaneyOrgWiki (Wiki))現行サーバの解約日もせまっているので、サーバ移転させてしまうことに。
VALUE-DOMAIN で DNS サーバ設定を変更し www.naney.org でさくらのレンタルサーバにアクセスできるように A レコードを変更。
今のところ特に重い等もなく順調。 現行サーバでは深夜非常に重くなる時間帯があったのだが、それが無くなるのが嬉しい。 また容量が100MB*1から10GB*2になったので心理的にセーブしなくて良くなった。
年内に移行できて良かった良かった。
[ さくらのレンタルサーバ プレミアム ]
- さくらのレンタルサーバ プレミアム申し込んだ (2009-10-23)
- 今日のさえずり - チョコレート臭のするリップクリーム塗られた (2009-12-23)
- Debian GNU/Linux に Hyper Estraier 1.2.7 を野良インストールする (2006-05-31)
- WiKicker 0.29 リリース - ビルドまわりの改良など (2006-02-13)
- Tor で hidden service (2005-02-13)
2010年3月12日 (金)
■ 今日のさえずり - 英辞郎で英辞郎を検索

@ 2010年03月11日
- 08:38 ウルトラマンライブ2010「ウルトラ8兄弟の奇跡」のウルトラマンの顔ぶれが、自分の中の7兄弟と違いすぎて愕然。
- 08:49 コンコースでホワイトデー用の何か売ってる。 (@ 秋葉原駅 w/ 2 others)
- 12:11 ねぎ塩豚カルビ弁当(昼食) 398円。 (@ ファミリーマート神田佐久間町店) http://4sq.com/biJuCj
- 20:11 特のりタル弁当(夕食) 390円。 (@ ほっともっと東神田二丁目店) http://4sq.com/arhPYT
- 22:34 4月19日から京浜東北線・根岸線に女性専用車導入か。3号車(大船側から3両目)。いつも乗っている車両ではないな。大井町駅だと大宮方面行き 7:27 発から 9:26 発まで。
@ 2010年03月12日
- 09:38 オトクーポン退会(iモード関連整理の一環として)。
- 09:41 @Meg_mama こんにちは。Xperia 予約して楽しみに待っています。価格未定ですが、各種ポイント充当で財布の負担を軽くしたいと思っています。
- 09:45 前に座っている人のバッグに方眼ノートが入ってた。友達になれそうな気がした。
- 09:48 お友達にナレソウ。 RT @hiro: @Naney 方眼ノートならいつもポケットに入っています
- 09:55 秋葉原に iPad よりデカイやつ。 http://movapic.com/...
- 10:14 英辞郎で英辞郎を検索。「英辞郎 に該当する項目は見つかりませんでした。」
- 11:07 RHODIA No11 のストックが無い。補充しなくては。
- 12:19 めぼしいもの無かった。 (@ Starbucks Coffee)
- 12:23 めぼしいもの無かった。 (@ 無印良品 アキバ・トリム)
- 12:47 おにぎりセットL(昼食) 375円。 (@ サンクス秋葉原駅前店)
- 17:56 XZ 平面上の回転行列のための sin の計算が間違えていて泣けた(自分が書いたやつ)。
- 17:58 右手座標系な3次元座標系の XZ 平面て混乱する。
- 19:25 30時間超過の承認がおりた。
- 19:39 大盛たらこスパゲティ(夕食) 398円。 (@ セブン-イレブン神田佐久間町店) http://4sq.com/cEfW1k
- 20:27 納期直前だけど、ボスもそのボスもサクっと出ていった。
- 20:55 CGI プログラムのことを CGI と言っちゃう奴出てこい。
- 21:18 マジデスカ。 RT @yaizawa: ガラッ) RT @Naney: CGI プログラムのことを CGI と言っちゃう奴出てこい。
- 21:18 一休みに万年筆にインクを補充して、また Visual Studio タスク一覧上の TODO つぶし。
- 21:25 インタフェース自体の事を指したいこともあるので CGI と CGI プログラム/スクリプトはきちんと区別している。野暮だけど。
- 21:34 ブラインドがカタカタなって「誰かそこに居るの!」と一人オフィスで何度もなるので、掃除のために開けた窓おわったら閉めて帰って欲しい。っていうか寒いし。
- 21:46 「ありがとう!30周年今夜かぎりの春のドラえもん祭」観たいと思ったが、掃除当番の日ではないか。
- 21:55 @madaaamj Web サーバが外部プログラム(CGI プログラム) を CGI というインタフェース(きまり)に従って実行してそのレスポンスを HTTP などのレスポンスとして返すという流れです。
- 23:09 I'm at 秋葉原駅 (秋葉原駅, 千代田区) w/ 2 others. http://4sq.com/68fhHr
- 24:23 @yamakiyo 自分のところにも何通かそういう文字化け通知メールがきてます。ここ数日の foursquare システム更新で何か変わったのかな。
- 24:42 Pontaカード届いた。
- 今日のさえずり: 「We はーと blog」シールをさっそく貼っといた (2010-10-15)
- Evernote 使用開始 (2009-03-03)
- 今日のさえずり: ☢ (2011-03-15)
- 今日のさえずり: Debian の旧ミジンコロゴどこだ (2011-08-25)
- 今日のさえずり: 北海道や東北ではデズニーランドなんだ (2010-05-14)
2010年10月18日 (月)
■ 今日のさえずり: 「東工大は半袖ばかり」は言い過ぎでした

@ 2010年10月18日
- 10:22 Google Apps のスタート ページを有効にした。
- 10:53 缶コーヒー 100円。
- 11:14 App::perlbrew と HTTP::Lite と File::Path::Tiny を cpan2deb で Debian パッケージにしてインストール。#Debian #Perl
- 11:19 PERLBREW_ROOT=$HOME/local/perlbrew perlbrew init
- 11:21 PERLBREW_ROOT=$HOME/local/perlbrew perlbrew install
- 11:21 涙。「You may trash the downloaded /usr/bin/perlbrew from now on.」 #Perl #Debian
- 11:22 dpkg --purge libapp-perlbrew-perl libhttp-lite-perl libfile-path-tiny-perl
- 11:37 並行して試しに Strawberry Perl 5.12.1.0 で perlbrew してみたけれど、さすがにこちらは perlbrew install perl-5.12.2 ですぐコケた。
- 11:45 Debian GNU/Linux sid の方で動かしていた perlbrew install perl-5.12.2 終わってた。たしかにこれは tarball からインストールするよりお手軽。
- 12:06 サンドイッチとメロンパン 375円。 (@ ファミリーマート 神田佐久間町店) http://4sq.com/biJuCj
- 12:08 「PowerPoint 使えますか?」「字ぐらいなら書けます。」
- 13:24 Strawberry Perl で cpanm Starlet 失敗。<- Prallel::Prefork 0.08 のインストールがこける。<- Proc::Wait3 0.03 の XS コンパイルがこける。
- 13:43 Twiggy は Strawberry Perl に入った。
- 15:44 Data::MessagePack 0.33 の make test が Strawberry Perl 5.12.1.0 で通らなかった。int64_t と uint64_t の unpack が駄目。
- 15:55 @tokuhirom Strawberry Perl 5.12.1.0 でやってみて NG だったらレポートします。
- 16:39 @tokuhirom Strawberry Perl + DataMessagePack 0.33 の make test が通らないレポートです。GitHub アカウント今無いので Evernote に置きました。 http://bit.ly/9wgSrh
- 16:39 GitHub アカウントもそろそろ作らねば。
- 19:08 やったけどハズレた。 RT @as_tone: 今、UPSを福引でプレゼントらしい…これは… http://www.apc.co.jp/ups_present/
- 19:37 .@tokuhirom @kazuho Data::MessagePack ありがとうございます。これで Windows でも Xslate 試せそうです。
- 19:39 @tokuhirom あ、そういえば YAPC::Asia Tokyo 2010 では Modern Perl5 Development Environment に1票入れさせていただきました。
- 20:00 「東工大は半袖ばかり」は言い過ぎでした(それなりにいたけど)。
- 20:10 ちょっと風邪ひきやすいのは薄着のせい? 体温上げればいいの?
- 23:22 MediaTomb の Debian パッケージだけまずインストールしておいた。
- 今日のさえずり - ピカチュウと写真撮ってもらえる列に並んでる (2009-11-24)
- 今日のさえずり: ロック方式のバージョン管理機能やっぱりお肌にあわない (2010-10-20)
- 今日のさえずり - お茶にたくあんを入れるのが好き (2009-11-21)
- 今日のさえずり: あの牛乳の量ヤバい。腹にヤバい。 (2010-10-16)
- 今日のさえずり: お年玉付き年賀はがきの当選番号チェックしました。全滅でした! (2011-01-29)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザインProcess Time: 0.172651s / load averages: 4.59, 3.04, 2.04
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。
◇ 2GB 無料のオンラインストレージサービス Dropbox に次のリンク先から登録すると今なら 250MB プラス! → Dropbox