Slide 1

Slide 1 text

ίϚϯυཤྺʹλάΛ ͚ͭΔCLIπʔϧΛ࡞ͬͨ 2017.10.24 ryosukes (kurashicom.inc)

Slide 2

Slide 2 text

ࣗݾ঺հ ࠤʑ໦ ྄༞(ryosukes/ciger47) 85೥ੜ·Εͷٶ৓ग़਎ 16೥͘Β͍ϥοϓ΍ͬͯ·͢ ࠷ۙస৬͠·ͨ͠ ———>

Slide 3

Slide 3 text

πʔϧΛ࡞ͬͨഎܠ

Slide 4

Slide 4 text

CLIͰૢ࡞͢Δ͜ͱଟ͍͚ͲΑ͘๨ΕΔ

Slide 5

Slide 5 text

εχϖοτͱ͔࡞Δͷ໘౗

Slide 6

Slide 6 text

ཤྺḷΔͷʹΊͬͪΌpeco࢖ͬͯΔ

Slide 7

Slide 7 text

ཤྺʹλά͕͚ͭΒΕΕ͹ྑ͍ͷͰ͸

Slide 8

Slide 8 text

࡞ͬͨ

Slide 9

Slide 9 text

https://github.com/ryosukes/histag

Slide 10

Slide 10 text

ͲΜͳײ͡ʁ

Slide 11

Slide 11 text

ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βద౰ʹબ୒ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ 4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτ෇ͰώετϦʔ ϑΝΠϧʹ௥ه͞ΕΔ(࣮ߦ͸͞Εͳ͍)

Slide 12

Slide 12 text

ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βద౰ʹબ୒ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ 4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτ෇ͰώετϦʔ ϑΝΠϧʹ௥ه͞ΕΔ(࣮ߦ͸͞Εͳ͍)

Slide 13

Slide 13 text

ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βద౰ʹબ୒ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ 4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτ෇ͰώετϦʔ ϑΝΠϧʹ௥ه͞ΕΔ(࣮ߦ͸͞Εͳ͍)

Slide 14

Slide 14 text

ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βద౰ʹબ୒ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ 4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτ෇ͰώετϦʔ ϑΝΠϧʹ௥ه͞ΕΔ(࣮ߦ͸͞Εͳ͍)

Slide 15

Slide 15 text

Ͳ͏΍͔ͬͨ

Slide 16

Slide 16 text

ϙΠϯτ CLI࡞੒ࢧԉπʔϧͷcobra ώετϦϑΝΠϧͷࢦఆ pecoݺͼग़͠ CLI্Ͱͷίϝϯτͷ෇͚ํ

Slide 17

Slide 17 text

cobra ؆୯ʹCLIπʔϧ࡞ΕΔcobraΛ࢖༻ ༗໊ͳͷͰ͙͙Ε͹Ұൃ

Slide 18

Slide 18 text

ώετϦϑΝΠϧͷࢦఆ history := os.Getenv(“HISTFILE”) Ͱ؀ڥม਺ಡΈࠐΈ σϑΥϧτͰ͸஋͕ۭͩͬͨͷͰγΣϧͰύεࢦ ఆɻվળ͍ͨ͠

Slide 19

Slide 19 text

pet ͱ͍͏εχϖοτ࡞੒πʔϧΛࢀߟʹͨ͠ ͜Ε΋golang੡ pecoݺͼग़͠

Slide 20

Slide 20 text

ίϚϯυͱཤྺΛ exec.Command() ʹ౉͠ ݁ՌΛऔಘͯ͠ॻ͖ग़ͯ͠Δ͚ͩɻ pecoೖͬͯͳ͍ͱࢮ͵

Slide 21

Slide 21 text

CLI্Ͱͷίϝϯτͷ෇͚ํ γΣϧεΫϦϓτ͸ # ࢖͑Δ͚ͲCLI্Ͱ͸جຊNG zshͰ setopt interactivecomment ͕ඞཁ : ͱ͍͏ʮԿ΋͠ͳ͍ίϚϯυʯΛݕ౼͕ͨ͠ؾ࣋ ͪѱ͍ͷͰ΍Ίͨ
 ΍Ζ͏ͱ͢Δͱ $ ls ;: ‘golang࠷ߴ’ ͱͳΔ

Slide 22

Slide 22 text

ࠓޙ ೔ຊޠ͕Խ͚Δ͜ͱ͕͋Δόά(க໋త)Λ௚͢ ൒֯εϖʔε͕ೖΔͱͦΕҎ߱ʹॻ͍ͨͷ͕ίϚ ϯυऴྃޙʹ࣮ߦ͞ΕΔόά(க໋త)Λ௚͢ GithubͷϦϞʔτϦϙδτϦʹ͋ΔStaleϒϥϯν Λgraphql࢖ͬͯҰׅ࡟আ͢ΔπʔϧΛ࡞Δ༧ఆ

Slide 23

Slide 23 text

͋Γ͕ͱ͏͍͟͝·ͨ͠