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コントリビュート
Search
tommykw
February 17, 2018
Programming
1
640
初めてのKotlinコントリビュート
tommykw
February 17, 2018
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
120
Kotlin Compiler Plugin 入門
tommykw
0
66
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.8k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.4k
改めて学ぶContracts
tommykw
10
6.6k
Kotlinの短絡評価について
tommykw
0
350
Kotlin Issueを投げてみよう!
tommykw
0
3.2k
AndroidのタグView作り
tommykw
0
2.8k
Other Decks in Programming
See All in Programming
GraphQLの魅力を引き出すAndroidクライアント実装
morux2
3
540
Architecture Decision Record (ADR)
nearme_tech
PRO
1
680
【TID2024】模擬講義:プログラマと一緒にゲームをデザインしてみよう!
akatsukigames_tech
0
640
事業フェーズの変化に対応する 開発生産性向上のゼロイチ
masaygggg
0
200
The Sequel to a Dream of Ruby Parser's Grammar
ydah
1
220
Rubyのobject_id
qnighy
6
1.3k
Crafting Cross-Platform Adventures: Building a Game Engine with Kotlin Multiplatform
dwursteisen
0
100
今インフラ技術をイチから学び直すなら
yuhta28
1
130
エンジニア1年目で複雑なコードの改善に取り組んだ話
mtnmr
3
2k
Lessons by WebAssembly app in production on CDN Edge Computing Service
tetsuharuohzeki
0
210
What you can do with Ruby on WebAssembly
kateinoigakukun
0
160
AndroidアプリのUIバリエーションをあの手この手で確認する / Check UI variations of Android apps by various means
tkmnzm
1
140
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
36
6.8k
The Cost Of JavaScript in 2023
addyosmani
42
5.6k
Code Reviewing Like a Champion
maltzj
517
39k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
28
1.6k
Navigating Team Friction
lara
183
13k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.8k
Agile that works and the tools we love
rasmusluckow
327
20k
Ruby is Unlike a Banana
tanoku
96
11k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.5k
Building Applications with DynamoDB
mza
90
6k
GraphQLとの向き合い方2022年版
quramy
43
13k
Transcript
$POOFIJUP*OD ϚϚͷҰาΛࢧ͑Δ ॳΊͯͷ,PUMJOίϯτϦϏϡʔτ
ࣗݾհ ా݈ೋ !UPNNZLX !UPNNZLX ίωώτגࣜձࣾ"OESPJE&OHJOFFS
,POUSJCVUF͠·ͨ͠ ࡢ݄ʹॳΊͯ,POUSJCVUF͠·ͨ͠ʂʂ
,POUSJCVUF͠·ͨ͠ ॳ,POUSJCVUFͨ͠ࢫͷϒϩάॻ͖·ͨ͠ʂ IUUQUFDIDPOOFIJUPDPNFOUSZ
,POUSJCVUF͠·ͨ͠ ͍͔ͭ͘,POUSJCVUF͍ͯ͠·͢ʂ
,POUSJCVUFखॱ ,POUSJCVUFखॱΛ͓͍͚ͨ͠͠Ͳɺ΄΅ TIJSBKJ͞Μͷʮ)PXUP,POUSJCVUFʯͱඃͬ ͍ͯΔʂʂ
TIJSBKJ͞Μͷ,POUSJCVUFखॱ IUUQTQIPUPTHPPHMFDPNTIBSF "'2JQ.&J5[2CK'YG[RQ'O,0LX,6-YUU6Z,9S KR(QM:&)0$JDO3/3#VPYX/DX LFZ-8E;/'3IEY3K3+D8Q:CT[/6I7N6B637 E'+O
͓͍ͨ͜͠͠ͱ ͚ͩͷใΛఏڙͨ͠ํ͕Ձ͕͋Γͦ͏
͓͍ͨ͜͠͠ͱ ͱ͍͏͜ͱͰࠓճͷ͓͠ʂ
w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ
ڥߏஙׂѪ ڥߏஙׂѪ͍͖ͤͯͨͩ͞·͢ʂ TIJSBKJ͞Μͷʮ)PXUP,POUSJCVUFʯΛ֬͝ೝԼ͍͞ʂ
w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ
,POUSJCVUFͰ͖ͳ͔ͬͨ ॳ,POUSJCVUF͢Δͧʂͱ࢝Ί͍ͯͨͷͰ͕͢ɺ ͳ͔ͳ͔,POUJSVCVUFͰ͖ͳ͍ʜ
w "OESPJE4UVEJPͰͳ͘ɺ*OUFMMJ+*%&"Λ ͏ ͜Εϋʔυϧͱ͍͏ఔͰͳ͍ͣ w ͦͦݴޠʹίϯτϦϏϡʔτͰϏϏΔ w ,PUMJO*%&1MVHJO։ൃͩͱ"OESPJE։ൃͱͷ ؔੑ͕ബͪ͘ΐͬͱڵຯ͕ബΕΔ͔ʁ w
ۀͱؔΘΓ͕͋Δ༁Ͱͳ͍ͷͰۀ࣌ ؒʹΔ͜ͱ͕Ͱ͖ͳ͍ ϋʔυϧʁʁ ,POUSJCVUFͰײͨ͡ϋʔυϧʁʁ
ϋϚΔͱ͜Ζ ͦΕʹՃ͑ͯϋϚͬͨͱ͜Ζ͕͋ͬͨ
w ࣝऀͷํʑ͕*TTVFΛͲΜͲΜରԠ͍ͯ͘͠ w ରԠͰ͖ͦ͏ͳ*TTVF͕ͳ͍ ϋϚΔͱ͜Ζ ,POUSJCVUFͷϋϚΔͱ͜Ζ w *TTVFʹΑͬͯϨϏϡʔͯ͠Β͏·Ͱʹ࣌ ֻ͕͔ؒΔ
ϋϚΔͱ͜Ζ ൺֱతऔΓΈ͍͢*TTVF͕ͳ͍͔ͳʜ
αϯϓϧίʔυͷ,POUSJCVUF ඪ४ϥΠϒϥϦͷαϯϓϧίʔυఏڙʂ
w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ
αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυ w αϯϓϧίʔυཱͳ,POUSJCVUFʂ w 3FBE.F͋Δʂ w IUUQTHJUIVCDPN+FU#SBJOTLPUMJOCMPC NBTUFSMJCSBSJFTTUEMJCTBNQMFT3FBE.FNE w
ඪ४ϥΠϒϥϦͷαϯϓϧίʔυఏڙ
αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυΛఏڙ͢Δࡍʹར ༻͢ΔΞαʔγϣϯ͕͋Δ
αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυͷΞαʔγϣϯ w BTTFSU1SJOUT w BTTFSU5SVFBTTFSU'BMTF w BTTFSU'BJMTBTTFSU'BJMT8JUI
αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυͷ13Λ͍͔ͭ͛ͯ͘Έ·ͨ͠ʂ
αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTJUFSBCMFTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT*UFSBCMFTLU
αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTSFWFSTFE7JFXTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT3FWFSTFE7JFXTLU
αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTSBOHFTSBOHFTLU MJCSBSJFTTUEMJCTSDLPUMJOSBOHFT3BOHFTLU
αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTJUFSBUPSTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT*UFSBUPSTLU
αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTJUFSBUPSTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT*UFSBUPSTLU ඞͣ͠ΞαʔγϣϯΛΘͳ͘ ͯ0,ʂ͜͜QSJOUMO
αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυެࣜαΠτͰӾཡɺ࣮ߦͰ͖Δʂ
αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJODPMMFDUJPOTGMBUUFOIUNM
αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJODPMMFDUJPOTBTSFWFSTFEIUNM
αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJOSBOHFTSBOHFUPIUNM
αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJODPMMFDUJPOTXJUIJOEFYIUNM
αϯϓϧίʔυͷ,POUSJCVUF ൺֱతૣ͘ϨϏϡʔͯ͠Β͑Δʂ͜ΕͰ͔͍ʂ
αϯϓϧίʔυͷ,POUSJCVUF ,PUMJO*%&1MVHJOܥ*TTVFͩͱ͋·Γ׳Εͯ ͍ͳ͍͚ͲɺαϯϓϧίʔυͳΒΓ͍͢ʂ
αϯϓϧίʔυͷ,POUSJCVUF %SPJE,BJHJͷ݁ՌΛड͚ͯ:PV5SBDLͰૣʂʂʂ
αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧ͘͠ͳͦ͞͏ͩʂ͜ΕͳΒ Ͱ͖ͦ͏͚ͩͲʜͳ͔ͳ͔ΔλΠϛ ϯά͕ݟ͔ͭΒͳ͍
w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ
ܧଓతͳڥ࡞Γ αϯϓϧίʔυ؆୯ͦ͏͚ͩͲɺͳ͔ͳ ͔Ұา౿Έग़ͤͳͯ͘ணखͰ͖ͳ͍ʂ
w ձࣾͷݸਓඪʹ͋͛Δ w ձࣾͷϝϯόʔʹप͢Δ w ձࣾͰษڧ͢ΔͨΊͷڥΛ࡞Δ Ұา౿Έग़͢ Ұา౿Έग़ͯ͠ΈΔ
ձࣾͷݸਓඪʹ͋͛Δ ʮࡢ݄·Ͱʹ13Ϛʔδ͞ΕΔʂʯ ͱ͍͏ͷΛձࣾͷݸਓඪʹܝ͍͛ͯͨʂ
ձࣾͷݸਓඪʹ͋͛Δ ݁Ռμϝ͚ͩͬͨͲɺ $50͕ϝϯλϦϯάͯ͘͠Εͨʂ
ձࣾͷϝϯόʔʹप͢Δ ٕज़͕Θ͔Βͳͯ͘αϙʔτͰ͖Δʂ ͜Μͳͷ͋ΔΑʂͱڭ͑ͯΒͬͨʂ
ձࣾͰษڧ͢ΔͨΊͷڥΛ࡞Δ ࣾ͘͘ձΛिճ։࠵͍ͯ͠Δʂ
w TIJSBKJ͞ΜͷϞνϕʔγϣϯ w ͷϞνϕʔγϣϯ Ϟνϕʔγϣϯ ,POUSJCVUFͷϞνϕʔγϣϯ
w ,PUMJO͕େ͖ʂ w ࣗͷ࣮ͨ͠,PUMJO*%&1MVHJOػೳΛྡͰ୭ ͔͕ͬͯ͘Ε͍ͯΔͱΊͬͪΌخ͍͠ʂʂ Ϟνϕʔγϣϯ TIJSBKJ͞ΜͷϞνϕʔγϣϯ
w ,PUMJO͖ʂ Ϟνϕʔγϣϯ ͷϞνϕʔγϣϯ w (JU)VCͷ$POUSJCVUPSTʹ໊લ͕ࡌΔ w ,PUMJO#MPHʹ໊લ͕ࡌΔ
Ϟνϕʔγϣϯ ,PUMJO#MPHʹͷ໊લ͕ʜʂʁ
Ϟνϕʔγϣϯ ,PUMJO#MPHʹͷ໊લ͕ʜʂʁ ࣍ظόʔδϣϯͰ໊લ͕ࡌΓͦ͏ʜʂ
Ϟνϕʔγϣϯ ,POUSJCVUPSTʹ͕ʜʂʁ
Ϟνϕʔγϣϯ ,PUMJOͷϦϙδτϦʹػೳ͕͍ͬͺ͍٧·͍ͬͯΔʂ
Ϟνϕʔγϣϯ خ͍͜͠ͱʹ TIJSBKJ͞Μ͔ΒKLɺLBQUʹ,POUSJCVUF ͯ͠ΈͯʔʂͱԹ͔͍͓ݴ༿Λ͍ͨͩ͘ʂ
·ͱΊ ·ͱΊ
w KLɺLBQUͳͲ͞ΒʹͬͯΈ͍ͨͱ͍͏ ͕૿͑Δ͔ʂ w ͨͩܧଓతͳ,POUSJCVUFͷͨΊͷΈԽ͕ ͋ͬͨํ͕ྑ͍͔ʂ ·ͱΊ w ,PUMJO͕͖ɺߩݙ͍ͨ͠ͱ͍͏ؾ͕࣋ͪ͋Ε τϥΠʂͯ͠ΈΔՁ͋Γ·͢ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͓͠·͍