.NETで作る!

.NETに関するあれこれ(C#、VB.NET)

Jenkinsに単体テスト(MSTest)をさせる

Backlog(Git)とJenkins(MSBuild)を連携させ、自動ビルドさせる - VB.NETで作る!mk3008net.hatenablog.com これの続きで、Jenkinsに単体テスト(MSTest)をさせます。 Jenkinsの設定-アドイン 「Jenkinsの管理>プラグインの管理>利用可能タブ」からアドイ…

Backlog(Git)とJenkins(MSBuild)を連携させ、自動ビルドさせる

BacklogにあるGitリポジトリとJenkinsを連携させ、CIってのをやってみたいと思います。 環境 Windows 7 64bit Jenkinsのインストール まずはこちらのサイトからJenkinsをダウンロード、インストールしましょう。 Welcome to Jenkins CI! | Jenkins CIjenkins…

DB接続を拡張メソッド&デリゲートで実装する(ver.2015)

DB接続処理(Connection、Transaction)は頻出するので、極力少ないコードで、かつ開閉ミスの内容に実装してみます。*1 Imports System.Runtime.CompilerServices Public Module IDbConnectionExtension <Extension> Public Sub Connect(source As IDbConnection, core </extension>…

WPF で属性を使って値検証を実装する

WPFでは値検証方法が複数用意されていますので、標準機能を理解しつつより良い実装を考えてみます。 標準機能 XAMLにValidationRuleを書く 入力データ検証 その6 カスタムValidationRule - Yuya Yamaki’s blog 入力データ検証 その6 カスタムValidationRul…

Actionデリゲートでアスペクト指向なロギング

「アスペクト指向」って書くと多少語弊がある気がしますが、横断要素を一箇所に記述できるような言語要素って意味合いでとっていただければと。 2015/02/28追記 デリゲートのコードがラッピングしていないかったので全く意味が違うものになっていました。訂…

WPF 配色を外部ファイル化する

「app.configに設定した色をコントロールの背景色に使う」とかそういうイメージ。 アイデア app.configにて色を16進数で指定。 app.configにある色情報をアクセッサクラス(Pallet.vb)を作成。 リソースファイル(xaml)にて、Palletクラスをインスタンス。…

WPF Backspaceキー で画面遷移するのをやめる

WebページではBackspaceキーで画面遷移(戻る)が発生するのは常識と化していますが、WPFのFrameでもこのようになります。 ですが、WindowsアプリでBackspaceキーを押したら画面遷移が起きると認識している人はあまりいないでしょう。 というわけで、無効化…

WPF XButton1ClickとCommandをBindingする

XButtonって? 「XButton1」といってもいまいちピンときませんが、マウスの「戻る」ボタンといえば伝わりますでしょうか。ちなみにマウスの「進む」ボタンは「XButton2」というそうです。 XButton1押したら画面遷移「戻る」が走ってほしい 先ほどFrameを見た…

WPF Frameコントロールの見た目を変える

カスタム ちなみにデフォルトだとこれ。 経緯 WPFのFrameコントロールは画面遷移のコントロールとしてとても便利ですが、ツールバー(NavigationUIVisibility)の領域が非常に無駄。戻るボタンがちっこい。してなぜかこのコントロールだけグローエフェクトが…

Kairyu 0.5.0.2 beta リリース

Kairyu - object relation mapping framework Kairyu - object relation mapping framework - Home 主な変更点 Type.MakeGenericTypeをキャッシュ化するなど、パフォーマンス改善してます。 IDbConnection.ToLoader、IDbTransaction.ToSaver拡張メソッドを用…

WPF+Prism 5.0 でMVVMアプリを作る(ダイアログ)

ダイアログに関しては以前の記事でも取り上げましたが、以下のサイトが参考になるでしょう。 Interactivity Code Sample using the Prism Library 5.0 for WPF in C# for Visual Studio 2013 Interactivity Code Sample using the Prism Library 5.0 for WPF…

VB14の新機能をつらつらと

.NET Compiler Platform &#40;&#34;Roslyn&#34;&#41; .NET Compiler Platform ("Roslyn") - New language features in VB14 VB14(Visual Studio 2015)の新機能の情報が載っていたのでメモ。 The ?. operator ?演算子 Dim x = customer.Address?.Country ' is…

Unity+app.configでIDbConnectionにインスタンスを注入する

前回の続き。こちらがもともとやりたかったこと。 前準備 NuGetから「Unity」をインストールしておいてください。 Main.vb Imports Microsoft.Practices.Unity.Configuration Imports Microsoft.Practices.Unity Imports Microsoft.Practices.ServiceLocatio…

Unity+app.configでHello, wolrd

app.configを使ってIoC(制御の反転)をしてみます。本当はもっと複雑なことをしたいのですが、意外とconfigファイルを作成するのに手間取ったのでまずは簡単な例を作って注意点を探ります。 前準備 NuGetから「Unity」をインストールしておいてください。 M…

WPF+Prism 5.0 でMVVMアプリを作る(前準備)

前段 WPFのMVVMフレームワークといえばPrismとMVVM Light Toolkitがメジャーどころです。 新規に始める場合、「どちらを学べばよいか」という非常に悩ましい問題があります。 しかし初学者が適切に選べるわけもないので、自分のやりたいこと*1、わからないこ…

Git 共通無視ファイルを作る

Git

完全に個人メモ Visual Studio向け無視ファイルの作成 githubにテンプレがあるので入手しましょう。 github/gitignore gitignore/VisualStudio.gitignore at master · github/gitignore · GitHub 入手したら%userprofile%に保存しておきます。 共通無視ファ…

MEnvironment で環境(開発、実行etc)定数を一発切り替えする

重要 Unity+app.configでIDbConnectionをインスタンスする - VB.NETで作る! Unity+app.configでIDbConnectionをインスタンスする - VB.NETで作る! こちらの記事を参考に実装されることをお勧めします。 どうしても読みたいという方は続きへどうぞ

CA1002、CA2227を避けつつシリアル化する

シリアル化処理をするクラスに配列のプロパティがあるのはよくあることですが、 何も考えずにコーディングすると以下の制約にひっかかることが多いと思います。 サンプルのコード Public Property Hoges As New List(Of Hoge) CA1002: ジェネリック リストを…

Kairyu 0.5.0.1 beta リリース

Kairyu - object relation mapping framework Codeplexにソースコード、バイナリあげました。 ドキュメントは全く更新してませんが、Topページ、Downloadページなどにコードサンプルが置いてあるので、そちら参照していただければと。 ソースコードにはユニ…

プライベートなNuGetサーバーを立てて、ソースコードを共有する

背景 小規模アプリを山ほど作る機会があって、「~の処理は~のプロジェクトにあったから~ファイル抜いて持ってこよう。~の処理は・・・以下略」なんてことがあった。今後もたぶんある。 もうちょい具体的にいうと… (ロギング等の)設定ファイル FTP シリ…

VB11.0のAsyncを使って処理遅延を監視する

タイトルにあるとおり、VB11.0(.NET Framework 4.5+Visual Studio 2012)が対象です。 概要 メイン処理が実行中かどうかを監視。想定時間内に終わらない場合は警告処理します。 アイデア メイン処理と並行して監視をする必要があるので、非同期の処理が必…

NLog の archiveNumbering="Rolling" を使う

NLogでログをファイル出力の設定をする際、単純に日付ローテートを使用することが多いのですが、アーカイブという属性がありましたので挙動を調べてみます。 注意 NLogでいうところのアーカイブとは退避のことを指しており、圧縮のことではありません。 NLog…

メモリにやさしい空配列の取得を学ぶ

元ネタはこちら。 C# - 空の配列を取得する方法 - Qiita C#の記事なので、これをVB.NETのコードに変えると空の配列は 'A Dim ary = DirectCast(Enumerable.Empty(Of Integer)(), Integer()) このように書くことでメモリが無駄に使われないとのこと。 ちなみ…

O/Rマッパー Kairyu ver.0.5.0.0

ORマッパー Kairyu 0.5 がほぼ形になったので公開。 Kairyu とは コネクションを隠蔽しないシンプルなO/Rマッパーです。 単調かつ大量に発生するObject Relation変換コーディングを減らすために作られました。 Kairyu - object relation mapping framework v…

ダーティチェックエンジン ver.0.5.0.1

ダーティチェックエンジン ver.0.5 - VB.NETで作る!@hatena 微妙に仕様変更し、Kairyu.DCEngine ver0.5.0.1 となりました。 大きな変更点 オブジェクトプロパティ廃止 オブジェクトプロパティは廃止し、リテラルプロパティに統一。 つまり、オブジェクトで…

ダーティチェックエンジン ver.0.5

フルORMの神髄はダーティチェックだ! - 真VB.NETで作る! これの続き。というか実装したものの紹介。 Kairyu.DCEngine ver.0.5 名前とかバージョンとか KairyuはCodePlexで公開している自作のORM(現在ver0.3)です。 それをベースにダーティチェック部分だ…

WPFデザインOSS Modern UI

WPF

2014/1/10 追記あり Modern UI for WPF Modern UI for WPF 見た目、挙動(ページ遷移可)ともにいい感じです。 MVVMで利用できるかは未確認。まぁ大丈夫でしょう。 Modern UI Icons Modern UI Icons アイコンだけ使いたいならこっちの方がいいかも。XAMLファ…

フルORMの神髄はダーティチェックだ!

ORMの構成要素はなにか? ORMの構成要素は、ざっくりいって Object Relation 変換(Load) Realation Object 変換(Save) の2つです。 このうち「Load」は、列値をプロパティにはめていくだけなので比較的楽です。*1 面倒なのは「Save」。 プロパティを列に…

動的SQL文(2Way-SQL)パーサーを作る!

※信州FMブログから引っ越し検討のため、サンプルとして過去記事移植。 ソースコードはDynamicSQL 2way-SQL parser@CodePlexで公開中。っていうか、そっちのDocumentの方が説明詳しかったりする。 VBでSQL書くと保守しづらいよね 高度な検索条件機能を持たせ…

. .