レイヤードアーキテクチャしたい!

12/28(土)

特に何もしないでボーッとしてた。嘘。温度管理サーバーの次期バージョンを作ろうとしていた。とりあえずScalaで、build.sbtに細工してレイヤードアーキテクチャ風のディレクトリ構造を作ろうとあれこれやっていた(参考: play framework 2.3でレイヤードアーキテクチャを強制する)。エヴァンズのDDDに載っているシンプルなレイヤードアーキテクチャだとドメイン層がインフラ層に依存しているのでインフラ層の変更がドメイン層に影響してしまってよろしくないはず。そういうのを避けるためにDIとかやるんだと思うんだがよくわかってない。

自宅で開発してると食事が面倒になり一食だけになった。食事が減るのって糖尿病リスクあがったりするんですかね。

無趣味

12/26(木)

あまりメンタルがよろしくない。何も考えずに打ち込める趣味がほしい。以前はヴァイオリンを弾くのがそうだった。今は弾く場所がない。プログラミングは「何も考えず」というわけにはいかないし目に負担がかかるので時間制限がある。Dota2はもうアップデートについていくのが難しくなってきたし、勝てないと腹が立つ。

カフェイン中毒(3ヶ月ぶり3回目)

12/25(水)

いわゆるクリスマスというやつ。特に何もない。コーヒー→紅茶と続けざまに飲んだらカフェイン中毒でボーッとしていた。気づかないうちにどんどん体が繊細になっている。

部屋の温度を記録するサーバーを強化したい。温度に限らず何でも記録してビジュアライズできる汎用的なサービスにしたい。DDDも使いたい。

悟空

12/24(火)

いわゆるクリスマスイブというやつ。特に何もない。同期に誘われ、非常識な量のチャーハンを出す店にランチに行った。慎重に500gを注文したので完食は容易だったが、途中で飽きがきた。チャーハンは味が均質になる料理なので量が満足感に転化しにくい。

droneで自動デプロイする

12/22(日)

masterにマージするだけでデプロイされてほしかったので。

結論

  • Docker Pipelineでビルドが通るか確認し、OKならSSH PipelineでサーバーにSSH接続してgit clone→docker build→docker runしている。
  • SSH Pipelineはデフォルトでは/tmp下に適当なディレクトリを作ってcloneしてstepを実行していくのだが、サーバーに置いている設定ファイルを使いたい都合でそのデフォルトの挙動を無効にし、cd /home/satoru/workして手動でcloneしている。
  • SSH認証関連の情報はdroneのsecretsに保存してある
    • セキュリティ上の理由で、デフォルトではPRをトリガーにPipelineが実行されるときはsecretsを読み込めないので注意

VPS上でdroneを動かした

12/21(土)

CI環境ほしいので作った。基本的にはこれを読みながら進めるだけ。

結論

  • 単純にドキュメンテーションのdocker runのオプションをdocker-compose.ymlの形式に落とし込んだだけ
  • .env.sampleを.envにコピーして中身を埋める
  • common_linkはVPS上で動かしているnginx-proxyに接続するためのものなので気にしなくていい