Comm Tech Festivalに参加しました
日本MSさんのセミナールームを4つ使って並行してセッションが開かれる形式でした。
他にも聞きたいセッションがあったけど、僕は主にASP.NET、Azure関係のお話を聞きに行きました。
聞いたセッション
- [ルームA] わかばさん向けAzure
- [ルームA] ASP.NETサイトの運用
- [ルームD] open FSharp
- [ルームA] Microsoft Edge New Features - Web制作者はEdgeブラウザ対応が必要なのか?
- [ルームC] Introduction to Application Architecture on ASP.NET MVC (仮)
感想、得られた知見、メモ等
わかばさん向けAzure
Azureの概要、変遷、現在のお話
仕事では利用する機会がまだないのだけれど、個人的にお金がかからない範囲でなんとなく利用していて、わからないキーワードの意味が知ることが出来てよかった
また、リージョン別に利用出来るサービスが違うってのは知らなかった。
Azure Cloud Services (場所または地域別) | Microsoft Azure
ASP.NETサイトの運用
「既存のASP.NETサイトをお手軽に速くする 編」というテーマ。
パフォーマンス改善方法は色々ありますが、今回はCDNを利用してオフロードしようという紹介でした。
CDNの方式
- プル型
- CDNにアクセスされた際キャッシュしていなければ、originサーバーにコンテンツを取りに来てキャッシュしてくれる
- 事前に準備不要で、お手軽に導入出来る
- コンテンツを更新した場合、キャッシュ反映までに時間がかかる場合がある
- こちらの方式が現在の主流?
- CDNにアクセスされた際キャッシュしていなければ、originサーバーにコンテンツを取りに来てキャッシュしてくれる
- プッシュ型
- originサーバーにコンテンツをCDNに自分でアップロードする
- アップロードする手間がかかる
- コンテンツを更新した場合、任意のタイミングでキャッシュ更新出来る
- originサーバーにコンテンツをCDNに自分でアップロードする
オフロード方式
- 部分オフロード
- image,javascript,css等の特定のコンテンツのみキャッシュしてオフロードする方法
- サイトオフロード
- HTML自体もキャッシュしてオフロードする方法
- POSTしてデータの書き込みするページは向いていない
デモ
- ASP.NETの場合、URLの変更をソースコード変更無しに利用出来る
- URL Rewriteの機能を利用してCDN利用が可能
- URL Rewriteではリクエストに対してのルーティング機能があるのは知っていたが、レスポンス情報の内容も書き換え可能らしい
- Web.config書き換えでいける
デモでは、C#でお馴染みの++C++; // 未確認飛行 Cの本番サイトで導入してみようという大胆なものでした(笑)
事前に用意されていたのであろうWeb.config設定をコメントから有効化して、動かしてみるもRuntimeErrorになるというハプニング?もありました。
思い出す限りだと以下の内容を試されていました。
- Httpレスポンスヘッダーの書き換え(キャッシュ有効期限設定、MaxAgeだったかな?)
- image,css,scriptのURL書き換え(CDNのURLに変更)
詳しい話はブログ見てと言われていましたが、「お楽しみはこれからだ!: URLRewriteでほとんどすべてCDNに向ける」かな?
その他
wget64.exe?
サイトをクロールしてサイト全体をダウンロード出来る
ダウンロード容量上限も指定可能らしい
open FSharp
F#の名前は知りつつも、どんなものか知らなかったので聞きに行きました。
が、あまり理解できませんでした。すみません。。。
内容的には、VisualStudioでのF#用ツールの説明と、F#の構文のお話でした。
Microsoft Edge New Features - Web制作者はEdgeブラウザ対応が必要なのか?
ペースが早くてあまりメモれなかった。。
Edgeが出来るまでの経緯、事情の話しがあって、とても面白かったです。
* 特にIE、Edgeのバージョン毎のUseAgentとか
* IEのアンケートの結果、「IEをも作るな!」が一位になったとか
また、pixivではWindowsXP、WindowsXP、Macbookで開発するのは老害のらしいですw
今の若者は、Surfaceで外部モニタ使って開発するらしい
タイトルの結論
タイトルの結論としては、特に対応する必要はないらしい 。
というのも今のWebのディファクトスタンダードがWebkitで、EdgeもWebkitの動作に合わせるよっていう話だった。
機能アップデートがある場合に内部バージョンが上がるため、開発者的にはあまり困らないのでは?ということでした。
ECMASCript6もFirefoxよりも対応が進んでいるようです。
ただしブラウザのガワがまだよろしくないようで、かなりdisられていましたが、今後に期待ですね。
Introduction to Application Architecture on ASP.NET MVC (仮)
一番仕事に直結しそうな内容でした。
ソフトウェアアーキテクチャとは?のお話と、Introductionということで、ASP.NET MVCを利用する場合の標準機能によるアーキテクチャ検討のお話でした。
以下、メモ(ちょっとあやふや。。)
UIデータバインド
- サーバサイドレンダリング
- Razor、モデルバインディング
- サーバーサイドでしか出来ないこと
- 認証・認可
- ブラウザの言語判定
- クライアントデータバインド
- 必要な所のみ更新をかけるため、効率的にサーバーリソースを利用出来る
- レンダリング遅延の問題がある
バリデーション
- クライアント
- jQuery Validation
- サーバー
- ModesState
例外処理
例外は原則として集約的に補足して処理する
- WebAPIの例外処理
- GlobalErrorHandling
- パイプラインで発生したすべての例外を補足
- 以下のインターフェースを継承
- IExceptionLogger
- IExceptionHandler
- それ以外の例外処理
認証・認可
Windows認証
- web.configのsystem.web/authenticationのmode="window"
CookieAuthentication
OWIN Authentication
- Form認証
- Oauth2.0(OpenID)認証
Organization Authentication
- AD認証
データアクセス
- EntityFramework
- EF7はEDMXは無くなる
- DBファーストできなくなるのでCodeファーストに切り替えましょうとのこと
- EF7はEDMXは無くなる
- DataSetは○ね
じゃんけん大会
セッション終了後に、C#の書籍プレゼントのじゃんけん大会がありました。
運良くじゃんけんに勝って西村誠さんの「Amazon.co.jp: 基礎からわかる C#: 西村 誠: 本」を頂きました。
著者のサインも頂きました。ありがとうございます。
最後に
こういったセミナーに参加するといつも思いますが、登壇されている方と自分のスキルの差を見せつけられるので、すごいなーと思いつつも、帰りに自分のスキルの無さを痛感して落ち込みます。。
とはいえ、その差を埋めようと頑張れるので、参加してよかったと思います。