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
87
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
7k
Kotlinの短絡評価について
tommykw
0
460
初めてのKotlinコントリビュート
tommykw
1
710
Kotlin Issueを投げてみよう!
tommykw
0
3.3k
AndroidのタグView作り
tommykw
0
3k
Other Decks in Programming
See All in Programming
ALL CODE BASE ARE BELONG TO STUDY
uzulla
29
6.9k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
650
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
2k
AI Agent 時代的開發者生存指南
eddie
4
2.2k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
1k
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
490
Kotlin 2.2が切り拓く: コンテキストパラメータで書く関数型DSLと新しい依存管理のかたち
knih
0
120
CSC305 Lecture 11
javiergs
PRO
0
320
AI時代に必須!状況言語化スキル / ai-context-verbalization
minodriven
2
270
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
210
Temporal Knowledge Graphで作る! 時間変化するナレッジを扱うAI Agentの世界
po3rin
5
1.1k
Pythonに漸進的に型をつける
nealle
1
150
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Optimizing for Happiness
mojombo
379
70k
Context Engineering - Making Every Token Count
addyosmani
8
330
The Cost Of JavaScript in 2023
addyosmani
55
9.1k
Fireside Chat
paigeccino
41
3.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
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 ࡞ϫʔΫϑϩʔςετͳͲશମͷྲྀΕΛհ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