<?xml version="1.0"?>
<!-- name="generator" content="blojsom v3.1" -->
<rdf:RDF xmlns:wfw="http://wellformedweb.org/CommentAPI/"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns="http://purl.org/rss/1.0/">

	<channel rdf:about="http://blog.fukaoi.org">
		<title>深追い Fukaoi.org</title>
		<link>http://blog.fukaoi.org/</link>
		<description>あくなき追求、深追いこそ永遠の目標</description>
		<dc:publisher>admin</dc:publisher>
		<dc:creator>admin@fukaoi.org</dc:creator>
		<dc:date>2008-12-07T10:45:10+09:00</dc:date>
		<dc:language>ja</dc:language>

        <items>
        <rdf:Seq>
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2008/12/07/linux_memo" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2008/09/10/it_manager_skill" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2008/06/02/windows-vista-remotedesktop" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2008/02/23/web-release" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2008/01/03/csharp-escape" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2007/10/02/sql-server" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2007/09/12/X-dev-2007" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2007/07/16/windows-directory" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2007/06/20/cookie" />
                                <rdf:li rdf:resource="http://blog.fukaoi.org/2007/05/13/windows-port" />
                </rdf:Seq>
        </items>
    </channel>

            <item rdf:about="http://blog.fukaoi.org/2008/12/07/linux_memo">
	    <title>メモ　Linux活用編</title>
	    <link>http://blog.fukaoi.org/2008/12/07/linux_memo</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://www.linux.or.jp/&quot; target=&quot;_blank&quot; title=&quot;Linux&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/linux.gif&quot; alt=&quot;リリース&quot; title=&quot;リリース&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
Linuxに関するカーネル、コマンド、チューニングなどのメモである
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;em&gt;&lt;h3&gt;コマンド&lt;/h3&gt;&lt;/em&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;psのSTATの意味&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
R（Run）：タスク処理中（実行中）&lt;br /&gt;
S（Sleep）：タスクが待機中（CPUの空き待ち）&lt;br /&gt;
D（Disk Sleep）：タスクが待機中（Disk I/Oの空き待ち）&lt;br /&gt;
Z（Zombie）：タスク終了待ち&lt;br /&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;プロセス内のマルチスレッドの状況を確認する&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
(例：Javaのスレッド)&lt;br /&gt;
ps -elf -L | grep java&lt;br /&gt;
&lt;pre&gt;
fukaoi  13177  1 24335  0  105  76   0 - 81609 339346 Nov18  bin/java -D
fukaoi  13177  1 24336  0  105  76   0 - 81609 322561 Nov18  bin/java -D
fukaoi  13177  1 24337  0  105  76   0 - 81609 322562 Nov18  bin/java -D
&lt;/pre&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;用語集&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;プロセス&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
プロセスとは「プログラムの命令」と「実行時に必要な情報」がひとまとまりになったオブジェクト、もしくはインスタンス、タスクとも呼ぶ
&lt;/div&gt;
&lt;div class=&quot;subem&quot;&gt;
&lt;strong&gt;関連リンク&lt;/strong&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9&quot; target=&quot;_blank&quot; title=&quot;プロセス&quot;&gt;&lt;u&gt;プロセス&lt;/u&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;/p&gt;
</description>
	    <dc:date>2008-12-07T10:45:10+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/memo/2008/12/07/linux_memo</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2008/12/07/linux_memo?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2008/09/10/it_manager_skill">
	    <title>ＩＴ業界　プロジェクトマネージャーに求められるスキルとは</title>
	    <link>http://blog.fukaoi.org/2008/09/10/it_manager_skill</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%83%9E%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%A3&quot; target=&quot;_blank&quot; title=&quot;プロジェクトマネージャー&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/manager.jpg&quot; alt=&quot;プロジェクトマネージャー&quot; title=&quot;プロジェクトマネージャー&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
