エフサミ2014にて Microsoft Azure ハンズオンを行いました

エフサミ公式サイト エフサミ2014のリンクまとめ - Yuya Yamaki’s blog とても楽しい二日間でした。 一日目 台風が心配されましたが、青空の中送迎バスで仙台から郡山へ。バスの中はお祭りで会話が絶えませんでした。 f:id:nnasaki:20140712075142j:plain Google 及川さんの基調講演はインターネット歴史おじさん話 そうねそうねーといろいろ頷きながら聞いてた。 #efsumi14 OSI vs TCP/IP。比較していい加減といわれる最終的にTCP/IPが生き残った理由とは— 名誉師範になりたいたかさん (@takagerbera) 2014, 7月 12 #efsumi14 「大まかな合意と動くプログラム」「シンプルさと単純さ」— 名誉師範になりたいたかさん (@takagerbera) 2014, 7月 12 #efsumi14 及川さん:IETFはOSIと異なり、「大まかな合意と動くプログラム」!かっちり決めるのではなく大まかに、単純なところから始めて複雑に!これがいまのInternetを支えている! pic.twitter.com/lfRykdJsvz— 小泉勝志郎 (@koi_zoom1) 2014, 7月 12 End - to- Endが大事 OSI7階層のようにきれいでなくてもいい、手作業でも何でも、まずやることが大事、Person Finderの事例から(かなり端折ってます) #efsumi14— 鍋島 理人 (@nabemasat) 2014, 7月 12 インターネットの歴史から見ると、最初からきちっと設計するよりは作りながら整えるほうが勝っているように思えます。アジャイルに通じる話でもありました。 お昼はLT聞きながら、超特大唐揚げ弁当で満腹。唐揚げ好きだけど残してしまうぐらい多かった。 f:id:nnasaki:20140712123228j:plain 午後は Microsoft Azure ハンズオン! MSよりエヴァンジェリストの畠山さんをお呼びして、JAZUG仙台として木村さんと一緒にAzureのハンズオンを行いました。 f:id:nnasaki:20140712151245j:plain 内容は ASP.NET MVC5 と EF と SQL Server を使って作成したアプリを、Webサイトにデプロイするという内容。 事前準備をしていない人がいたり、Azureの契約が出来なかったり、SQL Serverやリモートデスクトップのポートが塞がってたりして、ばたついてしまった。事前にいろいろ問題を想定していたんですが、それ以上に問題が出てしまい、反省する点も多かった。 ハンズオン後は、延長戦で畠山さんからMicrosoft Azure メディアサービスの紹介。メディアサービスソチオリンピックやワールドカップでも使われており、ライブ配信も可能(但し、現在はプライベートプレビュー) 実際にWebカメラをライブ配信していただきましたが、めんどくさいことは全部Azureでやってくれて、HTMLにリンクを張るだけで、iPhoneからもPCからもストリーミング再生が出来るのは感動しました。しかも、配信を止めた後はアーカイブとして再生可能。ストリーミングは転送料金が高くつきそうですが、これは魅力的だと思いました。 二日目 所用があり、二日目は参加せずに帰ろうかと思いましたが、澤さんのプレゼン講座があるということで参加することにしました。結果は参加して大正解だった。文章にすると、誤解を与えてしまうかもしれないのであえて書かない。 ...

July 15, 2014 · nnasaki

Microsoft Azureモバイルサービスにてswift版がダウンロードできるようになってました。

タイトルの通り、Microsoft Azureモバイルサービスにてswift版のTodoアプリがダウンロードできるようになってました。私の Pull Request もちゃんとはいっているようで嬉しいです。 f:id:nnasaki:20140713092508p:plain @naoya_ito さんのつぶやき見るまで気づいていなかったというダメっぷり。。。 Azure の MBaaS に流石に iOS の SDK とかは入ってないかと思ったら、ちゃんとあるのな。Swift 版のもあった #hcmpl pic.twitter.com/LqoC6QL4ur— Naoya Ito (@naoya_ito) 2014, 7月 12

July 13, 2014 · nnasaki

Microsoft Azure Web サイト で Go言語 を CGI で動かす

