Community Open Day 2013に登壇します。

cod2013banner

来る2013年5月11日(土)の10:00~16:50(懇親会は17:15~18:30)に日本各所で一斉に実施される勉強会イベント、Community Open Day 2013が開催されます。

私は東京会場の13:00~13:50に「Windowsストアアプリのライフサイクルとコントラクト」というセッションを担当する予定です。

私のセッション以外にも多数のエキスパートが日本各地で広範囲にわたってセッションが実施されますので、これを機会に参加してみてはいかがでしょうか?

お申込みはこちらから!

会場で皆さんとお会いできることを楽しみにしています!

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Extensible Application Markup Language (XAML)の技術資料が公開されています。

Extensible Application Markup Language (XAML)の技術資料が公開されています。

“Extensible Application Markup Language (XAML)の技術資料が公開されています。” の続きを読む

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

WiMAXルーターを換えました。

以前から利用しているWiMAXルーターが既に2年近く利用していたらしく、2年縛りで無償で新機種に機種変更できるキャンペーンをやっていたので、どうせ使うからいっかーってことで機種変更してみました。

という訳で新しいWiMAXルーターはこれ。

URoad-Aeroです。 実際に開けてみるとこんか感じです。

予想以上に薄い!

ちょっとわかりやすいように以前利用していたURoad-8000やポケットティッシュと並べてみますとこんな感じ。

以前利用していたURoad-8000も小ぶりで非常に便利だったのですが、こちらは更に小ぶり(というか薄い)です。 薄くなっているということで期待はしていたのですが、期待以上の薄さや持ちやすさでした!

■バッテリー駆動時間

そして利用時間ですが、これも公称連続通信最大約12時間とちょっと長め。 以前利用していたURoad-8000が公称8時間となっていましたが、たまに1日持たないケースもあったので換えのバッテリーを持って利用していました。 それに対してURoad-Aeroでは、昨日1日試した感じではiPhoneで接続でFacebook/Twitterや動画を見たり、PCでWeb閲覧などを行なっている程度の利用状況で、夜帰宅した時点で40%以上残っていました。 それほどヘビーに利用していないというものの、普段利用している以上に意識して利用してみたつもりではいるのですが、結構持っているなーという印象ですね。

念のため交換用バッテリーは購入しようと思いますが、おそらく大体の場面では利用せずに済みそうですね。

■通信性能

こちらがWiMAXハイパワー対応ということで、弱電界でもつながりやすくなるということで期待していました。 というのも、普段の通勤経路(特に電車の中)での接続が3GやLTEでは厳しく、快適に利用できるとは言いづらいハンドオーバー性能でした。 まぁ、これはルーターが悪いのかはたまた電波状況がイマイチなのかはわかりません。 この過去にこの通勤区間を難なく接続できていたのがBUFFALOのBF-01(DoCoMoの3G WiFiルーター)くらいでした。

ところがこちらのURoad-Aeroではこの経路も問題なく接続しつづけてくれました。加えて、自動で公衆無線LANへの接続も行なってくれるため、今までWiMAXでは接続断が発生していた地下鉄の乗り換えなどでも問題なく接続できるようになったのはとても嬉しいですね(^^)

私は利用していなかったのですが、なぜかDoCoMo WiFiとau WiFi、UQ_WiFiが利用できるのでルーターに設定したところ、ログイン操作なしで自動切り替えしてくれるようになりました。 これもちょっと便利でしたねー。

■その他

モバイルアプリがちょっと便利

 

最近のURoadシリーズでは「URoad-Magic」という専用のアプリが提供されていて、それを使うとわざわざWebブラウザからでなくても簡単な設定や確認が行えるようになっており、ちょっとした情報確認やスリープ移行などもここから行えるようになっていました。

液晶が付いているルーターもあるようなのですが、個人的にはこちらのほうが便利な気がします。

あと、ちょっと変わったところではUSBでの接続にも対応しているようですね。

こちらもURoad-Magicから切り替えができるようです。

WiFiが使えないような場所ではいいかもしれませんが、あまり使う機会はないかも・・・(^^;

という訳でとりあえずしばらくはこれがメインの通信手段になりそうですねー(^^)

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Visual Studio の単体テストで利用するInternalsVisibleTo属性について

プログラミングを行っている際に外部公開の必要のないフィールド、プロパティ、メソッドなどには通常、不要なアクセスを制限するように必要最低限のアクセス修飾子を設定するかと思います。

単体テストをコーディングしていると、どうしても気になってしまうのが内部利用しているメソッドに対しての単体テストになります。 特にカバレッジの取得を行っているようなケースでは、どうしてもアクセスしたいメソッドなどが発生する場合があります。

限定的な範囲で公開したいような場合のアクセス修飾子として、同一アセンブリ内での公開を許可するinternalやFriendなどを利用することができますが、単体テストは実運用で利用されるプログラムとは異なるため、同一アセンブリではなく外部プロジェクトとして構成する場合が多いと思います。 つまり、internalやFriendを使ってもアクセスすることができなくなります。

このような場合に利用できるのがアセンブリ属性であるInternalsVisibleToになります。InternalsVisibleTo属性を利用すると、特定のアセンブリのみ同一アセンブリのクラスと同様にinternal(Friend)メンバに対してアクセスができるようになります。

 

それでは、その方法について具体的に見ていきましょう。

たとえば以下のようなクラスがあった場合、

   1:  namespace SampleTestLib
   2:  {
   3:      public class Class1
   4:      {
   5:          internal int Add(int x, int y)
   6:          {
   7:              return x + y;
   8:          }
   9:      }
  10:  }

当然、同一アセンブリ内のクラスからはAddメソッドにアクセスすることができますが、異なるアセンブリからはアクセスできません。

そこで、以下の手順でアセンブリ属性InternalsVisibleToを追加します。つまり、アセンブリレベルで適用される属性なので、ソースコードの先頭やAssemblyInfoファイル内で定義することができます。

ここではAssemblyInfo内に定義したいと思います。

ソリューションエクスプローラーから「Properties」を開き、中もあるAssemblyInfo.csを開きます。

20130502113112

プロジェクトのAssemblyInfo内に以下の属性を追加します。

   1:  // 公開先のアセンブリを指定する
   2:  // [assembly: InternalsVisibleTo("公開先のアセンブリ名")]
   3:  [assembly: InternalsVisibleTo("SampleTestLibTest")]
 

これらはSystem.Runtime.CompilerServices名前空間にある属性のため、VBなどではImportsを忘れずに!

 

プロジェクトで単体テストを作成する際によく利用する属性なのですが、いつも大体コピペで済むこともあって、忘れることが多いので一応忘備録代わりに(^^;

InternalsVisibleToAttribute クラス

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

書籍「Unicode IVS/IVD入門」を献本いただきました。

日本マイクロソフトの田丸様より、Unicode IVS/IVD入門を献本いただきました。

田丸様ありがとうございました。

早速読ませていただきましたが、この書籍では単にUnicode IVS/IVDというWin8から正式導入された文字コード(というかUnicode)における新しい機能について解説しただけではなく、その歴史的な背景やどのように取り込まれているか、など実用面を含めて解説されている点ですね。

Unicode IVSは正式にはIdeograph Variation Sequenceの略で、IVDはIdeograph Variation Databaseの略となっています。

これらは文字の字形に関する問題を解決するための仕組みとなっており、簡単にいってしまうとベースとなる文字のコードポイントに対して、IVDに登録されているさまざまな字形のバリエーションからIVSを使って指定するといったものです。

といっても、これだけ聞いても何のことがわかりませんよね(^^;

このIVSやIVDの理解を行うために必要となるUnicodeやShift-JISなどの文字コードの知識に関して歴史的背景を含めてまとめてありますので、比較的読みやすい文字コードの入門書となっています。

まぁ、開発者をしていると遅かれ早かれ文字コードに関してはきちんと押さえておく必要があると思いますので、この機会にさらっと入門してみるといいかもしれませんね(^^)

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Windows Phone SDK update for 7.8が公開されています。

Windows Phone SDK update for 7.8が公開されています。

“Windows Phone SDK update for 7.8が公開されています。” の続きを読む

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

Windows8対応〔基本+実用〕 Windowsストアアプリ開発入門を執筆しました。

Windows8対応〔基本+実用〕 Windowsストアアプリ開発入門を執筆しました。

本書はXAML+C#によるWindowsストアアプリの開発入門です。 そのため、C#習得者を対処にXAMLによる開発方法はWinRT独自のAPIや考え方を解説した書籍です。

今回の書籍はC#と言えば誰もがご存じ++C++;// 未確認飛行 Cの中の人、岩永信之さんとの共著です。

元々は岩永さんからお声がけいただいたご縁でWindowsストアアプリ本を執筆することになったのですが、何せ前回のSilverlight本を執筆している最中だったことや、仕事がゴッタゴタになっていたことや、共著の岩永さんも多忙なことも重なって、遅れに遅れてようやく出すことができました。

内容は岩永さんとも最初にお話をして、基礎や考え方を学べるような書籍にしようということで章立てを精査しながら繰り返し繰り返し組み立てました。

そんな中、執筆中には岩永さんとは何度となくSkype会議(^^;で議論を重ねて、そして一通り執筆した後にも何度も何度もチェックしてもらいました。 場合によっては元のページ以上に加筆したこともあったので、査読するほうも大変だったかと思います。(いや、本当にお世話になりました>岩永さん)

本当はいろいろ調べるうちにWinRTの持つ各APIにおける考え方など書きたいことはいっぱい出てきたのですが、それをひとつずつ拾い始めちゃうときりが無いこともあるので、今回は気持ちよくAPI解説は最小限にして、最低限必要と思われます基礎部分を重点的に執筆することにして、なんとか納得できる形にすることができました。(それでも後から見ると300ページ以上あったんですね(^^;)

Windowsストアアプリでは従来のXAML系フレームワークに加えてWinRTの持つ独特な考え方などを理解して作成しておく必要があります。

これらを習得するには、手を動かして動くものを作る!ということももちろん大事なのですが、WinRTの持つ挙動や考え方などをきちんと理解した上で作成することでより早く自分の思ったようにアプリ開発が行えることでしょう。

ただし、本書ではMicrosoftデザインガイドについてやWindowsストアの認定要件などとTipsは触れていません。あくまで技術的な要件としてWinRTでの開発方法に特化し解説しています。(もちろん、必要最低限の案内はしていますよ(^^;)

本当はまだまだ解説したいこともあったのですが、それはまた別の機会をいただいたときにしたいと思います(^^;

現在はまだ予約中なのですが、もう間もなく発売されると思われますので、書店に並んだ際には是非お手に取ってご覧いただければ幸いです。

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]

本年もよろしくお願いいたします。

DSCN2227

旧年中はポツリポツリとしたポストしかできなかったにも関わらずたくさんの方にご覧いただいてありがとうございます。

本来ならば新年のご挨拶をするべきところですが、喪中のため失礼させていただきます。

本年もここから、マイペースではありますが、いろいろな情報発信ができればと思います。

本年も引き続き、よろしくお願いいたします。

ツイートツイート
Facebook にシェア
このエントリーをはてなブックマークに追加
[`evernote` not found]