プロジェクトマネージャーに必要なスキルとは何が思い浮かぶだろうか？たぶんそれは、業界・業種において求められるスキルは異なってくると思うが、ここではIT業界における、プロジェクトマネージャーに必要なスキルについて述べてみよう
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;予算管理能力&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;会社に利益を出すことは当たり前！&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
ビジネスマンである以上、会社から給料という労働の対価をもらっているはずプログラマー・システムエンジニアであっても「このプロジェクト規模は1億円である、我が社にとってビッグプロジェクトである、なんとしても納期に間に合わせるべく一致団結しよう！」という目標をたてれば、普通の人間であればモチベーションが上がり、その目標に邁進するはずである。一方プロジェクトマネージャーの立場であれば、収支・収益を意識することは当然であり&lt;strong&gt;最小の投資で最大限の利益をあげる&lt;/strong&gt;という意識でプロジェクトを実行すれば、必然的に会社に利益をもたらすことができる。エンジニアリングよりのプロジェクトマネージャーなら、コストを抑えるところから、セールスよりのプロジェクトマネージャーなら、売り上げ規模を上げる所から入ると、時間とともに身につけられるスキルである
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;コミュニケーション能力&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;ボトムアップも大事&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
IT業界でなくても、常に言われる能力の一つであり、社会人として生きていく上でのスタンダードな能力の1つである。ここでいうコミュニケーション能力は相手に思いを伝えるだけでなく、&lt;strong&gt;相手から意見を吸い上げる能力&lt;/strong&gt;も指している。自分の意見をゴリ通すことを、コミュニケーション能力が高い人間だと思っている人が居るかもしれないがそうではなく、相手から意見を吸い上げる方が重要視される。プロジェクトマネージャーという最高権限者である人(※プロジェクトマネージャーに任命される人であれば、それなりの業界経験をつんでいるはずなので年齢もそれなりに重ねているであろう)の意見が通りやすいのは至極当然。現場で発生している問題点などが開発メンバより吸い上げる事が不十分であれば、プロジェクトを成功に導く事は難しい。なのでトップダウンで指示を出すフローだけでなく、ボトムアップで自由に意見を言いやすい環境を用意することも、コミュニケーション能力の1つである
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;スケジュール管理能力&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;基本中の基本&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
スケジュールに始まり、スケジュールに終わるというように、プロジェクト遂行上、この能力が欠落しているマネージャがいるとしたら致命的である。要件を満たした成果物を納期どおりに、リリースすることは、プロジェクトとして最低の条件であり、ビジネスであれば、顧客との契約条件であるはず。&lt;strong&gt;納期にリリースするためには、工程のプロセス(タスク)が重要&lt;/strong&gt;であり、いかにそのプロセスをマイルストーンどおりに完了していなければ、納期日にリリースすることが厳しくなる。そもそもこの基本中の基本ができないプロジェクトマネージャーなる人物が存在そもそもしているかというと、以外と存在しているものだ。さすがに納期日は覚えているのだが、各工程プロセスの管理を放置しておいて、いざ納期日に近くなると慌てだし、騒ぎ出す人だ。そもそも自分自身が与えられた役割をこなしていないのに、プロジェクトメンバーに当り散らすのは、言語道断である
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;技術力&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;ITリテラシー＋テクニカルスキル&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
IT業界に身を置く以上、ITリテラシーはプロジェクトマネージャーにはなくてはならない必要なスキルである。というか無い人は仕事になってないと思う。難しいところではあるが、&lt;strong&gt;ITリテラシー＋テクニカルスキル&lt;/strong&gt;をもったプロジェクトマネージャーは鬼に金棒である。会社内外の人々とコミュニケーションを取る可能性があるプロジェクトマネージャーはいきなり、テクニカル質問をされ、その場で回答を求められるケースは意外に多い。要件定義・概要設計時にテクニカルスキルが高ければ、プロジェクトメンバーに適切なテクニカルアドバイスを行う事ができメンバーからの信頼度も高まり、今後のプロジェクト運営がスムーズになる可能性がある。それではテクニカルスキルが弱いプロジェクトマネージャーはどうすべきなのだろうか？プロジェクト内における、テクニカルスキルが高い&lt;strong&gt;プログラマー・システムエンジニアを技術責任者として抜擢&lt;/strong&gt;し、プロジェクト内の右腕的存在として自分のウィークポイントを補ってもらおう。ここで気をつけなければならないのは、他のメンバーと同じように開発メンバとしてではなく、システム全体の設計であったり、タスクに遅れが生じたメンバーの、スーパーサブとして考える事である。プロジェクト内の技術責任者に引き上げても、タスク開発に100%従事していたのでは、広い視線でのシステムのアーキテクチャ全体を見渡すことができなくなってしまう。テクニカルスキルが高ければ、年齢・地位に関係なく任命することで、ある意味公平なジャッジになり、他のメンバーも納得しやすい。なによりも技術責任者に任命した当人も、モチベーションを高めて従事してくれるだろう
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;リスク回避能力(リスクヘッジ)&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;その他の能力が高くても&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
この能力がプロジェクト成功に導くために&lt;strong&gt;1番必要な影の能力&lt;/strong&gt;であり、1番習得が難しい。仮定のイメージであるが、他の能力が欠けていてどうしようもないプロジェクトマネージャーが存在したとしよう。唯一リスク回避能力が秀でていた場合(※現実的に他の能力が欠如していて、そもそもプロジェクトマネージャーなるもに任命はされないのだが)、この能力だけで無事プロジェクトをリリースする事をやってのけれると思う。プロジェクトが失敗する要因であるスケジュール遅延、メンバの脱落、仕様ミスなど数を上げるときりがないが、これらの要因を事前にキャッチし、避けながらながら進んでいきリリースまではやってのけそうである。実際にそういうプロジェクトマネージャーを見たことがある。ただ、さすがにその後のシステム運用フェーズに入ると、開発フェーズ以上に、予見不可能な事態が発生しやすいので、この能力だけでは切り抜けていることは不可能と言える。リスク回避能力というものは、生まれもっているセンスのようなもので、血液型でいうならばA型の人が多かったりする。A型の人が多いのは、細かい性格であったり、根っからの心配性な性格がリスク回避能力を高めている。心配だから、各タスクに関しては、色々と深く考える、考えるので、不明・不安要素が早期に発見できる。逆に0型の人は楽観主義的な人が多いので深く熟考せずに物事をすすめがちなので、不明・不安要素が後手後手にまわるケースが多かった(※あくまでも自分の経験上であって、血液型で、その人を差別しているわけではない)。ここまで書いてしまうと、この能力自体、身に着けることは諦めるしかないようだが、楽観主義者であった自分が努力して多少なりにも身に着けた方法とは、成功パターンだけでなく失敗パターンも1セットとして、ミクロではタスクレイヤーから、マクロではスケジュール全体に及ぶまで、時間があれば考えるようにした。仕事帰り電車の中とかで「このタイミングでお客さんから、大幅な仕様追加が要望されたらどうしよう？」、「システムエンジニアである○○君が倒れたらどうなるだろう？」などと。これはA型の人に多い不安な状態に自ら陥るようにする、&lt;strong&gt;妄想自虐プレイ&lt;/strong&gt;と呼んでいる。いわゆる、プロジェクトリスクシミュレーションで、こうすることにより&lt;strong&gt;不安要素が可視化できリスクの早期発見、解決&lt;/strong&gt;につなげることができる
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;5つの能力を列挙したが、書いている途中に思ったことが、自分を含めこれらの能力を満たしているプロジェクトマネージャーに出会ったことがないという事だ。5つは無理だとしても、3つでも持っている人には中々で会わない。逆に実績・能力もないくせに、プロジェクトマネージャーという肩書きを名乗る人が多いということだろう。業界を含め、外見だけでなく、中身もともなっていかなければ、本当に虚無の世界になってしまうだろう&lt;/p&gt;
&lt;div class=&quot;subem&quot;&gt;
&lt;strong&gt;関連リンク&lt;/strong&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www1.neweb.ne.jp/wb/fukud/pmgr.htm&quot; target=&quot;_blank&quot; title=&quot;プロジェクトマネージャー&quot;&gt;&lt;u&gt;PM（プロジェクトマネージャ）&lt;/u&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.atmarkit.co.jp/fbiz/cstaff/serial/hk/02/01.html&quot; target=&quot;_blank&quot; title=&quot;プロジェクトマネージャー&quot;&gt;&lt;u&gt;＠IT情報マネジメント：できるプロジェクトマネージャのノウハウとは？&lt;/u&gt;&lt;/a&gt;
&lt;/div&gt;
</description>
	    <dc:date>2008-09-10T00:17:55+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/IT/2008/09/10/it_manager_skill</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2008/09/10/it_manager_skill?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2008/06/02/windows-vista-remotedesktop">
	    <title>Windows Vistaのリモートデスクトップをマルチセッションに対応させる</title>
	    <link>http://blog.fukaoi.org/2008/06/02/windows-vista-remotedesktop</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://www.microsoft.com/japan/windows/products/windowsvista/default.mspx&quot; target=&quot;_blank&quot; title=&quot;Windows Vista&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/vista.gif&quot; alt=&quot;Windows Vista&quot; title=&quot;Windows Vista&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
