Windows 8.1+Visual Stduio 2013 ハブコントロールでストアアプリ作ってみた

概要

Visual Studio 213 RC でWindowsストアアプリのサンプルを作ってみた。

また、Visual Studio 2013 から作成できる「ハブコントロール」を試してみました。

※異なる種類のセクションを機能的にうまく表示させる画面にできるコントロール(トップページ、グループページ、項目の詳細ページ)

Windows ストアアプリといっても、Windows ローカルアプリをWPF(XAML) で作ったことがある人なら

簡単に作れます。(マウスじゃなくタッチを中心に考えて、タッチ領域は大きめにね。)

またHTML/CSSでもWindows ストアアプリは作れる。

WPF(XAML)については以下を参照

Windows 8.1インストール

  1. ダウンロード Windows 8.1 iso ファイル
    win81_vs2013_storeapp0010
  2. isoファイルの中にある「Setup.exe」を実行する
    win81_vs2013_storeapp0020
  3. 「引き継ぐ項目を選んでください」といわれるので、適当に選んで「次へ」
    win81_vs2013_storeapp0030
  4. 画面を次へ適当に進んで、インストール開始される30分ぐらいでで、インストールされます。
    例の「スタート」アイコンが表示されている。
    左クリックすると「スタート画面」が開きます。
    win81_vs2013_storeapp0040
  5. 右クリックするとOSシステムのメニューがでてくる。(いつも Windows+X 押してるやつね)
    win81_vs2013_storeapp0050
  6. IEもIE10からIE11になってた
    win81_vs2013_storeapp0110

Visual Studio 2013 RC にてハブコントロール Windowsストアアプリ作成

  1. Visual Studio 2003 起動します。
    win81_vs2013_storeapp0060
  2. Windowsストアアプリの「ハブアプリ(XAML)」 を新規作成します。
    win81_vs2013_storeapp0070
  3. 自動的にサンプルが作成されます。
    XAML のライブラリをいくつか取り込んでます。
    win81_vs2013_storeapp0080
  4. デザインをみてみますと、やっぱりXAMLです。
    win81_vs2013_storeapp0090
  5. Visaul Studio 2003から実行するとデバックできます。
    あとは中身を適当にいれればWindows ストアアプリ作成できます。
    簡単ですね。
    win81_vs2013_storeapp0100

必要なのでWindowsアプリのパケットキャプチャーしてみた。

概要

ファイル権限デザイナーの製品についてネットワークポートのチェックが必要になり。

パケットキャプチャー(packet capture)してみました。

packetcapture_FAD0050

エンタープライズのお客様ですと、グローバルでネットワークを組み、パケットフィルタリング等も行っているので

使用ポート等の問い合わせを受けるときがあります。

予想されるポート

前回ブログ(ファイル権限デザイナーで使用しているNet系APIについての解説)のような関数を使用しており、

クライアントPCからファイルサーバの権限情報取得・設定、ユーザ情報の読み込みには

主に LDAP, SMB, DNS を使っていると想定されるます。

 パケットキャプチャーしてみよう。!

  1. 以下のサイトから [Microsoft Network Monitor 3.4]をダウンロードして、インストールします。
    http://www.microsoft.com/en-us/download/details.aspx?id=4865
    packetcapture_FAD0010
  2. インストール後(以下はWindows8の画面 )、管理者権限で起動します。
    packetcapture_FAD0020
  3. 新規作成してキャプチャーを開始します。
    packetcapture_FAD0030
  4. キャプチャー結果は以下のとおり正解でした!!!
    TCP 135 DHCP server, DNS server and WINS
    TCP 445 Microsoft-DS Active Directory, Windows shares(SMB2)
    TCP 389 Lightweight Directory Access Protocol (LDAP)
    packetcapture_FAD0040

 

次回

今回はポートを確認できましたので、次回は実際にFirewall 等を使用して、アプリの動作確認をしてみます。

参考

Windows 8 でパケットキャプチャ

モダンWebサイト(One ASP.NET)の新しい認証システム(クレームベース認証対応)

標準でクレームベース認証のサポート、まってました!! 

