<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>紹介</title><link>http://www.sqljp.com/akiraonishi/category/279.aspx</link><description>紹介</description><managingEditor>大西彰</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>大西彰</dc:creator><title>プチ記事：　Webリソース読み込みというトランザクション処理：「待ってダメならあきらめよう」</title><link>http://sqljp.com/akiraonishi/archive/2008/04/02/24670.aspx</link><pubDate>Wed, 02 Apr 2008 22:04:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2008/04/02/24670.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/24670.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2008/04/02/24670.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/24670.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/24670.aspx</trackback:ping><description>&lt;P&gt;Silverlight + JavaScriptなネタですが、ちょっとしたトランザクション処理と見立てると面白いと思うので、あえてPASSJブログへ、Webリソース読み込みというトランザクション処理、というものを書いてみます。別途MSDNブログにも書きたいと思っています。&lt;/P&gt;
&lt;P&gt;このところSilverlightに関わることが増えて、実際に動かすためのコードを書いていることが多いです。その先には技術啓蒙があるものの、「百聞は一見にしかず」で動いているものをお見せして、その裏側のからくりをきちんと説明できる状況に自分自身を置くことを心がけてます。いわゆる借りてきたサンプルを動作させるのではなく、要件に合致したものを組み上げていくということが中心になっているので、実際のコードを書いていることが多くなるわけです。&lt;/P&gt;
&lt;P&gt;今のところはSilverlight 1.0による技術的なチャレンジに向き合っていますが、頭で考えたことが現実の形になると本当に面白いものだということを、今更ながら実感しています。私が駆け出しのプログラマーだった頃の日々の喜びみたいなものをＩＴ業界で１９年を過ごし、２０年目に突入したばかりのおっさんが感じているわけですから、それは本当に面白いんです。また、ものすごい多数の目に触れるものに手を入れていることもあり、ただ面白いだけではなく、ものすごい緊張との戦いであることも事実です。自分自身の興味のためのプログラミングではなく、他人に使ってもらうアプリケーション構築であるので、きちんと要求を満たす、ということは最低条件として、想定しているシナリオ上で予期せぬ例外が発生しないようにする、というのも必ず意識しています。&lt;/P&gt;
&lt;P&gt;たとえば、次のページにあるSilverlightアプリケーションには、私が考案した安定稼動のためのロジックが入っています。&lt;BR&gt;&lt;A href="http://www.microsoft.com/japan/business/solutions/virtualization/rio.mspx"&gt;http://www.microsoft.com/japan/business/solutions/virtualization/rio.mspx&lt;/A&gt;&lt;/P&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;初期のバージョンは別の方が作られたものですが、インターネット上の配置において予期せぬ問題が発生し、私の調査から安定稼動のためのコードを提示して組み込んでいただき、改良を加えたものです。&lt;BR&gt;この単純なアプリケーションでも、トランザクションの問題のように正常動作か例外か、を切り分けるための再帰呼び出しによる仕掛けが入っています。わかってしまえば単純なことなのですが、その単純なことが未経験者のテスト環境ではわからないことがあります。&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;多くの場合、リソースの読み込みはルーズに書いてもテスト環境ではうまく行きます。リソースがダウンロードできない状況をテストしていないからです。でも必ずしもHTTP GETが成功するとは限らないのです。成功しなかったら、失敗という状態にあることをアプリケーションが理解する必要があります。しかし、そのために数多くのif文を書くのは可読性においても保守性においても好ましくありません。&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;で、やったことは、次のようなコードを作ったことです。&lt;/DIV&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;var LoadedResourceCount = 0;&amp;nbsp; // 読み込まれた画像の数&lt;BR&gt;var ExpectedNumberOfResources = 38; // 想定している画像の総数&lt;BR&gt;&lt;BR&gt;// 読み込み成功：XAML上は"Loaded"にマッピングされるイベントハンドラ&lt;BR&gt;function OnResourceReady(sender, args) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (LoadedResourceCount &amp;gt;= 0) {&amp;nbsp; // 画像読み込みエラーが起きてないことを確認して、成功数を加算する&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadedResourceCount ++;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;// 読み込み失敗：XAML上は"ImageFailed"にマッピングされるイベントハンドラ&lt;BR&gt;function OnResourceFailed(sender, args)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadedResourceCount = -1;&amp;nbsp; // 読み込みエラーは-1と定義する&lt;BR&gt;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&lt;BR&gt;function IsReadyToRunThisApp()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (LoadedResourceCount == ExpectedNumberOfResources) {&amp;nbsp; // すべて読み込まれたので実行してよい&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false; // まだ読み込みが終わっていないので実行してはいけない&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;&amp;nbsp;&lt;BR&gt;function IsFailedToRunThisApp()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (LoadedResourceCount == -1) {&amp;nbsp; // 読み込み失敗しているので、実行できない&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;var idTimeout;&lt;BR&gt;function WaitForAllResourceLoaded()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (IsReadyToRunThisApp() == true ) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clearTimeout(idTimeout);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return true;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if (IsFailedToRunThisApp() == true ) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; clearTimeout(idTimeout);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;}&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;これを準備した段階で、SilverlightのアプリケーションがXAMLをロードし終えた直後に、&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;idTimeout = setTimeout("WaitForAllResourceLoaded", 500);&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;// ..&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;if (WaitForAllResourceLoaded() == false) {&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 何らかのエラーメッセージを表示して、ブラウザの再読み込みを促す&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;}&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;FONT face="Courier New" size=2&gt;// 以下、正常系&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;というコードを仕掛ければリソース読み込みが異常な場合は、最初のif文で判断が付き、トランザクション的な発想で成功か失敗かということを切り分けられるというものです。少なくとも正常系までステップが到達していれれば、Silverlightのランタイム上にはダウンロード済みのリソース（この場合、画像を想定）が見えているので、画像が表示できない、という問題は発生しないことになります。&lt;BR&gt;Webアプリケーションなので、詳細レベルでは、HTTP GETのエラーうんぬんてなことを考えることもできますが、HTTPを利用しているランタイム上のフレームワークが、 
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;・HTTP GETの成功 -&amp;gt; ファイルが見つかりダウンロードできた -&amp;gt; Loadedイベントの呼び出し&lt;BR&gt;・HTTP GETの失敗 -&amp;gt; ファイルが見つからない -&amp;gt; ImageFailedイベントの呼び出し&lt;/BLOCKQUOTE&gt;という形になっていることを想像すれば（実際に、私自身も想像して考案したので）、フレームワーク上のイベントを処理すれば細かいことは気にしなくてよい、ということになります。現実に詳細レベルでは、フレームワーク内で非同期のダウンロードが実行されているので、一見簡単な処理で捕捉できないようにも思えますが、フレームワークを信じれば、単純な問題に帰着できるわけです。結局、リソースが準備できなければ、それ以降の処理をあきらめるしかないので、トランザクション的には失敗なわけです。反対に準備できればそれ以降の処理を継続できるので、トランザクション的には成功。 
&lt;P&gt;「ネットワークタイムアウトはどうなるの？」という疑問を感じた方へ、TCP/IPは無通信が一定時間継続するとタイムアウトして終了します。これは結局、HTTPレベルでも失敗なわけなので、問題ないと思います。Ajaxの通信でも正常終了時、タイムアウト（またはエラー発生時）のイベント呼び出しが分かれてますよね。これもWebサービスからの応答をトランザクションに見立てて成功・失敗で切り分けようと単純化しているものだと思います。&lt;/P&gt;
&lt;P&gt;そんなわけで、Webリソースの読み込みというトランザクション処理を考えるのもありかもしれませんね。で、「待ってダメならあきらめよう」、Windowsだと「（約２分）待ってダメならあきらめよう」みたいな感じで。&lt;BR&gt;これで、ブラウザ上のリッチクライアントでもリソースのダウンロードの成否がはっきりするので、安心して利用できるのではないでしょうか。皆様もお試しあれ。 
&lt;P&gt;本内容はデータベースとは無関係ですが、非同期通信におけるトランザクションとしては他にも応用できるかもしれません。何か面白いアイディアを見つけたら教えていただけると幸いです。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/24670.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>SQL Server 2008日本語プレビュー版 (CTP２月版）の提供が始まりました</title><link>http://sqljp.com/akiraonishi/archive/2008/02/20/24577.aspx</link><pubDate>Wed, 20 Feb 2008 14:50:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2008/02/20/24577.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/24577.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2008/02/20/24577.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/24577.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/24577.aspx</trackback:ping><description>&lt;P&gt;SQL Server 2008に搭載される新機能すべてを備えた最新のプレビュー版が公開されています。&lt;/P&gt;
&lt;P&gt;これは日本語評価版として、初めてのCTPです。ぜひお試しを。&lt;/P&gt;
&lt;P&gt;ダウンロードは、&lt;A href="http://go.microsoft.com/?linkid=8337893"&gt;こちら&lt;/A&gt;から。&lt;/P&gt;
&lt;P&gt;SQL Server 2008自習書シリーズも要チェック。&lt;A href="http://www.microsoft.com/japan/sql/2008/self-learning/default.mspx"&gt;こちら&lt;/A&gt;から。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/24577.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>Scott Guthrieインタビュービデオ公開中</title><link>http://sqljp.com/akiraonishi/archive/2008/01/28/24517.aspx</link><pubDate>Mon, 28 Jan 2008 21:23:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2008/01/28/24517.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/24517.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2008/01/28/24517.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/24517.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/24517.aspx</trackback:ping><description>&lt;P&gt;広く紹介したいのであちこちマルチポストみたいになってしまってますが、Scott Guthrieのインタビューを公開しました。&lt;BR&gt;英語ビデオですが、日本語字幕を手作業で丁寧につけていますので、視聴は難しくないと思います。&lt;/P&gt;
&lt;P&gt;Silverlightを利用していますので、お使いのブラウザにインストールの上、下記のURLにアクセスしてください。&lt;A href="http://www.microsoft.com/japan/msdn/events/vs2008/scott/interview.html"&gt;http://www.microsoft.com/japan/msdn/events/vs2008/scott/interview.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;今回は、Scottの初期の仕事や、ASPからASP.NETになった歴史や、CLRがなぜ発展したのか、とか、彼とASP.NET、.NETのかかわりがよくわかるのではないかと思います。加えて、Visual Studio 2008の新機能についてだけではなく、WPFやSilverlightの未来についても知ることができますので、ぜひご覧ください。&lt;/P&gt;
&lt;P&gt;またASP.NETについては、入門者がASP.NETを最速で学ぶ方法、ポストバック(Post back)についての詳しい説明や、Java開発者がASP.NETを理解するためのポイントなどもお話してもらってます。&lt;/P&gt;
&lt;P&gt;撮影から公開まで８日程度で作業を終えられたのは、いろんな人の協力があったおかげです。&lt;/P&gt;
&lt;P&gt;これからのビデオ配信のひとつの試みとして、また継続してWindows Mediaでのビデオ制作とSilverlightでのビデオ再生にチャレンジしていきたいと思います。&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/24517.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>.NET 3.5 Technical Briefingのビデオ</title><link>http://sqljp.com/akiraonishi/archive/2008/01/19/24480.aspx</link><pubDate>Sat, 19 Jan 2008 20:16:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2008/01/19/24480.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/24480.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2008/01/19/24480.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/24480.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/24480.aspx</trackback:ping><description>&lt;P&gt;MSDN ブログでも紹介していますが、昨年の１２月に秋葉原で行われた.NET 3.5 Technical_Briefingのビデオを制作しました。&lt;/P&gt;
&lt;P&gt;再生にはSilverlightのインストールが必要です。&lt;/P&gt;
&lt;P&gt;Opening:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/opening.html"&gt;http://www.microsoft.com/japan/msdn/events/briefing/webcast/opening.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Session 1:　テクノロジの変遷と時代背景 ～マイクロソフトのプラットフォーム技術 (COMから .NET までのエンタープライズシステム) ～&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session1.html" mce_href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session1.html"&gt;http://www.microsoft.com/japan/msdn/events/briefing/webcast/session1.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Session 2:　マイクロソフトプラットフォーム戦略と最新 .NET 技術解説&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session2.html" mce_href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session2.html"&gt;http://www.microsoft.com/japan/msdn/events/briefing/webcast/session2.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Session 3: 　Visual Studio 2008 による包括的なアプリケーション開発&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session3.html" mce_href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session3.html"&gt;http://www.microsoft.com/japan/msdn/events/briefing/webcast/session3.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Session 4: 　.NET テクノロジによる 次世代リッチクライアントアプリケーション開発&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session4.html" mce_href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session4.html"&gt;http://www.microsoft.com/japan/msdn/events/briefing/webcast/session4.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Session 5: 　ASP.NET AJAX/Silverlight と最新の .NET テクノロジによる次世代 Web アプリケーション開発&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session5.html" mce_href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session5.html"&gt;http://www.microsoft.com/japan/msdn/events/briefing/webcast/session5.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Session 6: 　Visual Studio 2008 によるサービス アプリケーションの開発&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session6.html" mce_href="http://www.microsoft.com/japan/msdn/events/briefing/webcast/session6.html"&gt;http://www.microsoft.com/japan/msdn/events/briefing/webcast/session6.html&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;来週中には、サムネイルによるビデオの頭だし機能を追加できる見込みです。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/24480.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>Silverlightとビデオな毎日</title><link>http://sqljp.com/akiraonishi/archive/2007/11/15/24276.aspx</link><pubDate>Thu, 15 Nov 2007 10:14:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2007/11/15/24276.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/24276.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2007/11/15/24276.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/24276.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/24276.aspx</trackback:ping><description>&lt;P&gt;このところ、今までの経験をフルに活かした仕事に恵まれていて、ビデオ撮影やSilverlightでのアプリケーション開発など、結果として目に見える形で残るものを作れていることを幸せに感じています。&lt;/P&gt;
&lt;P&gt;今までも地道なところでコツコツと作業を続けてきてましたが、なかなかその成果を一般に知られることのないところばかりでいたのが、成果をインターネットやイントラネット上で公開できるようなプロジェクトに携わると、数多くの文字で語らなくとも、どんなことをやっているのかをURLで示せるという面白さは、味わってしまうと癖になるかもしれません。&lt;/P&gt;
&lt;P&gt;別のブログでも紹介済みですが、IT交差点のSilverlight Viewer、既存のサンプルを応用して、足りない部分はコードを追加して完成させてますが、オンラインでの情報提供への新しい形を示してます。&lt;A href="http://www.microsoft.com/japan/powerpro/magazine/viewer/"&gt;http://www.microsoft.com/japan/powerpro/magazine/viewer/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;実はこの紙面にビデオやアニメーションなどを追加するのはそれほど難しいことではなく、情報発信としてのプラットフォームとしていろんな可能性をもった形になっています。加えて、いったん理屈がわかれば、別の情報を掲載するのは簡単で、Silverlightに対する深い知識は必要ではありません。&lt;/P&gt;
&lt;P&gt;データベースまたはWebサービスと連携する形で、今後のプラットフォームを開発できればと思ってます。コンテンツさえ提供すれば、視覚化するのは自動化できると思ってます。ただし、あまり複雑なことをやると、インターネットでは適さない可能性もあるので、適度な統合、というところを目指すのがいいかもしれません。&lt;/P&gt;
&lt;P&gt;実行可能な形でゆるやかに結合を考え、ささっと形にまとめていく、そんなlightな開発も時にはよいかもしれません。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/24276.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>ちょっとだけ近況をお知らせしてきました</title><link>http://sqljp.com/akiraonishi/archive/2007/10/15/24133.aspx</link><pubDate>Mon, 15 Oct 2007 15:40:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2007/10/15/24133.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/24133.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2007/10/15/24133.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/24133.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/24133.aspx</trackback:ping><description>&lt;P&gt;先週、久々に多くの人とお会いする機会があって、私の近況を３分程度のビデオで紹介してきました。&lt;/P&gt;
&lt;P&gt;裏では、ADやSharePoint、SQL Server、他のASP.NET Webアプリケーションと通信しているのですが、使う側にはそんなことは意識させずに結果が得られるようになっていたので、ご覧になられた方は、何をやっているかがよくわかったかもしれません。&lt;/P&gt;
&lt;P&gt;その一部は、下記のブログでも紹介しています。こちらは動的なふるまいを一切記述していませんが、SilverlightとWebアプリケーションのマッシュアップを始める上での基礎的な情報になるかと思います。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/aonishi/archive/2007/10/05/silverlight-1-0-virual-earth.aspx"&gt;http://blogs.msdn.com/aonishi/archive/2007/10/05/silverlight-1-0-virual-earth.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;現実的に動いているものがたとえ単純なからくりで作られていたとしても、それは一つのエンジニアリングだといえます。&lt;/P&gt;
&lt;P&gt;些細なことでもいろんな人に見せて共有していくと、自分自身のさらなる成長につながるかもしれません。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/24133.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>近況 - マーケティング職ですがDevな仕事やってます（ｗ</title><link>http://sqljp.com/akiraonishi/archive/2007/08/31/23959.aspx</link><pubDate>Fri, 31 Aug 2007 12:08:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2007/08/31/23959.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/23959.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2007/08/31/23959.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/23959.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/23959.aspx</trackback:ping><description>&lt;P&gt;この一か月くらいの間、Silverlightを使ったEAIアプリケーションの開発に集中していて、気分はプチ開発者。&lt;BR&gt;真面目にコードをごりごり書くのは２年ぶりくらいの話なので、いろんなことに躓きながらの開発です。&lt;BR&gt;&lt;BR&gt;サーバ側は、ASP.NET 2.0 + ASP.NET AJAX、主たるデータソースとしてActive Directory、SharePointのWebサービス、ASP.NETベースのWebアプリケーション、データのキャッシュとしてSQL Server。クライアントは、IE 7 + Silverlight 1.0 (Firefox 2.0でもOK)。開発は、Visual Studio 2005 SP1&lt;/P&gt;
&lt;P&gt;こちらのプロジェクトは順調に進んでいるものの、ADO.NET 2.0を使っていて、いろいろと思うところあり。&lt;BR&gt;&lt;BR&gt;そろそろLINQやらVisual Studio 2008に向けて、新たなデータアクセス技術についても、自分の額に汗して試した上で、何らかの見解を示していきたいなぁ、と思ってます。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/23959.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>Ask The Experts! 第２弾スタート中</title><link>http://sqljp.com/akiraonishi/archive/2007/02/07/20626.aspx</link><pubDate>Wed, 07 Feb 2007 18:59:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2007/02/07/20626.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/20626.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2007/02/07/20626.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/20626.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/20626.aspx</trackback:ping><description>&lt;P&gt;マイクロソフトの製品担当者に直接質問できる企画、Ask The Experts!では、第２弾がスタートして、質問を受け付けています。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/community/askexperts/default.aspx"&gt;http://www.microsoft.com/japan/msdn/community/askexperts/default.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;今回は、PASSJの皆さんにはもちろん関心のあるSQL Serverならびにデータアクセステクノロジーについて、Jose Blakely氏が回答くださることになっています。&lt;/P&gt;
&lt;P&gt;ぜひ、上記URLにアクセスいただき、いろんな質問を試みてください。&lt;/P&gt;
&lt;P&gt;なお、質問の受付においては、SSLで保護されたWebサイトで情報を収集しています。Windows Live IDが必要となりますので、ご用意の上、アクセスしてください。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/20626.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>デジタルコンテンツ再生: MOVIE COWBOY DC-MC35UL2を試す</title><link>http://sqljp.com/akiraonishi/archive/2006/11/04/19928.aspx</link><pubDate>Sat, 04 Nov 2006 02:24:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2006/11/04/19928.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/19928.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2006/11/04/19928.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/19928.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/19928.aspx</trackback:ping><description>&lt;P&gt;※ SQL Serverネタでなくてごめんなさい・・・&lt;/P&gt;
&lt;P&gt;このところデジタルコンテンツを作成する傍ら、自宅でのデジタルコンテンツ鑑賞を出来る限りPCを使わないで行うにはどうしたらいいものかずーっと考えていました。&lt;/P&gt;
&lt;P&gt;静止画や動画、音楽。コーデックは様々だし、CDやDVDドライブというノイズが出るものだと静かな自宅では些細な音が気になるし・・・。&lt;/P&gt;
&lt;P&gt;仕事で作ったコンテンツはWindows Media Video(WMV)にしているので、gigabeat V30Tに収めているけど、自宅の個人環境では、MPEG-2やDivXで記録してあるものの方が圧倒的に多いのです。TVやCATVのキャプチャをMPEG-2にしていて、いくつかのファイルは一気にDivXに変換してあるためなのですが。&lt;/P&gt;
&lt;P&gt;メディアプレイヤーをいくつか調べていたところ、WMVだけでなくWMV-HDやMPEG-2TSなどの再生をこなすものを発見。それが&lt;A href="http://www.amazon.co.jp/exec/obidos/ASIN/B000H2NH6K/sonetnejp0b4-22/ref=nosim" target=_blank&gt;MOVIE COWBOY HDD MEDIAPLAYER KIT DC-MC35UL2&lt;/A&gt; でした。&lt;/P&gt;
&lt;P&gt;商品自体は3.5インチHDDのケースとして売られているので、HDDは同梱されていないことと、IDE接続のHDD (BigDrive対応)でNTFSフォーマットに読み書きできる上にNAS、正確にはNDASと呼ばれる技術でネットワークストレージにもなる代物。紹介記事を読んだのが実は昨日の朝方5時頃で、それからどうしても欲しくなって、Amazonでお急ぎ便オプションを使って朝の6時に注文。&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;それから、日中、近所のPC系のお店にいって、内蔵用IDE ATA100/133の320GB HDDと、USB 4ポートのSUGOI HUBを購入。本当は500GBのHDDが欲しかったのですが、品切れで、320GBのHDDで妥協。&lt;BR&gt;なぜUSBハブを買ったかと言えば、このメディアプレイヤー、USBホスト機能が動作保証外だけど付属しているので、それに自宅の1TBと600GBのUSB 2.0接続の外付けディスクをUSBハブ経由で接続したらどうなるかを実験したかったからです。USBハブもいろいろなものがありますが、あえてSUGOI HUBにしたのは、なんとなく。&lt;/P&gt;
&lt;P&gt;Amazonに注文してから14時間後、無事、商品が届き、さっそく組み立てることに。&lt;BR&gt;箱を開けて中をみたら、ケースのふたをねじを硬貨で回してはずし、IDE HDDをMasterモードにした状態でIDEコネクタと電源コネクタを接続し、ケースのふたをもとに戻せば組み立て完了。手元に工具がなくても簡単な作業でメディアプレイヤーが出来ることにあっけにとられそう。&lt;/P&gt;
&lt;P&gt;メディアプレイヤーとはいえ、USBクライアントでもあるので、付属のUSBケーブルでWindows PCに接続すれば、USBマスストレージデバイスとして機能するのでとても便利。新品のHDDを入れたので、まずはフォーマット。拡張パーティションは認識してくれないので、プライマリパーティションとしてNTFSでフォーマット。設定はすべてデフォルトでOK。クイックフォーマットでなく普通にフォーマットしたので、容量の分だけ時間がかかります。フォーマットが終われば、USB接続の外付けのHDDのできあがり。&lt;/P&gt;
&lt;P&gt;ここから確認することがいろいろ出てきます。このメディアプレイヤー、非常にコンパクトに出来ているのにやれることが多いからです。&lt;/P&gt;
&lt;P&gt;メディアプレイヤーとしては、内蔵のHDDアクセス、またはLAN経由でWindowsの共有フォルダ (EveryoneまたはGuestアカウントに読み取りアクセス権があるもの)に接続することで、デジタルコンテンツを再生できます。&lt;/P&gt;
&lt;P&gt;・動画再生機能&lt;BR&gt;　MPEG-1/2 (max: 25Mbps)、MPEG-4 (max: 10Mbps)、WMV9 (max: 10Mbps)&lt;BR&gt;　ファイル拡張子で書くと、avi、divx、wmv、ts、mpg、mpeg、m2p、iso、ifo、vob&lt;BR&gt;　最大解像度 1920x1080 (WMV9は1280x720)&lt;/P&gt;
&lt;P&gt;・音声・音楽再生機能&lt;BR&gt;　MP3、WMA、OggVorbis、WAVE、AAC&lt;BR&gt;　ファイル拡張子で書くと、mp3、wma、ogg、wav、aac、m4a&lt;BR&gt;　サンプリングレート32KHz、44.1KHz、48KHz&lt;BR&gt;　ビットレート 64Kbpsから320Kbps (CBR/VBR対応)&lt;/P&gt;
&lt;P&gt;・静止画再生機能&lt;BR&gt;　JPEG、PNG、BMP&lt;/P&gt;
&lt;P&gt;ネットワーク接続のストレージとしても利用できます。NDASという技術で、ローカルコンピュータからはSCSIドライブにアクセスしているようなデバイスドライバの構成が行われます。アクセスコントロールは接続プロパティにWrite keyを設定するとRead/Write、設定しないとRead onlyという簡単なものですが、NDAS接続用のドライバを構成した上で、プレイヤーユニット個別のIDとがわからないと接続できない仕掛けになっています。対応ネットワークが100Base-TXまたは10Base-Tなので、多量のデータ転送を必要とする場合は、USB接続で直接アクセスした方がよいかと思います。&lt;/P&gt;
&lt;P&gt;・・・&lt;/P&gt;
&lt;P&gt;ここまでは製品サポートの範囲なので、苦労することなく動作すると思います。&lt;/P&gt;
&lt;P&gt;で、最大の関心事だったのは、プレイヤーでサポート対象外のUSBホスト機能についてでした。というのも、1.0TBや600GBのHDDにある大きなデータをネットワーク越しでアクセスするのは嫌なので、なんとしてもPCレスで既存のデータにアクセスできないかと考えていたからです。&lt;BR&gt;USBホスト機能のためのポートはたったの一つ。サポート対象外なら、実験してみようと。同様の試みが雑誌の記事にあったそうですが、手元に記事は無いので、やってみようかと。&lt;/P&gt;
&lt;P&gt;まずは、ポートに直接1TBの外付けHDDを接続。結果は無事認識。動作も問題なさそう。続いて、SUGOI HUBをUSBホスト用のポートに接続、そこに2台の外付けHDDを接続・・・、果たして。。。&lt;BR&gt;試行錯誤する必要なく、それぞれ独立したディスクとして認識され、メディアプレイヤーにマウントできてしまいました、もちろんコンテンツ再生も。。。感動・・・。&lt;/P&gt;
&lt;P&gt;今までだと、PC用のTVキャプチャユニットで録画したデータを自宅のTVで見るためには、PCを起動して、ビデオカードからコンポジットのビデオ信号引っ張ってTVにつなげてということで、どうしてもPCのノイズを避けられないのと、コンテンツ再生中、余分に電力消費する・・・しかなかったのです。（もちろんDVD-Videoを作ればPCレスにはなりますが、手間がかかりすぎて・・・）&lt;BR&gt;ところが、このメディアプレイヤーを使えば、PCレスで、USB接続のHDDをマウントしてデジタルコンテンツが再生できてしまうのでとても驚きであり、ありがたいです。ハイビジョン再生はまだ試していないけど、標準ビデオ(SD)品質レベルは気楽に楽しむには丁度いい感じです。&lt;/P&gt;
&lt;P&gt;DLNAには対応していなし、製品の操作マニュアルはWebからのダウンロードのみ、動作させるためにはHDDを自分で用意して組み立て前提なので、万人向けとはいえません。しかしハイビジョン再生があり、既存の多くのデジタルビデオを再生できるので、たくさんデジタルコンテンツをもっている人に対しては、気楽にアクセスできる最適なメディアプレイヤーかもしれません。&lt;/P&gt;
&lt;P&gt;さてと、ひとつ問題が片付いたので、Zaurus、Nintendo DS、PSP、・・・(W-ZERO3[es]もあるんだけど、無線LAN環境作ってない）といった携帯機器からWiFi経由での自宅のデジタルコンテンツとVideo機器へのアクセスについて、そのうち考えてみたいと思います。PSPだとロケーションフリーユニットがあるのですが、きちんと調べていないので、自宅の既存のWiFi環境との統合がイメージできず。DSは特殊な装置に手を出すしかないのだろうなぁ。Zaurusはネットが繋がって再生できるコンテンツにたどり着ければどうにかなることはわかっているんですが、なんせしばらくほったらかしにしていたので、３年前の購入からほとんど弄ってないし。&lt;/P&gt;
&lt;P&gt;ということで、長いですが、ちょっと変わったメディアプレイヤーを試してみたことを書いてみました。&lt;/P&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/19928.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>大西彰</dc:creator><title>Stickam Japan</title><link>http://sqljp.com/akiraonishi/archive/2006/09/24/19527.aspx</link><pubDate>Sun, 24 Sep 2006 03:03:00 GMT</pubDate><guid>http://sqljp.com/akiraonishi/archive/2006/09/24/19527.aspx</guid><wfw:comment>http://sqljp.com/akiraonishi/comments/19527.aspx</wfw:comment><comments>http://sqljp.com/akiraonishi/archive/2006/09/24/19527.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://sqljp.com/akiraonishi/comments/commentRss/19527.aspx</wfw:commentRss><trackback:ping>http://sqljp.com/akiraonishi/services/trackbacks/19527.aspx</trackback:ping><description>&lt;P&gt;普段、仕事でビデオブログの制作に取り組んでいるので、時には仕事と離れたところでビデオを楽しめないかと模索していたのですが、先日、Stickamの関係者と会う機会があり、ここで簡単に紹介したいと思います。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://webmaster.stickam.jp/archives/2006/09/youtube_stickam.html"&gt;プレスリリース&lt;/A&gt;より、引用。&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;Stickam Japan! はライブ中継、動画、写真、音楽などのメディアを介してユーザー間の瞬間を繋ぐグローバルソーシャルメディアサービスです。&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;ビデオ共有だけでなく、Webcamでのライブ中継というのが興味深いです。&lt;/P&gt;
&lt;P&gt;ブログパーツで簡単にビデオログがはじめられるので、仕事と関係のないブログで実験したいなぁと思っています。&lt;/P&gt;
&lt;P&gt;＃　とはいえ、どんなビデオが公開できるんだろう？？？暇あるんかしら　＞　自分&lt;/P&gt;
&lt;P&gt;皆様もお試しあれ。&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;A href="http://www.stickam.jp/" target=_blank&gt;&lt;FONT size=-1&gt;今すぐStickamをゲット！&lt;/FONT&gt;&lt;/A&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src ="http://sqljp.com/akiraonishi/aggbug/19527.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>
