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 Compiler Plugin 入門
Search
tommykw
May 19, 2021
Programming
0
86
Kotlin Compiler Plugin 入門
tommykw
May 19, 2021
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
150
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2.2k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.9k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.7k
改めて学ぶContracts
tommykw
10
6.9k
Kotlinの短絡評価について
tommykw
0
450
初めてのKotlinコントリビュート
tommykw
1
710
Kotlin Issueを投げてみよう!
tommykw
0
3.3k
AndroidのタグView作り
tommykw
0
2.9k
Other Decks in Programming
See All in Programming
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
450
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.5k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
350
CSC305 Lecture 04
javiergs
PRO
0
230
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
150
パフォーマンスチューニングで Web 技術を深掘り直す
progfay
18
4.8k
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
1.1k
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
140
プログラマのための作曲入門
cheebow
0
520
実践AIチャットボットUI実装入門
syumai
7
2.4k
CSC509 Lecture 02
javiergs
PRO
0
400
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
4 Signs Your Business is Dying
shpigford
185
22k
The Cult of Friendly URLs
andyhume
79
6.6k
Docker and Python
trallard
46
3.6k
Music & Morning Musume
bryan
46
6.8k
Done Done
chrislema
185
16k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Fireside Chat
paigeccino
40
3.7k
Transcript
,PUMJO$PNQJMFS1MVHJOೖ <ίωώτࣾ߹ಉ>3BEJPUBML5FDI5BML"OESPJE !UPNNZLX
͡Ίʹ
ࠓ͢͜ͱ w ,PUMJO$PNQJMFS1MVHJOͱʁ w ,PUMJO$PNQJMFS1MVHJOͷར༻έʔε w ,PUMJO$PNQJMFS1MVHJOͷΈ w ,PUMJO$PNQJMFS1MVHJOͷςετ w
·ͱΊ
ࣗݾհ ίωώτגࣜձࣾ"OEPSJEΤϯδχΞ (JUIVC 5XJUUFSɿ!UPNNZLX ా݈ೋ
,PUMJO$PNQJMFS1MVHJOͱʁ
ͦͦɺ,PUMJO$PNQJMFS1MVHJOͱʁ w όΠτίʔυΛ্ॻ͖Ͱ͖Δ w ίʔυهड़ͷࣗಈԽ͕Ͱ͖Δ w ,BQUͰΘΕ͍ͯΔ w ·ͩ҆ఆ൛Ͱͳ͍ w
υΩϡϝϯτ͕ͳ͍
ͦͦɺ,PUMJO$PNQJMFS1MVHJOͱʁ w όΠτίʔυΛ্ॻ͖Ͱ͖Δ w ίʔυهड़ͷࣗಈԽ͕Ͱ͖Δ w ,BQUͰΘΕ͍ͯΔɺ$PNQPTFͰར༻͞Ε͍ͯΔ w ·ͩ҆ఆ൛Ͱͳ͍ w
υΩϡϝϯτ͕ͳ͍ ͋·ΓΑ͘Θ͔Βͳ͍ͳ😅
ࠓ͢͜ͱ w ,PUMJO$PNQJMFS1MVHJOͱʁ w ,PUMJO$PNQJMFS1MVHJOͷར༻έʔε w ,PUMJO$PNQJMFS1MVHJOͷΈ w ,PUMJO$PNQJMFS1MVHJOͷςετ w
·ͱΊ
,PUMJO$PNQJMFS1MVHJOͷར༻έʔε
ར༻έʔεΛجʹཧղΛਂΊΔ w +FUQBDL$PNQPTF w BBGBOBTFWTFLSFU w "INFE.PVSBEOPDPQZ
ར༻έʔεΛجʹཧղΛਂΊΔ w +FUQBDL$PNQPTF w !$PNQPTBCMFͰར༻͞Ε͍ͯΔ w BBGBOBTFWTFLSFU w "INFE.PVSBEOPDPQZ
ར༻έʔεΛجʹཧղΛਂΊΔ w +FUQBDL$PNQPTF w !$PNQPTBCMFͰར༻͞Ε͍ͯΔ w BBGBOBTFWTFLSFU w UP4USJOH ͷ༰Λॻ͖͑Δ
w "INFE.PVSBEOPDPQZ w DPQZ Λআ͢Δ
BBGBOBTFWTFLSFUͷར༻
BBGBOBTFWTFLSFUͷར༻ password͕දࣔ͞ΕΔ
BBGBOBTFWTFLSFUͷར༻
BBGBOBTFWTFLSFUͷར༻ password͕ృΓͭͿ͞ Ε͍ͯΔ
ར༻έʔεΛجʹཧղΛਂΊΔ w +FUQBDL$PNQPTF w !$PNQPTBCMFͰར༻͞Ε͍ͯΔ w BBGBOBTFWTFLSFU w UP4USJOH Λॻ͖͍͑ͯΔ
w "INFE.PVSBEOPDPQZ w DPQZ Λআ͍ͯ͠Δ
"INFE.PVSBEOPDPQZͷར༻
"INFE.PVSBEOPDPQZͷར༻ pass͕දࣔ͞ΕΔ
"INFE.PVSBEOPDPQZͷར༻
"INFE.PVSBEOPDPQZͷར༻ copy()͕আ͞Εͨ݁ ՌΤϥʔͱͳΔ
͜͜·ͰΛ౿·͑ͯɺ,PUMJO$PNQJMFS1MVHJOͱʁ w όΠτίʔυΛ্ॻ͖Ͱ͖Δ w طଘͷػೳΛฤूͰ͖Δ w ྫ͑ɺUP4USJOH ɺDPQZ ͳͲΛฤूͰ͖ͨ w
ίʔυهड़ͷࣗಈԽ͕Ͱ͖Δ w ΞϊςʔγϣϯͳͲΛτϦΨʔʹͯ͠࠶ར༻Մೳ w ,BQUͰΘΕ͍ͯΔ w ·ͩ҆ఆ൛Ͱͳ͍ w υΩϡϝϯτ͕ͳ͍
Ͱ͖Δ͜ͱͷΠϝʔδͰ͖·ͨ͠ʁ w όΠτίʔυΛ্ॻ͖Ͱ͖Δ w όΠτίʔυΛ্ॻ͖Ͱ͖ΔͷͰɺطଘͷػೳΛฤूͰ͖Δ w UP4USJOH ͳͲ͍͡Δ͜ͱ͕Ͱ͖ͨ w ίʔυهड़ͷࣗಈԽ͕Ͱ͖Δ
w ΞϊςʔγϣϯΛτϦΨʔʹࣗಈԽ͍ͯ͠Δ w ,BQUͰΘΕ͍ͯΔ w ·ͩ҆ఆ൛Ͱͳ͍ w υΩϡϝϯτ͕ͳ͍ ͜ͷຐ๏ͷΑ͏ͳػೳͲΜͳΈʁ🧙
ࠓ͢͜ͱ w ,PUMJO$PNQJMFS1MVHJOͱʁ w ,PUMJO$PNQJMFS1MVHJOͷར༻έʔε w ,PUMJO$PNQJMFS1MVHJOͷΈ w ,PUMJO$PNQJMFS1MVHJOͷςετ w
·ͱΊ
,PUMJO$PNQJMFS1MVHJOͷΈ
,PUMJO$PNQJMFS1MVHJOͷΈ (SBEMF1MVHJO ,PUMJO$PNQJMFS1MVHJO 5SFF7JTJUPS (SBEMF1MVHJO ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
Έɿ(SBEMF1MVHJO w ,PUMJO(SBEMF4VC1MVHJOΛհͯ͠ɺ ,PUMJO$PNQJMFS1MVHJOΛݺͼग़͢ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
Έɿ,PUMJO$PNQJMFS1MVHJO w $PNNBOE-JOF1SPDFTPSɺ $PNQPOFOFU3FHJTUBSΛఆٛ͢Δ w "OBMZTJT)BOEMFS&YUFOTJPOΛհͯ͠ ίʔυղੳ͢ΔͨΊͷ5SFF7JTJUPSΛ ݺͼग़͢ w ղੳͨ͠༰Λҙͷܗࣜʹมߋ͠ɺ
$PMMFDUJPO,U'JMFͱͯ͢͠ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
Έɿ5SFF7JTJUPS w ࣮ߦ͞ΕͨίʔυͷϑΝΠϧɺΫϥ εɺϓϩύςΟɺؔΛղੳͰ͖Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
Έɿ(SBEMF w ՌΛൃߦ͢Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ w IUUQTHJUIVCDPNUPNNZLXLPUMJODPNQJMFSQMVHJOTBNQMF w !)FMMP8PSMEΞϊςʔγϣϯΛτϦΨʔʹɺ)FMMP8PSMEΛग़ྗ͢ ΔαϯϓϧϓϥάΠϯ
αϯϓϧίʔυ(SBEMF1MVHJO ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ(SBEMF1MVHJO KotlinGradleSubPlugin Λఆٛ͢Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ,PUMJO$PNQJMFS1MVHJO ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ,PUMJO$PNQJMFS1MVHJO CommandLineProcesso rΛఆٛ͢Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ,PUMJO$PNQJMFS1MVHJO ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ,PUMJO$PNQJMFS1MVHJO ComponentResitrarΛఆ ٛ͢Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ,PUMJO$PNQJMFS1MVHJO ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ,PUMJO$PNQJMFS1MVHJO ೖྗίʔυΛղੳ͠ɺ ҙͷίʔυʹஔ͖͑Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ,PUMJO$PNQJMFS1MVHJO ೖྗίʔυΛղੳ͠ɺ ҙͷίʔυʹஔ͖͑Δ ஔ͖͍͑ͨɺKtFileΛ ࡞͢Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ5SFF7JTJUPS ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ5SFF7JTJUPS @HelloWorld͕ଘࡏ͢Δ ͔νΣοΫ͢Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ5SFF7JTJUPS @HelloWorld͕ଘࡏ͢Δ ͔νΣοΫ͢Δ @HelloWorld͕͋Ε println(“Hello Worold”)Λૠೖ ͢Δ ग़యɿhttps://www.droidcon.com/media-detail?video=481164487
αϯϓϧίʔυ࣮ߦ݁Ռ
αϯϓϧίʔυ࣮ߦ݁Ռ @HelloWorldΞϊςʔγϣϯΛఆ ٛͯ͠ɺmain()Λ࣮ߦ͢Δ
αϯϓϧίʔυ࣮ߦ݁Ռ ࣮ߦ݁Ռͱͯ͠ɺHello World͕දࣔ͞ΕΔ @HelloWorldΞϊςʔγϣϯΛఆ ٛͯ͠ɺmain()Λ࣮ߦ͢Δ
ࠓ͢͜ͱ w ,PUMJO$PNQJMFS1MVHJOͱʁ w ,PUMJO$PNQJMFS1MVHJOͷར༻έʔε w ,PUMJO$PNQJMFS1MVHJOͷΈ w ,PUMJO$PNQJMFS1MVHJOͷςετ w
·ͱΊ
,PUMJO$PNQJMFS1MVHJOͷςετ
LPUMJODPNQJMFUFTUJOHϥΠϒϥϦΛ͏ w IUUQTHJUIVCDPNUTDIVDIPSUEFWLPUMJODPNQJMFUFTUJOH w ,PUMJO+BWBίʔυΛίϯύΠϧ͢ΔϥΠϒϥϦ
LPUMJODPNQJMFUFTUJOHϥΠϒϥϦΛ͏
LPUMJODPNQJMFUFTUJOHϥΠϒϥϦΛ͏ @NoCopy͕͋Εcopy() Λআ͢Δςετ
LPUMJODPNQJMFUFTUJOHϥΠϒϥϦΛ͏ @NoCopy͕͋Εcopy() Λআ͢Δςετ ίϯύΠϧ༻ͷKotlinϑΝΠ ϧΛੜ͠ɺίϯύΠϧ͢ Δ
LPUMJODPNQJMFUFTUJOHϥΠϒϥϦΛ͏ @NoCopy͕͋Εcopy() Λআ͢Δςετ ίϯύΠϧ༻ͷKotlinϑΝΠ ϧΛੜ͠ɺίϯύΠϧ͢ Δ ίϯύΠϧ݁ՌΛνΣοΫ ͢Δ
LPUMJODPNQJMFUFTUJOHͷDPNQJMF ͷεςοϓ w ελϒΛੜ͢Δ w BQUΛ࣮ߦ͢Δ w ,PUMJO+BWBιʔεΛίϯύΠϧ͢Δ
·ͱΊ
·ͱΊ w ,PUMJOϩʔυϚοϓʹهࡌͷ௨Γɺ,PUMJO$PNQJMFS1MVHJO҆ఆ൛ ʹ͚ͯ։ൃத w ΞϯυΩϡϝϯτͳͷͰ։ൃख୳Γ😢 w ࡞ϫʔΫϑϩʔςετͳͲશମͷྲྀΕΛհ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