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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tommykw
May 19, 2021
Programming
0
100
Kotlin Compiler Plugin 入門
tommykw
May 19, 2021
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
160
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2.3k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
2k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.7k
改めて学ぶContracts
tommykw
10
7.1k
Kotlinの短絡評価について
tommykw
0
490
初めてのKotlinコントリビュート
tommykw
1
740
Kotlin Issueを投げてみよう!
tommykw
0
3.4k
AndroidのタグView作り
tommykw
0
3k
Other Decks in Programming
See All in Programming
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
490
SourceGeneratorのマーカー属性問題について
htkym
0
210
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
390
OTP を自動で入力する裏技
megabitsenmzq
0
120
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
210
Rethinking API Platform Filters
vinceamstoutz
0
120
AI 開発合宿を通して得た学び
niftycorp
PRO
0
160
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.5k
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
530
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
290
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
Windows on Ryzen and I
seosoft
0
350
Featured
See All Featured
The browser strikes back
jonoalderson
0
820
HDC tutorial
michielstock
1
580
Speed Design
sergeychernyshev
33
1.6k
Agile that works and the tools we love
rasmusluckow
331
21k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Visualization
eitanlees
150
17k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
460
For a Future-Friendly Web
brad_frost
183
10k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
570
Designing Experiences People Love
moore
143
24k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
150
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 ࡞ϫʔΫϑϩʔςετͳͲશମͷྲྀΕΛհ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