2013年の振り返り

.いつの間にか、今年もこんな時期になりました。

今年は前半は(コミュニティ的に)調子がよく、スピーカーもやらせてもらったのですが、後半は仕事が重なり、なかなか動けなくなってました。(6月から10月までブログ更新できてません(;ω;))
いわゆる「技術的負債」というものの大きさを改めて感じることになりました。

そんな中、Visual Studio 2013/Team Foundation Server 2013が登場し、「会社で使えたら、なんていい環境なんだろう...」と思いながら、新機能をお勉強中です。

来年は、仕事でもTFSを使おうかと画策しているので、うまく軌道に乗せて、徐々に勢力を拡大したいなと。

最近は県外のコミュニティにあまり出れていないので、いろいろ行きたいですね。
(仕事のスケジュールにハマればいいのですが、交通の便が良くなりすぎて、宿泊できないのが逆につらいです(;^ω^))
あと、TFS2013のハンズオンがどこかでできればなおいいかも。

今年もこんなブログにお付き合い頂きありがとうございました。来年もよろしくお願い致します。<(_ _)>

終わるのはWindows XPだけじゃなかった

釣りっぽいタイトルですが、小ネタです。w

とある調べもので、Visual SourceSafe 2005のシステム要件をチェックしたのですが、そこで驚愕の事実
が...

対象オペレーティングシステム:Windows XP, Windows Server 2003, Windows 2000

(;゚Д゚)

Windows XPが終了したら、Visual SourceSafeも終了ってことですか??

セキュリティが厳しい会社だと、「Windows XPのサポート終了に伴い、ネットワークに接続できなくなる」ってなることも想像できますが、アクセスできなくなりました(;´Д`)って...

Visual SourceSafeからの解脱はお早目に。

いろいろリリース

いろいろありまして、久しぶりのブログ更新になります。

そんな間に、ついにWindows 8.1がリリースです。
2013/10/17 20:00からWindowsストアでアップグレードが可能になり、10/18にはパッケージが販売開始になります。

さらに、Visual Studio 2013/Team Foundation Server 2013もRTWとなっています。

いろんな方からいろんな情報が発信されるのを期待しています(ぉぃ

SCRUM BOOT CAMP THE BOOK購入

先日のTFSUGで、@ryuzeeさんが「これ超大事!」と言われてたので、購入しました。
しかし、地元(広島)で3軒ぐらい書店を回りましたが全くなく、出張先でさらに3軒ぐらい回ってようやく購入。
とても読みやすく、買った当日になんとか読み切りました。
最近「フィードバック重要」と洗脳されているので、「スクラムを実施したことない人間が読んだ感想」を書いてみました。

内容ですが、「基礎編」と「実践編」に分かれてます。
基礎編は、「スクラムはこんな感じでやるんですよ」という全体概要を説明した内容になっています。TFSUGで@ryuzeeさんが説明される内容に近いものですので、個人的にはすんなり読めました。
(「スクラムを1枚の図に書いたもの」の中に書かれている人物が書籍の人物に変更されているのは「細かいところまで凝ってるなぁ」と感じました)

実践編ですが、実際に主人公がスクラムでプロジェクトを進めていきながら、いろいろな問題に対処するというストーリー仕立てになっています。
こういうストーリー仕立てだと、自分のようなスクラムを実施したことがない人間でも簡単にイメージすることができるので、とてもわかりやすいです。
自分が読んだことのある書籍の中では、トム・デマルコの「デッドライン―ソフト開発を成功に導く101の法則」が近いと思います。

それに加えて、問題点に対する対応について、必ず「目的」「理由」が記載されています。
よく「~しないといけない」とか「~したらいいです」とか書いてあると思いますが、「目的」「理由」がないと、単なる「作業」になってしまい、応用ができないなと思うことがあります。
しかし、この書籍ではちゃんと「目的」「理由」が書かれていますので、それをしっかり押さえれば「なんかやれそうかなぁ」と思える感じになります。

出てくる問題点も、著者の方々が実際に遭遇した内容をもとに書かれており、頭の中で「こんな問題がでたらどうするんだろう」と思ってたことがほぼ書かれていました。

多分ですが、「今からスクラムやります」とか「つい最近スクラムやり始めました」というチームに1冊あるととても助かる内容ではないかと思います。

2012年まとめ

ALM Advent Calendarが終わり、すっかり気が抜けてますw

早速ですが、今年のまとめをば。
○今年やったこと
・TFSUGでまさかのスピーカー
 TFS初心者があんな場所で話をすることになるとは思ってませんでした。(;´∀`)
 
 PowerToolsとかについてでしたが、MSSCCIに対する反応があったのは意外でした。
