<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>うーわープロジェクト開発裏事情</title>
        <link>http://uwa.potetihouse.com/blog/</link>
        <description>プログラム開発とホームページの運営についてあれこれ
[本家はhttp://uwa.potetihouse.com/]</description>
        <language>ja</language>
        <copyright>Copyright 2008</copyright>
        <lastBuildDate>Fri, 02 May 2008 23:34:31 +0900</lastBuildDate>
        <generator>http://www.sixapart.com/movabletype/</generator>
        <docs>http://www.rssboard.org/rss-specification</docs>
        
        <item>
            <title>久しぶりのImageGeter更新です</title>
            <description><![CDATA[<p>　久しぶりの更新です。引越しでＰＣ周辺資料が煩雑になっているのに、ＰＣを新しいものに入れ替えたため、何かと作業でトラぶっています。ＯＳの入れ替えはここ５年ほど行っていなかったので、設定やツールやらが整わなくてめちゃくちゃです。<br />
　Visual Studio 2005の開発環境がようやく使えるようになってきたので、棚上げにしていたImageGeterの更新を行いました。ほかのアプリケーションも順次更新していけるといいなぁ<br />
　新ＰＣは今までのと比べて数段パワーアップしているので、ずいぶんと様子見をしていたVisual Studio 2008も導入しようと考えています。後準備しないといけないのは「時間」ぐらいかな　</p>

<p>　</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2008/05/02/imagegeter_9.html</link>
            <guid>http://uwa.potetihouse.com/blog/2008/05/02/imagegeter_9.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">ImageGeter</category>
            
            
            <pubDate>Fri, 02 May 2008 23:34:31 +0900</pubDate>
        </item>
        
        <item>
            <title>リアル引越し</title>
            <description><![CDATA[<p>　引越しをしました。というか、進行形です。</p>

<p>　ＯＳやＨＤＤの引越しは頻繁にしていますが、リアルでの引越しはいろいろと大変です。　ネットやＰＣ周辺も何とか以前の状態に戻りつつありますが、資料などがどのダンボールに詰めたのかわからなくて、余計な時間を取られます。今週末くらいから開発環境も復帰できると言いのですが。</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2008/03/13/post_53.html</link>
            <guid>http://uwa.potetihouse.com/blog/2008/03/13/post_53.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">雑記</category>
            
            
            <pubDate>Thu, 13 Mar 2008 01:00:09 +0900</pubDate>
        </item>
        
        <item>
            <title>あけましておめでとうございます</title>
            <description><![CDATA[<p>　めっきりブログの更新をしなくなったのは悪い傾向です。</p>

<p>　年末にImageGeterのバージョンアップを行ないましたが、追加機能のために不具合が発生したので、早速修正バージョンの公開です。</p>

<p>　前回の改良はコードの追加部分をできるだけ少なく、他の機能に影響が出ないように修正したつもりなのですが、やはりチェック漏れが出てしまいました。個人開発なので、機能を豊富にしていくとどうしてもテストが不十分になるので、不具合報告をしていただける方には大変感謝しています。</p>

<p>　今後もImageGeterを見捨てないようよろしくお願いします。</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2008/01/08/post_52.html</link>
            <guid>http://uwa.potetihouse.com/blog/2008/01/08/post_52.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">ImageGeter</category>
            
            
            <pubDate>Tue, 08 Jan 2008 22:09:48 +0900</pubDate>
        </item>
        
        <item>
            <title>2007年 窓の杜大賞 にノミネート</title>
            <description><![CDATA[<p>　ずいぶん久しぶりの更新になってしまいました。ここのところプログラムから遠のいていますが、しばらく続きそうです。何とか不具合の修正ぐらいはがんばっていく予定です。</p>

<p>　「べつやくメソッドクリエーター」が「2007年 窓の杜大賞」候補としてノミネートされました。このソフト自体４月にネタで作って、一ヶ月もたたないうちに開発終了してしまったので、寝耳に水でした。多くのソフトが選出され、力作ばかりなので、ないとは思いますが、こんな張りぼてソフトで何かの賞を頂いたら申し訳ないですね。</p>

<p>暇な人は公平に投票してください<br />
詳細と投票先<br />
<a href="http://www.forest.impress.co.jp/prize/2007/">http://www.forest.impress.co.jp/prize/2007/</a></p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/12/03/2007.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/12/03/2007.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">べつやくメソッドクリエーター</category>
            
            
            <pubDate>Mon, 03 Dec 2007 23:15:55 +0900</pubDate>
        </item>
        
        <item>
            <title>ようやく正式公開(ImageGeter 2)</title>
            <description><![CDATA[<p>　βバージョンがずいぶん長くなってしまいましたが、ようやく正式版 2.0.0を公開できました。それにしても、Windows Vistaの動作確認でUACの奇怪な動作には悩まされました。苦肉の策で、設定データの保存場所を従来の「プログラムと同一フォルダ」と「ユーザー別設定エリア」の２つが使えるようにしたのですが、この先サポートで苦労しそうです。また、インストールもmsiを直接実行では権限の問題でインストールの最後で問題が発生したので、今回から自己解凍->自動実行のファイルに変更となりました。どれもMS製なので、せめてインストール前に警告が出るくらいはしてほしかった。</p>

<p>　ImageGeterの公開で、なんとなく.Net + Vistaでの注意する箇所がわかってきたので、過去のプログラムも暇を見つけてVista対応バージョンを公開していけると良いなぁ</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/09/12/imagegeter_2_1.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/09/12/imagegeter_2_1.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">ImageGeter</category>
            
            
            <pubDate>Wed, 12 Sep 2007 00:46:20 +0900</pubDate>
        </item>
        
        <item>
            <title>Vistaでのテストを開始しました</title>
            <description><![CDATA[<p>　正式版リリースに向けて本日からVistaの動作確認を開始しました。前々から、懸念事項だったIE7の対応ですが、テストしてみたところタイトルが「Microsoft Internet Exprolorar」が「Windows Internet Exprolorar」になっている点で動作しなかっただけで、この点を修正したら無事に情報取得が行なえるようになりました。他にも、インストールや実行テストも行なってみましたが、特に問題なし。流石、.NET Frameworkですね。ただし、Program Filesフォルダの仮想化のため、インストール後の初期のデータ保存フォルダはProgram Filesフォルダ内から変更する必要が出てきました。<br />
　あとは、64Bitでの動作確認なのですが、噂でが「.NET Frameworkで動作するので問題ないのでは？」<br />
と思っています。ただ、色々文献をあさると32Bit依存のライブラリを使用していると32Bitで動くとか書いてあるし。で、32Bit依存のライブラリって具体的にどれよ？</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/08/28/vista.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/08/28/vista.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">ImageGeter</category>
            
            
            <pubDate>Tue, 28 Aug 2007 00:26:21 +0900</pubDate>
        </item>
        
        <item>
            <title>もう一回β　(ImageGeter)</title>
            <description><![CDATA[<p>　β９で最後にする予定でしたが、β１０を出すことになりました。正式版をリリースしようと思っていたのですが、前々から付けたかった取得済みデータの表示機能を実装することになったので、もう少し様子を見ることにしました。Vistaでの動作確認の目途も立ってきたのでいよいよ正式版のヘルプ等の準備に取り掛かる予定です。<br />
</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/08/25/imagegeter_8.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/08/25/imagegeter_8.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">ImageGeter</category>
            
            
            <pubDate>Sat, 25 Aug 2007 22:55:44 +0900</pubDate>
        </item>
        
        <item>
            <title>ImageGeterリリース</title>
            <description><![CDATA[<p>　これがβ版は最後の予定です。今回は、ＨＴＴＰのプロトコル処理と、スレッドの管理方法を変更しているので、ImageGeterのかなり中枢部分が書き換わりました。作成当初の未熟なコードを一新できたので、気分的にはかなりすっきりですね。</p>

<p>　スレッド処理は、今時のＣＰＵではそれほどロスはないと思っていましたが、バグ取りもしにくい構造でしたし、無駄な処理が多かったのは確かなので、思い切って処理を変更しました。個人的な汎用ライブラリとして作成できたので、まぁ、これはこれで価値がありかと。</p>

<p>　ＨＴＴＰプロトコルの処理は、バージョン１．１で処理すべき圧縮転送と、チャンク形式の転送処理を実装していなかったので、今回はしっかり対応しました。これのおかげで通信での無駄はかなりなくなると思います。コネクションの接続維持も実装しようと思いましたが、意外と対応しているサーバーが少なかったので今回は見送りました。</p>

<p>　今回のバージョンで特に大きな問題が無ければ、正式にリリースしようと考えています。<br />
　</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/07/25/imagegeter_7.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/07/25/imagegeter_7.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">ImageGeter</category>
            
            
            <pubDate>Wed, 25 Jul 2007 00:08:09 +0900</pubDate>
        </item>
        
        <item>
            <title>危険な挙動 IndexOf</title>
            <description><![CDATA[<p>TKFP.DLLの不具合を調べていたら恐ろしい事実に気付いてしまいました。.NET FrameworkのIndexOf関数がカルチャに影響されるらしい。具体的には<br />
<strong>"xxドラエモン".IndexOf("ト゛ラ")</strong><br />
の結果が「-1」では無く「2」なってしまいます。<br />
今回、不具合が発生したのは<br />
<strong>"/ー".IndexOf("//")</strong><br />
が「-1」にならなかったことです。<br />
.NET 2.0 ではまだIndexOfに比較オプションが指定できるので比較的簡単に回避できたのですが、.NET 1.1ではそれが使えずに<br />
<strong>System.Globalization.CultureInfo.CurrentCulture.CompareInfo.IndexOf</strong><br />
などと言う、関数を使う羽目になりました。<br />
今更、.NET 1.1での影響はほとんど無いのですが、TKFP.DLLでは両バージョンを同一のソースで管理しているので、おかげでコンパイルオプションだらけです。</p>

<p>他にも、<strong>StartsWith</strong> とか <strong>EndsWith</strong> とかも影響するようなのでちょっと見直す必要がありそうです。<strong>Contains</strong>とか<strong>Replace</strong>が影響しないのがさらに混乱するんですけどね。</p>

<p>そもそも、この仕様ってどうなんでしょう？あいまいな日本語比較より厳密な文字比較をする場面のほうが圧倒的に多いような気がするので、あいまい比較をオプションにするべきだと思うのですが。<br />
</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/07/19/_indexof.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/07/19/_indexof.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.Net全般</category>
            
            
            <pubDate>Thu, 19 Jul 2007 23:52:19 +0900</pubDate>
        </item>
        
        <item>
            <title>NanDoKuバージョンアップです</title>
            <description><![CDATA[<p>　難読化用の属性に対応するのは前々から考えていたのですが、なかなか実装できませんでした。今回、別の不具合も発見されたのでそのついでに、実装に踏み切りました。検討している段階では、属性の削除など問題になりそうな点も有りましたが、実装してみると意外とすんなり機能するようになりました。これも、基本の設計がいい事にしておきましょう。</p>

<p>　さて、この難読化プログラム「NanDoku」ですが、実は設定ＧＵＩには無い機能が実装されています。アセンブリの設定で保存した「なんとかini」ファイルに<br />
　ExtendOverload=True<br />
と、追加すると、さらに強烈な同一名称の使用を行なうようになります。<br />
大体、第１位置候補の文字使用率が１０％ほど上がります。<br />
難読化自体に魅入られた方は一度試してみてください。<br />
当プロジェクトのプログラムはこの設定で全て難読化しているので、それなりにの実績もあります。</p>

<p>なぜ、効率が上がるのかと、非公開なのかはまた機会があれば．．．<br />
</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/07/19/nandoku_2.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/07/19/nandoku_2.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">NanDoKu</category>
            
            
            <pubDate>Thu, 19 Jul 2007 00:26:49 +0900</pubDate>
        </item>
        
        <item>
            <title>ネットワーク復活</title>
            <description><![CDATA[<p>　我が家のインターネット環境が復活しました。先日、モデムが故障した時にサポセンでは、３日から１週間かかると言われてへこんでいたのですが、奇跡的に２日後に新しいモデムが届き無事復旧が出来ました。最近ではあたりまえなのかもしてませんが、おまけにモデムに初期設定までして有ったのは、ちょっと感激です。５年近くまえに常時接続にした時にはルーター関連の設定も自力でやったのですが、最近は初心者も考慮してかつなぐだけでＯＫなんですね。</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/07/15/post_51.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/07/15/post_51.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">雑記</category>
            
            
            <pubDate>Sun, 15 Jul 2007 22:50:04 +0900</pubDate>
        </item>
        
        <item>
            <title>連休前にこれだよ</title>
            <description><![CDATA[<p>うちのADSLモデムがお亡くなりになりました。</p>

<p>レンタル品なので金銭的損失は無いのでよかったのですが、<br />
連休前にインターネットに接続できないのはつらい。</p>

<p>故障早々にプロバイダーのサポートへ電話してみるも、時間帯が悪いのか一向に繋がりません。<br />
気は短くないので、そのまま３０程度放置してみました。</p>

<p>空き時間に何かしようとPCを前にして凍りつきましたね。<br />
インターネットに接続できないと何も出来ない！<br />
困ったことにプログラムすら書けませんね。<br />
ここまで依存しているとは正直思っていませんでした。</p>

<p>おかげでカーステ用のMP3データが大量に作成されました。</p>

<p>何とかサポートに繋がり症状を伝えましたが、予想通りのモデム交換で、３日～1週間との返事をいただきました。orz</p>

<p>奇跡的にモデムのカードを発見したので、おかげで、ダイヤルアップでネット接続しています。</p>

<p><br />
</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/07/12/post_50.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/07/12/post_50.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">雑記</category>
            
            
            <pubDate>Thu, 12 Jul 2007 00:14:21 +0900</pubDate>
        </item>
        
        <item>
            <title>文字列検索</title>
            <description><![CDATA[<p>とある作業にて大量の文字列中に特定の文字があるかどうかの検査を行う必要があり、そのときに確認した内容です。</p>

<p><br />
.NET Framework 2.0 以前では文字列の存在確認で<br />
	<strong>IndexOf("あ") != -1</strong><br />
などという記述を大量にしていました。<br />
最近は、<br />
	<strong>Contains("あ")</strong><br />
で代用することが多くなり、またこの使用法が正攻法でしょう。</p>

<p>通常は特にに気にしていませんでしたが、検索作業自体で数十秒かかるようになると話は別です。で、幾つかの方法を試してみることにしました。コード自体が読みにくくなる改変は避けたいので、候補は以下の3つで</p>

<p>	(1)．<strong>IndexOf("あ") != -1</strong><br />
	(2)．<strong>Contains("あ")</strong><br />
	(3)．<strong>IndexOf('あ') != -1</strong></p>

<p>処理速度は　(3)、(2)，(1)の順で、(3)は(1)の十倍程度早くなりますね。最も、(3)は使用できる場合が限定されますが、(1)からの改変でほとんど見た目が変わらないのはいい感じです。(2)は内部では(1)を読み出していると思っていたので、最も遅いと思われましたが、検査条件を限定することで早くしていうるようで、これだけでも数倍の処理速度の差が発生します。</p>

<p>対象が文字列なので、すべて期待している結果が出るとは限りませんが、(1)の表記<br />
	<strong>IndexOf("あ") != -1</strong><br />
は、今後登場する機会はなくなりそうですね。</p>

<p><br />
以上を踏まえると、大量の文章から該当するデータを探す、たとえば過去のメールデータからある文字が存在するメールを検索するようなことをする場合は、一旦、検査する先頭文字で「<strong>IndexOf('あ') != -1</strong>」と仮検査し、該当するものだけを本検査にまわす方法もありかと</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/07/10/post_49.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/07/10/post_49.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">.Net全般</category>
            
            
            <pubDate>Tue, 10 Jul 2007 00:30:52 +0900</pubDate>
        </item>
        
        <item>
            <title>ImageGeterバージョンアップ</title>
            <description><![CDATA[<p>　最近のブログ更新がソフトのバージョンアップばかりになっているは良くない傾向です。今回はアンケートでの要望を重点的に修正しました。表面的な修正が多いのの致命的な不具合は無いと確信しています。　実はこの後に、もう次のバージョンが準備してありまして、現在最終のバグ取りの段階まで来ています。ＨＴＴＰの通信部分の全書き換えと、スレッド管理の最適化を行ったので、ツボにはまれば「軽量」「高速化」と行くでしょうが、失敗すると破綻しそうで怖いです。今のところ、コンパイルのオプションで常に全バージョンでコンパイルできる状態を維持しながら、慎重に書き換えをしています。で、そろそろβ版も終了したいのですが、どなたかテスト用の私にVISTA環境を提供してくれませんかねぇ。</p>

<p>　</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/07/06/imagegeter_6.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/07/06/imagegeter_6.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">ImageGeter</category>
            
            
            <pubDate>Fri, 06 Jul 2007 01:14:34 +0900</pubDate>
        </item>
        
        <item>
            <title>NanDoKuバージョンアップです</title>
            <description><![CDATA[<p>　久しぶりに真面目なプログラム修正です。最近すっかり自家製プログラムが手薄になっているので、そろそろ検討事項に並んでいるのに、手をつけていきたいと思っています。<br />
　.Net 2.0 で追加された難読化関連の属性は全く気付いていませんでしたね。Webでいろいろ調べてみたところ、何とか対応できそうなので、技術的好奇心からその内実装されると思います。マイクロソフトも.そろそろ次の開発環境を匂わせているので、リリースされたらまたILコードと格闘する日がくるのだろうなぁ。この手のプログラムは終了が無いのが辛いところだ</p>]]></description>
            <link>http://uwa.potetihouse.com/blog/2007/06/29/nandoku_1.html</link>
            <guid>http://uwa.potetihouse.com/blog/2007/06/29/nandoku_1.html</guid>
            
                <category domain="http://www.sixapart.com/ns/types#category">NanDoKu</category>
            
            
            <pubDate>Fri, 29 Jun 2007 00:09:13 +0900</pubDate>
        </item>
        
    </channel>
</rss>
