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
130
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
Scaling GitHub
holman
458
140k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
520
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How to Ace a Technical Interview
jacobian
276
23k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Designing for humans not robots
tammielis
250
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Thoughts on Productivity
jonyablonski
67
4.4k
What's in a price? How to price your products and services
michaelherold
243
12k
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 *%&"ΛΑΓศརʹ͍͖͍ͬͯͨ ؤுΓ·͢ʂ
ՈͷຖΛͬͱসإʹɻ ίωώτגࣜձࣾ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