1<br />便利すぎる!?<br />ライブラリ編<br />
自己紹介<br />須江 信洋(すえ のぶひろ)/ @nobusue<br />1970年生まれ、介護保険エイジです<br />29歳で世に出てから、ずっとJavaEE関連の仕事です<br />エンタープライズはオワコンじゃないです!<br /...
今年も来たぜ、仙台へ<br />3<br />竹田武田ソフトさん、<br />すいませんでした・・・<br />http://www.slideshare.net/nobusue/gworkshop-sendai-20100424<br />
Groovyの便利な下僕たち<br />4<br />Groovy API<br />Groovy JDK<br />(GDK)<br />XML / JSON<br />ビルダー<br />GSQL<br />
びるだー?<br />5<br />
MarkupBuilder<br />6<br />def builder = new groovy.xml.MarkupBuilder()<br />builder.注文(伝票番号:'123456') {<br />注文明細{<br />商品...
JsonBuilder (Groovy 1.8~)<br />7<br />{<br />"注文": {<br />"伝票番号": "123456",<br />"注文明細": [<br />{<br />"コード": "8823",<br /...
びるだー!<br />Builder<br />複雑な構造物を見通し良く組み立てるためのしくみ<br />GoFのBuilderパターンに由来<br />他にも便利なBuilderがいろいろ<br />AntBuilder<br />Swing...
Groovy JDK(GDK)<br />JDKのクラスに、勝手にAPIを追加して強化ッ!<br />9<br />JDK<br />GDK<br />※『CYBERDYNE』、『ROBOT SUIT』、『ロボットスーツ』、『ROBOT SUI...
GDKのメソッド91個<br />犠牲者: java.lang.Stringさん<br />10<br />JDKのメソッド<br />65個<br />※ Java SE 6とGroovy-1.8.0で確認<br />※ シグニチャが異なるも...
貴方は本当にString???<br />11<br />def x = "123.45"<br />assert x.isInteger() == false<br />assert x.isDouble() == true<br />ass...
他にもいろいろ追加されてます<br />12<br />詳しくは http://groovy.codehaus.org/groovy-jdk/ を見てね!<br />
Groovyでのびのび~<br />13<br />
Upcoming SlideShare
Loading in...5
×

Letsgo sendai nobusue_20110528

2,665

Published on

2011/5/28 列つゴーデベロッパー2011@仙台
プログラミングGroovy ライブラリ編

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,665
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Letsgo sendai nobusue_20110528"

  1. 1. 1<br />便利すぎる!?<br />ライブラリ編<br />
  2. 2. 自己紹介<br />須江 信洋(すえ のぶひろ)/ @nobusue<br />1970年生まれ、介護保険エイジです<br />29歳で世に出てから、ずっとJavaEE関連の仕事です<br />エンタープライズはオワコンじゃないです!<br />G*との関わり<br />Groovyを組み込んだ製品(WebSphere sMash)を売ってます<br />JGGUGサポート・メンバー<br />「Groovy イン・アクション」翻訳メンバーの一味<br />Gaelykで作ったBot飼ってます(@hatena_groovy)<br />2<br />
  3. 3. 今年も来たぜ、仙台へ<br />3<br />竹田武田ソフトさん、<br />すいませんでした・・・<br />http://www.slideshare.net/nobusue/gworkshop-sendai-20100424<br />
  4. 4. Groovyの便利な下僕たち<br />4<br />Groovy API<br />Groovy JDK<br />(GDK)<br />XML / JSON<br />ビルダー<br />GSQL<br />
  5. 5. びるだー?<br />5<br />
  6. 6. MarkupBuilder<br />6<br />def builder = new groovy.xml.MarkupBuilder()<br />builder.注文(伝票番号:'123456') {<br />注文明細{<br />商品(コード:'8823', 単価:100, 数量:2)<br />商品(コード:'0123', 単価:200, 数量:1)<br />}<br />出荷(日付:'2011-05-28')<br />}<br />←実はクロージャ<br /><注文 伝票番号='123456'><br /> <注文明細><br /> <商品 コード='8823' 単価='100' 数量='2' /><br /> <商品 コード='0123' 単価='200' 数量='1' /><br /> </注文明細><br /> <出荷 日付='2011-05-28' /><br /></注文><br />
  7. 7. JsonBuilder (Groovy 1.8~)<br />7<br />{<br />"注文": {<br />"伝票番号": "123456",<br />"注文明細": [<br />{<br />"コード": "8823",<br />"単価": 100,<br />"数量": 2<br />},<br />{<br />"コード": "0123",<br />"単価": 200,<br />"数量": 1<br />}<br />],<br />"出荷": {<br />"日付": "2011-05-28"<br />}<br />}<br />}<br />def builder = new groovy.json.JsonBuilder()<br />builder.注文(伝票番号:'123456') {<br />注文明細(<br /> [コード:'8823', 単価:100, 数量:2],<br /> [コード:'0123', 単価:200, 数量:1]<br /> )<br />出荷(日付:'2011-05-28')<br />}<br />printlngroovy.json.JsonOutput.prettyPrint(<br />builder.toString()<br />)<br />←実はメソッド呼出し<br />
  8. 8. びるだー!<br />Builder<br />複雑な構造物を見通し良く組み立てるためのしくみ<br />GoFのBuilderパターンに由来<br />他にも便利なBuilderがいろいろ<br />AntBuilder<br />SwingBuilder<br />CliBuilder<br />Groovyは汎用的なBuilderフレームワークを提供<br />オレオレBuilderが簡単に作れる。レッツトライ!<br />詳しくは http://groovy.codehaus.org/api/index.html を見てね<br />8<br />
  9. 9. Groovy JDK(GDK)<br />JDKのクラスに、勝手にAPIを追加して強化ッ!<br />9<br />JDK<br />GDK<br />※『CYBERDYNE』、『ROBOT SUIT』、『ロボットスーツ』、『ROBOT SUIT HAL』、『ロボットスーツHAL』、『HAL』、『Hybrid Assistive Limb』は、CYBERDYNE(株)の登録商標です。<br />
  10. 10. GDKのメソッド91個<br />犠牲者: java.lang.Stringさん<br />10<br />JDKのメソッド<br />65個<br />※ Java SE 6とGroovy-1.8.0で確認<br />※ シグニチャが異なるものは別メソッドとしてカウント<br />
  11. 11. 貴方は本当にString???<br />11<br />def x = "123.45"<br />assert x.isInteger() == false<br />assert x.isDouble() == true<br />assert x.isNumber() == true<br />def s = "groovy"<br />assert "${s.padLeft(10,'-')}"== "----groovy"<br />assert "${s.center(10,'-')}" == "--groovy--"<br />assert "${s.padRight(10,'-')}" == "groovy----"<br />assert 'hello'.tr('aiueo','AIUEO') == 'hEllO'<br />assert 'あいうえお'.tr('いえ','ie') == 'あiうeお'<br />println"ifconfig -a".execute().text //Unix<br />println"ipconfig".execute().text //Windows<br />
  12. 12. 他にもいろいろ追加されてます<br />12<br />詳しくは http://groovy.codehaus.org/groovy-jdk/ を見てね!<br />
  13. 13. Groovyでのびのび~<br />13<br />

×