・ヒーロー島でまさかのスピーカー
 なんと2ヶ月連続でスピーカーですよ!
 
 TFSの導入例みたいな感じで簡単にお話させていただきました。
・Visual Studio 2012/TFS 2012発売
 Beta版から使ってみてますが、「使いやすさ」が強化された印象。
 あと、自動テスト系の機能を使い始めてます。
・ヒーロー島でTFS Day
 マイクロソフトの長沢さんに広島にお越し頂き、熱いセッションを行っていただきました。
 また、西日本初だと思いますが、TFSハンズオンを開催しました。
 
・ALM Advent Calendar参加
 今年も小ネタで参加させていただきました。
・CLR/Hカソウ化デイ参加
 ついに勉強会で北海道まで遠出してしまいました。
 食べ物美味しいですし、内容もむちゃくちゃ濃かったです。
 来年も行きたいですね。

○来年やりたいこと
 ・会社でのTFS利用率をもう少し上げる
  現状、単なるバージョン管理としてしか使用してないので。
 ・.NETのお勉強
  そろそろデベロッパーの力がなくなってきた気がするので、再度チャレンジ。
 ・自動テストのお勉強
  基本の「き」ぐらいは習得したいです。
 ・社内勉強会
  周りのスキルアップをしないと、自分だけ勉強しても仕事は楽にならないので。

TFSUG関連(開発プロセス系)でいろんな方とお会いでき、たくさん勉強できたような気がします。

今年もいろんな方にお世話になり、ありがとうございました。
また来年もよろしくお願いします。m(__)m

MSC2012参加 2日目

MSC2012参加 1日目」の続きです。
※間違いがあるかも知れませんが、あくまで個人的なメモですのでご容赦願います。

○KeyNote
 Office2013に関する内容がメインでした。
 ・操作の先読み
 ・マウスクリックとタッチとで異なる表示(表示間隔が異なる)
 ・ソーシャル連携

○パートナーセッション
 某社のサーバ紹介を聞きました。

○Windows Server 2012で自動管理の限界に挑戦してみる
 ・ADサーバどう追加しますか?
  →今まではdcpromoたたいて、OSの自動化はスクリプト作って・・・
 ・WS2012はPowerShellでDC構築が可能
  複製する場合はコピー元のDCマシンを停止する必要があるので、最低限2台のDCが必要
  クローン先情報を先に埋め込んだ後にエクスポート→インポート→起動
 ・Windows Management Framework 3.0でWS2008R2もPowerShell3,0OK
 ・Windows Workflow Foundationとの統合
 ・ジョブのスケジューリング
 ・堅牢なPSセッション
  PSセッションに他のコンピュータから接続可能
  →セッション情報をターゲット側に保有
  リモートセッション接続はWebAccessもある
 ・ワークフロー
  パラレル
   例:VMの移動
     1台ずつだと遅い
     foreachに-parallelをつけて、パラレル実行
  サスペンド
 ・管理しやすいシステム構成
  ComputeとStorageを分離
  ScaleOutFileServerは最大8ノード、ここにVHDを乗せる
  SMB3.0 Witness
   「(俺に)何かあったら教えて」的な役割
  SMB3.0マルチチャネルの状態もPowerShellで確認可能
  →ポートは445?
   インターフェースあたりのセッション数のデフォルトは4
   コア数が多いと効果が大きい(4コアぐらいだとあまり変わらない)
 「もう何でもPowerShellで設定」って感じです。

