<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:cc="http://web.resource.org/cc/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/"
    xml:lang="ja">

    <channel rdf:about="http://blog.tk-engineering.com/index.rdf">
    <title>tk-engineering.com Technical blog</title>
    <link>http://blog.tk-engineering.com/</link>
    <description>To explore strange new systems.&lt;br /&gt;
To seek out new bugs and new coding horrors.&lt;br /&gt;
To boldly go where no man has not wanted to go before.</description>
    <dc:language>ja</dc:language>
    <admin:generatorAgent rdf:resource="http://lolipoblog.jp/?v=1.0"/>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=793572" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=784411" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=784389" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=782507" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=782255" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=781608" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=769533" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=760965" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=755323" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=754571" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=754163" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=745312" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=744532" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=743638" />
        <rdf:li rdf:resource="http://blog.tk-engineering.com/?eid=742509" />
      </rdf:Seq>
    </items>
    </channel>

  <item rdf:about="http://blog.tk-engineering.com/?eid=793572">
    <link>http://blog.tk-engineering.com/?eid=793572</link>
    <title>DirectoryServices の HRESULT 一覧</title>
    <description>DirectoryServices でドメインコントローラーとあれこれやり取りをしようとして失敗すると Exception が返ってくるわけです。
それは良いとして、ex.Message が珍妙な内容であることが多いのです。

「サーバーは利用できません。」…いや、サーバー動いてるし。
「サーバーか...</description>
<content:encoded><![CDATA[
DirectoryServices でドメインコントローラーとあれこれやり取りをしようとして失敗すると Exception が返ってくるわけです。<br />
それは良いとして、ex.Message が珍妙な内容であることが多いのです。<br />
<br />
「サーバーは利用できません。」…<em>いや、サーバー動いてるし。</em><br />
「サーバーから紹介が返ってきました。」…<em>出会い系spamですか？</em><br />
<br />
で、よく見ると、HRESULT の値が入っているわけです。<br />
中身はCOMで動いているらしいので、伝統のHRESULTが返却されている訳ですね。<br />
<br />
で、それぞれの値が何を意味するのか。探してみたところ、よい一覧がありました。原因と対策付です。英語です。<br />
<br />
<a href="http://www.computerperformance.co.uk/index.htm" target="_blank">Computer Performance</a> より、<a href="http://www.computerperformance.co.uk/Logon/logon_scripts.htm" target="_blank">Logon Scripts</a>→"Help with Logon Scripts" の <a href="http://www.computerperformance.co.uk/Logon/code/index.htm" target="_blank">800xxxx Error Codes</a> です。<br />
<br />
番号順に記述されているので、非常にわかりやすいです。<br />
<br />
但し、記述されている番号は16進表記です。したがって、Visual Studio 内や実行時に表示される10進表記を16進変換してから調べる必要があります…が、そこは、Windows付属の「電卓」が変換してくれます（16進なんか入力できないよって人は、表示(V)→関数電卓(S)をどうぞ）。<br />
<br />
<br />
また、同様に"Help with Logon scripts"　にある <a href="http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm" target="_blank">LDAP Properties</a> は、あの呪文のようなLDAPクエリの文字列を解説してくれています。まさに "Hall of fame"という感じです。<br />
<br />
ご紹介まで。
]]></content:encoded>
    <dc:subject>.NET</dc:subject>
    <dc:date>2008-08-25T18:56:28+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=784411">
    <link>http://blog.tk-engineering.com/?eid=784411</link>
    <title>Visual Studio 内での無限ループの止め方</title>
    <description>Visual Studio 内でデバック中に、無限ループに落ちてしまったら？
あわてず騒がず、[Esc] か、[Ctrl]+[Pause/Break] を押しましょう。

少なくとも [Ctrl]+[Pause/Break] は、VB6でも使えます。

#しっかりと、MSDNの&quot;Do...Loopステートメント&quot;の所に記述してありました。</description>
<content:encoded><![CDATA[
Visual Studio 内でデバック中に、無限ループに落ちてしまったら？<br />
あわてず騒がず、[Esc] か、[Ctrl]+[Pause/Break] を押しましょう。<br />
<br />
少なくとも [Ctrl]+[Pause/Break] は、VB6でも使えます。<br />
<br />
#しっかりと、MSDNの"<a href="http://msdn.microsoft.com/ja-jp/library/eked04a7(VS.80).aspx" target="_blank">Do...Loopステートメント</a>"の所に記述してありました。
]]></content:encoded>
    <dc:subject>.NET</dc:subject>
    <dc:date>2008-07-23T13:36:20+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=784389">
    <link>http://blog.tk-engineering.com/?eid=784389</link>
    <title>商用でコレは無いだろう…</title>
    <description>元ネタ：「ヘッダコメントを使おう」

