c#

Azure Functions を使った Azure Storage の増分バックアップ

先日作成した Azure Storage のコンテナをバックアップするプログラムは、高速化しても完了までに 5 時間弱かかる。 tnakamura.hatenablog.com こいつを毎日実行するのは気が引ける。コンテナの完全バックアップは週一回にしておき、増分バックアップを毎日…

WCF on .NET Core

c#

.NET Core でも WCF を使うことはできる。提供されているのはクライアントライブラリだけなので、.NET Core で動く WCF サービスを作ることはできないけど。 試しに TCP でやってみた。WCF サービスは .NET Framework で作るしかない。 using System; using …

Azure Storage に保存したブロブのバックアップを高速化

先日、「Azure Storageに保存したブロブをバックアップ専用ストレージアカウントにコピーする」プログラムを書いたが、素直に実装したため激しく遅かった。並列化すらしていないから当然か。 tnakamura.hatenablog.com そこで、『Azure Storage Data Movemen…

Azure Storage に保存したブロブのバックアップ

仮想マシンのイメージなんかを Azure Storage にバックアップする記事は探せばすぐ見つかるけど、 Azure Storage に保存しているブロブを別のどこかにバックアップする記事は見つけることができなかったので、 Microsoft.WindowsAzure.Storage を使ってバッ…

Azure Storage を使っていて同時接続数でハマった

Azure Storage に添付ファイルをアップロードする処理を持つ ASP.NET Core MVC(.NET Core) アプリを、 Azure App Service にデプロイしてベンチマークをとってみたら、 スケールアウトやスケールアップしても思ったようにパフォーマンスが上がらなくて、 ボ…

.NET Core 時代のコマンドライン引数解析

c#

.NET でコンソールアプリケーションを開発するときの悩みの種が、コマンドライン引数の解析。 .NET Framework がコマンドラインパーサーを提供してくれないので、 仕方なくオレオレパーサーを書いたり、Mono にあるライブラリを使ったりしてきたけど、 .NET …

JwtBearerAuthentication を使っている Web API を Swashbuckle.AspNetCore で試す

c#

Swashbuckle.AspNetCore を使うことで、 ASP.NET Core で作成した Web API を Swagger UI 上で試せるようになった。 ただ、大抵の Web API では OAuth2 なり JWT Bearer なりの認証が必要、という風に実装していると思う。 自分の場合は JWT Bearer。 Swagge…

ASP.NET Core 2.0 で JWT を使った認証を実装する

c#

先日、ASP.NET Core MVC で JWT を使った認証を実装する記事を書いた。 tnakamura.hatenablog.com しかし、ASP.NET Core 2.0 では認証まわりがガラッと変わってしまったので、 上の記事にある方法は使えなくなってしまった。 /(^o^)\ナンテコッタイ。 なので、ASP…

ASP.NET Core 2.0 でも Swashbuckle.AspNetCore は使えた

c#

Swashbuckle.AspNetCore は ASP.NET Core 2.0 に対応していないから使えないと思っていたが、 勘違いだった。 github.com Swashbuckle.AspNetCore のイシューを読んで発覚。 github.com 実際に試してみたところ、ASP.NET Core 2.0 プロジェクトに Swashbuckl…

Microsoft.AspNetCore.Mvc.ApiExplorer を使って Web API ドキュメントを自作

c#

開発している Web API を ASP.NET Core 2.0 に移行しようと思っていたが、Web API のドキュメント生成に使っている Swashbuckle.AspNetCore がまだ 2.0 に対していないっぽくて一時中断。 ASP.NET Core MVC にはもとから Microsoft.AspNetCore.Mvc.ApiExplor…

.NET Core で Shift-JIS を扱う

c#

