<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>技術ネタ（C#）</title><link>http://blogs.wankuma.com/popi/category/874.aspx</link><description>C#に関する話</description><managingEditor>ぽぴ王子</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>ぽぴ王子</dc:creator><title>tar形式について (1)</title><link>http://blogs.wankuma.com/popi/archive/2009/07/03/177027.aspx</link><pubDate>Fri, 03 Jul 2009 18:19:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2009/07/03/177027.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/177027.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2009/07/03/177027.aspx#Feedback</comments><slash:comments>46</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/177027.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/177027.aspx</trackback:ping><description>&lt;p&gt;
    元ネタ： &lt;a href="http://bbs.wankuma.com/index.cgi?mode=al2&amp;amp;namber=37917" title="vb.net2005でtar圧縮"&gt;vb.net2005でtar圧縮 (C# と VB.NET の質問掲示板)&lt;/a&gt;
&lt;/p&gt;
&lt;blockquote quote="http://bbs.wankuma.com/index.cgi?mode=al2&amp;amp;namber=37917" title="vb.net2005でtar圧縮"&gt;
    &lt;p&gt;
        WinXp、VB.NET2005環境にて&lt;br /&gt;
        tarを使用してフォルダを圧縮したいと考えています。&lt;br /&gt;
    &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
    tarってファイルをまとめるだけで圧縮しないんだけど、いいのかなーとか思ったり思わなかったり&lt;del&gt;ラジバンダリ&lt;/del&gt;。質問者さんに参考にならないかも？なんて思いますが、一応書いてみます。
&lt;/p&gt;
&lt;p&gt;
    tarファイルのフォーマットは実はすごく簡単なので、自分で作っちゃうことも可能です。というか、&lt;a href="http://www.wankuma.com/seminar/20080809tokyo23/Default.aspx" title="わんくま同盟 東京勉強会 #23 C# Day"&gt;わんくま同盟 東京勉強会 #23 C# Day&lt;/a&gt;と&lt;a href="http://www.wankuma.com/seminar/20080823osaka22/Default.aspx" title="わんくま同盟 大阪勉強会 #22"&gt;わんくま同盟 大阪勉強会 #22&lt;/a&gt;で話した内容はまさにそんな感じの話です。大阪勉強会であまりの準備不足加減に「&lt;span style="font-weight: bold; font-size: large;"&gt;続きはWebで！&lt;/span&gt;」とか言ってしまったまま放置状態だったので、&lt;del&gt;ウホッ！&lt;/del&gt;いい機会だから書いてみようかって感じで。
&lt;/p&gt;
&lt;p&gt;
    まず、tarファイルのフォーマットについて調べました。Google先生にお伺いを立てたところ、いくつか見つかりました。
&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;tar32.dllの作者の吉岡さんが書かれた&lt;a href="http://openlab.ring.gr.jp/tsuneo/soft/tar32_2/tar32_2/sdk/TAR_FMT.TXT" title="TAR32.DLL フォーマット説明ファイル"&gt;フォーマット説明&lt;/a&gt;。&lt;/li&gt;
    &lt;li&gt;HP（&lt;del&gt;ホームページ&lt;/del&gt;ヒューレット・パッカード）のサイトにあった、&lt;a href="http://docs.hp.com/ja/B2355-60104-08/tar.4.html" title="tar(4)"&gt;tarのヘッダ構造体の解説&lt;/a&gt;。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
    HPのサイトの方が正確なのだと思いますが、ヘッダ以外にも知りたいこともあるので、吉岡さんの書かれたドキュメントを参考にしてみましょう。
&lt;/p&gt;
&lt;p&gt;
    ファイルを作るときは、tarヘッダ512バイト＋データ（512バイト単位）の繰り返しになり、最後に1024バイトの終端データ（すべて00で埋められている）が付加されます。512バイトに満たないファイルは512バイトになるように、残りが00で埋められます。
&lt;/p&gt;
&lt;p&gt;
    例えば700バイトのファイルを連結&lt;a href="http://blogs.wankuma.com/popi/archive/2009/07/03/177027.aspx#d20090703-1-n1" name="d20090703-1-nc1" id="d20090703-1-nc1" class="footnotelink" title="tarは圧縮するわけではないので、この場合『圧縮』ではなく『連結』と呼びます"&gt;[*1]&lt;/a&gt;する場合
&lt;/p&gt;
&lt;p&gt;
    &lt;img src="http://popi.wankuma.com/images/200907/tar_format.gif" width="320" height="246" border="0" title="tarファイルのフォーマット" /&gt;
&lt;/p&gt;
&lt;p&gt;
    のような形式になります。この場合、tarファイルの長さは512+512+188+324+1024=2560バイトとなります。
&lt;/p&gt;
&lt;p&gt;
    ファイルデータ1と2は便宜上こう表記していますが、実際は一つのデータです。2ファイル以上のファイルを連結する場合はパディングデータの後ろにtarヘッダとファイルデータが続き、最後に終端データが入ります。
&lt;/p&gt;
&lt;p&gt;
    今回はここまで。次回はtarヘッダの解説をしようと思います。
&lt;/p&gt;
&lt;div class="footnote"&gt;
    &lt;dl&gt;
        &lt;dt&gt;&lt;a name="d20090703-1-n1" id="d20090703-1-n1" href="http://blogs.wankuma.com/popi/archive/2009/07/03/177027.aspx#d20090703-1-nc1" class="footnotelink"&gt;[*1]&lt;/a&gt;&lt;/dt&gt;
        &lt;dd&gt;tarは圧縮するわけではないので、この場合『圧縮』ではなく『連結』と呼びます&lt;/dd&gt;
    &lt;/dl&gt;
&lt;/div&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/177027.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ぽぴ王子</dc:creator><title>ぽぴりす！作りました</title><link>http://blogs.wankuma.com/popi/archive/2009/06/29/176760.aspx</link><pubDate>Mon, 29 Jun 2009 17:41:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2009/06/29/176760.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/176760.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2009/06/29/176760.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/176760.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/176760.aspx</trackback:ping><description>&lt;p&gt;
    えー、&lt;a href="http://www.wankuma.com/seminar/20090627tokyo35/Default.aspx" title="わんくま同盟 東京勉強会 #35"&gt;わんくま同盟 東京勉強会 #35&lt;/a&gt;おつかれさまでした。
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://blogs.wankuma.com/popi/archive/2008/08/22/153919.aspx" title="【急募】大阪の観光地" class="innerlink"&gt;前回のエントリ&lt;/a&gt;で大阪勉強会に参加する旨を書いてから約一年、ずーっとサボりっぱなしの状態でしたが。その間も&lt;a href="http://www.wankuma.com/seminar/20081115tokyo26/Default.aspx" title="わんくま同盟 東京勉強会 #26 - ライトニングトーク大集合！！"&gt;ライトニングトーク大集合大会&lt;/a&gt;でLTやってぐだぐだのまま時間切れで終わったりとかしてました。LT怖い（まんじゅう怖い的な意味で）。
&lt;/p&gt;
&lt;p&gt;
    で。
&lt;/p&gt;
&lt;p&gt;
    そろそろ普通のセッションもやらなくてはオンライン活動的にただのにぎやかし扱いになってしまうではないかということで、ふっと立候補したのが3月ぐらい（たぶん）。そして気づいたらまたトリですよトリ。&lt;a href="http://blogs.wankuma.com/torikobito/" title="とりこらぼ。"&gt;こっちのトリ&lt;/a&gt;とは違いますけど。プレッシャーですねえ。
&lt;/p&gt;
&lt;p&gt;
    どうも今回の勉強会は&lt;del&gt;登壇者が小粒揃いだった&lt;/del&gt;&lt;a href="http://comuplus.net/clt2009/" title="こみゅぷらす Community Launch 2009 ～Windows 7 コミュニティ勉強会 with Tech Fielders 東京編～"&gt;こみゅぷらす Community Launch 2009 ～Windows 7 コミュニティ勉強会 with Tech Fielders 東京編～&lt;/a&gt;というイベントだったり、他にも多数イベントが重なっていた関係か、いつもよりも参加人数が少なめだったように思います。ある意味気が楽だったんですが、朝から「今日の参加者が少なめなのはイベントが重なったから。決してトリのセッションがつまらないからじゃないはず！」と自分に言い聞かせたりしていたのはナイショです。
&lt;/p&gt;
&lt;p&gt;
    ちなみにタイトルが「某有名落ちものゲームっぽいものを作ってみ&lt;strong style="font-size: large; color: red"&gt;る&lt;/strong&gt;」になっているのは、セッション情報を提出した時点ではまだ作ってもいなかったからです。セッション情報の締め切りがだいたい一ヶ月前なんですが、締め切り当日になって「何を話そう！」とあわてつつ（それもどうか）少し画面表示のプログラムなどを書いてみたら思ったよりキリキリと動くので「あれ、これいけるんじゃね？」ってことでこんなタイトルになりました。
&lt;/p&gt;
&lt;p&gt;
    それから一ヶ月ぐらい、ヒマを見てはこそこそと作ってました。諸般の事情でずっとヒマじゃねえかというツッコミは華麗にスルーしておいて、ある程度頭の中でどのように動かすかは決まっていたので、それほど苦労はしなかったです。セッションではさすがにできあがっていたので「作ってみ&lt;strong style="font-size: large; color: red"&gt;た&lt;/strong&gt;」に直しましたけどね。
&lt;/p&gt;
&lt;p&gt;
    むしろ作ることよりも、それをどうやって「わかりやすくセッションの形で解説するか」が大変だったというか。以前&lt;a href="http://blogs.wankuma.com/izmktr/" title="Garbage Collection"&gt;出水さん&lt;/a&gt;に
&lt;/p&gt;
&lt;blockquote title="出水さんに言われた言葉（うろおぼえ）"&gt;
    &lt;p&gt;
        王子のセッションはぐだぐだなようで、大事なところは押さえてるって感じがしてる
    &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
    みたいな感じのことを言われたことがあって、嬉しかった覚えがあったんですよね。
&lt;/p&gt;
&lt;p&gt;
    なので、今回もあえてコードについては話さず、代わりに「どうやって作ったのか（考え方とか、テクニックとか）」をメインで話しました。デモも多めに。問題は途中でUstream中継が切れてしまって、ツッコミがほとんどなかったことでしょうか。
&lt;/p&gt;
&lt;p&gt;
    とりあえず「後日&lt;del&gt;後悔&lt;/del&gt;公開します」と言っ&lt;del&gt;てしまっ&lt;/del&gt;たので、ぽぴりす！本体とデモプログラムを公開しておきます。
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://popi.wankuma.com/software/POPIRIS.zip" title="ぽぴりす！プロジェクトファイル"&gt;プロジェクトファイル（実行ファイルは含まれていません）&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://popi.wankuma.com/software/SampleTokyo35.zip" title="東京勉強会#35デモンストレーションファイル"&gt;デモプログラム&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    質問等ありましたらコメントでお願いします。
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/176760.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ぽぴ王子</dc:creator><title>フォントの話</title><link>http://blogs.wankuma.com/popi/archive/2008/07/07/147641.aspx</link><pubDate>Mon, 07 Jul 2008 00:00:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2008/07/07/147641.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/147641.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2008/07/07/147641.aspx#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/147641.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/147641.aspx</trackback:ping><description>&lt;p&gt;
    MVPに再選されてから1回目のエントリになります。カレーネタにしようかと思ったんですが、前から書きたかった話で。
&lt;/p&gt;
&lt;p&gt;
    （あ、でも今日の夕飯は&lt;a href="http://www.ichibanya.co.jp/" title="カレーハウスCoCo壱番屋"&gt;CoCo壱&lt;/a&gt;でオクラ豆腐カレー＋チーズトッピングでした）
&lt;/p&gt;
&lt;p&gt;
    だいぶ前に、&lt;A href="http://blogs.wankuma.com/shuujin/archive/2007/10/22/103224.aspx" title="囚人のジレンマな日々: 美しいフォントでプログラミングを"&gt;囚人さんがフォントのエントリを上げていた&lt;/a&gt;のを見て「よーし、オレっちもフォントに関するエントリあげちゃうゾナもし」とか思ってたんですが、すっかり忘れ去れたまま今にいたると。フォントの話はちょっと前に&lt;A href="http://blogs.wankuma.com/hcm/archive/2008/06/04/141492.aspx" title="Hirotow's Craftive Blogs: VisualStudioで使えそうな綺麗フォントいろいろ（修正版）"&gt;Hirotow君も書いていた&lt;/a&gt;ので、僕も便乗して書いてみることにします。
&lt;/p&gt;
&lt;p&gt;
    テストに使っているのはご存じぽぴ電卓のソースコード。画像をクリックすると大きなサイズを開きます。
&lt;/p&gt;
&lt;h4&gt;BDF東雲ゴシック 9pt&lt;/h4&gt;
&lt;p&gt;
    BDF UM+はもう出ているので、最近使っているのはBDF東雲ゴシック 9pt。BDF UM+と比べると同じサイズでちょっと小さめなのが気に入ってます。
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://popi.wankuma.com/images/200807/font1.jpg"&gt;&lt;img src="http://popi.wankuma.com/images/200807/thumb/font1.jpg" width="400" height="300" border="0" alt="BDF東雲ゴシック 9pt" title="BDF東雲ゴシック 9pt" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;TT-JTCウインZ10 14pt&lt;/h4&gt;
&lt;p&gt;
    普段使用には向かないかもしれないけど、勉強会なんかで使うには向いてるかもしれないTT-JTCウインZ10。太くて力強いフォントですが、サイズが小さいとちょっと見づらいかも。
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://popi.wankuma.com/images/200807/font2.jpg"&gt;&lt;img src="http://popi.wankuma.com/images/200807/thumb/font2.jpg" width="400" height="300" border="0" alt="TT-JTCウインZ10 14pt" title="TT-JTCウインZ10 14pt" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;VL ゴシック 11pt&lt;/h4&gt;
&lt;p&gt;
    囚人さんに教えていただいたVL ゴシック。これもびったりハマるサイズ以外ではちょっと見づらいかもしれないのが玉にキズかもしれませんね。
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://popi.wankuma.com/images/200807/font3.jpg"&gt;&lt;img src="http://popi.wankuma.com/images/200807/thumb/font3.jpg" width="400" height="300" border="0" alt="VL ゴシック 11pt" title="VL ゴシック 11pt" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;あくあフォント 14pt&lt;/h4&gt;
&lt;p&gt;
    &lt;A href="http://blogs.wankuma.com/carbonara/" title="むりせず♪なまけず？ ～ぷろくらすてぃねいたーの言い訳雑記～"&gt;刈歩 菜良 CTP先生&lt;/a&gt;がいつもプレゼンでご使用されているあくあフォント。入手は&lt;a href="http://www5d.biglobe.ne.jp/~attic/aqua/" title="あくあフォント推進委員会"&gt;あくあフォント推進委員会&lt;/a&gt;からどうぞ。しかしこれもVisual Studioで使うのは(ry
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://popi.wankuma.com/images/200807/font4.jpg"&gt;&lt;img src="http://popi.wankuma.com/images/200807/thumb/font4.jpg" width="400" height="300" border="0" alt="あくあフォント 14pt" title="あくあフォント 14pt" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;ぱうフォント 12pt&lt;/h4&gt;
&lt;p&gt;
    さて今回の本題であるところのぱうフォント。&lt;a href="http://udumaki.s36.xrea.com/" title="ぱうサイト"&gt;ぱうサイト&lt;/a&gt;から入手できます。適度に線が太くてその割に適度な読みやすさというところが気に入ってます。Visual Studioは違うフォントですが、エディタは常にこのフォントを使ってたりしますし。問題は、ビットマップフォントなので12ポイント以外では使えないと言うところでしょうか（真っ白になって表示されない）。
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://popi.wankuma.com/images/200807/font5.jpg"&gt;&lt;img src="http://popi.wankuma.com/images/200807/thumb/font5.jpg" width="400" height="300" border="0" alt="ぱうフォント 12pt" title="ぱうフォント 12pt" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;h4&gt;ぱうフォント 24pt&lt;/h4&gt;
&lt;p&gt;
    『ビットマップフォントなので12ポイント以外では使えない』などと書いた直後にこんなのを出すのもどうかと思いますが(笑)実は画面のプロパティからClear Type（というか『スクリーンフォントの縁をなめらかにする』設定）をオフにすると12ポイント以外でも使えたりします。勉強会でのデモに使うなら倍の24ポイントぐらいがちょうどいいかもしれません。これオヌヌメ。
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="http://popi.wankuma.com/images/200807/font6.jpg"&gt;&lt;img src="http://popi.wankuma.com/images/200807/thumb/font6.jpg" width="400" height="300" border="0" alt="ぱうフォント 24pt" title="ぱうフォント 24pt" /&gt;&lt;/a&gt;
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/147641.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ぽぴ王子</dc:creator><title>遅れてきた電卓祭り</title><link>http://blogs.wankuma.com/popi/archive/2007/08/25/91789.aspx</link><pubDate>Sat, 25 Aug 2007 15:33:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2007/08/25/91789.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/91789.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2007/08/25/91789.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/91789.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/91789.aspx</trackback:ping><description>&lt;p&gt;
    いまさらながらなんですが、&lt;A href="http://blogs.wankuma.com/aqua/archive/2007/06/25/82152.aspx" title="AQUA's .NET 奮闘記: 第1回"&gt;電卓祭り&lt;/a&gt;ってあったじゃないですか（『あの人はいま』みたいな目線で）。
&lt;/p&gt;
&lt;p&gt;
    こないだなんか&lt;A href="http://blogs.wankuma.com/aqua/" title="AQUA's .NET 奮闘記"&gt;アクアさん&lt;/a&gt;が&lt;a href="http://www.wankuma.com/seminar/20070818osaka12/Default.aspx" title="わんくま同盟 大阪勉強会 #12"&gt;わんくま勉強会でレポート&lt;/a&gt;したりして、なんかすごいことになってたわけですよ。
&lt;/p&gt;
&lt;p&gt;
    でね、意外と知られてないけど、発端は僕のこのへんの発言なんじゃないの？とか勝手に妄想してみるテスト。
&lt;/p&gt;
&lt;blockquote cite="http://blogs.wankuma.com/aqua/archive/2007/06/25/82039.aspx#82052" title="AQUA's .NET 奮闘記: 学校の宿題のコメント"&gt;
    &lt;p&gt;
        電卓の作成っていうのは、ちゃんと教えれば（ココ重要）基礎を学ぶ処理としては結構有益なものなんですよね。僕も新人研修の講師をしたときにやらせた記憶があります。&lt;br&gt;
        ただ、その場合は（電卓に限らずだけど）とりあえずやらせてみて、詰まったところを質問させて&amp;#8230;という流れを踏んでこそだと思うのですよ。最初から全部わかるやつなんていないんだから、わかるところまでやってみて、それの問題点を一緒になって考えることでレベルアップにつながると思うのです。&lt;br&gt;
        この学校だとそういうことをしてないのか、生徒が先生を頼りにしてないだけなのか。だからと言って掲示板を頼りにされても困るのだが。&lt;br&gt;
        &lt;cite&gt;&lt;A href="http://blogs.wankuma.com/aqua/archive/2007/06/25/82039.aspx#82052" title="AQUA's .NET 奮闘記: 学校の宿題のコメント"&gt;AQUA's .NET 奮闘記: 学校の宿題のコメント&lt;/a&gt;&lt;/cite&gt;
    &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
    この発言を受けて「研修でやらせるぐらいなら、おまいらのレベルならちょちょいのちょい（死語）だろが！」ということでアクアさんの電卓祭りが&amp;#8230;という流れに（違う違う）。
&lt;/p&gt;
&lt;p&gt;
    それはそれとして。
&lt;/p&gt;
&lt;p&gt;
    僕は研修で作らせたことはあるけれど、自分自身で作ったことはなかったんですよ。だから本当ならこの祭りに参加したかったんですが、いまはものすごい勢いで仕事が忙しくて、明日も休日出勤確定なんですけど、いやそんなことはどうでもよくて、つーか忙しいっつってんだろが！（逆ギレ）
&lt;/p&gt;
&lt;p&gt;
    そんな感じで電卓祭りを横目で見つつ華麗にスルーしてたんですが、アクアさんが勉強会で発表するっていうもんで間に合わせて作って一緒に発表してもらおうかな？なんて思ったのが先々週。しかし計算部分は&lt;a href="http://www.geocities.jp/lightmoemoe/project_g.html" title="ジェバンニが一晩でやってくれました。"&gt;ジェバンニが一晩でやってくれた&lt;/a&gt;わけですが（本当に一晩で作りました）、それ以外の部分に&lt;strong&gt;無駄に凝りすぎた&lt;/strong&gt;ために電卓祭り発表会にも間に合わず（平日は30分ぐらいしか時間がとれないので）、今ごろこうしてのこのことやってきてるわけです。
&lt;/p&gt;
&lt;p&gt;
    ♪アクアちゃん　おそくなってごめんね（『花はおそかった』美樹克彦）
&lt;/p&gt;
&lt;p&gt;
    してどのぐらい凝って凝って凝りまくって&lt;del&gt;肩がガチガチに&lt;/del&gt;どんな感じになったかというと、こんな感じ。
&lt;/p&gt;
&lt;p&gt;
    &lt;img src="http://popi.wankuma.com/images/popicalc.jpg" alt="ぽぴ電卓（イメージ）" width="290" height="290" /&gt;
&lt;/p&gt;
&lt;p&gt;
    プロジェクトファイルと実行ファイルはこちら。
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://popi.wankuma.com/junk/popicalc.zip" title="ぽぴ電卓プロジェクトファイル"&gt;プロジェクトファイル（実行ファイルは含まれていません）&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://popi.wankuma.com/junk/popicalcexe.zip" title="ぽぴ電卓実行ファイル"&gt;実行ファイル&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    &lt;A href="http://blogs.wankuma.com/aqua/archive/2007/06/27/82456.aspx" title="AQUA's .NET 奮闘記: 第1回 『 The 祭り 』電卓アプリケーション仕様決定!"&gt;公式アプリケーション仕様&lt;/a&gt;に準じた仕様はこんな感じ。
&lt;/p&gt;
&lt;blockquote title="ぽぴ電卓の仕様（公式準拠）"&gt;
    &lt;ol&gt;
        &lt;li&gt;画面がある。&lt;/li&gt;
        &lt;li&gt;0～9までの数字ボタンがある。&lt;/li&gt;
        &lt;li&gt;＋－&amp;#215;&amp;#247;＝Ｃのボタンがある。&lt;/li&gt;
        &lt;li&gt;「終了」ボタンがある。&lt;/li&gt;
        &lt;li&gt;＝が押されるまで、ひたすら計算しつづける。&lt;/li&gt;
        &lt;li&gt;「終了」ボタンが押されたら有無を言わさず強制終了する。&lt;/li&gt;
        &lt;li&gt;計算結果をクリップボードにコピーする機能も有る。&lt;/li&gt;
    &lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;
    ついでに公式仕様とは関係なく勝手に作り込んだ仕様がこっち。
&lt;/p&gt;
&lt;blockquote title="ぽぴ電卓の仕様（勝手仕様）"&gt;
    &lt;ol&gt;
        &lt;li&gt;数字はデジタル表示。&lt;/li&gt;
        &lt;li&gt;ボタンのフォントが変えられる。&lt;/li&gt;
        &lt;li&gt;キーを押すとボタンが押されるアニメーションをする。&lt;/li&gt;
        &lt;li&gt;ぽぴ王子モード搭載。&lt;/li&gt;
        &lt;li&gt;怪しい裏ワザでパワーアップ（&amp;#8230;アップ？）。&lt;/li&gt;
        &lt;li&gt;整数しか計算できない。&lt;/li&gt;
    &lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;
    数字パネルもそうですが、ボタンもフォーカスが移動するのがイヤなのでオリジナルのコントロールを作りました。Buttonクラスから継承しようかと思ったけど、クリックできればそれでいいやってんでControlクラスから継承して、必要なところだけ実装する感じで。まさかこんなところで以前ちょっとだけやったWindows Mobileの仕事のテクニックが役に立つとは思いませんでしたわ。
&lt;/p&gt;
&lt;p&gt;
    詳しいところはソースファイルを見ていただくとわかるかなぁとか思うんですが、やっぱ使ってる技術の解説をした方がいいでしょうか。コメント見て決めようっと。
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/91789.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ぽぴ王子</dc:creator><title>timestamp</title><link>http://blogs.wankuma.com/popi/archive/2007/06/04/79364.aspx</link><pubDate>Mon, 04 Jun 2007 15:35:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2007/06/04/79364.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/79364.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2007/06/04/79364.aspx#Feedback</comments><slash:comments>35</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/79364.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/79364.aspx</trackback:ping><description>&lt;p&gt;
 元ネタ：&lt;A href="http://blogs.wankuma.com/naka/archive/2007/06/04/79333.aspx" title="中の技術日誌ブログ: タイムスタンプ列"&gt;中の技術日誌ブログ タイムスタンプ列&lt;/a&gt; / &lt;A href="http://blogs.wankuma.com/naka/archive/2007/06/04/79343.aspx" title="中の技術日誌ブログ: タイムスタンプ列には更新しない"&gt;中の技術日誌ブログ タイムスタンプ列には更新しない&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
 最初に「タイムスタンプ列」の方を見ていて「あれ？updatecol更新してないじゃん？」とか思ったわけですよ。更新しなきゃ楽観ロックできないんじゃね？と。
&lt;/p&gt;
&lt;p&gt;
 なので
&lt;/p&gt;
&lt;blockquote cite="http://blogs.wankuma.com/naka/archive/2007/06/04/79333.aspx#79337" title="中の技術日誌ブログ: タイムスタンプ列 のコメント"&gt;
 &lt;p&gt;
  update ...（中略）... updatecol=@updatecol&lt;br&gt;
  みたいなのも必要かも。
 &lt;/p&gt;
 &lt;cite&gt;&lt;A href="http://blogs.wankuma.com/naka/archive/2007/06/04/79333.aspx#79337" title="中の技術日誌ブログ: タイムスタンプ列 のコメント"&gt;タイムスタンプ列 のコメント&lt;/a&gt;&lt;/cite&gt;
&lt;/blockquote&gt;
&lt;p&gt;
 などと偉そうに突っ込んでみました。そしたら「タイムスタンプ列には更新しない」の方で勝手に更新されると記述が。
&lt;/p&gt;
&lt;p&gt;
 へぇ～そうなのか～と検索してみたところ「現在時刻をセットします」とか書いてあって、ほうほう現在時刻を勝手に入れてくれるんだ、じゃあ更新しなくてもいいんだね！そうだね！プロテインだね！と思って「申し訳ない」とコメントしました。
&lt;/p&gt;
&lt;p&gt;
 すると今度は、尊敬するNAL-6295さんから
&lt;/p&gt;
&lt;blockquote cite="http://blogs.wankuma.com/naka/archive/2007/06/04/79343.aspx#79352" title="中の技術日誌ブログ: タイムスタンプ列には更新しない のコメント"&gt;
 &lt;p&gt;
  &amp;gt;おーおーおー、自動的に現在時刻をセットしてくれるんですね。&lt;br&gt;
  timestamp型に現在時刻はセットされません。&lt;br&gt;
  rowversion相当ですかね。
 &lt;/p&gt;
 &lt;cite&gt;&lt;A href="http://blogs.wankuma.com/naka/archive/2007/06/04/79343.aspx#79352" title="中の技術日誌ブログ: タイムスタンプ列には更新しない のコメント"&gt;タイムスタンプ列には更新しない のコメント&lt;/a&gt;&lt;/cite&gt;
&lt;/blockquote&gt;
&lt;p&gt;
 というありがたいツッコミが。
&lt;/p&gt;
&lt;p&gt;
 あ～れれ～？&lt;del&gt;どうしたのコナン君&lt;/del&gt;僕が見たページでは現在時刻って書いてあったよ～&amp;#8230;と思って見直してみたら、&lt;a href="http://www.inaba.vc/item/21/catid/" title="TIMESTAMP型 [Design For Life]"&gt;そのページ&lt;/a&gt;はMySQLについて解説されているページでした orz
&lt;/p&gt;
&lt;p&gt;
 まぁ確かに、MSDNオンラインを最初に見なかった自分も男どアホウ甲子園なわけですが、&lt;strong&gt;中さんSQL Server(T-SQL)の話だって一言も書いてねえじゃねえかよぅ&amp;#8230;&lt;/strong&gt;と駄々こねてみるテスト。中さんがMySQLの話をするとは思えませんが？とか言われるとそうかもなぁって思うんだけど、前提条件はハッキリさせとかないと読者を混乱させちゃうよって話でした。オマエモナー。
&lt;/p&gt;
&lt;p&gt;
 せっかくなので&lt;del&gt;俺はこの赤い扉を選ぶぜ&lt;/del&gt;、T-SQLとMySQL、PostgreSQLのtimestamp型についてのリファレンスのリンクを置いておきます。
&lt;/p&gt;
&lt;ul&gt;
 &lt;li&gt;&lt;a href="http://msdn2.microsoft.com/ja-jp/library/ms182776.aspx" title="timestamp (Transact-SQL)"&gt;Transact-SQLのtimestamp型&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://dev.mysql.com/doc/refman/4.1/ja/datetime.html" title="MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 6.2.2.2 DATETIME、DATE、TIMESTAMP 型"&gt;MySQLのtimestamp型&lt;/a&gt;&lt;/li&gt;
 &lt;li&gt;&lt;a href="http://www.postgresql.jp/document/pg732doc/user/datatype-datetime.html" title="日付/時刻データ型"&gt;PostgreSQLのtimestamp型&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/79364.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ぽぴ王子</dc:creator><title>だが、ZIPで！</title><link>http://blogs.wankuma.com/popi/archive/2007/03/18/67415.aspx</link><pubDate>Sun, 18 Mar 2007 14:17:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2007/03/18/67415.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/67415.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2007/03/18/67415.aspx#Feedback</comments><slash:comments>46</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/67415.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/67415.aspx</trackback:ping><description>&lt;p&gt;
    じゃんぬさんの&lt;A href="http://blogs.wankuma.com/jeanne/archive/2007/03/15/66885.aspx" title="じゃんぬねっと日誌: System.IO.Compression.GZipStream クラス"&gt; System.IO.Compression.GZipStream クラス&lt;/a&gt;というエントリを見ていて思い出したわけですが、いまやっているプロジェクトでインストーラ（もどき）を作るのに&lt;a href="http://msdn2.microsoft.com/ja-jp/library/system.io.compression.gzipstream(VS.80).aspx" title="GZipStream クラス (System.IO.Compression)"&gt; GZipStream クラス&lt;/a&gt;を使ってました。インストーラ（だから本当にもどき）が使うデータファイル（中身はインストールするファイル群）を圧縮して持っておくべきだろうなあということで。
&lt;/p&gt;
&lt;p&gt;
    最初は System.IO.Compression 名前空間をいろいろ調べていて、&lt;a href="http://msdn2.microsoft.com/ja-jp/library/system.io.compression.deflatestream(VS.80).aspx" title="DeflateStream クラス (System.IO.Compression)"&gt;DeflateStream クラス&lt;/a&gt;で圧縮しておこうと思ったのだけど、これって Deflate アルゴリズム&lt;strong&gt;そのもの&lt;/strong&gt;を使えるようにしてくれるだけで、いくら Deflate アルゴリズムが ZIP 形式に採用されているとは言っても ZIP ファイルを作ってくれるわけではないと。
&lt;/p&gt;
&lt;p&gt;
    で、使うファイルは複数あるし、それを全部バラバラなファイルのまま圧縮するのも&amp;#8230;と思うので、できればまとめて1個のファイルにして圧縮しておきたいわけです。でも System.IO.Compression 名前空間のクラスは1ファイルの圧縮しかしてくれないので、ファイルをまとめる処理は自分で書かなくちゃいけない。この場合独自形式でもいいけれど、独自形式にするとファイルを作るためのアプリケーションを作らなくちゃいけないので、だったらファイル形式さえ自分で何とかしてしまえばファイル作れるんじゃね？と考えたんですよ。
&lt;/p&gt;
&lt;p&gt;
    ただ ZIP ファイルは複雑そうでちょっと('A`)マンドクセ、なので TAR ファイルにして GZipStream クラスで圧縮すれば tar.gz ファイルが作れちゃうということで、&lt;a href="http://www.redout.net/data/tar.html" title="tar の構造"&gt;このへん&lt;/a&gt;を参考にして自分で TAR ファイルを作ることにしました。TAR だったらヘッダ部分以外はただ連結するだけなので楽だし。
&lt;/p&gt;
&lt;p&gt;
    ちなみに SharpZipLib を使うとか J# のクラスを使うという方法は「ファイルをまとめようとしているのになんで別の DLL を用意せなあかんねん」ということで却下しました。
&lt;/p&gt;
&lt;p&gt;
    と、そんな昔話はどうでもいいとして（いいのかよ）シャノンさんのコメントで
&lt;/p&gt;
&lt;blockquote title="シャノンさんのコメント"&gt;
    &lt;p&gt;
        System.IO.Packagingはどうなんだろうか（未調査
    &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
    とか書かれていて、(ﾟДﾟ≡ﾟДﾟ)System.IO.Packagingｯﾃﾅﾆﾅﾆ?! ということで調べてみました。
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;シャノンさん自身の&lt;A href="http://blogs.wankuma.com/shannon/archive/2007/01/17/56684.aspx" title=".COM -どっとこむ-: どいつもこいつもWPFWPFと&amp;#8230;"&gt;どいつもこいつもWPFWPFと&amp;#8230;&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;社本＠ワックさんの&lt;a href="http://www.ailight.jp/blog/sha256/archive/2006/08/25/11944.aspx" title="社本＠ワック Blog: ZipPackage - .NET Framework 3.0"&gt;ZipPackage - .NET Framework 3.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    この辺によれば、どうやら .NET Framework 3.0 で実装される&lt;del&gt;予定の&lt;/del&gt;ものらしいですね。System.IO.Packaging.ZipPackage というクラスを使えば&lt;del&gt;お金なんかちょっとでふわふわ！&lt;/del&gt; ZIP ファイルもらくらく！うおーすっげーな！でも .NET Framework &lt;strong&gt;3.0&lt;/strong&gt;&amp;#8230; ○|￣|＿
&lt;/p&gt;
&lt;p&gt;
    （はわわ、&lt;del&gt;ご主人様、敵が来ちゃいました！！&lt;/del&gt;.NET Framework 3.0 って予定どころかすでにリリースされてるじゃん！ということで修正）
&lt;/p&gt;
&lt;p&gt;
    余談ですが、&lt;a href="http://www.google.co.jp/" title="Google"&gt;Google&lt;/a&gt;で「&lt;a href="http://www.google.co.jp/search?q=%82%BE%82%AAzip%82%C5" title="Google検索: だがzipで"&gt;だがzipで&lt;/a&gt;」を検索すると「&lt;a href="http://www.ne.jp/asahi/popi/prince/diary/200608.html#d02-1" title="ぽぴンち。- 2006年08月02日: すいませんまた愚痴です"&gt;ぽぴンち。&lt;/a&gt;」が一番先頭に来る件について（2007年03月18日現在）。
&lt;/p&gt;
&lt;p&gt;
    # 要望があれば今回作った Tar クラスを少し整備して公開してみようかと思います。あくまで「要望があれば」ですが :-)
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/67415.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ぽぴ王子</dc:creator><title>東京勉強会 #4レポート（まともなほう）</title><link>http://blogs.wankuma.com/popi/archive/2007/02/14/62174.aspx</link><pubDate>Wed, 14 Feb 2007 00:42:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2007/02/14/62174.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/62174.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2007/02/14/62174.aspx#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/62174.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/62174.aspx</trackback:ping><description>&lt;p&gt;
    &lt;a href="http://www.wankuma.com/seminar/20070210osaka6/Default.aspx" title="わんくま同盟 大阪勉強会 #6"&gt;大阪勉強会 #6&lt;/a&gt;も終わったところで、いまさらながら&lt;a href="http://www.wankuma.com/seminar/20070203tokyo4/Default.aspx" title="わんくま同盟 東京勉強会 #4"&gt;東京勉強会 #4&lt;/a&gt;のレポートなどを。
&lt;/p&gt;
&lt;h4&gt;パフォーマンスチューニングの第一歩 DBの動きを知ろう [&lt;A href="http://blogs.wankuma.com/kaya/" title="夏椰の東屋"&gt;夏椰さん&lt;/a&gt;]&lt;/h4&gt;
&lt;p&gt;
    わんくまのデータベース魔術師こと夏椰さん（誰も言ってない）のDBパフォチュー話。みんな期待して待ってたざまーす。
&lt;/p&gt;
&lt;p&gt;
    夏椰さんは朝からテニス用のコートを着込んで&lt;strong&gt;ぁゃιぃ&lt;/strong&gt;雰囲気だったわけですが、セッション開始にあたりそのコートを脱いで&lt;strong&gt;チャイナ服&lt;/strong&gt;で登場してくれました。
&lt;/p&gt;
&lt;blockquote cite="http://blogs.wankuma.com/kaya/archive/2007/01/17/56632.aspx" title="夏椰の東屋: パワポ頑張っています。"&gt;
    &lt;p&gt;
        ・・・当日はセッション内容に関係ない変な格好しています。(芸人なんでぇ～)&lt;br&gt;
        ぜひぜひ笑ってください、もしくはいじってください。(&amp;gt;_&amp;lt;)
    &lt;/p&gt;
    &lt;cite&gt;&lt;A href="http://blogs.wankuma.com/kaya/archive/2007/01/17/56632.aspx" title="夏椰の東屋: パワポ頑張っています。"&gt;夏椰の東屋: パワポ頑張っています。&lt;/a&gt;&lt;/cite&gt;
&lt;/blockquote&gt;
&lt;p&gt;
    この「変な格好」ってコレのことだったんスね！すごいや姉さん！確かに &amp;quot;似合いすぎて笑えない&amp;quot; や！（こらこら）
&lt;/p&gt;
&lt;p&gt;
    セッション自体は割と普通。普通というか、DBが内部でどういう動きをしているのかということの解説ですね。DB内部ではページ単位で格納されていて、実際のデータは行ヘッダと行データに別れて格納されると。ここで「あー、&lt;a href="http://e-words.jp/w/FAT.html" title="FATとは 【FATファイルシステム】 (File Allocation Tables) - 意味・解説 ： IT用語辞典 e-Words"&gt;FAT&lt;/a&gt;みたいな方式なのね」とか思った懐古主義のおっさん挙手 _`)ﾉシ
&lt;/p&gt;
&lt;p&gt;
    UPDATE句などで内容を更新したりすると、ページサイズに収まらなくなって別途ページを取得してそこに書き込む。するってえと挿入時に順番に並んでいた行データがバラバラになってしまうんだよね！という、普通にDBを使っている限りは絶対に意識しないような話。&lt;del&gt;やっぱ人間って&lt;/del&gt;おもしれー！
&lt;/p&gt;
&lt;p&gt;
    そしてそういう話から、テーブルにはテーブル・インデックス分離型とインデックス一体型のタイプがあって場合によって使い分けすると無駄な領域が出なくて済むよー的な話。その辺が意外とあっさりすぎて拍子抜けでしたが(笑)
&lt;/p&gt;
&lt;p&gt;
    正直&lt;A href="http://blogs.wankuma.com/kaya/archive/2007/02/04/60762.aspx" title="夏椰の東屋: わんくま同盟 東京勉強会 #4 参加ありがとうございました。"&gt;ご自分でも言ってますが&lt;/a&gt;セッションは経験不足な感はぬぐえず（スピーカー経験のないお前が言うな）、でもとても参考になる楽しいセッションでした。ぜひまたやっていただきたい。チャイナ！チャイナ！（違
&lt;/p&gt;
&lt;h4&gt;.NETで始めるオブジェクト指向プログラミング入門～俺流オブジェクト指向をあなたに～ [&lt;A href="http://blogs.wankuma.com/hirom/" title="ひろえむの日々是勉強"&gt;ひろえむさん&lt;/a&gt;]&lt;/h4&gt;
&lt;p&gt;
    以前からそういう話が出ていた「オブジェクト指向ってなんなん？」という疑問に対する、ひろえむさんなりの回答という感じ。
&lt;/p&gt;
&lt;p&gt;
    ひろえむさんのセッションなので、笑いも取りつつ難しいところも具体的に解説しながら、時々デモで実際にコーディングする部分もあって、なかなか面白かったわけですが。
&lt;/p&gt;
&lt;p&gt;
    「オブジェクト指向の入り口あたりまで案内する」と言ってらしたので、とりあえずその辺までの解説という感じで（実際すべてを解説してたら何日あっても足りないわけで）ひろえむさんなりの解釈を加えたオブジェクト指向を学ぶための導入編と言ったところでしょうか。
&lt;/p&gt;
&lt;p&gt;
    ただ、レベル２クマーの割には意外と手ごわいというか難しいというか、やはり時間が足りなかったのか、後半は文字がたくさん書かれたスライドがスッパスッパとめくられていた感覚しかなくて（すいません）自分自身の勉強不足を感じてしまいました。
&lt;/p&gt;
&lt;div class="amazonlink"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798111112/popinchi-22/ref=nosim" title="オブジェクト指向入門 第2版 原則・コンセプト"&gt;
        &lt;img src="http://ec2.images-amazon.com/images/P/4798111112.01._SCMZZZZZZZ_.jpg" width="114" height="160" alt="オブジェクト指向入門 第2版 原則・コンセプト" /&gt;
    &lt;/a&gt;
    &lt;p&gt;
        &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798111112/popinchi-22/ref=nosim" title="オブジェクト指向入門 第2版 原則・コンセプト"&gt;
            オブジェクト指向入門 第2版 原則・コンセプト
        &lt;/a&gt;
    &lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;作者: バートランド・メイヤー(著) / 酒匂 寛(翻訳)&lt;/li&gt;
        &lt;li&gt;出版社/メーカー: 翔泳社&lt;/li&gt;
        &lt;li&gt;発売日: 2007/01/10&lt;/li&gt;
        &lt;li&gt;メディア: 単行本（ソフトカバー）&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;
    僕もこの本を読んで勉強しようと思います（って、無理だろ）。
&lt;/p&gt;
&lt;h4&gt;アマゾンウェブサービスとアプリケーション開発の新概念 [Millsさん@amazon.co.jp]&lt;/h4&gt;
&lt;p&gt;
    最近いろいろとお世話になっているアマゾンの、Millsさんのお話。
&lt;/p&gt;
&lt;p&gt;
    アマゾンはいろんなWebサービスを手がけていて、僕が以前ネタにした Amazon E-Commerce Service だけじゃなくて有料のサービスとかもありますよーという感じの話でした。
&lt;/p&gt;
&lt;p&gt;
    セッションでは例として Simple Storage Service（通称S3）をVisualStudio2005からWSDLを使ってカンタンに使えるとかそういったデモなどを交えつつ解説。話が軽快で面白かったのだけど、資料が紙1枚だけだったのでちょっと思い出すのに時間が&amp;#8230;（だからさっさと書けと）
&lt;/p&gt;
&lt;p&gt;
    でも資料に書いてあるURLへアクセスすればたいていのことを載っているので資料がなくてもいいよネ！とMillsさんはおっしゃってましたが、僕みたいな人もいるのでやっぱり資料は欲しいです orz
&lt;/p&gt;
&lt;p&gt;
    ほら、やっぱりあんまり覚えてない。
&lt;/p&gt;
&lt;h4&gt;パネルディスカッション 「オブジェクト指向ってなんだ in 東京」&lt;/h4&gt;
&lt;p&gt;
    来ちゃったよ来ちゃったよ。
&lt;/p&gt;
&lt;p&gt;
    朝、突然中さんから「パネルディスカッションのパネラーやってみぃへん？」と声をかけられて、思わず勢いで「いいッスよ」とか言ってしまったのが運のつき。
&lt;/p&gt;
&lt;p&gt;
    &lt;A href="http://blogs.wankuma.com/naoko/archive/2007/02/04/60820.aspx" title="主婦と.NETと犬のぶろぐ: 入院してました。"&gt;やんごとなき事情で来れなくなっていたなおこ(・∀・)さん&lt;/a&gt;と、仕事の都合で来れなくなってしまった&lt;A href="http://blogs.wankuma.com/shannon/" title=".COM -どっとこむ-"&gt;シャノンさん&lt;/a&gt;の代わりに、僕が「オブジェクト指向だなんてよくわかってない人代表」、あと&lt;a href="http://vene.wankuma.com/" title="Using Standard Blue Network : /AI があれば大丈夫（はぁと）"&gt;ヽ(ﾟ∀｡)ﾉうぇねさん&lt;/a&gt;が「ものすごくよく知っている人代表」ということでピンチヒッターを務めさせていただきました。もちろん王冠をかぶりましたとも。
&lt;/p&gt;
&lt;p&gt;
    でもねー、他のメンバーが&lt;A href="http://blogs.wankuma.com/mnow/" title="えムナウ Blog"&gt;えムナウさん&lt;/a&gt;、&lt;A href="http://blogs.wankuma.com/episteme/" title="東方算程譚"&gt;επιστημηさん&lt;/a&gt;に、午前中にオブジェクト指向のセッションまでやっちゃった&lt;A href="http://blogs.wankuma.com/hirom/" title="ひろえむの日々是勉強"&gt;ひろえむさん&lt;/a&gt;やら日ごろからC++でバリバリやってる&lt;A href="http://blogs.wankuma.com/tocchann/" title="とっちゃん's Blog"&gt;とっちゃん&lt;/a&gt;だったりして、僕などで太刀打ちできるはずもなく。王冠だけの出オチかよｗｗｗとか思われてるかも。
&lt;/p&gt;
&lt;p&gt;
    ディスカッションの内容はもうキンチョーしまくりでよく覚えていなかったりするのが本当なのですが ○|￣|＿
&lt;/p&gt;
&lt;p&gt;
    とりあえず微かに覚えている範囲では、どうやってオブジェクト指向を覚えたかという議題からなぜか「オレはこうやってプログラミング技術を習得したぜ」という自慢大会に発展していたこととか。えムナウさんなんか「TK80のダンプリストをハンド逆アセンブルしてマシン語覚えたぜ」とか、とっちゃんも「電気屋が開店したらすかさずコンピュータの前に陣取って一日中リストを入力して、動かなかったらなぜ動かないのかを考えつつ改造して&amp;#8230;」とか、それってこないだも聞いたよ的な話を(笑)実際僕も似たような感じではあったわけで、基礎をしっかりやってきたからこそオブジェクト指向のような技術もすんなり入れたんじゃないかという話。
&lt;/p&gt;
&lt;p&gt;
    あとはオブジェクト指向っていうのは考え方であって、別にC++みたいなオブジェクト指向言語じゃないと作れないわけじゃないし、Cでだってオブジェクト指向的なことはやってたよねとか。自分用のヘッダファイルと他人に渡す用のヘッダファイルを別に作っておいて、外から触られたくない（privateな）関数は他人向けのヘッダファイルには宣言を入れないとか、そういったことをしてたとか。
&lt;/p&gt;
&lt;p&gt;
    それと、オブジェクト指向とあまり関係ないところから出てきた（ような気がする）のは、今の人たちはアルゴリズムだったり、プログラムがどうやって動いているのかを理解しないまま最先端の技術&lt;strong&gt;だけ&lt;/strong&gt;を詰め込まれてるから、ちょっとしたことですぐつまづいたりするんじゃないのかなーという話。
&lt;/p&gt;
&lt;p&gt;
    僕がそこで例に出したのは、10年ぐらい前にVB4で組んでいたときに、ソートをコーディングするのが面倒で（まともにアルゴリズムの勉強をしていなかったので）非表示にしたListBoxにアイテムを追加して、SortプロパティをTrueに設定することでListBoxにソートさせるという方法を取っていたという恥ずかしい過去。しかも先日どこかの掲示板で&lt;strong&gt;まったく同じこと&lt;/strong&gt;を「これって便利ですよー」と書いていた人がいて「お前は10年前のオレか！」と叫んで黒烏龍茶噴いた、と。
&lt;/p&gt;
&lt;p&gt;
    そのときの話が非常に印象に残っていたのか、R・田中一郎さんが&lt;A href="http://blogs.wankuma.com/rti/archive/2007/02/09/61716.aspx" title="R.Tanaka.Ichiro's Blog: 貝殻並べ"&gt;こんなエントリ&lt;/a&gt;を書いていました。
&lt;/p&gt;
&lt;p&gt;
    たぶん、その流れになったのは「オブジェクト指向は構造化プログラミングの一環である」みたいな流れからだったんじゃなかったかと記憶。そもそも構造化プログラミングを知らないままオブジェクト指向とか詰め込まれてもわけわかんないし、わかる人はそこを突き抜ける瞬間があって、そのブレイクスルーがないと理解は難しいんじゃないか、みたいな。
&lt;/p&gt;
&lt;p&gt;
    この辺は僕の揮発寸前のメモリーを探るよりは、そのうち公開されるであろうビデオを見てもらったほうがいいかも :-) 責任逃れとかゆーなー
&lt;/p&gt;
&lt;p&gt;
    そしてこの後はお楽しみの懇親会があるわけですが&amp;#8230;それはそれで別のエントリに書くことにします（まだ続ける気かよ）。
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/62174.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ぽぴ王子</dc:creator><title>XMLでごにょごにょ</title><link>http://blogs.wankuma.com/popi/archive/2007/01/07/54975.aspx</link><pubDate>Sun, 07 Jan 2007 18:53:00 GMT</pubDate><guid>http://blogs.wankuma.com/popi/archive/2007/01/07/54975.aspx</guid><wfw:comment>http://blogs.wankuma.com/popi/comments/54975.aspx</wfw:comment><comments>http://blogs.wankuma.com/popi/archive/2007/01/07/54975.aspx#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://blogs.wankuma.com/popi/comments/commentRss/54975.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/popi/services/trackbacks/54975.aspx</trackback:ping><description>&lt;p&gt;
    年末からちょっとヒマだったので、少しXMLについて調べていました。と言ってもXMLというよりはAmazon Web サービス（以下AWS）の研究というか、そんな感じで。
&lt;/p&gt;
&lt;p&gt;
    面倒なのでAWSについての説明は省いてしまいますが（必要な場合はコメントで「書けよコラ！ジャンプしてみろよ！持ってんじゃねえか！」とか書いてみてください）webservices.amazon.co.jpにリクエストを投げると、必要なデータを返してくれるサービスです。
&lt;/p&gt;
&lt;p&gt;
    とりあえずやりたいことは、いま&lt;a href="http://www.ne.jp/asahi/popi/prince/" title="ぽぴンち。"&gt;ぽぴンち。&lt;/a&gt;でやっている、アソシエイト付のAmazonへのリンクを自動化したい。自動化というか動的に作成するまではしなくていいのだけど（どちらにしてもCGIは動かせないサーバなので）、現在手動でやっているHTML構築作業をプログラムにやらせたいなーと思って。
&lt;/p&gt;
&lt;p&gt;
    で、とりあえず組んでみたのが以下のコード。HttpWebRequestのサンプルまんまでちょっと恥ずかしいですが（エラーチェックもぜんぜんしてないし）AWSにアクセスしてXMLを取得、そこからDOM(Document Object Model)を作成するところまでなんとかできました。
&lt;/p&gt;
&lt;p&gt;
&lt;pre class="code"&gt;  &lt;span class="cast"&gt;List&lt;/span&gt;&amp;lt;&lt;span class="keyword"&gt;string&lt;/span&gt;&amp;gt; query = &lt;span class="keyword"&gt;new&lt;/span&gt; &lt;span class="cast"&gt;List&lt;/span&gt;&amp;lt;&lt;span class="keyword"&gt;string&lt;/span&gt;&amp;gt;();
  query.Add(&lt;span class="string"&gt;&amp;quot;AWSAccessKeyId=[この辺は表向きは書かないほうがいいかも]&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;AssociateTag=popinchi-22&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;Service=AWSECommerceService&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;ResponseGroup=ItemAttributes%2CImages&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;ItemPage=1&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;Operation=ItemLookup&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;ContentType=text%2Fxml&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;IdType=ASIN&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;Version=2005-10-05&amp;quot;&lt;/span&gt;);
  query.Add(&lt;span class="string"&gt;&amp;quot;ItemId=&amp;quot;&lt;/span&gt; + textBox1.Text.Trim());    &lt;span class="comment"&gt;// textBox1にASINを入れる&lt;/span&gt;
  System.Net.&lt;span class="cast"&gt;HttpWebRequest&lt;/span&gt; req =
    (System.Net.&lt;span class="cast"&gt;HttpWebRequest&lt;/span&gt;)System.Net.&lt;span class="cast"&gt;HttpWebRequest&lt;/span&gt;.Create(
      &lt;span class="string"&gt;&amp;quot;http://webservices.amazon.co.jp/onca/xml?&amp;quot;&lt;/span&gt; +
      &lt;span class="keyword"&gt;string&lt;/span&gt;.Join(&lt;span class="string"&gt;&amp;quot;&amp;amp;&amp;quot;&lt;/span&gt;, query.ToArray()));
  System.Net.&lt;span class="cast"&gt;HttpWebResponse&lt;/span&gt; res = (&lt;span class="cast"&gt;HttpWebResponse&lt;/span&gt;)req.GetResponse();
  &lt;span class="cast"&gt;Stream&lt;/span&gt; st = res.GetResponseStream();
  &lt;span class="cast"&gt;StreamReader&lt;/span&gt; sr = &lt;span class="keyword"&gt;new&lt;/span&gt; &lt;span class="cast"&gt;StreamReader&lt;/span&gt;(st, &lt;span class="cast"&gt;Encoding&lt;/span&gt;.UTF8);
  &lt;span class="keyword"&gt;string&lt;/span&gt; html = sr.ReadToEnd();
  sr.Close();
  st.Close();
  System.Xml.&lt;span class="cast"&gt;XmlDocument&lt;/span&gt; doc = &lt;span class="keyword"&gt;new&lt;/span&gt; System.Xml.&lt;span class="cast"&gt;XmlDocument&lt;/span&gt;();
  doc.LoadXml(html);&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
    ちなみにAWSからはこんな感じでXMLが返ってきます。ネタにするのは赤間本です(笑)。
&lt;/p&gt;
&lt;p&gt;
&lt;pre class="code"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&amp;lt;ItemLookupResponse xmlns=&amp;quot;http://webservices.amazon.com/AWSECommerceService/2005-10-05&amp;quot;&amp;gt;
  &amp;lt;OperationRequest&amp;gt;
    &amp;lt;HTTPHeaders&amp;gt;
      &amp;lt;Header Name=&amp;quot;UserAgent&amp;quot;&amp;gt;&amp;lt;/Header&amp;gt;
    &amp;lt;/HTTPHeaders&amp;gt;
    &amp;lt;RequestId&amp;gt;1ETT01ZG824EZ6F9CG7K&amp;lt;/RequestId&amp;gt;
    &amp;lt;Arguments&amp;gt;
      &amp;lt;Argument Name=&amp;quot;AssociateTag&amp;quot; Value=&amp;quot;popinchi-22&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;ItemId&amp;quot; Value=&amp;quot;4891005157&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;ContentType&amp;quot; Value=&amp;quot;text/xml&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;IdType&amp;quot; Value=&amp;quot;ASIN&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;ItemPage&amp;quot; Value=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;Service&amp;quot; Value=&amp;quot;AWSECommerceService&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;AWSAccessKeyId&amp;quot; Value=&amp;quot;&lt;span class="keyword"&gt;な・い・しょ&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;Version&amp;quot; Value=&amp;quot;2005-10-05&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;ResponseGroup&amp;quot; Value=&amp;quot;ItemAttributes,Images&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
      &amp;lt;Argument Name=&amp;quot;Operation&amp;quot; Value=&amp;quot;ItemLookup&amp;quot;&amp;gt;&amp;lt;/Argument&amp;gt;
    &amp;lt;/Arguments&amp;gt;
    &amp;lt;RequestProcessingTime&amp;gt;0.0263030529022217&amp;lt;/RequestProcessingTime&amp;gt;
  &amp;lt;/OperationRequest&amp;gt;
  &amp;lt;Items&amp;gt;
    &amp;lt;Request&amp;gt;
      &amp;lt;IsValid&amp;gt;True&amp;lt;/IsValid&amp;gt;
      &amp;lt;ItemLookupRequest&amp;gt;
        &amp;lt;IdType&amp;gt;ASIN&amp;lt;/IdType&amp;gt;
        &amp;lt;ItemId&amp;gt;4891005157&amp;lt;/ItemId&amp;gt;
        &amp;lt;ResponseGroup&amp;gt;ItemAttributes&amp;lt;/ResponseGroup&amp;gt;
        &amp;lt;ResponseGroup&amp;gt;Images&amp;lt;/ResponseGroup&amp;gt;
      &amp;lt;/ItemLookupRequest&amp;gt;
    &amp;lt;/Request&amp;gt;
    &amp;lt;Item&amp;gt;
      &amp;lt;ASIN&amp;gt;4891005157&amp;lt;/ASIN&amp;gt;
      &amp;lt;DetailPageURL&amp;gt;http://www.amazon.co.jp/gp/&lt;span class="keyword"&gt;（略）&lt;/span&gt;&amp;lt;/DetailPageURL&amp;gt;
      &amp;lt;SmallImage&amp;gt;
        &amp;lt;URL&amp;gt;
          http://ec2.images-amazon.com/images/P/4891005157.01._SCTHUMBZZZ_V51803122_.jpg
        &amp;lt;/URL&amp;gt;
        &amp;lt;Height Units=&amp;quot;pixels&amp;quot;&amp;gt;75&amp;lt;/Height&amp;gt;
        &amp;lt;Width Units=&amp;quot;pixels&amp;quot;&amp;gt;58&amp;lt;/Width&amp;gt;
      &amp;lt;/SmallImage&amp;gt;
      &amp;lt;MediumImage&amp;gt;
        &amp;lt;URL&amp;gt;
          http://ec2.images-amazon.com/images/P/4891005157.01._SCMZZZZZZZ_V51803122_.jpg
        &amp;lt;/URL&amp;gt;
        &amp;lt;Height Units=&amp;quot;pixels&amp;quot;&amp;gt;160&amp;lt;/Height&amp;gt;
        &amp;lt;Width Units=&amp;quot;pixels&amp;quot;&amp;gt;123&amp;lt;/Width&amp;gt;
      &amp;lt;/MediumImage&amp;gt;
      &amp;lt;LargeImage&amp;gt;
        &amp;lt;URL&amp;gt;
          http://ec2.images-amazon.com/images/P/4891005157.01._SCLZZZZZZZ_V51803122_.jpg
        &amp;lt;/URL&amp;gt;
        &amp;lt;Height Units=&amp;quot;pixels&amp;quot;&amp;gt;500&amp;lt;/Height&amp;gt;
        &amp;lt;Width Units=&amp;quot;pixels&amp;quot;&amp;gt;383&amp;lt;/Width&amp;gt;
      &amp;lt;/LargeImage&amp;gt;
      &amp;lt;ImageSets&amp;gt;
        &amp;lt;ImageSet Category=&amp;quot;primary&amp;quot;&amp;gt;
          &lt;span class="keyword"&gt;（上記SmallImage～LargeImageと同内容なので省略）&lt;/span&gt;
        &amp;lt;/ImageSet&amp;gt;
      &amp;lt;/ImageSets&amp;gt;
      &amp;lt;ItemAttributes&amp;gt;
        &amp;lt;Author&amp;gt;赤間 信幸&amp;lt;/Author&amp;gt;
        &amp;lt;Binding&amp;gt;大型本&amp;lt;/Binding&amp;gt;
        &amp;lt;Creator Role=&amp;quot;著&amp;quot;&amp;gt;赤間 信幸&amp;lt;/Creator&amp;gt;
        &amp;lt;Label&amp;gt;日経BPソフトプレス&amp;lt;/Label&amp;gt;
        &amp;lt;ListPrice&amp;gt;
        &amp;lt;Amount&amp;gt;3990&amp;lt;/Amount&amp;gt;
        &amp;lt;CurrencyCode&amp;gt;JPY&amp;lt;/CurrencyCode&amp;gt;
        &amp;lt;FormattedPrice&amp;gt;￥ 3,990&amp;lt;/FormattedPrice&amp;gt;
        &amp;lt;/ListPrice&amp;gt;
        &amp;lt;Manufacturer&amp;gt;日経BPソフトプレス&amp;lt;/Manufacturer&amp;gt;
        &amp;lt;NumberOfPages&amp;gt;416&amp;lt;/NumberOfPages&amp;gt;
        &amp;lt;PackageDimensions&amp;gt;
        &amp;lt;Length Units=&amp;quot;cm&amp;quot;&amp;gt;24&amp;lt;/Length&amp;gt;
        &amp;lt;/PackageDimensions&amp;gt;
        &amp;lt;ProductGroup&amp;gt;Book&amp;lt;/ProductGroup&amp;gt;
        &amp;lt;PublicationDate&amp;gt;2006-05-18&amp;lt;/PublicationDate&amp;gt;
        &amp;lt;Publisher&amp;gt;日経BPソフトプレス&amp;lt;/Publisher&amp;gt;
        &amp;lt;Studio&amp;gt;日経BPソフトプレス&amp;lt;/Studio&amp;gt;
        &amp;lt;Title&amp;gt;Microsoft Visual Studio 2005によるWebアプリケーション構築技法&amp;lt;/Title&amp;gt;
      &amp;lt;/ItemAttributes&amp;gt;
    &amp;lt;/Item&amp;gt;
  &amp;lt;/Items&amp;gt;
&amp;lt;/ItemLookupResponse&amp;gt;
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
    このXMLからこんな感じのイメージを出力したいわけです。こらそこっ、&lt;a href="http://d.hatena.ne.jp/" title="はてなダイアリー - キーワードでつながる多機能ブログ"&gt;はてなダイアリー&lt;/a&gt;みたいとかいうなー！
&lt;/p&gt;
&lt;div class="amazonlink"&gt;
    &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4891005157/popinchi-22/ref=nosim" title="Microsoft Visual Studio 2005によるWebアプリケーション構築技法"&gt;
        &lt;img src="http://ec2.images-amazon.com/images/P/4891005157.01._SCMZZZZZZZ_V51803122_.jpg" alt="Microsoft Visual Studio 2005によるWebアプリケーション構築技法" /&gt;
    &lt;/a&gt;
    &lt;p&gt;
        &lt;a href="http://www.amazon.co.jp/exec/obidos/ASIN/4891005157/popinchi-22/ref=nosim" title="Microsoft Visual Studio 2005によるWebアプリケーション構築技法"&gt;
            Microsoft Visual Studio 2005によるWebアプリケーション構築技法
        &lt;/a&gt;
    &lt;/p&gt;
    &lt;ul&gt;
        &lt;li&gt;作者: 赤間 信幸&lt;/li&gt;
        &lt;li&gt;出版社/メーカー: 日経BPソフトプレス&lt;/li&gt;
        &lt;li&gt;発売日: 2006/05/18&lt;/li&gt;
        &lt;li&gt;メディア: 大型本&lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;
    ここまではなんとかなったのだけど、ここから先をどうするかというところでいろいろ考えていたり。
&lt;/p&gt;
&lt;p&gt;
    XmlDocument.LoadXmlメソッドでもってDOMツリーは構築できているのだけど、そのノードにそれぞれアクセスするのはどうするかﾆｬｰとか。とりあえずこういうコードを書いてみたけど、あまりにベタすぎて目から汗が出た orz
&lt;/p&gt;
&lt;p&gt;
&lt;pre class="code"&gt;
  System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; nodeItemLookupResponse = doc.ChildNodes[1];
  System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; nodeItems = nodeItemLookupResponse.ChildNodes[1];
  System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; nodeItem = nodeItems.ChildNodes[1];
  System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; nodeMediumImage = &lt;span class="keyword"&gt;null&lt;/span&gt;;
  &lt;span class="keyword"&gt;foreach&lt;/span&gt; (System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; node &lt;span class="keyword"&gt;in&lt;/span&gt; nodeItem.ChildNodes)
  {
    &lt;span class="keyword"&gt;if&lt;/span&gt; (node.Name == &lt;span class="string"&gt;&amp;quot;MediumImage&amp;quot;&lt;/span&gt;)
    {
      nodeMediumImage = node;
      &lt;span class="keyword"&gt;break&lt;/span&gt;;
    }
  }
  &lt;span class="keyword"&gt;if&lt;/span&gt; (nodeMediumImage != &lt;span class="keyword"&gt;null&lt;/span&gt;)
  {
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;URL:{0}&amp;quot;&lt;/span&gt;, nodeMediumImage.ChildNodes[0].InnerText);
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;Height:{0}&amp;quot;&lt;/span&gt;, nodeMediumImage.ChildNodes[1].InnerText);
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;Width:{0}&amp;quot;&lt;/span&gt;, nodeMediumImage.ChildNodes[2].InnerText);
  }
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
    これじゃあァァァんまりだァァアァ（エシディシ）ということで、ちょっと調査。SelectNodes/SelectSingleNodeメソッドを使うとXPathからノードが取れるとな！よーしよーしよし（ムツゴロウさん）なんとかなりそうだぜ&amp;#8230;とこんなコードを書いてみた。
&lt;/p&gt;
&lt;p&gt;
&lt;pre class="code"&gt;
  System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; nodeMediumImage = doc.SelectSingleNode(&lt;span class="string"&gt;&amp;quot;/ItemLookupResponse/Items/Item/MediumImage&amp;quot;&lt;/span&gt;);
  &lt;span class="keyword"&gt;if&lt;/span&gt; (nodeMediumImage != &lt;span class="keyword"&gt;null&lt;/span&gt;)
  {
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;あったーよ！&amp;quot;&lt;/span&gt;);
  }
  &lt;span class="keyword"&gt;else&lt;/span&gt;
  {
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;なかったズラ&amp;quot;&lt;/span&gt;);
  }
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
    しかし結果は「なかったズラ」一辺倒。うむむ、試しに適当に作ったXMLファイルだとうまく動いたりするので、何かが足りないらしい。
&lt;/p&gt;
&lt;p&gt;
    動かない原因を調べてみたところ、ItemLookupResponseのxmlnsが付いていると検索できないっぽいです。XMLについては素人の私ですが、とりあえずネームスペース関係らしいことぐらいはわかります。かと言って、なぜこのネームスペース指定があると検索できないのかまではさっぱりわからず。勉強不足ですね orz
&lt;/p&gt;
&lt;p&gt;
    それで今日一日調べていたのですけど（ヒマですね）どうやらこんな感じでやればイケるみたいです。要はXmlNameManagerクラスを作って、そこにAddNamespaceメソッドで別名を定義、選択時はその別名をつけて検索せよと。
&lt;/p&gt;
&lt;p&gt;
    参考：&lt;a href="http://www.atmarkit.co.jp/fdotnet/easyxml/easyxml05/easyxml05_01.html" title="＠IT：連載：.NETで簡単XML　第5回 DOMとXPath"&gt;＠IT：連載：.NETで簡単XML　第5回 DOMとXPath&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;pre class="code"&gt;
  System.Xml.&lt;span class="cast"&gt;XmlNamespaceManager&lt;/span&gt; nsManager = new System.Xml.&lt;span class="cast"&gt;XmlNamespaceManager&lt;/span&gt;(doc.NameTable);
  nsManager.AddNamespace(&lt;span class="string"&gt;&amp;quot;aws&amp;quot;&lt;/span&gt;, &lt;span class="string"&gt;&amp;quot;http://webservices.amazon.com/AWSECommerceService/2005-10-05&amp;quot;&lt;/span&gt;);
  nodeMediumImage = doc.SelectSingleNode(
    &lt;span class="string"&gt;&amp;quot;/aws:ItemLookupResponse/aws:Items/aws:Item/aws:MediumImage&amp;quot;&lt;/span&gt;, nsManager);
  &lt;span class="keyword"&gt;if&lt;/span&gt; (nodeMediumImage != &lt;span class="keyword"&gt;null&lt;/span&gt;)
  {
    System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; nodeValue;
    System.Xml.&lt;span class="cast"&gt;XmlNode&lt;/span&gt; nodeAttrib;
    nodeValue = nodeMediumImage.SelectSingleNode(&lt;span class="string"&gt;&amp;quot;aws:URL/text()&amp;quot;&lt;/span&gt;, nsManager);
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;URL:{0}&amp;quot;&lt;/span&gt;, node.Value);
    nodeValue = nodeMediumImage.SelectSingleNode(&lt;span class="string"&gt;&amp;quot;aws:Width/text()&amp;quot;&lt;/span&gt;, nsManager);
    nodeAttrib = nodeMediumImage.SelectSingleNode(&lt;span class="string"&gt;&amp;quot;aws:Width/@Units&amp;quot;&lt;/span&gt;, nsManager);
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;Width:{0}{1}&amp;quot;&lt;/span&gt;, nodeValue.Value, nodeAttrib.Value);
    nodeValue = nodeMediumImage.SelectSingleNode(&lt;span class="string"&gt;&amp;quot;aws:Height/text()&amp;quot;&lt;/span&gt;, nsManager);
    nodeAttrib = nodeMediumImage.SelectSingleNode(&lt;span class="string"&gt;&amp;quot;aws:Height/@Units&amp;quot;&lt;/span&gt;, nsManager);
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;Height:{0}{1}&amp;quot;&lt;/span&gt;, nodeValue.Value, nodeAttrib.Value);
  }
  &lt;span class="keyword"&gt;else&lt;/span&gt;
  {
    System.Diagnostics.&lt;span class="cast"&gt;Debug&lt;/span&gt;.Print(&lt;span class="string"&gt;&amp;quot;なかったズラ&amp;quot;&lt;/span&gt;);
  }
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
    と、これでとりあえずは取得できることが判明したわけで、また一歩野望に近づいた！（何の野望だ）。
&lt;/p&gt;
&lt;p&gt;
    続きは気が向いたら書くことにします。
&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/popi/aggbug/54975.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>