ねののお庭。

かりかりもふもふ。

C#

【C#】ASP.NET CoreでIdentityやEFを使わずに、googleなどの外部プロバイダによるOAuthを利用する方法。

ASP.NET Coreにおける認証。 googleを外部プロバイダとしてOAuthを利用する。 準備 サービスの設定 AddAuthentication() AddCookie() / AddGoogle() http pipeline Challenge / Sign in / Sign out Authorize 全体の流れ まとめ。 References なんでこんなの…

【C#】Source Generatorを使ったSignalR Clinetに強く型付けするためのライブラリをリリースしました、という話。

タイトルの通りなんですが、C# 9で導入された新機能であるSource Generatorを使った、SignalR Clinetに強く型付けするためのライブラリをリリースしました。 github.com SignalRってなんぞ、っていうと、リアルタイム通信用のライブラリ。Socket.IOと似たよ…

【工作】画面共有した際にニコニコみたいにコメント流すアプリを作ってみた。

画面共有した際にニコニコみたいにコメント流すアプリケーション作ってみました。 アプリケーション名はReaction is All You Need. を略してRaynです。 画面共有している人はクライアントアプリのダウンロードが必須ですが、視聴者側はブラウザで完結します…

【C#】DapperでGuidをBINARY(16)に対応させる。

C#のGuidは16バイトです。なので個人的にはDBにも16バイトのまま入ってほしいところ。 なのでBINARY(16)とかでDBのテーブルを作るわけです。 が、DapperはデフォルトでGuidを文字列に変換するため、Guidに対応するカラムの型をBINARY(16)で作ったテーブルと…

【C#】int[]とかfloat[]をbyte[]にcastしたい(もしくはその逆)。

C++だとこんな感じで簡単にint配列をbyte(char)配列として取り扱うことができます。 int* intArray = new int[2]; intArray[0] = -1; //32ビット全部1が立つ intArray[1] = 2; for(int i = 0; i < 2; i++) { cout << intArray[i] << endl; } cout << "======…

【C#】配列とかのシーケンスからn番目に小さい/大きい値を取得する。

シーケンスからn番目に小さい/大きい値を効率よく取得するにはどうすればいいのかなー。という話。 C++だとstd::nth_elementって関数が標準であって、n番目の値とか比較的簡単に効率的な実装で求めることができます。 C#...というか多くの言語で標準ライブラ…

UnityでgRPC使う時の一連の流れとか。

はい、素でgRPCのデイリービルドからUnity用のzip落としてきて、Unityに突っ込んでも動きません。 やっかいな。。。 Unity側でgRPC使えるようにするための一連の流れを説明して、動作を確かめるべくサーバ側(ASP.NET Core)も用意します。 Unity側 Unity用の…

C#での非同期メソッドの分析。

C#

Dissecting the async methods in C# Async method internals 非同期メソッドを手動で分解する Async machinery The original method The state machine 1. “Hot path” optimization 2.Error handling How different pieces are glued together? Execution C…

Rider(Mac)でgRPCのprotoファイルから生成されたC#スクリプトの補完が効かなかったりした件。

Riderのほうにもこんな感じのissueが存在していたで問題は認識されてるっぽい。2019.3になれば普通に解決するのかなぁ。(問題にぶつかったの2019.2です) C#でgRPCのため、protoファイルからC#のテンプレートを生成して参照するため、 Grpc.Toolsパッケージを…