例えば .NET Core でテキストファイルを出力するとき、文字コードに Shift-JIS を指定するには System.Text.Encoding.CodePages が必要だった。 www.nuget.org using System; using System.IO; using System.Text; namespace EncodingSample { class Program…

ASP.NET Core MVC で JWT を使った認証を実装する

c#

以前、ASP.NET Core MVC で Basic 認証を行う記事を書いた。 tnakamura.hatenablog.com プライベートな Web API なのでこれでいいかなと思っていたが、 大人の事情でそうはいかなくなり、 JWT(Json Web Token) を使った認証に変えることに。 Microsoft.AspNe…

ASP.NET Core MVC で Basic 認証

c#

先日 ASP.NET Core で Basic 認証を行うサンプルを書いた。 tnakamura.hatenablog.com ただ、これだと全てのパスで認証が必要になってしまう。 もともとやりたかったことは、 「ASP.NET Core MVC で Authorized 属性を付けたアクションだけを認証必須にする…

ASP.NET Core で Basic 認証

c#

ASP.NET Core で Basic 認証を行うサンプルを書いてみた。ユーザーは固定なので、本番で使うときは ASP.NET Core Identity みたいに、ユーザー情報をストアから取得するようにしたほうがいいだろうな。 using Microsoft.AspNetCore.Builder; using Microsoft…

指定した URL に付けられたすべてのブックマークを取得する

c#

はてなブックマークネタ第3弾。 最後は、指定した URL に付けられたすべてのブックマークを取得してみた。 using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; using System.T…

指定した URL の人気ブックマーク一覧を取得する

c#

はてなブックマークネタ第2弾。 今度は、指定した URL に付けられたブックマークのうち、 人気のヤツを取得してみた。 using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Net.Http; using System.Net.Http.Headers; usi…

指定したユーザーのはてなブックマーク一覧を取得する

c#

いいかげん、そろそろプログラミングネタを書かねば。 ってことで、C# で「指定したユーザーのはてなブックマーク一覧を取得する」サンプルを書いてみた。 はてなブックマークに専用の API が見当たらないので、RSS フィードを取得してパースしている。 オフ…

ニューラルネットワークに対する勾配を実装してみた

c#

C# でゼロから Deep Learning を実装する挑戦の続き。 4 章もようやく終盤で、いよいよ機械学習に入る。 今回はニューラルネットワークに対する勾配を実装してみた。 using System; using System.Linq; using MathNet.Numerics.LinearAlgebra; namespace Gra…

勾配降下法を実装してみた

c#

C# でゼロから Deep Learning を実装する挑戦はまだ 4 章。 機械学習で使う勾配降下法を実装してみた。 勾配を計算するメソッドは前回記事を流用している。 using MathNet.Numerics.LinearAlgebra; using System; using System.Linq; namespace GradientDesc…

勾配を実装してみた

c#

C# でゼロから Deep Learning を実装する挑戦を少しずつ進めている。 まだ第 4 章だけど。 今回は勾配を実装してみた。 using MathNet.Numerics.LinearAlgebra; using System; using System.Linq; namespace NumericGradientSample { class Program { static…

数値微分を実装してみた

c#

C# でゼロから Deep Learning を実装する挑戦の続き。 今回は第 4 章の数値微分を実装してみた。 using System; namespace NumericalDifferentiationSample { class Program { static void Main(string[] args) { // 微分 Func<double, double> function1 = x => 0.01 * Math</double,>…

損失関数を実装してみた

c#

C# でゼロから Deep Learning を実装する挑戦の続き。 今回は第 4 章で紹介されている損失関数(2乗和誤差と交差エントロピー誤差)を実装してみた。 using MathNet.Numerics.LinearAlgebra; using System; using System.Linq; namespace LossFunctionSample {…

超単純な 3 層ニューラルネットワークを実装

c#

C# でゼロから Deep Learnig を実装する挑戦の続き。 今回は超単純な 3 層ニューラルネットワークを実装してみた。 といっても、『ゼロから作る Deep Learnig』の 3 章の写経みたいなもの。 C# + Math.NET Numerics で試行錯誤しながら書いたコードは次の通…

MNIST データセットを読み込んでベクトルに変換

c#

C# でゼロから Deep Learning を実装する挑戦の続き。 この挑戦では、『ゼロから作る Deep Learning』同様に、 手書き数字認識のニューラルネットワークを実装するので、 MNIST データセットを利用する。 MNIST handwritten digit database, Yann LeCun, Cor…

活性化関数とソフトマックス関数を実装

c#

『ゼロから作る Deep Learning』を読んで C# で実装したみたくなった続き。 今度はニューラルネットワークで使う関数に挑戦してみた。 実装するのは活性化関数であるシグモイド関数、ReLU 関数。 そして出力層で使うソフトマックス関数。 あとおまけでステッ…

パーセプトロンで論理回路を実装

c#

『ゼロから作る Deep Learning』を読んで、C# で実装してみたくなった。 問題は NumPy の変わりに何を使うかだけど、C# には Math.NET Numerics というのがある。 numerics.mathdotnet.com ベクトルや行列の計算はできそう。テンソルはやってみないと分から…

ASP.NET Core で Swashbuckle

c#

はじめに Swashbuckle はまだプレリリースの段階ではあるけど、 ASP.NET Core にも対応しているみたい。 github.com Swashbuckle を使えば、Web API の実装から Swagger Definitions を生成できる。 温かみのある手作業で、 Web API の Swagger Definitions …

証明書ファイルを読み込んで WCF の SSL over TCP で使う

c#

WCF は NetTcpBinding を使う場合でも SSL で通信を暗号化できる。 暗号化に使う SSL 証明書は、Windows の証明書ストアにインストールしてある中から検索して使うのが一般的なやり方っぽいが、 インストールしていない証明書のファイルを読み込んで使うこと…

WCF サービスを Topshelf で Windows サービス化

c#

はじめに WCF サービスをセルフホストする場合、 Windows サービスを作ることになると思う。 本番環境で動かすときは Windows サービスでいいんだけど、 デバッグはコンソールアプリケーションの方が便利。 そのため、Windows サービスとコンソールアプリケ…

ASP.NET Core アプリケーションの Docker コンテナを Heroku で動かしてみた

はじめに ASP.NET Core アプリケーションを Docker で動かすことができた。 tnakamura.hatenablog.com そういえば、Heroku で任意の Docker コンテナを動かすことができるようになっていたな。 まだベータ版な上、制限もあるみたいだけど。 もしかしたら ASP…