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
KotlinとJavaの相互運用
Search
tommykw
July 12, 2017
0
3.5k
KotlinとJavaの相互運用
tommykw
July 12, 2017
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
120
Kotlin Compiler Plugin 入門
tommykw
0
69
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.8k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.5k
改めて学ぶContracts
tommykw
10
6.7k
Kotlinの短絡評価について
tommykw
0
380
初めてのKotlinコントリビュート
tommykw
1
660
Kotlin Issueを投げてみよう!
tommykw
0
3.3k
Featured
See All Featured
RailsConf 2023
tenderlove
29
900
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Practical Orchestrator
shlominoach
186
10k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Automating Front-end Workflow
addyosmani
1366
200k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
420
Writing Fast Ruby
sferik
627
61k
Transcript
ՈͷຖΛͬͱসإʹɻ ,PUMJOͱ+BWBͷ૬ޓӡ༻ ίωώτגࣜձࣾ
ా݈ೋ !UPNNZLX !UPNNZLX ίωώτגࣜձࣾ"OESPJE&OHJOFFS ϓϩϑΟʔϧ
͢༰ w ϚϚϦͷ,PUMJOಋೖ w ,PUMJOͱ+BWBͷ૬ޓӡ༻ w ࠷ޙʹ
ՈͷຖΛͬͱসإʹɻ ϚϚϦͷ,PUMJOಋೖ ίωώτגࣜձࣾ
ϚϚϦ2
ϚϚϦ2
ϚϚϦ2
,PUMJOಋೖ w +BWBͩͱɺෳࡶʹͳΔίʔυ͖ͬ͢ΓՄಡੑ্͕͕Δ w 4XJGU͍ͷJ04ΤϯδχΞʹͳ͡Έ͍͢จ๏ w +BWBͷ/VMM1PJOUFS&YDFQUJPOΛۦஞͰ͖Δ w σϝϦοτ͕গͳ͔ͬͨ ͳͥ,PUMJOΛಋೖͨ͠ͷ͔
,PUMJOಋೖ w ແཧʹ,PUMJOԽ͠ͳ͍ w ϦϑΝΫλϦϯά৽ػೳΛ࣮͢Δࡍʹ,PUMJOԽΛ͢Δ w ςετ,PUMJOͰॻ͍ͯΈΔ ,PUMJOಋೖํ
,PUMJOಋೖ w ݄͔Βελʔτͯ͠ಋೖྃ w ׂ͘Β͍ίʔυߦ͕ݮͬͨ w ؆ܿʹهड़Ͱ͖ΔΑ͏ʹͳͬͨ w ϒϩάΛ௨ͯ͡ೝ্͕͕ͬͨ ,PUMJOಋೖ݁Ռ
ՈͷຖΛͬͱসإʹɻ ,PUMJOͱ+BWBͷ૬ޓӡ༻ ίωώτגࣜձࣾ
,PUMJOͱ+BWBͷ૬ޓӡ༻ w 1MBUGPSN5ZQF w .BQQFE5ZQF w σϑΥϧτpOBMDMBTT w ݕࠪྫ֎ w
υΩϡϝϯτ ,PUMJOͱ+BWBͷ૬ޓӡ༻
ՈͷຖΛͬͱসإʹɻ 1MBUGPSN5ZQF ίωώτגࣜձࣾ
1MBUGPSN5ZQF w 5Λද͢ w /VMM҆શͱݴΘΕ͍ͯΔ͕ɺ+BWBͱ,PUMJOͷ߹আ͘ w /VMM1PJOUFS&YDFQUJPOɺ*MMFHBM4UBUF&YDFQUJPO͕ൃੜ͠Ϋϥογϡ͢Δ w +BWBͰΞϊςʔγϣϯΛఆٛ 1MBUGPSN5ZQFʹ͍ͭͯ
1MBUGPSN5ZQF Ϋϥογϡ͢Δέʔε
1MBUGPSN5ZQF Ϋϥογϡ͢Δέʔε
1MBUGPSN5ZQF !/VMMBCMFΛ໌ࣔతʹఆٛ
1MBUGPSN5ZQF !/VMMBCMFΛ໌ࣔతʹఆٛ
1MBUGPSN5ZQF w +BWBଆͰ!/VMMBCMFͱ!/PO/VMMΛఆٛ͢Δ w ڥքΛҙࣝ͢Δ w ؆୯ʹΫϥογϡͯ͠͠·͏ͷͰҙ͢Δ w έʔεΘ͔Βͳ͍͕Ұ෦*%&"ͰܯࠂΛදࣔ͢Δ 1MBUGPSN5ZQF·ͱΊ
ՈͷຖΛͬͱসإʹɻ .BQQFE5ZQF ίωώτגࣜձࣾ
.BQQFEUZQF w ,PUMJOͱ+BWBͷͦΕͧΕͷܕϚοϐϯά w 1MBUGPSN5ZQFɺOVMMBCMFɺ,PUMJOݻ༗ͷܕʹϚοϐϯά w .BQQFE5ZQFͱ1MBUGPSN5ZQFͷ3ZPUB.VSPIPTIJ͞Μͷهࣄ͕ͱͯࢀߟʹͳΔ .BQQFE5ZQFʹ͍ͭͯ
.BQQFEUZQF .BQQFE5ZQF
.BQQFEUZQF .BQQFE5ZQF
.BQQFEUZQF .BQQFE5ZQF
.BQQFEUZQF w ,PUMJOͰ+BWBͷܕΛಛผʹѻ͏ w !/VMMBCMFɺ!/PU/VMMΛ͏ w 1MBUGPSN5ZQFΛ೦಄ʹஔ͖ͭͭ.BQQFE5ZQFΛҙࣝ͢Δ .BQQFE5ZQF·ͱΊ
ՈͷຖΛͬͱসإʹɻ σϑΥϧτpOBMDMBTT ίωώτגࣜձࣾ
σϑΥϧτpOBMDMBTT w ,PUMJOͷΫϥεσϑΥϧτpOBM w +BWBͱҟͳΓɺܧঝ͢Δ߹ʹPQFOΛ͚ͭΔ w Ұ෦͑ͳ͍ϥΠϒϥϦ͕͋Δ w 3FBMNɺ.PDLJUPɺ4QSJOHͳͲ σϑΥϧτpOBMDMBTTʹ͍ͭͯ
σϑΥϧτpOBMDMBTT 3FBMN
σϑΥϧτpOBMDMBTT 3FBMN
σϑΥϧτpOBMDMBTT w NPDLJUPWFSTJPOLPUMJOBMMPQFOΛ͏ w NPDLJUPWFSTJPO͔ΒJOMJOFNPDLNBLFSΛ༗ޮʹ͢Δ .PDLJUP
σϑΥϧτpOBMDMBTT .PDLJUP
σϑΥϧτpOBMDMBTT .PDLJUP
σϑΥϧτpOBMDMBTT w ඞཁͰ͋ΕదٓPQFOΛ͚͍ͭͯ͘ w LPUMJOBMMPQFOPQFOΛ༩ͯ͘͠ΕΔϓϥάΠϯΛ͏ σϑΥϧτpOBMDMBTT·ͱΊ
ՈͷຖΛͬͱসإʹɻ ݕࠪྫ֎ ίωώτגࣜձࣾ
ݕࠪྫ֎ w ,PUMJOଆͰ!5ISPXTΛఆٛ͢Δ w *%&"ͰܯࠂΛදࣔ͠ɺΫΠοΫϑΟοΫε͕Ͱ͖Δ w +BWB͔Β,PUMJOͰΫΠοΫϑΟοΫε͕ޮ͔ͳ͍ ݕࠪྫ֎ʹ͍ͭͯ
ݕࠪྫ֎ ,PUMJO+BWB
ݕࠪྫ֎ ,PUMJO+BWB
ݕࠪྫ֎ ,PUMJO+BWB
ݕࠪྫ֎ +BWB,PUMJO
ݕࠪྫ֎ +BWB,PUMJO
ݕࠪྫ֎ w ,PUMJOଆͰ!5ISPXTΛఆٛ͢Δ w +BWB͔Β,PUMJOΛݺͼग़࣌͢ʹྑ͍ํ๏ͳ͍ͩΖ͏͔ w ڥքઢΛҙࣝ͢Δ ݕࠪྫ֎·ͱΊ
ՈͷຖΛͬͱসإʹɻ υΩϡϝϯτ ίωώτגࣜձࣾ
υΩϡϝϯτ w ίϝϯτͷॻ͕ࣜ౷ҰͰ͖Δ w ίϝϯτ͕·ͱ·͍ͬͯͯίʔυ͕ಡΈ͍͢ w ίϝϯτॻ͘͜ͱʹΑͬͯಡΈ͍͢ίʔυΛҙࣝͰ͖Δ w υΩϡϝϯτΛੜͰ͖Δ υΩϡϝϯτʹ͍ͭͯ
υΩϡϝϯτ w +BWBͷ+BWBEPDʹ૬͢Δ w ϚʔΫμϯه๏ w +BWBEPDͱඍົʹهड़ํ๏͕ҟͳΔ w λάͷछྨҧ͏ ,%PD
υΩϡϝϯτ w +BWBEPDͱಉ͡ػೳΛ࣋ͭυΩϡϝϯτΤϯδϯ w ίʔυੜ͕Ͱ͖Δ w +BWBͱ,PUMJOͷڞଘϓϩδΣΫτʹରԠͰ͖Δ w WFSTJPO EPLLB
υΩϡϝϯτ w ,%PDೃછΈͷ͋ΔϚʔμμϯͳͷͰॻ͖͍͢ͷͰͳ͍ͩΖ͏͔ w +BWBEPDͱॻ͖ํ͕ଟগҟͳΔ w IUNMʹు͖ग़͢ࡍEPLLBΛ͏ υΩϡϝϯτ·ͱΊ
ՈͷຖΛͬͱসإʹɻ ϝϦοτ͚ͩͰͳ͍ ૬ޓӡ༻ʹ͍ͭͯ ίωώτגࣜձࣾ
ϝϦοτ͚ͩͰͳ͍૬ޓӡ༻ʹ͍ͭͯ ,PUMJOॿຊͰݴٴ͞Ε͍ͯΔ
ϝϦοτ͚ͩͰͳ͍૬ޓӡ༻ʹ͍ͭͯ w ৽͍͠ίʔυΛ,PUMJOʹ͢Δ w ςετ͔Βಋೖ͢Δ w ϥΠϒϥϦʔΛ,PUMJOͰॻ͍ͯಋೖ͢Δ w ஔ͖͑Δ ,PUMJOॿຊͰҎԼͷϝϦοτɺ
σϝϦοτʹ͍ͭͯઆ໌͞Ε͍ͯ·ͨ͠
ϝϦοτ͚ͩͰͳ͍૬ޓӡ༻ʹ͍ͭͯ w ੜ࢈ੑͷߴ͞ w ίϨΫγϣϯͷૢ࡞͕ײతͰָ w ֶशίετͦΕ΄Ͳߴ͘ͳ͍ w *%&"ͷิ͕ڧྗ ૬ޓӡ༻ʹ͓͚Δ
ϓϩδΣΫτಋೖʹΑΔϝϦοτ
ϝϦοτ͚ͩͰͳ͍૬ޓӡ༻ʹ͍ͭͯ w +BWBͱ,PUMJO྆ํΛҙࣝ͢Δඞཁ͕͋Δ w ΫϥεʹΑͬͯ+BWBΑΓίʔυྔ͕ଟ͘ͳΔ࣌͋Δ w ϨϏϡΞʔͷෛ୲ w ,PUMJOԽ͞Εͳ͍෦͕ൃੜͯ͠ϝϯςφϯείετ͕૿େͨ͠ ૬ޓӡ༻ʹ͓͚Δ
ϓϩδΣΫτಋೖʹΑΔσϝϦοτ
ՈͷຖΛͬͱসإʹɻ ࠷ޙʹ ίωώτגࣜձࣾ
͍͞͝ʹ w ৽ن։ൃͰ͋Εϑϧ,PUMJOָ͕ w طଘ։ൃͰ͋Ε૬ޓؔͷਏ͕͋͞Δ w ڥքΛҙࣝ͢Δ ࠷ޙʹ
͍͞͝ʹ w Ҿ͖ଓ͖૬ޓӡ༻ w ͍Ͱݟͯӡ༻͍ͯ͘͠ w ,PUMJOຊମͷίϯτϦϏϡʔτ w *%&"ΛΑΓศརʹ͍͖͍ͬͯͨ ؤுΓ·͢ʂ
ՈͷຖΛͬͱসإʹɻ ίωώτגࣜձࣾ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