Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
コマンド履歴にタグを つけるCLIツールを作った
Search
ryosukes
October 24, 2017
Technology
0
2k
コマンド履歴にタグを つけるCLIツールを作った
ryosukes
October 24, 2017
Tweet
Share
More Decks by ryosukes
See All by ryosukes
北欧、暮らしの道具店を支えるAWSマルチアカウント運用 / hokuohkurashi aws multi account
ryosukes
0
15k
フィットする暮らしを支えるSRE 2021
ryosukes
1
3.5k
EKSではなくECSを採用する理由
ryosukes
0
2.6k
RegExp Error caused by PHP upgrade 5.6 to 7.2
ryosukes
0
2.9k
Hello kubernetes
ryosukes
0
1.6k
Other Decks in Technology
See All in Technology
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
1
2.3k
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
120
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
280
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
430
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
Terraform Stacks入門 #HashiTalks
msato
0
350
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
110
Application Development WG Intro at AppDeveloperCon
salaboy
0
180
Featured
See All Featured
Writing Fast Ruby
sferik
627
61k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Speed Design
sergeychernyshev
24
610
Practical Orchestrator
shlominoach
186
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
What's in a price? How to price your products and services
michaelherold
243
12k
Building an army of robots
kneath
302
43k
Designing the Hi-DPI Web
ddemaree
280
34k
Statistics for Hackers
jakevdp
796
220k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Transcript
ίϚϯυཤྺʹλάΛ ͚ͭΔCLIπʔϧΛ࡞ͬͨ 2017.10.24 ryosukes (kurashicom.inc)
ࣗݾհ ࠤʑ ྄༞(ryosukes/ciger47) 85ੜ·Εͷٶग़ 16͘Β͍ϥοϓͬͯ·͢ ࠷ۙస৬͠·ͨ͠ ———>
πʔϧΛ࡞ͬͨഎܠ
CLIͰૢ࡞͢Δ͜ͱଟ͍͚ͲΑ͘ΕΔ
εχϖοτͱ͔࡞Δͷ໘
ཤྺḷΔͷʹΊͬͪΌpecoͬͯΔ
ཤྺʹλά͕͚ͭΒΕΕྑ͍ͷͰ
࡞ͬͨ
https://github.com/ryosukes/histag
ͲΜͳײ͡ʁ
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
ಈ͖ 1. $ histag add ͱଧͭͱpecoىಈ 2. ཤྺ͔Βదʹબ 3. ඪ४ೖྗʹͳΔͷͰίϝϯτΛଧͭ
4. $ go #golang࠷ߴ Έ͍ͨʹίϝϯτͰώετϦʔ ϑΝΠϧʹه͞ΕΔ(࣮ߦ͞Εͳ͍)
Ͳ͏͔ͬͨ
ϙΠϯτ CLI࡞ࢧԉπʔϧͷcobra ώετϦϑΝΠϧͷࢦఆ pecoݺͼग़͠ CLI্Ͱͷίϝϯτͷ͚ํ
cobra ؆୯ʹCLIπʔϧ࡞ΕΔcobraΛ༻ ༗໊ͳͷͰ͙͙ΕҰൃ
ώετϦϑΝΠϧͷࢦఆ history := os.Getenv(“HISTFILE”) ͰڥมಡΈࠐΈ σϑΥϧτͰ͕ۭͩͬͨͷͰγΣϧͰύεࢦ ఆɻվળ͍ͨ͠
pet ͱ͍͏εχϖοτ࡞πʔϧΛࢀߟʹͨ͠ ͜Εgolang pecoݺͼग़͠
ίϚϯυͱཤྺΛ exec.Command() ʹ͠ ݁ՌΛऔಘͯ͠ॻ͖ग़ͯ͠Δ͚ͩɻ pecoೖͬͯͳ͍ͱࢮ͵
CLI্Ͱͷίϝϯτͷ͚ํ γΣϧεΫϦϓτ # ͑Δ͚ͲCLI্ͰجຊNG zshͰ setopt interactivecomment ͕ඞཁ : ͱ͍͏ʮԿ͠ͳ͍ίϚϯυʯΛݕ౼͕ͨ͠ؾ࣋
ͪѱ͍ͷͰΊͨ Ζ͏ͱ͢Δͱ $ ls ;: ‘golang࠷ߴ’ ͱͳΔ
ࠓޙ ຊޠ͕Խ͚Δ͜ͱ͕͋Δόά(க໋త)Λ͢ ֯εϖʔε͕ೖΔͱͦΕҎ߱ʹॻ͍ͨͷ͕ίϚ ϯυऴྃޙʹ࣮ߦ͞ΕΔόά(க໋త)Λ͢ GithubͷϦϞʔτϦϙδτϦʹ͋ΔStaleϒϥϯν ΛgraphqlͬͯҰׅআ͢ΔπʔϧΛ࡞Δ༧ఆ
͋Γ͕ͱ͏͍͟͝·ͨ͠