開催から一週間以上あいた上に、大阪勉強会も過ぎちゃってる時点で発酵して加藤腐ったミカンみたいになってますが、せっかくなので第3回わんくま同盟 東京勉強会+忘年会のレポートなどを。一応わんくまBlogは技術的な話題を取り上げよう!ということで、ネタ風味な話はぽぴンち。の方に書いておきました。
他の方々の感想はこの辺で。たぶん僕のよりわかりやすいと思います。
ちょっと遅れ気味で会場に着いたので、話が聞けないかしら~と懸念していたのだけれど、om(takanao)さんも豪快に遅れまくっていたのでなんとか⊂(^ω^)⊃セフセフ!!(笑)機器が不調でセットアップに時間がかかっていたこともあってか、全部きちんと聞けました。
問題は上記の諸事情で時間が取れなかったせいで、スライドがばんばん飛ばされてしまっていたことだったり。もう少し見たかったナー。
内容はセキュリティ技術のひとつ、コードアクセスセキュリティ(俗にCASと呼ばれているやつですね)の話。今までInsider.NET 会議室なんかで
ファイルサーバに置いた実行ファイルをダブルクリックしても実行できません。
なんて質問があがるたびに「CASの設定をしてください」とか回答があって、でも僕ちんCASってよくわかんないや…とか思っていたわけですが(特に必要を感じていなかったというのもある)こうして噛み砕いて説明していただくとよくわかります。やー、そこが知りたい特捜!板東リサーチ(東海地方ローカルネタ)と思ってたところをピンポイントで解説してくれるのがなんかうれしいですね。
個人的に興味深かったのは、セキュリティ設定をActive DirectoryやSystem Management Serverなどで配布する、あるいは伝家の宝刀デキッコ・ナイスClick Onceを使うというのは割とありがちな話だと思うのだけど、.msiファイル(Windows Installerの形式)で配布する方法があるというのは面白かったです。機会があったら是非試してみたいところ。
"template vs. generics" 総称型のからくりと功罪 [επιστημηさん]
最近いろんな方の日記のコメントなどで語り合うたびに「何か似ているものを感じるわ(技術ではなくネタ的に)」と思ったりするεπιστημηさんのセッション。
C++のtemplateをC#(というか.NET)ではgenericsとして実装しているわけだが、実は基本は同じ考えからきているけれど実装は似て非なるものなのよ、という話…で良かったんでしたっけ。
僕ちんC(しかしDOSの頃)やVB、JavaにC#などかじっているわけですが、C++はいろんな方面からの事情で結局ほとんど勉強していません。なのでtemplateそのものからして初体験。C#でgenericsの使い方はある程度理解していたものの、επιστημηさんの解説で動作原理の部分から理解させていただきました。表向きは似ているけれど、templateとgenericsは中から見るとぜんぜん違うとか、実際にコーディングしつつ動作を見せてもらったり、前回のわんくま勉強会のビデオでも見ましたがεπιστημηさんのセッションはやっぱり面白いです。
気になったのは、templateやらgenericsやら僕は普通に見ててわかったのだけれど、このレベルについて来れない人もいるかもなーと聞きながら考えたりしてました。僕には勉強会に来ていた人たちのレベルはわからないし、それに細かいところまで考えていったらセッション自体ができなくなるから、やっぱりあのぐらいのすっとばしレベルでいいのかも…とか食事をしながら思ったり。
食事が長引いて始めのあたりをちょっと聞き逃したのが残念な、IT Pro エバンジェリスト 奥主さんのIIS7に関するセッション。
僕がいまやっている仕事はWindowsアプリケーションであり、ASP.NET関係の仕事も以前やっていたとは言えIISを触ること自体はほとんどしていなかったのが現状です。なのでIIS7とか言われても「(´_ゝ`)フーン」てな感じだったのですけど(いや、まぁ聞く前までは…)奥主さんのセッションはなかなか興味深いものでしたよ。
以前から「IIS7になったら.NET Frameworkと統合されていろいろ使えるようになるんだよ!」「Ω ΩΩ<ナ、ナンダッテー!!」と言われてきたわけですが、その霧の中の真相をうまいこと解説していただいたというか。IIS5、5.1からnimdaやCodeRedによる攻撃を受け、それを受けてセキュリティ方面に対する強化をかなり盛り込んだ6.0、そして.NET Frameworkとの融合を考えたIIS7といった流れ。
さらにIIS7ではそれまでゴチャゴチャしていたアプリケーションのアーキテクチャを完全に見直して、基本的な流れ以外の認証だったりロギングだったり、それこそ静的コンテンツの対応にいたるまですべてモジュール化。使用していなくてセキュリティホールとなりうるようなモジュールは最初からロードしないなどの方法も取れると、これまたスッキリした感じで好印象でした。無駄な機能を排除してモジュール化するっていうのは最近の流れとして当然な気もしますが、IISのような重要かつ長大なアプリケーションでそれをやってしまうところがすごい。
しかも.NET Frameworkとの融合を果たしたことで(それだけでもない?)PowerShellでもってIISの操作も可能に。以前からあったみょうちくりん(失礼)なWSHファイルとはおさらばして、今後は下半身PowerShellさえあればいいというような状況になるのではないかと。もちろん.NETアプリケーションからの操作も可能になるわけですが。
他にもひろえむさんも紹介してくださっているIIS.netという広告ベースのコミュニティサイトの解説とか。全面的に英語なので読むのは苦労しますが、でも基本的に技術英語なので慣れれば大丈夫(たぶん)。マイクロソフト本社のIIS開発チームも書き込んでくれたりするらしく、それこそIIS関係においては一番情報が早くて正確なコミュニティなのではないかという。IISに興味がある方は覗いてみるべき、です。
"delegate + generics" 汎用化による量産の技術 [えムナウさん]
これだッッッ!!(なに、突然に)。これこそが僕が知りたかったセッションなんだよッッッッ!
と思ったわけです。いや本気で。
Windows Formやコントロール、加えてDataSetやTableAdapterまでを素のままで使うのではなく、いったん継承したベースとなるクラスを作り、共通的な仕組みをそのベースクラスに記述すると。そして実際の業務で使用するものはそのベースクラスを継承したものを使う、という流れで。
簡単に言ってしまえばコントロールの共通化でいいんじゃね?と捕らえられそうなのだけど、実際のところもう少し深いところまで突き進んでいて「業務で使うクラス」をラッピングした「ベースクラス」があって、そのベースクラスは業務クラスのラッパーであると同時に「.NET Frameworkが提供しているクラスの継承」という、ある意味ミドルウェア的な位置づけでもあります。
これって説明を聞く分には「あーあーあれねハイハイワロスワロス」とか思うのだけど、実際の業務になるとなかなかこういったことができない。最初にキチンとしたクラス設計をしておいてその上で業務の分解というか詳細設計に入らないといけないから、とても重要な部分なのにいつもないがしろにされがちなんですよね。こうやってえムナウさんの詳細な解説があると「じゃあ次はこういう感じで設計してみようぜ!」と言えるし、自分自身のモチベーションも高まると。こういうのが勉強会のいいところなんじゃないですかね。
Microsoft AJAX Library 8年越しの開花 [中博俊さん]
1998年にInternet Explorer 5が登場し、そのとき初めてMSXML.XMLHTTPやDynamic HTMLが世に出たわけで、それがめぐりめぐって最近ではGoogle マップなどのAJAX技術に応用されていると。それまでセキュリティ的にもオフにしろだのNetscapeとInternet Explorerで実装が違うから使えないだのいろいろ言われて来ていましたが、今はそれ以上の可能性を見せているわけですな。
中さんのセッションはそういった話から、実際にコーディングして同期&非同期でAJAXを実行するデモンストレーション、そしてMicrosoft AJAX Library+ASP.NET AJAX Extensionの紹介に移っていくわけですが。
このデモンストレーションが3分クッキング方式すでに出来上がっているものをロードするわけではなく一から全部コーディングしていく感じで、中さんもアンチョコを見ながらゴリゴリっとコーディングしていました(これはアンケートでも好評だったようです)。途中わざと(…わざと?)間違えて動かなかったりするあたり、さすが中さんだなと。あれはあえて皆にツッコミを入れさせて笑いを取ろうとしていたに違いありません。そういう僕も突っ込んだ一人ですけれども。
あえて生わんくまのコーディングを見せた後でMicrosoft AJAX Library+ASP.NET AJAX Extensionのデモンストレーションに移るので、今まではこんだけ苦労してたのがAJAX Libraryを使うとこんなに簡単!それが全部そろって19,800円!という流れがとても際立ちます。うまいな~中さん。
ちなみにASP.NET AJAX Extensionと違って、Microsoft AJAX Libraryは単なるJavaScriptファイルだったりする上に単体でダウンロード可能だったりします。中にはとてもためになる関数群などが含まれているので、それだけを見てJavaScriptコーディングの参考にするのもアリです。
結構駆け足でしたが、この中さんのセッションが自分的には一番燃えました。視聴者参加型セッションという感じで(だからわざと間違えたんですよね?(笑))これはホント面白いわ。わんくま勉強会出て良かったわ~と思いました。
この後の忘年会などの話はぽぴンち。を読んでいただくとして、こちらはセッションの内容を僕なりに書いてみました。ふー、これだけで一日つぶれちゃったぜ。
でも忘年会が楽しかったので、今度もぜひとも勉強会に参加したいと思います。えムナウさんからは「次は君らが話す番だよ」とか言われているのはここだけの秘密です。っていうかネタないんですよ…