Windows Phone 7のアプリケーション開発をしましょう~♪ってことで、サンプルから眺め始めました。まず一つ目がアプリケーション・バーです。
アプリケーション・バーとは
アプリケーション・バーとは、下の図で言うと赤い線で囲った部分です。自分が作成するアプリケーションのメニューバーにあたるものです。
2種類のアプリケーション・バー
アプリケーション・バーは、2種類あります。「ボタン式のもの」と「伸縮するもの」です。この表現は正確ではないのですが、とりあえずのイメージをつかむ為には役にたつかなと思っています。
下の図で言うと、AとBの2種類があります。
Aは画像を表示しており、これがボタンとなっております。これにイベントハンドラを定義すれば動作します。Bが多少特殊です。実は、Bは私が用意したものでは無くWindows Phone 7が自動で表示したものです。こちらもボタンになっています。
Bをクリックしますと、下の図のようにアプリケーション・バーの下に文字が表示されたのがわかるかと思います。これが本当の2種類目のアプリケーション・バーでコードを書いた部分になります。こちらは画像では無く文字列となっています。これにイベントハンドラを定義することになります。
下の図が組み込みのブラウザとなっています。アプリケーション・バーがあるのがわかるかと思います。そして、Bパターンのアプリケーション・バーを押してみます。
通常のアプリケーションのメニューが表示されます。と言うわけでWindows Phone 7のアプリケーションを開発する際には、何の機能をAパターンにし、どれをBパターンにするかを考えていくことになります。
コーディング
アプリケーション・バーを設定する方法は2種類あります。XAMLで定義する方法とC#のロジックで定義する方法があります。
まず、通常通り新規でWindows Phone 7アプリプロジェクトを作成し、以下の事前準備を行います。
- Microsoft.Phone.Shellアセンブリの参照を追加する
- 画像を用意し、ソリューションに追加する
事前準備はこれで完了です。後は、コードを書けば、完了です。詳細は、How to: Add an Application Bar to Your Applicationを見ていただくとして、簡単に見てみたいと思います。
<phonenavigation:phoneapplicationpage.applicationbar>
<shell:applicationbar ismenuenabled="True" visible="True">
<shell:applicationbar.buttons>
<shell:applicationbariconbutton iconuri="/Images/button1.png" click="button1_Click" x:name="”button1”"></shell:applicationbariconbutton>
<shell:applicationbariconbutton iconuri="/Images/button2.png" click="button2_Click" x:name="”button2”"></shell:applicationbariconbutton>
</shell:applicationbar.buttons>
<shell:applicationbar.menuitems>
<shell:applicationbarmenuitem click="menuItem1_Click" x:name="”menuItem1”" text="MenuItem 1"></shell:applicationbarmenuitem>
<shell:applicationbarmenuitem click="menuItem2_Click" x:name="”menuItem2”" text="MenuItem 2"></shell:applicationbarmenuitem>
</shell:applicationbar.menuitems>
</shell:applicationbar>
</phonenavigation:phoneapplicationpage.applicationbar>
4~5行目で、Aのアプリケーション・バーを定義しています。ApplicationBar.Buttonsという定義となっています。
8~9行目で、Bのアプリケーション・バーを定義しています。ApplicationBar.MenuItemsという定義となっています。
ApplicationBar = new ApplicationBar();
ApplicationBar.Visible = true;
ApplicationBar.IsMenuEnabled = true;
ApplicationBarIconButton button1 = new ApplicationBarIconButton(new Uri("/Images/button1.png", UriKind.Relative));
button1.Click += new EventHandler(button1_Click);
ApplicationBar.Buttons.Add(button1);
ApplicationBarMenuItem menuItem1 = new ApplicationBarMenuItem("MenuItem 1");
menuItem1.Click += new EventHandler(menuItem1_Click);
ApplicationBar.MenuItems.Add(menuItem1);
C#で定義する場合は、Aタイプのアプリケーション・バーは、ApplicationBarIconButtonクラスを使用します。インスタンス化し、ApplicationBar.Buttons.Addで画面上に追加しています。Bタイプのアプリケーション・バーは、ApplicationBarMenuItemクラスを使用しています。同じくインスタンス化し、ApplicationBar.MenuItems.Addで画面上に追加しています。
参考情報
How to: Add an Application Bar to Your Application
Application Bar Sample
Windows Phone 7のニュースがアメリカで開催されているMIX10で、いろいろ発表されています。新しいものには、とりあえず飛びつけを信条にしているので飛びついてみました。
- 2010/3/16 公開
- 01. 開発環境
- 02. サポート言語
- 03. 日本語の使用について
- 04. 無料の電子書籍プレビュー版が公開(英語だけど)
- 05. セキュリティについて
- 06. ハードウェアエミュレーションについて
- 07. Bing Mapのサポートについて
- 08. オーディオの使用について
- 09. デバッグについて
- 10. ソケットは未対応
- 11. データの保存について
- 12. Windows Phoneがサポートするクラスについて
- 13. 仮想環境上でのエミュレータの実行について
- 14. エミュレーターの実行時にエラーが発生する
- 2010/3/17 公開
- 15. サポートしている画像の種類について
- 16. バイブレーションについて
- 17. ジェスチャーについて
- 18. PhotoChooserTaskの使用方法について
- 19. エミュレーターの動作が遅い
- 2010/3/18 公開
- 20. 対応しているメディア(音、映像)について
- 21. 数字キーボードの出し方について
01. 開発環境
高橋 忍のブログ : Windows Phone 7 の開発環境がリリース
Windows Phone 7 Series のアプリケーションプラットフォームは2つ
Download details: Windows Phone Developer Tools
尚、サポートするOSは Windows Vista / 7 のみとなります
- Visual Studio 2010 Express for Windows Phone CTP
- Windows Phone Emulator CTP
- Silverlight for Windows Phone CTP
- XNA 4.0 Game Studio CTP
Windows XP Supportにて、XPはサポートしないと回答されています。
Error with Emulator - Emulator starts up but is loading for ever
開発をExpression Blendから始めることはサポートしていません。
Expression Blend 4 Beta with “MICROSOFT EXPRESSION BLEND ADD-IN PREVIEW FOR WINDOWS PHONE.”にエクスポートしてください。
Windows Serverにも対応していません。
Virtual PCやHyper-V上での動作もサポートしていません。
BlendとVS間でWindows Phone projectsを行き来して開発することはサポートしていません。
02. サポート言語について
VB.NET support?
Windows Phone 7で使用するための、VB.NETの開発、テスト、サポートは当面計画されていません。
ってことで、現時点ではC#のみの対応。
3/17追記:
VB.NETのジェネラルPMが「当然、VB.NETでもWindows Phone 7アプリケーションをかけるようにサポートする。ただし、詳細と日程についてはまだ調整しているところだ」っと発表
03. 日本語の使用について
Installing international fonts
but in theory while the OS does not natively support East Asian fonts, you could use them in your application by embedding the font needed into your application
まず、Visual Studioでプロパティ設定を行ってみる。
ドロップダウンリストに日本語フォントが無いので、下のように無理やりタイピングして指定してみる。
Visual Studio上では、日本語が表示された。
でも、Windows Phone 7 VM上では、下のように文字化けする。何か回避策があるのかな?VM上にフォントのインストールとか??
04. 無料の電子書籍プレビュー版が公開(英語だけど)
Microsoft Press : Free ebook: Programming Windows Phone 7 Series (DRAFT Preview)
PDF版とXPS版とソースコードが無料で公開されています。
3/17追記:
How to get started with Windows Phone Programming - O'Reilly Answers
オライリーでも別の電子書籍がPDFで提供されています。
05. セキュリティについて
will Ms provide some way to access system/kernel(winCE) level API?
Windows Phone 7アプリケーションはDLLなどの呼び出しに対応しません。また、ローカルでは2つのアプリケーション間でのデータ共有はできません。クラウド上でデータ交換は可能です。
OEMパートナーでオプションを追加したい場合は、デバイスに直接アプリケーションを構築してください。
06. ハードウェアエミュレーションについて
Hardware emulation
加速度計やGPSなどのシミュレーションサポートは計画されていません。
しかし、代わりにあなた自身で、それらの特徴をもつコードを書いてエミュレーションするときに使えばいい。
07. Bing Mapのサポートについて
Bing Maps support?
Microsoft.Phone.TasksのBingMapsTasksについて調べてね。
BingMapsTask Class (Microsoft.Phone.Tasks)
後、実装する際にはBing Maps Web Services Addressesも参照した方がよい。
サンプルは、Code Samples for Windows PhoneのLocation Services Sampleが参考になる。
08. オーディオの使用について
SilverlightでMediaElementを使用する → Audio and Overview
MediaPlayerLauncherタスクを使用する → MediaPlayerLauncher Class (Microsoft.Phone.Tasks)
何はともあれ、Windows Phone Media Overview.を確認してくだされ。
How do I play audio?
3/17追記:MediaElementに加えて、Microsoft.Xna.Framework.dllのMicrosoft.Xna.Framework.Audio名前空間のSoundEffect と DynamicSoundEffectInstanceクラスがオーディオプレイの助けとなるよ。
SilverligthアプリにXnaアプリを追加すればいい。
SoundEffect effect = SoundEffect.FromStream( TitleContainer.OpenStream("tada.wav") );
effect.Play();
09. デバッグについて
there should be different but there are the same items in list view
何かプログラミングをしていて問題に遭遇した場合は、慌てずに以下の手順を試してほしい。何故なら、大抵の問題はWindows Phone 固有の問題では無く、一般的なプログラミングの問題だからだ。
- Windows Phone開発環境の代わりに、コードをコピーアンドペーストで新しいSilverlightアプリケーション(普通のデスクトップアプリケーションの設定でローカルに配置する)を作成しテストしてみる。
- 問題が再現されたら、それは一般的なプログラミングの問題だからロジックを見直してみよう
- テスト①がクリアした場合は、潜在的なWindows Phoneのバグの可能性が高いので報告してほしい。CTPまでに修正したい。
10. ソケットは未対応
native, multi-tasking, test device, restrictions, cloud
Sockets通信はサポートしていません。
webリクエストとプッシュ通知メカニズムのみの提供です。
11. データの保存について
How do I store persistent application data?
データを大量に保存しないのであれば、phone上のisolatedストレージ上にXmlSerializerを使用して、serialize/deserializeできます。
他にはLinq to XML()を使ってもいいかもね。
SQL Compact Edition in WP7?
SQL系は提供されない。
Windows Phone 7の現在のローカルのデータ構造は、IsolatedストレージとXMLファイルです。
しかし、ローカルにこだわらなければ、サーバ上のSQLなどは使用できる。
また、WEBリクエストやプッシュ通知を使うこともできる
XML Files Storage
シンプルな例
XDocument doc = XDocument.Load("somefile.xml");
IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream isfStream = new IsolatedStorageFileStream("test.xml", System.IO.FileMode.Create, isf);
doc.Save(isfStream);
12. Windows Phoneがサポートするクラスについて
System.Security SHA512Managed within Windows Phone 7 Series Missing?
Windows Phone 7上で提供されるBCL(Base Class Libraries)は、Silverlight 3.0 BCLです。最終リリースまでに、さらにクラスは追加されますが、SL3.0よりも後は追加されません。
Windows Phone 7はSL3.0 BCLのサブセットのみを使用します。
例えば、System.Security SHA512Managed はSL3.0 BCLで提供されていないので使用できません。
13. 仮想環境上でのエミュレータの実行について
Emulator doesn't get past the loading screen.
まだ仮想環境上でのエミュレーターの実行はサポートしていません。
仮想環境の種類によっては正常に動作しません。
14. エミュレーターの実行時にエラーが発生する
エミュレーターを実行すると下のようなエラーが発生する
Connection failed because of invalid command-line arguments.
- Expression Blend 4 Beta with "Microsoft Expression Blend Add-in Preview for Windows Phone"を使用していますか?
- Windows 7を使用していますか?(VM内で実行していないですよね?)
- BIOSの設定のセキュリティタブにあるVirtualization Technologyがオンになっていることを確認してください。
エミュレーターを実行する前に、Windows Virtual PC virtual machines を閉じてください。
それれでも出る場合は詳細なOS情報をください。
3/18追記:
Emulator won't launch; installation problem?
------ Deploy started: Project: WindowsPhoneListApplication3, Configuration: Debug Any CPU ------
Deployment of application to device failed.
Error: Exception from HRESULT: 0x89721800
========== Deploy: 0 succeeded, 1 failed, 0 skipped ==========
- DX10が必須です。DX10が入っているか確認してください
- インストールに失敗している可能性があります。一度アンインストールしてから再度インストールしてみてください
- AppDataフォルダーの問題かもしれません。一時的にUACを無効にしてインストールをしてみてください。
- 管理者モードで実行してください。ショートカットかexeを右クリックしプロパティから「管理者として実行」にチェックを入れてから起動してください。
15. サポートしている画像の種類について
External Load Image
Silverlightがサポートしている画像イメージは、PNGとJPEGのみです。
参考:BitmapImage Class (System.Windows.Media.Imaging)
もし、GIFを使いたいのなら、動作確認はしていないが、GIFのexternal decodersを試してみると良いかも。
16. バイブレーションについて
Vibrate the phone
バイブレーションも使えるよ。
VibrateController Start()を使用すれば良い。
詳細は、VibrateController Class (Microsoft.Devices)を見てね。
17. ジェスチャーについて
マニピュレ-ション(ジェスチャー)イベントをハンドリングするAPIとメカニズム
Class Library Support on Windows Phone
- フリック・ジェスチャー(Flick)
コントロールでManipulationCompletedイベントをハンドリングします。「ManipulationCompletedEventArgs.IsInertial」をチェックします。trueならフリックジェスチャーです。
ManipulationCompletedEventArgs.FinalVelocitiesから直線速度を取得できます。
ジェスチャーには4つのイベントが適用されます。
- ManipulationStarted
- ManipulationCompleted
- ManipulationDelta
- ManipulationInertiaStarting
1,2,3は、イベントをハンドルして、イベントに応じたアクションをさせます。Deltaイベントは、スケールと変形を持ちますが、回転はありません。LinearVelocityのみを取得できます。
Silverlightはマウスイベントを生成します。ジェスチャーイベントを取得したとき、デバイスで有効になっているマウスイベントをシミュレートするかどうかに関わらず、マウスイベントを確認します。対応するマウスイベント(MouseLeftButtonDown for ManipulationStarted, MouseMove for ManipulationDelta, and MouseLeftButtonUp/MouseLeave for ManipulationCompleted)が生成されます。
注意が必要なのは、二本の指で押したとき、同じ2つのイベントを取得することはできません。
18. PhotoChooserTaskの使用方法について
how do i use PhotoChooserTask?
リリースされているCTPエミュレーターでは、ほとんどの「Tasks」が提供されていません。それらを使用しようとすると例外が発生します。
Camera access
現在のCTP版ではカメラは提供されていないので、カメラ機能の付いたエミュレーターがリリースされるまでか、実機を入手するまではテストできません。
FYI: リリースノートでの説明
Runtime exception occurs when an application attempts to use a launcher/chooser in Microsoft.Phone.Tasks to call an application that is not present in the Emulator home screen. The following error string is displayed, “The drive cannot locate a specific area or track on the disk.” Workaround: Do not use the launcher/chooser or catch this exception.
19. エミュレーターの動作が遅い
Emulator runs slowly, i think its ignoring my GPU
- DXDIAGの情報を提供してください
エミュレーターで使用するGPUホストはDDI 10以降である必要があります。確認するには、VS2010 Expressなら、Help --> Aboutのダイアログボックスでするか、コマンドプロンプトで「dxdiag」と入力します。
- BIOSでHW Virtualizationを有効にしている場合
共通的な注意事項を確認してください:Windows Virtual PC: Configure BIOS
20. 対応しているメディア(音、映像)について
Supported Media Codecsでリストが公開されています。
- 音声
- WAV
- MP3
- WMA
- 3GP
- 3G2
- MP4
- M4A
- 映像
- 画像
21. 数字キーボードの出し方について
Pull up a number pad keyboard?
<TextBox InputScope=”Number” …/>
<TextBox InputScope=”TelephoneNumber” …/>
1つ目が、フルキーボードの数字モード。2つ目が電話のダイヤル用数字キーボードが表示されます。
2010/03/16に「Cumulative Update #7 for SQL Server 2008 Service Pack 1 」、「Cumulative Update #10 for SQL Server 2008 RTM 」がリリースされました。
Cumulative Update (略称、CU)は、累積的な更新プログラム パッケージっと呼ばれる物で、バグフィックスがまとめられたものです。例えば、CU#10を適用すると、CU#1~CU#10までの全てのFIXが適用されます。
SQL Serverのバグフィックスは、個別には提供されずCUの一部で提供される傾向にあります。
今回のCUて対応されたバグ内容については下記サポート情報を参照してください。
- SQL Server 2008 の Service Pack 1 用の累積的な更新プログラム パッケージ 7
- SQL Server 2008 の累積的な更新プログラム パッケージ 10
- FIX:SQL Server 2008でService Brokerが無効になっていても「ddl_event_notification_events」は正常と通知する
- FIX:SQL Serve 2005又は2008で、自動フェールオーバープロセスが長時間発生し、データベースミラーリングのスレッドが応答を止めた場合、データが失われる可能性があります。
- SQL Server 2005 および SQL Server 2008 のフェールオーバーをミラー データベースが解放されない問題が発生する可能性があります。
- FIX:データベースで SQL Server 2005 の仮想ログ ファイルの数が多い場合、プリンシパル データベースがリカバリされません。
- FIX:SQL Server 2005 のトランザクション レプリケーションでLOB 列のデータを更新すると、データが破損されます。
- SQL Server 2008 で分散トランザクションが予期せず中止します。
- FIX:SSAS 2005 グループ メンバーの操作で、SSAS2005のデータソースでExcel のピボットテーブルを実行するとキューブのデータ ソースがいくつかの問題が発生します。
参考
SQL Server 2008 SP1の過去のCU
SQL Server 2008の過去のCU
[Think IT] 第2回:優勝決定!怒濤のインストールの果てに (1/3)が公開されました~♪
イベントレポートって本当難しいと痛感したレポート執筆でした。
つたないレポートで申し訳ないのですが、少しでも当日の雰囲気を味わっていただければ良いな~と思います。
情報源:Rob’S TechNet Ragg窶ヲ. Tech Talk & Cool Toys for Grown up Boys & Girls : Windows 7 Template Creation Error
これも知らないと盛大にはまりそうなので備忘録代わりにメモ。
SCVMMのテンプ レート機能
テンプレート機能については、以下のスライドが分かりやすいので借用した。


