コードをどまんなかに

7919a30bc59113c94f31676158cb5881?s=47 irof
November 26, 2017

 コードをどまんなかに

2017-11-25
DevLOVE関西2017 commitment 〜"何"にコミットするのか?〜
https://devlove-kansai.doorkeeper.jp/events/63438

7919a30bc59113c94f31676158cb5881?s=128

irof

November 26, 2017
Tweet

Transcript

  1. ίʔυΛ Ͳ·Μͳ͔ʹ  %FW-07&ؔ੢DPNNJUNFOU !JSPG

  2. ϓϩάϥϚ ͔Βࣗ༝ۀ ओʹ+BWBͷ։ൃ ଞ΋৭ʑ

  3. ίϛοτ

  4. ίϛοτͬͯͳΜͩΖ͏ʁ ͍ͦ΍ීஈ͔Β࢖ͬͯΔ ͋Ε͸͔֬

  5. % git commit

  6. ίϛοτ ˢ͍͔ͭ͜

  7. HJUͷϞσϧ͸͜͏ DPNNJU USFF CMPC

  8. (JU0CKFDUT CMPC USFF DPNNJU

  9. CMPC ϑΝΠϧͷத਎Λ࣋ ͭ ϑΝΠϧ໊ͱ͔͸࣋ͬ ͯͳ͍ʢUSFF೚ͤʣ த਎͕ಉ͡ϑΝΠϧ ͸ಉ͡CMPCʹͳΔ CMPC

  10. USFF ݸҎ্ͷπϦʔΤ ϯτϦʔΛࢦ͢ πϦʔΤϯτϦʔ͸ ϞʔυͱϑΝΠϧ໊ɺ λΠϓ USFFPSCMPC Λ࣋ͭ USFF 

    
  11. DPNNJU ݸҎ্ͷ਌DPNNJU Λࢦ͢ ͭͷUSFFΛࢦ͢ DPNNJUUFS BVUIPS  DPNNFOUΛ࣋ͭ  DPNNJU

    
  12. DPNNJU USFF CMPC   DPNNJU͸ USFF͕ඞཁ USFF͸ Կ΋ͳ͍͍ͯ͘ 

  13. DPNNJU USFF CMPC   DPNNJU͸ USFF͕ඞཁ USFF͸ Կ΋ͳ͍͍ͯ͘ 

    ˣ͜ΕΛ࡞Ε͹͍͍
  14. USFFΛ࡞Ζ͏ DPNNJUΛ࡞Ζ͏

  15. % git init Initialized empty Git repository in (...) %

    git write-tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 CMPC΍USFFͳ͠ͳΒ؆୯
  16. USFFͰ͖ͨ USFF ˣͰ͖ͨ

  17. USFFΛ࡞Ζ͏ DPNNJUΛ࡞Ζ͏

  18. % git commit-tree -m x 4b82 8271eeaa3bedfc8d635c76516e0213f695fa936b

  19. USFFΛ࡞Ζ͏ DPNNJUΛ࡞Ζ͏

  20. DPNNJUͰ͖ͨʂ DPNNJU USFF ˣͰ͖ͨ

  21. ͦ͏͍͏͜ͱ͡Όͳ͍

  22. % git hash-object -w hello af5626b4a114abcb82d63db7c8082c3c4756e51b CMPC͸͜ΕͰ࡞ΕΔ

  23. % git init Initialized empty Git repository in (...) %

    git commit-tree -m x 4b8.. a437465c31e7351255d844ef54ca9f2fcf5873ee ۭUSFF͸XSJUFUSFF͠ͳͯ͘΋ DPNNJUͰ͖ͨΓ͢Δ ʢ͜ͷ৔߹ͷTIB͸ུͰ͖ͳ͍ʣ
  24. ίϛοτ ʢ࢓੾Γ௚͠ʣ

  25. ίϛοτର৅ʁ ٕज़ʁ ผʹߴ౓ͳٕज़͸ͳ͍ ໰୊ղܾʁ ࢓ࣄͬͯશ෦͜Εͩ͠ɾɾɾ

  26. ʮԿʹίϛοτ͢Δʁʯ ͬͯͲ͏ݴ͏ҙຯΑɻ ʮԿʹྗΛೖΕΔʁʯ ͜Ε͘Β͍ʁ

  27. ͍··Ͱ͖ͯͨ͠ ͍·ͯ͠Δ ͜Ε͔Β͍ͨ͠ ʁʁ

  28. ͳΒʮίʔυʯ͔ɻ

  29. ͍··Ͱ͖ͯͨ͠ ͍·ͯ͠Δ ͜Ε͔Β͍ͨ͠ ίʔυ

  30. ͋ɺίϛϡχςΟ

  31. ؔ੢+BWBΤϯδχΞͷձ 5%%#$

  32. ؔ੢+BWBΤϯδχΞͷձ +BWBʹܧଓͯ͠औΓ૊ΊͯΔ ݯઘ +BWB%BZͱ͔ͷొஃɺࣥච΋ ͔͜͜Β

  33. 5%%#$ ೥ͷ෱ԬࢀՃҎ߱ ओ࠵ͨ͠Γొஃͨ͠Γ ςετ΍+BWBҎ֎ͷʮڧΈʯ ʹͳͬͨ

  34. ଞ΋ՄೳͳݶΓࢀՃ ໎ͬͨΒࢀՃɺొஃ ੠͔͚ͯ໯͑ͨΒԠ͑Δ ظ଴ʹఴ͑ͯΔ͔͸஌Βͳ͍

  35. ίϛϡχςΟʹԿ͔͠Βίϛο τͨ͠ΒɺԿ͔ʹͭͳ͕Δ͔ ΋͠Εͳ͍ɻ

  36. ࢓ࣄͱίʔυ

  37. ڈ೥·Ͱ ʢձࣾһʣ

  38. Α͋͘Δۀ຿։ൃͷ Α͋͘Δ૊৫ߏ଄ͷ Α͍͘ΔϓϩάϥϚ

  39. ˣ͜͜

  40. ˣ͜͜

  41. ˣ͜͜

  42. ͲͷϙδγϣϯͰ΋શྗͰʮ͍ ͍ίʔυʯΛॻ͍͖ͯͨɻ ΞϨͳن໿΋͚͋ͬͨͲɻ ඍົͳίʔυ͸͋Δ͚ΕͲɺ खΛൈ͍ͨίʔυ͸ͳ͍ɻ

  43. ࠓ೥ ʢϑϦʔʣ

  44. มΘΒͣίʔυ͸શྗͰɻ ؔΘΔਓͷൣғ͕޿͕ͬͨɻ ίʔυͷखԠ͑͸૿ͯ͠Δɻ Ͱ΋ϑϦʔͱ͔͋·Γؔ܎ͳ ͍ؾ΋͢Δɻ

  45. ΈΜͳͰॻ͍ͨΒਅΜதʹདྷΔΑʂ

  46. ίʔυ

  47. None
  48. υΩϡϝϯτͱίʔυ

  49. υΩϡϝϯτ ཧղ͠΍͍͢ʢ͸ͣʣ ੔߹ੑΛऔΓͮΒ͍ ਓ͕ॻ͖ɺਓ͕ಡΉ΋ͷ

  50. ίʔυ ཧղ͠ʹ͍͘ʢΒ͍͠ʣ ੔߹ੑΛऔΓ΍͍͢ ਓ͕ॻ͖ɺਓ͕ಡΈɺίϯ ϐϡʔλʔ͕࣮ߦ͢Δ΋ͷ

  51. υΩϡϝ ϯτ ίʔυ ॻ͘ ಡΉ ॻ͘ ಡΉ ࣮ߦ͢Δ

  52. આ໌Ͱ͖Δίʔυ ʹίʔυϨϏϡʔͷϙΠϯτ

  53. આ໌Ͱ͖Δίʔυ ίʔυ͸શߦઆ໌Ͱ͖Δ͜ͱ આ໌Ͱ͖Ε͹ʮ͍͍ίʔυʯ

  54. ϑΝΠϧϑΥϧμߏ੒ ؔ࿈ Կ͔͠Βͷએݴ Կ͔͠Βͷॲཧ ίϝϯτ

  55. ϑΝΠϧϑΥϧμ ߏ଄ ਂ͞ɾઙ͞ ໊લ

  56. ؔ࿈ ؔ܎ͷ༗ແ ํ޲

  57. Կ͔͠Βͷએݴ ໊લ म০ࢠ Ξϊςʔγϣϯ ॱং ҐஔɺҾ਺ͷॱং

  58. Կ͔͠Βͷॲཧ ॱং Ұ࣌ม਺ͷ࢖༻ ߦؒ ରশੑʢཻ౓ʣ ίϝϯτ

  59. ίϝϯτ ॻ͍ͨཧ༝ ίϝϯτ͸ผ࿮Ͱɻ

  60. ίʔυ͸ಡΈ΋ͷ

  61. ಡΉ ॻ͘  

  62. ಡΉ ॻ͘   આ໌͢Δ 

  63. ίʔυ͸ಡ·ΕΔ΄͏͕ଟ͍ આ໌Ͱ͖ͨͱͯ͠΋ɺઆ໌͢ Δػձ͸ଟ෼ͳ͍ ͨͱ͑͹աڈͷࣗ෼͸ࠓͷࣗ ෼ʹઆ໌ͯ͘͠Εͳ͍

  64. ಡΈ෺ͱͯ͠ͷίʔυʹͱͬͯ આ໌Ͱ͖Δͷ͸લఏ৚݅ આ໌Ͱ͖Δίʔυ͸໨ඪ ໨త͸ಡΊΔίʔυ ΋ͪΖΜ͜Ε΋Կ͔ͷ໨ඪ

  65. ίϝϯτ

  66. ίϝϯτ͸ԿͷͨΊʁ ίʔυʹදݱ͞Ε͍ͯͳ͍৘ ใΛ௥Ճ͢Δ ಡΈऔΓʹ͍͘ίʔυΛಡΉ ͷΛࢧԉ͢Δ ʮίʔυΛಡ·ͣʹࡁΉΑ͏ʹ͢ΔʯͰ͸ͳ͍

  67. ίϝϯτͳΜͯແ͍ ΄͏͕͍͍ ʢͬͯࡶʹݴ͏ͱةͳ͍ʣ

  68. લఏ ଞͷશͯͷ৚͕݅มΘΒͳ͍ ͳΒɺແ͍΄͏͕͍͍

  69. ίϝϯτͷ৔߹ ৘ใྔ΍ಡΉ͕࣌ؒมΘΒͳ ͍ͳΒཁΒͳ͍

  70. ίϝϯτΛಡΉ࣌ؒ ॲཧΛಡΉ࣌ؒ ˢ ίϝϯτॻ͘΂͖ ॻ͍ͯ΋͍͍ʁˣ

  71. ίϝϯτྔ ϝϯςφϯεੑ ৘ใྔ ίʔυྔ ಡΉ࣌ؒ มߋՕॴ ίϝϯτྔͱ ϝϯςφϯεੑͷؔ܎

  72. ίϝϯτྔ ϝϯςφϯεੑ ৘ใྔ ίʔυྔ ಡΉ࣌ؒ มߋՕॴ ѱ͘͢Δ Α͘͢Δ

  73. ढ͍

  74. ढ͍ ʮલʹ͜͏͔ͨ͠Βʯ ʮଞ͕͜͏ͳͬͯΔ͔Βʯ ʮಈ࡞ʹӨڹͳ͍ʯ

  75. ढ͍ͷղ͖ํ ʮແͨ͘͠ΒͲ͏ͳΔʁʯΛ ͻͨ͢Β܁Γฦ͢ ஌ࣝͱ࣮ફͷ྆໘͔Β߈ΊΔ ยํ͚ͩͩͱ໾ʹཱͨͳ͍

  76. ͨͱ͑͹ ʮ΄͏͕͍͍ʯ͔Βؾͮ͘ ίϝϯτ ແ͍΄͏͕͍͍ ໊લ ୹͍΄͏͕͍͍ ߦ਺ গͳ͍΄͏͕͍͍ Ҿ਺ গͳ͍΄͏͕͍͍

    ͜ΕΒ͸ଞͷશͯͷ৚͕݅ಉ͡ͳΒʢ࣮ࡍ͸͋Γಘͳ͍ ͖͔͚ͬʹ࢖͏ఔ౓
  77. ଎౓

  78. ͸΍͘ίʔυΛॻ͖͍ͨ ͬͯࢥ͏ΑͶʁ ࢥΘͳ͍ͳΒɺࢥͬͯɻ

  79. ݟͯͯࢥ͏͜ͱ λΠϓ͕஗͍ ߟ͑Δͷ͕஗͍

  80. ݟͯͯࢥ͏͜ͱ ❌λΠϓ͕஗͍ ❌ߟ͑Δͷ͕஗͍ ͜ͷล͸͋·Γؔ܎ͳ͍

  81. ͍͍ͩͨ஗͍ͷ͸ ॻ͔ͳ͍͍ͯ͘͜ͱʢॻ͘΂ ͖Ͱͳ͍͜ͱʣΛॻ͍ͯΔ

  82. ίʔυΛॻ͘ ͭ͘Δ ͑ΒͿ ˢ΄ͱΜͲ͕ͬͪ͜

  83. ʮ͑ΒͿʯͰࡁΉ΋ͷΛॻ͍ ͯΔ͔Β஗͍ λΠϓྔ΋૿͑ɺؒҧ͑Δ

  84. શจࣈλΠϓͯͨ͠Β͍͘Β λΠϐϯά଎౓Λ্͛ͯ΋ݶ ք͸དྷΔ બͿ܇࿅͓͢͢Ί ଟ෼࠷ॳ͸ॻ͘ΑΓ஗͍

  85. ଎౓ ࿅౓ બͿ܇࿅ λΠϐϯά΍ ࢥߟ଎౓ͷ܇࿅ ଱͑ΒΕΔ͔ ଱͑ΒΕΔ͔

  86. ࢥߟͷ଎౓Λ্͛Δʹ͸ɺ༨ܭͳ ͜ͱΛߟ͑ͳ͍͜ͱ Ϛϧνϓϩηε͸஗͍ ߟ͑Δ΋ͷΛݶఆ͢Δ ʮ͑ΒͿʯʹࢥߟͷϦιʔεΛ ׂ͔ͳ͍

  87. ࠓ೔͔ΒͰ͖Δ

  88. पΓΛר͖ࠐΉͷΛ໌೔͔Β ͢Δͷ͸೉͍͠ʁ ࣗ෼͚ͩͰͰ͖Δ͜ͱΛ΍Δ

  89. ίʔυΛઆ໌͢Δ ࣗ෼૬खͰ͍͍ ΰϜͷΞώϧͪΌΜ ͨͩ͠ʮશߦʯ࿙Βͣ͞

  90. ίʔυΛ͸΍͘ॻ͘ ॻ͍ͯ؍࡯͢Δʢࣗ෼Λʣ ϘʔϦϯά -JGF(BNF  'J[[#V[[  ΋ͬͱ͸΍͘ॻ͚ͳ͍͔ʁΛ ໰͍ଓ͚Δ

  91. ίϛοτ

  92. ίʔυ͕Ͳ͔ͬߦ͘ͷ͸ ͳͥʁ ॻ͘ͷʹ͕͔͔࣌ؒΔ͔Β ॻ͍ͯ΋఻ΘΒͳ͍͔Β

  93. υΩϡϝ ϯτ ίʔυ ॻ͘ ಡΉ ॻ͘ ಡΉ ࣮ߦ͢Δ

  94. ίʔυΛͲ·Μͳ͔ʹ ͍ͭͰ΋ͲΜͳͱ͖Ͱ΋ίʔ υΛॻ͘ ͦͷͨΊͷ଎౓ɺͦͷͨΊͷ ՄಡੑɺͦͷͨΊͷҙਤ

  95. આ໌Ͱ͖ΔίʔυΛॻ͘ ͋ͨΓ·͑ͷ͜ͱΛ͢Δ ͋ͨΓ·͑ͷ͜ͱʹ͢Δ