Windows Vista Business、Ultimate、Enterpriseにはリモートデスクトップサーバ機能を実装しているので、別のPC(リモートデスクトップクライアント)から遠隔ログインでき、Vista上で作業を行うことができる。でも、マルチセッションにVistaのどのバージョンも対応していないため、直接ログインしている状態で、遠隔よりリモートデスクトップログインを行うとすると、直接ログインしている人はログアウトしないといけない。Vistaはデフォルト状態だと、シングルセッションにしか対応していない。せっかくVista用にハイスペックマシンを購入したのに、同時に1人しか利用できないのは寂しい話だ。そうであれば、自宅のVistaをマルチセッションサーバにし試してみよう！
&lt;br /&gt;（※以下の作業は自己責任で）
&lt;br /&gt;（※対象はService Pack 1 があたっているVista Business、Ultimate、EnterpriseのOS）
&lt;br /&gt;（※そもそもリモートデスクトップは何ぞや？という方はネットで調べてみよう）
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;作業前に準備する事&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;バイナリエディタの用意&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
システムファイルのバイナリデータを書き換えるために、バイナリエディタが必要。お勧めは、&lt;strong&gt;Stirling&lt;/strong&gt;。無料で使いやすいので、&lt;a href=&quot;http://www.vector.co.jp/soft/win95/util/se079072.html&quot; title=&quot;vector&quot; alt=&quot;vector&quot; blank=&quot;target&quot;&gt;Vector&lt;/a&gt;よりダウンロードしていただきたい
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;リモートデスクトップのシステムファイルをバックアップ
を取る&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
C:\Windows\System32\termsrv.dllファイルをバックアップ&lt;br /&gt;
(※termsrv.dllがリモートデスクトップサーバ機能)
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;実作業&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;リモートデスクトップのシステムファイルをデスクトップにCOPYする&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
termsrv.dllはシステムファイルの為、C:\Windows\System32\termsrv.dllを直接バイナリエディタで開こうとしても権限をあたえられていないため、読み込めない。そこでデスクトップなどにCOPYして移動しておく
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;バイナリエディタで指定の箇所を書き換える&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;Stirlingを起動させ&lt;strong&gt;ファイル(F) =&gt; 開く(O)&lt;/strong&gt;でtermsrv.dllを読み込む&lt;br /&gt;
&lt;img src=&quot;/blojsom/resources/default/stirling01.gif&quot; alt=&quot;stirling&quot; title=&quot;stirling&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;検索・移動(S) =&gt; 指定アドレスへ移動(J)&lt;/strong&gt;を選すると、16進数でアドレスを入力するボックスがでるので以下のアドレスを入力して置換していく&lt;br /&gt;
&lt;div class=&quot;em_g&quot;&gt;
&lt;pre&gt;
[検索するアドレス]： [置換前の値] =&gt; [置換する値]
0005FDF2： 74 =&gt; EB
00064FD7： 8B =&gt; B8
00064FD8： 81 =&gt; 00
00064FD9： 38 =&gt; 01
00064FDA： 06 =&gt; 00
00064FDC： 00 =&gt; 90
00064FDD： 39 =&gt; 89
00064FDF： 3C =&gt; 38
00064FE3： 75 =&gt; EB
000701BA： 01 =&gt; 00
&lt;/pre&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;修正したリモートデスクトップのシステムファイルを元のフォルダに上書きする&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
指定箇所のデータを修正した、termsrv.dllを元のフォルダに上書きしようとすると、権限がない警告により上書きができない場合がある。そのときは、Administratorでログインしtermsrv.dllに&lt;strong&gt;プロパティ =&gt; セキュリティ =&gt; 編集&lt;/strong&gt;よりアクセス許可を追加してやると上書きができるようになる
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;確認&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;リモートデスクトップクライアントよりアクセスしてみる&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
Windows XP Profesionalなどのクライアントからモートデスクトップ接続してみると、今までシングルセッションでしかアクセスできなかった、Vistaマシンに対して、マルチセッションでログインできるようにあり画期的である
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;div class=&quot;subem&quot;&gt;
&lt;strong&gt;関連情報&lt;/strong&gt;
&lt;br /&gt;
&lt;a href=&quot;http://thegreenbutton.com/forums/post/242179.aspx&quot; target=&quot;_blank&quot; title=&quot;Remote Desk Top&quot;&gt;&lt;u&gt;Vista SP1 x86 and x64 Multiple Remote Desktops&lt;/u&gt;&lt;/a&gt;
&lt;/div&gt;
</description>
	    <dc:date>2008-06-02T00:09:55+09:00</dc:date>
	        </item>
            <item rdf:about="http://blog.fukaoi.org/2008/02/23/web-release">
	    <title>知って損はない！　Webアプリケーションのリリース時に気をつける事</title>
	    <link>http://blog.fukaoi.org/2008/02/23/web-release</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://na.jkn21.com/&quot; target=&quot;_blank&quot; title=&quot;知恵&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/knowledge.jpg&quot; alt=&quot;リリース&quot; title=&quot;リリース&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
