ゆきのぶ日記
2008/05/07(Wed) [長年日記]
■ 新生銀行のサービスが落ちていく
新生パワーダイレクトにおける振込手数料実質無料回数の一部変更について - 新生銀行
昨年、あまり預金していない場合の振込手数料無料回数が、月5回から月3回に減ってしまったけど、今度は月1回になってしまうらしい。
それだとさすがに不足するので、とりあえずの円MMFを30万円購入となりそう。 これで月5回はひとまず確保できて安泰だけど、他行への移転もそろそろ視野に入れておきたいところ。
2008/05/12(Mon) [長年日記]
■ [murmur]ローソンチケットは使いにくかった
RubyKaigi 2008 に参加しようとローソンチケットを初使用したけど、使いにくいのなんのって。
- 購入時に必要というので会員登録するも、購入中の画面に戻してはくれない。購入中の画面はセッション管理が厳格なようで、途中から開くとエラーとなる。結局、チケットを探す手順は二度手間。
- 会員登録では、必要性も不明なままクレジットカード番号を登録させられた。別に決済に使うわけてもなく、本人確認に使うわけでもなかった。今なお必要性は謎。不必要なリスクをとらされている気がする。
- 予約完了メールを持ってローソンに行くも、予約完了メールに書いてある情報だけではチケットを受け取ることができなかった(会員IDが必要で、それは予約完了メールには書いていない)。結局ローソンに行くのも二度手間になった。
あまりちゃんと説明を読まなかったのも問題だったけど、散々な結果になってしまった。チケットは無事にとれたものの、やれやれ感が。
■ 交通事故時の病院への依頼事項
昨日、交通事故に遭遇した。信号無視に端を発する、車 3 台が絡む衝突事故だった。
私の乗っていた車への衝撃は少なかったので*1、特に怪我の自覚症状はなかったが、夜になってから首が痛くなってきたので、明日病院に行くことにする。
でも、病院に行くと行っても、こういうのは初めてなので何をどう診察してもらえばいいのか判らない。 色々な人にアドバイスしてもらった結果、今のところ下記をお願いしようと思っている。
- 科は整形外科へ
- 請求は保険会社へお願いします。とりあえず自費で払うのは可ですが。
- 健康保険を使う気はありません。あくまでも保険会社への請求を。
首のレントゲンを撮影しておいてください。首だけじゃなく全身を検査してください。- 異常があればその内容を。教えてください。
- 首が痛むので、治療できるものなら治療をお願いします。
- 診断書をください。
- 領収書をください。
- (先生が要領を得ない場合)交通事故による怪我の治療や対応に詳しい先生/病院を紹介してください
- 一回だけではなく、異常がなくても何回かの検査を。一週間後や一ヶ月後あたりに。
何か、他にもお願いしておいた方が良い事ってあるんだろうか。うーん。
(5/13)上記リストを修正。アドバイスくれた皆様ありがとう!
*1 でも車は大変なことになった。車がクッションになってくれたのだろう。
2008/05/15(Thu) [長年日記]
■ [yapcasia2008] YAPC::Asia 一日目
実に良い天気。そして学生に戻ったような気分。
Tatsuhiko Miyagawa - Welcome to YAPC::Asia 2008
この話を聞いたので私も今日から Perl Monger だ。
Larry Wall - A Standard That Is Meant To Be Broken, 本当に!
雰囲気を楽しめた。内容は英語でよくわかんなかった orz
- Perl6 は Perl6 の中に色々な言語を作ることができる、ような気がした。
Tokuhiro Matsuno (okuhirom) - about Perl 5.10
- Acme::Slides でプレゼンを作成した
- say
Hello World のための機能
- state
- C の static のようなもの
- switch
- いよいよネイティブ実装された
- 今までは source filter で実装されていた
- foreach when とか変な書き方も可能
- ~~ (smart match)
- in の意味で使える演算子という理解をした
- named captures
- $1 $2 $3 とかに名前付けられる
これからは Perl 5.10 だ。
Dan Kogai - PSL = Perl as a Second Language
内容は http://blog.livedoor.jp/dankogai/archives/51050772.html
- Object ってのはつまり Moose
- context oriented language と言うのが心に残った。確かに自然言語はそうだ。
- それにしても Moose は便利そう。これからは必須。
- Perl が一番得意な私は、別の言語をやるのが良さそうだ。さしあたり Ruby やろう。
昼休みのサイン会ではサインを頂きました。ありがとうございました>弾さん。本は大事に読ませていただきます。
Daisuke Maki - Perl Testing (and Automation) Basics
テストのお話。Test::More くらいまでしか知らなかったので、新しいキーワードをたくさん仕入れる事ができた。
- 仕様変更の前には、テストは必須、全自動で
- Perl ほどテストインフラに力を入れている言語はない
- テストは CPAN 化から - ツールが使えるようになる
- 99_critic.t / perlcritic で動くようにする
- Test::Continuous++
- やみくもにテストしても仕方がない
- 正常系
- 異常系
- 限界値のテスト
- 特殊値
- Web アプリのテスト
- MVC 各レベルでの品質保証を行う
- Catalyst の場合は Catalyst::Test を使う
- Apache::Test とか
- バグは必ず再現コードをテストとして残す
- 必要ならばダミーファイルを作成
- END ブロックを使えばテスト後の掃除ができるので途中で止まっても OK
- 未実装部分のテスト TODO:, todo_skip とか
- Test::MockObject - 指定されたオブジェクトのふりをする
- 複雑なオブジェクトが絡み合うテストには最適
- テストを書けない対象はほとんど存在しない
- どうしても書けない場合は設計を見直す
Kazutake Hiramatsu - Parrot Compiler Tools
- 歴史
- 1 Apr 2001 に開発スタート
- 2008 Parrot is Dead
- Parrot Compiler Tools (PCT)
- オレ言語を作ることができる
- Parrot VM 上でコンパイラを作成するためのツール
- 誰でも簡単にコンパイラを作れる
- Perl6, Perl5, Ruby, Python など可能
- そこにオレ言語を追加できるのがポイント
- Parrot
- Register based VM
- 動的言語が動作可能な機能を提供する
- レジスタの中に文字列やオブジェクトを入れることができる!!
- Q&A
- 言語を自作してみましたか
- 作っているけど、細かいところが難しい、Perl6 の実装も大変
- 言語を自作してみましたか
- 明日はラーメンが 720 個出る
Yusuke Kawasaki - DOM Manipulation by Gainer/Wiimote over HTTP
- S6 を使ったプレゼン。各国語翻訳対応している。
- XML/DOM みんな知ってる。でも DOM 操作はみんな好きじゃない。
- Wii リモコンの操作の方が、みんな DOM より好き。
- Wii リモコンで MS-09 DOM を操作できたら、どんなに素晴らしいだろうか
- DOM の操作は角度が重要。高度な操作が要求される。
- XML::TreePP
- Wii リモコンなしで XML 操作ができる
- JKL.ParseXML
- Javascript Animation
- Javascript + Canvas Powerd 3D Engine
- Real device web service - Wiimote
- Wii リモコンは Bluetooth デバイスなので PC から使える
- Wiimote over HTTP
- Max 7 Players
- Gainer
- Device::Gainer Module (on coderepos)
- POE::Components::Server による HTTPd
- JUI は月曜日 / 18:30〜
- 次回は Yapc::NA in Chicago
- Gainer 解説
- アートのためのデバイスらしい
Kazuhiro Osawa (Yappo) - Let's enjoy Perl on the %^H
- 今日は %^H の話
- hinthash / hintbits ($^H) の親戚 / Perl の内部挙動を変えるためのもの
- use とか no によって書き換えられるようだ
- レキシカルにしたい場合は hintbits でできる
- 変態的なことをしたい場合には、この辺を弄ると良い。
Tatsuhiko Miyagawa - Lightning Talks
Jonathan Rockway (jrockway) - String::TT
- Heredocs are ugly.
- インデントがよろしくない
- useful
- Perl is beautiful.
- TT is pretty
- Very nice !!
Hiroyuki Oyama - 収支概算を公表します
- お金☆大好き
- 2008 は会場費が安い。感謝。
- 2008 は宿泊費が安い。感謝。
- 2008 はマイナスになった時期がない。すごい。
Daisuke Murase (typester) - Open Fastladder with Plagger
- Fastladder: Frontend UI / Plagger: Crawler
- Subscription::XXX
- Read private feed / none RSS site
- Plagger でとれるものなら全部 Fastladder で読める
- bloglines, mixi, customfeed, authinfeed など取得
Kenichi Ishigaki (charsbar) - Everybody wanna know where you belong!
- Acme::CPANAuthors / 日本人の CPAN Author
- バグレポートを日本語で大丈夫かなぁ
- 自分の活動をモジュールにするのは楽しい
- ノリノリであった
Takeru INOUE (takemaru) - Developing Amazon's Dynamo in POE and Erlang - prologue of "From POE to Erlang"
- memcached のデータが無くならないやつ
- スケーラプル、高可用性
- 小さなデータを沢山置いておく事ができる
- まとめ / Erlang いいよ / でも分散システム以外には向かないかも
Kazunari Asano (wakapon) - 生Perl (Perl Machine)
- 低級 Perl プログラミングのすすめ
- 各種ドライバを Perl で実装
- Perl マシンとは
- Perl を動かすためだけの計算機
- Microperl などを使って実装
- 成果
- 各種ドライバができた
- perlapi, XSUB
- 性能は指数関数的
- 兵器として使えるのではないか
cho45 - Text::MicroMason::SafeServerPages
- テンプレートエンジン話
- TT がイヤだった / eRuby 系の埋め込み Perl がいい / Text::MicroMason に辿り着いた
- SafeServerPages
- サニタイズ言うな
- デフォルトで html エスケープをする事ができる
- TT とかでもできるらしいけど
- 埋め込み型テンプレートエンジンを、もっと使おうよ
- MicroMason 良いよ
- More foolish safety
Yusuke Wada (yusukebe) - WebService::Simple
- つい先日 CPAN Author になった
- POX over HTTP
- GET で XML 返し
- たとえば Flicker echo など
- WebService::Simple なら、ある程度どんな API でも叩くことができる
- parser を選択できる / XML::Simple とか JSON とか
- 継承してサブクラスを作ると、簡単に特定サーヒス向けになる
- lastrrat と tokuhirom が全面的に書き換えた
- 使ってみてください
Ingy döt Net - Vroom: vroom vroom
- Vroom::Vroom on CPAN now !!
- 中国語の勉強には Perl が必要
Chia-liang Kao (clkao) - prototype::signatures
- Perl 5 has prototypes
- Perl 6 signatures
- Data::Bind
TAKESAKO - HTML Binary Hacks GIH89a Polyglot
- Quiz: <img src="1.gif" src="2.gif">
- GIF in Javascript, Perl in GIF
● まるりん [うひー、とっても面白そうだ。後で教えて!]
2008/05/16(Fri) [長年日記]
■ [yapcasia2008] YAPC::Asia 二日目
昨日はしゃぎすぎてしまったせいか、体調が悪すぎた。
Yoshinori TAKESAKO (takesako) - How to defend Apache/CGI against multibyte XSS attacks
- YAPC のパンフ写真は HDR 写真である
- shibuya.jpeg (cho45++)
- サウンドハウスからカード番号が漏洩した
- 統計は IPA より色々と
- wafful.org 英語で書いている
- mod_imagefight
- IE コンテンツ自動判別による XSS
- IE 特有の脆弱性なので、Web アプリでの対応は面倒だよね
- HTML Escape してもだめなケース
- hoshikuzu++, hasegawayousuke++
- MEditor は IE と同じような EUC 解釈を行う
- 未定義領域への対応がアドホック
- 本来はブラウザもバグである
- mod_wafful (WAF for user library)
- 今までの WAF はブラックリスト方式で抜けがあった
- WAFful では許可するものを指定するホワイトリスト方式
- 「契約による設計」と言う概念(達人プログラマー)
- POST のロギングも可能
- charset の確認も Apache Flter で実装
- これからは Validation の時代
- 安全な Web 社会の実現をしたい
- Q&A
- この問題の再現は IE6 のみか。IE7 はどうか。
- 確認している範囲では IE6 のみ。IE7 は試していない。
- はまちちゃんのあしあと帳と同じ仕組みか
- その手法は知らないが、今回の手法はあまり知られていないと思う。
- パフォーマンスは
- imagefight は PoC なので微妙。wafful は実運用用にブラッシュアップしてから出す。
Naoya Ito - DBIx::MoCo
OR マッピングしたことない。なんか便利そうだ。
- DBIx クラスを使っている人多い。7 割くらい。DBI クラスを使っている人は 2 割くらいで少数派。
- DBIx::MoCo は、はてなで作って使っている O/R Mapper for MySQL & SQLite
- Model Component の略
- Easy SQL Operations
- Ruby-like list operators
- 透過キャッシュ
- Test fixture - テストデータの自動生成と破棄
- search(): placeholders, named placeholders
- memcached 対応のキャッシュ
Emerson Mills - DBIx::Class Crash Course: Using DBIx::Class and other modules to make DB driven apps easy
- DBIC
- DBIx::Class
- ORM だ、かなり挫折することもある
- そんなことはどうでもいい
- Perl のメソッドでスキーマをたどっていくことができる
- DBIx::Class::Schema
- テーブルの連携ができる
- Beer が好き
Kazuhiro Osawa (Yappo) - Perlとリアルデバイスを繋げるって快感
- 快感なデバイスについて
- Make: Tokyo とか開催されている
- kawa.net の人も同じような方向に走っている
- serial port, USB, Bluetooth
- LAN とか VGA はカオスなので itkz がやればいい
- Devide::SerialPort, Win32::SerialPort
- OS 依存的な何かがあるけど、インターフェースは互換性あり
- Device::VFD::Gp1002
- VFD は秋月で 3000-5000 円くらいする
- シリアル経由で文字を流すことができる
- Inline::C
Shinya Hayakawa - Perlの!数学!妄想夢芝居!
- お芝居
- 私の use strict をとらないで〜
- 集合には表側と裏側がある
- Perl の集合
- 三次方程式の解の方程式
Casey West (cwest) - Build Domain Specific Languages with Perl
DSL には興味アリ。どんな話なのだろう。
- Domain Specific Languages
- Close to the problem domain
- How close ?
- design & code in your user's language
- You'll feel it.
- Web Application Testing
- 英語にかなり似た構文の DSL が登場 / これは便利そう
- user_management_screen(); はどういう意味だろう。
- Using function prototypes
- block() function
- sub block (&) { shift }
- :lvalue functions
- Assign value to funtions
- sub def :lvalue { ...
- selenium
- 各英単語を Perl の機能として実装することができる
- be
- should
- Value of {...} shouldn't be {...}
- shouldn't -> { pakage shouldn; sub t {...} }
- sub of (&;@) {...}
- jaCounters
- *{'プリント'} = sub { print map {...} @_ };
- '−;'
- QA の人のオペレーションが今回の DSL として出力される
2008/05/22(Thu) [長年日記]
■ [jiemamy]第一回 Jiemamyインサイド
Java も DB もあまり詳しくなく、ER 図で DB を設計した事なんてないけど、楽しそうだったので、
Jiemamyインサイド for contributors - 都元ダイスケ IT-PRESS
に行ってきた。
今回は第一回なので、あまり予備知識はいらないと言う話を聞いていたような気がしたけど、最初からなかなかコアな話だった。
少し遅れてしまったことあってかか、最初は何の話をしているのか不明だったけど、たぶん Model と言うのが ER 図における GUI パーツなんだろうと理解してからは、スムーズに飲み込めた。
- C++ で Win32 GUI アプリケーションを作っていた頃を激しく思い出すことができた。あの頃、GUI 上の表現と内部データをいかにスムーズに同期させるかは、大きな問題だった。
- MFC ライブラリや VCL ライブラリによって C++ のクラスとして実装された Windows コントロールの数々は、外から見る限りにおいては、その問題を見事に解決していたと思う。
- VCL だと CheckBox1->Ckecked = true; とかすると GUI の状態が変化したし、CheckBox1->Ckecked を参照すれば常に GUI の状態と一致した値を取得することができた。単なる bool 値ではなく、イベントとのセットになっているものだった。
- Jiemamy でも同様の問題を抱えているようだった。setter/getter をちゃんと作れば解決できる問題ではあるんだけど、setter/getter の数が多くなるし、Collection 中の特定の要素だけを変更する場合においてはさらに面倒になり、あまり美しくない。
- 解決策としては、VCL ライブラリの TListView 型や TTreeView 型の実装を参考にするのが良いんじゃないかと思った。ソースは Pascal だったと思うので読んでないけど、たぶん TListItem や TTreeNode 型は自分が所属する TListView や TTreeView に対してイベントを通知する機構を持っているんだろう。
- 具体的には、Collection に対して Proxy パターンを適用して、ラッパを作るようなイメージ。ウマくいくかどうかは、やってみないと判らないけど。
(他のことは後で書くかも知れない)
2008/05/24(Sat) [長年日記]
■ [生活]地震に備えてみた
続・関東大地震に備えよ -またも大気イオン濃度の異常値を検出
を読んで、そろそろ地震が来るかも知れないと思ったので、備えてみることにした。
家で地震があった場合、これで 3 日くらいは凌ぐ事ができるかも知れない。
…しかし、置く場所がないなぁ。どこに置いておいたものか。
2008/05/26(Mon) [長年日記]
■ [Prog]プログラミング言語で学んできたこと
「どの言語を学ぶか」ではなくて「どの言語から何を学べるか」 - 二十代は模索のときブログ
のタイトルに反応。プログラミング言語は、今まで色々と渡り歩いてきたと思うので、そこで何を学べていたかを振り返ってみた。以下、プログラミング言語じゃないものも混ぜつつ、だいたい経験順。
Turbo C
- 自分はソフトウェアを作ることができるということ。
- ソフトウェアを作り出すってのは、とてつもなく楽しいってこと。
- 変数、分岐、関数。そういう定番の概念が、具体的なアプリケーションと、どのように繋がっているのか。
- 文字列ってのはポインタを使わないと使えなくて、扱うのが大変ってこと。
VZ Editor
- 環境は自分で作り替えることが可能。
Turbo C++
- ++ が付くと、なんかカッコいい感じがすること。
- ポインタを使わなくても文字列操作ができること。自作 String クラスとか作っていた。
- クラスを使ったオブジェクト指向な世界。データ構造の使い方をプログラマが覚えていなくても良いってのは、安全だし良いことだ。
- 言語の仕様策定には 10 年くらいの期間を要するものだということ。
- データ構造は詳しく知らなくてもライブラリを使えば済むこと。std::set とか色々。
- テンプレートは美しいけど、ミスをするとエラーを解決できないことがあるってこと。
486アセンブラ
- 自分とアセンブラの相性は良くなさそうだってこと。
Borland C++ Builder
- マウスだけで Windows アプリが作れるってこと。
- 継承ってのが実は役に立つ概念だったということ。
- __property みたいなコンパイラの独自仕様は、結構便利ってこと。それでもなるべく、処理系依存しないように作りたいという感覚。
- マウスをカチカチと操作するだけで、裏で飛び交っているメッセージや、そのハンドラの数々。イベント駆動の世界。
- GUI OS の上で動くプログラムを書くというのは、生の Win32API を使うとかなり大変って事。試しにやってみようとして挫折したけど、API を知っていると痒いところに手が届いた。
- 自分はプログラミングでお金を生み出せると言うこと。
- マルチスレッドは結構大変だという事。デュアル CPU をサポートしたレンダリングエンジンを作っている人とか神。
Java
- Java Applet は重くて使い物にならないということ。
- 何でもかんでも Object 型にしてしまうのは気持ちが良くないってこと。
LaTeX
- 文書もプログラムのように作れるってこと。
- でも一太郎や Word が恋しくなることもあるということ。
Perl
- 正規表現はとてつもなく便利だということ。
- CGI を使えばウェブ上でプログラムが動くってこと。
- 自分には strict な考え方が合っているということ。とりあえず use strict; からスタート。
- Perl の世界は楽しいってこと。YAPC とか。
HTTP
- リクエストをするとレスポンスが帰ってくること。
LISP
- わけのわからない言語があるということ。
PHP
- なんだかんだで PHP は便利ということ。
振り返ってみると、Borland にはけっこうお世話になってるな。
2008/05/27(Tue) [長年日記]
■ [1000speakers]自分は 1000speakers に何ができるだろう
1000人スピーカカンファレンス第6回について - 西尾泰和のはてなダイアリー
第一回に勢いで参加して、第四回では聞く方として楽しませてもらった 1000speakers だけど、運営は結構大変らしい。
まぁ、そりゃあそうだよなぁ。大変でないわけがない。
再開されたときには、何かの役に立ちたいなと思って、出来そうなことを考えてリストアップしてみる。
- 司会進行
- 経験なし。でもたぶん可能。
- 撮影
- uStream 多重化とか、動画系で。一眼レフとか、静止画系のハイエンドはむつかしい。
- タイムキーピング
- 時間になったらベルとかドラを鳴らす人。
- 誘導
- 道に迷う人を助ける。
- 会計
- 食費の徴収と管理。
- 会場提供
- うーむ。会社に掛け合う程度は。
- 基調講演
- 何も考えてないけど、テーマはきっと何か出てくるだろう。きっと。
● 通りすがり [ローソンチケットについて同感です。自分もあまりに使いにくいので調べていてこちらの日記に辿り着きました。今は2011年..]