けさらんぱさらん

方向性は定めず、ただ思いつくままに

VS CodeでGoのコード補完ができるようになりました

こんな感じです。シグネチャも確認できます。 これで捗りますね!

とりあえずASP.NET5 beta7をUbuntuで動かしてみる

UbuntuでASP.NET5 beta7が動いたのでメモ参考にしたサイト Ubuntu Desktop で ASP.NET 5 Beta7 を CoreCLR で動かす - きよくらの備忘録 Installing ASP.NET 5 On Linux — ASP.NET 0.0.1 documentation環境は、Azure上のUbuntu Server 15.04 素の状態から始…

Moqでprotectedメソッドをモックする

Moq

通常は、テストしたいクラスが利用しているクラスのpublicメソッドをモックしますが たまに自クラスのprotectedメソッドをモックしたい時があります。 (そりゃ設計が悪いって話もあるでしょうが、ここでは置いておきましょう) こんなクラスがあります。 pu…

Knockout.jsの初期値をDOMから取得する

Knockout.jsを使うときにたまに困るのがDOMの値を初期値にしたい時です。 なんか地道にJQueryでデータを取得してプロパティに代入してたのですが ちょっと調べてみたらカスタマイズしてDOMからデータを取得することができました。 いろいろやり方はあるので…

ChainingAssertionでテストをエレガントに

C#

いつもの通りひさしぶりのブログです。 以前から使っている@neuecc先生作のChainingAssertionについて書きます。 基本的な使い方は、こんな感じ var actual = Add(5,3); actual.Is(8); MSTestだと Assert.AreEqual(8, actual); う~ん MSTestがイケてないと…

AutoMapperでUpperCamelCaseとPascalCaseをMapする

C#

今年、初ブログだったりします。(気力がね・・・)さてタイトルの通りAutoMapperでUpperCamelCaseとPascalCaseをMapしたい。 C#でUpperCamelCaseを使うことはほぼ無いのですが DBがOracleだったりしてORMもシンプルなものだったりすると UpperCamelCaseで定…

TFS2013にPullRequestがきました

TFS

ひさしぶりのブログになってしまいました。TFS2013 Update4でPullRequest機能が実装されました。 もしかしたらアクセスレベルがPremium以上とかになるんじゃないかと思ったんですけど 大丈夫でした。こんな感じでプル要求のタブができてます。 で、プル要求 …

AutoMapperではまった件

C#

また間が空いてしまった。 継続できないマンです。ちょっとAutoMapperではまったことをメモっておきます。 AutoMapperは、簡単な設定で異なるクラスのオブジェクトをマップしてくれる便利なライブラリです。こんな感じ Mapper.CreateMap<Custormer, CustomerDTO>(); var dto = Mapper</custormer,>…

CI環境でNuGetサーバにつながらない件

TFS

これは条件が限定されるんですけど ソリューションの設定で「NuGetパッケージの復元の有効化」をしていて且 デフォルトのNuGetサーバ以外にサーバがある場合のCIをするときの話です。基本的にCIサーバ上ではMSBuildでビルドするのでVisualStudioの設定とか関…

ASP.NET WebAPIで差分更新する