○サーバー構成の選択肢を広げる Windows Server 2012 の新しいファイル & ストレージ サービス
 ・ストレージ仮想化によるデータ管理の効率化
  記憶域プール→仮想ストレージ→ストレージサービス(SMB/CIFS、iSCSI Targer、NFS)
 ・シンプロビジョニングと重複除去
 ・シナリオ
  拠点サーバに低コストでデータ信頼性と管理性を追加
  プライベートクラウド基盤としての柔軟な拡張性
 ・ユーザ/デバイス情報とデータ属性に応じたアクセス制御
  きめ細かなアクセス管理
  文書の分類を自動的に実施しアクセス管理に利用
  必要に応じて暗号化などの自動処理も追加可能
  ダイナミックアクセス制御
   「自分が所属する部署が作成した文書のみ閲覧可能」「モバイル端末以外からのみ閲覧可能」
   というルールを作成
   →グループによる煩雑なアクセス権設定ではなくなる
   フォルダ/ファイルに「分類」プロパティタブが追加されている
   ※Win8/WS2012のみ参照/設定可能
   別サーバに同じルールを適用したいときには「集約型ポリシー」(テンプレート)を適用
 ・高機能ストレージやクラウドサービスとの連携
  データ転送処理を高機能ストレージにオフロード(Offloaded Data Transfer)
   サーバ間はトークンの授受のみ。実データ転送はストレージ間でのみ発生。
  オンラインストレージを保存先に(Windows Azure Online Backupサービス)
   データは暗号化して保存
   「使った分だけ」転送

○なぜ Oracle Database をやめたのか。~SQL Server への移行事例で語るその理由~
 ・SQL Serverの現在
  悪い評価は昔(SQL Server 2000ごろ)の話が大半
  日経コンピュータ:顧客満足度(2012)/パートナー満足度No1(2011)
  2009年 Oracle    21%→2011年30%→2014年27%
      SQL Server46→    50%→   54%
 ・SAP(基幹系システム)での新規導入数No1
 ・脆弱性
  2002年:Oracle:21, SQL Server:24
  2011年:       52,             1
 ・Oracleとの3つの違い
  ・1コアあたりの単価
   Oracle Enterprise    \5,163,000
   SQL 2012 Enterprise  \2,560,000
  ・オールインワン
   Oracleは有償オプション(Ent同士で比較)
  ・ランニングコスト
   SQLは保守費用の選択が可能
    パッチのみなら保守費不要という選択も可能
   Oracleは22%(年間)が発生(社内の全システムに対して)、毎年2%の値上げ
 ・構成例別コスト比較
  金額がモロに出てたので省略w
 ・移行
  ・移行アセスメントサービス
  ・BIツールが標準!
  ・データ増大によるパフォーマンス低下→再構築
   コスト安い、1億5000万件からの抽出が1秒以内
  ・システム更改
   保守費が高い!
   RACよりもAlways On
 ・Oracle Migration Assessment Service(OMA)
  移行コストを算出するサービス
  Oracleに精通したパートナーによる診断
  アセスメントレポートを提供
  質問可能な報告会を実施
  移行が本当に難しいときには「難しい」といいます!
  無償だが、
   ・原則として1インスタンス
   ・Oracle Enterpriseが対象、もしくはSQL Server Enterpriseが利用予定対象
   ・情報システム部門への説明会が実施可能である
   ・本当に移行を検討している
 無償で受けれるのは大きいですね