とある商用ライブラリをオシゴトで使っている訳です。
そのリファレンスがイマドキPDFというイケて無さを感じながら使ってみました。先ず不穏な雰囲気を感じたのはVisual Studio から参照設定を設定した時。

バージョン番号が&quot;0.0.0&quot;と表...</description>
<content:encoded><![CDATA[
元ネタ：「<a href="http://blog.tk-engineering.com/?eid=704705" target="_blank">ヘッダコメントを使おう</a>」<br />
<br />
とある商用ライブラリをオシゴトで使っている訳です。<br />
そのリファレンスがイマドキPDFというイケて無さを感じながら使ってみました。先ず不穏な雰囲気を感じたのはVisual Studio から参照設定を設定した時。<br />
<br />
バージョン番号が"0.0.0"と表示されまして。<br />
<br />
えぇっ！！なにそれ？？<br />
<br />
で、ガシガシと書いていく訳ですが、インテリセンスの表示を見て愕然…<br />
<img src="images/A_Method.jpg" width="161" height="36" alt="" class="pict" /><br />
なにこれっ！<br />
<br />
このぞんざいなパラメータ名、ヘッダコメント皆無…<br />
商用でこれは酷くね？？<br />
<br />
思わず担当営業を呼び出してクレーム入れようかと思うほどでした。<br />
<br />
と、言う訳で、パラメータ名、ヘッダコメントはきちんと入れましょうというオハナシでした。
]]></content:encoded>
    <dc:subject>下らんグチ話</dc:subject>
    <dc:date>2008-07-23T11:06:11+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=782507">
    <link>http://blog.tk-engineering.com/?eid=782507</link>
    <title>プロジェクトの種類と&amp;quot;My&amp;quot;</title>
    <description>よくご厄介になる&quot;My&quot;名前空間ですが、プロジェクトの種類によってその中身が微妙に異なります。

よく考えてみなくても当たり前の話で、Web アプリケーションなのに &quot;My.Computer.Registry&quot;にアクセスできるとか、Windows フォームアプリケーションなのに&quot;My.Response&quot;にア...</description>
<content:encoded><![CDATA[
よくご厄介になる"My"名前空間ですが、プロジェクトの種類によってその中身が微妙に異なります。<br />
<br />
よく考えてみなくても当たり前の話で、Web アプリケーションなのに "My.Computer.Registry"にアクセスできるとか、Windows フォームアプリケーションなのに"My.Response"にアクセスできるとか、そんなアホなことが出来て良いわけがありません。<br />
<br />
そんなわけで、どんなプロジェクトの時にどの"My"にアクセスできるかの一覧はコチラ<br />
<a href="http://msdn.microsoft.com/ja-jp/library/ms172698(VS.80).aspx" target="_blank">MSDN:プロジェクトの種類に応じた My の機能 (2.0用)</a><br />
<a href="http://msdn.microsoft.com/ja-jp/library/ms172698.aspx" target="_blank">MSDN:プロジェクトの種類に応じた My の機能 (3.5用)</a><br />
<br />
でもって、"My"辺りの自動生成コードを眺めていると、やたらと"#IF _MYTYPE = ... "ってのが出てきます。この"_MYTPE"でプロジェクトの種類を判別しています。この"_MYTYPE"ってのが何者か？どんな値をとるのか？ってのは、コチラです。<br />
<a href="http://msdn.microsoft.com/ja-jp/library/ms233781(VS.80).aspx" target="_blank">MSDN:My で利用可能なオブジェクトのカスタマイズ(2.0用)</a><br />
<a href="http://msdn.microsoft.com/ja-jp/library/ms233781.aspx" target="_blank">MSDN:MSDN:My で利用可能なオブジェクトのカスタマイズ(3.5用)</a><br />
<br />
この"_MYTYPE"、知っておいて損はないでしょう。使う機会はあまり想像できませんが…（コードの<strike>使いまわし</strike>再利用とかには使えそうです。）
]]></content:encoded>
    <dc:subject>.NET</dc:subject>
    <dc:date>2008-07-16T17:38:04+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=782255">
    <link>http://blog.tk-engineering.com/?eid=782255</link>
    <title>相手のことも考えよう</title>
    <description>自分の都合だけじゃなくって、人様のご都合ってのも…