(出典:R2 対応~Hyper-V 2.0 と Virtual Machine Manager 2008 R2 によるサーバー仮想化)
エラー内容
- SCVMMを使用して、Windows 7のテンプレートを作成しようとすると失敗する。
- Windows 7にSysprepを行おうとすると失敗する
- エラーコード:–2147024864
回避策
Sysprepを実行する前に、Windows Media Sharingサービスをストップし無効にすることでエラーが発生しなくなる。
参考情報
実は、この現象は既知の問題でWindows 7 RCの頃からある問題です。
Release Notes: Important Issues in This Release Candidate of Windows 7のSystem Preparation Toolの項に記載があります。
If you use the System Preparation Tool (Sysprep), you may receive a error with the code -2147024864. To avoid this, stop the Windows Media® sharing service with the command net stop wmpnetworksvc before you run the tool.
RTMでも解消されていないようですね、、、
情報源:Reflections on Microsoft Dynamics AX : No mouse with Win2008 RTM under Hyper-V
Windows Server 2008 RTMに今後触れる機会はあまり無い気がするけど、何らかのタイミングで遭遇したらはまりそうなので、備忘録としてメモ。
症状
Windows Server 2008 RTMのHyper-V上で動く仮想環境で、仮想環境に変換したか新規に構築した場合に、マウスが使用できなくなることがあります。仮想ハードウェアのプロパティを検出できないからだそうです。
改善方法
- ファイル名を指定して実行で「msconfig」と入力しOKを押します。
- システム構成の「ブート」タブを選択します。マウスが使えないので、キーボードのTabを何度か押し、タブ上にフォーカスを移動させ右矢印で移動させます。
- 「詳細オプション」ボタンを押下します。
※英語なのは、手元に仮想環境が無く物理環境のWin7にオプションが存在しなかったので。。。
- 再起動します。
- 統合サービスをインストールします。
これで解決するらしいです。
プリントスクリーン、スクリーンキャプチャなどなど表現は多々あれど、SEをやっていると通常の職業の人よりも圧倒的に多い作業の代表例です。SEをやっていて、スクリーンキャプチャをしたことが無いって人はさすがに、いないと思います。日常的にやる作業だけに、個々に自分にとって使いやすいツールを探求し利用されていると思います。(まれに、Windows標準のプリントスクリーンとペイントで頑張っている方もいらっしゃいます。)
そんなスクリーンキャプチャツールについて自分が使用しているものを紹介したいと思います。ちなみに、本ポストは技術ひろばの瀬尾さんの資料「スクリーンキャプチャツールあれこれ」に触発されたものなので、そちらで紹介されているものはスルーいたします。
PowerPoint 2010
スクリーンキャプチャツール紹介で「何故PowerPoint?」と思った人は驚くかもしれませんが、PowerPoint2010には標準でキャプチャ機能が搭載されています。
「開いているウィンドウのキャプチャ」と「矩形選択した範囲をキャプチャするか」の2つが用意されています。マウスカーソルが取得できない、一発で画像保存できないなど他のソフトに比べれば機能は少なめです。
ですが、マウスカーソルいらない、ウィンドウのキャプチャが欲しい、矩形選択の画像が欲しい場合には十分実用に耐えうる機能です。なにしろPowerPointの機能なのでキャプチャした画像がそのままスライドに貼り付けられるのが良いです。
SnapCrab fot IE
フェンリルが開発しているSleipnirに提供されていた強力なキャプチャツールがSnapCrabです。そのIE版が、SnapCrab fot IEです。
ツールバーで提供されており、爽快な動きをします。
範囲指定、ウィンドウ、ページ内すべて、色の表示、カーソルのキャプチャ、クリップボードへのコピー、画像への保存などシンプルな作りにもかかわらず豊富な機能を持っています。
特に一押し機能が、ページ内すべてのキャプチャ機能です。百聞は一見にしかずと言うことで下を見てください。
縦長のページです。これをキャプチャできてしまうのです。ワンクリックで。
とにかく多機能なのですが、それをスマートなUIで実現しており、デザインのフェンリルたるソフトウェアだと思います。
Windows Live Writerのアドイン「スクリーンショット」
Windows Live Writerのアドインとして提供されている「スクリーンショット」アドインがシンプルでBlog投稿には最適です。
起動した直後の画面。
これで矩形選択もしくは画面全体のスクリーンショットがとれWindows Live Writerに添付されます。Windows Live WriterでBlogを書くのに必須のツールだと思います。
DtCut
最近、先輩に紹介してもらったツールで最近のお気に入りが、DtCutです。
詳細な説明は、「Vector: DtCut - 新着ソフトレビュー」を参照していただくとして、動作場面のスクリーンショットを掲載したいと思います。
上記スクリーンショットで、枠があるのがわかりますか?そうDtCutはキャプチャしたい領域を常時表示させた状態で好きなタイミングで取得できることができる。
大抵の矩形選択できるキャプチャツールは、リアルタイムで選択する必要があります。そのため、キャプチャし損ねることがありました。でも、これは常時枠が表示されているのでキャプチャしたい箇所を正確に指定できます。
まとめ
以上、ここでは4つのツールを紹介しました。私が使用している他のツールはWinShotです。
いろいろ試した中で、今でも使用し続けているツールを紹介しました。
他に良いソフトがありましたら教えてくださいな~♪
情報源:
SQL Error logは、レジストリか、SQL Server Configuration Managerでスタートアップパラメータを見ればわかります。
もう一つ、次のクエリを発行することでも確認できます。
SELECT SERVERPROPERTY('ErrorLogFileName')

