2013年3月10日日曜日

#GroovyBase Groovy基礎勉強会で発表してきたらしい

みけですう。

昨日(2013/03/09)にGroovy基礎勉強会で発表してきました。



僕の発表内容


例の如く(?)発表資料はありません。

gistのリビジョンでGroovyASTTransformationAnnotation Based ASTTransformation

例をいくつか掲載していますので、御覧ください。

https://gist.github.com/mike-neck/5114818/revisions


まあ、GroovyASTTransformationという題で発表したけど

Annotation Based ASTTransformationを中心に発表しました。

なぜかってそれしか知らなかったGroovyASTTransformationを初めて書く場合には非常に導入しやすいからです。

基本的な(基礎的ではない)ASTTransformationの実装
(@ToString@EqualsAndHashCode@Canonical
@Log@Log4j@Slf4j@Singleton@Delegate)

を知っておくことは、それよりもさらに進んだASTTransformation
(Spockとか、Spockとか、GContractsとか)

を読んで、活用して、新たなASTTransformationに移行することの足がかりになるからです。

実際に僕の発表の後のいくつかの黒魔術(Spock、GContracts)では、

ほとんどがASTTransformationを活用していました。


さて翻って、もう一度ASTTransformationの基礎…


GroovyにおけるASTTransformationの構成要素は次の3つです(かなり端折ってます)。

  • Expression
    • 変数の宣言 (String namedef ageのようなもの)
    • 定数の表現(0"groovy"true)
    • メソッドの呼び出し(list.size()builder.append('c'))
  • Statement
    • 変数の初期化(String name = "hoge";)
    • 変数への代入(String name = builder.toString();)
    • 制御文(if (condition) {//do something} else {//do another thing} )
    • return文(return builder.toString();)
  • Node
    • フィールド
    • メソッド
    • クラス
    • インポート

これら以外にもまだまだたくさん要素があるのですが、

おおよそこれらを把握しておくと、

ASTTransformationを書きやすいです。


所感


上原さんのGroovy Compilerの話

面白かったし、わかりやすい資料でした。

ASTTransformationをやるならこの辺りの知識も持っていないと

厳しい感じがします。

特にコンパイルフェースに対する理解は重要かと思われます。


自分の話

ヒィヒィしてました。

gdgdもいいところです。


須江さんのGradleの話

Gradleを理解したければ、プラグインを書けというのは

納得する。


きよたかさんのSpockの話

なるほど、アレはよくわからん


ポケットバーサーカーさんのGParsの話

GPars出てきてないしw


nobeansさんのGrailsの話

nobeansさん何気にIntelliJ IDEAガチ勢ということが判明


杉浦さんのGConstractsの話

杉浦さん「今季のおすすめアニメは『レイルガン』と『ニャル子さん』」きょん「( ´Д`)=3」


懇親会


ピザと肉食ったら、トイレ行きたくなったので、

トイレで20分くらい過ごしていました。


おわり。


0 件のコメント:

コメントを投稿