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
0
15
レッツゴーデベロッパー2011「プログラミングGroovy〜G*エコシステム編」
Yasuharu Nakano
March 25, 2023
Tweet
Share
More Decks by Yasuharu Nakano
See All by Yasuharu Nakano
GroovyServ - Technical Part
nobeans
0
81
JavaOne2010 Groovy/Spring Roo
nobeans
0
52
Groovy's Builder
nobeans
0
37
How about Gradle?
nobeans
0
17
JavaSE7 Launch Event: Java7xGroovy
nobeans
0
25
The report of JavaOne2011 about groovy
nobeans
0
26
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
nobeans
0
26
OSS Product feat. Gradle
nobeans
1
33
Java開発の強力な相棒として今すぐ使えるGroovy
nobeans
0
56
Other Decks in Programming
See All in Programming
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
0
110
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
12
7k
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
710
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.7k
OSS開発者の憂鬱
yusukebe
12
5.6k
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
1.1k
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.2k
CloudflareのSandbox SDKを試してみた
syumai
0
180
チーム開発の “地ならし"
konifar
8
5.8k
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.3k
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
150
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
530
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Become a Pro
speakerdeck
PRO
29
5.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
BBQ
matthewcrist
89
9.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Visualization
eitanlees
150
16k
Context Engineering - Making Every Token Count
addyosmani
9
410
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
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/ ͍·͙͢μϯϩʔυ