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
spf13/cobraでもできる簡単CLIツール / Fukuoka.go #11
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ken’ichiro Oyama
June 14, 2018
Technology
4
990
spf13/cobraでもできる簡単CLIツール / Fukuoka.go #11
Fukuoka.go #11 LT
Ken’ichiro Oyama
June 14, 2018
Tweet
Share
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
2
2.5k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
630
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
570
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
130
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
11
6k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
10k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
390
Cleanup handling in Go / Go Conference 2024
k1low
7
4k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
18
12k
Other Decks in Technology
See All in Technology
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
20260204_Midosuji_Tech
takuyay0ne
1
160
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
200
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
510
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
240
データの整合性を保ちたいだけなんだ
shoheimitani
8
3.2k
マネージャー視点で考えるプロダクトエンジニアの評価 / Evaluating Product Engineers from a Manager's Perspective
hiro_torii
0
190
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
390
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
200
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
480
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
170
From π to Pie charts
rasagy
0
130
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
Why Our Code Smells
bkeepers
PRO
340
58k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
200
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
62
50k
Transcript
খࢁ݈Ұ(.01FQBCP *OD 'VLVPLBHP TQGDPCSBͰͰ͖Δ ؆୯$-*πʔϧ
γχΞΤϯδχΞ খࢁ݈Ұ!L-P8 ϗεςΟϯάࣄۀ෦ϗεςΟϯάάϧʔϓϚωʔδυΫϥυνʔϜ IUUQTHJUIVCDPNL-P8
.Z$-*UPPMT w BXTQFD w LPNB w PDUPQVCMJTI w PDUPQBDLBHF w
DFSUNBO w TDPOC w UNQGL w SFDJQF w CVO w LVNPNF w CBDLMPHDQ w EFWMPDBM
.Z$-*UPPMT w BXTQFD w LPNB w PDUPQVCMJTI w PDUPQBDLBHF w
DFSUNBO w TDPOC w UNQGL w SFDJQF w CVO w LVNPNF w CBDLMPHDQ w EFWMPDBM PQUQBSTF $BLF4IFMM /PEF #BTI
*5IPS
5IPS w5IPSJTBUPPMLJUGPSCVJMEJOHQPXFSGVMDPNNBOEMJOFJOUFSGBDFT *UJTVTFEJO#VOEMFS 7BHSBOU 3BJMTBOEPUIFST wIUUQXIBUJTUIPSDPN w3VCZͷϑϧελοΫͳ$-*ϥΠϒϥϦ wҾΦϓγϣϯͷΈָཱ͕ͯͰػೳͷ࣮ʹूதͰ͖Δ wศརʹ࡞ΒΕ͍͗ͯͯ͢ɺ3VCZΛॻ͍͍ͯΔͱ͍͏ΑΓ5IPS Λॻ͍͍ͯΔ
ͱ͜ΖͰ࠷ۙ(PΛ֮͑·ͨ͠
.Z$-*UPPMT XSJUUFOJO(P
DHSQT wDHSQTJTBTFUPGDPNNBOETGPSDIFDLJOHDHSPVQT wIUUQTHJUIVCDPNL-P8DHSQT wେྔͷDHSPVQ͕࡞͞ΕΔڥͰɺQFDPͳͲͱ࿈ܞͯ͠ޮతʹ DHSPVQใΛऔΓѻ͏ͨΊͷίϚϯυ > cgrps stat
$(cgrps ls | peco) > ps u --pid $(cgrps ls | peco | cgrps pids | xargs)
UCMT wUCMTJTB$*'SJFOEMZUPPMGPSEPDVNFOUBEBUBCBTF XSJUUFOJO(P wIUUQTHJUIVCDPNL-P8UCMT w.BSLEPXO ('. ܗࣜͰσʔλϕʔευΩϡϝϯτΛੜͯ͘͠ΕΔί Ϛϯυ w$*ʹΈࠐΜͰυΩϡϝϯτͷߋ৽ΛνΣοΫ͢ΔίϚϯυ͋Δ
> tbls doc postgres://user:pass@hostname:5432/dbname ./dbdoc
None
(PͰ$-*πʔϧΛ࡞Δ
(PͰ$-*πʔϧΛ࡞Δ w$-*ϥΠϒϥϦʢϑϨʔϜϫʔΫʣΛ͏ wͨͩϥΠϒϥϦΛ͏ͷͰͳ͘δΣωϨʔτπʔϧΛͬͯߴʹ ϓϩτλΠϓΛ࡞Δ UDOLTNHDMJ VSGBWFDMJ NJUDIFMMIDMJ HPDNE
&YBNQMF IUUQTTQFBLFSEFDLDPNUDOLTNLPNBOEPSBJOUVSVOJUVJUFZVSVUPLJOJQVGBMTFZVSVLPUPOVNCFSZBQDBTJB TMJEF
TQGDPCSB
Cobra is both a library for creating powerful
modern CLI applications as well as a program to generate applications and command files.
TQGDPCSB w,VCFOFUFT.PCZ %PDLFS ɺ0QFO4IJGUͳͲͰΘΕ͍ͯΔ $-*ϥΠϒϥϦʢϑϨʔϜϫʔΫʣͰ͋ΓδΣωϨʔτπʔϧ wDPCSBͷܗΛDPCSBΛͬͯߴʹϓϩτλΠϓΛ࡞Δ TQGDPCSB TQGDPCSB
None
Πϯετʔϧ͔ΒίϚϯυ࡞ͷྫ
/> go get github.com/spf13/cobra/cobra /> cobra init github.com/k1LoW/fukgo
/> cd $GOPATH/src/github.com/k1LoW/fukgo fukgo/> cobra add hello fukgo/> go build fukgo/> ./cobra 1 2 3 4 5 6
؆୯
DPCSBίϚϯυ wDPCSBJOJUTQGDPCSBTQGWJQFSΛͬͨ$-*πʔϧͷܗΛ ࡞͢ΔίϚϯυ wTQGWJQFSʜDPOpHϑΝΠϧΛಡΈࠐΉͨΊͷػߏΛఏڙ͢Δϥ ΠϒϥϦʢඞཁͳ͍߹WJQFSGBMTFʣ wDPCSBBEEαϒίϚϯυͷܗΛՃ࡞͢ΔίϚϯυ
ੜ͞Εͨιʔεͷߏ GVLHP ᵓᴷᴷ-*$&/4& ᵓᴷᴷDNE ᴹᵓᴷᴷIFMMPHPʜGVLHPIFMMPίϚϯυͷίʔυ ᴹᵋᴷᴷSPPUHPʜGVLHPίϚϯυͷίʔυ ᵋᴷᴷNBJOHP
ίʔυͷઆ໌ׂѪ ͨͿΜݟͨΒ͙͢Θ͔Δ ͘Β͍ʹΘ͔Γ͍͢
TQGDPCSBͰͰ͖Δ͜ͱ wίϚϯυ͚ͩͷελΠϧαϒίϚϯυΛ࣋ͭελΠϧ࣮Մೳ wUIPSHFNͰαϒίϚϯυͷελΠϧҎ֎ͷ࣮ݱ͕͍͠ wTQGDPCSBͷ߹DNESPPUHPΛҭͯΕྑ͍ wIFMQίϚϯυͷࣗಈ࡞Φϓγϣϯͷ؆୯੍ޚͳͲଞͷ$-*ϥΠ ϒϥϦͱಉ༷ʹՄೳ wTQGWJQFSͱͷ࿈ܞͰઃఆϑΝΠϧͱͷ࿈ܞՄೳ
ଞͷ$-*ϥΠϒϥϦͰͰ͖Δ͜ͱ Ͱ͖ͦ͏
Ͳͷ$-*ϥΠϒϥϦͰेʹྑ͍ ΈͰબΜͰ
*TQGDPCSB
5IBOLZPV ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU