Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
spf13/cobraでもできる簡単CLIツール / Fukuoka.go #11
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ken’ichiro Oyama
June 14, 2018
Technology
1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
spf13/cobraでもできる簡単CLIツール / Fukuoka.go #11
Fukuoka.go #11 LT
Ken’ichiro Oyama
June 14, 2018
More Decks by Ken’ichiro Oyama
See All by Ken’ichiro Oyama
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
2
5.8k
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
1.1k
analysis パッケージの仕組みの上でMulti linter with configを実現する / Go Conference 2025
k1low
1
920
Flight recorder at the application layer (NOT the FlightRecoder newly added at Go 1.25) / Fukuoka.go #22
k1low
0
200
ソフトウェア開発におけるインターフェイスという考え方 / PHPerKaigi 2025
k1low
12
6.5k
Parsing HCL/CUE / Fukuoka.go #21
k1low
0
11k
実践 net/http Middleware パターン / Kizuku.go Vol.1
k1low
2
480
Cleanup handling in Go / Go Conference 2024
k1low
7
4.2k
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
18
12k
Other Decks in Technology
See All in Technology
Metadata - Section 1: HTML Basics
mohab1
0
120
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
380
Kiro Crewをはじめよう
kizawa2020
1
160
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
860
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
200
その Valkey 使いこなしていますか?
onk
PRO
5
1.5k
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
230
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
170
触りたくないデータに、どう触るか AI時代のRBACアクセスガバナンス
ivry_presentationmaterials
0
260
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
ソフトウェア ファクトリー - 再現性のあるソフトウェアの工場づくり / Software factory
iktakahiro
6
4.9k
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
600
Become a Pro
speakerdeck
PRO
31
6.3k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
280
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
750
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
540
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
410
First, design no harm
axbom
PRO
2
1.3k
Navigating Team Friction
lara
192
16k
Accessibility Awareness
sabderemane
1
250
エンジニアに許された特別な時間の終わり
watany
109
250k
How STYLIGHT went responsive
nonsquared
100
6.3k
Faster Mobile Websites
deanohume
310
32k
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