The Go Programming Language皆さんやってますか?Technology Radar July 2014 | ThoughtWorksでは ADOPT となり、あの @t_wada さんも 「2014年プログラミング大予測」に参加しました - t-wadaのブログ にて今年流行ると言っています。まさに今が旬な言語です。 まず最初は Hello, World から http://golang.org を開くと、最初に目につくのは Hello World です。(正確には Hello, 世界になってたけど) おもむろに Run をクリックすれば表示されます。 kobito.1404828211.848469.png 各プラットフォームに対応 Downloads - The Go Programming Language をみればわかるとおり、Mac OS X、Linux、Windows と各プラットフォームに対応していることがわかります。親切にインストーラーも用意されていますので、簡単にインストールすることが可能です。 kobito.1404828485.060400.png 日本語チュートリアルも用意されている A Tour of Go にて Hello, World から条件分岐、ループ、例外、HttpServer まで一通り説明されています。各トピックが1ページにまとまっており、PlayGroundですぐに実行して確認出来るため、既に他言語をやっている人にとって習得は用意だと思われます。 kobito.1404828738.913070.png Microsoft Azure Web サイトで Hello, World を出力する Go 言語の紹介はここまでとして、ここからが本題です。 Microsoft Azure Web サイトで Go言語 が動かないかなと思いました。なぜなら以前にWindows Azure Web サイトで Ruby を動かしてみた(CGI 編) - しばやん雑記 を見ていたからです。そして、 試行錯誤した結果、動きました!! ...

July 9, 2014 · nnasaki

Microsoft MVP for Microsoft Azure を初受賞いたしました

Microsoft MVP for Microsoft Azure を今回受賞することが出来ました。誠に嬉しく思うことと同時に、身が引き締まる思いです。 ここ一年を振り返ると、Microsoft Azure Mobile Services を中心に執筆やオフラインで登壇などの活動をしてきました。Mobile Services は Windows はもちろんのこと Android からも使えるし、iOS からも使えるという本当にすばらしいサービスです。 その反面、クライアントの範囲が広いので、調査する量も膨大で苦労しました。結果、クライアントの話だけで手一杯となり、サーバー側はあまりキャッチアップ出来てなかったなぁと反省しています。 モバイルサービスへのコントリビュートも最初はリジェクトされました。ですが、次のプルリクエストが最終的にマージされて よかったなぁと思います。if 追加しただけのしょっぱいコードですけどね。 モバイルサービス SDK の Master にマージされたので、そろそろモバイルサービス swift 版 の Todo アプリがポータルからダウンロード出来るようになるかもしれません。 今後は目標は二つです。 一つ目はモバイルサービスだけではなく、Microsoft Azure の他のサービスを含めて実践的な使い方をご紹介しつつ、自身が作成したアプリなどの事例などを交えて、より多くの人に Microsoft Azure を使っていただくことです。 二つ目は東北の仙台において、数少ない MVP として .NET 界隈を盛り上げていきたいと思っています。ASP.NET vNextにも issue を登録したりしていますが、Xamarin や Unity 等は Mac 上でも動きますし、c#は言語ランキングでも4位に入る という調査結果もあります。どうにか盛り上げていければなぁと思います。 私にとって Microsoft MVP は一つの目標でしたがゴールではないので、今後も後悔だけはしないように活動を継続していきたいと思います。よろしくお願いいたします。 #英語もがんばらないとなぁ…

July 1, 2014 · nnasaki

Azure Files を試そうと思ったけど試さなかった

#122718119 / gettyimages.com Azure Files はプレビュー期間中のサービスで、簡単に言うと Windows のファイル共有のクラウド版。 但し、AzureのVMに限る。 プレビューがようやく使えるようになったので、試そうと思ったんだけどあまり使えるシチュエーションが思いつかなかったので止めてしまった。 この但しが無ければ、自分のPCから直接ファイルを読み書き出来て良かったんだけどなー。 Azure Files の主な利用用途は、Azureの複数のVM間で共有できるディスクです。 例えばファイルアップロードサービスで、複数のWebサーバーから同一のファイルを参照したいとかに使えるのかな。うーん、でも読み込みならCDNで良いし、書き込みも SMB じゃ同時書き込みの問題があるから、普通に Blob の リース 使った方が良いと思うなぁ。便利そうに見えて使いどころが難しい気がする。 ファイルごとに ACL を設定して、Azure Active Directory と連携できれば面白いかもしれないけど、プレビューサービスではまだ対応していない。 あとは、VPN 内なら可能にするとか制限がもうちょっと緩くなるといいかな。 情報源 Microsoft Azure Files サービスの概要 - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs Microsoft Azure Files への接続の保持 - Microsoft Azure Japan Team Blog (ブログ) - Site Home - MSDN Blogs File Service REST API Windows Azure Storage Service の Blob を認証・承認されたユーザーのみ限定で公開する Web アプリの自作 : @jsakamoto

June 29, 2014 · nnasaki

Azure API ManagementとAzure モバイルサービスを組み合わせて使ってみた

kobito.1402416220.009483.png Azure Remote Appがやっと使えるようになったけど、構成中のまま進まないので、あまり使われて無さそうなAPI Managementを試してみた。 API Managementは自分が作ったWeb APIを管理するために使う。Twitter APIとかでよくある1分間に5回まで、1日100回までとかいったクォータを管理することができるのと、APIのドキュメントを自動生成してくれる。 考えられるシチュエーションとしては、とあるWebサービスなりスマホアプリを作成したら、マッシュアップのため開発者向けAPIを提供することになった。でも開発者用のAPIキーを管理するのはめんどくさいし、特定の開発者がリソースを占有するのも問題だ。削除のAPIを開発者に公開したくない。 そんなときに使えるサービスなのかなと思う。 ダッシュボードはこんな感じでまぁまぁ見やすい感じ。 kobito.1402416521.782845.png モバイルサービスのAPIの追加 モバイルサービスのToDoItemテーブルを操作してみたいと思います。モバイルサービスは別途サービスを作成して、ToDoItemテーブルを作成しておきます。 API Managementにて、ADD API を選びます。 kobito.1402417097.819989.png タイトル、モバイルサービスのURL、API Managementのサフィックスをそれぞれ次のようにいれます。 kobito.1402417234.289642.png 一覧に表示されるので、TODOITEMSをクリックして編集します。 kobito.1402417262.804404.png 「Operation」タブを選択し、「ADD OPERATION」をクリック。API Managementからモバイルサービスに対して行う操作を登録します。 kobito.1402417327.451279.png 次のようにHTTP verb等に値をいれます。 kobito.1402417417.421747.png Parametersは無くてもいいですが、とりあえずfilterだけ設定できるようにしてみます。パラメーターに設定できる値は他にもあります。Query records operationを参照してください。 kobito.1402417666.691807.png 設定が終わったらSaveをクリックして保存します。 モバイルサービスAPIキーの設定 API ManagementからモバイルサービスのAPI呼び出しを行う際に、APIキーが必要です。(モバイルサービス側の構成で認証不要にしていれば必要無い) APIキーの設定はリクエストヘッダーにX-ZUMO-APPLICATIONを設定します。API Managementにてリクエストヘッダーを設定してAPIキーを入力するには、Policiesを編集します。(最初わからなくて出来ないかと思った) kobito.1402417980.266534.png Policy ScopeのAPIでtodoitemsを選択して、Policy definition の<inbound />の間に次の値を入れてRecallulate...ボタンを押して保存します。 <set-header name="X-ZUMO-APPLICATION" exists-action="append"> <value>YOU APLICATION KEY</value> <!--for multiple headers with the same name add additional value elements--> </set-header> kobito.1402418161.956726.png 開発者ポータルを確認してみる 以上の操作をしてできあがった開発者向けのポータルが https://nnasaki.portal.azure-api.net です。 ...

June 11, 2014 · nnasaki

de:codeで見るべきオススメ動画4つ #decode14

