Tips

AnkhSVN を使った一連の流れ (diff/update/commit)

今回は、AnkhSVN を使った開発の流れを説明します。基本的な流れは、「開発 -> テスト -> diff -> update -> (必要に応じて test) -> commit」となります。なお、 AnkhSVN は機能がまだこなれていないため、常用する SVN クライアントとしては不満な点があり…

AnkhSVN でログを確認する方法

AnkhSVN で「svn log」のようにログを確認するには、以下のようにします。 Visual Studio のソリューション エクスプローラから SVN で管理したいソリューションを選択し「右クリック」-「View Solution History」を実行 履歴ビューアが起動する TortoiseSVN…

AnkhSVN のアイコン一覧

AnkhSVN のアイコン一覧は、公式サイトにもありますが紹介しておきます。よく見るのは、上から Modified (変更済み) と Unmodified (変更なし)、 Added (追加済み)、 New (新規で追加されていない) などですね。

既存のソリューションを AnkhSVN で管理する方法

第2回は、既存のソリューションを AnkhSVN で管理 (いわゆる import) する方法について説明します。なお、 SVN 用のリポジトリがローカルやサーバにない場合は、以後の操作を続ける前に TortoiseSVN (推奨) や「svnadmin create」などを使ってリポジトリを作…

AnkhSVN のダウンロードとインストール方法

初めに AnkhSVN (スクリーンショット) は、 Visual Studio 用の Subversion (SVN) アドインです。 AnkhSVN は英語のソフトですが、バージョン管理システム (CVS, SVN, VSS, etc...) を使った経験がある方なら、問題なく使うことができます。特に TortoiseSVN…

Redmine のチケット数をグラフにする 2

前回の続きです。Redmine のチケット数をグラフにしようと、日別チケット数を求めるところまでやりました。次は、完了日ごとのチケット数を求めて最終的なグラフを作ろうと思います。以下の SQL で日付ごとの完了数が取得できます。単純に最終更新日を参照す…

Redmine のチケット数をグラフにする

Redmine のチケット数をグラフにしようと思ったのですが、 Ruby でグラフまで出力するには時間がなかったので、とりあえず SQL + Excle でやることにしました。 select strftime('%Y-%m-%d', created_on) as [date] , count(*) as [チケット数] from issues …

Visual Stduio 2008 SP1 のインストールに失敗する場合の対処法

一部 PC でインストールに失敗すると駆り出されたのでメモ。「Microsoft Visual Studio Web Authoring Component」のインストールが進まなくて、時間を食ってしまいました。以下の手順でインストールできます。 インストールメディアから「\WCU\WebDesignerC…

Ruby で Redmine の Wiki を巡回

昨日、「Redmine 内の Wiki データをエクスポートする方法」を紹介しましたが、以下の点で気に入りませんでした。 Redmine 標準のエクスポート機能 ファイルが単一なのが嫌 レイアウト・スタイルが通常と異なる 画像ファイルなど添付ファイルを取得するのが…

Redmine 内の Wiki データをエクスポートする方法

概要 Redmine は、 Wiki の内容を全て単一ファイルでエクスポートすることができます。意外と知られていない機能なので紹介します。 手順 保存したい Wiki を開く 画面右側の「索引(名前順)」を開く *1 画面右下の「他の形式に出力 HTML」をクリック 任意の…

C# で使えるグラフやチャート系ライブラリのまとめ

概要 C# (.NET) で利用可能なグラフやチャート系ライブラリのまとめです。日本語の情報が少ないので、リストだけ作ってみました。オープンソースをメインに集めていますが、有料・無料などライセンス体系は様々です。各ライブラリの詳細は、リンク先でスクリ…

VSTO で Excel のコネクタを使う方法

Visual Studio Tools for Office (VSTO) で Excel のコネクタを使う方法について、サンプルと共に説明します。 VBA でやるのとほぼ同じですが、コネクタの接続部分が多少異なるようです。インテリセンスやコレクションクラスが便利なので、 C# (.NET) で書く…

チェックボックスの状態によって、 DB を更新するかしないかを簡単に決める方法

昨日の続きですが、 GridView などにチェックボックスを表示し、チェックされた複数行を一括更新したいときがあります。そんなときは、以下のようなユーティリティメソッドを用意しておくと便利です。 /// <summary> /// 無駄な更新が発生しないように DataRowState </summary>…

同じ値を設定しても DataTable が Modified になってしまうのを防ぐ方法

Entity Framework (+ LINQ) が主流になってからかなりの期間がたちますが*1、まだまだ 型付き DataSet や DataTable は使われていると思います。そんなときにちょっと役立つ Tips を紹介します。ASP.NET の GridView を Excel のような形式で編集できるよう…

Entity Framework 関連でエラーが発生する場合の対処法

Visual Studio 2008 SP1 で追加された Entity Framework ですが、ある環境だけうまく動かないことがありました。以下の手順で問題が発生していました。 新規プロジェクトを作成 新しい項目の追加から「ADO.NET Entity Data Model」を選択 データベースから作…

開発環境で SQL がタイムアウトする場合の解決法