ってな説教をしたい訳ではありません。むしろネタ。

今日、某所（離れた所）から送られてきたメールで、リモート接続に関するオシラセがありました。
・テストサーバ(192.168.0.***) への接続には、Administratorを使用...</description>
<content:encoded><![CDATA[
自分の都合だけじゃなくって、人様のご都合ってのも…<br />
ってな説教をしたい訳ではありません。むしろネタ。<br />
<br />
今日、某所（離れた所）から送られてきたメールで、リモート接続に関するオシラセがありました。<br />
<blockquote>・テストサーバ(192.168.0.***) への接続には、Administratorを使用しないでください。<br />
・テストクライアント(192.168.0.***〜***) への接続はアカウント"***"を使用してください。それぞれ3接続しかありません。<br />
<em>以下略…</em><br />
</blockquote><br />
思わず噴いちゃいました。<br />
どうやったらローカルアドレスで接続できるのかと。<br />
VPNでもつながってれば解らなくはないですが、そんなゴタイソウなものはありません。<br />
<br />
つまり、「自分から見たアドレス」と「ワタクシから見たアドレス」は違うんですが、メールを書く時に普段自分が使っているアドレスのことしか考えなかったんだろうなと。<br />
<br />
ま、そうやって基本を忘れた結果として<a href="http://ssquare.cocolog-nifty.com/tsubuyaki/2005/04/post_c6f5.html" target="_blank">こういう顛末</a>にならないことを祈ります。
]]></content:encoded>
    <dc:subject>下らんグチ話</dc:subject>
    <dc:date>2008-07-15T18:21:25+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=781608">
    <link>http://blog.tk-engineering.com/?eid=781608</link>
    <title>予備リソースを用意すること</title>
    <description>スケジュールを組む時、もてるリソースを全て動員し、時にはマネージャー自身までそれに入れてスケジュールを組むのが普通です。余っているリソースがあれば、監査担当（たいていは顧客や上司）から「なんだこれは！」と激しい突っ込みを喰らうのも、これまた普通です。

し...</description>
<content:encoded><![CDATA[
スケジュールを組む時、もてるリソースを全て動員し、時にはマネージャー自身までそれに入れてスケジュールを組むのが普通です。余っているリソースがあれば、監査担当（たいていは顧客や上司）から「なんだこれは！」と激しい突っ込みを喰らうのも、これまた普通です。<br />
<br />
しかし、あえて特定のモノにアサインしない「予備」を用意しておくべきです−それは決してマネージャー自身ではない「誰か」です。<br />
実装であれば、最も経験のあるプログラマ−要するに、最も使える、頼りになる人を「予備」として脇によけておくのです。<br />
<br />
例えば、実装で遅れが出た場合、タダでさえカツカツのスケジュールに対して遅れている訳なので、リカバリには通常の何倍もの生産性が必要な訳です。確かにスケジュールを引く時の「定石」としてバッファを取ってあるわけですが、ヤバイ時というのは、そのバッファすら食いつぶしているのが普通です。したがって、最も「仕事が早くて確かな（手戻りの少ない）」人を持ってリカバリに当たらなければいけません。そのリカバリに当たる人さえ、初手からイッパイイッパイだったら？打つ手がありません。<br />
<br />
そう言うわけで、プロジェクトには「予備」−聞こえが悪ければ「遊撃」−を用意しておくべきなのです。普段は他のメンバーのサポートや調査その他モロモロ、一見すると「何もしてねぇんじゃね？」的な場所に下がっていながら、いざとなると力一杯火を消しに掛かる−そんなリソースを用意しておくべきなのです。<br />
<br />
そして、それが「予備」であることを監査担当にわからせないように、突っ込ませないようにする−それもマネージャーの仕事のうちです。
]]></content:encoded>
    <dc:subject>下らんグチ話</dc:subject>
    <dc:date>2008-07-13T14:40:18+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=769533">
    <link>http://blog.tk-engineering.com/?eid=769533</link>
    <title>なぜ私が非公式の進捗報告をしないようにしたのか</title>
    <description>管理する側の人間が非公式に（つまり、公式ルート以外で）進捗なり何なりについて聞いてくるというのは、大体においてロクな兆候ではありません。例えば…
・公式ルート経由での報告が信用できない
・そのまた上司や顧客に聞かれたから、トコロテン方式で質問がまわってきた
...</description>
<content:encoded><![CDATA[
管理する側の人間が非公式に（つまり、公式ルート以外で）進捗なり何なりについて聞いてくるというのは、大体においてロクな兆候ではありません。例えば…<br />
<blockquote>・公式ルート経由での報告が信用できない<br />
・そのまた上司や顧客に聞かれたから、トコロテン方式で質問がまわってきた<br />
・他の人間にも同じ質問を投げて、反応を見比べている<br />
</blockquote>…とかとか<br />
そして、悪いことに、この手の「非公式の」報告というヤツは、非公式なだけに「噂」レベルの流通となり、いつの間にやらあちらこちらに流出して尾びれ背びれが付くものと、相場が決まってます。<br />
さらに、この手の噂が広まったが最後、それをどうこうするのには、大変な労力を必要とします。そういうややこしい事態にしないためには、初手からそんな情報を流さないに限ります。<br />
<br />
ただし、非公式報告の全てが悪いという気はありません。<br />
例えば隣の席の同僚と「どう？」なんて会話をする場合とか。<br />
これすらためらわれるような状況であれば、そんな心配をしなくても、そのプロジェクトは既に死んでます。
]]></content:encoded>
    <dc:subject>下らんグチ話</dc:subject>
    <dc:date>2008-06-02T11:13:34+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=760965">
    <link>http://blog.tk-engineering.com/?eid=760965</link>
    <title>喰えねぇなら出すんじゃねぇ</title>
    <description>レストランとかの話をしている時に、「あそこの主人、自分で食べて無いらしいよ」なんて話を聞くと、いっぺんに評価が下がります。
自分で喰わないものを、金とって人様に出すのかい？

コッチの業界でも同じで、自分たちでも使わない・使いたくないようなシロモノを、金とっ...</description>
<content:encoded><![CDATA[
レストランとかの話をしている時に、「あそこの主人、自分で食べて無いらしいよ」なんて話を聞くと、いっぺんに評価が下がります。<br />
自分で喰わないものを、金とって人様に出すのかい？<br />
<br />
コッチの業界でも同じで、自分たちでも使わない・使いたくないようなシロモノを、金とって人様に収めるのかい？<br />
そりゃ、我々が倉庫の在庫管理システムや学習塾の受講管理システムを使うことは無いでしょう<span style="font-size:x-small;">（その方面に転職しなきゃね）</span>。<br />
でも、少なくとも「使いたい」「人に勧めたい」ぐらいのシロモノでないと、如何なものかと思うわけです。<br />
<br />
確かに、実装段階からプロジェクトに入ったとか、そういう「変更不能点」を越えた状態でなら仕方ないでしょう。また、人間誰しも食っていかなきゃならないという現実もあるわけです。<br />
<br />
ただ、システムを設計するとか、或いはパッケージを作ってる<span style="font-size:x-small;">（受託の一品モノじゃなくって）</span>とか、そういう時には、忘れてはいけない心掛けだと思うわけです。
]]></content:encoded>
    <dc:subject>下らんグチ話</dc:subject>
    <dc:date>2008-05-05T21:00:55+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=755323">
    <link>http://blog.tk-engineering.com/?eid=755323</link>
    <title>msdn blog の翻訳版 - Sara Ford's WebLog</title>
    <description>msdn blogは、いろいろな情報が出ていて非常に使えるのですが、英語−というか、翻訳されていないのが欠点でした。

これがこの度翻訳版が出まして。
&quot;Sara Ford's WebLog&quot;の翻訳版「Visual Studio 2008 ワンポイント (Sara Ford's Weblog)」が出ました。

