C#

NumSharp で 2 層ニューラルネットワーク

「ゼロから作る Deep Learning」を読んで C# でゼロから作ってみる続き。これから先は C# で初挑戦になる。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon NumSharp を使って 2 層ニューラ…

NumSharp でニューラルネットワークに対する勾配

「ゼロから作る Deep Learning」を読んで C# でゼロから作ってみる試みは、NumSharp を使って最初からやり直して、ようやく4章終盤まできた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazo…

NumSharp で勾配下降法

「ゼロから作る Deep Learning」を C# で粛々と写経中。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon NumSharp を使って、機械学習で使う勾配下降法を実装してみた。 using NumSharp; va…

アクセストークンを指定して Microsoft Graph を呼び出す

Microsoft Graph を使って Microsoft Todo の CRUD ができることは確認したけど、アクセストークンは単独で取得しておきたい。そして、そのアクセストークンを GraphServiceClient で使いたい。 GitHubでソースコードを見たところ、アクセストークンは、Inte…

NumSharp で勾配

「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる試みの続き。ちょっと間が空いてしまったな。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 4章の勾配…

Microsoft Graph で Microsoft Todo の CRUD

プライベートで使っている Todo アプリを、Todoist から Microsoft Todo に移行しようかと検討中。もし移行するとなると、リストやタスクを入力し直すのは面倒だ。移行用にプログラム書きたいところ。 Microsoft Todo なら、Microsoft Graph という RESTful …

NumSharp で損失関数

「ゼロから作る Deep Learning」を読んで、C# でゼロから作ってみる続き。MNIST データセットを使ったニューラルネットの実装は、配布されているパラメーターのファイルが Pickle 形式だったのでスキップ。損失関数に進むことにした。 ゼロから作るDeep Lear…

NumSharp を使って mnist.py を C# に移植

「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる試み中。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 今回は、本書「3.6.1 MNIST データセット」で …

NumSharp で 3 層ニューラルネットワーク

「ゼロから作る Deep Learning」を読んで、Python ではなく C# でゼロから作ってみる続き。今回は 3 層ニューラルネットワークを実装してみた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAma…

NumSharp で活性化関数とソフトマックス関数

『ゼロから作る Deep Learning』を読んで、Python ではなく C# でゼロから作ってみる続き。リベンジ。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 今回はニューラルネットワークで使う…

NumSharp でパーセプトロン

以前、「ゼロから作るDeep Learning」を読みながら、C# でゼロから Deep Learning を実装する試みをやっていた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者:斎藤 康毅オライリージャパンAmazon 当時、行列の計算には Math…

.NET のクラスライブラリ設計 改訂新版

「.NET のクラスライブラリ設計」が 12 年ぶりに大改訂された。本書は、.NET の BCL 開発チーム直伝、BCL のようなクラスライブラリを設計する際のガイダンス集だ。 自分の場合、仕事ではアプリケーションよりも、内製フレームワークやクラスライブラリを開…

デスクトップアプリで OAuth 2.0 のAuthorization Code Flow に対応する冴えたやりかた

アプリが Web API を呼び出すためのアクセストークンを取得するとき、OAuth 2.0 の Authorization Code Flow に対応することになると思う。 Web アプリなら、普通にリダイレクト先を用意すればいい。モバイルアプリでも、Custom URL Scheme によってアプリを…

DI コンテナに登録済みのサービスを装飾する

