nDiki : Web サーバ

2006年12月12日 (火)

PAR::Repositoryビルド済み Perl モジュールをネットワーク配信

実行可能ファイル作成としての PAR

PAR といえば Perl スクリプトを実行可能ファイル(Windows なら EXE 形式ファイル)に変換するモジュールとして有名である。

ちなみに実行可能ファイルを作成する部分はは PAR 0.97 より PAR-Packer パッケージに分けられ、PAR 自体はインストールしやすい pure Perl なパッケージになっている。

PAR モジュールアーカイブからのローダとしての PAR

PAR が提供するもう一つの(こちらが本来はメイン?)機能は、プログラムの実行時に必要な Perl モジュールPAR ファイルと呼ばれる Perl モジュールアーカイブファイルからロードする機能である。 XS モジュールなどもコンパイルすることができるどこかの環境で1度ビルドして PAR ファイルにしておけば、同じアーキテクチャのホスト上でそのまま利用することができる。

PAR リポジトリ

ロードしたい PAR ファイルはファイルパスだけではなく URL でも指定することができ、必要な時にオンデマンドでフェッチさせることができる。 これを使えば Perl プログラムの集中管理可能だ。

PAR 0.951 からは PAR リポジトリというコンセプトが追加され、パッケージ毎に作った PAR ファイルをサーバ上(あるいはローカル)のリポジトリに蓄積してオンデマンドでロードできるようになった。

個別に PAR ファイルを指定する従来の方式に比べてかなり便利そうである。 ということで試用してみた。

まずは

あたりをインストールし準備 OK。

1. PAR リポジトリを作成する

最初に PAR-Repository に含まれている parrepo で。

 parrepo create -r /tmp/PAR

PAR リポジトリファイルの中にはデータベースファイルが作成されるが、これは DBM::Deep というアーキテクチャ非依存のものを使っているので、Linux でも Windows でもどちらからでもアクセス可能である (つまり Linux 上でリポジトリをメンテできるということだ)。

2. Perl パッケージを PAR ファイル化する

次に必要な PAR ファイルを作成する。 作成したいパッケージを展開してビルドし、blib ができている状態で PAR::Dist を使ってパッケージ化する。

 perl Makefile.PL
 make
 make test
 perl -MPAR::Dist -e blib_to_par

例えば ActivePerl*1 上で WWW-Mechanize-1.20 を PAR ファイル化すると

 WWW-Mechanize-1.20-MSWin32-x86-multi-thread-5.8.8.par

というファイルが作成される。

普段から ActivePerl で必要なライブラリは基本的に自前で PPM パッケージ化して、動作確認した上で PPM リポジトリに蓄積するようにしているので、合わせて次の手順でパッケージを作ることになる。

 perl Makefile.PL
 nmake
 nmake test
 perl -MPAR::Dist -e blib_to_par
 make_ppm

*1ここでは Windows 上の

3. PAR リポジトリPAR ファイルを登録する

PAR ファイルができたら parrepo でリポジトリに登録する。

 parrepo inject -r /tmp/PAR -f xxx.par

4. PAR リポジトリ上のライブラリを使用してみる

例えば先ほどの WWW::Mechanize がリポジトリに登録されている状態で

 #!/usr/bin/perl
 use PAR { repository => 'file:///tmp/PAR/' };
 use WWW::Mechanize;
 my $mech = WWW::Mechanize->new;
 $mech->get('http://www.example.com');
 print $mech->content;

というスクリプトを書いて実行すると、PAR リポジトリから WWW::Mechanize がロードされて正しく実行される。

ここでリポジトリを Web サーバアップロードして、repository のところに URL を指定するようにすることもできる。 例えばリポジトリを http://www.example.com/PAR/ に配置したとすると

 #!/usr/bin/perl
 use PAR { repository => 'http://www.example.com/PAR/' };
 use WWW::Mechanize;
 my $mech = WWW::Mechanize->new;
 $mech->get('http://www.example.com');
 print $mech->content;

と書き換えることで、インストールしていない WWW::Mechanize を使用できるようになる。

Perl プログラムを実行形式化する

