ojichat-apiを開発しました
ojichatとは
おじさんがLINEやメールで送ってきそうな文を生成するコマンド。
Go製のcliなんですが、かなり話題になりました。
しかしこのojichatはcliなので欲しい時すぐ使えなかったりします。
そこでAPI化しました。
ojichat-apiの実装
リポジトリはこちらになります。
今回はginというフレームワークを使いました。
めんどくさい処理は書きたくないので使い慣れてるものを採用しただけです。
今回は単純にquery stringをパースして
targetName := c.DefaultQuery("name", "")
emojiNumStr := c.DefaultQuery("e", "4")
punctuationLabelStr := c.DefaultQuery("p", "0")
それから ojichat/generator.Config
を作成します。
config := generator.Config{
TargetName: targetName,
EmojiNum: emojiNum,
PunctiuationLebel: punctuationLabel,
}
この config
を ojichat/generator.Start
へ渡すだけでおじさん風のテキストを作成してくれます。
インフラ
ojichat-apiは https://ojichat-api.tokyo へホストしています。このサーバーは最近Google Cloud PlatformからでたCloud Runというdockerのコンテナをサーバーレスで動かしてくれるものに載せています。
Cloud Runが色んな記事でも使い方が載せられていますが、結構簡単にデプロイまで出来るので趣味程度のAPIを開発するのであればかなりよいなと思いました。
料金もリクエスト数以外にサーバーのリソースによってかかりますが、ojichat-apiみたいな軽いものだと結構リクエストがきてもお小遣い程度で運用できそうです。
デプロイの方法などはその他の記事をご覧ください。
Cloud Runで動かすGo + Echo Framework
デプロイ自体をCDなどは行なっていませんがmakefileにまとめてあるのでみてみるとよいです。
Author
Twitter: @konojunya
GitHub: konojunya