.NET
「ゼロから作る Deep Learning」を読んで、C# でゼロから作ってみる続き。MNIST データセットを使ったニューラルネットの実装は、配布されているパラメーターのファイルが Pickle 形式だったのでスキップ。損失関数に進むことにした。 ゼロから作るDeep Lear…
「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる試み中。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 今回は、本書「3.6.1 MNIST データセット」で …
「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる続き。今回は 3 層ニューラルネットワークを実装してみた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAma…
『ゼロから作る Deep Learning』を読んで、Python ではなく C# でゼロから作ってみる続き。リベンジ。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 今回はニューラルネットワークで使う…
以前、「ゼロから作るDeep Learning」を読みながら、C# でゼロから Deep Learning を実装する試みをやっていた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 当時、行列の計算には Math…
Visual Studio Enterprise エディションのコードカバレッジの機能を使わずとも、Coverlet を使えば単体テストのコードカバレッジを収集できるし、ReportGenerator を使えば HTML レポートを生成できる。 docs.microsoft.com PowerShell でスクリプトを書いて…
「.NET のクラスライブラリ設計」が 12 年ぶりに大改訂された。本書は、.NET の BCL 開発チーム直伝、BCL のようなクラスライブラリを設計する際のガイダンス集だ。 自分の場合、仕事ではアプリケーションよりも、内製フレームワークやクラスライブラリを開…
アプリが Web API を呼び出すためのアクセストークンを取得するとき、OAuth 2.0 の Authorization Code Flow に対応することになると思う。 Web アプリなら、普通にリダイレクト先を用意すればいい。モバイルアプリでも、Custom URL Scheme によってアプリを…
調査目的で、ASP.NET Core MVC とかが DI コンテナに登録したサービスに処理を挟み込みたいことがある。そんな時は、下記のようなクラスと拡張メソッドを用意。 internal class Decorator<TService> { public TService Instance { get; set; } public Decorator(TServi</tservice>…
Microsoft Azure の仮想マシンで動かしている WCF サービスでも、テレメトリを Azure Application Insights に送りたくて、方法を調べたら次のがヒットした。 github.com ただ、こいつは正式リリースされてないし、そもそも開発終わってだいぶ経過してる。WC…
例えば REST API を提供していて、ブラウザ上から JavaScript で呼び出せるように、CORS 対応したい。でも、許可するのは登録してもらったオリジンだけにしたい。そんなとき。 Microsoft.AspNetCore.Cors.Infrastructure.ICorsPolicyProvider を実装したクラ…
Durable Functions では、IDurableOrchestrationContext .CreateTimer を使うことで、関数の実行中に任意の時間待機できる。 docs.microsoft.com 大人の事情により、処理の途中で 2 時間待機する必要があったけど、Durable Functions のおかげでシンプルに実…
.NET Core からは ODBC で接続するしかない古過ぎる SQL Server 相手でも、System.Data.Odbc だったら Dapper が使えた。 www.nuget.org www.nuget.org using var connection = new OdbcConnection(connectionString); connection.Open(); // ODBC で名前付…
自前でリバースプロクシを実装するのに使っていた ProxyKit が開発終了し、他のライブラリに移行しなければいけなくなった。筆頭候補は、1.0.0 に到達した Microsoft 製の YARP。 github.com そもそも、IIS や Nginx を使わず、ProxyKit を使って自前でリバ…
.NET の OAuth クライアントは IdentityModel が定番だけど、あえて IdentityModel を使わず、HttpClient だけで OAuth2.0 の認可コードフローを通す。PKCE にも対応. using System; using System.Collections.Generic; using System.Diagnostics; using Sy…
証明書はあらかじめ用意しておく。 openssl なり何なり使って、自己署名証明書を作成するなら↓みたいな感じ。 #!/bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" PRIVATE_PEM=$DIR/private.pem PUBLIC_PEM=$DIR/public.pem P…
1人でフロントエンドとバックエンドの両方を開発していたら、DDD と軽量 DDD の区別が付かないような状況になってきた。個人的には軽量 DDD 上等。ただ、アーキテクチャに関して言えば、クリーンアーキテクチャはやり過ぎ感あるので、シンプルなレイヤーアー…
PKCE 対応に苦労したので、サンプルコードをメモしておく。 using System; using System.Diagnostics; using System.Net.Http; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using IdentityModel; using Identity…
Kestrel のエンドポイントは、デフォルトだと http://localhost:5000;https://localhost:5001。デフォルトのままでいいやと、Windows Server 2016 の VM で Windows サービスとしてセルフホストしたら、VM 外からアクセスできなくてハマった。 VM 内から htt…
大人の事情で、ASP.NET Core アプリを Microsoft.AspNetCore.Hosting.WindowsServices を使って Windows サービスでホストしていたんだけど、カレントディレクトリの変更は不要と思ってコードを省略したら、ヒドイ目にあった。 public class Program { publi…
はじめに ASP.NET Core で gRPC と gRPC-Web を 1 つのアプリでホストできることは確認した。 tnakamura.hatenablog.com gRPC と MVC はどうだろうか?試してみた。 gRPC サーバーに Web API を追加 GreeterController using Microsoft.AspNetCore.Mvc; name…
はじめに Grpc.AspNetCore.Web を使えば、プロキシを別に立てる必要なく、ASP.NET Core のパイプラインに gRPC-Web を組み込める。 gRPC-Web を組み込んだ場合に、gRPC-Web だけではなく通常の gRPC も使えるのか、気になったので試してみた。 gRPC サーバー…
はじめに セルフホストしてる WCF サービスで、例外が発生したら Application Insights に記録したい。ただ、WCF 用のパッケージはラボの段階で、しかもリポジトリはアーカイブされている。開発されていない。 github.com 今から TelemetryClient を使って A…
はじめに WCF で HTTPS を構成できるか試すことになった。 しかも IIS を使わず、セルフホストで。 サービスコントラクトの定義 using System.ServiceModel; namespace WcfHttpsSample.Shared { [ServiceContract] public interface ISampleService { [Opera…
はじめに HatenaBookmarkSharp っていう、はてなブックマーク REST API の C# クライアントを書いた。 developer.hatena.ne.jp www.nuget.org github.com モチベーション 自分が現在作っているアプリではてなブックマーク REST API を呼び出したい場面があり…
はじめに Azure SQL Database に接続する WCF サービスを、Windows コンテナのプロセス分離モードで動かすところまで漕ぎつけた。 tnakamura.hatenablog.com 一連の実験もいよいよ今回で最後。Azure SQL Database に接続する WCF サービスを、Azure Kubernet…
はじめに 最近、自分の中で Docker 熱、というか Windows コンテナ熱が再燃。Windows コンテナのプロセス分離モードで WCF サービスをホストするのと、Windows コンテナの中から Azure SQL Database に繋ぐところまでは、以前実験した。 tnakamura.hatenablo…
はじめに ドメイン駆動設計のパターンの一つである値オブジェクトを実践するようになってから、ASP.NET Core Identity でユーザーの ID の型 が string なことに恐怖を感じるようになった。ユーザー ID を表す値オブジェクトじゃないと安心してコード書けな…
はじめに Swashbuckle.AspNetCore を使うことで、ASP.NET Core MVC で実装した Web API に Swagger UI を組み込める。 docs.microsoft.com Web API の動作確認をする程度ならこれで十分だけど、せっかく Swagger/OpenAPI を使うなら、クライアントのソースコ…
はじめに HttpClient を使って http で Authorization ヘッダー付きのリクエストを送信し、https にリダイレクトされると、https のリクエストには Authorization ヘッダーが付かない。 以下、実験コード。 Web API HTTP リクエストのヘッダーをログに出力し…