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
660
初めてのKotlinコントリビュート
tommykw
February 17, 2018
Tweet
Share
More Decks by tommykw
See All by tommykw
ポートフォリオを作る
tommykw
0
120
Kotlin Compiler Plugin 入門
tommykw
0
69
Kotlin Compiler Plugin のワークフローを知る
tommykw
1
2k
コネヒトの健全性を支えるGithub Actionsの事例紹介
tommykw
0
1.8k
スクラムガイドの理解を深めるためのeduScrumガイド
tommykw
0
1.5k
改めて学ぶContracts
tommykw
10
6.7k
Kotlinの短絡評価について
tommykw
0
380
Kotlin Issueを投げてみよう!
tommykw
0
3.3k
AndroidのタグView作り
tommykw
0
2.9k
Other Decks in Programming
See All in Programming
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
CSC509 Lecture 11
javiergs
PRO
0
180
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.1k
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
930
C++でシェーダを書く
fadis
6
4.1k
Arm移行タイムアタック
qnighy
0
330
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
290
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
330
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Docker and Python
trallard
40
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
RailsConf 2023
tenderlove
29
900
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
KATA
mclloyd
29
14k
For a Future-Friendly Web
brad_frost
175
9.4k
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͕͖ɺߩݙ͍ͨ͠ͱ͍͏ؾ͕࣋ͪ͋Ε τϥΠʂͯ͠ΈΔՁ͋Γ·͢ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͓͠·͍