koido Blog

XPerの日々

AILight Banner
AILight Blog

プロフィール

koido Blog

目次

Blog 利用状況

記事分類

過去の記事

タグ

2009年9月29日 #

VSUGアカデミー 特別無償開催「クラウドにのっけてみよう - Windows Azure の実際」開催

Azureを体験できる、よい機会だと思います。 主催: Visual Studio User Group (VSUG) - vsug.jp 協力: IIS User Group (IISUG) - iis.itadmin.jp 会場提供: マイクロソフト株式会社 日時: 2009年9月30日(水) 19:30~21:00 (受付開始 19:15) 参加費: 無償 詳細と申し込みページ http://kokucheese.com/event/index/510/

posted @ 0:47 | Comment (1)

2009年9月2日 #

XP祭り2009

◎XP祭り2009 ~ XP10周年:ソフトウェア開発から日本が変わる ~
http://kokucheese.com/event/index/325/

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

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

posted @ 1:35 | Comment (0)

2009年6月18日 #

INETA Day 2009 募集開始

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 小井土亨
「オブジェクト指向設計入門」

以上

posted @ 1:28 | Comment (0)

2009年5月27日 #

アンケートを作成するサイト

北端さんに、SurveyMonkey.comというWebでアンケートを収集するサイトを教えてもらった。

なかなか良いです。

posted @ 1:12 | Comment (0)

2009年4月30日 #

PartCover CC.NET ステップ数を表示する方法

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>  
    

以上です。

 

posted @ 18:17 | Comment (0)

2009年4月15日 #

XSLT サンプル フラットXML から 明細XML

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>

以上

posted @ 17:30 | Comment (0)

2009年4月2日 #

Kent Beck VSTSのホワイトペーパーの日本語訳

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

posted @ 22:49 | Comment (0)

2009年3月24日 #

やわらかい パターンランゲージ 紹介

勝手に師匠とさせてもらっている中埜さんの活動を紹介しているブログを紹介します。

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

お勧めです。

http://ces.mitohorin.com/

posted @ 9:13 | Comment (0)

2009年3月17日 #

CC.NET での NUnit エラー 対応方法

CC.NETでNUnitを実行している場合で、エラーが出た場合に、正常にログが表示されない場合があります。

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

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

 

 

posted @ 12:22 | Comment (0)

2009年3月8日 #

Thougth Works アンソロジー 1クリックデブロイ

Thougth Works アンソロジーの中の「1クリックデブロイ」を読んで思うこと

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

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

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

posted @ 17:41 | Comment (0)

2009年3月2日 #

アジャイル開発手法セミナー

アジャイル開発の実践者三井さんや長瀬さんが登壇される
アジャイル開発手法のセミナーが開催されますので
紹介させていただきます。

参加無料ですので、興味がある方は、ご一考ください。

以下は、運営事務局からいただいた案内メールです。

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

posted @ 0:15 | Comment (0)

2009年2月21日 #

仙台で勉強会を開催

私が運営に参加しているINETAが仙台で勉強会を開催します。
今回は、SQL Server2008とPowerShellです。

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

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

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

 

posted @ 23:39 | Comment (0)

2009年2月12日 #

PowerShell 用の UnitTest

非常にシンプルな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 を追加

posted @ 14:38 | Comment (0)

PowerShell UnitTest

◎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
}

posted @ 14:29 | Comment (2)

2009年1月28日 #

デブサミ2009登壇 帳票

デブサミで、今年は、帳票で登壇します。
今回は、アジャイルでもなく、.NETでもなく、なぜが帳票です。

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

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

posted @ 1:21 | Comment (0)

2009年1月21日 #

PowerShell パラメータの処理

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

posted @ 9:51 | Comment (0)

2009年1月15日 #

Visual Studio正規表現を使用した置換えの例

VBのコメント以外の行の2008を2009に変更する

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

置換文字列
\12009\3

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

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

posted @ 15:32 | Comment (0)

ケント・ベックの最新刊紹介セミナー

ケント・ベックの最新刊紹介「実践パターン」のセミナーが開催されます。

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

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

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

posted @ 1:05 | Comment (1)

2008年12月19日 #

ThoughtWorksアンソロジー

知り合いのオージスの山野さんが翻訳に係わった、ThoughtWorks関連の本が出版
されます。
#12月27日発売で、現在は予約受付中

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

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

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

posted @ 10:11 | Comment (0)

2008年12月3日 #

インフラジスティックスDeveloper Days4 東名阪にて12月開催

インフラジスティックスさんがセミナーを開催されるということなので、紹介させていただきます。
無料のセミナーです。

セミナーの案内文

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

■参加費無料 インフラジスティックス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
***全会場の参加費は無料です。***

 

posted @ 9:40 | Comment (0)