エスプレッソの試行錯誤

浅煎りエスプレッソ

半年くらい前に Swim の豆なら Flair と Wilfa で優勝できることがわかって以来、夏の間はずっとアイスラテで優勝していたわけだけど、 最近ふと「そもそも浅煎り豆でエスプレッソ優勝したかったんじゃなかったっけ?」と思うようになった。

寒くなってきたし、あらためて Switch Coffee Tokyo のホットラテを飲んでみるとやっぱり美味しい。

ちょうど同じくらいのタイミングで KOFFEE MAMEYA の人から Nomad 面白いよと聞いて、もう一回やってみるか!ということで Nomad を試しに買ってみた。

ということでできるだけ記録を取りながら進めたので、それらをまとめつつ感想を述べていく。

GitHub Actions上のRustアプリのDockerイメージビルドを高速化する

Rust + Docker + GitHub Actions = めちゃ遅い

以前、GitHub Actions 上の Rust ビルドを高速化する記事を書いたけど、 今回は Kubernetes 環境にスムーズに移行できるよう Docker イメージ化するという要件も加わったことで、改めて試行錯誤する必要が出てきた。

それぞれに対するビルド速度の最適化は存在しているものの、3つ (Rust, Docker, GitHub Actions) すべてを満たすとなるとコピペで終わるほど情報がまとまってないし、見つけた Tips もちょっと古かったり、これというものは見つけられなかった。

公式ドキュメントを見ると正当進化していて新しいオプションが生えていたりしたので、賞味期限は短そうだけど、自分の試行錯誤の結果を残しておこうと思う。

成果としては 12 分 22 秒かかっていた Rust アプリケーションの Docker イメージビルドが最短で 2 分 43 秒まで縮まった。Docker layer caching 最高だっ!!!!

返り値でレスポンスを返すタイプのWebフレームワークでPresenterを実現する

なにこれ?

ちょっとコンテキストが面倒なんだけど、

  • DDD で Web フレームワークを隠蔽して Controller/Presenter できっちり分けてる実装少ない
  • 返り値をレスポンスにしてる Web フレームワークが諸悪の根源っぽい
  • Future を使えば実現できるんじゃね? → やってみた

記事のタイトルをどうするかすごく迷ったけど、迷ったわりにわかりやすくなってないのが悲しい。

というわけで久々のやってみた系記事です。実用性はまったくない。

Competitive CyclistからENVEパーツを買う Part2

購入成功

先日書いた Competitive Cyclist で購入した ENVE パーツ がそのあとどうなったか、忙しい人向けに 3 行でまとめると、

  • 転送サービスを使って ENVE パーツを入手できた
  • 順調にいけば 2 週間前後で手元に届く(今回は 3 週間)
  • 多少のトラブルはあった(後述)

やはりというか、海外通販に付き物のトラブルはあったので、注文後から実際に手元に届くまでを細かく書いてみる。