ちょいと頭に引っか...</description>
<content:encoded><![CDATA[
<a href="http://blogs.msdn.com" target="_blank">msdn blog</a>は、いろいろな情報が出ていて非常に使えるのですが、英語−というか、翻訳されていないのが欠点でした。<br />
<br />
これがこの度翻訳版が出まして。<br />
"<a href="http://blogs.msdn.com/saraford/default.aspx" target="_blank">Sara Ford's WebLog</a>"の翻訳版「<a href="http://blogs.msdn.com/vstipsjpn/" target="_blank">Visual Studio 2008 ワンポイント (Sara Ford's Weblog)</a>」が出ました。<br />
<br />
ちょいと頭に引っかかるものがあったので調べてみたら、昔、<a href="http://salv.miscnotes.com/" target="_blank">さるべーじ</a>さんが訳してた「<a href="http://salv.miscnotes.com/11_programming/05sford/" target="_blank">S.Fordの"ご存知でしたか？"</a>」の続きなんですね。<br />
<br />
しかし、何がすごいって、そのまま連綿と#196まで続いているのがすごい！<br />
<br />
いずれにしても、こうやって公式(?)訳を出してくれるというのは、実にありがたい話です。
]]></content:encoded>
    <dc:subject>ニュースとか</dc:subject>
    <dc:date>2008-04-18T10:46:23+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=754571">
    <link>http://blog.tk-engineering.com/?eid=754571</link>
    <title>【小ネタ】ソースコード中のXMLの文字の色</title>
    <description>VS2008 の VB.NET では、こんな書き方ができます。

Dim hoge = &amp;lt;hoge&amp;gt;
　　　　　　&amp;lt;fuga&amp;gt;&amp;lt;/fuga&amp;gt;
　　　　　&amp;lt;/hoge&amp;gt;

引用符が無いところに注目してください。

でもって、VS2008 のフォントと色をカスタマイズしていると、やたらと見難くなる事があり...</description>
<content:encoded><![CDATA[
VS2008 の VB.NET では、こんな書き方ができます。<br />
<blockquote><br />
Dim hoge = &lt;hoge&gt;<br />
　　　　　　&lt;fuga&gt;&lt;/fuga&gt;<br />
　　　　　&lt;/hoge&gt;<br />
</blockquote><br />
引用符が無いところに注目してください。<br />
<br />
でもって、VS2008 のフォントと色をカスタマイズしていると、やたらと見難くなる事があります。<br />
<br />
「フォントと色」で変更しようとして、XMLとかXAMLとかを変更してみても、効果はありません。<br />
これらは、「VB の XML…」で設定されています。<br />
<img src="images/VB_XML.JPG" width="747" height="507" alt="VBのXML..." class="pict" />
]]></content:encoded>
    <dc:subject>.NET</dc:subject>
    <dc:date>2008-04-16T01:30:40+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=754163">
    <link>http://blog.tk-engineering.com/?eid=754163</link>
    <title>プロジェクトはパートナーシップ…</title>
    <description>発注側がいて受注側がいて。あるいは営業部門がいて技術部門がいて。
こういう関係者の間で、「いっしょにがんばりましょう！」ってのが、得てしてプロジェクトの始まりの頃です。
で、だんだんきつくなっていくと、「いっしょに泥にまみれましょう！」と、なんとか前向きに...</description>
<content:encoded><![CDATA[
発注側がいて受注側がいて。あるいは営業部門がいて技術部門がいて。<br />
こういう関係者の間で、「いっしょにがんばりましょう！」ってのが、得てしてプロジェクトの始まりの頃です。<br />
で、だんだんきつくなっていくと、「いっしょに泥にまみれましょう！」と、なんとか前向きに持っていこうとするわけです。<br />
さらにきつくなっても、「仲間じゃないか！」と、ややもすると80年代頃の青春ドラマ風味でなんとか乗り切ろうとします。<br />
<br />
で、それで乗り切れれば、それはデスマでは無いわけで。<br />
本当ならば強調しなければいけないヒトビトがいがみ合い、縄張り争いをはじめ…さらには、「それ、あいつらの仕事だろ。なんでそのために残業しなきゃいけないわけ？」という、ある意味ごもっともな文句が出てくるわけです。<br />
そういう文句が上層部に到達するのは非常に高速なので、「以後、このプロジェクトで当部門の人員を残業させることは禁止する。残業させる場合は、その分の残業代を貴部門（あるいは貴社）に請求する。」「ウチのｘｘ、このプロジェクトに専従状態なんだから、人件費全額、そっちで持てよな」などのオフィシャルレターが飛んだりします。<br />
要するに「好きなだけ泥にまみれて赤字垂れ流せよ。オレはいやだけどな。」って言うことですな。<br />
<br />
こうなると、もはやパートナーシップではなく奴隷船ですな。<br />
ま、デスマの嵐の中では、こんなもんでしょ。<br />
<blockquote>パートナーシップ：順風の時には二人乗りだが、嵐になると一人乗り。これもそんな程度の船。<br />
（参考：A.ビアス『悪魔の辞典』）</blockquote>
]]></content:encoded>
    <dc:subject>下らんグチ話</dc:subject>
    <dc:date>2008-04-14T21:32:58+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=745312">
    <link>http://blog.tk-engineering.com/?eid=745312</link>
    <title>VB6 ランタイム一覧表</title>
    <description>コチラにあるVB6ランタイム一覧表ですが、時々地味に更新されるので実に油断がなりません。

