[Go][AWS] Elastic Beanstalk で超ちっちゃいCLIサービス「dotti」を作った

[Go][AWS] Elastic Beanstalk で超ちっちゃいCLIサービス「dotti」を作った:


はじめに

明けましておめでとうございます !!

みなさん元気ですか !!

僕は元気です !!

それはさておき, よくあるこれってどっちが多数なん?的なのを手軽に確認できるサービスというていで, AWS+Go でサービス作りました

CLIから使えるお手軽エンジニア向けサービス的な感じです

制作時間はおよそ 4 時間

いい時代になりましたね

(CLIでサービスって言うんだろうか...なんかちゃんとした言い方あったらすみません :bow:


どんなん?

こんなん

~/go/src/github.com/mentol310/dotti 
❯ ./dotti list 
+----+----------------------------+---------+---------+ 
| ID |           TITLE            | A COUNT | B COUNT | 
+----+----------------------------+---------+---------+ 
|  1 | インデント幅2ならA, 4ならB |       0 |       0 | 
+----+----------------------------+---------+---------+ 
 
~/go/src/github.com/mentol310/dotti master 
❯ dotti post -i 1 -s A 
Success !! 
 
~/go/src/github.com/mentol310/dotti master 
❯ dotti list 
+----+----------------------------+---------+---------+ 
| ID |           TITLE            | A COUNT | B COUNT | 
+----+----------------------------+---------+---------+ 
|  1 | インデント幅2ならA, 4ならB |       1 |       0 | 
+----+----------------------------+---------+---------+ 


レポジトリ

サーバーとクライアントで分けました

サーバー
https://github.com/mentol310/dotti-server

クライアント
https://github.com/mentol310/dotti


サーバー

サーバーは、

↓ のコードをほぼ丸パクリ
https://dev.classmethod.jp/go/golang-single-binary-web-application-on-elastic-beanstalk/

詰まったところとか悩んだところとか

  • entry リストを返す GET API で, 構造体map をそのまま返したらレスポンスで json.Unmarshal でコケた

    • 配列に変換して返すことで解決
  • UpdateEntry で A か B で分岐してインクリメントするところ, もうちょいスマートな構造を持てそうな


クライアント

今回は go cli で検索上位に来てた urfave/cli を使いました
spf13/cobra とどっちにするか悩みましたが、 urfave/cliA simple, fast, and fun package と書かれていたのでこちらを選択しました

シンプルなものが好きです

詰まったところとか

  • Commands でコマンドを入れ子にできると言うのに気付くのに時間がかかりました

    • Flags をグローバルじゃないところにモテるとかその辺り ...


終わり

今年初のサービスでありながら地味に人生初のサービスです !!

サービスといっていいのかわかんないですが、サービスって言い張ります !!

サービスとして大きくなってきてから Vue とかでフロント作れば ... ええですよね ... ??

現状デプロイ毎にデータが揮発するので, データ移したりなんやします(そのうち)

と言いつつ多分お金勿体無いので, アラート飛んできたらトメマス ... 短い命をお楽しみください

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)