○Visual Studio 2012 新機能解説 ~絶対にここだけはおさえておきたい主要機能~
 ・要件の理解を高めたい
  →ストーリーボーディング(PowerPoint)
   PowerPoint2007以降
 ・日々の作業をより楽に
  →統合開発環境の強化
   ・タブレットのシミュレータ
    ローカルファイルを本当に見ているので、削除とかは注意!
   ・htmlタグ、開始タグを修正すると終了タグも自動修正
   ・カラーピッカー、スポイト
   ・デバッグ対象のブラウザを選択することが可能
   ・ツールボックスの検索
   ・クイック検索
   ・ソリューションエクスプローラーの検索
    メソッド名検索もできる
   ・選択したものだけに関連する依存関係を表示することも可能
   ・ソリューションエクスプローラーを複数起動
    それにソースコードをドッキングすることも可能
   ・「中断」で環境まで含めて復元可能
 ・同じ処理作っちゃったorz
  →コードクローン分析、単体テスト、リファクタリング機能など
   ※1ソリューション内で、C++は対象外w
   ※リファクタリングはテストとセットで!
 ・テストができない(呼び出し先機能が未完成/本番環境に影響があり、簡単に動かせない/条件発生が困難)
  →Microsoft Fakes
   実コードの変更が不要!
 ・障害情報収集
  →IntelliTrace
   運用環境上で収集可能なように強化
   PowerShellで設定
   Trace情報からソースコード表示まで連動できる/その時の変数情報も参照できる
 ここまで出来るか!って感じです。

Windows8とかWindows Server 2012がRTMした直後/Office2013 Preview公開中なので内容盛りだくさんでしたが、ちょっと全般的に内容が浅い気がしたので、個人的にはTechEdが恋しいです。

MSC2012参加 1日目

9/27~28で開催されたthe Microsoft Conference 2012に参加してきました。

ざっくりとですが、メモ。
※間違いがあるかも知れませんが、あくまで個人的なメモですのでご容赦願います。
○KeyNote
 基本的にはビジョンのお話でしたが、
 ・ショーケースからどの商品が取られた、戻されたというデータを収集し、
  Excelで簡単にヒートマップを作成する
 ・ATMの前で携帯電話を掛ける体制をとると、画面に警告メッセージを表示する
 ・PowerViewでブラウザ内でBIができる
 などのびっくりするデモもありました。
 キーワードとしては、
 ・コスト削減/事業継続性(BCP)
  +世界視点、経営スピード向上.社風改革、情報活性化、カバナンス向上、インテリジェントなオペレーション
 ・攻めのIT
  Lync
 ・コンシューマのデジタル化
  デバイス/モバイル/ソーシャル
 ・バックエンドの奥行
  クラウド/ビッグデータ
 ・ジェスチャー/音声認識/マシンラーニング
 ・データセンターのさらなる進化
 ・新しいアプリケーションに対応
 ・あらゆるデータを分析
 ・使いやすいITの実現
 ・オープンな開発環境
 ・一元的なシステム管理
 ・共通のIDとセキュリティ基盤
 ・プラットフォームとしての仮想化
 といったものもありました。

○パートナーセッション
 昼食をGetするためだけに入りました

○ここまで進化した「Windows Server 2012」の概要
 ・クラウドへのバックアップが標準機能に追加
  Windows Azure Online Backup(Preview)
 ・DCの仮想化対応/複製
 ・ポリシーベースのアクセス権限
 ・ディスクの仮想化
 ・CIFS/NFS/iSCSI
 ・De-Dup/4Kセクタ
 ・ReFS
 ・SMBマルチチャンネル/Remote Direct Memory Access(RDMA)
 ・サーバのCPUに負荷をかけない/低い遅延/直接操作の97%程度まで可能/専用のハードが必要(RDMA-capable network interface[R-NIC])
 ・データ処理のオフロード(ODX)
 ・クラスタ不要のライブマイグレーション
 ・Hyper-Vレプリカ
  リモートサイトでの起動確認テストまで対応
 ・NICチーミング
 ・Hyper-V vs VMWare ○×表 ← 日本語版がDL可能
 ・RollingUpdate
 ・Direct Access
  IPv4のみの内部アクセス
  OneTimePassword
  TPMベースの仮想スマートカードサポート
 ・BranchCache
  クラウド上のデータに対応
  管理性とパフォーマンス向上
 ・VDI
 改めて見直すと、もの凄い機能強化です。