3Dモデルの体積を求める。(C#のライブラリ/CLIアプリ付き)

最近3Dスキャンとかで3Dモデル吐き出すとかありますよね。まぁあるんです。あったんです。 でこれらのモデルの体積がほしいなーと思っても、複雑な形状のmeshの体積を求めるのは地味に難しいです。ぱっとアルゴリズム思いつく人はきっと数学に慣れ親しんでい…

ASP.NET CoreでWebSocketを使ってチャットを作ってみる。

双方向通信大事。 というわけでASP.NET CoreでWebSocketを使ったチャットのサンプル作りました。 でなんでこんなことやっているかというと、msのドキュメントに書いてあるあるやつ だと自分が送信したものに対して自分に返ってくるだけで双方向通信生かされ…

ASP.NET CoreなどのサーバーサイドC#におけるasync/awaitについて。

クライアントサイドでasync/await利用するときってだいたいメインスレッドで長々計算するとUI固まってアカンので別のスレッドでスレッド回すぜ!っていっているケースが多いと思います。 そのノリでサーバサイドのC#を書くと、疑問にぶち当たって、 別にサー…

.NET Standardの実体について。

.NET Standard完全に理解していますか? .NET Standard,いろんな環境で使える共通のAPIという認識はみなさんしていると思います。が、内実...というか.NET Standardで作成したライブラリが、どのように.NET Core環境と.NET Framework環境で動いているのか、…

System.Reactiveの中身をほんのちょっと読んで見る。(その3)

その1(s_implは何ですか) その2(クラスとその役割) その3(動作を追ってみる) 動作を追う。 メソッドチェーン時(Subscribe前) サブスクライブが走るまでは、単にIObservableを返し、生成されたオブジェクトとしては、上流のObservableと、Func<TSource, TResult>の関数を保存す</tsource,>…

System.Reactiveの中身をほんのちょっと読んで見る。(その2)

その1(s_implは何ですか) その2(クラスとその役割) その3(動作を追ってみる) 使われているクラスなどを見ていく。 前回具象クラスがなんであるかわかったので、一番最初の疑問であった public static partial class Observable { //〜略〜 public static IOb…

System.Reactiveの中身をほんのちょっと読んで見る。(その1)

その1(s_implは何ですか) その2(クラスとその役割) その3(動作を追ってみる) Rxの中身をほんのちょっと読んで見る。 前々回にふと気になったのでRxのチェーンがどういう感じなのかなと思ってうんたららみたいな記事を書いたのですが、今度はちゃんとSystem.R…

EqualityComparer<T>.Defaultの実装を追ってみる。

気になりません? 純粋にどうやって生成してるのか疑問に思ったので気が済むまで追ってみる。 完全に備忘録でありいろいろ雑。 using System.Runtime.CompilerServices; namespace System.Collections.Generic { [TypeForwardedFrom("mscorlib, Version=4.0.0…

Reactive Extensionsのメソッドチェーンの後ろ側が気になったので見ていく。

Rx難しいね。 Rx、使う分にはぺちぺちメソッドチェーンで幸せいっぱいなのですが、IObserverとIObservableがどういうふうに連結されていっているのかイマイチ想像がつかなかったので、オペレータ自作という形で調べてみたり動かしてみたりデバッグしてみたり…

.NET Coreにおけるローカルなnugetパッケージの使い方とその参照の持ち方。

.NET Core におけるローカルでのnugetパッケージの使い方。 コマンドの解説。 本題(参照とかがどうなってるのか) まとめ 追記(2021/01/14) .NET Core におけるローカルでのnugetパッケージの使い方。 パッケージ、作っておくと何かと楽ですよね。dllの直接参…

2つの平面(領域)間の対応をとる方法。(C#で射影変換)

お品書き 2平面間の対応 射影変換ってなんぞ ライブラリ作った。(C# / .NET Standard2.0) 可視化してみる まとめ 2平面間の対応 はい。よくあると思います。 Canvas座標値と、そこの表示している地図画像の実世界上の値の対応(画素でnピクセルのところは実世…

HoloLensのアプリ開発でIL2CPP使っていろいろハマった話。

お品書き< インターン先で。 IL2CPPはつらいよ。(ハマったポイントとか) 意外と知らない機能。 IL2CPP関係なくハマった点。 注意 この記事で書かれているものはUnity2017.4.8,visual studio2017,MRTK2017.4.1.0で起きた現象を元に書かれています。 インター…

WPFで動かせるテキストボックスを作る。

WPFでパワーポイントのテキストボックスのようにドラッグドロップで移動可能なテキストボックスが作りたかったのですが、ちょっと手間取ったので書いておきます。 結論から言えば以下のようなxamlを作って xaml.csを てな感じにしてあげればいい。ていうかス…

Xamarin-forms-sampleが動かなかったという話。

モバイルでちょっと作りたいものがある&&Xamarin使ってみたい といことでXamarin弄り始めてるんですが、まぁ最初はいろいろsample動かしたり読んだりして「ほーん」ってやりますよね?ね? で xamarin-forms-samples のそれのMasterDetailPageNavigationを動…

追加の依存ファイルが大量になるとめんどくさい。(C++ネタ)

だいぶ久しぶりですが書くネタができたので書きます。 私はvisual c++をよく叩きます。 でちょっと前にpoint cloud library http://pointclouds.org/ を叩こうとふと思ったわけです。で落としてきてセッティングしたのですが(この時点でビルドしないといけ…