f:id:nnasaki:20140607204208p:plain いつのまにかキーノート以外に、セッションの動画が公開されていました。.NETとかマイクロソフトに興味なくても、エヴァンジェリストの方々はトレーニングされているのでレベルが高いです。スピーカーとしても勉強になります。 自分もまだ全部見てないんですが、実際にセッションを見て印象に残っていた個人的にオススメなのを4つあげます。 マイクロソフトの今の概要をサクッと知りたいならテクニカルキーノート Technical Keynote Developers build the Future | de:code | Channel 9 セッション中に4人のエヴァンジェリストの方々が登場し、マイクロソフトの今の技術の概要を約1時間で知ることができます。数百人の聴衆の前で心拍数が一切上がらない、井上さんのアイアンハートに注目です(違 プレゼンはおもてなし。見る人聞く人に楽しさと驚きを。SQL Serverに興味が無くても見るべきジニアス流 ジニアス流! SQL Server 2014 アプリ開発の極意 | de:code | Channel 9 個人的にキーノートより断然イチオシがジニアス平井さんのセッションです。とにかく見せ方がうまい。聞いてて飽きないです。あっというまの50分だと思います。 SQL Serverはどうでもいい(暴言)のでセッションは是非見てください。本当にこういうセッションが出来るようになりたい。 圧倒的といわしめたデモの素晴らしさ。iOS/Androidアプリ開発者は必見のXamarinセッション。 iOS/Android アプリを C#/.NET で開発 - Xamarin で実現するクロスプラットフォーム対応 – | de:code | Channel 9 会場で実際のセッションは見られなかったんですが、動画を見て改めてすごいと感じました。50分のなかで、クロスプラットフォーム開発、Xamarin Razor、MVVM Crossをデモを交えて紹介できるのは本当にスゴイ。 デモ中のソリューションがAndroidApplication14ってなっているのは、de:code14に合わせたのか13回練習したのかは謎ですw PCもAndroid, iOS, PowerPoint用に3つ用意してますね。しゃべっている間にデモ環境を用意。Androidのデモの画面の説明をしている間にiOSのデモを準備。本当にすごいです。 自分もPC2台用意すべきかといろいろ考えさせられるセッションでした。 .NET の今を知りたいデベロッパー向け。非.NET技術者にも見て欲しい、この 10 年をキャッチアップ 開発者のための技術選択と「いま」 この 10 年をキャッチアップ! .NET 開発者のための技術選択と「いま」 | de:code | Channel 9 .NETの技術がクライアントからWEBまで幅広く紹介されています。特に.NETは昔○○だったから嫌いなんだっていう人に見て欲しい。今は昔と比べてだいぶ良くなってます。確かに1.0、1.1は酷かったから。 以上4つですが、これから他のも見て良いのがあればまた紹介したいと思います。

June 7, 2014 · nnasaki

仮想マシンを日本リージョンで使ったら課金が発生した

Visual Studio Professional で MSDN を持っています。 MSDNの特典で Microsoft Azure がある程度タダで動かせます。Visual Studio 14 CTPが出て、Visual Studio 2013と共存不可ということから Azure 仮想マシンで試していました。 そうしたところ、何故か課金が発生して「ファ?」となったのでサポートに問い合わせてみた結果、仕様通りとのことで、詳しく書きます。 MSDNの特典は次の二通りある。私は現行プランを利用していた。 現行プラン:Azure MSDN — Visual Studio Professional http://azure.microsoft.com/ja-jp/offers/ms-azr-0010p 新プラン :Visual Studio Professional with MSDN http://azure.microsoft.com/ja-jp/offers/ms-azr-0059p 現行プランの場合、日本リージョンの仮想マシンは対象外。なので課金が発生した。 詳細は Microsoft Azure サポート チーム ブログ:Azure 日本データセンターについて のよくある質問に記載されている。 Q.現在、旧 MSDN プランを使用しています。日本データセンター上で仮想マシンを作成すると、0 円の使用制限にひっかかります。旧 MSDN プランの毎月無料で利用できる特典分に日本データセンター上で作成した仮想マシンは含まれないのでしょうか。 A.はい、以下の旧 MSDN プランにおいては、日本データセンター上に作成する仮想マシンの稼働時間は含まれません。 旧プラン Azure MSDN — Visual Studio Professional Azure MSDN - Visual Studio Premium Azure MSDN - Visual Studio Ultimate 引き続き MSDN 特典の無料枠を利用して日本データセンター上の Azure サービスを利用するには、新しい MSDN プランに変更する必要があります。 変更作業は Azure サポートにて承っていますので、変更をご要望の際は、Azure サポート サービスまでご連絡ください。 ということで、余り旧プランを使ってる人はいないと思うけど、日本リージョンを使う人は新プランに移行しましょう。

June 6, 2014 · nnasaki

デブサミ2014に参加しました #devsumi

デブサミ2014、講演関連資料まとめ 初めてデブサミに参加しました。良い話しばかりで「ためになるな〜」と思いました。でも、それで終わっちゃいけない。なぜなら、デブサミの開催概要にはこう書いてあります。 デブサミ第1章(2003~2012)は共感を大きなテーマにおいて開催してましたが、デブサミ第2章(2013~)は、Action!をテーマに開催していきます! … (中略) … Action!をシェアすることが、受講者の皆様やプロジェクトチームのAction!を促し、結果、社会を善にする鍵になると信じて! ということで自分自身のActionは、「 MBaaSを中心としたアプリのコードを書く。そのフィードバックを記事にする。」です。 その考えに至った理由を次に書いていきます。 焦点はモバイルアプリ開発とクロスプラットフォーム 次のセッションをうけました。 【13-D-1】JavaからJavaScriptへ!HTML5適用から見えた次世代業務アプリケーション 【13-C-2】iOS/Android/Windowsストア・アプリのハイブリッド開発における限界と可能性 【13-C-4】iOSにAndroid、百花繚乱モバイル開発環境を比較する 【13-C-6】XamarinとVisual Studioでまとめて作るiOS/Android/Windowsアプリ 理由は2点あって、1点目はモバイルアプリ開発をするにあたって、クロスプラットフォームどうするんだというところでした。 というのも、仕事でもちょこちょこ Android と iOS をやってますが、大体両方やりたいというところが多い。加えて最近は Windows 8 タブレットの案件もチラホラでてきたり。 で、今までクロスプラットフォームどうしてたかというと、大体 WebView でやって、オフライン使いたいという場合はローカルにHTML 保存したり、HTML5 のアプリケーションキャッシュつかったりという感じ。 でも、センサー使ったりしたい場合はHTMLだけだと詰まるので Phone Gap やら Cordova やったけど、面倒くさい。そもそも WebView 以外の選択肢は無いか考えていた。 2点目は、アーキテクチャどうするんだというところ。ここからは全部イメージなので間違ってるところもあると思いますが、今までのアーキテクチャは大体こんな感じ。サーバー側で全部やっちゃう。 f:id:nnasaki:20140214141406p:plain んで、最近のアプリはこんな感じ。Viewをクライアント側に持ってくる。 f:id:nnasaki:20140214141553p:plain さらにこれからは次のような感じになると思う。サーバー側の実装は無くなり、MBaaSに置き換わる。すべてのロジックはクライアント側に集約される。 f:id:nnasaki:20140214141811p:plain そうすると、次のようにクロスプラットフォームの場合それぞれコード書くのか?という問題が出てくる。 f:id:nnasaki:20140214141909p:plain その解として Xamarin を使用したクロスプラットフォーム開発を勧めたい。 f:id:nnasaki:20140214141957p:plain 今のところ、本当にこんなキレイに出来るかわからないけど、コードを書いて実証していきたい。 サーバーサイドの実装は、MBaaS を使用すれば本当にゼロになるかというと今のところは難しい気がしている。でも、どんどん楽になっているのは確かで、NIFTY Cloud mobile backendはプッシュ通知だけでなく、会員管理・位置情報・データストアのAPIをそろえている。「【13-B-6】mobile backend活用事例から見る「これからのスマホアプリ開発とクラウドの展望」」を聞きたかったんだけど Xamarin とかぶってしまったので、 Xamarin を優先した。 まとめると、Xamarin で上記アーキテクチャが実現できるかどうかコードを書くことと、これからも MBaaS の情報は追っていきたい。 中村洋さんのセッション 【13-A-5】成功と失敗の狭間に横たわる2つのマネジメント 中村さんはDevLOVE関西に所属しており、DevLOVE仙台としてどんな話しをされるか気になったので聞いてみた。 ハッとしたことは次のドラッカー風エクササイズ。 `ドラッカー風エクササイズ 1:自分は何が得意なのか? 2:自分はどうやって貢献するつもりか? 3:自分が大切に思う価値はなにか? 4:チームメンバーは自分にどんな成果を期待してると思うか? アジャイルサムライ P34より ` そういえばアジャイルサムライに書いてあったなと読み返したりしていた。中村さんが何故会社を辞めてフリーになったかという話しもあり、「少しでも現場をよくしたい」というのは私も同じで共感できました。 ...

February 14, 2014 · nnasaki

Windows Azure モバイルサービスのテスト方法(予告)

モバイルサービスのサーバーロジックのテストをしようとした場合、モバイルサービスのモジュールは公開されていないのでローカル環境でテストが出来ない。 なのでモック使おうと思ってもそんなのは公開されておらず、絶望しつつなんとなくBuild 2013 のセッションを眺めてたら、 Going Live and Beyond with Windows Azure Mobile Services | Build 2013 | Channel 9で zumock というので出来るらしいと紹介されてた。んでも、ぐぐっても見当たらない。 セッションの発表者である @paulbatum さんに twitter で聞いてみたら、今バケーション中だからもう少し待っててとのこと。こんな風に簡単に聞ける時代は本当にスゴイ。 ということで、そのうちモバイルサービスでも TDD ができそうですので、公開され次第 blog か 記事(ステマ)で紹介したいと思います。

August 5, 2013 · nnasaki