Groovy基礎勉強会での
むちゃぶりLTの資料
     @akuraru
自己紹介
• @akuraru

• なごや出身→2週間前から東京
• scalaが好き
• Groovyとか知らん
• ステッカーを配りに来た
これらを持って行きました




    見事になくなった
一枠余っているので修論を発表してください
一枠余っているので修論を発表してください




Groovy関係ないですよ
一枠余っているので修論を発表してください




Groovy関係ないですよ




      Groovyで書きなおせばいい
GroovyでC++を書きなおしてみた
その前に修論発表です



   修論発表がありました
修論の概要
• MANET(無線ネットワーク)
• MANET上でのブロードキャスの研究

• MANETのシミュレータを自作した
• 端末間でメッセージを送りあう
GroovyでC++を書きなおしてみた


 Groovy基礎勉強会の発表を聞きながら,一からGroovyをインストールし,
      書いたこともない言語を書きました.(この間約6時間)
こんな感じのものを実装しました



          Message


    Cell1       Cell2
端末間でメッセージを送りあうことをシミュレ
ーションするためにMessageとCellを実装した
コードリーディング
 https://github.com/akuraru/GroovyBase
Eclipseへインストール

• 「Groovy Ecripse」でぐぐるてEcripseの
 バージョンに合ったURLを手に入れてイ
 ンストールした



• Eclipse使わずIntelliJ IDEAを使いましょう
プロダクトコード
*アノテーション
これだけでequalsとhashCode,toStringが実装される


*Messageは3つの要素を持っている
*Messageを一時保存する配列



     *コンストラクタ


        *選択的型付け
        引数に型をつけられる.ないとEclipseで
        は補完が効かなかった



*変数も関数もdefと書く
                  *messagesからtimeが最小の
                  Messageを取り出したかったのだ
                  がうまく書けなかった
                  injectで書ける?
テストコード
*GroovyTestCaseでやりました



 *コンストラクタ書いてないけど
 なんとかしてくれる
*equalsが効いています
Power Assert
GroovyのTestのエラーメッセージは
    個々の値が見えます
コメント
TestにはSpockを使いましょう
TestにはSpockを使いましょう




そこまでの時間はない!
TestにはSpockを使いましょう




    そこまでの時間はない!




詳しくはキョンさんに聞きましょう
  http://twitter.com/kyon_mm
 http://d.hatena.ne.jp/kyon_mm
まとめ
まとめ

• 型があったほうが間違えにくい
• Testするには素晴らしい
まとめ

• 型があったほうが間違えにくい
• Testするには素晴らしい
• Eclipseでは補完してくれなかったけど,IntelliJ
 IDEAは補完してくれる(らしい)

• Testより素敵にするにはSpockを調べましょう
落ち




• 自作シミュレータは信頼性がない
• ネットワークシミュレータにはns-3とい
 うものがあります



• 信頼出来るFrameworkを使いましょう

Groovy base