掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

Top Index

2014年04月13日
MConfigをNuGetで公開しました
mconfig

MConfig NuGet

https://www.nuget.org/packages/MConfig/

作業方法については前回の記事を参照してもらうとして、
注意点や感想などを書いておきます。

・NuGetにアップロードされたファイルは取り消すことはできない
アップロードした後に間違いに気づいても取り消すことができません。
(バージョンをインクリメントして改定するしかない)
ですので、こちらのサイトを参考にし、
ローカルでテストすることを強くお勧めします。

・ローカルでテストするときの注意点
NuGetからインストールするとpackagesにキャッシュが残るので、再テストするときはこれを削除すること。

・インストール時何か処理を行いたい場合
/toolsに「Install.ps1」ファイルを配置して、そこに処理を記述する。
サンプルは以下参照。
(キャッシュを削除し忘れたり、定数値を探りながらやったので結構時がかかった。)
出力ディレクトリにコピー 'Copy To Output Directory'
1:常にコピーする     Always
2:新しい場合はコピーする Copy if newer
3:コピーしない      Never
ビルドアクション     'Build Action' to 'Content'
0:なし          None
1:コンパイル       Compile
2:コンテンツ       Content
3:埋め込まれたリソース  Embedded Resource
ビルドアクションはもっと種類がありますが、
有名どころさえ押さえとけばよいでしょう。

・.NET Frameworkのバージョンごとにバイナリファイルを用意するのが結構面倒
スクリプトなりマクロか何か作ったほうがいいかもしれない。
ちなみにわたしのVS2010Proではなぜかマクロが動作しなかった(壊れてる?)ので手作業。

・配布は面倒だが再利用性は抜群
DLLの参照設定などは大した手間ではないですが、
自動化で組み込まれるのはとても気持ちがいい。
ファイルサーバーで動作させることもできるので、
一般公開を前提としない社内フレームワークの配布にも使えそうです。

・依存関係も自動で補完
MConfigに依存関係はないので設定の仕方は確認していませんが、これも便利な機能です。
どこかで使ってみたいですね。
※ORMのKairyuは「MConfig」に依存させる予定。
[ 投稿者:mk3008 at 19:52 | フリーウェア | コメント(0) | トラックバック(0) ]

2014年04月12日
MConfig ver1.0 リリース
VS2010+.NET4
https://mconfig.codeplex.com/
Codeplexに「MConfig」プロジェクトを作って、ソースを公開しましたのでご紹介。

はじめに

システムで用いる定数は「開発(for develop)」、「本番(for release)」などの実行環境に合わせて、変更することが多くあります。
これは「ソースコードをコメントアウトする」などのような力技で実現は可能ですが、保守面では
・切り替えるべき定数が把握しづらい
・定数が複数ある場合、切り替え漏れが起きやすい
などの問題があり、要らぬトラブルを招くことになります。
これを解決するために「MConfig」を開発しました。

仕様

・環境(開発、本番など)を定義し、環境別に定数を定義できます。
・実行時に、どの環境を使用するかを定義できます。
・環境を動的に変えることはできません。
・定数名や個数に制限はありません。

app.config設定例



なんとなくわかると思いますが、
develop用の定数群と、release用の定数群がそれぞれ定義され、
execution要素で使用する環境を明示しています。

環境の切り替えでコードの変更が必要なのは変わりありませんが、
グループ化されているので1行(というか1単語)書き換えるだけで済みます。

使い方

参照設定などはソースコードに含まれるサンプルを見ていただくとして、
要点だけ記載ます。

これだけ。
戻り値はアプリケーションファイルの設定次第です。


続きを読む ...
 
[ 投稿者:mk3008 at 17:06 | フリーウェア | コメント(0) | トラックバック(1) ]

2010年07月19日
ダーティチェックフレームワーク 公開
ダーティチェックを行うことができるフレームワーク TemporaryStrage を作成しましたので、公開します。



・使用言語 VB2010(.NET4)

・開発環境 Visual Studio 2010 Professional

・利用方法
ダーティチェックを行うインスタンスを予めStrageインスタンスにRegistしおきます。
その後、StrageクラスのIsDtiryメソッド(戻り値Boolean)にて、変更(追加or更新or削除)がされているかどうかをチェックできます。
変更をされている箇所を詳細に知りたい場合は、StrageクラスのCreateDirtyDefinitionメソッドを使用して、ダーティ定義クラスを生成してください。

・ダーティチェックが管理対象型
管理対象はObject型のみです。

・ダーティチェックの判断対象型
値型とString 型のプロパティ、またはDataColumnクラスです。

