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.6k
KotlinとJavaの相互運用
tommykw
July 12, 2017
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
140
Kotlin Compiler Plugin 入門
tommykw
0
72
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2.1k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.9k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.6k
改めて学ぶContracts
tommykw
10
6.8k
Kotlinの短絡評価について
tommykw
0
410
初めてのKotlinコントリビュート
tommykw
1
680
Kotlin Issueを投げてみよう!
tommykw
0
3.3k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
380
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
Testing 201, or: Great Expectations
jmmastey
42
7.4k
Automating Front-end Workflow
addyosmani
1369
200k
Facilitating Awesome Meetings
lara
54
6.3k
Code Review Best Practice
trishagee
67
18k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
The Invisible Side of Design
smashingmag
299
50k
Optimizing for Happiness
mojombo
377
70k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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 *%&"ΛΑΓศརʹ͍͖͍ͬͯͨ ؤுΓ·͢ʂ
ՈͷຖΛͬͱসإʹɻ ίωώτגࣜձࣾ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