Webアプリケーションのリリース時は大変緊張するものです、それはWeb(インターネット)に公開することイコール、世界中の誰にでもアクセスが可能になるためです。といってもWeb以外でもお客さんに納品するタイミングというのは平常時の精神状態ではないため、普段ならおきないミスも発生してしまいます。リリースするまでのテスト手法などは記述するとキリがないため省いて主に、私の経験上いかにリリース時にトラブルなく、リリースできるかリリース前日、当日、後日の&lt;strong&gt;心構え&lt;/strong&gt;的なことが中心にまとめてみました
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;3日前迄にやること&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;リリース手順書の作成&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
リリース時にやるべきこと(作業内容)を、記述したドキュメントを作成するのとしないのでは、雲泥の結果を生み出します。何回もいうようにリリース時にはどんなに肝っ玉が据わった人でも平常時以上の判断・能力を発揮することはできないので、頭をつかわずとも、リリース作業ができるように前もって手順をまとめておくためです。&lt;strong&gt;誰(Who)&lt;/strong&gt;が&lt;strong&gt;何(What)&lt;/strong&gt;を&lt;strong&gt;何時(When)&lt;/strong&gt;に&lt;strong&gt;どう(How)&lt;/strong&gt;すべきなのかを明確化することが大切です。後は、開発環境では問題なく動作しているプログラムも、本番環境だと動作しない(※ミドルウェアのバージョンや、サーバの設定が異なっている事により発生しやすい)ケースがあります。&lt;br /&gt;&lt;br /&gt;
ケースによっては巻き戻しフローも明記しておくこともあります。すでにサービスを開始しており、リニューアルや、機能追加の場合では、サービスを継続すること(※サービスを止めない)が第1だと思いますので、前のバージョンに巻き戻す事を巻き戻しと呼んでおりります。作業内容が決まば、作業完了時間が決まります。その時間完了時間から1時間以上オーバした場合、リリース作業を急遽取りやめ、巻き戻し作業に入るわけです
&lt;p&gt;
&lt;div class=&quot;em_g&quot;&gt;
&lt;pre&gt;
(参考例)

  [12/01 11:00～12:00]
  AさんがプログラムをサーバにUPする
  UPするソース(○○.php、□□.php、△△.php)

  [12/01 12:00～13:00]
  BさんがApacheの設定を変更する
  変更するファイル(httpd.confのline:412)
  ○注意箇所
    httpd.confのバックアップ(httpd.conf_bak)を必ずとっておく
　  変更後、apacheの再起動を行う


  [12/01 13:00～13:10]
  BさんがIP制限を一部許可する
  変更するファイル(httpd.confのline:102)
  ○注意箇所
　  念のため非許可IPの箇所よりアクセスし、制限が
    かかっているか確認を行う
　  変更後、apacheの再起動を行う


  [12/01 13:10～14:00]
  プロジェクト関係者全員で確認を行う
  ○主に確認する箇所
　  Aさん(入会登録)
　  Bさん(購入、決済)
　  Cさん(商品の表示)

  [12/01 14:00～]
  リリース無事完了

  [12/01 15:00を超えた場合]
  ●巻き戻しフロー
    Bさんがバックアップより前のバージョンのＸＸプログラムを
    上書きし元に戻す
    ・
    ・
&lt;/pre&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;リリース手順書のレビュー&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
作成したリリース手順書を関係者でレビューすることによって、作業漏れの確認になります。当日の気持ちで確認しあうことでシミレーションにもなります。ここでのポイントはプロジェクトリーダの人はいかに、本番当日と同じ緊張感をメンバに伝えられるかだと思います
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;1日前迄にやること&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;プログラム修正の締切り&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
スケジュールがタイトなプロジェクトですと、修正作業をギリギリまでおこなわざるをえないです。ですが大小あがってくる修正箇所を対応しているとキリがなく、いつまでたってもリリースができない状態になってしまいます(※要は、キリがないということです)。それはお客さん自社ともに困るはずなので、あらかじめお客さんに修正受付けの時間を決めておき、了承をもらっておく必要があります。
&lt;p&gt;
&lt;div class=&quot;em_g&quot;&gt;
&lt;pre&gt;
(参考例)

『○月○日の△時△分までに確認できた、
  修正箇所については優先的に直しますが、
  それ以外のものに関しては、リリース後対応させてください』
&lt;/pre&gt;
&lt;/div&gt;
&lt;/p&gt;
といった感じです
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;前もって出勤時間をリリース時に合わせる&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
Webアプリケーションのリリース時間は、世の中の人のアクセスが少ない時間帯を指定される場合が多いです。(※新規オープンするサイトでは時間の指定はないですが、既存のサイトをリニューアル、機能追加の場合ですね)例えば、リリース時間がAM3:00～の場合、前の日に早く寝て、早く起きるという、平常時とは異なるサイクルをとらなければなりません。そうなると&lt;strong&gt;体調を崩しやすい&lt;/strong&gt;、&lt;strong&gt;寝不足になりやすい&lt;/strong&gt;です。体調の状態はリリース作業に大きな影響を及ぼすので、以下のように前日から体内リズムを整える手法をとるのもありかと思います
&lt;p&gt;
&lt;div class=&quot;em_g&quot;&gt;
&lt;pre&gt;
(参考例)

  [12/02 03:00～08:00にリリースとした場合]
　
　通常は09:00に出勤していた時間帯を
  前日(12/01)の出勤時間を02:00～に変更し
　深夜時間帯に体内リズムを整える
&lt;/pre&gt;
&lt;/div&gt;
&lt;/p&gt;
例のように03:00～のリリースだと前日より寝ずにリリースを迎えるという方法も可能です。ですが私の過去経験上、通常は22時位に仕事を終えていたリズムからさらに時間を延長することにより、集中力がもちませんでした。尚、途中で仮眠を取るという方法もありですが、後数時間でリリースを迎えるという気持ちが高ぶってあまり寝れませんでした。&lt;br /&gt;&lt;br /&gt;
前日から体内リズムをリリース時間に合わせて調整するという方法は、あくまでも私にとってベストであっただけですので、必ずしても万人に当てはまる手法かどうかはわかりません。要は睡眠時間をきっちりとれ集中力が高められるかどうかがポイントだと思います
&lt;/div&gt;
&lt;/p&gt;

