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
82
Kotlin Compiler Plugin 入門
tommykw
May 19, 2021
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
140
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2.1k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.9k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.6k
改めて学ぶContracts
tommykw
10
6.9k
Kotlinの短絡評価について
tommykw
0
430
初めてのKotlinコントリビュート
tommykw
1
690
Kotlin Issueを投げてみよう!
tommykw
0
3.3k
AndroidのタグView作り
tommykw
0
2.9k
Other Decks in Programming
See All in Programming
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
490
iOSアプリ開発もLLMで自動運転する
hiragram
6
2.3k
イベントストーミングから始めるドメイン駆動設計
jgeem
4
800
「兵法」から見る質とスピード
ickx
0
260
KotlinConf 2025 現地で感じたServer-Side Kotlin
n_takehata
1
180
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
320
社内での開発コミュニティ活動とモジュラーモノリス標準化事例のご紹介/xPalette and Introduction of Modular monolith standardization
m4maruyama
0
110
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
200
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.9k
技術懸念に立ち向かい 法改正を穏便に乗り切った話
pop_cashew
0
1.3k
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
750
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
6
1.4k
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.4k
Code Review Best Practice
trishagee
68
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
RailsConf 2023
tenderlove
30
1.1k
A Tale of Four Properties
chriscoyier
159
23k
Music & Morning Musume
bryan
46
6.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
106
19k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Embracing the Ebb and Flow
colly
85
4.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 ࡞ϫʔΫϑϩʔςετͳͲશମͷྲྀΕΛհ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