2016-06-28(火) [長年日記]
■ Herokuで動かすアプリにwebpack用のbuildpackを追加した
先日、Webアプリのフロント開発環境をnpm + webpackに移行してから、ぼちぼちと他のツールも加えていっている。
jQuery依存はほぼ断ち切れて、非同期通信なども含め babel-polyfill や whatwg-fetch で置き換えた。
フレームワークは redux にしようと思っていたんだけど、使ってみたという知人たちの評判がすこぶる悪いので、mizchi/flumptを試している。いやぁ、持続性のあるプロジェクトじゃないかも知れないけど、サーバサイドにRailsじゃなくてSinatra使ってるような人(おれ)だと、これくらい軽量なのが見通しよくていい気がするんだよなぁ。
次はUIフレームワーク、Reactとの相性が良いmaterial-uiを使おうと決め、たぶんいまや誰も使っていない(自分でも使ってない)BOOKSCAN Premium Optimizerを実験台にして実装していたら、依存するjsがどんどん増えて、ついにHerokuでboot timeoutが発生する事態に(笑)。いや、そもそもboot時にするもんじゃないのだよな、これ。手元の開発環境でも、productionのビルドするのに40秒くらいかかるし、しょうがない。
というわけで、泥縄的にwebpack用のbuildpackを導入することにした。自作するしかないかと思っていたけど、jerrysu/heroku-buildpack-webpackというのがあったので、コードを読んでから自分のリポジトリにforkして*1app.jsonに追加した。これでruby / nodejs / webpackと、buildpackの3連装だよ。大げさだなぁ。
でもおかげでboot時間は大幅に短縮できたのだった。……と思ったらminifyされてねーじゃんこれ。ちょっといじらないとダメだなぁ。
そういえば、こうするとビルド時にだけ必要なパッケージはdependenciesからdevDependenciesに移せるのかな? あとで試してみよう。
*1 Herokuのbuildpack指定はapp.jsonへGitHubのURLを直指定する形式なので、バージョン管理のできない他人のリポジトリをそのまま使うのは愚の骨頂である。
■ デレステイベント「咲いてJewel」
今回から2枚取りは6万位まで、1枚取りは12万位までに拡張されて、プレイヤー数の増加がうかがえる。人数増えたら上位に入りにくくなると思ってたけど、枠を拡大してくるとは、なんか最近のソシャゲは良心的だなぁ(←やや騙されてる感)。いつものように2枚取り狙いだったが、ボーダーの伸びが読めなかったから走りすぎてしまったよ。
https://www.amazon.co.jp/dp/B01FMZH2NK
その後、ジュエルが溜まったので10連回したら、3枚目のSSRが来た。Coが欲しかったのにPaが2枚になってしまった。バランスがとれない。
buildpack はタグやコミットを指定できますよ。
https://devcenter.heroku.com/articles/buildpacks#buildpack-references
ほんとうだ! そこは読み飛ばしていました、ありがとうございます。
(それでもforkしたものを使うだろうな、とは思いますが)