C#

Entity Frameworkを使ったプログラマの末路・・・

C#

はじめに 最近取り組んでいたEntity Framework Coreを使っているプロジェクトがひと段落したので、今後EFを使おうか検討している人向けに1つの事例として残しておこうと思います。 結論としてはキャッチーなタイトルとは裏腹に、今回のプロジェクトではメリ…

C#でも構文を最大限悪用してDSLを定義したい

C#

はじめに ディレクトリのような階層構造をC#で簡潔に表現できないかと構文を最大限悪用して試行錯誤した結果です。 作例 var result = await "C:\\aaa" with { _ = new _ { await "bbb" with { _ = new _ { "ddd" } }, await "ccc" with { _ = new _ { "eee"…

Akka.NET Streamsを流行らせるとまではいかなくても、それなりに知名度を上げたい

C#

はじめに このブログで過去何度かAkka.NET Streamsネタを取り上げますが、日本語でのAkka.NET Streamsの記事って本ブログを含めても両手で収まっちゃうんじゃないかなってくらい少ないんですよね。 記事が少ないと知るきっかけも少なくなり、興味を持つ人が…

Akka.NETでもStreamsでUDPを使いたい

C#

はじめに Nignxから吐き出されるSyslogを受け取ってデータベースにぶち込みたいけどその為だけにFluentdをインストールもしたくないしそもそもWindowsでSyslogを扱うのは色々つらみポイントが高いんだよねってことで、Akka.NET Streamsで流し込みたいけど標…

C#でもノンブロッキングでTCPしたい

C#

はじめに 特に需要があったわけではないのですが、C#からTCPをノンブロッキングで扱う方法を調べてみました。 普通に『C# TCP ノンブロッキング』でググるとこのドキュメントが出てきますが、コールバック祭りはつらみポイントがかなり高いので我らがAkka.NE…

.NET FrameworkのRegexの文字クラスはバグっているのか?

はじめに 正規表現のお話ですが、『.は任意の一文字にマッチする』みたいな文法解説ではありません。 そんなの大手サイトが死ぬほど書いてますしね。 妙なバグを踏み抜くことに定評がある弊社ですが、今回は正規表現の文字クラス関係でわりと意味がわからな…

C#でもUbuntu+Docker+Jenkins+GitBucket+MonoでCIしたい(CI編)

C#

はじめに 前回はJenkinsとGitBucketの環境を構築しました。 今回は実際にJenkinsでビルドとテストを実行させてみましょう。 プロジェクトの作成 まずはCIをブンブン回すプロジェクトを作成します。 テストの実装及びJenkinsでのテストの実行のために NUnit N…

C#でもUbuntu+Docker+Jenkins+GitBucket+MonoでCIしたい(環境構築編)

C#

はじめに 今回はLinuxサーバ環境で半ば無理やりCI環境を構築して.NETプラットフォームのアプリケーションをCIするという誰が得をするのだろうという内容の話です。 具体的に言うと、GitBucketでソースコードをホストして、GitBucketにプッシュされたときにJe…

C#でもILGeneratorでダイナミックにToStringしたい

C#

はじめに 動的にToStringするのに定評がある[要出典]弊社ですが、ライブラリを追加するレベルでもないけど手軽に1ソースコードを追加するだけでパパッと使えるものが欲しいな~と考えておりました。 と、いうわけで作りました。 縛り内容 ゲーム実況等では縛…

C#でもSigilでデリゲートをダイナミックに生成したい

C#

はじめに 飽きもせずに.NET黒魔術シリーズです。 SigilといってもEPUBの方のSigilではないです。そっちの情報を求めていた人はまわれ右してお帰りください。 やる気が起きなかった時にネットサーフィンしていたところ、こんな記事を見つけました。 www.infoq…

C# + RoslynでVB.NETのコード分析ツールを作りたい

C#

はじめに あけましておめでとうございました。 普段メタプログラミング・リフレクション大好きと言っておきながらいつまでもRoslynを触らないのはどうなのかなぁ。 ということでC#とRoslynでVBの簡易的なコード分析ツールを作ってみました。 まぁ、コード分…

C#でもリフレクションで ToString したい

C#

はじめに JavaにReflectionToStringBuilderってあるじゃないですか。 Apache Commonsのアレです。 特に需要があるわけではないですが、どうしてもそれを.NETでやりたくなったのでC#で書いてみました。 リフレクション とりあえず文字列に含むのはインデック…