ROMANCE DAWN for the new world

Microsoft Azure を中心とした技術情報を書いています。

Visual Studio for MAC を試してみた

先日の Microsoft Connect(); で発表された MAC 向けの Visual Studio(Preview)を試してみました。 ASP.NET Core で作った Web API を Xamarin Forms のアプリから呼び出してみます。 インストール こちらから無料でダウンロードすることができます。 www.…

ASP.NET Core を Docker Cloud で Azure に自動デプロイする

最近、ASP.NET Core を触り始めたので、de:code 2016 のセッションで行われていたデモを試してみました。セッションでは Azure と AWS にデプロイしていましたが、今回は Azure だけにデプロイします。 Mac 上で ASP.NET Core のプロジェクトを作成する GitH…

Mac で ASP.NET Core を動かしてみた

公式のチュートリアル手順で簡単に動かせると思っていましたが、環境構築に少し手間取ったので、まとめておきます。 Your First ASP.NET Core Application on a Mac Using Visual Studio Code — ASP.NET documentation 環境構築 最近購入した MacBook Pro を…

ファイルをアップロードする API の Swagger ドキュメントを書く

ASP.NET Web API では、Swashbuckle を使って Swagger ドキュメントを作成します。 具体的な手順は、過去の記事を参照してください。 gooner.hateblo.jpASP.NET Web API で実装したファイルをアップロードする API のドキュメントを Swagger で書く方法を調…

JAZUG 6周年総会で Azure Functions の話をしてきました

jazug.connpass.com 先週の土曜日、JAZUG 6周年総会に参加して、Azure Functions の話をしてきました。speakerdeck.comサーバーレスや Azure Functions の話題は、他のセッションでも挙がっていたので、話しやすい流れでした。PaaS でも十分便利ですが、マイ…

ASP.NET Web API で返す JSON のプロパティを指定する

ASP.NET Web API のレスポンスで JSON を返す際に、クエリパラメータで指定したプロパティだけを返したいケースがありました。コントローラークラスのアクションメソッドの戻り値の型は変更せずに、動的にシリアライズするプロパティを変更する方法をまとめ…

ASP.NET Web API の Swagger ドキュメントでコメントを改行する

ASP.NET Web API では、Swashbuckle を使って Swagger ドキュメントを作成します。 具体的な手順は、過去の記事を参照してください。 gooner.hateblo.jp例えば、GUID 型の ID を指定して取得する API を実装すると、Swagger ドキュメントでは string 型とし…

ASP.NET Web API の Swagger ドキュメントからパラメータのモデル名を削除する

ASP.NET Web API では、Swashbuckle を使って Swagger ドキュメントを作成します。 具体的な手順は、過去の記事を参照してください。 gooner.hateblo.jpアクションメソッドに FromUri 属性を指定すると、URI のパラメータを自分で定義したクラスにバインドで…

書籍「Microservices on Azure」の感想

先月の JAZUG の勉強会で Azure Service Fabric の話を聞いて、読んでみたくなった書籍でした。既にマイクロサービスという用語がバズワードになっている感もあって、実際どうなんだろうなあと思っていましたが、de:code 2016 に参加してその重要性を肌で感…

//build/ 2016 振り返り勉強会で Azure Functions の話をしてきました

csugjp.doorkeeper.jp先週の土曜日、//build/ 2016 振り返り勉強会に参加して、Azure Functions の話をしてきましたspeakerdeck.com最後にデモした Azure Storage Account Replication の補足です。 https://blogs.msdn.microsoft.com/cloud_solution_archit…

Azure Machine Learning で玉手箱の例題を解いてみる

Global Azure Boot Camp 2016 in Japan で LT した内容を記事にまとめておきます。 gooner.hateblo.jpAzure Machine Learning を使って、玉手箱の例題を解いてみました。 玉手箱は、就職活動でお馴染みの WEB テストです。その中でも、計数理解テストにある…

Global Azure Boot Camp 2016 in Japan に参加して LT してきました

jazug.doorkeeper.jp昨日、Global Azure Boot Camp 2016 in Japan に参加して LT してきました。speakerdeck.comAzure Machine Learning の入門的なネタで話しました。回帰分析、クラスタリング、レコメンドあたりのシナリオが分かりやすいです。身近なデー…

Azure Functions で SendGrid の Event Webhook からの通知を受け取ってみる

Build 2016 報告会で LT した内容を記事にまとめておきます。 gooner.hateblo.jp Azure Functions を利用して、SendGrid の Event Webhook から POST されたデータを受け取り、Azure DocumentDB に登録してみます。従来の方法については、過去の記事で書いて…

Build 2016 報告会に参加して LT してきました

thinkit.connpass.com 昨日、Build 2016 報告会に参加して LT してきました。speakerdeck.com 決選投票まで残りましたが、残念ながら de:code の参加チケットは当たりませんでした。でも、Azure Functions の面白さを多少でも伝えることができたと思いますし…

Azure SDK 2.7 以前のサポート終了について

先日、Azure SDK 2.9 がリリースされてましたが、Azure SDK 2.2 ~ 2.7 について、2017年4月3日にサポートを終了することが告知されています。 Support and Retirement Information for the Azure SDK for .NET and APIsAzure SDK 2.9 をインストールした環…

Roslyn で ASP.NET Web API 向けの Code Analyzer を作ってみた

Visual Studio 2015 から追加された .NET Compiler Platform(Roslyn)を使って、ASP.NET Web API 向けの Code Analyzer を作ってみました。 環境構築 Roslyn で Code Analyzer を開発するには、Visual Studio のオプション機能と .NET Compiler Platform SD…

Entity Framework Core 1.0 で SQLite を使ってみる

UWP

UWP でローカルデータベースを使いたかったので、 Entity Framework Core 1.0(旧 Entity Framework 7)で SQLite をコードファーストで試してみました。 Entity Framework Core 1.0 をインストールする Visual Studio で作成した UWP のプロジェクトに、NuG…

プロキシ環境下で Web API を呼び出す

プロキシ サーバーを経由してクラウド上の Web API を呼び出す方法をまとめておきます。プロキシ環境下において、HttpWebRequest や HttpClient を使って通常通りに Web API を呼び出すと、HTTP ステータスコードの 407(Proxy Authentication Required)が…

SendGrid Bounces API でバウンスリストからメールアドレスを削除する

Azure にデプロイした Web アプリケーションから、SendGrid を使ってメール送信しているのですが、docomo などのキャリアメールが割とバウンスしやすいです。バウンスした原因である受信拒否を解除しても、バウンスリストからメールアドレスを削除しないと、…

2015 年振り返り

今年も、しばやんさんが作った 2015 年の人気記事ランキングを生成するサービスを使わせてもらい、1年を振り返ってみます。 blog.shibayan.jp 2015 年の人気記事ランキングです。 Azure SDK 2.5 の Azure Diagnostics に移行する Azure Storage Client Libr…

Azure Web Apps 上の WordPress から記事を移行した話

はてなブログを始めたきっかけは、Azure Web Apps 上の WordPress で構築していたブログに接続できなくなってしまったことでした。Twitter で情報を頂いたおかげで、2年ほど書いていた過去の記事を移行することができたので、その顛末をまとめておきます。 …

Swagger 2.0 に対応した ASP.NET Web API のドキュメントを作成する

この記事は、ASP.NET Advent Calendar 2015 の 8 日目 の記事です。 qiita.com 久しぶりに Swagger を使って ASP.NET Web API のドキュメントを作成してみたら、Swashbuckle の使い方が少し変わっていたので、変更点をまとめておきたいと思います。 Swagger …

Azure Resource Manager SDK を使って Web アプリをデプロイする

この記事は、Azure Advent Calendar 2015 の 4 日目 の記事です。qiita.comAzure Resource Manager(ARM)REST API を呼び出せる SDK のプレビュー版が公開されているので、試してみました。Azure Web Apps に ASP.NET MVC アプリケーションをデプロイします…

はてなブログに移行しました

Azure Web Apps 上に WordPress を構築してブログを書いていましたが、はてなブログに移行しました。移行といっても、ClearDB が壊れて接続できなくなり、過去の記事はすべて消えてしまったのでゼロからの再スタートですが・・・一応 Azure Web Apps のバッ…

Azure の Storage Client と Diagnostics の旧バージョンサポート終了について

以前の記事で、Azure の Storage Client と Diagnostics の旧バージョンサポート終了に伴う移行方法を書きましたが、サポート終了日の延期が2回ほど告知されているため、改めて整理してみました。 Azure Storage Client 最新の告知では、Ver.1.7 ~ 1.5.1 …

HttpClient を使って同期で通信する

HttpClient はとても使いやすいのですが、async / await の非同期処理のデッドロックにハマることがあります。 デッドロック 次のコードは、WPF におけるデッドロックの例です。 #MainWindow.xaml.cs private void Button_Click(object sender, RoutedEventA…

ASP.NET でクライアントの IP アドレスを取得する

ASP.NET MVC や Web API で、クライアントの IP アドレスを取得する方法をまとめておきます。プロキシサーバーなどを経由して Web サーバーに接続された場合、HTTP ヘッダーの X-Forwarded-For から取得する必要があります。 ASP.NET MVC サーバー環境変数か…

SlideShare アカウントが一時停止された話

先日、SlideShare アカウントが一時停止されてしまい、ログインできなくなってしまいました。 Oops! Your account was suspended after violating SlideShare's Terms of Service and/or Community Guidelines.Please read the Suspended Users FAQ to resol…

Azure Web Apps に Parameters.xml を使って WebDeploy する

ASP.NET MVC アプリケーションの WebDeploy パッケージを Azure Web Apps にデプロイする際に、Web.config に埋め込まれた Storage などの接続文字列を書き換えるために zip ファイルを展開する作業が非常に手間でした。 調べてみると、デプロイする際に Par…

Go (5) JAZUG / JAZUG5周年総会に参加して LT してきました

jazug.doorkeeper.jp 先週の土曜日、Go (5) JAZUG / JAZUG5周年総会に参加して LT してきました。 speakerdeck.com 今回は、ご当地 JAZUGのセッションがあり、普段東京のイベントにしか参加したことがなかったので、支部の方々とお話しできたのが良かったで…