Roslyn で Expression に含まれる Enum の値が取れなくなったと思ったらバグだった

例えば、以下のコードを VS2013 で動かすと最終的に NumberEnum.One という定数から "1" という値が取れます。 class Hoge { public NumberEnum NumberEnum { get; set; } } enum NumberEnum { Zero, One } static void Main(string[] args) { Expression<Func<Hoge, bool>> e</func<hoge,>…

CodeLens のフォントをいじる

今日同僚から教えてもらって幸せになった小ネタ。 みんな大好き CodeLens ですが、初期設定だと MS ゴシックでしかもフォントサイズがでかいので、こんな感じに結構可読性を損なってしまいます。 良い機能なのに惜しい、なんとかならんのかと思っていたら、…

.NET 4.6 で追加された互換性スイッチ

大分間が空いていますが、前回から引き続きで .NET 4.6 について見ています。 dotnet/dotnet46-changes.md at master · Microsoft/dotnet · GitHub DotNet4.6.md · GitHub .NET Framework 4.6 におけるランタイムの変更点 互換性スイッチ というものが新たに…

.NET 4.6 の async/await の改善が地味に嬉しい

そろそろ仕事先の Framework バージョンを上げたいなと思って .NET 4.6 について今更ちゃんと調べ始めました。 正直多すぎて全部追えてないんですが、 async/await 周りの改善が嬉しかったのでブログに書きます。 ドキュメント dotnet/dotnet46-changes.md a…

Mac に Java JDK を複数バージョンインストールして管理する

もう絶対忘れる気しかしないのでメモ。 homebrew のインストール 万が一インストールしてなければ。 インストール方法は 公式 を参照。 brew-cask のインストール homebrew で Java をインストールするために、brew-cask をインストールします。 Java だけで…

ちょっとだけ本書きました

こないだ下書き書いたまま公開するの忘れてた。。。 縁あって、職場の同僚である id:atsukanrock と .NET/C# 界隈のエキスパートの皆様が書かれた本の中にこっそりと混じってきました。 Amazon.co.jp: C#エンジニア養成読本 (Software Design plus): 岩永 …

VS2015 でパッケージマネージャコンソールを開くと固まる件

最近 Visual Studio 2015 を普段の開発環境に入れてばりばり使っていたのですが、パッケージマネージャコンソールを開くと VS が固まったままになってしまう事象にみまわれました。毎回忘れて開いてしまってモチベーションだだ下がりなので調べてみたところ…

IntelliTest の NUnit Test Generator

昨日紹介した NUnit Test Generator を使ってみました。 ※ Azure の VS2015 RTM の VM が初期言語が英語で、面倒で日本語化してないので文中のメニューとかも英語になってます。適当に置き換えて読んでください。 使い方 1. Extension をインストールする V…

IntelliTest が MSTest 以外にも対応した模様

VS2015 が RTM になって盛り上がっていますね。当日はオンラインイベントもありましたが、私は序盤でニコ動の有料会員に追い出されてしまったのでフテ寝しました。 さて、先日このブログでポストした IntelliTest にも動きがあったようです。 div.uv-card {b…

VS2015 の IntelliTest を調べた 後編

VS2015 の IntelliTest を調べた 前編 - kendik.netkendik.hatenablog.com 前回の続きです。自分でもびっくりするほど尻すぼみで前後編に分けた意味がなかったです。 IntelliTest のテストコードでできること 前回までで見てきたとおり、 IntelliTest のテス…

VS2015 の IntelliTest を調べた 前編

先日勤め先での勉強会で IntelliTest の概要についてさらっと発表したのですが、時間が足りなくて全然調査結果をスライドに反映できなかったのでブログにアウトプットします。 ※VS2015 RC での情報です IntelliTest の概要 はるか昔 Microsoft Research が P…

FluentMigration の基本機能メモ

前回簡単に使ってみた FluentMigration の機能を整理できたのでメモがてら。ほとんど公式ドキュメントの翻訳みたいになっちゃってますが。 そもそも FluentMigrator って何って話は前回のエントリをどぞ。 DB マイグレーションツールの Fluentmigrator がい…

DB マイグレーションツールの Fluentmigrator がいい感じかも

仕事で使える DB マイグレーションツールが欲しくてですね。 C# だと Entity Framework が鉄板なのかもしれないですが、今の仕事では使ってないのでなんか別で考えないといけなくて探してみたところ、 FluentMigrator というライブラリを見つけたので、ちょ…

de:code 2015 day 2 メモと感想

前回 の続きです。 Webオープンソース時代到来 企業アーキテクトは何を考えるべきか オープンソースがどうこうというか、普通にエンタープライズアーキテクトとしてどうすべきか?という話で、今回のイベントで一番勉強になりました。最新技術ばっか使ってち…

de:code 2015 day 1 メモと感想

昨年に引き続いて今年も de:code 行ってきました。メモの整理と感想を捨て置きます。 写真は撮影禁止なのでありません。 Keynote メモとってなかった>< 他の方がアップされてるレポート見ながらざっと思い出すと いつもの MS のビジョン Azure 事例でトヨ…

EnvDTE を使ってデバッグ中にコレクション操作 ~C# 編~

前回の続きです。 EnvDTE を使ってデバッグ中に LINQ っぽいことがしたい - kendik.netkendik.hatenablog.com イミディエイトウインドウでラムダ式が使えないけど何とかしたい!ということで、前回はパッケージマネージャコンソールを使ってデバッグ中の変数…

EnvDTE を使ってデバッグ中に LINQ っぽいことがしたい

※LINQ = LINQ to Object って意味で読んでくださいね! Visual Studio はそれはもう素晴らしい IDE な訳で、特にデバッグに関する機能は日々の開発速度を大きく向上してくれています。 そんな VS が持つデバッグ機能にも色々ありますが、今回はイミディエイ…

今さら Caller Information

というのを知りました。C# 5 で入ったんですね。C# 6 が出ようとしているのに本当に今さらです。なんかすいません。脳に刻んでおくための自分用メモということで書き残しておきます。 参考 万が一「Caller Information って何!?」という人がいたら、以下の…

DebuggerDisplay 属性もいいけど DebuggerTypeProxy 属性もね

前回紹介した DebuggerDisplay 属性ですが、所属的には System.Diagnostic 名前空間 のクラスになります。Debug クラスとか Stopwatch クラスとかそこらへんで割と頻繁にお世話になっててよく見る名前空間ですね。で、 DebuggerDisplay 属性がよかったので他…

覚えておきたい DebuggerDisplay

皆もうとっくに知ってるかもしれませんが、最近 DebuggerDisplay 属性というのを覚えました。 https://msdn.microsoft.com/ja-jp/library/x810d419.aspx こいつがなかなかに良いやつだったので、ちょっと調べた結果をメモっておきます。 目的と基本的な使い…

Windows で Boot2Docker が動かなかったら MacType が悪さしてるかも

ま た で す か MacType と VirtualBox 4.3.24 で謎のエラー - kendik.netkendik.hatenablog.com という訳で連日 MacType の話で恐縮というか、ほんと勘弁してくれという話なんですが、裏側が VirtualBox だからしょうがないね。面倒ですねぇ。 他に困ってる…

MacType と VirtualBox 4.3.24 で謎のエラー

MacType を使っている環境で VirtualBox を使おうとしてハマりました。 普通に VirtualBox をインストールして、仮想マシンを作って起動させると以下のようなエラーが。 仮想マシン"Ubuntu 14.10"のセッションを開けませんでした。 The virtual machine 'Ubu…

C# で使える SQL Builder を集めてみた

O/R マッパーでなくて SQL だけを作ってくれるヘルパーが欲しいなぁと思いまして(具体的には Dapper に食わせる SQL を作りたい)、SQL Builder 的なものを探してみました。O/R マッパーも混じっちゃってますが、結構見つかるもんですね。 詳細はまた後日確認…

KB3033889 の適用でエクスプローラーやタスクバーが固まる件の妥協案

little interesting things - お楽しみの素 3月のWindows Updateでフリーズしまくり。KB3033889を削除 数日前に新しいノート PC を手に入れたのですが、まさにこの症状が出ていまして。 頻繁に起きるんですが再現性があると言えるほど毎回でもなく、原因が分…

ASP.NET 5 で VB 使えなくなるんですか?

Visual Studio 2015 のインストールで一日が終わるのでネタがないです。Azure 仮想マシン使うお金もないです。 Top 10 Changes in ASP.NET 5 and MVC 6 | Stephen Walther 3 No More Visual Basic えっ。 と驚いて見せましたが、いや VB 全く使わないので別…

VS2015 CTP5 はまだ日本語対応してなかった

ちょっと今更な話ですが。。。 ぼちぼち思いついたように Visual Studio 2015 Preview 触ってるんですが、先日 CTP5 の通知が来てたのに気付いたので何も考えず更新したら英語版に戻ってしまいました。 言語設定で日本語も選べなくなって、色々ググってみた…

Conemu で PowerShell コンソールを快適に

普段 git は基本 Source Tree 時々 TortoiseGit と使い分けつつで利用していたのですが、Source Tree がやたら遅くて普段使いにはしんどくなってきました。 そこで CUI 環境、それも PowerShell コンソール上で git を使うことにしたのですが、標準のままだ…

ASP.NET & IIS におけるタイムアウトの設定

先日 Session タイムアウトとフォーム認証のタイムアウトを混同している事案を拝見しまして、まぁ ASP.NET あるあるみたいなもんですが、タイムアウト周りは私もよく忘れて痛い目見てますし、ASP.NET と IIS にどんなタイムアウト設定があって、どう設定する…

.nuspec は間違いの無いように書こう、もしくは MSBuild の詳細出力を確認する

実際にハマった事案。 NuGet パッケージを作成する際には、NuGet.exe に .nuspec というファイルを作成して渡すと、様々な情報をパッケージに埋め込むことができます。(プロジェクトファイルを利用しても一部なら可能) そして、.nuspec にはそのパッケージが…

ローカル IIS のデバッグは管理者権限で

初歩的な話ですが、検索にも出てこなくてちょっと悩んでしまったので備忘として残しておきます。 ちょっと理由あって、ASP.NET Web アプリを IIS Express ではなくローカル IIS でデバッグ実行しようとしたのですが、↓のエラーになってしまいました。 Web サ…

Azure SQL Database Elastic Scale Client Library 使い方簡易まとめ

Connect(); の発表でテンション上がってきましたね。追うべき情報がたくさんあって大変ですが楽しいです。MS かっけーぜ。 ただその前に、やりかけだった Azure SQL Database Elastic Scale Client Library の基本的な使い方を備忘用にまとめておこうと思い…

ASP.NET Identity beta1 が来ました

aspnet/Identity Release 3.0.0-beta1 · aspnet/Identity · GitHub 忙しくてまだ全然中身見れてませんが、とうとうベータが来たようです。 Identity 自体まだこなれていないのかそこそこ大きな修正が結構な頻度でくるので深入りを避けてましたが、さすがにベ…

Code Recipe モニターキャンペーンでカイロがもらえる(かも)

Code Recipe モニターキャンペーン開始 - 高橋 忍のブログ 忍さんのブログで告知されていますが、コードレシピでサンプルを試すと景品をもらえる(可能性がある)ようです。 最近寒くなりましたし、カイロが欲しくて応募してみました。短時間で簡単にできるの…

Azure Elastic Scale の Split-Merge ツールを試してみる - ツール実行編 -

Azure Elastic Scale の Split-Merge ツールを試してみる - 環境構築編 - にて環境を構築したので、今回は実際にツールを動かします。 Split-Merge ツール Web アプリ 前回ちょろっと書きましたが、Split-Merge ツールの本体は Azure Cloud Service の Web …

ASP.NET Identity 2.2.0 (の alpha-1) が出たようです

ここ二週間ほどめっちゃ忙しくて全然ブログ書けてませんでしたが、Elastic Scale の Split-Merge ツールの続編ちゃんと書きます。誰も待ってる人はいないと思いますが。 さて、ご存じの方も多いと思いますが、つい先日タイトルの通り ASP.NET Identity の 2.…

Azure Elastic Scale の Split-Merge ツールを試してみる - 環境構築編 -

今日も元気に水平分散です。 今回は Azure SQL Database Elastic Scale (Preview) の Split-Merge ツールを試してみます。 相変わらず知識関連は置いてけぼりです。触ってたらそのうち頭の中で整理されるでしょ?くらいのひどいノリ。だって、英語、読めない…

Visual Studio 14 CTP 4 がリリースされたらしいですが

MSDN Blogs MSDN Blogs VS 以外に ASP.NET vNext 関連も、ということで見てみましたが、基本的には MVC 周りだけですね。 aspnet 系のリポジトリごとにリリースノートが発行されていますが、大抵 "Updating release NuGet.config" だけです。Identity なんて…

Azure SQL Database Elastic Scale First Impression

先日、Azure SQL Database Elastic Scale の Priveiw 版が発表されました。 簡単に言えば、水平分散した SQL Database を手軽に扱えるサービスで、Azure SQL Database Federation サービスの後継になるそうです。 Azure SQL Database Federation は全然触っ…

log4net で正規表現を使ってログメッセージを置換する

log4net を使っていて、アプリ側ではなく log4net 側でメッセージの一部を置換できたら便利だなーと思いましてちょっと試してみました。 例えばパスワードみたいな機密情報とか、改行やタブとかね。 アプリ側の実装 ログを出力するアプリはこんな感じに適当…

MS 謹製 RedisSessionStateProvider のバージョンが 1.0.0 になってたのでパフォーマンスを計測してみた

ASP.NET のセッションは色々なデータストアに格納できるのですが、MS 公式で Redis に格納できる Microsoft.Web.RedisSessionStateProvider というセッションプロバイダがあります。 で、こいつのバージョンがつい先日ひっそりと 1.0.0 になっていたので*1、…

複数のインタフェースを持つモックを Moq で作る

ユニットテストでモックを簡単に作るためのライブラリの有名どころの一つに Moq があります。 基本的な使い方の例としてはこんな感じです。 public interface IFoo { bool IsFoo(int value); } public class Foo : IFoo { public bool IsFoo(int value) { //…

ASP.NET Identity のユーザー名、パスワードの検証機能を整理する

過去分 その1 - ASP.NET Identity のセキュリティスタンプ機能を使う その2 - ASP.NET Identity で二要素認証を使う - SMS 編 その3 - ASP.NET Identity で二要素認証を使う - E-mail 編 その4 - ASP.NET Identity を使って Microsoft アカウントで認証…

.NET 勉強会で ASP.NET Identity の話をしてきました

少し前の話になってしまうのですが、 【第五回アニバーサリー企画】 gloops×Grani×Sansan .NET勉強会! (2014/08/30 15:00〜) 【第五回アニバーサリー企画】 gloops×Grani×Sansan .NET勉強会! - connpass という自社開催の勉強会で ASP.NET Identity の話を…

Hangfire でジョブ管理

SCOTT HANSELMAN 氏のブログ を見ている方はご存じでしょうが、Hangfire というジョブスケジューラがあります。 GitHub 見てみたら、ロードマップに Deliver the solution to the 90% of ASP.NET developers :smile:. とあってとてもほっこりしました。そう…

非ドメイン環境で RemoteApp を使う

RemoteApp を使うにはドメイン環境でないといけないとどこかで読んだ記憶があるのですが、 非ドメイン環境下での構成方法についての記事を見つけたので構成してみます。 参考 以下の記事を参考にさせていただきました。 Windows Server 2012 リモート デスク…

ASP.NET Identity を使って Microsoft アカウントで認証する

進捗ダメです。 などと一部の方に状況報告しつつ、ASP.NET Identity を使ってみようシリーズその4です。 その1 - ASP.NET Identity のセキュリティスタンプ機能を使う その2 - ASP.NET Identity で二要素認証を使う - SMS 編 その3 - ASP.NET Identity …

ASP.NET Identity で二要素認証を使う - E-mail 編

ASP.NET Identity を使ってみようシリーズその3。 過去のシリーズは以下です。 その1 - ASP.NET Identity のセキュリティスタンプ機能を使う その2 - ASP.NET Identity で二要素認証を使う - SMS 編 今日のお題 今回もみんな大好き二要素認証を実装してみ…

ASP.NET Identity で二要素認証を使う - SMS 編

ASP.NET Identity を使ってみようシリーズその2。その1はこちら 今回はみんな大好き二要素認証を実装してみましょう。 二要素認証って? さすがに知らない人も少なくなってきたかと思いますが、、、 例えば、Microsoft アカウントに ID とパスワードを入力…

ASP.NET Identity のセキュリティスタンプ機能を使う

ASP.NET Identity に IUserSecurityStampStore というインタフェースがあるのですが、これをどうやって使うのか、そもそも何のためにあるのかも分からなかったので調べてみました。 そもそも ASP.NET Identity って何?というのは CodeZine の ASP.NET Ident…

ナレーター機能で泣きを見た話

Windows には画面上のテキストを読み上げてくれる、ナレーター機能というものが存在します。 ナレーターでテキストを読み上げる 主に目の見えない方への機能ということと、言語設定が日本語だと使えないということもあって、おそらくほとんどの人は存在すら…