koido Blog /Blog/koido XPerの日々 ja AILight RSS VSUGアカデミー 特別無償開催「クラウドにのっけてみよう - Windows Azure の実際」開催 /Blog/koido/Archive/2009/9/29/VSUG%E3%82%A2%E3%82%AB%E3%83%87%E3%83%9F%E3%83%BC%20%E7%89%B9%E5%88%A5%E7%84%A1%E5%84%9F%E9%96%8B%E5%82%AC%E3%80%8C%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AB%E3%81%AE%E3%81%A3%E3%81%91%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86%20-%20Windows%20Azure%20%E3%81%AE%E5%AE%9F%E9%9A%9B%E3%80%8D%E9%96%8B%E5%82%AC?info=rss /Blog/koido/Archive/2009/9/29/VSUG%E3%82%A2%E3%82%AB%E3%83%87%E3%83%9F%E3%83%BC%20%E7%89%B9%E5%88%A5%E7%84%A1%E5%84%9F%E9%96%8B%E5%82%AC%E3%80%8C%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AB%E3%81%AE%E3%81%A3%E3%81%91%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86%20-%20Windows%20Azure%20%E3%81%AE%E5%AE%9F%E9%9A%9B%E3%80%8D%E9%96%8B%E5%82%AC?info=rss 129694588731670000 koido 1 /Blog/koido/RSS/VSUG%E3%82%A2%E3%82%AB%E3%83%87%E3%83%9F%E3%83%BC%20%E7%89%B9%E5%88%A5%E7%84%A1%E5%84%9F%E9%96%8B%E5%82%AC%E3%80%8C%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%81%AB%E3%81%AE%E3%81%A3%E3%81%91%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86%20-%20Windows%20Azure%20%E3%81%AE%E5%AE%9F%E9%9A%9B%E3%80%8D%E9%96%8B%E5%82%AC .NET XP祭り2009 /Blog/koido/Archive/2009/9/2/XP%E7%A5%AD%E3%82%8A2009?info=rss /Blog/koido/Archive/2009/9/2/XP%E7%A5%AD%E3%82%8A2009?info=rss 128963289000000000 koido ◎XP祭り2009 ~ XP10周年:ソフトウェア開発から日本が変わる ~
http://kokucheese.com/event/index/325/

アジャイル開発の実践者の講演やワークショップ、
恒例のLT(ライトニング・トークス)など、
盛りだくさんになっています。

上記より参加申し込みください。

]]>
0 /Blog/koido/RSS/XP%E7%A5%AD%E3%82%8A2009 eXtremeProgramming
INETA Day 2009 募集開始 /Blog/koido/Archive/2009/6/18/INETA%20Day%202009%20%E5%8B%9F%E9%9B%86%E9%96%8B%E5%A7%8B?info=rss /Blog/koido/Archive/2009/6/18/INETA%20Day%202009%20%E5%8B%9F%E9%9B%86%E9%96%8B%E5%A7%8B?info=rss 128897620800000000 koido INETA Day 2009の募集を開始いたしました。
今年も、【最新技術トラック】、【コミュニティトラック】、チュートリアルトラック】
の3本立てです。

【最新技術トラック】では、マイクロソフトの萩原様とアークウェイの森屋様を
スピーカーとしてお招きし、クラウドでのアーキテクチャや開発について、
語っていただきます。
【コミュニティトラック】でも、最新のWeb系の技術などを用意しました。
盛りだくさんの内容となっています。

◎概要
INETA Day 2009~コミュニティパワーをリアルに体験しよう

