groovy base

28
Groovy基礎勉強会での むちゃぶりLTの資料 @akuraru

Upload: akura-pi

Post on 28-May-2015

385 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Groovy base

Groovy基礎勉強会でのむちゃぶりLTの資料

@akuraru

Page 2: Groovy base

自己紹介• @akuraru

• なごや出身→2週間前から東京

• scalaが好き

• Groovyとか知らん

• ステッカーを配りに来た

Page 3: Groovy base

見事になくなった

これらを持って行きました

Page 4: Groovy base

一枠余っているので修論を発表してください

Page 5: Groovy base

一枠余っているので修論を発表してください

Groovy関係ないですよ

Page 6: Groovy base

一枠余っているので修論を発表してください

Groovy関係ないですよ

Groovyで書きなおせばいい

Page 7: Groovy base

GroovyでC++を書きなおしてみた

Page 8: Groovy base

その前に修論発表です

修論発表がありました

Page 9: Groovy base

修論の概要• MANET(無線ネットワーク)

• MANET上でのブロードキャスの研究

• MANETのシミュレータを自作した

• 端末間でメッセージを送りあう

Page 10: Groovy base

GroovyでC++を書きなおしてみた

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

Page 11: Groovy base

Cell1 Cell2

Message

端末間でメッセージを送りあうことをシミュレーションするためにMessageとCellを実装した

こんな感じのものを実装しました

Page 12: Groovy base

コードリーディングhttps://github.com/akuraru/GroovyBase

Page 13: Groovy base

Eclipseへインストール

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

• Eclipse使わずIntelliJ IDEAを使いましょう

Page 14: Groovy base

プロダクトコード

Page 15: Groovy base

*アノテーションこれだけでequalsとhashCode,toStringが実装される

*Messageは3つの要素を持っている

Page 16: Groovy base

*Messageを一時保存する配列

*コンストラクタ

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

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

Page 17: Groovy base

テストコード

Page 18: Groovy base

*コンストラクタ書いてないけどなんとかしてくれる

*GroovyTestCaseでやりました

Page 19: Groovy base

*equalsが効いています

Page 20: Groovy base

Power AssertGroovyのTestのエラーメッセージは

個々の値が見えます

Page 21: Groovy base

コメント

Page 22: Groovy base

TestにはSpockを使いましょう

Page 23: Groovy base

TestにはSpockを使いましょう

そこまでの時間はない!

Page 24: Groovy base

TestにはSpockを使いましょう

そこまでの時間はない!

詳しくはキョンさんに聞きましょうhttp://twitter.com/kyon_mm

http://d.hatena.ne.jp/kyon_mm

Page 25: Groovy base

まとめ

Page 26: Groovy base

まとめ

• 型があったほうが間違えにくい

• Testするには素晴らしい

Page 27: Groovy base

まとめ

• 型があったほうが間違えにくい

• Testするには素晴らしい

• Eclipseでは補完してくれなかったけど,IntelliJ

IDEAは補完してくれる(らしい)

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

Page 28: Groovy base

• 自作シミュレータは信頼性がない

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

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

落ち