先にWindows Server 2008 対応が追記されましたが、密かにサポート対象の一覧も更新されています。

対象ファイル一覧のグルーピングが（判りやすく）変更され、
・Supported Runtime...</description>
<content:encoded><![CDATA[
<a href="http://msdn2.microsoft.com/en-us/vbrun/ms788708.aspx" target="_blank">コチラ</a>にあるVB6ランタイム一覧表ですが、時々地味に更新されるので実に油断がなりません。<br />
<br />
先にWindows Server 2008 対応が追記されましたが、密かにサポート対象の一覧も更新されています。<br />
<br />
対象ファイル一覧のグルーピングが（判りやすく）変更され、<br />
・Supported Runtime Files &#8211; Shipping in the OS<br />
（サポート対象 - OSの一部として出荷）<br />
・Supported Runtime Files &#8211; Extended Files to Distribute with your application<br />
（サポート対象 - アプリケーションとともに配布される拡張ファイル）<br />
・Unsupported Runtime Files<br />
（サポート外）<br />
<br />
となっています。<br />
二つ目のヤツは、要するに「コレがないとフツーに動かんだろ」というような、"comdlg32.ocx"とかが入っています。<br />
さらに、<br />
・Unsupported, But Supported and Compatible Updates or Upgrades are Available<br />
（サポート外だけど、ビミョーにサポートされる。）<br />
ってのがあり、"dao350.dll"とか"mdac_typ.exe "が入っています。<br />
<br />
で、ローカライズされたバイナリは、相変わらず"Supported not Shipped"という扱いです。<br />
<br />
<br />
<span style="font-size:x-small;">＃ってか、和訳してよ…事情はわかるけど…</span>
]]></content:encoded>
    <dc:subject>VB6</dc:subject>
    <dc:date>2008-03-16T13:40:29+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=744532">
    <link>http://blog.tk-engineering.com/?eid=744532</link>
    <title>VBの And Or 演算子はショートサーキットしない</title>
    <description>何をイマサラな話題ですが。

VBの And, Or演算子は、ショートサーキットをしません。
ショートサーキットとは、簡単に言ってしまうと「条件が判定されたら、以降の判断は行わない」ってことです。
たとえば C系列や Java とかは、デフォルトでこれです。