&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;リリース当日にやること&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;いかに平常心を保てれるか&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
前半にも書きましたが、リリース時は非常に緊張するものです。いつもとは違う自分がそこに存在しているといってよいでしょう。特にネガティブシンキング傾向にある人がとくに緊張すると思います。そこで心がけていただきたいのは、無事リリースしたときの&lt;strong&gt;成功イメージ&lt;/strong&gt;を頭の中で妄想してみる。それさえも緊張でイメージできない場合は、&lt;strong&gt;≪ 絶対に無事リリースする ≫&lt;/strong&gt;、&lt;strong&gt;≪ 自分ならできる ≫&lt;/strong&gt;と何回も頭の中でつぶやき、自己暗示にかけることも効果があります。後は、緊張状態にあると呼吸が浅くなりがちなので、&lt;strong&gt;深く深呼吸を3回&lt;/strong&gt;やるだけでも、緊張がほぐれます。&lt;br /&gt;
可能ならばリリース作業前に、プロジェクトメンバ全員で実践できればベストですね&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;リリース完了後1週間以内にやること&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;特別監視状態におく&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
無事リリースが完了した場合、これで終わりなのですが、Webアプリケーションの場合、まだ気を抜いてはいけません。ここまではあくまでもインターネットの大海原に1隻の船で港から出向したにすぎません。出向中で一番怖いのが、大波です。&lt;strong&gt;大波＝アクセス集中&lt;/strong&gt;が発生した場合、テスト環境で負荷テストを行って、サーバ、Webアプリケーションのアクセス処理スペックを把握していたとしていても、それ以上のアクセスが集中砲火した場合、サーバ、Webアプリケーションはあっという間にサービス不能に陥ります。そのために、この段階では、監視ツール(※MRTG、nagios...)などでアクセス処理状況に問題がないか毎日、定点監視を行うべきです。&lt;/ br&gt;
また開発環境では発見できなかった、Bugが潜んでいる可能性もあるので、時間の経過とともに大きな問題になるまえに、DB、ログファイルに吐き出されたデータも定点確認することによりBugの早期発見が可能になります
&lt;/div&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;em&gt;&lt;h3&gt;リリース完了後2週間以内にやること&lt;/h3&gt;&lt;/em&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;反省会を開く&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
この作業までたどりつけば、リリース作業も無事完了し、安定してサービスが展開されていると判断してよいでしょう。ただし、反省すべき点というのは必ずなんらかあるはずです。それはあくまでも&lt;strong&gt;たまたま&lt;/strong&gt;成功しただけかもしれません。次回のリリース作業では2度を起こさない、他の作業者が起こさない意味をこめて、反省会で情報を共有し、リリース作業の品質を高めるべきです
&lt;/div&gt;
&lt;/p&gt;
</description>
	    <dc:date>2008-02-23T14:30:33+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/Other/2008/02/23/web-release</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2008/02/23/web-release?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2008/01/03/csharp-escape">
	    <title>C#でエスケープシーケンスを無視する方法</title>
	    <link>http://blog.fukaoi.org/2008/01/03/csharp-escape</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://www.microsoft.com/japan/net/default.mspx&quot; target=&quot;_blank&quot; title=&quot;.NET&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/dotnet.gif&quot; alt=&quot;.NET&quot; title=&quot;.NET&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
以前、このblogの中の&lt;strong&gt;&lt;a href=&quot;http://blog.fukaoi.org/2007/07/16/windows-directory&quot; title=&quot;.NET&quot;&gt;Windowsのフォルダ名に戸惑う.NETプログラミング&lt;/a&gt;&lt;/strong&gt;ではディレクトリパス名を変数にセットする場合には、以下のように実装すると書いてましたが、
&lt;p&gt;&lt;em&gt;String val = &quot;C:￥￥￥&quot;Documents and Settings￥&quot;￥￥Administrator￥￥デスクトップ&quot;;&lt;/em&gt;&lt;/p&gt;
もっとスマートな方法がありました
&lt;br /&gt;
それは&lt;strong&gt;@&lt;/strong&gt;を&lt;strong&gt;リテラル文字&lt;/strong&gt;として使用する方法です
&lt;p&gt;&lt;em&gt;String val = @&quot;C:￥Documents and Settings￥Administrator￥デスクトップ&quot;;&lt;/em&gt;
&lt;/p&gt;
Documents and Settingsのダブルクォートも必要もなく、可読性が高まります

</description>
	    <dc:date>2008-01-03T00:59:20+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/NET/2008/01/03/csharp-escape</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2008/01/03/csharp-escape?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2007/10/02/sql-server">
	    <title>SQL ServerでLimit句の代替ステートメントを使う方法</title>
	    <link>http://blog.fukaoi.org/2007/10/02/sql-server</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://www.microsoft.com/japan/sql/default.mspx&quot; target=&quot;_blank&quot; title=&quot;SQL Server&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/sqlserver.jpg&quot; alt=&quot;SQL Server&quot; title=&quot;SQL Server&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
MySQL、PostgreSQLを長く使っていたせいか、件数を制限する&lt;strong&gt;LIMIT句&lt;/strong&gt;が当たり前に他のDBMSでも使用できるもんだと思っていました。いざ、MicrosoftのSQL Serverを使う機会があったのですが、LIMIT句がなくてびっくり。というか、使えなくて、すごく不便さを感じました。LIMIT句の代わりになるステートメントを探すと、&lt;strong&gt;TOP句&lt;/strong&gt;がLIMIT句の代わりになるようです
&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;MySQL・PostgreSQLの場合&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;em&gt;
SELECT * FROM table LIMIT 10
&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;SQL Serverの場合&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;em&gt;
SELECT TOP 10 * FROM table
&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;
うーんやっぱり、TOP句になれてないせいか、違和感があります...ね。SQL Serverな人たちは逆にLIMIT句に違和感を感じるんでしょうね
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;subem&quot;&gt;
&lt;strong&gt;TOP句ネタ&lt;/strong&gt;
&lt;br /&gt;
&lt;a href=&quot;http://q.hatena.ne.jp/1154676668&quot; target=&quot;_blank&quot; title=&quot;SQL ServerでSELECT * FROM TABLE ORDER BY ITEM の結果の最初の1件目を取り出すのは、TOP 1かと思いますが、３件目だけ取り出したい場合は、どうすればよいのでしょうか？&quot;&gt;&lt;u&gt;SQL ServerでSELECT * FROM TABLE ORDER BY ITEM の結果の最初の1件目を取り出すのは、TOP 1かと思いますが、３件目だけ取り出したい場合は、どうすればよいのでしょうか？&lt;/u&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://technet.microsoft.com/ja-jp/library/ms189463.aspx&quot; target=&quot;_blank&quot; title=&quot;TOP (Transact-SQL)
&quot;&gt;&lt;u&gt;TOP (Transact-SQL)&lt;/u&gt;&lt;/a&gt;
&lt;/div&gt;
</description>
	    <dc:date>2007-10-02T01:49:44+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/SQL+Server/2007/10/02/sql-server</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2007/10/02/sql-server?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2007/09/12/X-dev-2007">
	    <title>Vista時代の最新サーバーサイド開発事情　X-Dev 2007 </title>
	    <link>http://blog.fukaoi.org/2007/09/12/X-dev-2007</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://itpro.nikkeibp.co.jp/ev/xdev/index.html&quot; target=&quot;_blank&quot; title=&quot;xdev&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/xdev.gif&quot; alt=&quot;xdev&quot; title=&quot;xdev&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