○最新ブラウザー Internet Explorer 10 概要
 ・JavaScriptの高速化
  Win7+IE8:4411.4, WIn8+IE10:178.6
 ・クライアントレンダリングを使用→高速描画
 ・Webページから、Windowsストアアプリへ飛ばすことができる
 ・デスクトップ版への半自動誘導:requiresActiveX=True
 ・IE10のFlashを使用するためには、compatibilityviewlistに申請&登録必要
 最後のFlashの話は全然知りませんでした。

○ワークスタイルの再創造を可能にするWindows 8 ライセンス体系
 ・アップグレード経路
   Old Windows Pro
   →Win8 Pro Upg.
    +SA → Win8 Ent.
  Win8 Pro(90日以内)
  →+SA →Win8 Ent
  Thin Client→Windows Virtual Desktop Access → Win8 Entの仮想インスタンスへのアクセス権
 ・Win8 Pro
  AD参加/GP適用
  BitLocker/ファイルシステム暗号化
  RDホスト/オフラインファイル
  クライアントHyper-V/位置自動認識
  ボリュームライセンスとしては、アップグレードのみ
 ・Win8 SA
  Win8 Ent/MDOPの追加購入/Win Thin PC
  仮想環境の利用権/Windows to Go/ローミング権
  CSLの追加購入
 ・Win8 Ent
  Windows to Go/Direct Access/Branch Cache/VDI/App Locker/Windowsアプリのサイドローディング
  取得したEntのライセンスは永久使用可能
 ・MDOP
  UE-V(User Experience Virtualization)
  App-V
  MED-V
  MBAM(Microsoft Bitlocker Administration and Monitoring)
  Microsoft Advanced Group Policy Management(AGPM)
  Microsoft Diagnostics and Recovery Toolser(DaRT)
  SA契約中のみ使用可能
 ・Windows to Go
  SA or VDAが割り当てられた端末で使用可能
  SA端末の主要なユーザはローミング権で社外の端末でWindows to Goの利用が可能
  (Office 2010 SAのローミング権でもw2g対応)
  ・2台目以降の端末へのライセンス
   SAの主要なユーザの2台目以降の端末でCompanion Subscription Lisence(CSL)の取得で、
   4デバイスまでVDI環境へのアクセスやw2gの利用が可能
  ・2台目がWindows RTの場合
   SAがあれば追加ライセンスなくVDI環境の利用が可能
 ・サイドローディング
  Win8 Pro、ワークグループのEntの場合はプロダクトキーが必要
  プロダクトキーはVLSCから取得可能
  一般のボリュームライセンス購入は100個以上

2日目に続く。

TFSハンズオンで準備した環境

7/21にヒーロー島で開催させて頂いたTFSハンズオン用に準備した環境で、一部の方々から反応(強烈な内容だと、これ便利だから某支店に置きっぱなしにしろとかw)がありましたがので、「こんなスペックでできるんだ」といった感じで見て頂ければと思い、メモも兼ねて残しておきます。

持ち込んだPCは一部の方々にしてみれば普通のマシンスペックですw
○CPU:Corei73820K-C2
  6コア12スレッドです。
○メモリ:4GB×8枚=32GB
○ディスク
 ・2TB HDD SATA2×1
 ・512GB SSD SATA×1

OSとかは、すべて評価版で構築しています。
・Windows Server 2008 R2
 
・Windows 7 Enterprise
・Visual Studio 2010 Ultimate SP1
・Office Professional Plus 2010
・Team Foundation Servwe 2010 SP1

概要ですが、
○Hyper-V環境を構築
○TFSサーバ環境構築
 仮想マシンのスペックは
 ・論理CPU:2個
 ・メモリ:4GB
 ・ディスク:100GB(可変割り当て)
  実体は20GB程度しか使用していません。
  作成先はSSDです。
 ・普通にインストールすればOKです。
 ・ADは使用しません。
 ・接続用の全ユーザを登録します。(今回は40ユーザ)
 ・使用するチームプロジェクトを作成しておきます。(40プロジェクト)
 ・ファイアウォールはすべてOFFにします。
