Skip to content

Instantly share code, notes, and snippets.

@winebarrel
Last active June 11, 2023 04:16
Show Gist options
  • Save winebarrel/b28db3d60d5d5491ede676360a75e540 to your computer and use it in GitHub Desktop.
Save winebarrel/b28db3d60d5d5491ede676360a75e540 to your computer and use it in GitHub Desktop.
goth-esaを作った話とおすすめのSFマンガ

これはカンムアドベントカレンダー2021の6日目です。 昨日は@hiroakisさんの記事でした。

goth-esaを作った話

yktr

弊社は情報共有ツールとしてesaを使っています。 esaはシンプルで悪くないんですが自分は、前職での情報共有ツールの体験から「この手のツールははてなブログのように記事を展開して表示してほしい」と常々考えています。 一応、esa運営に機能要望としてフィードバックしてみたものの、実装されるかわからない…ので自分でツールを作成してみました。

このyktrというツールはesa APIでesaの記事を取得し、記事を展開して連続して表示されるビューを提供します。 (動画

これでesaが便利になって一件落着…と思ったんですが、そんなことはなかった。

esaのアクセス制限がですね

現時点では、ユーザ毎に15分間に75リクエストまで受け付けます。 https://docs.esa.io/posts/102

となかなかしょっぱい感じで、yktrをユーザー個人のアクセストークンを使う形でWebサービスとして運用すると、速攻で制限に引っかかることが目に見えています。

OAuthを利用した認可フロー

幸いなことにesa APIには「OAuthを利用した認可フロー」が用意されているので、oauth2でユーザー個別にトークンを発行するようにすれば、利用制限に引っかかりにくくなります。 oauth2のライブラリとしてはomniauth-esaを使えます。 が、弊社のリンガフランカはGolang。RailsやSinatraを運用できなくはないですが、内部でのメンテナンスが滞りそうなのであまり使いたくはない…

ということで、Golangのoauth2のライブラリを探しました。

最終的に https://github.com/markbates/goth にたどり着きました。

Goth

This package was inspired by https://github.com/intridea/omniauth.

とあるようにomniauthにインスパイアされて作られたライブラリで、複数のプロバイダの認証を簡単に行えるライブラリです。 サポートしているプロバイダも多く、また自作のプロバイダも簡単にかけます。

esa用のプロバイダは提供されていなかったのでgoth-esaというライブラリを作成しました。

これを使うとGolangでもかなり簡単にesaのOAuthを利用した認可フローを使うことができます。

さらに上記を利用するようにyktrを修正してyktr2を作りました。 これを内部向けWebサービスとしてリリースして、いまでは最高…といわないまでもまあまあのユーザー体験を得ています。

※ちなみに内部向けのWebサービス公開環境がなかったのでterraformとecspressooauth2-proxyで「なんでも雑に公開できる内部向けECS環境」も作りました


おすすめのSFマンガの話

以下はなんとなく書きたいから書くおすすめのSFマンガの話です。

野村亮馬は現代SFマンガの最高峰ではないかと勝手に思っています。 2巻の軌道エレベーター(ひも)の話とか、いいですね。 3巻が待ち遠しい。 キヌ六も面白いですが、ひとつあげるならこっちです。

あさりよしとおなので言わずもがなという感じのSFマンガです。 小惑星を開発したり、宇宙コロニーで暮らしたり、宇宙船を開発したりするお話。 1巻目のラストがあれなきがするんですが、打ち切りなのかな…

人類圏というシリーズをまとめたもので、個々の作品はKindle Unlimitedで読めます。 個々の話はすこーしつながりがあるので、順番に読んでいかないとわかりづらいかも。 説明しにくいですけど、初期はSF的思考実験をマンガにした感じで、後期は無限工作社との戦いがメインかな。

image

古典。攻殻機動隊もそうですけど、読み返すたびに面白いです。 covid-19で「ドミニオンじゃん」とか一瞬思ったり。 もう新作は拝めないんですかね…

好きな台詞は「原理は単純を、構造は複雑を極め、人は最も人らしく」です。

エイリアン9もミルククローゼットも好きですが、ユミハリがいちばん好きかも。 伏線のたたみ方があれですが。 海上浮遊要塞と化した品川駅よいです。

番外

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment