トップ(最新) | <前

nDiki : CGI

CGI - Common Gateway Interface

CGIとはHTTPサーバなどの情報サーバから外部ゲートウェイプログラムへのインタフェースの標準のこと。

CGIに準拠しているプログラムをCGI プログラムと呼ぶ。

スポンサード リンク

CGI - Computer Generated Image

Computer Generated Image の略。

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 というものもある。 これらを用いるとさらにテストを書くのが楽になるが、依存するモジュールも多いので無理に使わないほうがいいかもしれない。

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


[ 2月18日全て ]

2006年3月2日 (木)

FreeBSDApache::Htpasswd このエントリーを含むはてなブックマーク

WiKicker認証ドライバの1つとして、まずは Apachehtpasswd パスワードファイル(AuthUserFile ディレクティブ用パスワードファイル)形式のものを作成することにする。 これなら htpasswd で作成することができるので、最悪最初の段階では WiKicker に登録・削除機能を入れないで済む。

Perl からこのパスワードファイルを扱うモジュールとしては Apache::Htpasswd や、Authen::Htpasswd がある。 CPAN にある CGI-Application-Plugin-Authentication は前者を、Catalyst-Plugin-Authentication-Store-Htpasswd では後者を使用している。

機能的にはほぼ同じか。 Authen::Htpasswd の方がユーザ名に対応するオブジェクトを取得するメソッドがあり便利といえば便利だが、まあなくても困らないだろう。

ということで今回は、依存モジュールの少ない Apache::Htpasswd を選択した。 Perl 5.005_03 にはない warnings プラグマが使われているが、Htpasswd.pm の

 use warnings;

1行を削除すれば問題無し。

FreeBSD 4.4-RELEASE #3 + Perl 5.005_03 + Apache-Htpasswd 1.7 だと、crypt 関連のテストケースが失敗する(not ok 17)のがちょっと気になるところ。 MD5 ベースのパスワードの読み書きは問題ないので、この環境ではこちらを使うことにしよう。


[ 3月2日全て ]

2008年11月18日 (火)

MAILPIA による Twitter リプライチェック このエントリーを含むはてなブックマーク

リプライのチェックは Twitter 検索での「@自分」検索結果 + MAILPIA にしていた。しかし夏ぐらいから Twitter 検索Twitter API仕様変更であまり検索がヒットしなくなってしまいリプライをメールで受信できなくなってしまった。

まだ使ったことないけど「あらったー!」も取りこぼしがあるらしいし、replies API を使うクローズドアルファバージョンは登録受付終了中。

とりあえず replies.atom をさらす Perl CGI スクリプトを作って、それを MAILPIA に読ませることにした。 骨子はこんな感じのみ(実際には一応パスワード暗号化して保存しておいたりしている)。

 use CGI;
 use LWP::UserAgent;

 my $url = 'http://twitter.com/statuses/replies.atom';
 my $query = CGI->new;
 my $user_name = 'myusername';
 my $password = 'mypassword';

 my $ua = LWP::UserAgent->new;
 $ua->credentials('twitter.com:80', 'Twitter API', $user_name, $password);
 my $response = $ua->get($url);

 print $query->header('application/atom+xml; charset=utf-8');
 print $response->content;

これを設置した URLMAILPIA に登録して出来上がり。

@ Twitter Search

考えてみたら Twitter 公式の検索があるんだっけ。 日本語検索が駄目駄目なので使っていないけれど、リプライ検索には使える。

新しいリプライもすぐひっかかるようなので Twitter Search + MAILPIA の方がいいな。 パスワードサーバにおいておかなくても良いし。

……と思ったらフィードの title にリプライした人の名前が入っていないな (author に入っている)。これだと MAILPIA からのメールに名前がはいらないかもしれない。

ま今回は自作スクリプト経由にしておくか。


[ Twitter 関連サービス ]


[ 11月18日全て ]

2008年12月25日 (木)

PlaggerTwitter のあれこれをメールで通知 このエントリーを含むはてなブックマーク

Twitter 上で要チェックなポストは、今年の4月から MAILPIAケータイメール通知するようにしていた(記事)のだが、最近メールが届かなくなってしまった。 フィードを変更してみたりメールアドレスを変えてみたりしたが駄目。 他に良さそうなフィードメール通知サービスが無さそうだったので Plagger を使うことにした。

Plagger は以前途中までインストールしようと思ったのだが、依存 Perl モジュールが多くて途中でやめてしまった。 今回は目的があってインストールするので、頑張ってインストールした。

インストールするホストに libxml2 と OpenSSL が無くて必須モジュールが入らなかったので、これを別途インストールPlaggerSubversion リポジトリの trunk をチェックアウトしてインストール。 依存 Perl モジュールCPAN から。

ケータイ向けにテキスト形式のメールを送る Publish プラグインWeb で見つけたものを流用。まずは以下の3つレシピcron で 10分毎に実行するように設定した。 メールは基本的に Gmail アカウントに送ってフィルタでケータイに転送。 うまくいっている感じ。

@ Twitter リプライをメールで通知

PlaggerTwitter にログインして replies API にアクセスするようにもできるけれどパスワードを書いておきたくないので、先月作成した CGI スクリプト(記事)経由で取得することにした。

  [Twitter]
    ↑
  [replies.atom さらし CGI スクリプト]
    ↑
  [Plagger (cron で 10分毎)]
    ↓
  [Gmail]
    ↓
  [ケータイ]

@ 指定した Twitter-ers のポストのメール通知

Plagger で直接各 Twitter-ers のフィードを取ってこれるけれど、10分毎にアクセスするほどでもないので、Google リーダーTwitter-ers のフィードをフェッチさせてタグでたばねて公開したフィード経由で取得することにした。

Plaggerレシピをいじらないで Google リーダー上で Twitter-ers を追加・削除でき、Google リーダーでもポストを読めるというのが利点。 ポストが少ない Twitter-er のフィードは Google リーダーが巡回頻度を下げるのでタイムラグが大きくなることがあるのが欠点。

 [Twitter]
   ↑
 [Google リーダー]  ← [Web ブラウザ (設定・チェック)]
   ↑
 [Plagger (cron で 10分毎)]
   ↓
 [Gmail]
   ↓
 [ケータイ]

@ twitter検索結果をケータイにプッシュ

外出先などで、居場所やイベントの情報を Twitter でチェックしたい時がある(役に立つかどうかは別として)。 ケータイから定期的に検索かけるなんてありえないので、メールでプッシュしておいて(気がむけば)読むぐらいにしておきたい。 キーワードの設定・管理については、操作・サーバ実装とも楽したい。

Twitter 関連ということで頻繁にケータイでアクセスして画面に出ている MovaTwitter を活用したい。 ということで MovaTwitter のクリボーに「アクセス keyword」と書くことで検索キーワードを指定できるように組んでみた。

 [MovaTwitter クリボー] ← [ケータイ (キーワード書き込み)]
   ↑
   ↑ クリボーのフィードを読んでキーワードを取得
   ↑
 [CGI スクリプト] → [twitter検索]
   ↑
 [Plagger (cron で 10分毎)]
   ↓
 [Gmail]
   ↓
 [ケータイ]

いまさらだけれど、Plagger 便利だな。 とっかかり(インストールと概要理解)がちょっと難しいけれど、それを乗り越えてしまえば Perl なんでどうとでもなるという感じ。


[ 12月25日全て ]

2009年12月23日 (水)

今日のさえずり - チョコレート臭のするリップクリーム塗られた このエントリーを含むはてなブックマーク

@ 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日


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 v5.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メール他を含む


[ 12月23日全て ]

2009年12月27日 (日)

今日のさえずり - くるぴかポッチャマ廻しにくい このエントリーを含むはてなブックマーク

naney:4228896260

@ 2009年12月26日

@ 2009年12月27日


[ 12月27日全て ]

2009年12月30日 (水)

Net::OAuth を使って Twitter からフィードを取得 このエントリーを含むはてなブックマーク

Twitter の replies (mentions) をフィードリーダや Plagger で読めるようにするために、Basic 認証Twitter にアクセスしてフィードをとってきてそのまま出力する Perl CGI スクリプトを書いて使っていたのだが、やはり Basic 認証が嫌なので OAuth 認証に書き換えた。

