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
630
初めての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
1.9k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.7k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.4k
改めて学ぶContracts
tommykw
10
6.5k
Kotlinの短絡評価について
tommykw
0
330
Kotlin Issueを投げてみよう!
tommykw
0
3.2k
AndroidのタグView作り
tommykw
0
2.8k
Other Decks in Programming
See All in Programming
CSC307 Lecture 07
javiergs
PRO
0
220
最近追加した型の紹介とその振り返り
aki19035vc
0
170
CSC307 Lecture 12
javiergs
PRO
0
220
TiDB Serverless ~理想のServerless DBを考える~
soso_15315
1
160
CSC307 Lecture 13
javiergs
PRO
0
150
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
Temporalを取り巻く仕様を整理する
sajikix
0
110
How to use Macrobenchmark
veronikapj
0
160
小さな開発会社を作った理由
polidog
0
1.9k
CSC307 Lecture 06
javiergs
PRO
0
360
大規模マルチテナントを解決するYugabyteDBという選択肢
nnaka2992
1
250
継続的な活動で築く地方エンジニアの道
myamashii
2
350
Featured
See All Featured
The Invisible Customer
myddelton
117
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
26
2.1k
We Have a Design System, Now What?
morganepeng
46
7k
Done Done
chrislema
179
15k
The Cult of Friendly URLs
andyhume
75
5.9k
GraphQLの誤解/rethinking-graphql
sonatard
59
9.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Build The Right Thing And Hit Your Dates
maggiecrowley
28
2.2k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
The Brand Is Dead. Long Live the Brand.
mthomps
52
36k
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͕͖ɺߩݙ͍ͨ͠ͱ͍͏ؾ͕࣋ͪ͋Ε τϥΠʂͯ͠ΈΔՁ͋Γ·͢ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͓͠·͍