・Objectコンテナのダーティチェックについて
IListインターフェイス実装クラス、DataTableクラスの場合、Objectのコンテナとして、ダーティチェック管理対象にすることは可能です。
コンテナ内にあるアイテムをダーティチェックすることは可能ですが、コンテナ自身をダーティチェックすることはできません。
また、コンテナが追加されたかどうかを検知することもできません。
StrageインスタンスにRegistしていないインスタンスをダーティチェックすると、管理対象となっていないため、新規ダーティであると判別されます。
しかし、StrageインスタンスにRegistしていないList型のインスタンスをダーティチェックすると、エラーになります。これは、List型自身をダーティチェック対象としていないためです。
上述のようなことがやりたい場合は、StrageインスタンスにList型のインスタンスをRegistしておき、そのList型のインスタンスに新規のアイテムを追加して、List型のインスタンスをダーティチェックにかけてください。新規アイテムが新規ダーティであると判断されます。
このあたりはソースコードに添付してある単体テストコードを参照されることをお勧めします。


以下、余談

続きを読む ...
 
[ 投稿者:mk3008 at 15:55 | フリーウェア | コメント(2) | トラックバック(0) ]

2010年04月18日
データベースの接続先を柔軟に切り替える
[VB][dbcon]
データベースアプリケーションを作成する場合、
デバッグ環境とリリース環境が違うことがよくあります。

というわけで、アプリケーション構成ファイルを使って、
データベース接続先を簡単、柔軟に切り替えるフレームワーク「dbcon」を作成いたしました。

参考サイト
・.NET Developer Empire
アプリケーション構成ファイル(App.config)にカスタム構成セクションを追加する
http://blogs.wankuma.com/tatsumihr/articles/79793.aspx
・MSDN
方法 : ConfigurationSection を使用してカスタム構成セクションを作成する
http://msdn2.microsoft.com/ja-jp/library/2tw134k3(vs.80).aspx

アプリケーション構成ファイル記述例はこんな感じ。
01<?xml version="1.0" encoding="utf-8" ?>
02<configuration>
03
04  <configSections>
05    <section name="dbcon"
06             type="mk3008.dbcon.Model.DbconSectionHandler, dbcon"/>
07  </configSections>
08
09  <!--環境リストと実行環境-->
10  <dbcon running-on="debug">
11
12    <!--開発環境-->
13    <environments>
14      <environment name="debug">
15        <connectors>
16          <connector name="a-system">
17            <assembly path="dbcon.PlugIn.SqlCe.dll" type="mk3008.dbcon.PlugIn.SqlCe.SqlCeConnector"/>
18            <parameter cn-string="Data Source=data/SystemAdebugDB.sdf"/>
19          </connector>
20          <connector name="b-system">
21            <assembly path="dbcon.PlugIn.SqlCe.dll" type="mk3008.dbcon.PlugIn.SqlCe.SqlCeConnector"/>
22            <parameter cn-string="Data Source=data/SystemBdebugDB.sdf"/>
23          </connector>
24        </connectors>
25      </environment>
26
27      <!--リリース環境-->
28      <environment name="release">
29        <connectors>
30          <connector name="a-system">
31            <assembly path="dbcon.dll" type="mk3008.dbcon.DataAccess.SqlConnector"/>
32            <parameter cn-string="Data Source=data/SystemAreleaseDB.sdf"/>
33          </connector>
34          <connector name="b-system">
35            <assembly path="dbcon.dll" type="mk3008.dbcon.DataAccess.SqlConnector"/>
36            <parameter cn-string="Data Source=data/SystemBreleaseDB.sdf"/>
37          </connector>
38        </connectors>
39      </environment>
40    </environments>
41
42  </dbcon>
43
44</configuration>

dbcon要素のrunning-on属性を変更することで、切り替えが出来ます。

続きを読む ...
 
[ 投稿者:mk3008 at 20:56 | フリーウェア | コメント(0) | トラックバック(1) ]

2008年08月02日
AttributeORM ver0.4.0 リリース
O/Rマッピングフレームワークをver0.4.0に更新しました。

が、別段大きな変更点はありません。
どっちかというとGenerator(ソースコード自動生成ツール)が大きく更新されています。

