java-ja 第十四回 第1回チキチキ 地方巡業withひがやすを飲み会in富山 に行ってきた

Java 事情全然知らないけど行ってきた。でも楽しかった〜。
Javaフレームワーク事情とかさっぱりなので、そもそもその単語何?みたいな事もあったけど面白い話を聞けました。

これからは、Java の勉強会も参加してみようと思う。

セッションと感想

  わんくま大阪で話した内容とほぼ同じ。
  変数宣言時の ワイルドカード は、C# でも 4.0 で追加されるジェネリックのタイプパラメータに「in」、「out」の修飾子で似たような事は出来そう。
  super は C# で出来るのかな?(extend は既に出来る)
  ※C#4.0 まだ触ってません。記事でちら見しただけなので、間違ってるかも。

  • 矢野 さん:Timing Framework の紹介

  アニメーションが簡単に出来るとの事。アニメーションは加速をうまいこと使わないと滑らかじゃないよ。
  あと、Java2D は早いとの事。

  • ひが さん:AOP の中のカラクリについて

  AOP がどう実装されているかを紹介。バイトコードを書き換えて?AOPしたいクラスを継承したクラスを作成するとの事。
  コンテナから返されるのは継承した クラス の インスタンス だから、元のクラスのインスタンスでは無い。
  ※継承を使っているから、final クラス や final メソッドは AOP 出来ない。但し、元の クラス を書き換える事も出来るから実現しようと思えば可能との事。

  バイトコード書き換え?は、System.Reflection.Emit 名前空間 がキーワードになるのかな?これは、使った事ないからわかんね。

  ※バイトコードの書き換えは、文字列でソースコードを書いてコンパイル掛ける事も可能との事。
    ->これは、昔やった事あるから C# でも出来るよ。System.CodeDom.Compiler 名前空間 がキーワードだったと思う。

  .NET で AOP を実装する方法で知ってるのは、System.MarshalByRefObject を継承して System.Runtime.Remoting.Proxies.RealProxy でゴニョゴニョ したら出来たと思う。(殆ど使った事ないから、詳しくわかんね)
  ただ、継承関係が出来るので使いにくいかもしれない。
  多分他の方法でも出来たはずだけど、ちゃんと調べてないので…。てか、S2Container.NET みたら早いのかな。。

  • 米林 さん 1回目:Merapi の紹介

  Air と Java を繋ぐ。結構何でも繋げるらしい。「Air」は動作軽かったよ。
  .NET Remoting みたいな感じなのかな。(.NET Remoting は .NET アプリ しか繋げないかもしれないけど。)

  • ヨシオリ さん:TDD の紹介

  コード = 神
  実際に現場で導入していった内容を話してくれた。この話は、成功モデルとして覚えておく。
  ※実は自分の現場でも最近少しづつ試みてる。CI とか Unitテスト とか。
    Ship It! ソフトウェアプロジェクト 成功のための達人式ガイドブック にも書いてたけど、ボトムアップでやってかないと中々周りを巻き込めないのかな〜と。(そもそも、地位的に ボトム だし)

  • 米林 さん 2回目:T2 の紹介

  URL で呼び出す処理を マッピングする フレームワーク なのかな?(認識違ったらゴメンナサイ)
  ASP.NET MVC がそんな感じだったと思う。(Preview 4 版しか触ってないけど)