調査目的で、ASP.NET Core MVC とかが DI コンテナに登録したサービスに処理を挟み込みたいことがある。そんな時は、下記のようなクラスと拡張メソッドを用意。 internal class Decorator<TService> { public TService Instance { get; set; } public Decorator(TServi</tservice>…

WCF でテレメトリを Azure Application Insights に送信する

Microsoft Azure の仮想マシンで動かしている WCF サービスでも、テレメトリを Azure Application Insights に送りたくて、方法を調べたら次のがヒットした。 github.com ただ、こいつは正式リリースされてないし、そもそも開発終わってだいぶ経過してる。WC…

ASP.NET Core の CORS で許可するオリジンを動的に決定する

例えば REST API を提供していて、ブラウザ上から JavaScript で呼び出せるように、CORS 対応したい。でも、許可するのは登録してもらったオリジンだけにしたい。そんなとき。 Microsoft.AspNetCore.Cors.Infrastructure.ICorsPolicyProvider を実装したクラ…

Durable Functions で一定時間待機して続きを実行

Durable Functions では、IDurableOrchestrationContext .CreateTimer を使うことで、関数の実行中に任意の時間待機できる。 docs.microsoft.com 大人の事情により、処理の途中で 2 時間待機する必要があったけど、Durable Functions のおかげでシンプルに実…

ODBC でも Dapper

.NET Core からは ODBC で接続するしかない古過ぎる SQL Server 相手でも、System.Data.Odbc だったら Dapper が使えた。 www.nuget.org www.nuget.org using var connection = new OdbcConnection(connectionString); connection.Open(); // ODBC で名前付…

YARP で動的に転送先を決定する方法

自前でリバースプロクシを実装するのに使っていた ProxyKit が開発終了し、他のライブラリに移行しなければいけなくなった。筆頭候補は、1.0.0 に到達した Microsoft 製の YARP。 github.com そもそも、IIS や Nginx を使わず、ProxyKit を使って自前でリバ…

HttpClient を使ってクライアントを OAuth 2.0 の認可コードフローと PKCE に対応させる

.NET の OAuth クライアントは IdentityModel が定番だけど、あえて IdentityModel を使わず、HttpClient だけで OAuth2.0 の認可コードフローを通す。PKCE にも対応. using System; using System.Collections.Generic; using System.Diagnostics; using Sy…

IdentityServer4 でアクセストークンの署名と検証に証明書を使う方法

証明書はあらかじめ用意しておく。 openssl なり何なり使って、自己署名証明書を作成するなら↓みたいな感じ。 #!/bin/bash DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" PRIVATE_PEM=$DIR/private.pem PUBLIC_PEM=$DIR/public.pem P…

Xamarin.Forms でアイコンフォントの導入が簡単になっていた

アイコンフォントファイルを入手 Material Design Icons をよく使う github.com Xamarin.Forms 共有プロジェクトにアイコンフォントファイルを追加 Fonts フォルダを作って、その下に置くのが無難 アイコンフォントファイルのビルドアクションを Embeded Res…

ASP.NET Core MVC で軽量 DDD

1人でフロントエンドとバックエンドの両方を開発していたら、DDD と軽量 DDD の区別が付かないような状況になってきた。個人的には軽量 DDD 上等。ただ、アーキテクチャに関して言えば、クリーンアーキテクチャはやり過ぎ感あるので、シンプルなレイヤーアー…

IdentityModel を使ってクライアントを OAuth 2.0 の認可コードフローと PKCE に対応させる

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 デフォルトのエンドポイントのままセルフホストしてハマった

Kestrel のエンドポイントは、デフォルトだと http://localhost:5000;https://localhost:5001。デフォルトのままでいいやと、Windows Server 2016 の VM で Windows サービスとしてセルフホストしたら、VM 外からアクセスできなくてハマった。 VM 内から htt…

ASP.NET Core で gRPC と MVC の両方に対応できるか試した

はじめに ASP.NET Core で gRPC と gRPC-Web を 1 つのアプリでホストできることは確認した。 tnakamura.hatenablog.com gRPC と MVC はどうだろうか?試してみた。 gRPC サーバーに Web API を追加 GreeterController using Microsoft.AspNetCore.Mvc; name…

ASP.NET Core で gRPC と gRPC-Web の両方に対応できるか試した

はじめに Grpc.AspNetCore.Web を使えば、プロキシを別に立てる必要なく、ASP.NET Core のパイプラインに gRPC-Web を組み込める。 gRPC-Web を組み込んだ場合に、gRPC-Web だけではなく通常の gRPC も使えるのか、気になったので試してみた。 gRPC サーバー…

Trace に出力した内容を Application Insights に保存する

はじめに セルフホストしてる WCF サービスで、例外が発生したら Application Insights に記録したい。ただ、WCF 用のパッケージはラボの段階で、しかもリポジトリはアーカイブされている。開発されていない。 github.com 今から TelemetryClient を使って A…

WCF の BasicHttpBinding を使ったセルフホストで HTTPS を構成してみた

はじめに WCF で HTTPS を構成できるか試すことになった。 しかも IIS を使わず、セルフホストで。 サービスコントラクトの定義 using System.ServiceModel; namespace WcfHttpsSample.Shared { [ServiceContract] public interface ISampleService { [Opera…

SceneDelegate 時代にコードだけで iOS アプリを実装し始める手順

iOS 13 で SceneDelegate が導入されて、Storyboard を使わずコードだけで iOS アプリを開発し始める手順が変わっていたのでメモ。 まず、メインインタフェースを空にする。これは以前と同じ。 Info.plist の UISceneStoryboardFile を削除。 SceneDelegate …