Upgrade to Pro — share decks privately, control downloads, hide ads and more …

初めてのKotlinコントリビュート

1821636ac95415aa6e84bc33b394283d?s=47 tommykw
February 17, 2018

 初めてのKotlinコントリビュート

1821636ac95415aa6e84bc33b394283d?s=128

tommykw

February 17, 2018
Tweet

Transcript

  1. $POOFIJUP*OD ϚϚͷҰาΛࢧ͑Δ ॳΊͯͷ,PUMJOίϯτϦϏϡʔτ

  2. ࣗݾ঺հ ෋ా݈ೋ !UPNNZLX !UPNNZLX ίωώτגࣜձࣾ"OESPJE&OHJOFFS

  3. ,POUSJCVUF͠·ͨ͠ ࡢ೥݄ʹॳΊͯ,POUSJCVUF͠·ͨ͠ʂʂ

  4. ,POUSJCVUF͠·ͨ͠ ॳ,POUSJCVUFͨ͠ࢫͷϒϩάॻ͖·ͨ͠ʂ IUUQUFDIDPOOFIJUPDPNFOUSZ

  5. ,POUSJCVUF͠·ͨ͠ ͍͔ͭ͘,POUSJCVUF͍ͯ͠·͢ʂ

  6. ,POUSJCVUFखॱ 
 ,POUSJCVUFखॱΛ͓࿩͍͚ͨ͠͠Ͳɺ΄΅ TIJSBKJ͞Μͷʮ)PXUP,POUSJCVUFʯͱඃͬ ͍ͯΔʂʂ

  7. 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

  8. ͓࿩͍ͨ͜͠͠ͱ ๻͚ͩͷ৘ใΛఏڙͨ͠ํ͕Ձ஋͕͋Γͦ͏

  9. ͓࿩͍ͨ͜͠͠ͱ ͱ͍͏͜ͱͰࠓճͷ͓࿩͠ʂ

  10. w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳ؀ڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ

  11. ؀ڥߏங͸ׂѪ ؀ڥߏங͸ׂѪ͍͖ͤͯͨͩ͞·͢ʂ TIJSBKJ͞Μͷʮ)PXUP,POUSJCVUFʯΛ֬͝ೝԼ͍͞ʂ

  12. w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳ؀ڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ

  13. ,POUSJCVUFͰ͖ͳ͔ͬͨ ౰ॳ͸,POUSJCVUF͢Δͧʂͱ࢝Ί͍ͯͨͷͰ͕͢ɺ ͳ͔ͳ͔,POUJSVCVUFͰ͖ͳ͍ʜ

  14. w "OESPJE4UVEJPͰ͸ͳ͘ɺ*OUFMMJ+*%&"Λ࢖ ͏ ͜Ε͸ϋʔυϧͱ͍͏ఔͰ΋ͳ͍͸ͣ w ͦ΋ͦ΋ݴޠʹίϯτϦϏϡʔτͰϏϏΔ w ,PUMJO*%&1MVHJO։ൃͩͱ"OESPJE։ൃͱͷ ؔ܎ੑ͕ബͪ͘ΐͬͱڵຯ͕ബΕΔ͔΋ʁ w

    ۀ຿ͱ௚઀ؔΘΓ͕͋Δ༁Ͱ͸ͳ͍ͷͰۀ຿࣌ ؒʹ΍Δ͜ͱ͕Ͱ͖ͳ͍ ϋʔυϧʁʁ ,POUSJCVUFͰײͨ͡ϋʔυϧʁʁ
  15. ϋϚΔͱ͜Ζ ͦΕʹՃ͑ͯϋϚͬͨͱ͜Ζ͕͋ͬͨ

  16. w ࣝऀͷํʑ͕*TTVFΛͲΜͲΜରԠ͍ͯ͘͠ w ରԠͰ͖ͦ͏ͳ*TTVF͕ͳ͍ ϋϚΔͱ͜Ζ ,POUSJCVUFͷϋϚΔͱ͜Ζ w *TTVFʹΑͬͯ͸ϨϏϡʔͯ͠΋Β͏·Ͱʹ࣌ ֻ͕͔ؒΔ

  17. ϋϚΔͱ͜Ζ ൺֱతऔΓ૊Έ΍͍͢*TTVF͕ͳ͍͔ͳʜ

  18. αϯϓϧίʔυͷ,POUSJCVUF ඪ४ϥΠϒϥϦͷαϯϓϧίʔυఏڙʂ

  19. w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳ؀ڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ

  20. αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυ w αϯϓϧίʔυ΋ཱ೿ͳ,POUSJCVUFʂ w 3FBE.F΋͋Δʂ
 w IUUQTHJUIVCDPN+FU#SBJOTLPUMJOCMPC NBTUFSMJCSBSJFTTUEMJCTBNQMFT3FBE.FNE w

    ඪ४ϥΠϒϥϦͷαϯϓϧίʔυఏڙ
  21. αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυΛఏڙ͢Δࡍʹར ༻͢ΔΞαʔγϣϯ͕͋Δ

  22. αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυͷΞαʔγϣϯ w BTTFSU1SJOUT w BTTFSU5SVFBTTFSU'BMTF w BTTFSU'BJMTBTTFSU'BJMT8JUI

  23. αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυͷ13Λ͍͔ͭ͘౤͛ͯΈ·ͨ͠ʂ

  24. αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTJUFSBCMFTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT*UFSBCMFTLU

  25. αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTSFWFSTFE7JFXTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT3FWFSTFE7JFXTLU

  26. αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTSBOHFTSBOHFTLU MJCSBSJFTTUEMJCTSDLPUMJOSBOHFT3BOHFTLU

  27. αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTJUFSBUPSTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT*UFSBUPSTLU

  28. αϯϓϧίʔυͷ,POUSJCVUF MJCSBSJFTTUEMJCTBNQMFTUFTUTBNQMFTDPMMFDUJPOTJUFSBUPSTLU MJCSBSJFTTUEMJCTSDLPUMJODPMMFDUJPOT*UFSBUPSTLU ඞͣ͠΋ΞαʔγϣϯΛ࢖Θͳ͘ ͯ΋0,ʂ͜͜͸QSJOUMO

  29. αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧίʔυ͸ެࣜαΠτͰ΋Ӿཡɺ࣮ߦͰ͖Δʂ

  30. αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJODPMMFDUJPOTGMBUUFOIUNM

  31. αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJODPMMFDUJPOTBTSFWFSTFEIUNM

  32. αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJOSBOHFTSBOHFUPIUNM

  33. αϯϓϧίʔυͷ,POUSJCVUF IUUQTLPUMJOMBOHPSHBQJMBUFTUKWNTUEMJC LPUMJODPMMFDUJPOTXJUIJOEFYIUNM

  34. αϯϓϧίʔυͷ,POUSJCVUF ൺֱతૣ͘ϨϏϡʔͯ͠΋Β͑Δʂ͜ΕͰ͔͍ʂ

  35. αϯϓϧίʔυͷ,POUSJCVUF ,PUMJO*%&1MVHJOܥ*TTVFͩͱ͋·Γ׳Εͯ ͍ͳ͍͚ͲɺαϯϓϧίʔυͳΒ΍Γ΍͍͢ʂ

  36. αϯϓϧίʔυͷ,POUSJCVUF %SPJE,BJHJͷ݁ՌΛड͚ͯ:PV5SBDLͰૣ଎ʂʂʂ

  37. αϯϓϧίʔυͷ,POUSJCVUF αϯϓϧ͸೉͘͠ͳͦ͞͏ͩʂ͜ΕͳΒ Ͱ͖ͦ͏͚ͩͲʜͳ͔ͳ͔΍ΔλΠϛ ϯά͕ݟ͔ͭΒͳ͍

  38. w αϯϓϧίʔυͷ,POUSJCVUF w ,POUSJCVUF͢ΔͨΊͷܧଓతͳ؀ڥ࡞Γ ΞδΣϯμ w ,POUSJCVUFͰײͨ͡ϋʔυϧϋϚΔͱ͜Ζ

  39. ܧଓతͳ؀ڥ࡞Γ αϯϓϧίʔυ͸؆୯ͦ͏͚ͩͲɺͳ͔ͳ ͔Ұา౿Έग़ͤͳͯ͘ணखͰ͖ͳ͍ʂ

  40. w ձࣾͷݸਓ໨ඪʹ͋͛Δ w ձࣾͷϝϯόʔʹप஌͢Δ w ձࣾͰษڧ͢ΔͨΊͷ؀ڥΛ࡞Δ Ұา౿Έग़͢ Ұา౿Έग़ͯ͠ΈΔ

  41. ձࣾͷݸਓ໨ඪʹ͋͛Δ ๻͸ʮࡢ೥݄·Ͱʹ13Ϛʔδ͞ΕΔʂʯ
 ͱ͍͏ͷΛձࣾͷݸਓ໨ඪʹܝ͍͛ͯͨʂ

  42. ձࣾͷݸਓ໨ඪʹ͋͛Δ ݁Ռ͸μϝ͚ͩͬͨͲɺ
 $50͕ϝϯλϦϯάͯ͘͠Εͨʂ

  43. ձࣾͷϝϯόʔʹप஌͢Δ ٕज़͕Θ͔Βͳͯ͘΋αϙʔτͰ͖Δʂ ͜Μͳͷ͋ΔΑʂͱڭ͑ͯ΋Βͬͨʂ

  44. ձࣾͰษڧ͢ΔͨΊͷ؀ڥΛ࡞Δ ࣾ಺΋͘΋͘ձΛिճ։࠵͍ͯ͠Δʂ

  45. w TIJSBKJ͞ΜͷϞνϕʔγϣϯ w ๻ͷϞνϕʔγϣϯ Ϟνϕʔγϣϯ ,POUSJCVUF΁ͷϞνϕʔγϣϯ

  46. w ,PUMJO͕େ޷͖ʂ w ࣗ෼ͷ࣮૷ͨ͠,PUMJO*%&1MVHJOػೳΛྡͰ୭ ͔͕࢖ͬͯ͘Ε͍ͯΔͱΊͬͪΌخ͍͠ʂʂ Ϟνϕʔγϣϯ TIJSBKJ͞ΜͷϞνϕʔγϣϯ

  47. w ,PUMJO޷͖ʂ Ϟνϕʔγϣϯ ๻ͷϞνϕʔγϣϯ w (JU)VCͷ$POUSJCVUPSTʹ໊લ͕ࡌΔ w ,PUMJO#MPHʹ໊લ͕ࡌΔ

  48. Ϟνϕʔγϣϯ ,PUMJO#MPHʹ๻ͷ໊લ͕ʜʂʁ

  49. Ϟνϕʔγϣϯ ,PUMJO#MPHʹ๻ͷ໊લ͕ʜʂʁ ࣍ظόʔδϣϯͰ΋໊લ͕ࡌΓͦ͏ʜʂ

  50. Ϟνϕʔγϣϯ ,POUSJCVUPSTʹ๻͕ʜʂʁ

  51. Ϟνϕʔγϣϯ ,PUMJOͷϦϙδτϦʹ͸ػೳ͕͍ͬͺ͍٧·͍ͬͯΔʂ

  52. Ϟνϕʔγϣϯ خ͍͜͠ͱʹ TIJSBKJ͞Μ͔ΒKLɺLBQUʹ,POUSJCVUF ͯ͠ΈͯʔʂͱԹ͔͍͓ݴ༿Λ͍ͨͩ͘ʂ

  53. ·ͱΊ ·ͱΊ

  54. w KLɺLBQUͳͲ͞Βʹ΍ͬͯΈ͍ͨͱ͍͏෼໺ ͕૿͑Δ͔΋ʂ w ͨͩܧଓతͳ,POUSJCVUFͷͨΊͷ࢓૊ΈԽ͕ ͋ͬͨํ͕ྑ͍͔΋ʂ ·ͱΊ w ,PUMJO͕޷͖ɺߩݙ͍ͨ͠ͱ͍͏ؾ͕࣋ͪ͋Ε ͹τϥΠʂͯ͠ΈΔՁ஋͸͋Γ·͢ʂ

  55. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ͓͠·͍