X-Dev 2007に行ってまいりました。スケジュールの都合上参加できたのは【サーバサイド X フレームワーク】Vista時代の最新サーバーサイド開発事情という講義だけでした。備忘的にblogに残しておきたいと思います。後援者は&lt;a href=&quot;http://www.wings.msn.to/&quot; title=&quot;Wingsプロジェクト&quot; alt=&quot;Wingsプロジェクト&quot;&gt;Wingsプロジェクト 代表の山田祥寛（やまだよしひろ）&lt;/a&gt;さん。
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;ユーザエクスペリエンスの重要性&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
Webアプリケーションで機能要件どおりのものを作成するのは、いまや当たり前で＋αの付加価値をつけるべきである。それは何か？アプリケーションとしての使いやすさ、直感的なユーザインターフェースが必要
&lt;/div&gt;
&lt;em&gt;当たり前といえば当たり前のことですが、時間 or お金の問題から毎回プロジェクトで実現することは難しく、またはどうすれば上記2点を実現できるか？昨今のテーマではあると思います
&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;マイクロソフトのプレゼンテーション技術(UIを操作する技術の事)&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
マイクロソフトテクノロージとして以下のものあげられます
&lt;p&gt;ASP.NET AJAX&lt;/p&gt;
&lt;p&gt;Silverlight(旧WPF/E)&lt;/p&gt;
&lt;p&gt;Windowsフォーム(click once)&lt;/p&gt;
&lt;p&gt;WPF&lt;/p&gt;
&lt;/div&gt;
&lt;em&gt;なんといってもRIAのSilverlightに期待です！！&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;WPF&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;.NET Framework 3.0で提供されるプレゼンテーション技術&lt;/p&gt;
&lt;p&gt;2D/3Dグラフィック、静止画像、動画コンテンツをリッチに表現可能&lt;/p&gt;
&lt;p&gt;XMLベースのマークアップ言語XAMLでUIの開発が可能&lt;/p&gt;
&lt;/div&gt;
&lt;em&gt;XAMLをデザイナが習得すれば、プログラマはよりいっそうロジック部分に集中できるようになるかな？！&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;Silverlight&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;クロスプラットフォーム対応(Windows、MacOSXに対応します)&lt;/p&gt;
&lt;p&gt;対応ブラウザはIE、Firefox、Safari(Macに対応するのがうれしい！)&lt;/p&gt;
&lt;p&gt;WPFと共通のXAMLでの開発が可能&lt;/p&gt;
&lt;p&gt;開発言語は.NET対応言語から選択が可能(VB.NET、C#、IronRuby...)&lt;/p&gt;
&lt;p&gt;Siliverlight1.0ではJavaScriptのみ対応&lt;/p&gt;
&lt;p&gt;PHPやJavaEEなどの既存記述も容易である仕様&lt;/p&gt;
&lt;p&gt;Adobe Airに対抗する技術である&lt;/p&gt;
&lt;p&gt;.NETのクローン構築を目指すNovell傘下のオープンソースプロジェクト「Mono」を基盤に、Linux版Siliverlight「Moonlight」を構築する&lt;/p&gt;
&lt;/div&gt;
&lt;em&gt;Aode AirとのRIA分野での一騎打ちの様相になるとにらんでいます。個人的にどっちをとって習得するかとなると、Silverlightかと思います。1.0はリリース(2007/9/5)されたばかりで一体どんなpluginか想像がつかないのですが、1.0以降のリリースには.NET開発言語での開発が可能になるということで、新しく言語を覚える必要もなく、既存の言語スキルでpluginを開発できるというところでしょうか。なら1.0もほぼJavaScriptということで、既存の技術ではあるのですが、マイクロソフトの初版リリースはどうもβテスト的な思いがありそうで、あまり使いたくないといったところです&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;Expression Studio&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;デザイナ向け開発ツール(VisualStudioのデザイナ版みたいなもの)&lt;/p&gt;
&lt;p&gt;visual Studioとの連携も容易(Expression Studioで開発したプロジェクトをVisual Studioから読み込むがことが可能)&lt;/p&gt;
&lt;/div&gt;
&lt;em&gt;とうとうデザイナ領域にまで手を延ばし始めましたね。どちらかというと、Dream Weaver(Adove)に軍配があがっている分野であるが、Visual Studioとの親和性の高さを謳って、巻き返しを図れるかどうか？！みものです&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;ASP.NET AJAX&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;サーバ/クライアントを包括する総合的なAJAX対応フレームワーク&lt;/p&gt;
&lt;p&gt;基本的にJavaScriptの知識がなくても実装可能(要はVisualStudio側で隠蔽しているということ)&lt;/p&gt;
&lt;p&gt;Ajaxを使って、一部のHTMLを書き換えるという処理が簡単(Prototype.jsでいうAjax.Update機能を実現するのにPrototype.jsより簡単)&lt;/p&gt;
&lt;p&gt;何から何まで万能ではないので以下の点に注意が必要&lt;/p&gt;
	&lt;ol&gt;☆JavaScriptを意識させない代わりに裏側の処理が重い(巨大なViewStateには気をつける)&lt;/ol&gt;
	&lt;ol&gt;☆何から何まで非同期で処理される危険性がある(テキストボックスの変更なども)&lt;/ol&gt;
	&lt;ol&gt;☆不要な処理はScriptManager.IsAsysncPostbackプロパティを使って識別する&lt;/ol&gt;
	&lt;ol&gt;☆TImer.Inervalプロパティには十分な間隔を指定&lt;/ol&gt;
	&lt;ol&gt;☆TImer.Inervalプロパティをエンドユーザによって入力させるようなロジックは避けるべきである&lt;/ol&gt;
&lt;/div&gt;
&lt;em&gt;JavaScriptを完全に意識しなくていいというのは簡単(サンプル程度)な処理でしかなくて、複雑なことをするには、やはりガリガリコードを書く必要があるので、JavaScriptを極める必要はないにしろ、言語仕様位は押さえておくべきかと思いました&lt;/em&gt;
&lt;/p&gt;
&lt;br /&gt;&lt;br /&gt;
&lt;p&gt;
&lt;li&gt;&lt;u&gt;&lt;strong&gt;Visual Studio 2008 + .NET Framework3.5&lt;/strong&gt;&lt;/u&gt;&lt;/li&gt;
&lt;div class=&quot;paragraph&quot;&gt;
&lt;p&gt;CSSサポート強化でプロパティウィンドでCSSの適用状態がより確認しやすく&lt;/p&gt;
&lt;p&gt;JavaScriptのデバッグ機能が大幅にUP！！&lt;/p&gt;
&lt;p&gt;マルチターゲッティングサポート(.NET Framework2.0/3.0/3.5の切り替えが可能に)&lt;/p&gt;
&lt;p&gt;LINQプロバイダにより、XML・RDBMS・Object・DataSetに対して一元メソッドにより同じようにアクセスしデータを取得できる&lt;/p&gt;
&lt;/div&gt;
&lt;em&gt;マルチターゲッティング機能が、個人的には一番便利になるなーという印象でした。バージョン毎にVisualStudio2003、2005とインストールして保守しなくて済むようになりますので。折角なら、1.0/1.1にも対応してほしかったですが、それができないほど1.0/1.1と2.0以上のバージョン間で互換性が低いのでしょうか...&lt;/em&gt;
&lt;/p&gt;
</description>
	    <dc:date>2007-09-12T01:06:02+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/Windows/2007/09/12/X-dev-2007</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2007/09/12/X-dev-2007?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2007/07/16/windows-directory">
	    <title>Windowsのフォルダ名に戸惑う.NETプログラミング</title>
	    <link>http://blog.fukaoi.org/2007/07/16/windows-directory</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://www.microsoft.com/japan/net/default.mspx&quot; target=&quot;_blank&quot; title=&quot;.NET&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/dotnet.gif&quot; alt=&quot;.NET&quot; title=&quot;.NET&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
.NET環境でWindowsプログラムを開始して早1ヶ月たち、未だにWindows自身はあまり好きにはなれませんが、Visual Studioは便利なツールだと認識してきている今日この頃です。あるときWindowsのディレクトリパス名を変数にセットしてファイルを保存する処理をC#で下記のようにコーディングしていました。
&lt;p&gt;
&lt;em&gt;
String val = &quot;C:￥￥Documents and Settings￥￥Administrator￥￥デスクトップ&quot;;
&lt;/em&gt;&lt;/p&gt;
問題なくコンパイルは通るのですが実行すると、
&lt;p&gt;&lt;em&gt;&quot;C:￥￥Documents &quot;&lt;/em&gt;&lt;/p&gt;
と丁度空白の箇所で切れてしまい、&lt;strong&gt;Documents and Settings&lt;/strong&gt;をディレクトリと認識してくれませんでした。Windows固有のルールなのだから、それも含めてパースしてくれよーという思いで一杯でしたが、やっつけで下記のように実装して対応しました。
&lt;p&gt;&lt;em&gt;String val = &quot;C:￥￥￥&quot;Documents and Settings￥&quot;￥￥Administrator￥￥デスクトップ&quot;;&lt;/em&gt;&lt;/p&gt;
&lt;strong&gt;￥&quot;Documents and Settings￥&quot;&lt;/strong&gt;
Documents and Settingsをダブルクォートし、なおかつダブルクォートの中にクォートなのでエスケープシーケンス(￥)をダブルクォートの前につけました。Windowsプログラムは初心者なので、このような方法しか思いつかなかったのですが、あまりカッコのよい書き方ではないなぁーと思ってしまいました。世の中のWindowsプログラマーの方々は、どのように実装しているのでしょうか。クリティカルな箇所ではないので、これで良いと言えば良いのでしょうが、何気に気になってしまう初心者です。
</description>
	    <dc:date>2007-07-16T21:44:21+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/NET/2007/07/16/windows-directory</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2007/07/16/windows-directory?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2007/06/20/cookie">
	    <title>以外と知らないCookieの仕様</title>
	    <link>http://blog.fukaoi.org/2007/06/20/cookie</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://rfc-jp.nic.ad.jp/&quot; target=&quot;_blank&quot; title=&quot;Cookie&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/cookie.jpg&quot; alt=&quot;Cookie&quot; title=&quot;Cookie&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
何げなく仕様しているCookieですが、以外と仕様を正しく理解している人は少かったりします(わたしの周りだけだったりしますが...汗)。良い機会なので、RFCを読みかえしてみます。以下がRFCより抜粋した内容です&lt;/p&gt;
&lt;em&gt;
&lt;p&gt;・クライアントが一度に溜めておくことができるCookieの数には限界が存在します、これは、クライアントが受け取り保存するために用意されるべきのCookie最小数の仕様です&lt;/p&gt;
&lt;p&gt;・Cookieの数は、トータルで300個までです&lt;/p&gt;
&lt;p&gt;・１つのCookieにつき4KBまでで、name と OPAQUE_STRING は、4KBまでの形式に結合されます&lt;/p&gt;
&lt;p&gt;・サーバもしくはドメインごとに、クッキーの数は20個までです&lt;/p&gt;
&lt;/em&gt;
&lt;br /&gt;
&lt;p&gt;RFCではCookieの最大サイズは4Kbyteという制約を設けています、世の中の万物限度というものが存在しているように
Cookieのサイズ指定があるのも例外ではないわけです。今回は4Kbyteという制限に注目し、本当に4Kbyteという制約は守られているのか、クライアント、サーバ側でテストをおこなってみることにしました。
&lt;/p&gt;
&lt;br /&gt;
&lt;strong&gt;テスト内容&lt;/strong&gt;
&lt;em&gt;
&lt;p&gt;[クライアント側テスト環境]&lt;/p&gt;
OSパターン1 - Linux(CentOS4.4)&lt;br /&gt;
OSパターン2 - Windows(XP)&lt;br /&gt;
ブラウザパターン1 - Firefox2.0(Linux版)&lt;br /&gt;
ブラウザパターン2 - Firefox2.0(Windows版)
&lt;/em&gt;

&lt;em&gt;
&lt;p&gt;[サーバ側テスト環境]&lt;/p&gt;
Cookie発行プログラム使用言語 - PHP5.2&lt;br /&gt;
Cookieを発行条件 - ブラウザ経由でアクセスした際に無条件でCookieを発行する
&lt;pre&gt;
&lt;？PHP

 // 最大4092byte(4K)のデータを生成する

for ($i = 0; $i &lt; 4092; $i++) {
    $data .= 1;
}

setcookie(strlen($data),$data,time()+60,&quot;/&quot;,&quot;hoge.jp&quot;);
？&gt;
&lt;/pre&gt;
&lt;/em&gt;
&lt;br /&gt;
&lt;strong&gt;テスト結果&lt;/strong&gt;
&lt;p&gt;
Firefoxでは最大4092byteのCookieを取得する亊が確認できました。Cookieは名前も4Kの制限に含めるため
&lt;em&gt;
&lt;pre&gt;
名前＝値
4092＝11111111111111111111111111111111111........1111
↑         ↑ 
(4byte)    (4092byte)
&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;4 + 4092 = 4096 すなわち 4Kbyte&lt;/strong&gt;&lt;/p&gt;
&lt;/em&gt;
となります。きっちり1024 X 4された4096Kbyteを閾値としているようです。サーバ側のCookie発行プログラムのfor文のループ階数を&lt;strong&gt;4092&lt;/strong&gt;から&lt;strong&gt;4093&lt;/strong&gt;に変更した場合はFirefox側で受け取ってくれませんでした。最大値を超えたという判断をされるようです。4092byte以下のデータサイズであれば、当然問題なくCookie領域にセットができます。このテスト結果よりFirefoxはLinux版、Windows版ともにRFCに準拠しているいえるのではないでしょうか。流石でした！
&lt;/p&gt;
&lt;br /&gt;
&lt;div class=&quot;subem&quot;&gt;
&lt;strong&gt;Cookieネタ&lt;/strong&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.ietf.org/rfc/rfc2109.txt&quot; target=&quot;_blank&quot; title=&quot;RFC 2109&quot;&gt;&lt;u&gt;RFC 2109 原文&lt;/u&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.ietf.org/rfc/rfc2965.txt&quot; target=&quot;_blank&quot; title=&quot;RFC 2695&quot;&gt;&lt;u&gt;RFC 2695 原文&lt;/u&gt;&lt;/a&gt;
&lt;/div&gt;
</description>
	    <dc:date>2007-06-20T02:50:52+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/RFC/2007/06/20/cookie</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2007/06/20/cookie?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
            <item rdf:about="http://blog.fukaoi.org/2007/05/13/windows-port">
	    <title>Windowsの80番ポートを占有しているのは誰だ？</title>
	    <link>http://blog.fukaoi.org/2007/05/13/windows-port</link>
        <description>&lt;p&gt;&lt;a href=&quot;http://www.microsoft.com/japan/windowsxp/default.mspx&quot; target=&quot;_blank&quot; title=&quot;windowsXP&quot;&gt;
&lt;img src=&quot;/blojsom/resources/default/windowsxp.gif&quot; alt=&quot;windowsXP&quot; title=&quot;windowsXP&quot; /&gt;
&lt;/a&gt;&lt;/p&gt;
仕事の関係で.NETの業務をこなすべくWindowsXPが入っているデスクトップPCに.NETの開発環境を構築する事になりました。
まずはWebサーバのIISのインストール。WindowsXP Proffesionalなので、
&lt;p&gt;&lt;em&gt;[プログラムの変更と削除] -&gt;［Windowsコンポーネントの変更と削除］-&gt; ［インターネットインフォメーションサービス(IIS)］&lt;/em&gt;
にチェックを入れればなんなく、インストールできます。&lt;/p&gt;
&lt;p&gt;
さて、IISの管理マネージャから起動させようとしたら、エラーで出て起動できません。そこで
&lt;em&gt;telnet localhost 80&lt;/em&gt;
とコマンドプロンプトでたたいてみたら、案の上、他のアプリが先に起動してて占有されているではありませんか。
そういえば、以前、Windows版Apache、Tomcatなどをテストで立ち上げていた記憶があったので、これら
悪戯なアプリ君達が起動しているのかと思い、調べましたが起動していませんでした？？？
ちょっぴり焦りました。
&lt;/p&gt;
&lt;p&gt;
&lt;em&gt;netstat -b&lt;/em&gt;
でlisten中のアプリケーションを調べるには上記コマンドで実現可能です。
&lt;/p&gt;
&lt;p&gt;
早速プロンプトでたたいてみると
&lt;em&gt;localhost:80 [Skype.exe]&lt;/em&gt;
なんと、Skypeが占有しているではありませんか！！！listen portで80をあえて使うのは何故？！
FW(ファイアウォール)でport:80しか許可されていない環境の相手と通信する為でしょうか、ぬかりがないですね。
さすがSkypeというべきかeBayですね。
&lt;/p&gt;
&lt;p&gt;
とりあえず、このままSkypeにport:80を使わせておくのはしゃくなので、
&lt;em&gt;[ツール] -&gt;［設定］-&gt; [接続パラメータとプロキシの設定] -&gt; [上記のポートに代わりポート80を使用する]&lt;/em&gt;にチェックが入っていたのを外し、Skypeには別のportの割りあえを行いました
とりあえず、IISは起動できましたが、今回解決に時間がかかってしまったのは
思い込みがあったためだと思います。まさかWebサーバ以外のアプリケーションが占有しているはずがないという思い込みが。
ネットを調べると他にもSkype port:80占有のネタがありますね
&lt;/p&gt;
&lt;br /&gt;
&lt;div class=&quot;subem&quot;&gt;
&lt;strong&gt;Skype port:80のネタ&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://blog.miraclelinux.com/dora/2007/04/port_80_79b2.html&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;Port 80 の占有者&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://yosiwo.lowtech.ne.jp/item/144?action=logout&quot; target=&quot;_blank&quot;&gt;&lt;u&gt;ぐぉぉ、Skypeは80番ポートを使いやがる！&lt;/u&gt;&lt;/a&gt;
&lt;/div&gt;
</description>
	    <dc:date>2007-05-13T15:44:45+09:00</dc:date>
	                                <wfw:comment>http://blog.fukaoi.org/blojsom/commentapi/default/Windows/2007/05/13/windows-port</wfw:comment>
            <wfw:commentRss>http://blog.fukaoi.org/2007/05/13/windows-port?page=comments&amp;flavor=rss2</wfw:commentRss>
            </item>
    
</rdf:RDF>
