groovy base
TRANSCRIPT
Groovy基礎勉強会でのむちゃぶりLTの資料
@akuraru
自己紹介• @akuraru
• なごや出身→2週間前から東京
• scalaが好き
• Groovyとか知らん
• ステッカーを配りに来た
見事になくなった
これらを持って行きました
一枠余っているので修論を発表してください
一枠余っているので修論を発表してください
Groovy関係ないですよ
一枠余っているので修論を発表してください
Groovy関係ないですよ
Groovyで書きなおせばいい
GroovyでC++を書きなおしてみた
その前に修論発表です
修論発表がありました
修論の概要• MANET(無線ネットワーク)
• MANET上でのブロードキャスの研究
• MANETのシミュレータを自作した
• 端末間でメッセージを送りあう
GroovyでC++を書きなおしてみた
Groovy基礎勉強会の発表を聞きながら,一からGroovyをインストールし,書いたこともない言語を書きました.(この間約6時間)
Cell1 Cell2
Message
端末間でメッセージを送りあうことをシミュレーションするために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 AssertGroovyの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を使いましょう
落ち