なので、Cに詳しい人...</description>
<content:encoded><![CDATA[
何をイマサラな話題ですが。<br />
<br />
VBの And, Or演算子は、ショートサーキットをしません。<br />
ショートサーキットとは、簡単に言ってしまうと「条件が判定されたら、以降の判断は行わない」ってことです。<br />
たとえば C系列や Java とかは、デフォルトでこれです。<br />
<br />
なので、Cに詳しい人が書いてしまいがちなこんなコード、<br />
<blockquote>[VB.NET]<br />
Dim objHoge as List(Of String)  '---Newもなにもしない<br />
IF (objHoge is Nothing = false) And objHoge.Count < 10 THEN<br />
'...(以下略)</blockquote><br />
ちゃんと聞いているからOKと思うと、悲しく NullReferenceException で終わってしまいます。<br />
二項目の"objHoge.Count"を評価しようとするわけです。<br />
<br />
で、VB6までは、これしかなかったので、VB6までで痛い目にあったヒトビトは、よくこういう（冗長に見える）ソースを書いてました。<br />
<blockquote>[VB.NET]<br />
Dim objHoge as List(Of String)  '---Newもなにもしない<br />
IF (objHoge is Nothing = false) THEN<br />
　IF objHoge.Count < 10 THEN<br />
　　'...(以下略)</blockquote><br />
と、二段構えで聞いていたわけです。<br />
<br />
で、VB.NET から出てきたのが、ショートサーキット対応の And, Or 演算子 - AndAlso と OrElse です。<br />
この長い名前がなんともVBらしいわけなんですが、これを使うと、先ほどのコードは<br />
<blockquote>[VB.NET]<br />
Dim objHoge as List(Of String)  '---Newもなにもしない<br />
IF (objHoge is Nothing = false) AndAlso objHoge.Count < 10 THEN<br />
'...(以下略)</blockquote><br />
となり、エラーにもならず、思ったとおりの動作をしてくれるわけです。<br />
<br />
詳しくは、<br />
<a href="http://msdn2.microsoft.com/ja-jp/library/wz3k228a(VS.80).aspx" target="_blank">MSDN:Visual Basic の論理演算子とビット処理演算子</a><br />
<a href="http://support.microsoft.com/kb/817250/ja" target="_blank">Microsoft サポートオンライン:Visual Basic での "ショートサーキット" 評価の説明</a><br />
をご覧ください。<br />
<br />
Note:非ショートサーキットを利用して条件判断の中で関数を呼び出して処理をさせる（状態変化させる）というワザもありますが、個人的にはあまりオススメできません。可読性とか保守性とかの点で問題ありかと思います。<br />
<br />
<span style="font-size:x-small;">#なんでイマサラこんなことを書いているかというと、プロジェクト内で派手目に嵌りかけていた人がいたもんで…</span>
]]></content:encoded>
    <dc:subject>.NET</dc:subject>
    <dc:date>2008-03-13T22:28:28+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=743638">
    <link>http://blog.tk-engineering.com/?eid=743638</link>
    <title>InteropForms ToolKit for VS2008</title>
    <description>3/5 付けで、InteropForms TookKit for VS2008 の記事が VBTeam の blog に上がっていました（記事はコチラ）。

要点を斜め読みしてみると…
・VS2005 &amp; 2008 対応よ、side by side よ。
・Channel9 にインタビューがあがってるから、ソレも見てね(コチラ）
・わかんないこと...</description>
<content:encoded><![CDATA[
3/5 付けで、InteropForms TookKit for VS2008 の記事が VBTeam の blog に上がっていました（記事は<a href="http://blogs.msdn.com/vbteam/archive/2008/03/05/interopforms-toolkit-visual-studio-2008-edition.aspx" target="_blank">コチラ</a>）。<br />
<br />
要点を斜め読みしてみると…<br />
・VS2005 & 2008 対応よ、side by side よ。<br />
・Channel9 にインタビューがあがってるから、ソレも見てね(<a href="http://channel9.msdn.com/ShowPost.aspx?PostID=388101" target="_blank">コチラ</a>）<br />
・わかんないこととか、フィードバックとかあったら、<a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=879&SiteID=1" target="_blank">forum</a>に書いてね。<br />
・キーボードを使ってのホスト(.NET)とゲスト(VB6)の行き来に、ちょっとうまくいかない所があるよ。<br />
・コントロール名にダブルバイトを使うとうまくいかないよ（直してるけど、まだFixしてないよ）。<br />
<br />
まだイロイロと書いてあるわけなんですが、残念ながら根性を入れて訳すだけの時間がないので、とりあえずご紹介まで。<br />
<br />
＃最後の章の表題が「<strong>VB6 &#8211; Live long and prosper…</strong>」ってなってるのがニクイですね。
]]></content:encoded>
    <dc:subject>.NET</dc:subject>
    <dc:date>2008-03-10T18:52:17+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

  <item rdf:about="http://blog.tk-engineering.com/?eid=742509">
    <link>http://blog.tk-engineering.com/?eid=742509</link>
    <title>【コネタ】良いソース、悪いソース</title>
    <description>良いソース
５年近く経っても容易に理解でき、修正が出来る。

悪いソース
５日前のソースなのに、もうわからない…

その両極端を見た今日のオシゴトでした。</description>
<content:encoded><![CDATA[
良いソース<br />
５年近く経っても容易に理解でき、修正が出来る。<br />
<br />
悪いソース<br />
５日前のソースなのに、もうわからない…<br />
<br />
その両極端を見た今日のオシゴトでした。
]]></content:encoded>
    <dc:subject>下らんグチ話</dc:subject>
    <dc:date>2008-03-06T21:58:24+09:00</dc:date>
    <dc:creator>tkinugaw</dc:creator>
    <dc:rights>tkinugaw</dc:rights>
  </item>

</rdf:RDF>