○クライアントベース環境構築
 仮想マシンのスペックは
 ・論理CPU:1個
 ・メモリ:1GB
 ・ディスク:100GB(可変割り当て)
  こちらは35GBぐらい使用しています。
  作成先はSSDです。
 ・コンピュータ名は適当に設定します。
 ・リモートデスクトップ接続の設定を行っておきます。
 ・Visual Studio/Officeを普通にインストールします。
 ・Windows Updateはこの環境で適用してしまいます。
 ・ファイアウォールはすべてOFFにします。
○個別クライアント環境構築
 ・ベース環境のディスクを親ディスクとして、差分ディスクで構築しました。
  CPU/メモリはベース環境と同一です。
 ・コンピュータ名/ハンズオンで使用するユーザ(今回は1台で1ユーザのみ)を登録します。
 ・IPアドレスの割り当ては、今回は固定IPアドレスで設定しました。DHCP割り当てという手もありますが、DHCPに登録しなければいけないので、手間はあまり変わらないかもしれません。

この環境だと、TFSサーバ+クライアント約20台ぐらいは同時使用できます。

○使用感
 今回、参加頂いたのが10名ちょっとでしたので、皆様に仮想環境を使用して頂きました。
 ハンズオンですので、あまりガツガツ使用することもなく、ヘビーなVSプロジェクトでもありませんが、結構サクサク動いてたようです。
 レポート表示したり、CIとかゲートチェックインで一斉にビルドが実行されるタイミングとかもありましたが、そんなに待たされることもなく実行できていました。

○おまけ
 ・今回の環境は、約3日ぐらいかけて作成しました。
 ・運搬する際に、SSDはつけたまま、HDDは外しました。
 ・個別クライアント環境の作成は、ほぼ手作業でヒーヒー言いながら作成していました。
 Windows Server 2012とWindows 8になれば、PowerShellでいろんなことが自動化できそうですので、次回作成することがあれば頑張ってみたいなと思います。
 ・MSさん、コミュニティ用にAzure利用枠ください。それが一番楽ですw
 

書籍感想:アジャイルソフトウェアエンジニアリング

巷で噂の「アジャイルソフトウェアエンジニアリング」を購入してみました。

読み手のスキル/コンテキストによって思いはそれぞれあるかと思いますが、
 ・基本的にはアジャイル(スクラム)開発の考え方・進め方を説きつつ、TFS/VSを使用する具体的な手法が書かれていて、「理論と実践」が融合している内容。
 ・VSに搭載された機能が生み出された背景(搭載された意図)がわかるので、「機能をどう使うのが理想的か」がイメージしやすい。
 ・実例として、MSで実施された内容が記載されている。
 ・なんとなくですが、通常のアジャイル本に比べて、単語/言い回しが分かりやすい
といった感じで、今の自分にとっては読みごたえのある内容でした。

仕事では.NETも使ってませんしアジャイル開発も行っていませんが、.NETでの開発チームがアジャイル(スクラム)で開発を始める/行き詰ったときに、「まずはこの本を見ればいい」と言える感じです。
(ウォーターフォール開発してたり、JavaでTFS使ったりしている方でも十分参考になると思います)

VirtualServer2005用ツールの自作 その3

とりあえず、適当なサンプルを書いて動かしてみると...


Photo_2

なんじゃこりゃ~

どうもプロセス偽装が必要な様子。まぁ、サービス実行されているものに対して操作を行うので当然といえば当然ですが。
でもどうすりゃいいの??ということで小1日かけて検索し、たどり着いたので英語のMSDNにあるVirtualServerのページ
Msdn

COMを使って操作するための基礎情報は、「Using Microsoft Virtual Server」-「Connecting to the Virtual Server COM Object」にあります。
しっかりとC#でサンプルがあるので確認すると、Ole32.dllにある「CoInitializeSecurity()」を呼び出して偽装レベルを設定しています。

これをほぼコピペでVBに移植したら、やっと動きました。
これで完成か??と思いきや、まだネタがありました。orz