<開催概要>
 開催日程  2009年7月11日(土)13:00-17:30(受付開始12:15)
 会  場  日本科学未来館( http://www.miraikan.jst.go.jp/j/guide/inst.html )
 ・みらいCANホール(受付)


<申込>
http://www.ineta.jp/tabid/232/Default.aspx

<セッション詳細>
 
【最新技術トラック】
S1-1 13:00-14:15(75)
Microsoft ソフトウェアアーキテクト 萩原正義
「クラウドでのアーキテクチャの原則と考慮点」

S1-2 14:30-15:45(75)

株式会社アークウェイ 代表取締役 森屋英治
「Windows Azure アーキテクチャと開発」

S1-3 16:00-17:15(75)
こみゅぷらす/VSUG 小島 富治雄
『C#4.0 と Visual Studio 2010/.NET Framework 4.0~ここが Cool! いけてる機能10連発!~』
 
【コミュニティトラック】
S2-1 13:00-13:40(40)
VSUG
「タイトル未定」

S2-2 13:45-14:25(40)
インフラジスティックス・ジャパン(株)
デベロッパー エバンジェリスト 池原 大然
(アイネタビューロ登録スピーカー)
「Prism ではじめる Silverlight LOB アプリケーション開発」

 S2-3 14:30-15:10(40)
WisdomSoft赤坂玲音
「Silverlight カスタムコントロール開発」

 S2-4 15:15-15:55(40)
.Netユーザーエクスペリエンス研究所 児玉宏之
「WPFの新しいコントロール」

 S2-5 16:00-17:15(75)パネルディスカッション
「レガシー資産をどうされていますか?」

【チュートリアルトラック】
T1 13:00-15:45(165)
XPJUG 小井土亨
「オブジェクト指向設計入門」

以上

]]>
0 /Blog/koido/RSS/INETA%20Day%202009%20%E5%8B%9F%E9%9B%86%E9%96%8B%E5%A7%8B .NET
アンケートを作成するサイト /Blog/koido/Archive/2009/5/27/%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%82%B5%E3%82%A4%E3%83%88?info=rss /Blog/koido/Archive/2009/5/27/%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%82%B5%E3%82%A4%E3%83%88?info=rss 128878603200000000 koido 北端さんに、SurveyMonkey.comというWebでアンケートを収集するサイトを教えてもらった。

なかなか良いです。

]]>
0 /Blog/koido/RSS/%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%82%B5%E3%82%A4%E3%83%88 Web関連技術
PartCover CC.NET ステップ数を表示する方法 /Blog/koido/Archive/2009/4/30/PartCover%20CCNET%20%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E6%95%B0%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95?info=rss /Blog/koido/Archive/2009/4/30/PartCover%20CCNET%20%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E6%95%B0%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95?info=rss 128855895000000000 koido PartCoverの結果をCC.NETに表示するときに、ステップ数(ソースのステップ数ではない)を表示する方法

アセンブリ単位のカバー率を表示するのは、以下のサイトに記載されています。
http://confluence.public.thoughtworks.org/display/CCNET/Using+CruiseControl.NET+with+PartCover

注意:上記ページにも、記載されていますが、PartCoverをルートノードではないとする場合、xslないの /PartCoverReport/ を //PartCoverReport/ に置き換える必要があります。

ただ、カバー率だけだとアセンブリの大きさや未実行部分の量が分からない。
そこで、xslを少しだけ以下のように修正することで、ステップ数も表示できます。

  Coverage by assembly

    -> 

以下の部分を</tr>の前に追加。

   
    <xsl:element name="td">
     <xsl:attribute name="style">background:ghostwhite;text-align:right;</xsl:attribute>
     <xsl:value-of select="$coveredCodeSize"/>/
     <xsl:value-of select="$codeSize"/>
    </xsl:element>  
    

以上です。

 

]]>
0 /Blog/koido/RSS/PartCover%20CCNET%20%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E6%95%B0%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95 .NET
XSLT サンプル フラットXML から 明細XML /Blog/koido/Archive/2009/4/15/XSLT%20%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%20%E3%83%95%E3%83%A9%E3%83%83%E3%83%88XML%20%E3%81%8B%E3%82%89%20%E6%98%8E%E7%B4%B0XML?info=rss /Blog/koido/Archive/2009/4/15/XSLT%20%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%20%E3%83%95%E3%83%A9%E3%83%83%E3%83%88XML%20%E3%81%8B%E3%82%89%20%E6%98%8E%E7%B4%B0XML?info=rss 128842902000000000 koido XSLTを使用して、フラットなXMLを明細型のXMLに変換するサンプル。

◎変換用のXSLT
同じIDを持つ部分を抜き出して、その部分だけにテンプレートを適応する。
テンプレートでは、繰り返し処理を行う。
select="Data[ID!=string(preceding-sibling::Data[1]/ID)]"の部分で抜き出しを行っている。

  <?xml version="1.0" encoding="UTF-8" ?>
  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:output method ="xml"/>

    <xsl:template match="/">
      <DataList>
        <xsl:apply-templates select="DataList"/>
      </DataList>
    </xsl:template>

    <xsl:template match="DataList">
      <xsl:apply-templates select="Data[ID!=string(preceding-sibling::Data[1]/ID)]"/>
    </xsl:template>

    <xsl:template match="Data">
      <xsl:comment xml:space ="default"/>
      <Data>
        <ID>
          <xsl:value-of select="ID"/>
        </ID>

        <xsl:for-each select=". | following-sibling::Data[ID=current()/ID]">
          <Details>
            <ProductID>
              <xsl:value-of select="ProductID"/>
            </ProductID>
            <ProductName>
              <xsl:value-of select="ProductName"/>
            </ProductName>
            <Count>
              <xsl:value-of select="Count"/>
            </Count>
          </Details>
        </xsl:for-each>

      </Data>
    </xsl:template>

  </xsl:stylesheet>