先ほどの Perl スクリプトを get_top_page.pl という名前で保存して pp で実行可能ファイル化する。

 pp -o get_top_page.exe -M PAR::Repository::Client get_top_page.pl

とすれば get_top_page.exe という実行可能ファイルが作成される。 WWW::Mechanize はオンデマンドで http://www.example.com/PAR/ からフェッチされるので、アップデートが必要な場合は新しい PAR ファイルを作成してリポジトリを更新するだけでよい。 EXE ファイルを作成しなおして利用者に配付しなすといった作業も不要だ。

スクリプトもリポジトリにおく

さらには実行するスクリプトをも PAR リポジトリに置いておくことが可能だ。

例えば WWW-Mechanize に含まれている mech-dump をオンデマンドにフェッチして実行する実行形式ファイルは以下のコマンドで作成できる。

 pp -o mech-dump.exe -M PAR::Repository::Client \
   -e "use PAR { repository => 'http://www.example.com/PAR/', \
                 run => 'mech-dump' }"

まとめ

ActivePerl では PPM があるとはいえ、普通のユーザにちょっとしたプログラムを使ってもらうのに「ActivePerlインストールして、PPM パッケージインストールして、……」というのは手間すぎる。

pp で プログラムに必要なものを全てバンドルした実行形式化ファイルにするという方法ももちろんあるのだが、頻繁にアップデートするようなスクリプトの場合には、起動のための部分だけ pp で作成しておいてあとは PAR リポジトリで集中管理するというのもちょっと魅力的である。

スポンサード リンク
[ 12月12日全て ]

2006年12月28日 (木)

1インチポータブル HDD HDMC-U12 インプレッション

naney:336725542

昨日購入した122cmからの落下に対する耐衝撃性と水深1mの防水性がある1インチポータブル HDD HDMC-U12 を開封し使用開始。

形状

さすがに1インチドライブ (CORNICE 製)ということで、普通のポータブル HDD よりかなり小さい。これで防水・耐衝撃性が実現されているので携帯には非常に良さそうである。

ドライブの外装は金属製でなかなかの質感。

外周には外部プロテクターを兼ねている、直付けのUSB ケーブルがある。 ポータブル HDD の多くはケース側の USB コネクタが mini-B だったりして個人的には不安を感じるのに対し、こちらは直付けなのでそこが駄目になってしまうということがない。

しかしながら、外部プロテクターを兼ねるために平型のラバー状になっているのが仇となり、取り回しが非常によろしくない。 7cm しかないケーブルは90度ねじるのが難しく、また軽いため簡単に浮いてしまうことから、USB ポートが水平についている多くのノート PC ではそのままでは安定した状態に固定しておくことができない。

さすがにアクセス時には衝撃には弱いだろうから、これはちょっと不便。 短い USB 延長ケーブルか、USB ハブが必要であろう。 そうするとせっかくの携帯性が損われてしまいちょっと嫌な感じである。

ドライブ

Windows BOX に接続すると、HDD と、CD ドライブ (仮想 CD 領域)が認識される。

エクスプローラで容量を見ると、

  • HDD (FAT32) - 10.9GB (11,734,179,840 バイト)
  • 仮想 CD 領域 (HDMC_U_100) - 48.1MB (50,462,720バイト)

となっている。

仮想 CD 領域にはサポートソフトウェア等が納められており、マニュアルによれば 約 250MB の容量を使用しているらしい。

どうせ使わないからと思ってこの領域を開放しようと思ったのだが、これがやり方がわからない……。 PC 側からはそれぞれ独立したドライブに見えてしまう。 Linux 上で HDD のデバイスを cfdisk してみたが、別に CD 用のパーティションがあるわけでもない。

古い Acrobat Reader が入っているような領域に 250MB も使われた上、接続するたびに2つのドライブが接続されるというのはどうも邪魔くさい。

なんとか消すことできないかな。

ポータブル環境を移行

と、期待していただけに粗探しをしてしまったが、大きさと容量のバランスはポータブル環境のコンテナとしては丁度良さそうである。

さっそく TrueCrypt で 4GB の仮想ドライブボリュームを作成 (FAT32 なので 4GB まで。4GB を指定すると微妙にオーバーしてしまうので、4094MB を指定して作成)。 で 512MBUSB メモリに詰め込みはじめていたポータブルアプリケーションをこちらにコピー。

残りの容量には必要に応じて仮想ドライブボリュームを作って、XAMPP でポータブルデモンストレーション Web サーバを構築する予定。


[ 製品レポート ]

[ 12月28日全て ]

2007年2月5日 (月)

ActivePerl 5.8.8.820PPM では ppd/tar.gz を置いただけの PPM リポジトリを使えなくなった

ActivePerl 5.8.8.819 までは .ppd と .tar.gz ファイルを置いたディレクトリを Web サーバで公開しておけば、そのディレクトリの URLPPM リポジトリとして指定して使うことができた。

これが build 820 付属の PPM だとスキャンしてくれなくなった。 リポジトリの URL を指定する際、package.xml を指定しないと駄目らしい。

PPM リポジトリとして必要なファイル群を生成する

PPM リポジトリとして必要なファイル群は PPM-Make に含まれている rep_summary コマンドで生成することができる。

 rep_summary --rep /path/to/ppm/repository

今後はこれで package.xml その他のファイルを生成しておくことにする。

複数の PPM リポジトリ

一方複数の PPM リポジトリの扱いは良くなった。build 819 付属の PPM では、複数のリポジトリにまたがってパッケージの依存解決ができなくなっていて不便だったのだが、build 820 のものでは、以前のバージョンのもののようにまたがれるようになった。

基本的な PPM パッケージ群用と、プロジェクト毎の PPM パッケージ群用の PPM リポジトリを組み合わせて使うときに、依存解決できないと厄介だったのでこれは○。

PATH

build 819 のインストーラでは site\bin に PATH を通してくれないので、site にインストールしたパッケージ付属のコマンドが呼び出せず不便であった(もちろん自分で PATH を通せばよいのだが)。

build 820 のインストーラでは site\bin も PATH にいれてくれるようになった。○。


[ ActivePerl ]

[ 2月5日全て ]

2007年2月9日 (金)

XAMPPWiKicker を動かしてみた。PPM インストール OK。

Perl で書いた Web アプリケーションのポータブルな Win32 デモ環境として XAMPP を使ってみるとどんな感じになるか試してみた。

使ったバージョンは以下。

(http://www.apachefriends.org/jp/xampp-windows.html)

C: ドライブで試す

それぞれ 自己解凍型 7-ZIP アーカイブをとってくる。 最初に XAMPP を展開し、次にその xampp ディレクトリの中で Perl アドオンを展開。 xampp ディレクトリを c: の直下に移動する。

次にコマンドプロンプトを開き c:\xampp\perl\bin へ移動後 ppm コマンドを起動して作成済みの PPM パッケージインストールする。 インストール先は \xampp\perl 以下とドライブ無しのパスで指定されているようで、問題なく必要な Perl ライブラリをインストールできた。

次に \xampp\xampp-control.exe を実行して GUI 管理ツールを立ち上げ、その画面から Apache を起動。 普通の Win32Apacheインストールしてある PC だったため、xampp-control から Apache を起動したらそちらが立ち上がってしまったが、これは Svc にチェックが入っていたからだった。Svc を外せば \xampp 以下の Apache がきちんと起動する。

あとは \xampp\htdocs 以下で WiKicker CGI プログラムの配置や設定ファイルを作成すれば OK。 もともと WiKicker は相対パスだけで動くようになっている*1ので、問題なく実行することができた。

*1多分

他のドライブに移す

一度セットアップできた \xampp ディレクトリを TrueCrypt 仮想ドライブにコピーして起動してみた。

こちらも問題なく OK。

ということで XAMPP でお手軽に Perl CGI プログラムの動く Web サーバ環境を作れることを確認できた。

問題があるとすれば XAMPP + Perl アドオンが馬鹿でかいところか。400MB オーバー。 今回何が一番時間がかかったかって、XAMPP + Perl アドオンを展開した直後の xampp ディレクトリを、後でまた使えるように 7-ZIP の最高圧縮する処理に時間がかかった。 使っている PC では 50分以上かかったよ。

[ 2月9日全て ]

2007年12月23日 (日)

aufs を使って Web サイトのドラフト作成する

この nDiki はローカル PC 上で Emacs で記事ファイルを書き、出来上がったら UnisonWeb サーバと同期させる形でアップロード・公開している。

この方法で一つ問題なのは「書きかけの記事ファイル」の扱いが面倒なこと。 書きかけの記事ファイルがある状態で Web サーバと同期するとそれが公開されてしまうのでまずい。しかし完成している記事ファイルがあるならばそちらは同期して順次公開したい。 同期する時には書きかけの記事ファイルを退避させればいいのだが、思いっきり面倒。

ということで手元で公開用 (Web サーバ と同期用)のディレクトリツリーと、ドラフト用(ローカルの Web サーバでのレビュー用)のディレクトリツリーを分けられるようにすることにした。 この2つのディレクトリツリーの差分となる草稿・更新ファイルは aufs を使うことで簡単に管理することができる。

aufs

aufs は stackable unification filesystem の一つ。 同様なものとしては UnionFS がある。 UnionFS よりも aufs の方が評判が良いようなので今回は aufs を使うことにした。

aufs では複数のディレクトリ(ブランチと呼ぶ)をオーバーレイさせて、1つのディレクトリとして扱うことができる。 公開用ディレクトリツリーに、ドラフト用ディレクトリツリーをオーバーレイさせることで、元のディレクトリには変更を加えることなく透過的に変更できる仮想的なディレクトリツリーを作ることができる。

aufsインストール

Debian GNU/Linux sid へはkernel 再構築とあわせて module-assistant でインストールした。

マウント

以下のように3つのディレクトリを作ってマウントする。

/home/naney/www.naney.org
公開用ディレクトリツリー。本番モノ。公開サーバと同期する。
/home/naney/draft.naney.org
草稿や修正されたファイルが書き込まれるディレクトリツリー。
/home/naney/next.naney.org
公開用ディレクトリツリーに、草稿や修正されたファイルが仮想的にオーバーレイされたディレクトリツリー。プレビュー用。
 mount -v -t aufs -o br:/home/naney/draft.naney.org=rw:/home/naney/www.naney.org=ro none /home/naney/next.naney.org

公開ディレクトリツリーは read only に、草稿用のディレクトリツリーは read - write になるように指定する。

これで /home/naney/www.naney.org 以下はいじらないまま、/home/naney/next.naney.org 上で草稿を書いたりファイルを編集したりすることができる。 /home/naney/next.naney.org 以下で追加したファイルや、変更したファイルは aufs が /home/naney/draft.naney.org 上に保存してくれる。

完成したものを /home/naney/draft.naney.org から /home/naney/www.naney.org に順次反映させ(移動し)、公開サーバへ同期することで公開していくことができる。

手元ではいろいろ書き散らせておけるのは、これは便利。

マウントオプションは他にいろいろあるようなので、こまかい設定は見直すかも。

その他

ファイルシステムレベルの処理なので、アプリケーション側では何も手を加えなくてもよいのが良い。

今回は公開用とドラフト用としたが、公開用と未公開用をローカルでミックスして表示するようにしたり、複数ユーザのコンテンツディレクトリを仮想的に1つにまとめたりと、いろいろ面白い使い方ができそうだ。

[ 12月23日全て ]

2008年8月30日 (土)

XAMPP デカすぎなので Uniform Server をチョイス

デモ用 Web サイトのとりまとめ。 必要な時に ZIP ファイルを Windows 上で展開してすぐ使えるようにしておきたい。 インストール不要Web サーバも一緒に入れておきたい。

ということでポータルな Apache を物色。WAMP である必要はなし。 MicroApache が小さくて良さそげなのだが公式サイトがつながらない。

XAMPPXAMPP Lite でもデカすぎ。

ということで今回は Uniform Server 3.5 をセットにすることにした。 ZIP した状態で 14MB ぐらい。

展開して Server_Start.bat を実行すれば Apache が起動する。 デフォルトで W ドライブを仮想ドライブとして subst して動く。 違うドライブに割り当てて起動したい場合は Disk Start.vbs を使う。ダイアログが表示されるのでそこでドライブレターを指定すれば OK。

止める時は Stop.bat。

あとは udrive/www 以下に Web コンテンツを置けば良い。 udrive/www/.htaccess で 127.0.0.1 からしかアクセスできないようになっているので必要があれば変更する。

まとまったら ZIP ファイルにしてどこかに置いておけば、他の PC でも展開するだけでデモ用 Web サイトを準備できる。

Stop.bat の実行を忘れやすいので注意。

[ 8月30日全て ]

2009年1月26日 (月)

今日のさえずり: やっぱり転職すると mixi ユーザ作り直すもんなの?

2009年01月26日

  • 08:08 ホスティングサービスの Web サーバ復旧を確認。メールサーバはまだ。「メールサーバのストレージシステムにハードウェア障害」か。何しでかしたんだ? *P3
  • 08:09 本日中の復旧を目指すって悠長だなあ。 *P3
  • 08:48 アレグラ服用開始。 [mb]
  • 11:49 千葉方面に移動中。千葉駅での乗換時間1分が向かいのホームであることを願う。 [mb]
  • 12:14 乗り換え成功。L:千葉駅 [mb]
  • 17:04 ギリギリ快速に間に合ったので帰社する。L:八幡宿 [mb]
  • 17:58 イマココ! L:馬喰町駅 [mb]
  • 19:00 スーツがタバコ臭くて辛い。 *P3
  • 19:10 外注プログラムの瑕疵を外注に直してもらうのに必要な時間とコストと気力。 *P3
  • 22:30 ホスティングサービスのメールサーバ復旧に手間取っているっぽい。明日の12時サービス再開目標って、42時間もメールサーバ止めるつもりか。 *P3
  • 22:48 やっぱり転職すると mixi ユーザ作り直すもんなの? *P3
  • 23:24 いきなり初日から夜のアレグラ忘れるところだった。 *P3
[ 1月26日全て ]

2009年7月28日 (火)

FriendFeed から twitterfeed

10日ほど前に Twitter へのフィード投稿を twitterfeed 経由から FriendFeed 経由に変更してみた(記事)のだけれど、挙動がニーズにマッチしないので twitterfeed に戻した。

FriendFeed の Twitter 投稿機能だと date がちょっと古いフィードアイテムは新着でも投稿されないっぽいのである。

nDiki で使っている DiKickerRSS フィードでは、アイテムの date を最初の公開日時ではなくファイルシステム上にある記事ファイルの更新日時としている。 このためローカルホスト上で記事ファイルを作成し、例えば半日後に UnisonWeb サーバファイル同期させて公開するとその時点で半日前の日時の記事が新着となる。 twitterfeed ではこのような場合でも新着として Twitter へ投稿してくれるのだが、FriendFeed ではどうも新着であってももう旬ではない記事として投稿してくれないっぽい。 挙動の設定も変更できなさそう。

ということで FriendFeed の Twitter 投稿を止めて、twitterfeed の設定を再アクティブ化。twitterfeedOAuth に対応したり利用できる URL 短縮サービスが選べるようになっていたりと着実に改良されているので今後も継続してサービスされていくことを期待したい。


[ Twitter 関連サービス ]

[ 7月28日全て ]

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::InstallMakefile.PL を作っておいたおかげで、比較的スムーズにインストールできた(自画自賛)。

ちょっとはまったところは CGI::SpeedyCGI の make test を実行する(される)と SSH 接続がサーバ側から切られてしまうという現象にあったところ。 テスト用に大量にスクリプトが起動されるの検出して自動的に kick されたのだろうか。

.htaccess の修正

さくらのレンタルサーバでは .htaccess Options が使えないようなので削除。 ExecCGI や MultiViews が有効になっているようなので問題なし。

いつくかのスクリプトの修正

Perl 5.005_03 用に書いてあったスクリプトについて、Perl 5.8.9 で文字化けしないように utf8 まわりを修正。

cron 設定

1時間毎に実行したい処理を列挙するシェルスクリプトを1つ作って、コントロールパネルから1時間毎に実行するように設定。

現行サーバでは任意の crontab を設定できたので、1時間毎はちょっと物足りない。 おいおい負荷にならない範囲で、外部から定期的に HTTP アクセスして処理を定期的に実行できるようにもするかな。

DNS 設定変更

まだ動いていないスクリプトもあるけれど(大きいところだと NaneyOrgWiki (Wiki))現行サーバの解約日もせまっているので、サーバ移転させてしまうことに。

VALUE-DOMAINDNS サーバ設定を変更し www.naney.orgさくらのレンタルサーバにアクセスできるように A レコードを変更。

今のところ特に重い等もなく順調。 現行サーバでは深夜非常に重くなる時間帯があったのだが、それが無くなるのが嬉しい。 また容量が100MB*1から10GB*2になったので心理的にセーブしなくて良くなった。

年内に移行できて良かった良かった。


[ さくらのレンタルサーバ プレミアム ]

*1メール等別

*2メール他を含む

今日のさえずり - チョコレート臭のするリップクリーム塗られた

2009年12月22日

  • 09:36 東京水のお父さん若すぎ。娘はいくつの時の子だ?
  • 09:46 今年もビックカメラでカレンダーご自由にお持ちくださいになってるな。これって例年通り1枚もの? 車窓から見下ろしているからよくわかんない。 L:有楽町
  • 11:20 カシオ計算機株式会社の高精度計算サイト keisan で二項分布のグラフチェックしている。このサイト便利だな。 http://bit.ly/6H554E
  • 11:36 やはり結果が二項分布になっていなかったのは毎回 new System.Random().NextDouble() されていたからだな。1つの Random オブジェクトを使うように修正しておく。
  • 12:32 清まる東京ミートレア店のチラシに「住所かけ」と @nyafuru に指示された。
  • 12:34 泣く泣く書いた。 QT @Naney: 清まる東京ミートレア店のチラシに「住所かけ」と @nyafuru に指示された。
  • 12:45 2009年12月18日の歩行: 5898歩、4.54km、51分、5.29km/h、消費 224.9kcal、脂肪燃焼 32.1g、3.3エクササイズ。
  • 12:46 2009年12月19日の歩行: 3750歩、2.88km、34分、5.05km/h、消費 146.9kcal、脂肪燃焼 21.0g、2.0エクササイズ。
  • 12:48 2009年12月20日の歩行: 569歩、0.42km、5分、4.48km/h、消費 21.6kcal、脂肪燃焼 3.1g、0.3エクササイズ。
  • 12:49 2009年12月21日の歩行: 8585歩、6.60km、73分、5.37km/h、消費 337.8kcal、脂肪燃焼 48.2g、5.0エクササイズ。
  • 13:02 今日は窓ガラス清掃の日か。
  • 15:15 何でダイワハウチュなんだ? - デスクトップジーヴォβ http://bit.ly/4n80D1
  • 17:03 歯医者なのでそろそろ会社出ます。
  • 17:27 ヨドバシカメラ同時プリント回収。
  • 18:21 歯医者行ってくる。
  • 18:27 歯医者到着。腹減った。
  • 19:01 歯の定期健診終わり。なんかチョコレート臭のするリップクリーム塗られた。
  • 19:03 少し歯石があるぐらいで良く歯磨きできているとのこと。
  • 19:06 デンタルフロスほとんどサボっていたので気になっていたが問題なし。その事について聞いたらできればしてくださいと苦笑いされた。
  • 24:19 さくらのレンタルサーバWiKicker インストール中。
  • 25:48 さくらのレンタルサーバDiKicker を動くようにした。サーバ移転してもこれでとりあえず nDiki は維持できそう。
  • 25:51 さくらのレンタルサーバCGI::SpeedyCGI を make test すると途中でサーバ側から SSH 接続切断される。テストで大量にプロセスが起動されるのでそれで切断されちゃうのかな。
  • 26:55 寝る。

2009年12月23日

[ 12月23日全て ]

2010年3月12日 (金)

今日のさえずり - 英辞郎で英辞郎を検索

naney:4432182956

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 インタフェース自体の事を指したいこともあるので CGICGI プログラム/スクリプトはきちんと区別している。野暮だけど。
  • 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カード届いた。
[ 3月12日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.063238s / load averages: 2.79, 1.12, 0.70
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker