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
ALBと外部IDプロバイダーで認証しつつ、LaravelではGate・Policyを使わずシンプルに アクセス制御する方法
ryosukes
0
46
北欧、暮らしの道具店を支えるAWSマルチアカウント運用 / hokuohkurashi aws multi account
ryosukes
0
15k
フィットする暮らしを支えるSRE 2021
ryosukes
1
3.6k
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
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
520
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
400
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
130
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
240
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
7.2k
RECRUIT TECH CONFERENCE 2025 プレイベント【高橋】
recruitengineers
PRO
0
160
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
960
Larkご案内資料
customercloud
PRO
0
650
Featured
See All Featured
Optimizing for Happiness
mojombo
376
70k
Agile that works and the tools we love
rasmusluckow
328
21k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
How STYLIGHT went responsive
nonsquared
98
5.4k
Rails Girls Zürich Keynote
gr2m
94
13k
Music & Morning Musume
bryan
46
6.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
KATA
mclloyd
29
14k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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ͬͯҰׅআ͢ΔπʔϧΛ࡞Δ༧ఆ
͋Γ͕ͱ͏͍͟͝·ͨ͠