いろいろ備忘録日記

主に .NET と Python絡みのメモを公開しています。

C#

ResharperのValue Originが超便利 (Resharper, Inspect, Value Origin, 値の遷移を追跡)

概要 以下のtwitterで知りました。Resharper結構長いこと使ってるくせにしらなかった・・・orz 使ってみると、確かに超便利!今まで、「この変数の値はどこで設定されてて、元ネタはどこから来てる?」って頑張って探してたのが、クリック一発になります。 …

JetBrainsのIDEでコード補完を大文字小文字無視にする (Case-insensitive code completion)

概要 いつも忘れるのでメモメモ。 多分、どのIDEでも同じ設定だと思います。(IDEAとPyCharmとRiderでは確認) Visual Studioとかに慣れていると、どうしても大文字小文字区別なしに補完が出てきて欲しいので。 やり方 設定画面の「Editor」→「General」→「C…

Rider EAP 22 リリース (マルチスタートアップでのデバッグが可能に, Debugging for compound run/debug configurations)

概要 blog.jetbrains.com 以前から、複数プロジェクトの実行は出来ていたんですが、VisualStudioみたいに、複数のプロジェクトにまたがってデバッグが出来なかったのがちょっと残念だったのですが、ついに出来るようになりました!まってたよー。 Xamarin iO…

Pythonメモ-09 (pythonnet, Python for .NET, python と .NET を繋ぐライブラリ)

まだ、あんまり覚えてないですが、とりあえずメモメモ。 概要 pythonnetは、python と .NET を繋ぐライブラリ。 Python for .NET 似たようなライブラリとして IronPython がありますが、IronPython は .NET Framework や Monoで実装されたPython処理系。なの…

Pythonメモ-08 (Python loop optimization, ループ最適化, 時間計算量, Time-Complexity)

今回、あんまり python 関係ない話題ですが、面白かったのでメモメモ。 どの言語にも言える話です。 概要 stackoverflow の Python カテゴリ見てたら、以下の内容を発見。 stackoverflow.com トピックの投稿者さんは、処理をPythonで書いてるけどめっちゃ時…

.NET クラスライブラリ探訪-070 (System.Diagnostics.DebuggerDisplayAttribute, デバッグ時のオブジェクト表示方法を制御)

久しぶりの小ネタ。 DebuggerDisplay属性とは この属性を付与すると、デバッグ時のオブジェクトの表示内容が制御できます。 意外と知られていないのか、いちいち付与するのが面倒なのか分かりませんが 個人的にはあまりお目にかかったことはなかったり。デー…

JetBrains Rider 2017.1 EAP でTFSインテグレーションがなくなってる?

アップデートしたらTFSのメニューがない 以前のバージョンには、デフォルトでTFSのインテグレーション機能があったと思うのですが 2017.1 EAPにしたら、デフォルトで入ってない状態になってました。 しばらく気づかなくて、「アレープロジェクトガアップデートデキナイヨ」…

インストールされている .NET Framework の更新プログラムを調べる