◎変換元のXML

  <?xml version="1.0" encoding="utf-8" ?>
  <DataList>
    <Data>
      <ID>D001</ID>
      <ProductID>A001</ProductID>
      <ProductName>Product1</ProductName>
      <Count>10</Count>
    </Data>
    <Data>
      <ID>D001</ID>
      <ProductID>B001</ProductID>
      <ProductName>Product2</ProductName>
      <Count>20</Count>
    </Data>
    <Data>
      <ID>D002</ID>
      <ProductID>A001</ProductID>
      <ProductName>Product1</ProductName>
      <Count>20</Count>
    </Data>
    <Data>
      <ID>D003</ID>
      <ProductID>A001</ProductID>
      <ProductName>Product1</ProductName>
      <Count>10</Count>
    </Data>
    <Data>
      <ID>D003</ID>
      <ProductID>B001</ProductID>
      <ProductName>Product2</ProductName>
      <Count>20</Count>
    </Data>
    <Data>
      <ID>D003</ID>
      <ProductID>C001</ProductID>
      <ProductName>Product3</ProductName>
      <Count>30</Count>
    </Data>
  </DataList>

◎変換後のXML

  <?xml version="1.0" encoding="utf-8"?>
  <DataList>
   <!---->
   <Data>
    <ID>D001</ID>
    <Details>
     <ProductID>A001</ProductID>
     <ProductName>Product1</ProductName>
     <Count>10</Count>
    </Details>
    <Details>
     <ProductID>B001</ProductID>
     <ProductName>Product2</ProductName>
     <Count>20</Count>
    </Details>
   </Data>
   <!---->
   <Data>
    <ID>D002</ID>
    <Details>
     <ProductID>A001</ProductID>
     <ProductName>Product1</ProductName>
     <Count>20</Count>
    </Details>
   </Data>
   <!---->
   <Data>
    <ID>D003</ID>
    <Details>
     <ProductID>A001</ProductID>
     <ProductName>Product1</ProductName>
     <Count>10</Count>
    </Details>
    <Details>
     <ProductID>B001</ProductID>
     <ProductName>Product2</ProductName>
     <Count>20</Count>
    </Details>
    <Details>
     <ProductID>C001</ProductID>
     <ProductName>Product3</ProductName>
     <Count>30</Count>
    </Details>
   </Data>
  </DataList>

以上

]]>
0 /Blog/koido/RSS/XSLT%20%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%20%E3%83%95%E3%83%A9%E3%83%83%E3%83%88XML%20%E3%81%8B%E3%82%89%20%E6%98%8E%E7%B4%B0XML Web関連技術
Kent Beck VSTSのホワイトペーパーの日本語訳 /Blog/koido/Archive/2009/4/2/Kent%20Beck%20VSTS%E3%81%AE%E3%83%9B%E3%83%AF%E3%82%A4%E3%83%88%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A8%B3?info=rss /Blog/koido/Archive/2009/4/2/Kent%20Beck%20VSTS%E3%81%AE%E3%83%9B%E3%83%AF%E3%82%A4%E3%83%88%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A8%B3?info=rss 128831861400000000 koido Kent Beck のVisual Studio Team System アジリティ向上のためのツール というホワイトペーパーの日本語訳がアップされています。
興味のある方は、以下のPDFを参照ください。
http://download.microsoft.com/download/5/1/8/518c15f0-ca42-429d-93c6-b5890183a979/Tools_for_Agility_white_paper_by_Kent_Beck.pdf
]]>
0 /Blog/koido/RSS/Kent%20Beck%20VSTS%E3%81%AE%E3%83%9B%E3%83%AF%E3%82%A4%E3%83%88%E3%83%9A%E3%83%BC%E3%83%91%E3%83%BC%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E8%A8%B3 Agile
やわらかい パターンランゲージ 紹介 /Blog/koido/Archive/2009/3/24/%E3%82%84%E3%82%8F%E3%82%89%E3%81%8B%E3%81%84%20%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%83%A9%E3%83%B3%E3%82%B2%E3%83%BC%E3%82%B8%20%E7%B4%B9%E4%BB%8B?info=rss /Blog/koido/Archive/2009/3/24/%E3%82%84%E3%82%8F%E3%82%89%E3%81%8B%E3%81%84%20%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%83%A9%E3%83%B3%E3%82%B2%E3%83%BC%E3%82%B8%20%E7%B4%B9%E4%BB%8B?info=rss 128823595800000000 koido 勝手に師匠とさせてもらっている中埜さんの活動を紹介しているブログを紹介します。

中埜さんの活動を小冊子で紹介しています。一冊(PDF)ですが300円くらいなので、興味がある人はぜひ購入ください。

お勧めです。

http://ces.mitohorin.com/

]]>
0 /Blog/koido/RSS/%E3%82%84%E3%82%8F%E3%82%89%E3%81%8B%E3%81%84%20%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%83%A9%E3%83%B3%E3%82%B2%E3%83%BC%E3%82%B8%20%E7%B4%B9%E4%BB%8B パターン
CC.NET での NUnit エラー 対応方法 /Blog/koido/Archive/2009/3/17/CCNET%20%E3%81%A7%E3%81%AE%20NUnit%20%E3%82%A8%E3%83%A9%E3%83%BC%20%E5%AF%BE%E5%BF%9C%E6%96%B9%E6%B3%95?info=rss /Blog/koido/Archive/2009/3/17/CCNET%20%E3%81%A7%E3%81%AE%20NUnit%20%E3%82%A8%E3%83%A9%E3%83%BC%20%E5%AF%BE%E5%BF%9C%E6%96%B9%E6%B3%95?info=rss 128817661200000000 koido CC.NETでNUnitを実行している場合で、エラーが出た場合に、正常にログが表示されない場合があります。

以下のサイトのLoggerを使ったところ、解決しました。

http://confluence.public.thoughtworks.org/display/CCNETCOMM/Improved+MSBuild+Integration

 

 

]]>
0 /Blog/koido/RSS/CCNET%20%E3%81%A7%E3%81%AE%20NUnit%20%E3%82%A8%E3%83%A9%E3%83%BC%20%E5%AF%BE%E5%BF%9C%E6%96%B9%E6%B3%95 .NET
Thougth Works アンソロジー 1クリックデブロイ /Blog/koido/Archive/2009/3/8/Thougth%20Works%20%E3%82%A2%E3%83%B3%E3%82%BD%E3%83%AD%E3%82%B8%E3%83%BC%E3%80%80%EF%BC%91%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%87%E3%83%96%E3%83%AD%E3%82%A4?info=rss /Blog/koido/Archive/2009/3/8/Thougth%20Works%20%E3%82%A2%E3%83%B3%E3%82%BD%E3%83%AD%E3%82%B8%E3%83%BC%E3%80%80%EF%BC%91%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%87%E3%83%96%E3%83%AD%E3%82%A4?info=rss 128810076600000000 koido Thougth Works アンソロジーの中の「1クリックデブロイ」を読んで思うこと

アジャイル開発では、継続的インテグレーションがコアプラクティスであることは、異論がないところ。
これを次のステージである、「1クリックデブロイ」まで進めるためには、いくつかのハードルをクリアする必要がある。

その一つは、受け入れテストの自動化である。受入テストを効率的で短時間で作成・実行を実現することは容易でない。
最近思うポイントは、以下の点。
 簡単な言語(スクリプト言語など)やエクセルのシートでのテストケース作成
 早期段階での自動受入テスト環境の構築
 積上げを前提としたテストケースの作成
 要求や仕様と受入テストの連動

