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

Javaを富山でやってたはずがSwiftのためにMacBook買ったらRubyでリモートワーカーになってJSの本を出版するまでを思い返す

 Javaを富山でやってたはずがSwiftのためにMacBook買ったらRubyでリモートワーカーになってJSの本を出版するまでを思い返す

2020/2/1 BuriKaigi2020

Hajime Mugishima

February 01, 2020
Tweet

More Decks by Hajime Mugishima

Other Decks in Technology

Transcript

  1. +BWBΛ෋ࢁͰ΍ͬͯͨ͸͕ͣ
    4XJGUͷͨΊʹ.BD#PPLങͬͨΒ
    3VCZͰϦϞʔτϫʔΧʔʹͳͬͯ
    +4ͷຊΛൃച͢Δ·ͰΛࢥ͍ฦ͢
    #VSJ,BJHJ

    View full-size slide

  2. ࣗݾ঺հ
    !NVHJ@VOP
    ഴౡҰ
    )BKJNF.VHJTIJNB
    5PZBNBSC
    IUUQTUPZBNBSCHJUIVCJP

    View full-size slide

  3. ϦϞʔτϫʔΧʔ
    ʢגࣜձࣾ.JTPDBʣ

    View full-size slide

  4. ৽ฉࡌͬͨ

    View full-size slide

  5. ຊΛॻ͍ͨ

    View full-size slide

  6. ɾੲ͸εʔπͰग़ࣾͯ͠+BWBॻ͍ͯͨ
    ɾ͑͛ͭͳ͍ίʔυΛΈͯ΋

    ʮ͜Ε͕ࣾձਓͷίʔυʜʂ
    ಉ͡ͷॻ͚ΔΑ͏ʹͳΒͳ͖Όʂʯ
    ɹͬͯຊؾͰࢥͬͯͨ
    ɾʮษڧձʯͱ͍͏֓೦ࣗମ஌Βͳ͔ͬͨ

    View full-size slide

  7. ؾ͕෇͚͹ɺ
    ෋ࢁͷΤϯδχΞͱͯ͠͸
    ΘΓͱಛघͳײ͡ʹ

    View full-size slide

  8. Կ͕͋ͬͨͷ͔ΛৼΓฦͬͯΈΔ
    ஍ํ ෋ࢁ
    ͷҰਓͷΤϯδχΞͱͯ͠
    ಘΒΕֶͨͼΛڞ༗͠·͢
    ˝

    View full-size slide

  9. ˞஫ҙ఺
    ɾओ؍తͳҙݟ΋ଟؚ͘Έ·͢
    ɾ෺ޠͱͯ͠ଊ͑Δ͙Β͍͕ஸ౓ྑ͍Ͱ͢

    View full-size slide

  10. Կ͔ಘΔ΋ͷ͕͋Ε͹޾͍Ͱ͢

    View full-size slide

  11. ࠷ॳͷసػ

    View full-size slide

  12. ͱ͋ΔҊ݅ ܹ຿
    Ͱ
    ༷ʑͳҙຯͰࢮ͵΄Ͳ+4Λॻ͘
    ˝
    Ұؾʹ+4೴ʹͳΔ

    View full-size slide

  13. ಉ࣌ʹɺͱ͋Δਓʹձ͏

    View full-size slide

  14. !IJLBSVXPSME
    ˞ͳ͓#VSJ,BJHJओ࠵ऀ

    View full-size slide

  15. ɾྑ͍ίʔυͱ͸
    ɾཧ૝ͱ͢΂͖։ൃͱ͸
    ɾʮ඼࣭ʯͱ͸Կ͔
    ΤϯδχΞͱͯ͠
    ͳͲΛຊؾͰߟ͑ΔॏཁੑΛֶͿ

    View full-size slide

  16. ʮ͍·ͷ͜Εͬͯ౰ͨΓલͳͷ͔ʁʯ
    Λҙࣝ͢ΔΑ͏ʹͳͬͨ

    View full-size slide

  17. ແ஌
    +4

    ҙࣝͷมԽ

    View full-size slide

  18. ;Γ͔͑Δͱʜ
    ɾ஌͕ࣝͳ͍ͱʮࠓ࣋ͬͯΔखࡳʯ
    ɹͷதͰ͔͠൑அ͕Ͱ͖ͳ͍
    ɾٕज़΍ςΫχοΫ΋େࣄ͕ͩɺ
    ɹૣ͍͏ͪʹϚΠϯυηοτΛ
    ɹֶͿ͜ͱ͕େࣄͩͬͨ
    ɾ!IJLBSVXPSME͸͍͢͝ਓʢࢣঊʣ

    View full-size slide

  19. ࢓ࣄͰฏ࿨͕๚Εͨ͜Ζ
    "QQMF͕4XJGUΛൃද

    View full-size slide

  20. ҙ͕ࣝଟগมԽ͍ͯͨ͠ͷͰ
    ڵຯ͕Ͱͯ͘Δ

    View full-size slide

  21. ੎͍Ͱ.BD#PPL1SPΛߪೖ

    View full-size slide

  22. ແ஌
    +4
    .BD ຊ
    ҙࣝͷมԽ

    View full-size slide

  23. 4XJGUͨͷ͍͠ʂ

    View full-size slide

  24. ΘΓͱ͙͢ʹ๞͖Δ

    View full-size slide

  25. ແ஌
    +4
    .BD ຊ
    ҙࣝͷมԽ
    εοʜ

    View full-size slide

  26. .BD#PPL͸຾Γʹண͘

    View full-size slide

  27. Ұํ͓࢓ࣄͰ͸
    1MBZ'SBNFXPSLΛࢼ͢

    View full-size slide

  28. ʮ3VCZPO3BJMT͔ΒӨڹΛड͚ͨʯ
    1MBZ'SBNFXPSL
    ˝

    View full-size slide

  29. 3VCZʹ΋ڵຯ͕ग़ͯ͘Δ

    View full-size slide

  30. ɾձࣾͰͬͦ͜Γษڧͯͨ͠ʢ࣌ޮʣ
    ɾ8JOEPXT3VCZಛ༗ͷπϥΈ
    ɾ౰࣌͸%PDLFS΋҆ఆͤͣ

    View full-size slide

  31. 8JOEPXҎ֎ͷ؀ڥ͋ͬͨΑ͏ͳʜʁ

    View full-size slide

  32. ોΔ.BD#PPL1SP

    View full-size slide

  33. ͻͨ͢ΒຊΛങͬͯࣸܦ͢Δ೔ʑ

    View full-size slide

  34. ແ஌
    +4
    .BD 3VCZ ຊ
    ҙࣝͷมԽ

    View full-size slide

  35. ;Γ͔͑Δͱʜ
    ɾٕज़΍ࢿ࢈͸ࢥ͍΋ΑΒ͵ܗͰܨ͕Δ
    ɾࣗ෼ͷকདྷੑͱ͔ߟ͑ͣʹ3VCZ΍ͬͯͨ
    ɾֶͿٕज़Λଧࢉతʹબͼ͕͚ͪͩͲ

    ɹʮָ͍͠ʯ͜ͱ΋ࠓߟ͑Δͱॏཁ

    View full-size slide

  36. ಠֶʹݶքΛܴ͑Δ
    ɾ͞Έ͍͠
    ɾҙຯ͋Δͷ͔ʁ
    ɾྑ͍ͱࢥͬͯΔͷ
    ɹࣗ෼͚ͩ͡Όʁ

    View full-size slide

  37. Ͳ͏΍Βʮษڧձʯͱ
    ݺ͹ΕΔ΋ͷ͕ଘࡏ͢ΔΒ͍͠

    View full-size slide

  38. ੢࿬SCਆށSC
    3VCZϓϩάϥϛϯάΩϟϯϓ

    View full-size slide

  39. ओ࠵
    ҏ౻३Ұ͞Μ
    !KODIJUP

    View full-size slide

  40. ʮ2JJUBͱ͔ϒϩάͰݟΔͻͱͩʂʯ

    View full-size slide

  41. LN
    ˞ਓੜॳษڧձ
    ˜0QFO4USFFU.BQDPOUSJCVUPST

    View full-size slide

  42. ࢀߟ৘ใ
    ෋ࢁ3VCZձٞ
    ҏ౻३Ұ͞Μൃදࢿྉʮ͔̋̋Β3VCZ΁ʯΑΓ

    View full-size slide

  43. ɾͳ͓౰೔͸௒ઈମௐෆྑ
    ʢϊυ΋௵Εͯ੠ग़ͳ͔ͬͨʣ
    ɾʮͳΜ͔෋ࢁ͔Βࢮʹͦ͏ͳਓདྷͨʜʯ
    ɹͱࢥΘΕ͔ͯͨ΋͠Εͳ͍

    View full-size slide

  44. ॳษڧձͰଟ͘ͷিܸΛड͚Δ
    ɾ3VCZ޷͖ͳਓΊͬͪΌ͍ͨ
    ɾʮ७ਮʹٕज़ʹڵຯͷ͋Δਓͨͪʯ
    ɹͰ࿩͢ͱָ͍͜͠ͱΛ஌Δ

    View full-size slide

  45. ແ஌
    +4
    .BD 3VCZ
    LN

    ҙࣝͷมԽ

    View full-size slide

  46. ෋ࢁͰ΋΍Γ͍ͨʂ
    ͚Ͳ3VCZͷίϛϡχςΟ͕ͳ͍ʂ

    View full-size slide

  47. ʮ୭΋དྷͳ͍͔΋ͳʙʯ

    View full-size slide

  48. ҙ֎ͱू·ͬͨ

    View full-size slide

  49. ͜ͷೋਓͱ΋ग़ձ͏
    !LVOJUPP !OPCPSV@J

    View full-size slide

  50. ஍ݩʹ΋஥͕͍ؒΔ͜ͱΛ஌Δ

    View full-size slide

  51. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC

    ҙࣝͷมԽ

    View full-size slide

  52. ;Γ͔͑Δͱʜ
    ɾࣗ෼ͷߟ͑΍໎͍Λ੔ཧ͢ΔͨΊɺ
    ɹ΄͔ͷੈքʹ৮ΕͯΈΔͷ͕େࣄͩͬͨ
    ɾ͍ۙߟ͑ͷਓ͸ҙ֎ͱ਎ۙʹ͍Δ

    View full-size slide

  53. 5PZBNBSCΛ೥΄Ͳଓ͚Δ

    View full-size slide

  54. ʮ͜ͷ··Ͱ͍͍ͷ͔ͳʁʯ

    View full-size slide

  55. डୗ։ൃͷ੍໿
    ˞
    ɾडୗ։ൃࣗମΛ൱ఆ͢Δ΋ͷͰ͸͋Γ·ͤΜɻ
    ɾ1SPT$POTΛߟ͑ͨ৔߹ͷ$POTͷΈͷ࿩Ͱ͢ɻ
    ɾݸਓͷҙݟͰ͢ɻ

    View full-size slide

  56. ɾར༻ٕज़ͷҊ݅ґଘ
    ɾܖ໿্ͷ͞·͟·ͳ੍໿
    ɾΤϯυϢʔβʔͷ੠͕ಧ͔ͳ͍

    View full-size slide

  57. ஍ํస৬ͷ೉͠͞

    View full-size slide

  58. ϦϞʔτϫʔΫ͕͋Δʂ

    View full-size slide

  59. ɾϦϞʔτϫʔΫΛ໨తʹ͸͠ͳ͔ͬͨ
    ɹɹɹɹɹɹɹɹɹɹ˝
    ɹ΍Γ͍ͨͷ͸ʮϦϞʔτϫʔΫʯ͡Όͳ͍
    ɾͳ͔ͬͨΒఘΊΔͭ΋Γͩͬͨ
    ɾ݁Ռతʹ͸ͦΕ͕ྑ͔ͬͨ

    View full-size slide

  60. ͳΜ΍͔Μ΍͋ͬͯ
    ϦϞʔτϫʔΧʔʹͳͬͨ

    View full-size slide

  61. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC
    ϦϞʔτ
    ϫʔΫ

    ҙࣝͷมԽ

    View full-size slide

  62. ࢓ࣄͷελΠϧ͕େ͖͘มΘͬͨ
    ɾ͋Δఔ౓ɺٕज़ʹࣗ༝͕ޮ͘
    ɾݸਓͷࡋྔͰʴЋ͕Ͱ͖Δ

    View full-size slide

  63. 3VCZ΋όϦόϦॻͧ͘ʙʂʂ

    View full-size slide

  64. ͦ͏ࢥ͍ͬͯͨ࣌ظ͕
    ࢲʹ΋͋Γ·ͨ͠

    View full-size slide

  65. ɾϨΨγʔ΋݁ߏ࢒ͬͯͨ
    ɾࣗ෼ʹͰ͖ͦ͏ͳࣄ͕ଟ͍
    ϑϩϯτΤϯυ͕ؾʹͳΔ

    View full-size slide

  66. ࣌ؒΛݟ͚ͭͯ
    ϦϑΝΫλϦϯάΛ࢝ΊΔ

    ύϑΥʔϚϯεվળ

    View full-size slide

  67. ʮ͍͍Ͷʂʯͱݴͬͯ΋Β͑Δ

    View full-size slide

  68. ߦҎ্௚࢝͠ΊΔਓ
    ʢѱ͍ྫʣ

    View full-size slide

  69. ؾ͕͚ͭ͹ϑϩϯτΤϯυத৺ʹ
    ˝
    Ͱ΋ָ͠Ί͍ͯΔ

    View full-size slide

  70. ;Γ͔͑Δͱʜ
    ɾʮ3VCZΛ΍Γ͍ͨʯͱ͍͏ΑΓ
    ɹ3VCZΛऔΓר͘؀ڥ΍ମݧʹ
    ɹಌΕͯ๬ΜͰ͍ͨ͜ͱʹؾ෇͍ͨ
    ɹ ΋ͪΖΜ3VCZ͸͍·΋޷͖

    ɾաڈͷֶͼ΍εΩϧ͸ແବͰ͸ͳ͍

    View full-size slide

  71. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC
    ϦϞʔτ
    ϫʔΫ

    ϑϩϯτΤϯυ
    ҙࣝͷมԽ

    View full-size slide

  72. ࣾ಺Ͱ
    ͱ͋ΔϫʔυΛසൟʹࣖʹ͢Δ

    View full-size slide

  73. lٕज़ॻయz
    ˝
    ɾٕज़ॻͷలࣔɾൢചΠϕϯτ
    ɾ΋ͪΖΜݸਓͰ΋ࢀՃͰ͖Δ

    View full-size slide

  74. ɾࣾ಺ͰαʔΫϧࢀՃ͢Δਓ͕૿͑Δ
    ɾఆظతʹ੝Γ্͕ͬͯΔ

    View full-size slide

  75. ߟ͑ΔΑΓઌʹਃ͠ࠐΉ
    ˝
    ౰બ

    View full-size slide

  76. ͣͬͱ΍ͬͯΔ
    lϑϩϯτΤϯυͷ୤ϨΨγʔz
    Λ୊ࡐʹॻ͍ͯ൦෍

    View full-size slide

  77. ແࣄʹ׬ച

    View full-size slide

  78. ঎ۀ൛ͷ࿩Λ௖͘
    ˝
    ץߦ

    View full-size slide

  79. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC
    ϦϞʔτ
    ϫʔΫ
    ٕज़ॻయ

    ϑϩϯτΤϯυ
    ҙࣝͷมԽ

    View full-size slide

  80. ͦͯ͠ݱࡏ΁

    View full-size slide

  81. lͳͥࠓʹࢸΔͷ͔ʁz

    View full-size slide

  82. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC
    ϦϞʔτ
    ϫʔΫ

    ϑϩϯτΤϯυ
    ҙࣝͷมԽ
    ٕज़ॻయ
    ٕज़ॻయʹࢀՃ͔ͨ͠Βʁ

    View full-size slide

  83. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC
    ϦϞʔτ
    ϫʔΫ

    ҙࣝͷมԽ
    ٕज़ॻయ
    ϑϩϯτΤϯυ
    ϦϑΝΫλϦϯάͯ͠ͳ͔ͬͨΒ
    ॻ͚ͳ͔͔ͬͨ΋ʁ

    View full-size slide

  84. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC

    ҙࣝͷมԽ
    ٕज़ॻయ
    ϑϩϯτΤϯυ
    ϦϞʔτ
    ϫʔΫ
    ؀ڥΛม͑ͳ͔ͬͨΒʁ

    View full-size slide

  85. ແ஌
    +4
    .BD 3VCZ
    LN
    5PZBNBSC

    ҙࣝͷมԽ
    ٕज़ॻయ
    ϑϩϯτΤϯυ
    ϦϞʔτ
    ϫʔΫ
    ɾ݁ہ͢΂͕ͯܨ͕͍ͬͯΔ
    ɾ۩ମతʹʮ͜Εʯͱ͍͏ͷ͸ແ͍

    View full-size slide

  86. l͡Ό͋ࣗ෼͸ԿΛͨ͠ͷ͔ʁz

    View full-size slide

  87. ࣗ෼ͳΓͷͨ͑͜
    ʮબ୒ࢶΛ஌Ζ͏ͱͨ͠ʯ
    ʮͱΓ͋͑ͣ΍ͬͯΈͨʯ

    View full-size slide

  88. ʮબ୒ࢶΛ஌Ζ͏ͱͨ͠ʯ
    ɾ3VCZΛֶΜͩΓษڧձʹࢀՃͯ͠
    ɹͦΕ·Ͱ஌Βͳ͔ͬͨੈք΍ߟ͑Λಘͨ
    ɾൺֱର৅Λಘͨ͜ͱͰ൑அ͕Ͱ͖ͨ

    View full-size slide

  89. ɾબͿͨΊʹ͸બ୒ࢶΛ஌Δඞཁ͕͋Δ
    ɾಛʹ஍ํ͸༉அ͢Δͱࢹ໺͕ڱ͘ͳΓ͕ͪ
    ɾݱঢ়Λٙ͏ͷ΋େࣄͳΜͩͱࢥ͏

    View full-size slide

  90. ʮͱΓ͋͑ͣ΍ͬͯΈͨʯ
    ɾ.BDങΘͳ͍બ୒ࢶ΋͋ͬͨ͠ɺ
    ɹLN΋๯ݥ͠ͳ͍બ୒ࢶ΋͋ͬͨ
    ɾͱΓ͋͑ͣ΍ͬͯΈͨ͜ͱͰ
    ɹ࣍ʹܨ͛Δ͜ͱ͕Ͱ͖ͨ

    View full-size slide

  91. ɾ࠷ॳͷҰา͸໪࿦͜Θ͔ͬͨ
    ɾೋา໨͸ང͔ʹָ
    ɹ ܦݧͱ஥͕ؒ૿͑Δ

    ɾԿ͔ͱ΍Βͳ͍ཧ༝Λ୳͕ͪ͠
    ɾͲΓΌʔʂͱ͍͏ڧ͍ؾ࣋ͪ

    View full-size slide

  92. ɾࢲͷબ୒͕ਖ਼͔ͬͨ͠ͱ͍͏࿩Ͱ͸ͳ͍
    ɾԿΛॏཁࢹ͢Δ͔͸ਓʹΑͬͯҧ͏
    ɾ͔ͩΒͦࣗ͜෼Ͱߟ͑Δඞཁ͕͋ͬͯɺ
    ɹߟ͑ΔͨΊͷࡐྉΛूΊΔͷ͕େࣄɹ
    ɹ ͱɺ͍·ʹͳͬͯࢥ͏

    View full-size slide

  93. ʮͱΓ͋͑ͣ΍ͬͯΈͨʯ
    ʮબ୒ࢶΛ஌Ζ͏ͱͨ͠ʯ
    ˠ#VSJ,BJHJʹࢀՃͯ͠Δʂ
    ˠීஈ࿩ͤͳ͍ਓͱ࿩ͤΔʂ
    Έͳ͞Μ΋ʂ

    View full-size slide

  94. ɾ஍ํࡏॅΤϯδχΞͰ΋
    ɹೲಘͰ͖ΔΤϯδχΞϥΠϑΛʂ
    ɾ஍ํίϛϡχςΟ΋
    ɹ΋ͬͱ׆ੑԽ͢Δͱ͍͍ͳʂ

    View full-size slide