きな粉もち.net

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

Excel × VLOOKUP × うまくできない・・・

FAQ

とても珍しい忘備録となりますが、Excel作業ではまったことについて、残しておきます。お題は、「VLOOKUP」関数についてです。VLOOLUPの説明は以下のようになります。 指定した範囲の一列目で特定の値を検索し、指定された列と同じ行にある値を返す関数です…

log4net × xml 読み込み処理 × その他の種類まとめ

log4netの初期化処理も中盤に入ってきました。log4netでは、log出力のconfigファイルの読み込みをXmlConfiguratorクラスの中で、XmlReaderと、XmlDocumentを利用して実装しています。 XmlReaderSettings settings = new XmlReaderSettings(); settings.DtdPr…

Daily .NET Tips ✖︎ Visual Studio ✖︎ Diff File Tool

Daily .NET TipsによるVisual StudioのDiff File Toolの紹介ブログのまとめです。 Visual Studioで開発をしている時、二つのファイルの差分を見たい時ってありますよね。 そんな時、Team Foundation Serverなどで構成管理していれば、前のバージョンのソース…

Daily .NET Tips ✖︎ Visual Studio ✖︎ Color Indicator

Daily .NET Tipsからの記事です。英語の勉強も兼ねてまとめています。 今回はVisual StudioのColor Indicatorの機能についてです。Color Indicatorは、コードの変更や、IDEであるVisual Studioの状態を色で可視化してくれる機能です。 コードの変更 コードの…

MSDN × テクニカルドキュメント × APIリファレンス

よく、C#のクラスの使い方がわからないときに「MSDNで検索しろ」と言われます。 これまでは特に意識せず検索していたけど、 最近MSDNで背景のいろを選択できる機能があることを知りました。 でも、時々色が変えられないページもあって、なんなんだろう・・・…

新年 ✖️ 抱負 ✖️目標

あけましておめでとうございます。 技術的なこと以外は書かないようにしていますが、今年の抱負と目標だけは残しておこうと思います。 抱負 抱負と目標ってどうちがうのだろう。。。 まぁ、抱負=一年の計画として認識しておきます。 去年から技術の発信とい…

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

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

.net FrameworkCompatibilityDiagnostics×互換性検証 × roslyn

.NET で開発をしていると、フレームワークのバージョン変更の作業が発生することがあります。 そういう時、これまではMSDNで、互換性に関する情報をさがし、自分のコードに該当するものがないかの確認を行って来ました。 そんな作業を効率化できないかな。。…

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 …

Windows 10 × 画面キャプチャ × 録画設定

Windows 10になってから仮想デスクトップやらなんやらと、これまでフリーソフトでやってきたことがWindowsの基本機能として利用できるようになってきました。 これらの機能で十分満足なのですが、画面キャプチャ機能もWindows 10にデフォルトで付属されてい…

Build × プラットフォームターゲット × 選択

最近こんな質問を受けてまともに答えられなかったので、調べた結果を備忘録として残しておきます。質問はこんな感じでした。 Q :アプリケーションのプラットフォームターゲットを何にしたらよいか?・・・Any CPUでいいじゃん。と思いましたが、 実行環境が…

.NET Framework × CLR × 基礎知識

インストールされているCLRのバージョンを知りたい、調べたいことってよくありますよねw そんな時、clrver.exeを使うことで、簡単に調べることができます! ・・・と、いうことが以下のブログで紹介されていました。 Did you know – You can check all the …

xls拡張子 × xlsx拡張子 × 違い

FAQ

Excelの拡張子である.xls、.xlsx、xlsmなどについての話題です。 それぞれが何であるか、どの拡張子を選択すればよいか、などについて 定期的に話題になるので、自分なりに簡単にまとめておきます(公式ドキュメントはあるのですが。。。)まずは、違いを見…

Text Analytics × Http Client × Sample Code

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

Cognitive Service × Json × 自動Model生成

Visual Stuidioには、Json(もしくはXML)からプロパティを自動で生成してくれる機能があります。 今回はその機能の使い方をまとめていきたいと思います。 例えば、CognitiveService*1のAPIを呼び出して操作を行う場合、Newtonsoft.Jsonなどのライブラリを使…

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を利用します。) 出力の準…

Thinkpad x1 carbon (2014) × タッチパット換装 × Fall Creators Update

備忘録として残しておきます。 以前Thinkpad x1 carbon のタッチパットを換装しました。 最近まで順調に動作していたのですが、Windows 10 Fall Creators Updateを適用した後、急にクリックができなくなりました。。。 換装時に変更したタッチパットのレジス…

log4net × Lock Model × Mutex

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

Visual Stuidioの診断ツール

Visual Stuidioでデバッグ実行しているときに出てくる「診断ツール」。 これまで「このウィンドウを表示していると、デバッグ実行中のパソコンが重くなる」という噂を信じてウィンドウを消していました。 今回、log4netの内部についてデバッグ実行して中の動…

構造のガイドラインの色変更について

今までメソッドとか、クラスとかのスコープをパッと見でわかるようにするために、productivity power tools というvisual studio の拡張機能を使っていました。 しかし、vs2017では、vsの機能として構造のガイドラインが導入されているで、拡張機能使わなく…

Visual Studio で MSBuildコマンドを確認する!?

Visual Studio で MSBuildコマンドを確認したいと思い、調べてみました。 結論から言うと、確認する方法はありません。 理由は、Visual Stuidioでは、MSBuild.exeを利用してビルドを実行していないからです。 この話を調べるうえで勉強になったことをメモし…

log4net × Deep dive × 環境準備

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

Visual Studio 2017でのコードマップについて

プロジェクト毎の依存関係(どのプロジェクトでなにを参照しているか)を知りたいということで、VSの機能であるコードマップを使いました。 が、 いつもあるところにコードマップのボタンがない。。。 よくよく探してみると、インストーラーの中の個別のコンポ…

C#7.0でのexpression-bodied function member

C#

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