( 自動生成するユーザーコントロールのまとまりがでかすぎたので、
( 利用しやすいよう細かくしました。

興味がある方は左のメニューから「AttributeORM」をクリックして、ダウンロードサイトへどうぞ。

今後の展開・・・
  Objectを閲覧するためのビューアー。
  VisualStudioアドイン化。
  GeneratorのModel構造の見直し。
  テーブル定義書のXML化。
とか考えてます。


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/
[ 投稿者:mk3008 at 17:24 | フリーウェア | コメント(0) | トラックバック(0) ]

2008年07月06日
AttributeORM ver0.3.0 リリース
プラットフォームを VB.NET+WindowsForm に限定しつつあるO/Rマッピングフレームワーク AttributeORM がバージョンアップ致しました。

主な機能としては、
・ログ処理を外部フレームワークに委託。
・シルアル/逆シリアル機能をフレームワーク上で処理。
です。

O/Rマッピング自体はver0.2.0で行き着くとこまでいったかな・・・。

ついでにGeneratorツールもver0.4.0に更新。

検索結果を手軽にキャッシュすることが可能になりました。
(デフォルトはキャッシュ機能をオフにしてます。)
マスタ系のモデルにキャッシュ機能を有効にすれば、処理の高速化が期待できます。

以下、今後の予定。

・Generatorが自動生成するユーザーコントロールのインタフェイスが統一されていない(ある程度統一されてはいるが、Interfaceとして公開されていない)ので、そのあたりを見直そうと思っています。

いまのところこれぐらいです。


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/
[ 投稿者:mk3008 at 17:41 | フリーウェア | コメント(0) | トラックバック(0) ]

2008年05月11日
AttributeORM ドキュメント整備ほぼ終了
AttributeORM(O/Rマッピングツール)のwikiを更新しました。

プログラムの更新ではなく、ドキュメントのみの更新になります。

左側にメニューを作りましたので、前から比べると見やすくなったのではないかしら・・・

以下、なぜ今回はドキュメントのみの更新なのかをつらつらと・・・


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/

続きを読む ...
 
[ 投稿者:mk3008 at 22:35 | フリーウェア | コメント(1) | トラックバック(0) ]

2008年04月06日
O/Rマッピングツール ver0.1.0 公開
AttributeORM の ver0.1.0 を公開しました。

VBプロジェクトファイルの更新機能という小さいながらも意外と重要な機能や、
テーブル作成・更新機能などの大型の機能を追加し、
実用レベルに達した感がでてきたので、マイナーバージョンをインクリメントしてみました。
(メジャーバージョンはまだ0ですけど・・・)

ver0.1.0以前をお使いの方(いるのか?)がいましたら、ぜひバージョンアップしてください。


AttirubteORM wikiサイト
http://dotnet.sakura.ne.jp/orm/wiki/

AttributeORM 改定履歴
http://dotnet.sakura.ne.jp/orm/wiki/index.php?AttributeORM

Generator 改定履歴
http://dotnet.sakura.ne.jp/orm/wiki/index.php?Generator

以下、雑記。


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/

続きを読む ...
 
[ 投稿者:mk3008 at 20:30 | フリーウェア | コメント(0) | トラックバック(0) ]

2008年03月09日
ソースコードジェネレータ機能アップ
まったく浸透していないO/Rマッピングツール
AttributeORM用のソースコードジェネレータをバージョンアップし、ver0.0.3としました。

デバッグ用のメニューや、主キー生成ロジックを標準装備させたので、
テーブル定義書さえあれば、マスターメンテナンス画面を高速作成できます。

データベースのテーブル作成機能を実装していないのは残念ですが、機能的に区切りがいいので、
プログラム開発はいったん一休みして、
しばらくはドキュメントの作成に専念しようかと思います。


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/
[ 投稿者:mk3008 at 21:07 | フリーウェア | コメント(0) | トラックバック(0) ]

2008年03月02日
O/Rマッピングツール用のツールを公開
http://dotnet.sakura.ne.jp/orm/wiki/にて、
O/Rマッピングツール用のソースコードジェネレータツールを公開しました。

テーブル定義書(フォーマット指定あり)があれば、
モデル、ビュー(フォーム)、VBのプロジェクトファイルまで生成してくれる、なかなかのツールです。

是非使ってくださいといいたいところですが、使い方の説明ページはまだ作りかけです^^;
作りかけのページ。

まだ実装したい機能もあるけど、現バージョンの説明ページも作らないといけないし、
一通りできるのはやっぱり3月末かな。


※2013/2/4追記
現在AttributeORMの公開は終了いたしました。ごめんなさい。
代わりにKiaryuというO/RMを公開しておりますので、よろしければこちらを見てください。
http://kairyu.codeplex.com/
[ 投稿者:mk3008 at 22:24 | フリーウェア | コメント(0) | トラックバック(1) ]