C#
はじめに C#のジェネリッククラスをインスタンス化するときに結構長くなってしまうのはあるあるな気がします。 private static void Main(string[] args) { // 一行が長くなりがち・・・ var sample = new Sample<List<int>, KeyValuePair<bool, int>>(); } public class Sample<TKey, TValue>{}</tkey,></bool,></list<int>…
はじめに 久しぶりにRiderを導入して日本語化対応しようとしたらつまづいてしまいました。 Riderはいいぞ! from UnityTechnologiesJapan002 www.slideshare.netそこで調べたことを備忘録の意味合いも兼ねて残しておきたいと思います。 はじめに Riderを導入…
はじめに 現在Clean Architectureという本を読んでいるのですが、備忘録の意味合いも兼ねてまとめてみたいと思います。今回は単一責任の原則(SRP)についてみていきます。 はじめに 単一責任の原則とは? 感想 単一責任の原則とは? 単一責任の原則(SRP)…
はじめに 現在Clean Architectureという本を読んでいるのですが、備忘録の意味合いも兼ねてまとめてみたいと思います。今回はオブジェクト指向プログラミングについてみていきます。 はじめに オブジェクト指向とは? 依存関係逆転 個人的な感想 オブジェク…
はじめに 今回は複数のCancellationTokenが存在したとき、いずれか一つでもキャンセルされればキャンセル状態になるCancellationTokenSourceを生成したいと思います。docs.microsoft.com はじめに やり方 やり方 実現するためにはCancellationTokenSource.Cr…
はじめに 今回はAsyncSubject<T>について実際のコードも触れながら解剖していきたいと思います。github.com はじめに 使い方 仕組み さいごに 使い方 AsyncSubjectはOnCompletedされたときに最後にOnNextされた値を出力します。 [Test] public void AsyncSubjec</t>…
はじめに 今回はIEnumerable<T>.ToObservable<T>について取り上げたいと思います。github.com はじめに 使い方 仕組みについて さいごに 使い方 IEnumerableを実装しているオブジェクト,いわゆるデータの集まりを指すコレクションに対してToObservableメソッドを</t></t>…
はじめに 今回はIObservable.ToUniTaskメソッドについて紹介をしたいと思います。このメソッドを使う事でIObservableを実装しているオブジェクトに対して、OnNextもしくはOnCompletedがされるまで処理を待つようなUniTaskに変換することができます。github.c…
はじめに 私は普段Unityを触っているのですが、Unityのライブラリとして有名なUniRx・UniTaskを作られたneueccさんはIL単位での最適化も行なっているそうです。www.youtube.comいやはや凄すぎて良く分からない世界になってきました。ただ少しでもC#をうまく…
はじめに 今回はasync/awaitのテストについて取り上げたいと思います。今までTask.Runを使ってみたりでなんとか対応させていましたが、UniTask.ToCoroutineを使うことでもっとスマートに書けることを後輩に教えてもらいました。github.com一応公式のGitHubに…
はじめに 今回はAsAsyncUnitUniTaskを紹介したいと思います。突然ですが、UniTaskを利用していて以下のような状態になっとことはないでしょうか。 // 完了済のUniTaskを生成(awaitした瞬間10が返ってくる) UniTask<int> task1 = UniTask.FromResult(10); // 1フレ</int>…
はじめに 今回はUniTaskCompletionSourceについて紹介したいと思います。github.comUniTaskCompletionSourceを使うことで好きなタイミングで結果を確定させるUniTaskを生成することができます。早速見ていきましょう。 はじめに UniTaskCompletionSource Uni…
はじめに UniRxを使っていたところ、PeactivePropertyをawaitしたらどうなるか気になりました。そこで今回は実験していきたいと思います。 はじめに ReactivePropertyをawaitする Observableをawaitする さいごに ReactivePropertyをawaitする 結論からいう…
はじめに 今回はSuppressCancellationThrowについて触れていきたいと思います。SuppressCancellationThrowの使い場面は簡単に言うと、タスクがキャンセルされたかどうかを返り値として取り出す場合です。 // 通常 try { await NormalTask(ctx.Token); } catc…
はじめに UnityでDI ContainerといったらZenjectやExtenject,VContainerあたりが有名ですよね。Dependency Injectionパターンを利用する場合は誰がインスタンスを生成・注入するかが難しい問題になりますが、その解決法の一つとしてDI Containerが利用され…
はじめに 最近知ったのですが,AWS LambdaがC#に対応しているらしいです。C#大好きっ子としては触らなきゃということで簡単なWebAPIを作ってみました。 AWS Lambda はサーバーレスコンピューティングサービスで、サーバーのプロビジョニングや管理、ワークロ…
はじめに overrideとnewの二つのキーワードの挙動の違いについて書いていきたいと思います。詳細を知りたい方は公式ドキュメントを見てみてください↓ docs.microsoft.com はじめに 挙動の違い さいごに 挙動の違い overrideとnewキーワードは派生クラスをア…
はじめに 今回はUniRxのCompositeDisposableクラスについて取り上げたいと思います。UniRx/CompositeDisposable.cs at master · neuecc/UniRx · GitHub具体的な使い方から,実際のコードを見ながらのTipsについても触れていきたいです。 はじめに 使い方 Tip…
はじめに 今回は機能の階層と実装の階層を分けるBridgeパターンを紹介したいと思います。 クラス図 はじめに 概要 登場人物 実装例 さいごに 概要 wikipedia先輩には以下のように表記されていました。 Bridge パターン(ブリッジ・パターン)とは、GoF(Gang…
はじめに 今回はアルゴリズムを切り替えるStrategyパターンについて紹介したいと思います。 クラス図 はじめに 概要 登場人物 実装例 さいごに 概要 wikipediaには以下のように表記されていました。 Strategy パターン(ストラテジー -)は、コンピューター…
はじめに 今回は最小頂点被覆問題の近似アルゴリズムを実装してみたいと思います。最小頂点被覆問題の詳細は後述しますが、NP困難の問題と知られていて多項式時間で解くことできないことが証明されています。そういった解くことが難しい問題に関して、以下の…
はじめに 今回はインターフェイスの変換を行うAdapterパターンについて紹介したいと思います。 クラス図(左 : 継承を使ったもの, 右 : 委譲を使ったもの) はじめに 概要 登場人物 継承を使ったパターン 委譲を使ったパターン さいごに 概要 wikipediaには以…
はじめに 今回は命令をクラスにするCommandパターンを紹介したいと思います。 クラス図 はじめに Commandパターンの定義 登場人物 Commnad Receiver ConcreteCommand Invoker Client さいごに Commandパターンの定義 Wikipediaにかなりわかりやすくまとめら…
はじめに 今回は責任をたらい回しするChain of Responsibilityパターンを紹介したいと思います。 クラス図 はじめに 登場人物 Handlerのコード ConcreteHandler 動作確認 さいごに 登場人物 冒頭でも述べた通り,Chain of Responsibilityパターンは責任(要求…
はじめに UniRxにはSubjectというクラスがあり,イベント駆動でコーディングするにはほぼ必須と言っても過言ではないのでしょうか。今回はそんなSubjectへの理解を深めるために,自作Subjectを作ってみたいと思います。 はじめに 自作Subject テスト 最後に …
はじめに 今回はNullReferenceExceptionのスローを防ぐためのnullチェックを減らすことができるNull Object パターンについて紹介したいと思います。 クラス図 はじめに よくあるnullチェック Null Objectパターン適応後 さいごに よくあるnullチェック clas…
はじめに 今回はデータ構造と処理を分離する目的で用いられるデザインパターンVisitorパターンを紹介したいと思います。 クラス図 はじめに 登場人物 データ構造側 処理の記述側 データ構造側のコード 処理を記述するコード テスト データの集合を扱うクラス…
はじめに 今回はLINQで非同期処理をawaitする方法について紹介したいと思います。 はじめに コード さいごに コード using System; using System.Linq; using System.Threading.Tasks; class Program { private static void Main(string[] args) { _ = Calcu…
はじめに 最近ValueObjectパターンなるものを知ったのですが、DDD(ドメイン駆動開発)で用いられる手法の一つのようです。今回はメリット等には触れず、ValueObjectの作り方だけに注目していきたいと思います。 はじめに 作り方 おまけでEntityについて さい…
はじめに 先日noteの方にこのような記事を書きました。note.com正直Unityちゃんデスクトップフィギュアが欲しい*1という不純な動機で書き始めましたが、想像以上に多くの方から反応をいただけて嬉しかったです。今回はこちらの記事で紹介仕切れなかったクラ…