Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
レッツゴーデベロッパー2011「プログラミングGroovy〜G*エコシステム編」
Search
Yasuharu Nakano
March 25, 2023
Programming
19
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
レッツゴーデベロッパー2011「プログラミングGroovy〜G*エコシステム編」
Yasuharu Nakano
March 25, 2023
More Decks by Yasuharu Nakano
See All by Yasuharu Nakano
GroovyServ - Technical Part
nobeans
0
90
JavaOne2010 Groovy/Spring Roo
nobeans
0
62
Groovy's Builder
nobeans
0
41
How about Gradle?
nobeans
0
22
JavaSE7 Launch Event: Java7xGroovy
nobeans
0
34
The report of JavaOne2011 about groovy
nobeans
0
34
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
nobeans
0
33
OSS Product feat. Gradle
nobeans
1
39
Java開発の強力な相棒として今すぐ使えるGroovy
nobeans
0
64
Other Decks in Programming
See All in Programming
【DroidKaigi 2026】「アクセシビリティを利用するとき、 アクセシビリティもまたこちらを利用している」 〜マルウェアによる攻撃と防衛について〜
halunoyo
0
380
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
680
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
830
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
430
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.3k
XHTMLが残したもの
yosuke_furukawa
PRO
1
410
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
220
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
110
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
260
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
150
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
Prompt Engineering for Job Search
mfonobong
0
440
Building Adaptive Systems
keathley
44
3.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
Amusing Abliteration
ianozsvald
1
290
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
380
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Transcript
Java ( ΤίγεςϜฤ
8IPBN* 㾎ࢯ໊ɿத༃࣏ʢBLBOPCFBOTʣ 㾎ॴଐɿ/55ιϑτΣΞגࣜձࣾ 㾎ϒϩάɿ౾ແه IUUQEIBUFOBOFKQOPCFBOT 㾎4USJOHUS ΛίϯτϦϏϡʔτ͠·ͨ͠ 㾎(SPPWZ4FSW࡞ͬͯ·͢
$ time groovy -e 'println "Hello, world!";' Hello, world! real
0m1.806s user 0m1.321s sys 0m0.171s $ time groovyclient -e 'println "Hello, world!";' Hello, world! real 0m0.029s user 0m0.001s sys 0m0.002s
$ time groovyserver GROOVY: /Users/ynak/Developer/runtime/groovy/bin/groovy GROOVYSERV_HOME: /usr/local/Cellar/groovyserv/0.5/libexec starting.... groovyserver 71209(1961)
is successfully started real 0m5.038s user 0m0.015s sys 0m0.048s
http://www.flickr.com/photos/turyddu/2682923190/ lݟΑɺ͋Ε͕ (SPPWZεΫϦϓτ ͍ୡͷرͰ͋Δz
http://groovy.dzone.com/news/dzone-interviews-yasuharu
None
Java એ͓ΘΓ
( ΤίγεςϜ
ΤίγεςϜ cc ੜଶܥ http://www.flickr.com/photos/philippeguillaume/4027168508
l͋ΔΛڞ༗͠ɺؔ Λ࣋ͭछʑͷߏཁ ૉ͕ͦͷ׆ಈΛҡ࣋͠ ͯߦͨ͘ΊͷΈz http://www.venturenow.jp/column/ogawa/20100721008569.html
ͪͭ ͨΕͭ
4QPDL
4QPDL ͪͭ
4QPDL ͨΕͭ
4QPDL ࣮༻తͳϥΠϒϥϦɾ πʔϧ܈શ෦ͻͬ͘ ΔΊͯ(SPPWZͰ͢
Γ࣌ؒͰɺ(SPPWZΤ ίγεςϜͷओཁϓϩμ ΫτΛϥΠτχϯάհ ͠·͢
4QPDL
㾎ϑϧελοΫͷ8FCΞϓϦέʔγϣϯϑϨʔϜϫʔΫ 㾎(SPPWZ൛ɺ3VCZPO3BJMT 㾎ݱࡏ4QSJOH4PVSDFࣾͷϥΠϯφοϓͷͭ 㾎4QSJOH.7$ 4QSJOH'SBNFXPSL )JCFSOBUFͳͲͷσϑΝΫ τͳϓϩμΫτΛج൫ͱͯ͠࠾༻ 㾎໘ͳઃఆʮنˍ%4-ʯͰ·Ζ͔ʹϥοϐϯά 㾎ϓϥάΠϯ͕ศརʂ 㾎ೝূػೳʁˠͦΕɺ4QSJOH4FDVSJUZϓϥάΠϯͰ
SZ 㾎$47ΤΫεϙʔτʁˠͦΕɺ&YQPSUϓϥάΠϯͰ SZ 㾎ৄ͘͠+((6(໊ݹࢧ෦ͷ!UZBNB͞Μʹʂ
㾎4XJOHϕʔεͷ3*"ϑϨʔϜϫʔΫ 㾎(SPPWZͷ4XJOH#VJMEFSΛϑϧ׆༻ 㾎(SBJMTͷΞʔΩςΫνϟΛͦͷ··౿ऻ 㾎+BS "QQMFU +84ͳͲʹύοέʔδϯάՄೳ 㾎কདྷతʹ+BWB'9ͷରԠ༧ఆ 㾎ৄ͘͠+((6(ؔࢧ෦ͷ!LJZUBLB͞ Μʹʂ
㾎ฒߦϓϩάϥϛϯάͷͨΊͷϥΠϒϥϦ 㾎(SPPWZ͔Βඪ४Ͱόϯυϧ͞Εͨʂ 㾎ฒߦॲཧɺඇಉظॲཧɺࢄॲཧͷͨΊͷײ తͰ҆શͳํ๏Λఏڙ 㾎ίϨΫγϣϯͷฒߦॲཧʢ.BQ3FEVDF෩ 㾎&SMBOH4DBMBͷΞΫλʔϓϩάϥϛϯάϞσϧ 㾎$MPKVSFͷΤʔδΣϯτ 㾎 ۚ ͷH
XPSLTIPQͰ;͞Μ !GVNPLNN ͕ൃද༧ఆͰ͢ʂ
㾎 ϙετ.BWFOͷ૯߹తͳϓϩδΣΫτཧπʔϧ 㾎 .BWFO͔ͳΓҙࣝͯ͠·͢ 㾎 σΟϨΫτϦߏ.BWFOํࣜΛ౿ऻ 㾎 ͪΖΜɺґଘϥΠϒϥϦཧͰ͖Δʢ*WZར༻ 㾎 ֤छϓϥάΠϯʹΑΔ؆୯ػೳՃʢએݴΛՃ͢Δ͚ͩʣ
㾎 (SPPWZ .BWFO &DMJQTF 04(J 4DBMB FUD 㾎 શ໘తʹ(SPPWZϕʔεͷ%4-Λ࠾༻ 㾎 ॊೈͳϚϧνϓϩδΣΫτߏ͕࣮ݱͰ͖Δ 㾎 ͋ͷ)JCFSOBUF(SBEMFʹҠߦͨ͠ʂ 㾎 ৄ͘͠υΩϡϝϯτຊޠ༁Ϧʔμ!MJUFSBMJDF͞Μʹʂ
㾎(PPHMF"QQ&OHJOF༻πʔϧΩοτ 㾎(SPPWZͷ1SPKFDU-FBEͰ͋Δ(VJMMBVNF -BGPSHFࢯ͕։ൃ 㾎("&ͷ"1*Λ(SPPWZ෩ʹ͢ΔͨΊͷബ͍ϥούʔ 㾎(SPPWZϥΠΫͳ%4-ه๏Λϑϧ׆༻ 㾎πΠολʔ#PUఔͳΒָʑ 㾎ৄ͘͠+((6(ӡӦҕһ݉ࣥචϦʔμͷ !LB[VDIJLB͞Μʹʂ
㾎#%%ʢϏϔΠϏΞۦಈ։ൃʣϑϨʔϜϫʔΫ 㾎1PXFS"TTFSUͷग़ 㾎"45มΛ׆༻ͯ͠ɺΘ͔Γ͍͢Ξαʔ γϣϯϝοηʔδΛදࣔͰ͖Δ 㾎(SPPWZͰຊՈʹऔΓࠐ·Ε͍ͯΔ 㾎؇ืɿຊ(SPPWZքͷϛελʔεϙοΫ 4QPDL
// ʮ0ʙ9ʹؚ·ΕͯΔۮͷݸ4ݸͩΑͶʁʯʢҧ def list = [0, 1, 2, 3, 4,
5, 6, 7, 8, 9] assert list.findAll{ it % 2 == 0 }.size() == 4 ʢࢀߟʣ1PXFS"TTFSU !!!!!!!!!!!!!!!!!!!!!!!!!! Caught: Assertion failed: assert list.findAll{ it % 2 == 0 }.size() == 4 | | | | | [0, 2, 4, 6, 8] 5 false [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ૣ͗͢Δʁ Α͘Θ͔Βͳ͍ʁ ਓʹৼΓ͗͢ʁ αϯϓϧίʔυ͕ͳ͍ʁ
ষ
!"#"$%&'"()*+&',,-.%/*0'%&',1# ! " # " $ % & ' WPM
$ P O U F O U T (SBJMT. ϦϦʔεɹۓٸاը ݕূ (SBJMT ͷੈքʜʜʜʜʜʜʜʜ !"#$"%&'( (SJ⒎PO ෆఆظศ ʙୈ ճόΠϯσΟϯάฤʙ ʜʜʜʜʜʜʜʜʜ !"#$"%&') $PEF/BSD Λར༻ͯ͠ (3007: ͷίʔυ࣭Λ্͛Δ ʙୈ ճ։ൃπʔϧͱ࿈ܞʙ ʜʜʜʜʜʜʜʜʜ !"#$"%&'* ͠৽ਓঁࢠ +BWB ϓϩάϥϚ͕ ʰ(SPPWZ ΠϯɾΞΫγϣϯʱΛಡΜͩΒ ʙୈ̍ষɹ͔ʰ(SPPWZ ΠϯɾΞΫγϣϯʱͱग़ձͬͨʙ ʜ !"#$"%&'+ (SBJMT1MVHJO ୳๚ ʙୈ ճ.POHP%#(03.ϓϥάΠϯʙ ʜʜʜʜ ,-./#012$/- ϦϦʔεใʜʜʜʜʜʜʜʜʜʜʜʜʜʜʜ +((6( ̐ίϚອըʮ͙ΔʔͼʔͨΜʯୈ ʜʜ http://grails.jp/g_mag_jp/ ͍·͙͢μϯϩʔυ