元々は、MSDNの以下のページにあったもの。 方法 : インストールされている .NET Framework の更新プログラムを確認する いつ、このページが消えるか分からないので、自分のところでもメモメモ。 インストールされている .NET Framework のパッチを調べる (C…

Visual Studio for mac と .Net Core 1.1 と Visual Studio 2017 RC アナウンス

来ましたねー。テンション上がりました。 とりあえず、情報源をメモメモ。以下順不同です。 blogs.msdn.microsoft.com www.visualstudio.com blogs.msdn.microsoft.com blogs.msdn.microsoft.com www.publickey1.jp blogs.msdn.microsoft.com blogs.msdn.mic…

VisualStudio "15" Preview2にてXAMLのEdit Continueが可能に

先日VisualStudio "15" Preview 2がリリースされました。 以下からダウンロード可能です。 Visual Studio "15" Preview ダウンロード リリースノートは以下です。 Visual Studio "15" Preview 2 | Visual Studio その中で、WPF関連で嬉しい話題がありまして …

ResharperのContinuous Testing機能がすごく便利 (Resharper, dotCover, Continuous Testing)

最近のResharperに搭載されたContinuous Testingという機能が便利すぎて歓喜だったのでメモメモ。 Continuous Testingについては、JetBrainsのブログにて以下の記事があります。 Continuous Testing in dotCover and ReSharper Ultimate - .NET Tools Blog.N…

DevExpress奮闘記-129 (v15.2でダイアグラムコントロールが追加される (Diagram Control, WinForms, WPF, Visio inspired Diagram Control))

個人的に久しぶりのビッグニュースだったのでメモメモ。 v15.2で、ダイアグラムを操作できるコントロールが登場予定とのこと。 WinForms and WPF Diagram Control (Coming soon in v15.2) - Thinking Out Loud 上記ブログ記事を見ると、見た目Visioなアプリ…

WPFでネストしたスタイルを定義する (Nested Styles, Style.Resources, 入れ子にしたスタイル)

忘れないうちにメモメモ。 何故か、日本語の情報がなかったので備忘録のつもりでここに記述します。 WPFやってて、スタイルをいろいろ定義するのですが、ネストしたスタイルを定義することも出来ます。例えば、特定のコンテナの下のボタン達は通常のスタイル…

LINQPad 5 がリリース

LINQPad 5 がリリースされてましたね。C#6とVB14にフル対応したとのこと。ついでにアイコンが少し変わっています。 https://www.linqpad.net/Download.aspx 上記、ダウンロードページにて新機能が記述されていますが (上記ページより引用 2015/08/28時点) Bu…

複数のCPUグループがある場合に全CPUグループに対してマネージスレッドを分散する (Thread_UseAllCpuGroup,GCCpuGroup,gcServer, NUMA)

忘れない内にメモメモ。 サーバーなどで複数のCPUグループを持つコンピュータがあった場合、CLRはデフォルトで最初のCPUグループしか使ってくれません。 なので、例えばCPUグループが2つあり、それぞれ20コアずつ存在する場合、普通にタスクで処理すると40コ…

ドラッグ可能なPopup (Draggable Popup)

忘れないうちにメモメモ。 WPFのPopupは、手軽にポップアップ状態を実現できるので便利なのですが 基本このポップアップはWindowのようにマウスで位置を動かすことができません。 たまーにですが、動かしたいときがあります。 で、ネットで調べていると結構…

Xamarin Guideシリーズ(c-sharpcorner.comの連載)

まだ、全然読んでないのですが、最近立て続けに記事がアップされていたので、忘れないうちにメモメモ。後で読む。 Xamarin Guide 1: Create a Xamarin Forms Project Xamarin Guide 2: Create the Model and the Data Source Xamarin Guide 3: Create the Se…

アセンブリのバージョンからビルド日時を求める (Assembly, System.Version, Build, Revision, 自動インクリメント)

最近知ったことなんですが、忘れないうちにメモメモ。 VisualStudioでプロジェクトを作ると、Propertiesというツリーノードの下にAssemblyInfo.csというファイルが追加されます。このファイルの中には、アセンブリに関する設定が記述されているのですがこの…

EPPlusの基本的な使い方メモ (xlsx形式, Excelのインストール必要ない, COM使わない)

知り合いから、EPPlusというとても便利なライブラリを教えてもらったので忘れないうちにメモメモ。Excelを扱うライブラリなんですが、これがとても便利です。公式ページは以下になります。 EPPlus-Create advanced Excel spreadsheets on the serverepplus.c…

int.ParseとConvert.ToInt32の僅かな違い

.NETやり始めた人に int.ParseとConvert.ToInt32って何が違うの? という質問をたまに受けるので、忘れない内にメモメモ。 どっちを使えばいいのか分からないことが多いみたい。 私個人は、ほとんどの場合で、TryParse使うのであんまり気になったことがない…

UNITY 3D – Game Programming シリーズ (CodeProject)

CodeProjectに Unity のシリーズがあったので忘れないうちにメモメモ。 後で読む。 UNITY 3D - Game Programming Introduction - CodeProject UNITY 3D – Game Programming – Part 2 - CodeProject UNITY 3D – Game Programming – Part 3 - CodeProject UNIT…

SimpleInjectorの基本的な使い方メモ

SimpleInjectorというIoCフレームワーク(DIコンテナ)がすごくシンプルで使いやすいので、最近気に入っているのですが、基本的な使い方を忘れないうちにメモメモ。 SimpleInjectorの公式ページは以下です。 Simple Injectorsimpleinjector.org このライブラ…

Prism 5.0 の ドキュメントがPDFやEPUBとかでダウンロード可能 (Prism 5.0 for WPF - Book Download)

Prismのドキュメント探してたら、以下のURLからドキュメントを電子媒体でダウンロードできるのを知ったので、忘れないうちにメモメモ。 Download Prism 5.0 for WPF - Book Download from Official Microsoft Download Center PDF, EPUB, MOBI形式でダウンロ…

AutoMapperの基本的な使い方メモ

JavaでいうBeans.copyやBeanUtils.copyPropertiesメソッドみたいなことをやってくれるライブラリを探してたら、AutoMapperという便利なライブラリがあったので、基本的な使い方をメモメモ。WPFとかやると、データの移管が多くなるので重宝しそうです。 AutoM…

DevExpress奮闘記-128 (CodeRushのテンプレート展開キーを変更, SpaceからTabへ)

前に一度変更したことがあったのですが、再度やろうとしたらやり方忘れていたので忘れないうちにメモメモ。 CodeRushで、スキーマがFrictionFreeの場合、テンプレートの展開キーがデフォルトのSpaceからTabに変更されます。正直言うと、DefaultのSpaceキーが…

C# 6.0 のメモ (VisualStudio 2015, .NET Framework 4.6)

VisualStudioも、2015がPreview版として公開されているのでそろそろ、次のバージョンである C# 6.0 についても情報をメモメモ。 VisualStudio 2015 Previewは、以下よりダウンロード可能。ファーストステップガイドも公開されています。AzureでもVMが公開さ…

WPFでWinFormsのPerformClickみたいな動作を実施

WPF 4.5 UNLEASHEDに載っていたので、忘れないうちにメモメモ。 WPF 4.5 Unleashed作者: Adam Nathan出版社/メーカー: Sams Publishing発売日: 2013/07/12メディア: Kindle版この商品を含むブログを見る WinFormsにあるPerformClickみたいな処理をする方法で…

DevExpress奮闘記-127 (v14.2のリリース前情報メモ)

次のリリースである、v14.2のbeta版が公開されたこともあり DevExpressのブログにもいろいろ情報が出てきましたねー。今回はCodeRushでIntelliRushっていう素晴らしい機能が追加されるので期待しまくってます。 ついでに、メモしておこうと思います。 追記 v…

XAMLデザイナでViewModelが存在しないと言われた場合のメモ

忘れない内にメモメモ。 最近、Mac上でParallelsを動かしてVisual Studio 2013で開発しているのですが、WPFアプリを作っていてViewModelをXAML上で <Window.DataContext> <local:MainViewModel /> </Window.DataContext> とかすると、「MainViewModelが存在しません。」というエラーが表示されました。ちゃんとクラスはあるの…

DevExpress奮闘記-126 (Assembly Deployment Tool, 配布時に必要なDLLを選択してくれるツール)

いつのバージョンからなのかは分かっていないのですが、VisualStudioのメニューに現れる「DevExpress」メニューに、「Assembly Deployment Tool」というのが追加されています。忘れない内にメモメモ。 「DevExpress」-> 「All Platforms」 -> 「Assembly Dep…

PerfTips (VisualStudio 14 CTP3, 処理速度計測, CPUタイム)

つい先日、VisualStudio 14 CTP 3がリリースされました。 http://blogs.msdn.com/b/visualstudio/archive/2014/08/18/visual-studio-14-ctp-3-released.aspx いろいろ機能追加が行われているのですが、その中に PerfTips という機能が追加されています。 htt…

Visual Studio 2013 keyboard shortcuts The complete list (VS2013, キーボードショートカット, gitまわりのショートカットキー)

C#

Visual Studio 2013のキーボードショートカットが山ほど載ってるサイトが あったのでメモメモ。これすごい助かる。こんなにショートカットあったんだ。 Visual Studio 2013 keyboard shortcuts The complete list http://visualstudioshortcuts.com/2013/ Vi…

.NET クラスライブラリ探訪-069 (System.ArraySegment<T>, 部分配列の作成)

C#

今回は、System.ArraySegment構造体についてメモ。 このクラス、.NET 2.0の頃からずっと存在している構造体です。 なにを表す構造体かというと、元となる配列の一部分を表現する部分配列を 構成します。 例えば、[1, 2, 3, 4, 5]という配列があって、その配…

DevExpress奮闘記-125 (CodeRush Unit Test Builder, UTB, ユニットテスト自動作成)

ちょっと前の情報になってしまいますが、CodeRush のバージョン 13.2 から Unit Test Builder という機能が追加されました。名前のままユニットテストを作成してくれる機能です。 公式のブログにて紹介されています。 New in CodeRush 13.2: Unit Test Build…

BindingOperations.EnableCollectionSynchronizationについて (.NET 4.5, WPF, 非UIスレッドからアクセス)

.NET 4.5 からWPFに以下のメソッドが追加されました。 public static void EnableCollectionSynchronization( IEnumerable collection, Object lockObject ) public static void EnableCollectionSynchronization( IEnumerable collection, Object context, …

Visual Studio Online でのプロジェクト削除方法

C#

ちょっと分かりにくかったので、忘れない内にメモメモ。 作成したプロジェクトを削除するのは、Webから出来ます。 まず、普通にログインして、Visual Studio Onlineのユーザページを表示。 右上の車輪みたいなボタン(たぶん設定ボタン)をクリック。 管理画…

WinFormsでターゲットをx64にしてるとデザイナが開けない場合がある

先日、いきなり発生して解決するまで時間かかったので忘れないようメモメモ。 WinFormsでアプリを開発していて、いきなりデザイナが開けなくなった事象が発生. 継承フォームとユーザコントロールのデザイナが開けなくなりました。デザイナを開こうとすると以…

VisualStudioプロジェクトプロパティの「32ビットの優先」チェックボックス

たまに忘れてて、あれ?ってなるのでメモメモ。 いつからこのオプションが追加されたのか、VisualStudio 2013でプロジェクトのプロパティページに「32ビットの優先」というチェックボックスが追加されています。 このチェックボックスですが、プロジェクトの…

タスク並列ライブラリ入門記-008 (Taskから結果を取得, Task.Result)

C#

タスクからの結果取得について。 タスクから結果を取得するにはタスク生成時にFuncオブジェクトを指定します。 その後、実行してResultプロパティを参照すれば結果が取得できます。 非同期処理なので、当然まだ処理が完了していない場合があります。 その場…

Dapperの簡単な使い方メモ (Dapper .NET, Micro ORM, 速い)

C#

ひょんなことで、Dapperのサンプルを書いたので、もったいなのでメモメモ。 便利なので、大好きですこのライブラリ。 Dapper .NETのサンプル 過去の記事については、以下のページからご参照下さい。 いろいろ備忘録日記まとめ http://sites.google.com/site/…

SQLiteの書き込み速度をアップさせる (System.Data.SQLite, SyncMode, JournalMode, PRAGMA)

忘れないようメモメモ。 SQLiteさんは、そもそも速度が速いのですが書き込み速度をさらにアップさせたい時があります。 (データがもの凄い速さで流れてきて、それを出来るだけ遅延なく書き込みしたいときとか) 書き込み速度をアップさせるのに、すぐ適用でき…

タスク並列ライブラリ入門記-007 (TaskのDisposeについて, Task.Dispose)

C#

ずっと気になっていた事の答えがMSDNのブログに載っていたので 忘れないうちにメモメモ。 TaskクラスはIDisposableを実装しています。 なので、Disposeメソッドが定義されているのですが 通常、これを呼んでいるソースを見たことがありません。 (私自身も呼…

タスク並列ライブラリ入門記-006 (TaskCreationOptions.LongRunning, 長時間実行されるタスクであることを示すオプション, オーバーサブスクリプション)

C#

Taskには、作成時にTaskCreationOptionsを指定することができます。 その中に、 TaskCreationOptions.LongRunning という項目があります。文字通り長時間処理されるタスクの場合に 指定する項目なのですが、これを指定すると場合によっては、タスクスケジュ…

.NET クラスライブラリ探訪-068 (System.Dynamic.DynamicObject, 動的オブジェクトの作成)

C#

だいぶ前に .NET クラスライブラリ探訪-034 (System.Dynamic.ExpandoObject)(動的オブジェクト構築, dynamic, 4.0) http://devlights.hatenablog.com/entry/20100530/p1 という記事を書いていて、System.Dynamic.ExpandoObjectについては 記述していたのです…

タスク並列ライブラリ入門記-005 (Task.Run, .NET 4.5から追加されたタスク開始方法)

C#

.NET 4.5からタスクの開始方法に新しいメソッドが用意されました。 Task.Run(...) // ActionとかFuncとかCancellationTokenとか Task.Run メソッド http://msdn.microsoft.com/ja-jp/library/system.threading.tasks.task.run(v=vs.110).aspx .NET 4.0のとき…

.NET クラスライブラリ探訪-067 (System.Threading.CancellationTokenSource, CancelAfter, .NET 4.5から追加されたメソッド)

C#

.NET 4.5にて、CancellationTokenSourceクラスに以下のメソッドが追加されました。 CancellationTokenSource.CancelAfter メソッド CancelltionTokenSourceやCancellationTokenについては 以前に記事を書いておりますので、そちらを参照下さい。 .NET クラス…

別のアセンブリでinternalクラスを見えるようにする (InternalsVisibleTo, 属性, AssemblyInfo.cs)

C#

基本的な事なんですが、何回も忘れるのでメモメモ。 単体テスト(MS-Test)を作成する際、テスト対象のクラスがinternalだと 通常見えないのですが、InternalsVisibleTo属性を付与することで みえるようになります。 InternalsVisibleTo属性はassemblyに対して…

LINQ to CSV (CodeProject, CSVデータをLINQで扱うライブラリ, LinqToCsv)

C#

CodeProjectに LINQ to CSV library http://www.codeproject.com/Articles/25133/LINQ-to-CSV-library という記事があったので、メモメモ。 ついでにちょっとサンプル書いてみました。使いやすいですね。 ライブラリ内の各クラスについては、上記記事内で詳…

ビジネスアプリケーション向け .NET テクノロジガイド (MSDN, PDF, 要約版と通常版)

C#

Microsoftから「ビジネスアプリケーション向け .NET テクノロジガイド」という文書が 公開されていたので、メモメモ。 通常版と要約版があります。 以下のページからPDFがダウンロードできます。 .NET ホーム http://www.microsoft.com/ja-jp/net/ このペー…

DevExpress奮闘記-124 (PDBファイルがダウンロード可能に, DXperience以上のライセンス必要)

Debugging DevExpress code with PDB files http://community.devexpress.com/blogs/ctodx/archive/2013/08/22/debugging-devexpress-code-with-pdb-files.aspx PDBファイルがダウンロード可能になりました。 ただし、DXperience以上のサブスクリプションラ…