開発環境でデバッグをしているとき、型付きデータセット (xsd) などから少し時間のかかる SQL を実行するとタイムアウトすることがあります。 ASP.NET や TransactionScope (MSDTC) を使っているときに発生しやすいのではないかと思いますが、解決方法をよく…

DB の timestamp 列を考慮せずに diff を取得する方法

データベースの差分 (diff) を取得するには、 Visual Studio Team System (VSTS) の Database 機能が便利です。このツールでデータベースを丸ごと比較できますが、テーブル内に timestamp 列が含まれる場合、結果が少し見にくくなります。timestamp 列を無視…

障害内容をわかりやすく効果的に伝えるための 3 つのポイント

概要 開発者にバグの内容を的確に伝えてることで、対応コストの削減につとめましょう。以下の 3 つのポイントが重要です。 障害の内容 (エラーメッセージなど) を具体的に記述 本来の期待する動作を記述 再現手順を記述 障害管理表には、大きく分けると 2 つ…

月曜日の日付を取得

ある日付の月曜日時点の日付を求めたい場合があると思います。やり方はいくつかありますが、その中の一つを紹介します。 DECLARE @varDate datetime SET @varDate = -- 好きな日付 -- 月曜日付を取得 (月曜ならその日、それ以外なら過去直近の月曜) select c…

ストアドプロシージャのソースコードを確認

SQL Server でストアドプロシージャのソースコードを確認したいとき、 SQL Server Management Studio を使用するのが簡単です。もし SQL で実行したい場合は以下のように記述します。なお、昔は sys.sql_modules ではなくて syscoments を参照していました。…

yyyyMMdd 形式の文字列を日付型に変換する方法

yyyyMMdd 形式 (文字列で区切りなしの 8 桁数字) を日付型 (datetime) に変換するには、以下のような方法があります。 '20080102' の部分は、変数などに置き換えて使ってください。 SELECT CONVERT(datetime, '20080102', 112)

日付型を yyyyMMdd 形式に変換する方法

日付型 (datetime) の変数を yyyyMMdd 形式 (文字列で区切りなしの 8 桁数字) に変換するには、以下のような方法があります。 GETDATE() の部分を変数やテーブルの列名に変更すれば、どんな日付型でも変換できますね。 SELECT CONVERT(nvarchar(8), GETDATE(…

datetime の時間部分を切り捨てる方法

SQL Server で、日付型の時間部分を切り捨てる (yyyy-MM-dd 00:00:00 というような日付だけの形式にする) には、以下のように書きます。 SELECT CONVERT(DATETIME, CONVERT(nvarchar, GETDATE(), 111), 120) 今までどんな方法で切り捨てていましたか? おすす…

小数点以下の桁数を取得

与えられた変数が小数点以下何桁まであるのかを知りたいときがあると思います。プログラムの書き方は何通りもありますが、サンプルとして C# での取得コードを 2 つ紹介します。GetPrecision1() では、小数点の位置を取得し、そこから何桁あるのかを求めてい…

Redmine: 終了した Target Version を表示しないパッチ (不完全)

Redmine のロードマップ機能は便利ですが、週に数回という頻繁なリリースを行っていると Target Version が多くなりすぎてチケットの操作に不都合が生じてきます。以下のパッチは、チケットの編集時に完了したバージョンを表示しないように変更します。変更…

Redmine: 活動ページにチェンジセットをデフォルト表示しないパッチ

Redmine の活動ページは、プロジェクトの状況を確認するのに便利です。しかし、ソースコードを頻繁にコミットしているような状況 (リファクタリングが活発なときなど) では、他の情報がチェンジセットに埋もれてしまうため見にくくなります。以下のパッチで…

Redmine: ロードマップに当日期限分を表示するパッチ

Redmine のロードマップでは、当日期限分のバージョンが表示されません。この動作が望ましい場合もありますが、プロジェクトによっては当日期限分も表示したい場合があります。ロードマップに当日期限分も表示するように変更するには、 completed? の動作を…

Windows XP 環境に Ruby や Redmine をインストールする最小で正規な手順 (設定編)

実行編からの続きです。今日は、画面からでは分かりにくい設定など、おすすめ設定を少しだけ説明します。また、 Redmine に関する日本語情報源へのリンクを紹介します。 メール メールは、「config」フォルダ内の「email.yml」から設定できます。認証が不要…

Windows XP 環境に Ruby や Redmine をインストールする最小で正規な手順 (実行編)

準備編からの続きです。今日は Redmine の設定と起動を行います。基本は、 DB の設定さえすれば使用できます。 Redmine の設定 (最低限) 展開した Redmine フォルダは、以下のようなツリー構造になっています。 Redmine app config db doc extra files lang …

Windows XP 環境に Ruby や Redmine をインストールする最小で正規な手順 (準備編)

概要 Windows XP 環境に Ruby や Redmine をインストールする方法を紹介します。あまり変な方法にならないようにしていますが、タイトルが嘘ならコメントください。改善します。 (安全よりにするため、最小ではないかもしれない ^^;) 準備編 まずは、まっさ…