受入テスト中心に据えると「プロセスの自動化」その先の「1クリックデブロイ」が見えてくると思う。

]]>
0 /Blog/koido/RSS/Thougth%20Works%20%E3%82%A2%E3%83%B3%E3%82%BD%E3%83%AD%E3%82%B8%E3%83%BC%E3%80%80%EF%BC%91%E3%82%AF%E3%83%AA%E3%83%83%E3%82%AF%E3%83%87%E3%83%96%E3%83%AD%E3%82%A4 eXtremeProgramming
アジャイル開発手法セミナー /Blog/koido/Archive/2009/3/2/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E6%89%8B%E6%B3%95%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BC?info=rss /Blog/koido/Archive/2009/3/2/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E6%89%8B%E6%B3%95%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BC?info=rss 128804265000000000 koido アジャイル開発の実践者三井さんや長瀬さんが登壇される アジャイル開発手法のセミナーが開催されますので 紹介させていただきます。 参加無料ですので、興味がある方は、ご一考ください。 以下は、運営事務局からいただいた案内メールです。 NPO法人 ドットNET分散開発ソフトピア・センター 本セミナーはソフトウェア開発において近年注目を集めている “アジャイル開発手法” に関するセミナーです。 アジャイル開発手法 (方法論) の解説として、数多くの書籍を執筆されるなど業界で 著名な株式会社テクノロジックアート 長瀬 嘉秀氏にご登壇いただきます。 また、アジャイル開発手法を .NET 開発プロジェクトに適用し、実際に現場で実践されて おります NPO 法人 ドットNET 分散開発ソフトピア・センターの三井 伸行氏に そのノウハウをご説明します。 マイクロソフトからは、Visual Studio Team System 2008 Team Foundation Server を 活用したアジャイル開発の実践について解説します。 実際の現場で活用いただける内容と考えており、特に開発プロジェクトを管理、 またはリードする方にご覧いただきたい内容となっております。 ---------- 記 ---------- 開催日時 : 2009 年 3 月 27 日 (金) 13:30 - 17:15 (受付開始 13:00) 開催会場 : 新宿マインズタワー 15F アビタス セミナールーム 4 参加費無料 / 事前登録制 本セミナーの詳細につきましては、下記をご参考にしてください。 http://www.microsoft.com/japan/msdn/vstudio/events/agileseminar.aspx]]> 0 /Blog/koido/RSS/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E9%96%8B%E7%99%BA%E6%89%8B%E6%B3%95%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BC .NET 仙台で勉強会を開催 /Blog/koido/Archive/2009/2/21/%E4%BB%99%E5%8F%B0%E3%81%A7%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%82%92%E9%96%8B%E5%82%AC?info=rss /Blog/koido/Archive/2009/2/21/%E4%BB%99%E5%8F%B0%E3%81%A7%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%82%92%E9%96%8B%E5%82%AC?info=rss 128797333200000000 koido 私が運営に参加しているINETAが仙台で勉強会を開催します。
今回は、SQL Server2008とPowerShellです。

PowerShellは、作業の自動化では、有効な選択肢のひとつです。
ただ、少し癖があるので、最初に基礎を学ぶことをお勧めします。
そんな方には、最適な機会だと思いますので、仙台近郊の方は、ぜひご検討ください。

申込ページ:http://techbank.jp/event-sendai/

アイネタのサイトでの紹介ページ:http://www.ineta.jp/tabid/214/Default.aspx

 

]]>
0 /Blog/koido/RSS/%E4%BB%99%E5%8F%B0%E3%81%A7%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%82%92%E9%96%8B%E5%82%AC .NET
PowerShell 用の UnitTest /Blog/koido/Archive/2009/2/12/PowerShell%20%E7%94%A8%E3%81%AE%E3%80%80UnitTest?info=rss /Blog/koido/Archive/2009/2/12/PowerShell%20%E7%94%A8%E3%81%AE%E3%80%80UnitTest?info=rss 128816941800000000 koido 非常にシンプルなPowerShell用の UnitTest フレームワークです。
ものは、以下のページ

http://www.ailight.jp/blog/koido/archive/2009/02/12/27263.aspx

MiniUnitTest.ps1 のみです。

◎使い方

ステップ1:
 テストケースのスクリプト(サンプルではTest_Sample.ps1)を作成する
 ポイントは、MiniUnitTest.ps1 とテスト対象を読み込む

##############################################################################
## MiniUnitTest
.\MiniUnitTest.ps1

##############################################################################
## Target
.\Calc.ps1

##############################################################################
## Main
function Main
{
    #ここにテストのfunctionを書く

    write-host "`nAll Test OK."
}

##############################################################################
## Start
Main
Trap
{
    write-host "`nTest Error."
    $LastExitCode = 1
    exit1
}
exit 0
 
ステップ2:
 テスト対象のスクリプト(サンプルではCalc.ps1)を作成する

ステップ3:
 テストを作成する

ステップ4:
 テストがエラーとなる実装をする

ステップ5:
 テストを実行し、エラーが表示されることを確認する

ステップ6:
 正しい実装を行う。正常に終了することを確認する

以上

2008/03/16 exit を追加

]]>
0 /Blog/koido/RSS/PowerShell%20%E7%94%A8%E3%81%AE%E3%80%80UnitTest Agile
PowerShell UnitTest /Blog/koido/Archive/2009/2/12/PowerShell%20UnitTest?info=rss /Blog/koido/Archive/2009/2/12/PowerShell%20UnitTest?info=rss 128816941200000000 koido ◎PowerShell Mini UnitTest