概要

Visual Studio 2013 から 新しい ASP.NET Identity が使えるようになった。

この認証システム基盤はマイクロソフトの戦略、One ASP.NET(マルチデバイス対応やモダンWebを実現するシステム)に基づいているようです。

Microsoft Blog (原文)

Introducing ASP.NET Identity – A membership system for ASP.NET applications

特徴としては、

  1. クレームベース認証(Claims Based)のサポート
    古いけどこの辺がわかりやすいかも。
    マイクロソフトのアイデンティティに関するビジョン
  2. ログイン連携
    Microsoft Account, Facebook, Twitter and Google 、独自認証に対応
  3. 権限管理
    認証済みかどうかだけではなく、ユーザの権限によってアクセス制限できる。

試しに Visual Studio 2013 RC でMVC5 プロジェクトを作成すると、認証系がそれで実装されます。

イメージは以下のような感じ

MVC5_Autholization

ただ。 現在 Viausl Studio 2013 がまだRCである。

ということで、検索してもほとんど情報がないので、以下のような機能がアプリでは必要になるが自力で実装しないといけない。

機能例:ユーザがパスワード忘れたときに、リセットするサンプルがないので自作しないといけない。

以下の関数が使えそうだが、マニュアルすらまだないので手探りで作らないといけない。

Microsoft.AspNet.Identity

PasswordManagerExtensions

ResetPassword(this IPasswordManager manager, string tokenId, string newPassword);

以下が認証系で使用しているライブラリ

using System.Security.Claims;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin.Security;

Team fundation server 2012 分岐してみた。

前回 インストールしてみたがその続きです。

前回のブログ:Visual Studio Team Fundation Server Express 2012のインストールと使い方

今回は、今まで、チーム内でのプログラムソース共有にしかつかってなかったのですが、

今回、アプリのバージョン毎のメンテナンスに非常に便利な「分岐」をつかってみました。

まずは分岐

分岐元を選択して 「分岐」を選ぶ

TFS2012_Merge_0010

分岐先の名前を入れる

TFS2012_Merge_0020

分岐先のソースができあがります。

※分岐先もチェックインすると白い分岐アイコンにかわります。

TFS2012_Merge_0030

ここからがポイントだ。

以下のようになってます。

分岐元(Ver1)=FB001 

分岐先(Ver2)=FB001_V002

例えば分岐してVer2の開発します。

ただ、Ver1はメンテナンスでバグを修正します。すると、Ver2にも反映したくなります。(逆もありえます。)

その時マージして、同期します。

日付等でマージするパターン

TFS2012_Merge_0040

いろんなパターンでマージできます。

TFS2012_Merge_0050

選択された選択セットでマージ

TFS2012_Merge_0060

いままで変更された内容で任意の変更セットを指定してマージします。

TFS2012_Merge_0070

参考

第3回 Team Foundation Server 2010で一歩先行くソース管理

MSのOR マッパーのEntitiy Frameworkやってみた

非常に簡単だが便利さがまだ理解できない。おれも年かな?

class(tableスキーマ)を作成し、

DbContextクラスの派生クラスで DbSetを定義すれば、データの追加、削除、更新ができる。

EntitiyFramework-firsttime

この辺がわかりやすい。

  1. Entity Frameworkコードファーストで開発してみよう
  2. http://densan-labs.net/tech/codefirst/

コードファーストとは?

プレーンなSQLに慣れすぎて、いまいちコードファーストの便利さがわからない。

SQLだと意識して table indexにヒットするSQL文を書くけど、ORM(OR Mapper)で書くと、

詳細が見えないから、あんまり考えないプログラマーだと、すごい遅いSQL組むんじゃない?

コードファーストについてはここが詳しい

http://www.atmarkit.co.jp/fdotnet/ef4basic/ef4codefirst01/ef4codefirst01_01.html

SQLログいるんじゃない?

実際のSQLを解析しないとTable Indexとか外して遅くなりそうなので、SQLログ出力したいよね?

その場合はこうやってやるみたい。

Entity Framework の SQL ログ出力を行う

