この記事は Qiita C# Advent Calendar 2021 23日目の記事です。 マルチスレッドプログラミングにおける問題。 原子性 コンパイラによる命令の並び替え メモリバリアについて acquire / release acquire / releaseの取り扱いづらさ sequential consistency C#…
タイトルが分かりずらいですね、はい。 コンソールアプリ、Main関数が終了すると同時にアプリは終了します。 それはそう、当たり前。 なんですが裏のスレッドでなんか動いてるからアプリは落ちてほしくない、けどMainは終わっとるし別にawaitするべきものも…
ASP.NET Coreにおける認証。 googleを外部プロバイダとしてOAuthを利用する。 準備 サービスの設定 AddAuthentication() AddCookie() / AddGoogle() http pipeline Challenge / Sign in / Sign out Authorize 全体の流れ まとめ。 References なんでこんなの…
Open3dでは標準で任意の視点からのlookatが出来ない。 Open3dでは標準で任意の視点からのlookatが出来ません。ViewControlにset_lookatという関数生えてるんですが、残念ながらGUIでマウスぐりぐりしたときにlookatする点を設定できるだけで、特定の座標から…
タイトルの通りなんですが、C# 9で導入された新機能であるSource Generatorを使った、SignalR Clinetに強く型付けするためのライブラリをリリースしました。 github.com SignalRってなんぞ、っていうと、リアルタイム通信用のライブラリ。Socket.IOと似たよ…
深層学習ベースの3D Reconstruction / Completionの手法およびデータセットの紹介スライド。 ラボ内向けに作ったんですが、結構気合入れて作ったのでパブリックにしておきます。 紹介してる論文たちは以下の通り。 データセット NYU (ECCV 2012) ShapeNet (arxi…
欲求としては以下みたいな感じ。 自分は今まではただ単にVSCodeのRemote SSH使ってました。Remote SSHは~/.ssh/configから設定読み込んで上の図の作業環境まで一発で繋いでくれるので楽です。 marketplace.visualstudio.com 今回は繋ぎたい対象がコンテナな…
画面共有した際にニコニコみたいにコメント流すアプリケーション作ってみました。 アプリケーション名はReaction is All You Need. を略してRaynです。 画面共有している人はクライアントアプリのダウンロードが必須ですが、視聴者側はブラウザで完結します…
リモートサーバで3Dモデルの可視化~やらなんやらしたのを手元のwindowsマシンでも確認したい。 3Dモデル単体とかならThree.jsとか叩いてブラウザで見たりしてもいいのだけど(実際昔はそうした)、描画したいものが複雑だったり、OSSに乗っかってしまいたかっ…
C#のGuidは16バイトです。なので個人的にはDBにも16バイトのまま入ってほしいところ。 なのでBINARY(16)とかでDBのテーブルを作るわけです。 が、DapperはデフォルトでGuidを文字列に変換するため、Guidに対応するカラムの型をBINARY(16)で作ったテーブルと…
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 << "======…
多くの人が書いてるから私も書くか~という年越し60分前。 振り返りブログとか初めて。 学業ないし研究とか。 一応ACM MM Asia通ったし、まぁ最低限度はできたのかなぁ、という感じ。単一の食事RGB画像から食事(食品+食器)と食器の三次元形状を復元して、ご…
シーケンスからn番目に小さい/大きい値を効率よく取得するにはどうすればいいのかなー。という話。 C++だとstd::nth_elementって関数が標準であって、n番目の値とか比較的簡単に効率的な実装で求めることができます。 C#...というか多くの言語で標準ライブラ…
はい、素でgRPCのデイリービルドからUnity用のzip落としてきて、Unityに突っ込んでも動きません。 やっかいな。。。 Unity側でgRPC使えるようにするための一連の流れを説明して、動作を確かめるべくサーバ側(ASP.NET Core)も用意します。 Unity側 Unity用の…
大学とかの計算資源は基本的にssh張っていろいろするので、ローカルで開発するのとは勝手が違います。 あと更に権限がいろいろないのでそんなに好き勝手はできません。 なのでいろいろ便利手段を書いておきます。(TAしてる授業向けですが) ssh先でサーバー立…
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…
RealSenseをOculus Questに合体させるためにlibrealsenseをビルドしてたら2箇所かコケたのでメモを。 Android事情なんもわからんマン向け。 基本的にはlibrealsenseのissueに書いてあるので、書いてある通りビルドしつつ設定しておけばOKなのですが。 github…
デスクトップで変換してGoogleハングアウトでMBPに流してる。 コロナことCOVID-19のせいで、ZoomやらGoogleハングアウトやらそのあたりのサービスがよく使われるようになりました。 でWebカメラなんかから画像を垂れ流すわけですが、垂れ流す画像, 自分でプ…
Riderのほうにもこんな感じのissueが存在していたで問題は認識されてるっぽい。2019.3になれば普通に解決するのかなぁ。(問題にぶつかったの2019.2です) C#でgRPCのため、protoファイルからC#のテンプレートを生成して参照するため、 Grpc.Toolsパッケージを…
最近3Dスキャンとかで3Dモデル吐き出すとかありますよね。まぁあるんです。あったんです。 でこれらのモデルの体積がほしいなーと思っても、複雑な形状のmeshの体積を求めるのは地味に難しいです。ぱっとアルゴリズム思いつく人はきっと数学に慣れ親しんでい…
双方向通信大事。 というわけでASP.NET CoreでWebSocketを使ったチャットのサンプル作りました。 でなんでこんなことやっているかというと、msのドキュメントに書いてあるあるやつ だと自分が送信したものに対して自分に返ってくるだけで双方向通信生かされ…
クライアントサイドでasync/await利用するときってだいたいメインスレッドで長々計算するとUI固まってアカンので別のスレッドでスレッド回すぜ!っていっているケースが多いと思います。 そのノリでサーバサイドのC#を書くと、疑問にぶち当たって、 別にサー…
最近サーバ側で作業することも多かったのですが、vimは多少使えるもののvimerではないのでしんどさがあります。そこでVSCodeの拡張であるSSH FSを使おうと思ったのですが。 ワークスペースを解決できません。 とかいうエラーが出てくるわけです。これ自分が…
windows10のバージョン1700番台くらいでデフォルトでsshができるようになったのでまぁまぁ(puttyとか使わないで済むようになったので)いろいろ幸せになりました。しかし踏み台サーバ越しにsshする際にちょっと罠があったので書き記しておきます。 踏み台サー…
.NET Standard完全に理解していますか? .NET Standard,いろんな環境で使える共通のAPIという認識はみなさんしていると思います。が、内実...というか.NET Standardで作成したライブラリが、どのように.NET Core環境と.NET Framework環境で動いているのか、…
その1(s_implは何ですか) その2(クラスとその役割) その3(動作を追ってみる) 動作を追う。 メソッドチェーン時(Subscribe前) サブスクライブが走るまでは、単にIObservableを返し、生成されたオブジェクトとしては、上流のObservableと、Func<TSource, TResult>の関数を保存す</tsource,>…
その1(s_implは何ですか) その2(クラスとその役割) その3(動作を追ってみる) 使われているクラスなどを見ていく。 前回具象クラスがなんであるかわかったので、一番最初の疑問であった public static partial class Observable { //〜略〜 public static IOb…
その1(s_implは何ですか) その2(クラスとその役割) その3(動作を追ってみる) Rxの中身をほんのちょっと読んで見る。 前々回にふと気になったのでRxのチェーンがどういう感じなのかなと思ってうんたららみたいな記事を書いたのですが、今度はちゃんとSystem.R…
気になりません? 純粋にどうやって生成してるのか疑問に思ったので気が済むまで追ってみる。 完全に備忘録でありいろいろ雑。 using System.Runtime.CompilerServices; namespace System.Collections.Generic { [TypeForwardedFrom("mscorlib, Version=4.0.0…
Rx難しいね。 Rx、使う分にはぺちぺちメソッドチェーンで幸せいっぱいなのですが、IObserverとIObservableがどういうふうに連結されていっているのかイマイチ想像がつかなかったので、オペレータ自作という形で調べてみたり動かしてみたりデバッグしてみたり…