2009/02/25 エラー時、Win32としてもエラーを返すように変更

##############################################################################
## Assert function.  Verifies that $condition
## is False, Throw error message.
function global:Assert ( 
    [bool] $condition = $(Please specify a condition),
    [string] $message = "Test failed." 
    )
{
    if( $condition -eq $True )
    {
        write-host -NoNewLine "."
    }
    else
    {
        write-host "`nFAIL. $message"
        Throw $message
    }
}

## AssertEquals function.
## is False, Throw error message.
function global:AssertEquals ( 
    [object]$expected,
    [object]$actual,
    [string] $message = "Test failed." 
     )
{
    if($expected -eq $actual)
    {
        write-host -NoNewLine "."
    }
    else
    {
        write-host "`nFAIL. AssertEquals. Expected: $expected.  Actual: $actual.  $message."
        Throw $message
    }
}

## AssertNotEquals function.
## is False, Throw error message.
function global:AssertNotEquals ( 
    [object]$expected,
    [object]$actual,
    [string] $message = "Test failed." 
     )
{
    if($expected -ne $actual)
    {
        write-host -NoNewLine "."
    }
    else
    {
        write-host "`nFAIL. AssertNotEquals. Expected: $expected.  Actual: $actual.  $message."
        Throw $message
    }
}

◎Sample TestCase

##############################################################################
## MiniUnitTest
.\MiniUnitTest.ps1

##############################################################################
## Target
.\Calc.ps1

function StringTest()
{
   $a  = "A"
   $b  = "B"
   $ans = CalcAdd $a $b

   AssertEquals "AB" $ans   'AssertEquals AB $ans'
   AssertNotEquals "ABC" $b 'AssertNotEquals ABC $ans'

   Assert ( $ans -eq "AB"  ) 'Assert $ans -eg AB'
   Assert ( $ans -ne "ABC" ) 'Assert $ans -ne ABC'
}

function IntTest()
{
   $a  = 1
   $b  = 2
   $ans = CalcAdd $a $b
  
   AssertEquals    3 $ans 'AssertEquals AB $ans'
   AssertNotEquals 4 $ans 'AssertNotEquals ABC $ans'

   Assert ( $ans -eq 3 ) 'Assert $ans -eg AB'
   Assert ( $ans -ne 4 ) 'Assert $ans -ne ABC'
}

##############################################################################
## Main
function Main
{
    StringTest
    IntTest

    write-host "`nAll Test OK."
}

##############################################################################
## Start
Main
Trap
{
    write-host "`nTest Error."
    $LastExitCode = 1
    exit 1
}
exit 0

◎Sample Target

##############################################################################
# Target Sample Calc

function global:CalcAdd (
    [object] $data1,
    [object] $data2 
    )
{
    Return $data1 + $data2
}

]]>
2 /Blog/koido/RSS/PowerShell%20UnitTest .NET
デブサミ2009登壇 帳票 /Blog/koido/Archive/2009/1/28/%E3%83%87%E3%83%96%E3%82%B5%E3%83%9F2009%E7%99%BB%E5%A3%87%E3%80%80%E5%B8%B3%E7%A5%A8?info=rss /Blog/koido/Archive/2009/1/28/%E3%83%87%E3%83%96%E3%82%B5%E3%83%9F2009%E7%99%BB%E5%A3%87%E3%80%80%E5%B8%B3%E7%A5%A8?info=rss 128775792600000000 koido デブサミで、今年は、帳票で登壇します。
今回は、アジャイルでもなく、.NETでもなく、なぜが帳票です。

パネルなので、来場者の方と相談会を開催する予定。
アーキテクチャやテストについて、話をしたいと思っています。

http://www.seshop.com/event/dev/2009/timetable/#2

]]>
0 /Blog/koido/RSS/%E3%83%87%E3%83%96%E3%82%B5%E3%83%9F2009%E7%99%BB%E5%A3%87%E3%80%80%E5%B8%B3%E7%A5%A8
PowerShell パラメータの処理 /Blog/koido/Archive/2009/1/21/PowerShell%20%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AE%E5%87%A6%E7%90%86?info=rss /Blog/koido/Archive/2009/1/21/PowerShell%20%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AE%E5%87%A6%E7%90%86?info=rss 128770050600000000 koido PowerShellで引数を処理する場合のサンプル。
get-variable 、set-variable の使用がポイントです。
注意1:PowerShell間でしか、引数が処理できていない。
注意2:$(A)のような引数は処理できません。

