けさらんぱさらん

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

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じゃなくてもいいけど)のモデルバインドを自動…

Team Explorer EverywhereでWorkSpaceを変更する

TFS

Team Explorer Everywhereを使ってEclipseでTFSを操作していると VisualStudioとメニューなどの位置が違って悩むことがあります。その一つがWorkSpaceの切り替え方法VisualStudioだとソース管理エクスプローラだけど Eclipseだとこんなところに

TFSのODataServiceを使ってみる

TFS

なんかインストールや設定手順がWebで知らべても良く分からなかったのでメモしておくTFSがローカルにインストールされている前提で 別なサーバなどにインストールされていれば読み替えてください。 ここからダウンロードしてexeファイルを実行します。 特に…

JavaScriptのfilterとmap

JavaScriptのArrayオブジェクトにはfilterとmapというメソッドがあります。 ECMAScript5で追加されたみたいなんですけど最近知りました(汗filterは、LINQで言うWhereメソッドです。 こんな感じです。 var array = [1,2,3,4,5,6,7,8,9,10]; array.filter( fu…

ExcelでWindows認証?

ExcelでVSTOを使ってWebAPIにアクセスしてデータを取得したいんだけど Windows認証でエラーになってしまって困りました。HttpClientクラスを使ってAPIにアクセスしていたので 実はExcelだろうとなんだろうとやり方同じなんですが 盛大に調査方法を誤って嵌り…

Jasmineの続き

前回、中途半端に記事をリリースしてしまったのでフォローをば 前回の記事ajaxメソッドが失敗した時のテストが全然テストになっていない上にテストを実行すると Alertダイアログが出てしまうという・・・修正します。 it("getDataでデータの取得に失敗すると…

JasmineでjQueryのajaxメソッドのテストをする

JavaScriptのテストライブラリJasmineでテストを書いていて嵌ったのでメモテストしたいコードはこんな感じ function Details() { this.id = 0; this.name = ""; } Details.prototype.getData = function (url, id) { var self = this; $.ajax({ url: url, ty…

linq.jsとTypeScript

ちょっと調査したいことがあってlinq.jsを使ったんですが 間抜けなことで嵌ったので自戒を込めて書いておきます。正しく動くコード $(function () { $('#button').bind('click', function () { Enumerable.range(1, 30) .select(function (x) { return x.toS…

KnockoutjsでTwitter風の表示をするには?

KnockoutjsでTwitter風の表示を作りたいと試行錯誤してみました。 とりあえずこうゆう風に表示できればOK つぶやきの一覧の中に更に返信の一覧が表示できるようにしたい。 Knockoutjsのバージョンは2.2.0を使います。 サーバ側のソース Model /// <summary> /// つぶ</summary>…

mongoDBでASP.NETのGridViewのソートとページングを試してみる

先日のVSUGとこちらのブログで@onosさんが紹介されている ASP.NETの新しい機能がとっても良さそうだったので mongoDBでもやってみました。 Memberクラスを作成します public class Member { public int Id { get; set; } public string Name { get; set; } p…

mongoDBもLINQで行こう!

この記事は、C# Advent Calender 2012 の13日目の記事です。 前日の記事は、@masakさんのC# 5.0 で変わった事 - foreach の破壊的変更です。自分はあまり深いことは書けませんので最近ちょっと触り始めたmongoDBを操作する方法を紹介したいと思います。 始め…

はてなBlogを始めてみます

さてちょっと作ってみました。 ダイアリーと何が違うの???って感じの まったく持って分けからん感じの人ですが 良さそうだったら移行していきます。

TypeScriptでjQueryプラグイン

TypeScriptで書いていて疑問に思うことがあるんすよね〜 jQueryのプラグインをTypeScriptで扱い方が分からない! $('#modal').modal(); ってやるとコンパイル通らないんですよね (当たり前ですけど) tsファイルがあれば /// <reference path="hoge.ts"/> これで良いんですけどね 自分</reference>…

jQueryのTypeScript

[メモ] ここからダウンロードできる。使用するには /// <reference path="jquery.d.ts" /> と書く</reference>

LINQでファイルの差分を抽出する

LINQでファイルの差分を抽出したいと思います。file01とfile02があります。 こんな感じfile01 00000001,a,b,c,d,e,f,g 00000002,a,b,c,d,e,f,g 00000003,a,b,c,d,e,f,g 00000004,a,b,c,d,e,f,g 00000005,a,b,c,d,e,f,g 00000006,a,b,c,d,e,f,g 00000007,a,b,…

Oracle11gXEの文字コードをShift-Jisに変更する

Oracleの無償版ExpressEditionの最新版をインストールしたんですが ExpressEditionを普通にインストールしただけだと文字コードがUTF-8なんですよね でも業務上Shift-Jisである必要があるので変更します。基本的にはこちらの10gの方法と同じなんですが 初期…

Dapper.Netで1対多のマッピングができるのか

前回の記事で1対多のマッピングができなかったのでリベンジ。 結果は、リベンジ失敗です。 Dapperだけの機能だと出来なそうな感じです。 一応、自前でマッピングしてみたのでそれだけ書いておきます。 まず自前でマッピングするのでQueryメソッドは型指定で…

Dapper.Netの続きの続き

まさかの3連投という奇跡です。 正直、連投しないとすぐにやる気なくなっちゃうので がんばってみました。前回は、1対1の関係のテーブルをJoinしてマップしましたが 今回は、1対多の関係のテーブルがマップできるかを試してみます。 IDbConnection db = new …

Dapper.Netの続き

http://d.hatena.ne.jp/cer1974/20120205/1328450442:Title=前回のDapperの続き今日は、Joinして2つのオブジェクトにマップしてみます。 前回のMemberとJoinするOrderというクラスを作成します。 public class Order { public long OrderID { get; set; } pu…

Dapper.Netを使ってみる

自分は.NETのORMは、EntityFrameworkかS2Cao.Netを使っていたのですが もうちょっと小軽く使えるものはないかと探していまして Dapperを少し使ってみたので備忘的に残します。 Dapperは、C#(.Net)で使えるマイクロORMってやつです。 マイクロなだけにシンプ…

CentOS6にMonoをインストールしてみる

ちょっと壊れ気味なPCにCentOSをインストールしてみました。 無計画にインストールだけしちゃったんだけど やっぱMonoくらい入れとこうと思ってインストールを試みたんですが 結構、嵌ったので備忘録として残しておきます。 ちなみに私はLinuxの知識は、さっ…