タグ

ブックマーク / prepro.wordpress.com (9)

  • Jenkins with VS2008 + α for C++

    Jenkins with VS2008 + α for C++ Posted by hikaruworld : 2011 9月 6 ちょっとVS2008でC++の開発をすることになったんですが、 リポジトリの最新をとってもしばしばビルドエラーになるので、 C++弱者の自分の為にJenkinsでビルド環境を構築してみました。 どうせなので、ドキュメント自動生成も設定してみようと思います。 ちなみにOSはVS2008のMSBuild.exeがいるのでWindows上です。 それと自分はgtestを利用しているのでユニットテスト環境もあわせて構築します。 事前準備 まずは必要な環境をインストールします。インストールの詳細は省きます。 VisualStudio2008 Professional (多分Expressでもいけるかと) Jenkins Doxygen(インストーラーから) Graphv

    Jenkins with VS2008 + α for C++
  • 私が、分散バージョン管理を使おうと思ったただ一つの理由

    最近デビューしました。 たった一つの理由を挙げろといわれれば 今のプログラミング開発手法のマッチしているから に尽きる。 TDDやCIが良い例だと思う。 TDDの例 SVNの場合TDDのレッド⇒グリーン⇒リファクタリングのタイミングでコミットするには粒度が小さすぎる。 でもコミットしないと小さな不安が残る。だけど、コミットすると余計なリビジョンがかさむことになる。 分散バージョン管理であれば、レッド→グリーンになったタイミングでローカルブランチにコミット出来る。 そのあと、一つのTDD(設計工程)が終わった段階でまとめてメインブランチにpushする。 ※bazaarでのやり方がわからないんだけど(汗 自分で試行錯誤しているときは安心(グリーン)したタイミングでコミット。 で、ひと段落したらメインリポジトリへpushというのが自然な流れで実行できる。 CIの例 CIの場合に、SVNでよくやる

    私が、分散バージョン管理を使おうと思ったただ一つの理由
  • xDDについて考える3

    これは、前回の続きになります。 多層的にxDDを実践する 自分が考えるxDDの連携とは以下のような感じです。 また、こういった風にxDDを実践することの大きなメリットは、 Inputに対して最終的なOutputを早期に返せることだと思います。 ※ここでいうOutputは実装された成果物ではなく、要求を満たすテスト仕様のアウトラインのことです。 つまり、「こういう機能が欲しいんだ」というユーザ要望に対して、 「このような仕様で行きますよ」ではなく「この動作が問題なく通れば機能は問題ありませんね」 という方法を提示します。 個人的には、要求に対応するのは実装結果ではなくその要求を満たすテストと考えています(どっかの受け売り気がする)。 具体的な流れとしては以下のような感じです。 1.DDD どう組み込むかはまだはっきり見えていないのでTODOです… 2.SDD あるストーリ(機能要求)があった

    xDDについて考える3
  • xDDについて考える2

    このエントリは前回の続きです。 xDDの背景 では、なぜこのような多様な駆動開発が提唱されているのでしょうか。 ひとつの理由としては、いくらTDDのみ実践して問題ないことを保障しても、 前提部分で問題があった場合に、テスト自体が意味がなくなることが多々あるためだと思います。 「うまく設計できた、実装は終わった、テストは問題ない、但し顧客が求めている機能ではなかった」 というケースですね。 つまり、駆動する基準(求めているもの)がシステムを作る上で流動的に変化していくことを 把握し対応出来ていないため、アジャイル的な方法にあわせてより大きいレベルでの 駆動が求められているようになってきているのではないでしょうか。 「求めているもの」、つまり設計時に何を考慮しテスト時に何を保証したいかは 実践アジャイルテストに『テストの四象限』というものが定義されています(以下の図参照)。 この図はテストを整

    xDDについて考える2
  • easybを学ぶ0

    @t_wadaさんがRSpecの入門とその1歩先へ という日記を書いていたので、 Rubyが使えない自分はJavaでeasybを使ったBDD導入の話を備忘録的に書いていこうと思います。 ちなみにマイコミの記事が大変参考になります。多謝。 個人的にはTDDだけじゃなくてBDD+TDDとかSDD+BDD+TDD的な流れになっていけば、 みんなで情報交換できて素敵なのにと思ってたりします。 eclipse上に環境構築(推奨) easybってなんぞ?というお話はマイコミの記事なりWikipediaを読んでもらうとして、 とりあえずeclipse上に環境構築です。 easybはGroovyという、Java言語を関数的に使えるように拡張された言語で書かれているので、 eclipseさえインストールしておけば基的にはGroovyとeasybのライブラリにパスを通すだけで、 簡単に動かすことが可能です(

    easybを学ぶ0
    kaorun55
    kaorun55 2010/03/04
    続きが楽しみ
  • Tracの任意のWikiページをPDF出力するスクリプトを作ったよ(暫定版)

    TracのPDF出力する方法は、以前の記事でも述べたようにいくつかあります。 が、その中で唯一日語に対応しているTracWikiExportプラグインは、 残念な事にテーブル内に日語構成が含まれていた場合にテーブル構造が崩れたり、 {{{#!html}}} を正しく解釈できないという微妙な問題を含んでいます。 それで困っていたので、簡単にJavaPDF出力ライブラリのiText5を利用して作ってみました。 サラッと作っただけでまだバグバグですが、コアとなるJavaの部分だけ晒しておきます。 launchpad.netにあげているので、ここからダウンロードできます。 目標としてはAdobeAirを利用したプレビュー機能&ダウンロード機能をつけたいですね。 ちなみに、プラグインとして作らずにAPIを利用して別アプリとして作ったのは、 PDF出力する状況を考えるとTrac上にプラグインとし

    Tracの任意のWikiページをPDF出力するスクリプトを作ったよ(暫定版)
    kaorun55
    kaorun55 2010/01/07
    これはすごい!
  • trac上にFreeMindファイル(.mm)を表示させる。

    Trac上にFreeMindのデータを表示させたくなることがたまにあります。 (というか、Flash系のデータ。グラフ描画用にamChartとかも活用できるはず。) 今までは、毎回PNGに落として表示していたんですが、以下の事情から何とかならないかなと思っていました。 イチイチ書き出す必要があること データの実体が異なること(実体が.mmでPNGを書き出すので) で、適当に考えて試してみたらうまく行ったので、ここに方法を書いておきます。 実際にはFlashViewとFreemindFlashBrowserの併せ技です。 まずは出力をflashで行うため、trac上にFlashを表示させるプラグインが必要になります。 自分は前回のエントリにもあるように、FlashViewを利用しています。 というわけで、任意のFlashを表示できるプラグインをインストールします。 ここで大切なのは、Flas

    trac上にFreeMindファイル(.mm)を表示させる。
    kaorun55
    kaorun55 2009/09/29
    面白い!
  • Pythonの勉強のためにTracのデバッグ環境を構築する

    おそらく他人が読んでもわからないでしょう… と、前置きしつつ。 Pythonの勉強をしたいなぁと常日頃思っていて、 何かいい例がないかなぁと思っていました。 よく考えれば日頃愛用しているtracがpython製だったのを思い出したので、 これを解析しながら勉強して見ようと思い立った次第です。 とりあえず、静的解析は難しいので動的解析をしようと思い、 pyDev上にtracのデバッグ環境を構築した際のメモになります。 前提条件 tracdで起動する→standalone.pyを直接起動することにしました trac用に別のPythonをインストール Subversionのインストールは不要 インストール構成は以下の通り。pythonを別にインストールしている。 なおインストール場所は/dev/以下とする。 . |-- bin --- スクリプト格納用(trac-adminなど) |-- dat

    Pythonの勉強のためにTracのデバッグ環境を構築する
    kaorun55
    kaorun55 2009/09/21
    Tracは内部にスタンドアローン起動用のサーバを持っているのでそれを利用します
  • ひよっこ。

    コードレビューツール 6選 どれが最適?で紹介されていたphabricatorに素敵さを感じました。 Ubuntuだとインストールスクリプトが準備されているということで、さくっと?インストールしてみました。 基的な流れは、こんな感じになりました。 1. ソースの取得と展開 2. 各種設定ファイルの定義 3. セットアップウィザードの実行 4. ログインアカウントの作成 構築した環境は、 lsb_release -aで確認すると以下の通り No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 12.04.1 LTS Release: 12.04 Codename: precise インストールしたphabricatorのhashはeaf7aedb05d01ffab4cceb1bf52cfa084c7

    ひよっこ。
    kaorun55
    kaorun55 2009/09/21
    Tracは内部にスタンドアローン起動用のサーバを持っているのでそれを利用します
  • 1