ROMANCE DAWN for the new world

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

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してきました。 docs.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 のキューを使用する際に、新しいプログラミング モデルが使われていることに気が付きました。イベント駆動型メッセージ プログラミング モデルと呼ばれて…

Azure Automation で Virtual Machines の起動と停止を自動化する

Azure Automation は、PowerShell ベースの Runbook を実行することで、Azure 環境の作成や展開を自動化することができます。Azure Virtual Machines の起動と停止をスケジュールで自動化するシナリオを試してみました。こちらのブログを参考にしましたので…

Azure Virtual Machines に Point to Site で VPN 接続する

オンプレミスの PC から Azure の仮想マシンに対して、Point to Site VPN の接続を試してみました。Site to Site VPN の接続に比べて、手軽に VPN を構築することができます。 仮想ネットワークの作成 管理ポータルから、仮想ネットワークを作成します。仮想…

Azure RemoteApp で Silverlight アプリを動かしてみた

やっと、Azure RemoteApp Preview がアクティブになったので、試してみました。デフォルトでは Excel や Word などの Office 製品が公開されていますが、Internet Explorer や Adobe Reader などのアプリも追加で公開できます。 Internet Explorer を公開で…

OWIN で Nancy を使うときに必要な追加実装

今更感がありますが、OWIN で Nancy を使って Web API を実装してみました。その際に、少しハマったことがありますので、共有しておきます。 プロジェクトの作成 空の WebApplication プロジェクトに NuGet パッケージをインストールします。 Install-Packag…

ASP.NET vNext で Web API を試してみた

Visual Studio 14 CTP がリリースされたので、ASP.NET vNext で Web API を試してみました。 MVC と Web API が MVC 6 にマージされたので、Areas を利用して Web API のコントローラーをルーティングしてみます。GET のリクエストで、Person オブジェクトの…

Windows Phone 8.1 では WCF がサポートされていなかった

タイトルの通りなのですが、Windows Phone 8.1 では、WCF(System.ServiceModel 名前空間)に非対応でした。ServiceContract などを使おうとしても、コンパイルエラーとなってしまいます。 Silverlight のサブセットである Windows Phone 7.5 や 8.0 では、W…

OWIN の Middleware をサブディレクトリに適用する

先週、OWINって何?Microsoft MVPに聞いてみよう! に参加してきました。 connpass.com サブディレクトリに、OWIN の Middleware を適用する方法を教えて頂いたので、試してみました。Web API へのリクエストだけに ロギング Middleware を追加するシナリオ…

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

5月17日に ウェンブリー スタジアム で行われたFAカップ決勝戦、アーセナル vs ハルシティは、延長の末、3-2でアーセナルが勝利し、通算11回目となるFAカップ優勝を果たしました。優勝の余韻が消えないうちに、グーナーの思いを綴ってみることにしました。 …

Azure Virtual Machines では Windows Phone 8.1 Emulator を起動できなかった

TechEd NA 2014 で発表があったのように、Azure の Virtual Machines で Windows 7 と 8.1 のクライアント OS の VM イメージが使えるようになりました。 先日、Windows Phone Arch in Tokyo に参加したこともあり、Universal Windows App を試したかったの…

ASP.NET Web API で MediaTypeFormatter を追加する

gooner.hateblo.jp 前回の投稿では、multipart / form-data を使ってファイルをアップロードしました。ASP.NET Web API において、クライアントから POST されたコンテンツが POST や PUT メソッドの引数にバインディングされるのは、JSON や XML 用の Media…

ASP.NET Web API で multipart / form-data を使ってファイルをアップロードする

ASP.NET Web API でファイルをアップロードする際に、Content-Type の異なるデータを送信したかったので、multipart / form-data を使う方法を試してみました。画像ファイルのバイナリデータとファイル名を送信して、Azure Blob Storage にアップロードする…

ASP.NET Web API のコントローラーをグループ化する

ASP.NET Web API を利用した大規模なアプリケーションでは、コントローラーを複数のグループに分割し、それぞれのグループで個別に開発したくなります。例えば、ユーザー向け(test1)と管理者向け(test2)の Web API を分けるケースなどがあります。 GET a…

Windows Azure Notification Hub を使ってプッシュ通知する(後編)

gooner.hateblo.jp 前回の投稿では、Windows Azure Notification Hub(通知ハブ)を使わずにプッシュ通知したので、今回は通知ハブを使って実装してみました。通知ハブについては、こちらのMSDNが分かりやすかったです。 Windows Azure Notification Hub の作…

Windows Azure Notification Hub を使ってプッシュ通知する(前編)

Windows Azure – 技術者でつなぐ日めくりカレンダー の 3/24 の記事です。Windows Azure Notification Hub (通知ハブ)を使って、Windows Store アプリへのプッシュ通知を試してみました。記事が長くなったので、2回に分けて投稿します。 まずは、プッシュ…

ASP.NET Web API を経由して Azure Blob Storage にアクセスする

実際に試してみたら、少しハマってしまったので、備忘も兼ねて投稿しておきます。 Azure Storage Client を使って Blob にアクセスできますが、 クライアントに Azure Storage のキーや署名情報を公開したくない アクセスログを取りたい といった要件があっ…

Windows Azure Web Jobs SDK を使って SendGrid からメール送信する

// 20140811 追記 --------------------------- ↓ WebJobs SDK の 0.3.1-beta に対応したコードに変更しました。 gooner.hateblo.jp // 20140811 追記 --------------------------- ↑ Windows Azure – 技術者でつなぐ日めくりカレンダー の 3/7 の記事です。…

Windowsストアアプリの未処理例外を捕捉する

Windows 8 では、ストアアプリで処理されなかった例外を UnhandledException イベントで捕捉できませんでした。予期せぬ例外が発生すると、ストアアプリがストンと落ちてしまうアレです。Silverlight のときは、非同期処理の中で発生した例外であっても、Unh…

Windows Azure Webサイトを WebDeploy Package で配置する

先月のアップデートで、Webサイトにもステージングが用意され、VIP Swap できるようになりました。Cloud Services(Web Role)でなくてはならない理由は、ほとんどなくなったのですが、1つだけ気になっていたことがありました。 それは、「プログラマとデプ…

OWIN で ASP.NET Web API を Windows Azure Active Directory 認証する

gooner.hateblo.jp 前回の投稿では OWIN でマルチホストしましたが、今回はミドルウェアの Windows Azure Active Directory(WAAD)認証ライブラリを利用して、ASP.NET Web API を OAuth 2.0 認証してみます。元ネタはこちらですが、Visual Studio のテンプ…

OWIN で ASP.NET Web API をマルチホストする

OWIN を少し理解できたので、ASP.NET Web API をマルチホストしてみました。コンソールアプリ、IIS の Webアプリ、Windows Azure の WebRole の3つでホスティングします。 ソリューション構成は、こんな感じです。 Web API のロジックをクラスライブラリにす…

Windows Azure X WordPress でブログ始めました

はじめまして、トニーです。クラウドという新世界で、ひとつなぎの大秘宝を探しているプログラマです。Windows Azure を中心とした技術は、進化のスピードが速く、キャッチアップも大変ですが、クラウドの適用領域の広がりにワクワクしますし、コードを書く…