Books Onlineには記載されていないので、公式には公開されていないコマンドです。
情報源:John Kelbley's real life enterprise interop and administration : Linux and Hyper-V the Easy Way: Brown and Serve!
Hyper-V統合コンポーネントはLinuxに提供されているので、最近のLinuxカーネルに含まれているます。Linuxカーネル(2.6.32以降)の新しいビルドを基にしたディストリビュートでは、マイクロソフトからLinux Integration Components (ICs)をダウンロードする必要が無く、Hyper-Vでの高パフォーマンスのサポートを受けることができます。
最新バージョンのUbuntuデスクトップ(10.04 workstation)、Linuxカーネルバージョン2.6.32を基にしており、Hyper-VのICsが含まれています。
インストール直後
インストール直後は、まだ統合サービスが有効になっていないので、レガシーのエミュレーションNWのみが有効になっています。
統合サービスの有効化
ターミナルウィンドウを開き、Geditで“/etc/initramfs-tools/modules”ファイルに以下の項目を追加しました。
hv_vmbus
hv_storvsc
hv_blkvsc
hv_netvsc

次に、“update-initramfs –u”でICsを有効化するために再起動します。
留意事項
以下のようなエラーがイベントログに記録されますが特に気にするひつようはありません。正常に動作しています。
補足:Hyper-V上のUbuntuはマイクロソフトがサポートを提供するディストリビューションではありませんが、ICコードは含まれており、快適に動作します。
参考情報
Windows Server 使い倒し塾 : Hyper-V の Red Hat サポート
すでに Linux Kernel version 2.6.32 で、Hyper-V対応版が公開されていますので、各ディストリビューションにて Hyper-V 対応状況をご確認いただければと思います。
Microsoft Contributes Linux Drivers to Linux Community
Blog | IT From All Angles - Hyper-V Guests: Linux Kernel 2.6.32 Released
酒井 達明
日経BP社
売り上げランキング: 10336
おすすめ度の平均:


Azureの概要から開発の初期教育資料に最適
Azureの概要から開発の初期教育資料に最適
本書は、Microsoft MVP C#を受賞されている日立システムアンドサービスの酒井さん(http://tatsuakisakai.net/)が 執筆されたWindows Azureアプリケーション開発の書籍です。
同氏含む4人で執筆された『Windows Azure入門』に続く、日本語で執筆されたAzure書籍の2冊目となります。 『Windows Azure入門』が出版されてからSDKやサービス名変更が発生し、サンプルコードが そのまま使用できなくなってしまいました。 本書では最新の状態に反映されており、サンプルコードをそのまま入力し実行することができます。
本書の構成は、前半と後半に分けることができます。
前半が概念(基礎知識)、後半が実践(コーディング)となっています。
まず前半部分では、Windows Azureの概要について、 Windows Azure、Windows Azure Platform AppFabric、SQL Azure それぞれについて、どういった物で、どういう時に使用するのか、課金のされ方(計算例)が 解説されています。
1章から4章までの60ページほどで解説されており、一気に読めば1時間ほどで読めます。 1時間ほどでAzureの基礎概念を理解できます。
続く後半部分では、実際のコーディングとデプロイについて紹介されています。 まず、.NET Framework開発としてVisual Studio、PHP開発としてEclipseを使用した場合の Hello Worldレベルの開発、Azureデプロイ方法が紹介されます。 そして、C#でのサンプルアプリケーション開発の説明が行われます。 Queueを使用したサンプル、Blobを使用したサンプル、Tableを使用したサンプル、 Windows Azure Platformを使用したサンプル、そして最後が既存のSQL Serverを使用した ASP.NETをAzure(SQL Azure)にマイグレーションするサンプルが紹介されています。
以上の豊富な内容によりAzureアプリケーションを初めて開発する際の羅針盤として 最適と言えます。
もちろん、あくまでも入門と唄っているように細かい点などは割愛されており 本格的に取り組む際には、さらに検証は必要となります。 (『Windows Azure入門』にて一部触れられているので、そちらも参照すると良いと 思います)
しかし、本書はWindows Azureアプリケーション開発の為の高速道路と言える バイブル的書籍です。PJ最初期の開発者教育に使用に堪えうる簡潔で良い書籍でした。
先週(2010年2月27日)、インストールマニアックス3決勝戦が開催されました。
私が執筆させていただいたイベントレポートの第一回が公開されています♪
[Think IT] 第1回:決勝スタート!最初にインストールするのは誰? (1/3)
2009年年末から2010年新年にかけて開催された、インストールマニアックス3Hyper-V祭りの決勝戦が今週末開催されます。
3回目となった今回のインストールマニアックスの予選は、Hyper-V Server上にWindows Server 2008 R2 WebEditionをインストールし、その上にインストールされたOSS数を競うっというものでした。
目新しいところは、「Hyper-V Serverの上に、つまり仮想環境上のゲストOSにOSSをインストールする」っという点だったのですが、それ以外は前回の第2回と同じ条件だったこともあり、非常に白熱した予選となりました。風の噂(情報源を明かせないからこそ、風のうわさなんですよね~)によると数百個単位のインストールをした兵が複数人いたっと耳にしました。もう、自分とは次元が違う世界でただただ、呆れるばかりです。
そんな変態的な強さをもつ上位陣が一堂に会し、開催されるのが今週末の決勝戦。会場は、なんとOSC(オープンソースカンファレンス)内にて行われます。
当日はオンデマンド中継が行われるとともに、観戦された方には今回の予選と同じHyper-Vが動作するサーバが7名の方に抽選でプレゼントされるようです。
また、Twitterにて実況も行われることが決まってます。(ハッシュタグ:#maniax3)
詳細などは、ぜひ下記サイトを参照してください。
インストールマニアックス3 Hyper-V祭り
うん?回し者みたいだって?
違いますよ!!「みたい」じゃなく、回し者なのです!!(笑)
当日は、上記ハッシュタグでつぶやく担当っとなってます♪ さらに・・・まぁ、これはそのうち、追々紹介しますので、まずは週末は明星大学へどうぞ♪
ネタ元:Q&A: Do I get charged compute hours for every role in my Windows Azure Hosted Service?
参考:Windows Azureの請求が出ました デプロイ時間課金はロール単位? - Windows Live
簡単に言うと、「はい、課金されます」になります。
もうすこし詳しく言うと、
ロール毎にWindows Azure Platform上に仮想マシンが作成されます。
例えば、1つのインスタンス上に2つのWebRoleと3つのWorkerRoleを持つと、5つの仮想マシンがデプロイされていることがわかります。
それ故に、24時間デプロイすると、私は24時間×5仮想マシン=120時間が課金されています。
私は1日半動かしていたので、160時間課金されています。
その他関連情報
WEB2.0という単語が世の中に浸透し、AJAXやらなんやらでUIが改善され最低限の機能を満たせるようになると、運用・保守の利便性(アプリケーションの更新がサーバだけで済む、動作環境はブラウザっと展開が楽etc)などから、クライアントアプリケーションからWEBアプリケーションへの移行が頻繁に行われるようになってきました。
その流れから行きつく先は必然的にWEBアプリケーションでも長時間処理が必要になるケースが出てきました。ASP.NETをIISに配置し長時間起動させ続けるには、規定値のままではできません。規定値を変更し数時間処理を行えるようにする必要があります。
では、ASP.NETアプリケーションで長時間タイムアウトせずに動作させるにはどこの設定を変更すればいいのでしょうか・・・・。IIS6とIIS7それぞれについて、まとまっていると便利だな~と思います。
さて、前ふりが長くなりましたが、ブラウザで長時間処理と聞くと、第一感的には無理と言ってしまう自分がいます。サーバのタイムアウト云々の前にブラウザのタイムアウトが発生すると思ってしまうからです。
昔は、ブラウザのタイムアウトは数分だったイメージが物凄く残っており、無理と判断しちゃいます。(昔々、チャットで遊んでるとよく発生したので、刷り込まれていたんですね。)
じゃ、最近のブラウザはどうなのかを調べてみました。
ブラウザのタイムアウト時間
マイクロソフトからサポート情報が出ており、「サーバーから 5 分以内に応答がないと、"接続がタイムアウトになりました" という Internet Explorer エラー メッセージが表示される」っとあります。
ちなみに、日本語は機械翻訳ではなく人手によるもののようで情報が古くなっています。英語版「Internet Explorer error "connection timed out" when server does not respond」を見るとIE8も60分とあります。
| ブラウザの種類 | セッションタイムアウト時間 |
| IE4.0 & IE 4.01 | 5分 |
| IE 5、IE6、IE7、IE8 | 60分 |
っとのこと・・・・。自分のブラウザのセッションタイムアウト時間は数分。確かIE8でだいぶ長くなったっと思っていたのですが・・・・・違ったんですね。。
てなわけで、60分でブラウザがタイムアウトしちゃうのです。(チャットで遊んでた時代はWin98SEのIE4.01だったのを思いだいました。)
回避方法
下記レジストリには既定で [ReceiveTimeout] の DWORD 値 は存在しません。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
この値は必要に応じて追加する必要があります。
8分に設定するには、ReceiveTimeout を 480000 (480*1000)に設定すれば良いようなのです。
まとめ
知らない間に自分の常識が非常識になっていました。5分じゃなくなってたんですね。。
ちなみに某サポート掲示板によるとIE7公開当初は30秒だったらしいです。で、不具合があったので実装しなおしたとか云々とか。
タイトルで引いた、そこのあなた!!立ち去らないで最後まで読んでください><。
決して頭がおかしくなったわけじゃありません。じゃ、タイトルは何だ?それは追々・・・。
とりあえずは、まずは今日から始まったマイクロソフトのキャンペーンを紹介したいと思います。
IT エンジニア必見 前世診断で仕事力アップ! キャンペーン | TechNet
と言うわけで、マイクロソフトさんが前世診断を始めちゃいました。そして、怪しさを補うために物量作戦で釣ろうとしております。Tech ED 2010の招待から、ラーニングのチケットや書籍などのプレゼントが行われるようです。
診断事態は簡単で3問ほどの二択問題に回答するだけで診断してくれる優れもの。ちなみに自分は下みたいな感じ。
そう、オオカミなんですよね~。これがどれぐらい当たっているかは、やった人の主観かなと思うのでノーコメントで。ちなみに自分、動物占いだとオオカミなんですよね~(笑
で、前世診断が目的じゃなく、MSが提供しているサービスを紹介するのが本来の目的なキャンペーン。と言うことで、
ITエンジニア支援サービスメニューなる一覧表が提供されています。
PDF |
XPS
ちなみに自分は、「イマイチ餌にありつけない。一人で困っていませんか?一人で悩まず、たまには誰かを頼ってみては?」なーんてアドバイスを受けてます(^^;
最新投稿をさらに見る
次ページ »