C#
時系列順に C#(ASP.NET): 3 年と半年くらい Rails と Go(echo): 半年だけ C#(ASP.NET): 半年 Kotlin(SpringBoot): 半年 #now Rails と Go はあんまり好きじゃなかったので僕の母なる言語は C#にあると言っていい ということで C#(ASP.NET)から Kotlin(Spring…
読まなくていいあらすじ DDDだ!CQRSだ!という主張は多く見るけど、自分のやりたいことに即した実装サンプルがなかなか見つからなかった 僕はDDDというか、Repositoryパターンを組み込んだDDDにCQRSを組み込みたかった コマンド・クエリ間でデータソースは…
要約ではないです。メモです コードでは面倒くさいので色々(例えばコンストラクタとか)端折ってる 色々間違ってるかもしれないのでちゃんと本を読んだほうがいい https://www.amazon.co.jp/gp/product/479815072X/ 本にする前のをWebで見れたりもする nrslib…
はじめに List<T>(Tはユーザ定義型)でパラメータを受ける実装を考える その際にどうすれば処理が散らからないようになるのか?とか何がベストプラクティスなのか?とか考える 考えるだけ VS起動しないでコンパイラ通さず書いたコードなので通らなかったらごめん</t>…
github.com .NET CORE3.1, NET5でフルスタックなWebアプリケーションを作る時のテンプレート的なものを作りたかった MacOSで 実務の学びを活かしているけど、実務そのままとかではないし、このまま実運用した実績があるわけではない ということで実際運用し…
概要 DBコネクションつくってSELECT文だして結果を返して...みたいなところのテストを考える テスト時にはInit時にfixtureみたいな感じで大量にデータつくって、Dispose時に全部消しておくみたいな... PRD/STG環境のDBはAWSのAuroraとか、EC2上のMySQLとかそ…
(色々書いたけど、最後参考に載せているMS Docsに全部書いてある気がしてきた。が、目を背ける) xUnitとMoqを使う 例えばこんな感じのControllerをテストしたい時がある public class SampleController : Controller { private readonly ISampleService se…
基本的にこれのJeroen Kさんの丸パクリの話を噛み砕いてるだけの記事 dapper - Multi-Mapper to create object hierarchy - Stack Overflow タイトルだけだと意味分かんないと思う Itemsテーブルと、それに対して一対多の関係にあるItemRemarksテーブルがあ…
【C#】EnumのFlagsAttributeについて なにそれ? FlagsAttribute クラス 列挙体をビット フィールド、つまりフラグのセットとして扱えることを示します。 https://docs.microsoft.com/ja-jp/dotnet/api/system.flagsattribute?view=netcore-3.1 Enumにつける…
抽象的な書き方だけど例えばenum AnimalのAnimal.Dogから名称"イヌ"だとか鳴き声"わんわん"を得るだとか、そういうことをする よくある書き方としては2パターンあると思う 属性を使う 拡張メソッドを使う どっちかというと前者の方が綺麗だけど、値の取得に…
便宜上、ここではLayoutを利用するページを元のページと呼ぶことにする (適切な呼び方がわからない) かきかた ASP.NET RazorではViews/_ViewStart.cshtmlファイルの中で全てのViewに共通するレイアウトを指定する @{ Layout = "~/Views/Shared/_Layout.cshtm…
二つ目のクラスを条件に応じて付与 半角スペース空くのがちょっとださい @ { var msg = "test"; // var msg = "-"; } <div class"test @((msg != "-")? "" : "additionalClass")"> <p>@msg</p> </div> RazorでPartialにViewDataDictionaryを渡す ViewModelとしてクラスを新規に作るほどでもなくちょっとした情報を渡したい時のやつ …
null結合演算子 nullではない最初のものを返す string s1 = null; string s2 = null; string s3 = "hoge"; (s1 ?? s2 ?? s3).Dump(); // hoge null条件演算子( ?. or ?[] ) メンバやインデックスのアクセスの前にそれがnullかどうかテストしてnullじゃなかっ…