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

エディタの入力時間を11%減らした話

Taiga Sano
April 23, 2019
170

 エディタの入力時間を11%減らした話

2019年4月23日に行われた
s-dev talks 〜サービス開発勉強会〜「プロダクト体験」
で発表した資料です
https://s-dev-talks.connpass.com/event/125019/

Taiga Sano

April 23, 2019
Tweet

Transcript

  1. ΤσΟλͷೖྗ࣌ؒΛ
    ݮΒͨ͠࿩
    ΫοΫύουגࣜձࣾࠤ໺େՏ

    TEFWUBMLTʮϓϩμΫτମݧʯ

    View Slide

  2. ࣗݾ঺հ
    ࠤ໺େՏ σβΠφʔ
    ೥ΫοΫύουגࣜձࣾʹ৽ଔೖࣾ
    !TO@UBJHB
    ౤ߘ։ൃ෦ॴଐ
    ΫοΫύουͷϨγϐ౤ߘपΓͷ
    αʔϏε։ൃΛ୲౰

    View Slide

  3. ࠓ೔ͷ࿩
    ɾϓϩμΫτମݧͱ͸
    ɾΤσΟλվળͷ࿩
    ɾ΍ͬͨ͜ͱ
    ɾͲͷΑ͏ʹઃܭͨ͠ͷ͔6*σβΠϯͷ޻෉
    ɾ6*ʹ͍ͭͯͷϝϯόʔͱͷίϛϡχέʔγϣϯ
    ɾϦϦʔεޙͷධՁ

    View Slide

  4. ϓϩμΫτମݧͬͯʁ

    View Slide

  5. View Slide

  6. Ұ࣌త69ͱ΋ݴ͏
    ϓϩμΫτʹ઀͍ͯ͠Δͱ͖ͷମݧ

    View Slide

  7. ϓϩμΫτʹ઀ͯ͠ͳ͍ͱ͖ͷମݧʁ
    ʰ69നॻʱϢʔβΤΫεϖϦΤϯεͷظؒCZIDEWBMVF

    View Slide

  8. ྫɿϨγϐΛॻ͘ਓͷମݧ
    ΫοΫύουͰ
    ϨγϐΛॻ͘
    ར༻த
    ར༻લ ར༻ޙ
    ϨγϐΛॻ͖͍ͨͳ ϨγϐΛॻ͍ͯΑ͔ͬͨͳ

    View Slide

  9. ྫɿϨγϐΛॻ͘ਓͷମݧ
    ΫοΫύουͰ
    ϨγϐΛॻ͘
    ར༻த
    ར༻લ ར༻ޙ
    ·ͨ࡞ΕΔΑ͏ʹ͍ͨ͠
    ྉཧͷࣗ৴Λ͚͍ͭͨ
    ੒ՌΛܗʹ͍ͨ͠
    FUDʜ
    ϨγϐΛॻ͖͍ͨͳ ϨγϐΛॻ͍ͯΑ͔ͬͨͳ

    View Slide

  10. ྫɿϨγϐΛॻ͘ਓͷମݧ
    ΫοΫύουͰ
    ϨγϐΛॻ͘
    ར༻த
    ར༻લ ར༻ޙ
    ·ͨ࡞ΕΔΑ͏ʹ͍ͨ͠
    ྉཧͷࣗ৴Λ͚͍ͭͨ
    ੒ՌΛܗʹ͍ͨ͠
    FUDʜ
    ϨγϐΛॻ͖͍ͨͳ ϨγϐΛॻ͍ͯΑ͔ͬͨͳ
    ݟฦָ͍ͯ͠͠
    पΓ͔Β๙ΊΒΕͯخ͍͠
    ྉཧ͢Δͱ͖ʹ໾ཱͭ
    FUDʜ

    View Slide

  11. ྫɿϨγϐΛॻ͘ਓͷମݧ
    ΫοΫύουͰ
    ϨγϐΛॻ͘
    ར༻த
    ར༻લ ར༻ޙ
    ·ͨ࡞ΕΔΑ͏ʹ͍ͨ͠
    ྉཧͷࣗ৴Λ͚͍ͭͨ
    ੒ՌΛܗʹ͍ͨ͠
    FUDʜ
    ϨγϐΛॻ͖͍ͨͳ ϨγϐΛॻ͍ͯΑ͔ͬͨͳ
    ݟฦָ͍ͯ͠͠
    पΓ͔Β๙ΊΒΕͯخ͍͠
    ྉཧ͢Δͱ͖ʹ໾ཱͭ
    FUDʜ

    View Slide

  12. ϓϩμΫτମݧ޲্ͤͨͧ͞
    ϓϩμΫτମݧ͸ϢʔβʔͷҰ࿈ͷମݧʢετʔϦʔʣ
    ͷҰ෦ʹա͗ͳ͍ʢ͚Ͳ΋ͪΖΜେࣄʣ


    View Slide

  13. ΤσΟλͷվળͷ࿩

    View Slide

  14. View Slide

  15. Ͳ͏มΘͬͨͷʁ
    ೖྗ΍ฤूͷεςοϓΛগͳ͘͢Δߏ੒ʹ
    ೖྗΛΞγετ͢Δิॿػೳͷॆ࣮

    View Slide

  16. ೖྗ΍ฤूͷεςοϓΛগͳ͘
    ΢ΟδΣοτܕ6*
    ҎલͷΤσΟλ

    View Slide

  17. ೖྗ΍ฤूͷεςοϓΛগͳ͘
    ΠϯϥΠϯܕ6*
    ৽͍͠ΤσΟλ

    View Slide

  18. ೖྗΛΞγετ
    ࡞Γํ͔Βࡐྉͷࣗಈೖྗ

    View Slide

  19. ೖྗΛΞγετ
    λΠτϧ͔ΒࡐྉͷαδΣετ
    IUUQTUFDIMJGFDPPLQBEDPNFOUSZ
    ༧ଌͷϞσϧʹ͍ͭͯ

    View Slide

  20. ೖྗΛΞγετ
    ෼ྔͷ୯Ґิ׬

    View Slide

  21. ͲͷΑ͏ʹઃܭͨ͠ͷ͔

    View Slide

  22. ྲྀΕ
    ௐࠪ
    ՝୊ઃఆ

    ໨తɾखஈ
    ΛܾΊΔ

    6*ΛܾΊΔ

    &
    ։ൃ
    ϦϦʔε
    ධՁݕূ

    View Slide

  23. ྲྀΕ
    ௐࠪ
    ՝୊ઃఆ

    ໨తɾखஈ
    ΛܾΊΔ

    6*ΛܾΊΔ

    &
    ։ൃ
    ϦϦʔε
    ݕূ

    View Slide

  24. ʮ؆ૉԽʯ
    ೖྗΛΞγετ͢Δʢೖྗิ׬ʣ
    ೖྗ΍ฤूͷεςοϓΛগͳ͘ʢΠϯϥΠϯԽʣ
    ϨγϐΛॻ͘ࡍͷखؒΛݮΒ͠
    Ϣʔβʔ͕ετϨεͳ͘ϨγϐΛॻ͚ΔΑ͏ʹ
    ໨త
    खஈ

    View Slide

  25. 6*Λ࡞͍ͬͯ͘લʹ
    σβΠϯͷํ਑ΛఆΊΔ
    ϢʔβʔʹͲ͏ײͯ͡΋Β͏ͷ͕ྑ͍ͷ͔ΛݴޠԽ

    View Slide

  26. σβΠϯͷํ਑
    ᶃೖྗྔʹѹ౗͞Εͳ͍Α͏ʹ
    ᶄࣗ෼ͷखͰॻ্͖͍͛ͯΔΑ͏ʹ

    View Slide

  27. ᶃೖྗྔʹѹ౗͞Εͳ͍Α͏ʹ
    Ұը໘ͰαΫαΫ
    ॻ͚ΔΑ͏ʹͳͬͨͱͯ͠΋ʜ

    View Slide

  28. ᶄࣗ෼ͷखͰॻ্͖͍͛ͯΔΑ͏ʹ
    Ξγετػೳ͕ॆ࣮͢Ε͹
    ࣮֬ʹ؆ૉԽ͞ΕΔʜʁ

    View Slide

  29. ํ਑Λߟ͑Δͱ͖ͷࢹ఺
    ͦͷมߋʹΑࣦͬͯΘΕΔମݧ͸ͳ͍͔ʁ
    ໨తΛ࠷େݶୡ੒͢ΔͨΊʹԿ͕ॏཁͳͷ͔ʁ

    View Slide

  30. ۩ମతͳ6*ͷ޻෉

    View Slide

  31. ᶃೖྗྔʹѹ౗͞Εͳ͍Α͏ʹ
    ೖྗΤϦΞɺݟग़͠ɺϓϨΠεϗϧμʔͷಉډ

    View Slide

  32. ᶃೖྗྔʹѹ౗͞Εͳ͍Α͏ʹ
    εέʔϥϒϧͳೖྗΤϦΞ

    View Slide

  33. ᶃೖྗྔʹѹ౗͞Εͳ͍Α͏ʹ
    ϑΥʔΧεՕॴͷΈΛϋΠϥΠτ

    View Slide

  34. ᶄࣗ෼ͷखͰॻ্͖͍͛ͯΔΑ͏ʹ
    ࣗಈೖྗ͞ΕͨࡐྉΛϋΠϥΠτ

    View Slide

  35. ᶄࣗ෼ͷखͰॻ্͖͍͛ͯΔΑ͏ʹ
    λΠτϧೖྗ௚ޙʹࡐྉαδΣετ
    ෆ࠾༻

    View Slide

  36. ᶄࣗ෼ͷखͰॻ্͖͍͛ͯΔΑ͏ʹ
    ࡐྉཝͷ্ͰαδΣετ
    ࢖͍ํΛ੍ݶ͞Εͳ͍Α͏ʹ
    ࠾༻

    View Slide

  37. ᶄࣗ෼ͷखͰॻ্͖͍͛ͯΔΑ͏ʹ
    αδΣετͷड͚ೖΕͱ
    غ٫Λ͠΍͍͢Α͏ʹ

    View Slide

  38. ໨త΍
    ΍Δ͜ͱΛܾΊΔ
    σβΠϯͷํ਑
    ΛܾΊΔ
    6*Λ࡞Δ


    View Slide

  39. ໨త΍
    ΍Δ͜ͱΛܾΊΔ
    σβΠϯͷํ਑
    ΛܾΊΔ
    6*Λ࡞Δ
    దٓݟฦ͢
    ͳͥ΍͍ͬͯΔͷ͔
    ԿΛૂ͍ͬͯΔͷ͔


    View Slide

  40. ໨త΍
    ΍Δ͜ͱΛܾΊΔ
    σβΠϯͷํ਑
    ΛܾΊΔ
    6*Λ࡞Δ
    దٓݟฦ͢
    ͳͥ΍͍ͬͯΔͷ͔
    ԿΛૂ͍ͬͯΔͷ͔

    ·ͣΠϝʔδΛ
    ܗʹͯ͠ΈΔ


    View Slide

  41. 6*ʹ͍ͭͯͷ
    ϝϯόʔͱͷίϛϡχέʔγϣϯ

    View Slide

  42. ໨త΍ํ਑͸νʔϜ͕͙͢ݟΕΔ৔ॴʹ

    View Slide

  43. ϨϏϡʔͯ͠΋Β͏ͱ͖͸ํ਑΋߹Θͤͯ

    View Slide

  44. Ξχϝʔγϣϯ͸࣮ࡍʹಈ͘΋ͷͰ఻͑Δ
    1SPUP1JF
    ˞఻͑ͳͯ͘΋ΤϯδχΞ͕࡞ͬͯ͘Εͯײಈ͢Δ͜ͱ΋͋Δ

    View Slide

  45. 'JHNBͷίϝϯτͰίϛϡχέʔγϣϯ
    ࡉ͔͍ڍಈΛਵ࣌֬ೝ

    View Slide

  46. ϦϦʔεޙͷධՁ

    View Slide

  47. ૂ͍௨Γʹվળ͞Εͨͷ͔ධՁ
    ؆ૉԽ͞Ε͍ͯΔ͔ʁ
    ͔֬Ί͍ͨ͜ͱ

    View Slide

  48. ͋Β͔͡Ίظ଴݁ՌΛ͓࣋ͬͯ͘
    ఆྔධՁ
    ϨγϐΛ౤ߘ͢Δ·Ͱʹ͔͔ͬͨ࣌ؒ
    ɹɹˠظ଴஋ɿˋݮ
    ॳ౤ߘऀͷճ໨ͷϦςϯγϣϯ཰
    ɹɹˠظ଴஋ɿˋ૿
    ఆੑධՁ
    ΤσΟλ಺ʹ͝ҙݟಋઢΛઃஔ
    ˠظ଴ɿϙδςΟϒͳ͝ҙݟ
    ଞͷ߲໨Λݟͳ͕ΒฤूͰ͖ͯ࢖͍΍͍͢
    ࡐྉ͕ࣗಈͰೖྗ͞ΕΔ͔Βศར
    ೖྗ͠΍͘͢ͳͬͨ
    ҎલΑΓ؆୯ʹϨγϐΛ͔͚Δ

    View Slide

  49. ͋Β͔͡ΊఫୀɾϐϘοτࢦඪΛ͓࣋ͬͯ͘
    Ϩγϐ౤ߘ਺͕ݮΔ
    ϨγϐΛॻ͕࣌ؒ͘େ෯ʹ૿͑Δ
    ΋ͱͷΤσΟλʹ໭ͯ͠΄͍͠ࢫͷ͝ҙݟɾ͓໰͍߹Θ͕ͤຖ೔དྷΔ

    View Slide

  50. ݁Ռ
    ϨγϐΛ౤ߘ͢Δ·Ͱʹ͔͔ͬͨ࣌ؒ
    ˠˋݮ
    ॳ౤ߘऀͷճ໨ͷϦςϯγϣϯ཰
    ˠมԽͳ͠
    ҎલͷΤσΟλʹൺ΂ͯαΫαΫϨγϐΛॻ্͖͛Δ͜ͱ͕Ͱ͖ΔΑ͏ʹͳͬͨ
    ͕ɺϦςϯγϣϯ཰ʹد༩͍ͯ͠Δͱ͸ݴ͑ͳ͍

    View Slide

  51. ݁Ռ
    ɾϦϦʔεޙϲ݄Ͱ໿݅ͷϙδςΟϒҙݟΛಘͨʢશମͷ໿ʣ
    ɾͦͷଞͲͪΒͰ΋ͳ͍ҙݟɺࡉ͔͍ڍಈ΍ෆ۩߹ʹର͢Δҙݟ͕͋Γͭͭ
    ɾʮҎલͷΤσΟλʹ໭ͯ͠΄͍͠ʯʮҎલͷΤσΟλͷํ͕ྑ͍ʯͱ͍͏
    ҙݟ͸݅ʹͱͲ·ͬͨ
    ఫୀɾϐϘοτ͸͠ͳ͍

    View Slide

  52. ·ͱΊ

    View Slide

  53. ·ͱΊ
    ɾϓϩμΫτମݧ͸ϢʔβʔͷετʔϦʔͷҰ෦ʹա͗ͳ͍ʢࣗ෼΁ͷϝοηʔδʣ

    ɾ໨తΛ࠷େݶୡ੒͢ΔͨΊʹԿ͕ॏཁͳͷ͔ɺϢʔβʔʹͲ͏ײͯ͡΋
    Β͏ͷ͕ྑ͍ͷ͔ΛʮσβΠϯͷํ਑ʯͱͯ͠ݴޠԽ͓ͯ͘͜͠ͱͰૂ͍
    ͔ΒҳΕΔ͜ͱͳ͘6*ΛઃܭͰ͖ͨ
    ɾ͋Β͔͡Ίظ଴݁ՌɺఫୀࢦඪΛఆΊ͓ͯ͘͜ͱͰɺϦϦʔεޙͷධ
    Ձɾ൑அΛਖ਼͘͠Ͱ͖ͨ

    View Slide

  54. ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide