きな粉もち.net

初級開発者の備忘録[c#]

C#

String ✖️ 最大文字数 ✖️ Max Length

あまり意識したことがなかったのですが、String型の最大Lengthについて調べてみました。 何から調べれば良いかわからないので、とりあえず公式のStringクラスの説明を見てみました。 String クラス (System) 備考欄を一部抜粋。。。 A string is a sequentia…

log4net × 設定ファイルの読み込み処理 × 例外処理

よく、ファイルの読み込み処理を実装することがあります。 まぁ、読み込み処理だけに限ったものではないのですが、 ・どこまで、例外を考慮して実装するか ・例外が発生した場合の実装はどうするか などがあいまいになってしまい、とりあえず正常系だけ実装…

log4net × FileSystemWatcher × 設定ファイルの監視

引き続き、log4netの起動処理の解読をする中で学んだ技術についてまとめていきます。 今回は、System.IO.FileSystemWatcherクラスについてです。log4netでは、FileSystemWatcherを使って設定ファイルの変更を監視し、変更があった場合設定ファイルを再読み込…

log4net × System.Attribute × 呪文

log4netのDeep Diveの続きになります。前回*1に引き続き、log4netを読んでいるうちに知ったCustomAttributeについてまとめます。 今回は、特に設定したCustom Assemblyの情報をどうやって取得するかを中心にまとめます。 以下のように(普通に)Loggerのイン…

log4net × Assemblyファイルの設定 × 属性の名前付きパラメータ

久しぶりのlog4netのDeep Diveの続きになります。 今回は、log4netを読んでいるうちに知ったCustomAttributeの設定方法、定義方法についてまとめます。log4netを利用する時、logの出力設定を定義した設定ファイル(log4net.config)を用意します。 さらにlog…

REST × SOAP × MSDNマガジンで調査!

C#

MSDNマガジンをあさっていたら気になったので、まとめてみました。 WCF :Windows Communication Foundation さまざまな通信プロトコルを同一のプログラミングモデルで取り扱うための仕組みのこと (主に?)SOAP、REST、POXをサポート SOAP:Simple Object …

Text Analytics × Http Client × Sample Code

せっかくHttpClientについてと、Cognitive ServicesのText Analyticsを知ったので、サンプルコードを書いてみました。特に何もないですが、今後も使っていけそうなコードなので、TFSだけでなくこっちでもメモしておきます! 整理したTextAnalyticsUtilのコー…

log4net × Lock Model × Mutex(続き)

InterProcessLockというModelクラスの実装についての記事の続きです。 どのようにしてMutexを使ってロックをかけているかを順番に見ていきます。 順番は以下の通りです。 ファイルオープン ロック要求 ←特にここ ロック解除 ←特にここ ファイルクローズ 1.…

HttpClient × WebClient × HttpWebRequest

C#

十分に理解していないためか、よく3つの違いを忘れてしまうので、戒めのためにも3つの違いをまとめておきます。 System.Net.HttpWebRequest/HttpWebRespons System.Net.WebClient System.Net.Http.HttpClient 実装編 実装シナリオ: あるURLにGETリクエスト…

log4net × FileStream × Using

log4netでは、ファイルの排他制御にLockModelクラスを利用しています。 そのLockModelクラスでは、ファイルの出力操作にFileStreamを使って出力を行います。(LockModelには3つの種類がありますが、どのModelを使ってもFileStreamを利用します。) 出力の準…

log4net × Lock Model × Mutex

log4netの起動処理の追っかけは難しかったので、いったん飛ばしておきます。 とりあえず、次のステップのFileAppenderの処理について細かくみていきます・・・ FileAppenderクラスはこんな感じに実装されています! ということで、上から見ていきます。 ロッ…

log4net × Deep dive × 環境準備

ログの出力をしたいときによく使うOSS「log4net」。 使い方は知っているけど、 ・実際に内部でどういうことを行っているか ・知っている機能以外に使っていない便利機能はないか などについて改めて知りたくなりました! ソースコードはGitHubで公開されてい…

C#7.0でのexpression-bodied function member

C#

expression-bodied function member? 本体が式の関数メンバー・・・ 先生・・分かりにくいです。。。 つまり・・・ 「関数が1つの式"だけ"で定義されるもの。 そんな関数をラムダ式っぽく簡単に書けるようにしました。」 ・・・という機能として把握しまし…

Visual Studio 2017での「プロセスにアタッチ」機能について

Visual Studio で実行中のプロセスにアタッチしてデバッグをするときに使う 「プロセスにアタッチ」機能の話。 「プロセスにアタッチ」ダイアログを表示したとき、 実行中のプロセス一覧が表示されるよね。 いっぱいプロセス表示されるよね。 たくさんあるか…