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
GOで作るCLIツール
Search
Akifumi Tominaga
December 03, 2018
Programming
1
320
GOで作るCLIツール
Go言語で作ったGoogle Cloud Pub/Sub のCLIツールの紹介です。
Akifumi Tominaga
December 03, 2018
Tweet
Share
More Decks by Akifumi Tominaga
See All by Akifumi Tominaga
Firebase Remote Config を利用した Feature Flags の導入
decoch
0
120
Firebase Performance を利用したアプリの起動時間高速化
decoch
0
98
依存関係を静的解析しよう
decoch
2
370
CircleCIを使って 「完全サーバーレス運用」を 実現した話
decoch
2
430
DBFlute Introで 気軽にDBコメント変更
decoch
0
120
DBFlute-intro
decoch
0
53
Other Decks in Programming
See All in Programming
RubyLSPのマルチバイト文字対応
notfounds
0
120
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Generative AI Use Cases JP (略称:GenU)奮闘記
hideg
1
300
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
120
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
Realtime API 入門
riofujimon
0
150
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Gamification - CAS2011
davidbonilla
80
5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Documentation Writing (for coders)
carmenintech
65
4.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
Fireside Chat
paigeccino
34
3k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Site-Speed That Sticks
csswizardry
0
31
Transcript
GOͰ࡞ΔCLIπʔϧ 2018/12/03 Gopherಓ @decoch
ࣗݾհ • ࢯ໊ : Ӭ ߊ࢙ @decoch • Github: @decoch
• Twitter: @decoch718 • Smart phone app engineer & Server side • ར༻ݴޠ • Java -> Swift -> Kotlin -> Golang • Open source • DBFlute Intro(https://github.com/dbflute/dbflute-intro)
Agenda • ࡞ͨ͠πʔϧ • ࡞͖͔͚ͬͨͬ • ՝ͱղܾࡦ • λεΫ •
·ͱΊ
࡞ͨ͠πʔϧ
࡞ͨ͠πʔϧ $-*
࡞ͨ͠πʔϧ $-*
࡞ͨ͠πʔϧ
͖͔͚ͭͬͨͬ͘ • GCP + Golnag Ͱ৽نϓϩμΫτΛ։ൃ • Pub/SubͷSubscriptionsͷఆٛΛίʔυཧ ͍ͨ͠ •
ϩʔΧϧͷΤϛϡϨʔλͰςετ͍ͨ͠
࡞͖͔͚ͬͨͬ
࡞͖͔͚ͬͨͬ IUUQTDMPVEHPPHMFDPNQVCTVCEPDTFNVMBUPS IMKBVTJOH@UIF@FNVMBUPS
՝ͱղܾࡦ • ՝ • EmulatorͰͷςετ͕؆୯Ͱͳ͍ • GUIͰPub/SubͷઃఆΛՃ͢Δͱݕূͱຊ൪ͰζϨ͕ى͖ΔՄೳੑ͕ ͋Δ • ղܾࡦ
• ϑΝΠϧΛಡΈࠐΜͰPub/SubʹઃఆΛө͢Δ • Pub/SubͷઃఆΛಡΈࠐΈϑΝΠϧͱͯ͠ు͖ग़͢ • ϑΝΠϧͷϑΥʔϚοτyamlܗࣜͱ͢Δ
λεΫ • Pub/Subͷੜͱऔಘ͔͠ରԠ͍ͯ͠ͳ͍ • SubscriptionͷPullܕʹରԠͰ͖͍ͯͳ͍
Appendix • ࢀߟʹ͍͖ͤͯͨͩ͞·ͨ͠ • nshmura/dsio: https://github.com/ nshmura/dsio • ༻ϥΠϒϥϦ •
urfave/cli: https://github.com/urfave/cli
·ͱΊ • Pub/SubͷΫϥΠΞϯτΛ࡞ͬͨ • GolangͩͱCLIπʔϧ͕؆୯ʹ࡞Ͱ͖Δ • ·ͩπʔϧ͕͍ͬͯͳ͍ͷͰGolangͷί ϛϡχςΟʹߩݙͰ͖Δʁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