Net::Twitter モジュールだと取ってきたフィードが Perl のデータ構造になってしまいそのまま再度出力するのが面倒なので、Net::OAuth モジュールでリクエストを作って投げるようにした。

以下エラー処理等を省略したコード。

Web サイトに設置すれば(CGI スクリプト側で認証を済ませて)認証無しで replies のフィードが取れるようになるので簡単にフィードリーダで読めるようになる。

 #!/usr/bin/perl -w

 use strict;
 use warnings;
 use CGI;
 use LWP::UserAgent;
 use Net::OAuth;
 use Data::Random qw(rand_chars);

 $Net::OAuth::PROTOCOL_VERSION = Net::OAuth::PROTOCOL_VERSION_1_0A;

 my $consumer_key    = 'YOUR CONSUMER KEY';
 my $consumer_secret = 'YOUR CONSUMER SECRET';
 my $access_token    = 'YOUR ACCESS TOKEN';
 my $access_token_secret = 'YOUR ACCESS TOKEN SECRET';

 my $url    = 'http://twitter.com/statuses/replies.atom';
 my $method = 'GET';

 my $query = CGI->new;

 my $request = Net::OAuth->request('protected resource')->new(
   consumer_key     => $consumer_key,
   consumer_secret  => $consumer_secret,
   request_url      => $url,
   request_method   => $method,
   signature_method => 'HMAC-SHA1',
   timestamp        => time,
   nonce        => join('', rand_chars(ssize => 16, set => 'alphanumeric')),
   token        => $access_token,
   token_secret => $access_token_secret,

   extra_params => {count => '200'});

 $request->sign;

 my $ua = LWP::UserAgent->new;
 my $response;

 if ($method eq 'GET') {
   $response = $ua->get($request->to_url);
 }
 else {
   $response = $ua->post($request->to_url);
 }

 print $query->header('application/atom+xml; charset=utf-8');
 print $response->content;

今日のさえずり - 年賀状作成特設会場とした このエントリーを含むはてなブックマーク

naney:4228131129

@ 2009年12月30日


[ 12月30日全て ]

2010年1月9日 (土)

今日のさえずり - ついに新しい風を吹かせられる人がきた このエントリーを含むはてなブックマーク

@ 2010年01月08日

  • 07:46 寝坊。
  • 12:18 「とりあえず間違っていてもいいからその場で考えて発表して。」タイプの会議進行久しぶり(他の人の進行で)。イケてる予感。
  • 17:23 .@nyafuruシュウォッチ体験中。
  • 19:25 ついに新しい風を吹かせられる人がきた。
  • 19:32 ウサ耳つけた御一行とすれ違った。 #Akihabara L:秋葉原
  • 24:01 普段はバッグの中を想定して音量設定にしているケータイメールの着信音が会社にいる時などは大きすぎるので、オリジナルマナーモードにしたら小さめの音量になるようにした。鳴らしたくない時は公共モード使っていてマナーモードは使っていないので。
  • 24:12 あ、取扱説明書確認したら公共モード(ドライブモード)だと伝言メモが動作しないのか。ドライブモードでなくてサイレントモードを使った方がいいかな。
  • 24:41 Tab キー押しは小指派。ただしやってみたら左 Alt + Tab の場合は指で自分でも驚いた。 http://bit.ly/80Fmdc
  • 25:06 2010年1月7日の歩行: 6928歩、5.37km、59分、5.46km/h、消費 263.5kcal、脂肪燃焼 37.7g、3.8エクササイズ。
  • 25:08 2010年1月8日の歩行: 5361歩、4.14km、45分、5.43km/h、消費 207.3kcal、脂肪燃焼 29.6g、3.1エクササイズ。

@ 2010年01月09日

  • 11:31 知らなかったけれどメルセデス・ベンツって CGI エンジン塔載してたりするんだ。 Apache とどっちが性能いいのかな。
  • 11:33 @nyafuru 誕生日オメデトウ!
  • 11:33 @nyafuru ミニーのポップコーンいいなあ。うちで羨ましく見てます。
  • 11:38 ロディの iPhone カバーかわいい。
  • 15:06 Rody Store ロディ iPhone 用シリコンカバー http://bit.ly/7YOzeC
  • 15:11 三菱東京UFJ銀行 ATM にある封筒の表が全面「振り込め詐欺にご注意ください!(とイラスト)」になってる。使い回しずらくなったなあ。
  • 15:29 引き出しを整理中。埋蔵金がちょこちょこ出てくる。
  • 15:34 近谷先生退職記念パーティーの招待状が出てきた。そういえばこの時近谷研究室卒業メーリングリスト開設されたんだっけ。
  • 15:42 ピン札ストックも無駄に沢山あることが判明。
  • 15:55 有楽町西武のギフトカードが3000円分でてきた。多分10年ぐらい前の。
  • 15:56 DCギフトカード1000円分でてきた。どこから入手したか不明。
  • 16:07 100%。 RT @coachingbot: 自分の事どれぐらい好きですか?
  • 16:13 我が家ルールにより2年以上経過したレシートを破棄する。
  • 16:28 マザー牧場のレシートが出てきて「アレッ?」と思ったら、川崎店って書いてあった。ソフトクリーム食べた時のか。
  • 17:06 楽しげな音楽とともに加湿器水切れ。
  • 17:54 ロディストア Rody Store の公式アカウントがありましたか。 @RodyStore

[ 1月9日全て ]

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日全て ]

2011年10月15日 (土)

YAPC::Asia Tokyo 2011 2日目 このエントリーを含むはてなブックマーク

@kazuho → @kazeburo → @nekokak → @hiratara → @comewalk → @aloelight → @sartak → @Yappo → LT → @hidek → @lestrrat

雨大丈夫かなーと思って家を出たら、いきなりザーザーで折り畳み傘をさしたものの、ちょっと濡れたかなって感じで、着替え調達を口実に昨日ちょっと欲しいなと思った Perl T シャツを買ったんだけれど、そのあとは雨はあがりましたとか。

@ トーク

@ 続 Unix Programming with Perl Kazuho Oku

IPC::Open3 の話とか。

@ 運用しやすいWebアプリケーションの構築方法 masahiro nagano

過去 Log::Log4perl とかをチョイスしていたけど、より Log::Minimal の方が手軽そうでいいな。

@ watch your log nekokak

DevOps なお話。

開発と運用のコミュニケーション大切。開発だけれど障害出ると「ヤバい俺か?」といつもビビる。

@ Monads in Perl Masahiro Honma

モナド。

今までスルーしてたので参考になった。「Perl でモナドってみた」については理解するのに良いけど、(Perl において)プラクティカルかというと微妙だなという第一印象。まだ掘り下げて学ぶ必要あり。

@ Evolution of API With Blogging Takatsugu Shigeta

Blog をとりまく今までの歴史など。

@ 少人数でのWebアプリ開発 - CGIからPSGIまでの変遷 aloelight

私的開発スタイルの変遷について。

@ DTrace: printf debugging for seventh-level wizards sartak

DTrace で何かごにょごにょやってた。

@ Perl Hackers Hub の舞台裏 Kazuhiro Osawa

スピーカーが一方的に話すだけではない YAPC らしいセッションを試みるなど、チャレンジングな良いトーク。

@ LT

いろいろ。

@ Managing A Band Of Hackers Hideo Kimura

マネージメント視点での話。他に無いトークで良かった。 DeNA にもってかれた。

@ Closing Daisuke Maki

時間もおしてたので、マキで。

トークとしては、やはり聞いてる自分が「お、これは自分でもやってみたいな」とか「ここに生かせるな」と思えるものが印象に残るし満足感が高いね。ここは落とし穴だから注意ねとか、ハマッたのでこんな工夫してみたよとかも引きこまれる。

逆に Perl 的な話だったとしてもモジュールの羅列紹介とかだとちょっと退屈。

内容レベル的には、浅すぎず、後半だんだん高度な話になってきたところでギリギリついていけるぐらいがいいかなと。

以上はもし自分がトークする立場になった時の参考用のメモ

YAPC::Asia Tokyo 2012 もぜひ開催を!


[ 10月15日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.126664s / load averages: 1.20, 1.38, 1.45
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker
Base theme by Nana (for tDiary)