2011年10月16日日曜日

CLR/H 第 63 回勉強会レポート

10/15 に行われた第 63 回勉強会のレポートです。今回は一部 Ust、Tweet 禁止な話題が含まれていたりということもあり、現場だからこその楽しさを感じられた回だと思います。

PA150533

1:DLR + Async + アルファ(荒井 省三)

PA150408

Microsoft エバンジェリストの荒井さんによる、動的言語ランタイム・非同期処理ライブラリの Async CTP についてのセッションでした。今回 CLR/H に参加していただいたのはあくまでも個人的活動、と言われているのも、最初に言われた自己紹介にて「書籍活動は全てプライベート」というあたりで納得です。

PA150415

 .NET には動的言語を扱うためのランタイムが用意されており、C# や VB などの静的言語から利用する環境が整っています。IronPython や IronRuby が既に知られている動的言語です。これら Iron~ 系の言語であればヘルパークラスが用意され、それ以外の言語であってもホスティング用 API を利用する事ができます。それらを利用し WPF アプリより実行時に Python や Ruby のロジックを動的に実行するデモを披露していました。仕組みは聞いたことがあってもなかなか利用する事がない部分ですので、実際に実行されている様子は面白かったと思います。

PA150448

途中 Expression Tree (式木) の解説も行われたり、随所に深い話が盛り込まれていました。その流れで Async CTP についての説明も行われました。非同期処理を扱うためのライブラリですが、まず最初に環境構築が現時点では非常に面倒であることが言われました。VS2010 SP1 のクリーン環境でなければ導入できないというのは非常に面倒ですが、実際にリリースされるまでんはきっと……、ということですので期待して待ちたいと思います。

PA150441

現状で非同期処理を行うためのパターンは色々あるけれども、どうしても複雑になってしまう事が避けにくいと思われます。その中で Async CTP は簡潔な記述にて非同期処理が記載できるのは大きなメリットだと思いました。残念なのは、現時点ではすべて利用者責任であり仮に使用中止要請があった場合は即座に利用をやめなくてはならない、というライセンス上の条件があるところかと思います。ただそれを除いても今までよりかなり楽に非同期処理を記載できるのは素晴らしいポイントですので、このあたりも含めて正式リリースされることを願うばかりです。

このほかにも Windows Azure や .NET Framework 4.5、F# 3.0 についても言及されていたりと、とにかく深い話題がてんこもりのセッションだったと思います。

2:Lightning Talk

今回は3名の方によるLTが行われました。

A:.NET 2.0 CLR で出会ったメモリ不足例外とその対処
jsakamoto さん)

PA150475

メモリ 2GB 搭載な環境で 24MB 程度の文字列データを生成するアプリでなぜかメモリ不足が発生、その理由と対処についてでした。StrginBuilder クラスを利用して大量の文字列生成を行うのは、.NET アプリを作成する方には当然の事なのですが、そこにはメモリ確保の罠が潜んでいたのでメモリ不足が発生するという、なかなか気づかないなぁという話題でした。荒井さんによる事後解説もあり、今回のテーマであるディープにふさわしい LT だったと思います。

B:自作ツールのご紹介(nobuhisa_k さん)

PA150497

F# MVP でもある伝説のK泉さんによる、F#のユニットテストを楽に行うことができる自作ツールについてでした。NUnitなどでユニットテストを行う際は毎回ビルドしなくてはいけないなど、結構面倒があります。今回作成されたツールはビルドの必要なく、インタラクティブにテストを行うことができるという、正直言えば VB 使っていても欲しいよ!と思うツールでした。「おにぎり」という名前が非常にラブリーですね!w

C:ネットワークについてのよもやま話(kamiya344 さん)

PA150500

当日になって無茶ぶりをされた kamiya さんによる「業務用ルータ使うのは便利だよ」という話でした。想像に任された作業内容をやるにあたり、結構頻繁に SSH などでリモートアクセスをすることが多いのもあり、その際には設定項目が少ない個人向けルータではなく、ヤマハや NEC 製品などの業務向け商品を利用するのがベターだとのことです。特に最近ではオークションなどを利用する事で、かなり安価に入手することが可能ですので、興味のある人はやってみるのがいいのではないでしょうか。

Ex:おやつタイム

PA150504

こんかいのおやつはケーキ+シュークリーム+アップルパイ!
すばらしいですね!

3:とことんF#よぷよ! - F# + XNAによるゲームプログラミング入門 -(ぜくる(村椿 覚))

PA150515

F# と XNA を用いてゲームも簡単に作れるよ!、というテーマで話してもらいました。最初にまずはとうことで、実際に作られた某落ち物ゲームっぽい何かを見せていただいたこともあり俄然興味がわきます。

前半は XNA や F# についての解説を行い後半は実際のロジックについての解説という流れで行われたセッションですが、比較的深入りはせずに広い感じで話されることに徹していたようにも感じられました。XNA を利用した開発スタイルについての説明は非常にイメージをつかみやすかったと思います。ここで別のサンプルとして登場した何かについてはノーコメント、ノーリターンでお願いします(謎)

PA150555

「F# について難しいイメージを持たれている人は多いかもしれませんが、まず書いてみることが第一歩です」と言われていますが全くその通りだと思いました。人のことは言えないので、こっそりと自分も頑張ろう、と。またゲームプログラミングとして「まずは模倣」というのもその通りだと思います。私もプログラミングを始めたころのばかりは、色々と模倣を行うことで勉強にもなっていたと思います。

PA150579

今回後半を利用して話されていた、某落ち物ゲームっぽい何かの内部ロジックについては、実際にゲームを作るに当たり「どう考えていくか」という例を見せてくれたと思います。ある事を行おうとして実際に作成してみる、そして問題が分かったので考える。その際に「こうやればいいのではないか」と一連の流れに沿って解説された部分は非常に有益だと感じました。

4:WF 4.5 新機能をさくっと(小尾 智之(Ahf))

PA150591

私も最後に少し時間をもらい、WF 4.5 にて追加された新機能についてのショートセッションを行いました。今回さらっとさくっと話したように、WF 4.5 はデザイナ部分での機能強化が目立っていますが、実際にはバージョニング対応や InvokeDelegate アクティビティの追加など、WF だけで出来ることが増えているのが本質的なバージョンアップと感じています。

PA150595

WF 自体をあまり見たことがない人が多かったので、今回初めて VS 上で WF を利用した簡単な実装?を行いましたが、あれを見てどのような感想を持たれたのかが非常に気になります。ノンコーディングで結構色々できるというのを、どう捉えられたのでしょうか。

PA150597

今回は多くの方に参加していただきました。スピーカーのみなさん、参加していただいた皆さん、スタッフの皆さん、お疲れ様でした。そしてありがとうございます!

0 件のコメント:

コメントを投稿