##############################################################################
## param

param (
    # Path, IncludeFiles, ExcludeFiles
    [String]$Path,
    [Object[]]$IncludeFiles,
    [Object[]]$ExcludeFiles
)

##############################################################################
## Main

function Main
{

  InitOption Path ""
  InitOption IncludeFiles @()
  InitOption ExcludeFiles @()

  Test
}

##############################################################################
## オプションの初期化 コマンドラインが優先 ない場合は、config file or default

function InitOption($_name_, $_default_ = $null) {

    $_v_ = get-variable -scope script -name $_name_ -value

    if (-not $_v_)
    {
        $_v_ = get-variable -scope local -name $_name_ -value -ea SilentlyContinue
        if (-not $_v_)
        {
            $_v_ = $_default_
        }
        set-variable -scope script -name $_name_ -value $_v_
    }
}

##############################################################################
## Test -- オプションの表示

function Test {
 echo "*** TEST ONLY ***"
    echo "+ Path: $Path"
    echo "+ IncludeFiles: $IncludeFiles"
    echo "+ ExcludeFiles: $ExcludeFiles"
}

##############################################################################
## 開始ポイント

Main

]]>
0 /Blog/koido/RSS/PowerShell%20%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%81%AE%E5%87%A6%E7%90%86 .NET
Visual Studio正規表現を使用した置換えの例 /Blog/koido/Archive/2009/1/15/Visual%20Studio%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E7%BD%AE%E6%8F%9B%E3%81%88%E3%81%AE%E4%BE%8B?info=rss /Blog/koido/Archive/2009/1/15/Visual%20Studio%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E7%BD%AE%E6%8F%9B%E3%81%88%E3%81%AE%E4%BE%8B?info=rss 128765071200000000 koido VBのコメント以外の行の2008を2009に変更する

検索文字列
^~('){.*}{2008}{.*}

置換文字列
\12009\3

検索文字列の説明
[^]は先頭
[~]は対象外
{}は、タグ付の正規表現

置換の文字列の説明
[\0]は全体
[\1]は、タグ1
[\2]は、タグ2
[\3]は、タグ3

]]>
0 /Blog/koido/RSS/Visual%20Studio%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E7%BD%AE%E6%8F%9B%E3%81%88%E3%81%AE%E4%BE%8B .NET
ケント・ベックの最新刊紹介セミナー /Blog/koido/Archive/2009/1/15/%E3%82%B1%E3%83%B3%E3%83%88%E3%83%BB%E3%83%99%E3%83%83%E3%82%AF%E3%81%AE%E6%9C%80%E6%96%B0%E5%88%8A%E7%B4%B9%E4%BB%8B%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BC?info=rss /Blog/koido/Archive/2009/1/15/%E3%82%B1%E3%83%B3%E3%83%88%E3%83%BB%E3%83%99%E3%83%83%E3%82%AF%E3%81%AE%E6%9C%80%E6%96%B0%E5%88%8A%E7%B4%B9%E4%BB%8B%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BC?info=rss 128764551000000000 koido ケント・ベックの最新刊紹介「実践パターン」のセミナーが開催されます。

最新刊は、実装パターンという名前ですが、
目的は「コードを通して自分の意図を伝える際の手助けになること」
ケント・ベックのコードへの思いが詰まった書籍になっています。

以下、テクノロジックアートさんの案内のメールです

出版にあたりまして、ご紹介セミナーを開催いたします。
 クラスの章から
     * バリューオブジェクト
     * サブクラス
     * 条件分岐
     * 委譲
 状態の章から
     * 引数
     * コレクティングパラメータ
     * パラメータオブジェクト
     * 初期化
 振る舞いの章から
     * 反転メッセージ
     * 説明メッセージ
     * ガード条件
についてのご紹介を予定しております。
デザインパターンの次は実装パターンを身に付けて、よりアジリティを高めて
みませんか?ぜひ、ご参加ください!
 
なお、当日使用しますスライドの配布は行いません。
必要な方は印刷してお持ちくださいますようお願いいたします。
http://www.tech-arts.co.jp/news-and-topics/events/20090114.html
 
-----------------------------------

タイトル:ケント・ベック著「実装パターン」ご紹介セミナー
 
開  催  日:2009年1月21日(水)
 
開 催 時 間:18時30分からおよそ1時間の予定(受付18時開始)