Visual Studio Team Fundation Server Express 2012のインストールと使い方

Visual Studio Team Fundation Server Express 2012 がでました。 Express は5人まで無料で使用することが可能です。

Visual Studio 2012上でチームでソース・コードを共有するにはとても便利なツールです。

インストールについては非常に簡単なのですが、実際に使うとなるとすこし難しいので説明します。

事前にOSをインストールします、今回はWindows2012を使用して、ドメインにも参加させました。

Team Fundation Server Express 2012のインストール

1. まず以下のURLから「今すぐインストール」を選択します。

http://www.microsoft.com/visualstudio/jpn/downloads#d-team-foundation-server-express

2. インストールが始まります

3. 「ウィザードの開始」をクリックします。

4. 「構成」ボタンをクリックします。

5. しばらくまちますとセットアップが終わります。

6. 完了すると以下のTFS管理コンソールが表示されます。

クライアントPCからTeam Fundation Serverに接続する。

1. 別のPCで、Visual Studio 2012を起動して「Team Fundation Server」に接続します。

2. 「サーバ」をクリックします。

3. 「追加」をクリックする

4. TFSのサーバ名を入力して「OK」をクリックする

5. 「閉じる」をクリックする

6. 「接続」をクリックする。 (左下にログインしたい、ログインユーザが出てこない場合は、以前にログインした情報がのこっていますので、[コントロールパネル]-[ユーザーアカウント]の[詳細設定]タブの[パスワードの管理]等でキャッシュをクリアしてください)

7. TFSサーバに接続されたら、「チームエクスプローラー」「新しいチームプロジェクトの作成」をクリックします。

8. チームプロジェクトに任意の(ここでは “EAP”)名前を入力後、「次へ」ボタンを押します。

9. 柔軟性があると書いてあるので、とりあえず、テンプレートは「MSF for Agile Software Development 6.1」を選択して「完了」をクリックします。

10. 「次へ」をクリックする

11. 「次へ」をクリックするとサーバにソースフォルダーが作成されます。

12. TFSにさきほど指定した”EAP”という場所を作成する

13. セキュリティの設定をするために「チームエクスプローラ」タブの「Webアクセス」をクリックして必要ならユーザを追加します。

14. 以下のサイトが表示されます。

15. 右上の「設定の管理」をクリックします。

16. 「EAPチーム」を選択します。

17. 「メンバー」をクリックしてユーザを追加します。

18.  「プロジェクト管理者」にも必要なユーザを追加します。

 TFSサーバにソースをアップロードします。

1. 今回は既存のソースからアップロードする場合を説明します。以下のソリューションを開きます。

2. ソリューションを選んで右クリックして「ソリューションをソース管理に追加」を選択する

3. 「OK」をクリックする

4. 各ソリューション、プロジェクト、ソースの前に”+”がつきます。

5. ソリューションを選んで、右クリックして、「チェックイン」します

6. 「チェックイン」を押すと、TFSにソース・コードがアップロードされます。

7. 「はい」をクリックする

8. チェックインされると 鍵マークがつきます。

違うPCからもTFSサーバに接続してソース・コードをダウンロードする。

1. 違うPCで、Visual Studio 2012を起動して「Team Fundation Server」に接続したあと、「ソース管理エクスプローラー」をクリックする

2.  TFSのフォルダーを選んで、ローカルフォルダーにマップします。

3. 「サーバフォルダー」と「ローカルフォルダー」とマップします。

4. マップ後「はい」と押すとダウンロードされます

メモ) もしか、再度行う場合うまくいかない場合は、ワークスペースを削除してから再度、設定してみてください。

5. 「マップ」をクリックします。

6. 「はい」をクリックします。

7. 以下のようにプロジェクトがTFSよりダウンロードされて表示されます。

バックアップについて

MSの説明では以下のデータベースをバックアップすればよいみたいです。

http://msdn.microsoft.com/ja-jp/library/vstudio/ms253151.aspx

テスト等時間がかかりそうなので、今回は, Hyper-Vのスナップショットと、たまにソース・コードをバックアップするこにします。

また時間があるときにやります。