2016-05-22(日) [長年日記]
■ 花菜ガーデンに薔薇を見に行く(2016春編)
好天に恵まれた週末だったので、昨年の秋にも行った「花菜ガーデン」へ行った。この季節は春のバラフェス。すごい混んでるだろうというかみさんの予測もあって早朝から出かけたが、道路はそれほど混んでいなくてスイスイと到着*1。施設へも券売機で少し行列があったていどでそんなに混んでる感じではなかったが、そのあとどんどん人が集まってきて、最終的にはかなりの混雑になった。
というか、予報では29℃、とうぜん日なたでは30℃を超えるわけで、暑いのなんの。バラもだいぶしおれてしまっていて、もう一週間ほど早めにくるべきだったねぇ、という状況。それでも木陰はまだ涼しくて助かったけど、朝とはいえすでに陽はだいぶ高くて、写真を撮るには明るすぎるのであった。こういう場所は曇りの日の方がいいんだろうなー。
*1 今日は東名が混んでるから圏央道で行けというGoogle様のお告げに従ったのが功を奏した。そういえば新しく合成音声になったGoogleナビを初めて使ったけど、あのレベルの品質で実戦投入するとは、さすがGoogle、攻めてるねぇ(←イヤミです)。
2016-05-19(木) [長年日記]
■ sprockets + rails-assetsを卒業して、npm + webpackへ移行
1年少々前、Webアプリのフロントエンド開発環境として暫定的にRails Assetsを使うことにしたのだけど、あれからjs界隈もしだいに落ち着いてきて*1、いろいろと勝ち組っぽいツールが決まってきた気がする。
そんなわけで、徐々にそっち方向へ移行してこうかな、と。とくにRails Assetsはサービス自体が終了の方向らしいので、まずはそのへんから。jsのパッケージマネージャとタスクランナーの勝ち組として、おれの観測範囲でみえてる感じだと:
- パッケージはpackage.jsonをnpmで管理するのが一番シンプル
- タスクランナーもnpmでいいよもう……という流れが強そう
- AltJSは使わずにES2015、ビルドにはWebpackとBabelの組み合わせ
ってところか? 少し前に話題になった「10年のツケを支払ったフロント界隈におけるJavaScript開発環境(2016年4月現在)」にだいたい同意だわ。
とりあえず自前のWebアプリの雛形用に作ってあるsinatra_skeletonをベースに改造。公式ドキュメントでよくわからんところは以下の記事を参考にした:
ローカル環境で動かすのはわりと簡単にいけたんだけど、これをHerokuに持っていくのに少し苦労した。具体的にはWebpackによるビルドを(ビルド後のファイルをリポジトリに入れることなく)、Heroku上で実行させたい。
まずは現状buildpackとしてheroku/rubyのみのところに、heroku/nodejsを追加:
% heroku buildpacks:add heroku/nodejs
これに加えてpackage.jsonでは通常developに依存するように書くBabelやWebpack関連パッケージもぜんぶproductionに入れてしまうことで、これらが全部インストールされる。
あとはデプロイ後に「webpack -p」が実行されればいいんだけど、Herokuでこういうファイル生成系のアクションをするのはけっこうめんどい。一番スマートにやるのはwebpack用のbuildpackを作ることなんだけど(じっさいいくつか実装が公開されている)、そこまでの話じゃないよなぁと思ったので、こんなbin/run.shを書いて:
#!/usr/bin/env bash npm run production bundle exec puma -C config/puma.rb
Procfileでこれを指定した:
web: ./bin/run.sh
ひどい手抜きである。が、充分実用的だ。Webpackのビルドが遅いのでHeroku appの起動に時間がかかるのが難点だけど(←わりと問題だと思うが当面は気にしない方向)。
そんなわけで、雛形は移行できた。プルリクという形で作業内容が残るのは良いな。引き続き既存アプリを移行していこう。
なお、jQueryは主にAjaxのために使ってるけど、これは代替品を探さないと(axios?)。jQueryプラグインへの依存も徐々に減らして自前で実装するかね(Reactだとそれも簡単そう)。
残るはテストとUIだけど、それはおいおい。UI方面はBootstrapはもうやめて、Material DesignとCSS3使って自力でやった方がいい気がしてる。
*1 錯覚かも知れない(笑)。
2016-05-14(土) [長年日記]
■ 川崎 3-1 神戸@等々力陸上競技場
今日勝てば、(浦和の結果しだいで)暫定1位になる大事な試合なんだけど、その前座にブラジルから3人(アウグスト、ジュニーニョ、ジェシ)も呼んでの20周年のOB戦があって、どっちかつーとそっちの方がメインイベントではないかという。10周年のときも同じようなこと書いてるな(笑)。
懐かしい服装をしようということで、懐かしの「みんなでJ1」ビブスを着用。写ってないけどタオルマフラーはまだJリーグが牧歌的だった時代の「川崎代表」バージョン。
試合はジュニのゴールやアウグストのコーナーキックからのゴールなど、なかなか見どころの多い楽しいものだった。松本育夫監督率いるチームの名前が「誰かに合わせてくるぞ」だったりして。やはりこういうお遊びは派手な方が良い。
10周年のときの本番の試合は負けてしまっていたけれど(まだ磐田が強かった時代)、今日の神戸は下位チームだけあってかなり余裕の試合運び。今季、等々力ではじめて勝ち試合を見たよ……。
浦和が引き分けたのでこれで暫定首位。
今日はかみさんの友人2人といっしょに観戦したので、後夜祭はパスしていつもの中華料理屋で祝杯。明るいうちから始めたのに、けっこう遅くまで飲み食いしてしまった。