なんか久しぶりになってしまった(反省ASP.NET WebAPIで差分更新(?)をする方法です。 ここで言う差分更新は、クライアントから送られてきた項目だけを 更新するという意味の差分更新です。普通にモデルバインドするとnullだったりデフォルト値がクライアント…

VisualStudioでファイルをリンクする方法

いつもやり方忘れちゃうのでメモっておくたまにプロジェクト間で同一のConfigファイルとか持ちたいことがあります。 単純にコピーするとメンテが大変なのでエイリアス的なものを作りたいです。 VisualStudioではリンクとして追加という機能でこれを実現でき…

Moqでメソッドが呼ばれていないことを確認する方法

たまーに分岐処理の判定でこのメソッドが呼ばれてなければ OKにしたいってことがあります。 Moqでそれを判定するにはどうするんだっけって悩んだんですが簡単でした。 // メソッドのモック mock.Setup(x => x.FindBy()); ・・・ // 呼ばれていないことを確認…

TFSの作業項目に色がつかない件

TFS

TFS2013から作業項目に色がつくようになりました。 こんな感じ ※画像は、VisualStudioOnlineのものですがまあ同じってことで。しかしTFS2012からUpdateした場合、元から存在したプロジェクトの作業項目には色がつきません。 これをコンフィグファイルを変更…

OracleClientをインストールせずにC#からOracleへ接続する方法

C#

メモメモOracleDBへ接続する際にOracleClientをインストールして tnsnames.oraに接続設定を書きアプリケーションからはtnsnameを指定する方法がありますが これはnugetで取得した「Oracle Data Provider for.NET」だけで接続する方法です。 var connStr = "u…

WindowsでMongoDBのレプリケーション設定をする

ぶっちゃけ誰得なんですが、まあ開発環境がWindowsで そのPC上でレプリケーションしたいこともあるだろうってことで書いておきます。 今回は最低限必要な3台構成で作成します。まずデータ用のフォルダを作っておきます。 次にコンフィグファイルを3つ作成し…

TFSのGitリポジトリを複数持つ方法

TFS

TFSのプロジェクトに対して複数のGitリポジトリを持ちたいケースがあります。 できないのかと思ったけど簡単にできました。設定画面の「Version Control」から「New Repository...」を選択します。 これでGitリポジトリが追加できます。 画面はVisualStudio.…

MongoDBをWindowsのサービスとして登録する

ちょっとメモMongoDBをWindowsのサービスとして登録する 且、サービス名を任意でつける方法 "C:\MongoDB\bin\mongod.exe" --install --config C:\MongoDB\mongod.conf --serviceName MongoDB1 --serviceDisplayName MongoDB1

JavaScriptで一定時間で処理を繰り返す方法

JavaScriptで一定時間で処理を繰り返す方法は setIntervalかsetTimeoutを使うのですが ググるとほとんど setInterval("func()", 1000); こんな感じで呼び出してほしい関数を文字列で渡しているサンプルにぶち当たります。でもsetInterval関数もsetTimeout関…

今日のメモ

C#

なんかすぐ忘れちゃうのでメモHttpClientを使ってWindows認証をする なんか前にもやったのに忘れてるし・・・ HttpClientHandler handler = new HttpClientHandler(); handler.UseDefaultCredentials = true; var client = new HttpClient(handler); Windows…

ASP.NET Web APIでJSONをLowerCamelCaseで返す方法

この記事は、One ASP.NET Advent Calendar 2013の13日目の記事です。 前日は、xin9leさんのDynamicSignalRでした。 以前にASP.NET MVCでJSONのプロパティをLowerCaseで返す方法なんてのを書いたのですが WebAPIだと簡単だって書いてその後なんにも触れてなか…

Knockout.jsのwithを使っていなかったことを後悔している件

Knockout.jsにはwithという制御文があるのですが 今まで使うことは無かったです。 でも絶対使った方が良かったと後悔中例えばこんな構造のデータあります。 var juchu = { juchuNumber: "0001", juchuDate: "2013/11/11", member: { name: "山田太郎", tel: …

Knockout.jsの小ネタ

Knockout.jsでは通常、値をバインドしたい時は <div data-bind="hoge"> このようにプロパティ名を指定します。 Knockout.jsには、とある条件の時にCSSクラスをバインドする機能があります。 例えばこんな感じに書きます。 <div data-bind="css: { css-no-class: foo() }"> このfooは、bool値を持つobservableだとします。 foo = ko</div></div>…

Chutzpahを使ったTypeScriptのテストで困ったこと

VisualStudioでJavaScriptの単体テストもやってくれるようにする機能拡張のChutzpahですが TypeScriptを使ったプロジェクトだといくつか困った問題が発生します。こんなテストが有ったとします。 JavaScriptではなくTypeScriptで書いてます。 (この例だと分…

TFSのwiqlではまったこと

TFS

TFSの作業項目をプロジェクト横断的に取得したくて ここ見て作ってたら見事の嵌められたのでメモっておきます。例に倣ってこんな感じで作ります。 var tpc = new TfsTeamProjectCollection( new Uri("http://localhost:8080/tfs/DefaultCollection")); var w…

ASP.NET MVCでJSONのプロパティをLowerCaseで返す方法

ASP.NET MVCでアプリケーションを作成しているときに ちょっと困るのがAJAXでオブジェクトを取得したときに プロパティがUpperCaseで返ってくることです。JavaScriptではLowerCaseで扱いたい>< 今まではしょうがないって思ってたんですけどちょうどJavaScr…

jQuery.ajaxで配列を送信するのに嵌った

jQueryのajaxメソッドを使って配列をサーバに送信するのに嵌ったのでメモサーバサイドは、ASP.NET MVCです。まずサーバサイドのコード [HttpPost] public ActionResult Post(string[] values) { return View(); } 引数で文字列の配列を取ります。 予定では、…

mongoDBにバイナリデータを登録する

ひさしぶりにmongoDBネタでmongoDBに画像データを登録したかったのですが C#から実行する方法があまり情報が無かったのでメモっておきます。まあ流れ的にはSQLServerとか他のDBと同じみたいですね。 (自分はバイナリデータをDBに登録するとか経験ないんです…

TFSビルドプロセスの小ネタ

TFS

TFSでビルドプロセスを作成していると引数や変数の値が知りたい時があります。 でも通常の設定だと確認することができません。 じゃーどうするかっていうと ビルド定義の編集から「プロセス」を選択して 「ログの詳細度」を「Diagnostic」に変更します。 す…

TFSのビルドプロセスに引数を追加する

TFS

TFSのビルドプロセステンプレートに引数を追加するメモここにパラメータを追加したい! ビルドプロセステンプレートを開いて引数をクリックして 表示された引数一覧に1行追加します。 ビルドプロセステンプレートをチェックインしてから ビルド設定を最新の…

Nancy試してみた

ASP.NETのNancyというフレームワークがあるとのことでちょっと試してみました。 こちらを見ていただければ概要は分かるかなっと思うので ちょっと嵌ったところをば嵌ったのはASP.NET MVCと同様にPost時(まあPostじゃなくてもいいけど)のモデルバインドを自動…