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
14
レッツゴーデベロッパー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
78
JavaOne2010 Groovy/Spring Roo
nobeans
0
48
Groovy's Builder
nobeans
0
36
How about Gradle?
nobeans
0
16
JavaSE7 Launch Event: Java7xGroovy
nobeans
0
23
The report of JavaOne2011 about groovy
nobeans
0
21
Gr8conf EU 2013 Speed up your development: GroovyServ and Grails Improx Plugin
nobeans
0
24
OSS Product feat. Gradle
nobeans
1
30
Java開発の強力な相棒として今すぐ使えるGroovy
nobeans
0
50
Other Decks in Programming
See All in Programming
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
650
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
5k
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
240
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
1
120
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
580
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
980
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
860
Blazing Fast UI Development with Compose Hot Reload (droidcon New York 2025)
zsmb
1
240
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
100
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
200
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.1k
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
470
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
How STYLIGHT went responsive
nonsquared
100
5.6k
Automating Front-end Workflow
addyosmani
1370
200k
Code Review Best Practice
trishagee
68
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
GraphQLとの向き合い方2022年版
quramy
48
14k
How to Ace a Technical Interview
jacobian
277
23k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Music & Morning Musume
bryan
46
6.6k
Balancing Empowerment & Direction
lara
1
380
The Pragmatic Product Professional
lauravandoore
35
6.7k
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/ ͍·͙͢μϯϩʔυ