会      場:文京区区民センター
          東京都文京区本郷4-15-14
          都営大江戸線 春日駅 徒歩3分
          東京メトロ 後楽園駅 徒歩5分

対 象 者:開発担当者・管理者の方

定   員:250名
 
内   容:18:00-受付開始
      18:30-セミナー開始

主      催:株式会社テクノロジックアート

メディア共催:ピアソン・エデュケーションジャパン
              http://www.pej-hed.jp/

後      援:日本XPユーザグループ
            http://xpjug.s270.xrea.com/

参 加 費 用:無料

お申し込み:セミナー詳細は
      株式会社テクノロジックアートの下記URLをご覧ください。
      http://www.tech-arts.co.jp/news-and-topics/events/20090114.html

]]>
1 /Blog/koido/RSS/%E3%82%B1%E3%83%B3%E3%83%88%E3%83%BB%E3%83%99%E3%83%83%E3%82%AF%E3%81%AE%E6%9C%80%E6%96%B0%E5%88%8A%E7%B4%B9%E4%BB%8B%E3%82%BB%E3%83%9F%E3%83%8A%E3%83%BC パターン
ThoughtWorksアンソロジー /Blog/koido/Archive/2008/12/19/ThoughtWorks%E3%82%A2%E3%83%B3%E3%82%BD%E3%83%AD%E3%82%B8%E3%83%BC?info=rss /Blog/koido/Archive/2008/12/19/ThoughtWorks%E3%82%A2%E3%83%B3%E3%82%BD%E3%83%AD%E3%82%B8%E3%83%BC?info=rss 128741550600000000 koido 知り合いのオージスの山野さんが翻訳に係わった、ThoughtWorks関連の本が出版
されます。
#12月27日発売で、現在は予約受付中

内容は、エッセイで、以下の内容を扱っているようです。まだ、手元にないの
で、詳細な内容は分かりませんが、項目だけでも、興味深いものが並んでます。

DSL
プログラミング言語
多言語プログラミング
オブジェクト指向設計
マネージメント
メトリクス
SOA
ドメインアノテーション
ビルド
デプロイ
テスト
アマゾンのページは、以下のとおり。
#ページというより、これって、RESTですね。

http://www.amazon.co.jp/dp/487311389X

]]>
0 /Blog/koido/RSS/ThoughtWorks%E3%82%A2%E3%83%B3%E3%82%BD%E3%83%AD%E3%82%B8%E3%83%BC Agile
インフラジスティックスDeveloper Days4 東名阪にて12月開催 /Blog/koido/Archive/2008/12/3/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9Developer%20Days4%20%E6%9D%B1%E5%90%8D%E9%98%AA%E3%81%AB%E3%81%A612%E6%9C%88%E9%96%8B%E5%82%AC?info=rss /Blog/koido/Archive/2008/12/3/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9Developer%20Days4%20%E6%9D%B1%E5%90%8D%E9%98%AA%E3%81%AB%E3%81%A612%E6%9C%88%E9%96%8B%E5%82%AC?info=rss 128727708000000000 koido インフラジスティックスさんがセミナーを開催されるということなので、紹介させていただきます。
無料のセミナーです。

セミナーの案内文

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■参加費無料 インフラジスティックスDeveloper Days4 東名阪にて12月開催!■
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

インフラジスティックスではこの度、好評を博しております弊社セミナーの第四弾と
なります「Developer Days 4」を12月9日~11日の3日間開催いたします。

今大きな注目を集めているSilverlight2、更にはUIスタイリング、SharePoint や
Dynamic Dataとの連携など様々な角度からリッチアプリケーション開発実現に対して
アプローチしていきます。
特に、Silverlight2 に関してはアメリカ本社(Infragistics Inc.)よりテクニカルエバンジェ
リストを迎え、Data Visualization (=データ視覚化)をメインテーマにお話させて頂きます。

前回の第3回は、東京・大阪の2会場にて開催。総勢100名以上の方にご登録・
ご参加いただきましたことを受けて、今回は規模を拡大して東京・名古屋・大阪と
3都市での開催となりますので奮ってご参加下さい。

お申し込み及びイベント詳細:下記のURLよりお申し込みが可能です
http://jp.infragistics.com/events/IGdeveloperdays/2008december.aspx
***全会場の参加費は無料です。***

 

]]>
0 /Blog/koido/RSS/%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B9Developer%20Days4%20%E6%9D%B1%E5%90%8D%E9%98%AA%E3%81%AB%E3%81%A612%E6%9C%88%E9%96%8B%E5%82%AC Web関連技術