ROMANCE DAWN for the new world

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

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

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

Azure Cloud Services のデプロイが完了しない原因を特定する方法

久しぶりに Azure Cloud Services のデプロイでハマってしまったので共有しておきます。 Web Role や Worker Role のプロジェクトをデプロイした際、パッケージに問題があり、ビジー → 再開中 が繰り返されてデプロイが完了しないときがあります。ポータル上…

ASP.NET MVC で JSON の一部として PartialView を返す方法

gooner.hateblo.jp 前回の記事では、Ajax 通信でページを部分更新する際の例外処理について記載しましたが、それに関連した内容です。 ASP.NET MVC 5 の Ajax 通信で PartialView を返す際に、JSON の一部として返したいケースがありました。例外処理と似た…

ASP.NET MVC の Ajax 通信で例外を処理する

ASP.NET MVC 5 の Ajax 通信でページを部分更新する際に、どのように例外を処理すべきかを悩んだので、まとめておきます。 現象 Ajax 通信で PartialView を返すアプリをシンプルなコードで実装します。 #HomeController.cs public class HomeController : C…

SuppressFormsAuthenticationRedirect プロパティが便利だった件

.NET Framework 4.5 から追加された SuppressFormsAuthenticationRedirect プロパティが便利でした。フォーム認証を設定している ASP.NET MVC アプリと同じプロジェクトに ASP.NET Web API を実装した場合、Web API の Controller のアクションメソッドで Ht…

アーセナルが FA カップを連覇!!

5月30日に ウェンブリー スタジアム で行われた FA カップ決勝戦、アーセナル vs アストン・ヴィラは 4-0 でアーセナルが勝利し、歴代最多 12 回目の優勝を果たしました。優勝の余韻が消えないうちに、グーナーの思いを綴ってみることにしました。 スタメン…

Azure SDK 2.6 の Azure Diagnostics に移行する

gooner.hateblo.jp 以前の記事でも書きましたが、Cloud Services で Azure Diagnostics を利用している場合、2015年12月9日までに Azure SDK 2.5 以降で利用できる Diagnostics 2.0 にアップグレードする必要があります。重複する部分もありますが、この記事…

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

jazug.doorkeeper.jp 先日、Global Azure Boot Camp 2015 in Japan に参加して、LTしてきました。 speakerdeck.com Azure App Services のネタが中心だったので、最近仕事でも使い始めた Web Apps の話をしました。LT の最後に紹介した孤独のグルメのアプリ…

Semantic Logging Application Block で ETW ログを Azure Search に出力する

www.buildinsider.net 先月、Build Insider MEETUP with Grani に参加してきました。C# で Web アプリケーションを作るフレームワークの話のなかで、Semantic Logging Application Block(SLAB)が面白そうだったので、試してみました。 SLAB は、Event Trac…

SendGrid の Event Webhook から POST されたデータを Azure DocumentDB に登録する

SendGrid の Event Webhook を利用すると、メールを送信する際に発生したイベントを指定した URL に POST することができます。POST されるデータは、delivered や bounce などのイベントタイプによってスキーマが異なる JSON 配列なので、スキーマフリーの …

SendGrid の Web API v3 で統計情報を取得する

久しぶりに、SendGrid の Web API のドキュメントを読んだら、Web API v3 が公開されていました。Web API v3 は、Basic 認証を使うようになり、API のリクエストの送信先ホストも変更されています。 gooner.hateblo.jp 以前の投稿で、統計情報を取得する Gen…

Azure Search で地理空間検索アプリを作ってみる

Azure Search の地理空間検索を使用すると、ある地点から特定の距離内にある検索対象を見つけることができます(現在位置から 5 km 以内にあるすべてのレストランを検索するなど)。この機能を使って、孤独のグルメに登場したお店を検索できる ASP.NET MVC …

Azure SDK 2.5 の Azure Diagnostics に移行する

(追記)Azure SDK 2.6 の Azure Diagnostics に移行することをお薦めします。 gooner.hateblo.jp 昨年の 12月10日に Azure アカウント宛にメールが来ていて、Cloud Services(Web Role, Worker Role)で Azure Diagnostics を利用している場合、2015年12月9…

Windows Phone 8.1 アプリにプライバシーポリシーのリンクを実装する

新年早々、公開している Save to Instapaper が 10.5.1 のポリシーに違反しているとのメールが来ました。理由が分からず Twitter でつぶやいてみると、biacさんから情報を頂きました。 .@TonyTonyKun う~ん、へんですねぇ。 Save to Instapaperはユーザー情…

2014年振り返り

しばやんさんが作った 2014 年の人気記事ランキングを生成するサービスを使わせてもらい、今年を振り返ってみます。 2014 年の人気記事ランキングです。 ASP.NET Web API で multipart / form-data を使ってファイルをアップロードする Azure Virtual Machin…

Azure Media Indexer で動画の字幕検索アプリを作ってみる

この記事は、Azure Advent Calendar 2014 と ASP.NET Advent Calendar 2014 の両方の 13 日目 の記事です。 qiita.com qiita.com Azure Media Indexer と Azure Search を使って、動画に字幕を表示し、検索した字幕データの時間から再生できる ASP.NET MVC …

ASP.NET Web API で Jil JSON Serializer を使ってみる

この記事は、ASP.NET Advent Calendar 2014 の2日目の記事です。 qiita.com 「ASP.NET Web API の パフォーマンスを改善するための8つの方法」というブログから、JSON のシリアライズを高速化する方法として、MediaTypeFormatter を Jil JSON Serializer …

Helios を使うとワーカースレッド数が制限されていた話

まだ、Version 1.0.0 - alpha 1 ですが、Project Helios を使った Web アプリケーションでは、リクエストの実行に使用するワーカースレッドと完了ポートスレッドの数が制限されていました。 気が付いたきっかけは、Azure Web サイトにデプロイして動かした際…

Windows Phone 8.1 から Instapaper Simple API を呼び出すとエラーが発生する

先月、Windows 8.1 と Windows Phone 8.1 の共有コントラクトから、あとで読みたい記事の URL を Instapaper に保存できるアプリをリリースしました。 gooner.hateblo.jp その際に、Shared プロジェクトに Instapaper Simple API の呼び出しメソッドを実装し…

ASP.NET vNext で別ソリューションのクラスライブラリを参照する

※ Visual Studio 14 CTP 4 時点での情報です。 ASP.NET vNext では、Web アプリケーションと同一のソリューションに追加したクラスライブラリであれば、project.json にインテリセンスを使って依存関係を追加することができます。別ソリューションのクラスラ…

SendGrid の Web API でメール送信通数を取得する

SendGrid を使ってメールを送信する Web サービスを開発するにあたり、日々どのくらい利用されているのかを把握したかったので、ふとツイートしてみると SendGrid のサポートの方からレスを頂けました。 @TonyTonyKun こんにちは、SendGridサポートです! 送…

JAZUG 4周年総会に参加して LT してきました

9月20日土曜日、JAZUG 4周年総会に参加し、LTしてきました。 speakerdeck.com 初めてのLTだったので、かなり緊張しました。リハは行っていたのですが、5分間という時間制限に焦ってしまい、だいぶ駆け足で参加者の反応を見る余裕もないプレゼンになってしま…

Azure Storage Client Library 1.7 を 4.3 に移行する

8月上旬に、Azure Storage の 古い REST API が削除されることが告知されました。Client Library の Version 1.x は、2015年8月1日以降に使うことができなくなります。古い REST API と Storage Client のサポート終了日は、2015年8月1日 から 2015年12月9日…

Azure Storage Client Library 1.7 を 4.3 に移行する( Table 編 )

Storage Client Library 1.7 を 最新版(4.3)に移行する際のポイントをまとめます。この記事では、Table Storage について記載します。それ以外については、記事を分けました。 Azure Storage Client Library 1.7 を 4.3 に移行する Azure Storage Client L…

Azure Storage Client Library 1.7 を 4.3 に移行する( Blob 編 )

Storage Client Library 1.7 を 最新版(4.3)に移行する際のポイントをまとめます。この記事では、Blob Storage について記載します。それ以外については、記事を分けました。 Azure Storage Client Library 1.7 を 4.3 に移行する Azure Storage Client Li…

Azure Storage Client Library 1.7 を 4.3 に移行する( Queue 編 )

Storage Client Library 1.7 を 最新版(4.3)に移行する際のポイントをまとめます。この記事では、Queue Storage について記載します。それ以外については、記事を分けました。 Azure Storage Client Library 1.7 を 4.3 に移行する Azure Storage Client L…

Save to Instapaper をリリースしました

Build 2012 で配られた Lumia 920 にも 8.1 の更新が降ってきたこともあり、Windows 8.1 と Windows Phone 8.1 向けのストアアプリを作って公開しました。初めてということで、なるべくシンプルに作れるアプリが欲しかったので、共有コントラクトから、あと…

ASP.NET Web API で Azure Redis Cache を利用する

クラウドデザインパターンの Cache-Aside Pattern を ASP.NET Web API で実装してみました。Cache-Aside Pattern は、オンデマンドでデータをキャッシュに効率的に読み込むパターンです。キャッシュ機構には、Azure Redis Cache(Preview)を利用しています…

Visual Studio から Azure WebJobs に発行する

Visual Studio から Console Projects を Azure WebJobs に発行できるようになったので、試してみました。Visual Studio 2013 Update 3 + Azure SDK 2.4 をインストールする必要があります。 以前の記事と同様に、WebJobs と SendGrid の SDK を使って、発生…

Azure Service Bus のイベント駆動型メッセージ プログラミング モデル

クラウドデザインパターンを読んでいて、Pipes and Filters や Priority Queue で Azure Service Bus のキューを使用する際に、新しいプログラミング モデルが使われていることに気が付きました。イベント駆動型メッセージ プログラミング モデルと呼ばれて…