ECS ( 2 ) ~ ECS で実際に自分のアプリをデプロイ ~

March 23, 2018

LogChance

今回は LogChance というアプリケーションを ECS を使ってデプロイしようかと思います。
普通のブラウザアプリなんですが、自分のアプリをデプロイすることに意味があると思ってるんですよね、モチベーション的に。
実際にデプロイに移る前に LogChance って何?って話を軽くしておきます。

私はもともと大学で物理学科に所属していたのですが、物理学科では成績評価におけるテストの比重が非常に高かったんです。
で、テスト前日とかはサイゼ○アに皆集まってテスト勉強をしていたわけです。(サイ◯オール部という団体を築き上げました)
でも、テスト勉強とはいえ、人が集まれば会話は生まれるんですよね。そして会話をしていればいずれ誰かがスベることになる、と。

ある日、誰かがスベった時の対処をどうしようか、という議題が上がったんです。
飲みの場であればお酒を飲めば良いだけなのですが、テスト勉強中なのでそれは難しい…。

「そうだ、ストック制にしよう!」

皆の背中に稲妻が走った瞬間でした。
そうか、誰かがスベったらその行いをストックとして記録しておき、テスト期間終了後の打ち上げでストックを消費すれば良いんだ。

その制度が生まれてからは皆どんどんストックを貯めてゆきました。

「はい今のストック〜w」
「うーん、今のはひどすぎるし、流石に 3 ストックものでしょ」

みたいな会話が繰り広げられ、深夜テンションも相まってテスト勉強会はより盛り上がりを見せてきました。

ところがある問題が生まれたんです。
そう、一回で付与されるストックの数がインフレを始めたんです。

「1億ストック」などという無謀な数がストックとして付与されるようになってきました。
でもお酒を1億杯飲むのは現実的じゃないですよね。

そこで LogChance という制度が生まれました。
LogChance は 1/2 の確率で今の自分のストック数に対して底が 10 の対数を取れる、という素晴らしい制度です。(少数繰り上げです)

例えば 100000000 ストックある状態で LogChance に成功すると自分のストックは 8 になります。
皆の目に希望の光が戻りました。

「これに成功すれば打ち上げで1億杯飲まなくて済む…!」

しかしもちろん無条件に対数が取れるわけではありません。1/2 の確率で失敗すると、ストックは据え置きとなり、且つその場でグラスワインを1杯飲まなければいけないというルールがあります。
自分の単位がかかっているテスト勉強中にグラスワインを飲むのはかなりリスクが高い行為です。それでも1億杯という途方も無いストックを抱えるよりは..と考え皆この LogChance に全てをかけました。

上記の制度をシステム化したものが LogChance アプリです。
構成としては、フロントが js、バックエンドが php、DB は mysql みたいな簡単且つ典型的な Web アプリです。

ちなみに「そもそも勉強中にお酒が飲めないからストック制度が生まれたのでは…?」とかいうツッコミは一切受け付けません。
また、その後皆の単位がどうなったのかについては、触れないでおきます。


 © 2023, Dealing with Ambiguity