Rails 5.1 から入った Encrypted Secrets というのがある。 OAuth の client_secret などパスワード的なやつを暗号化して保存する仕組み。この手のやつはこれまで環境変数などにして dotenv などの機能を使ってそれぞれの環境ごとに .env ファイルを置く、というのがベストプラクティスだったと思うけど、 Encrypted Secrets を使えば秘密情報も暗号化してリポリトリに放りこめるので管理対象が少なくなって便利になる。暗号化するときの鍵は RAILS_MASTER_KEY という環境変数に格納するか、 gitignore した上で config/secrets.yml.key という名前で配置すると Rails がいい感じに読み取ってくれる。

Rails のエコシステムには config (旧 rails_config )という gem もあって、こいつも設定系の情報を入れておく用途によく使う。秘密系の情報と設定系の情報でどちらに値が入っているかを意識するのがめんどい& Rails.application.secrets.foo_bar とか入力するのが長い& Encrypted Secrets は YAML をネストさせられないのがだるいので、 config.gem の config/settings.yml の中で以下のようにしたら便利ではないかと思ってやってみた。

foo:
  bar: <%= Rails.application.secrets.foo_bar %>

呼び出し側の before after はこんな感じ。

Before

bar = Rails.application.secrets.foo_bar

After

bar = Settings.foo.bar

「めっちゃ最高便利じゃん」と思っていたけど、これをやると副作用がでかい。なんと Rails.application.secretsfoo_bar が見つからなくなる! というか Rails.application.secrets がほぼほぼ空になる!!!、!

[3] pry(main)> Rails.application.secrets
=> {:secret_key_base=>"xxx", :secret_token=>nil}

config/settings.yml から Encrypted Secrets を参照しているコードを取り除くと見えるようになる。

結論

というわけで config/settings.yml の中に Rails の Encrypted Secrets を混ぜて使うと危険っぽいです ☢️

Anker 製品には全幅の信頼を寄せているのだけど、購入したイヤフォンが立て続けに 1 年もたずに壊れてしまって安物買いの銭失い感を味わった。

↑で買った Anker のイヤフォン、イヤービースが外れやすくなってていつかなくなるだろうなぁと思ってたけど今日なくなった。 Anker のイヤフォンは二代目で、値段が安いわりに音はまぁまぁ良いから気に入っていた。二代目のやつはアーム式でジョギングでも快適に使えてた。ただ耐久性に難があると思う。先代は micro USB の充電ポート周辺のプラスチックが割れてぶっ壊れたし、イヤーピースも空港で外れてなくなった。イヤーピースは特殊形状なので他の部品を買って取り付けるわけにもいかないのが困る。値段や音質、機能には満足してるんだけど、もうちょい高いやつを買って使った方がよいのかなぁという気がする。

Archive ページにカテゴリごとの記事件数を表示する機能を追加した。

portal shit!.png

API でカテゴリごとの記事件数を返すのではなく、 JavaScript だけで entries.length を数えるようにしている。 React で関連コンポーネントが描画されたあとにいい感じに数える処理をトリガーする方法が分からず、描画完了後 1000msec 以内で 100msec ごとに記事数を数える処理を実行している。あまり賢い実装方法ではないと思うけど、一番記事数が多い 2006 年でも 600msec くらいで Ajax のレスポンスは返ってくるのでまぁ実用上問題はない。

こうして見ると、 2011 年から一切映画についてブログに書いてないことが分かる。さすがに年に一本も映画を見ないということはなくて、年に二、三本は絶対見ていると思う。以前は基本的に映画館で見た映画の感想を書くようにしていたので、映画館に行かなくなった(行けなくなった)せいで映画の記事を書かなくなったんだろうなぁと思う。

自分のブログに機能を追加することでここ数年の生活の傾向が分かるのが面白い。実は昨日、 Sunset Live の記事を書いたのも音楽について全然書いてないことに気づいたからなのであった。

Sunset Live 2017

今年の夏は久々に Sunset Live に行った。福岡に引っ越してくる前の 2010 年の 9 月に行った以来なので 7 年ぶりだった。夫婦で酒を飲みたかったので JR とシャトルバスを乗り継いで行ったが、 10 時半頃に着いた筑前前原駅のバス乗り場は異常な混み具合で、結局会場に着いたのは 12 時過ぎだった。 Sunset Live はやはり早めに家を出て向かわないと厳しい。

Spotify 内で流れる BOSE の CM で知った The fin. という神戸出身のバンド(シューゲイザーっぽい音楽)が目当てで行ったけどいろいろ新たな音楽に触れることができて良かった。

まずそれまで食わず嫌いであまり聞いてなかった Suchmos のライブ演奏を聴くことができたのがよかった。和製 Jamiroquai という話は耳にしていたけど、確かに良いバンドだと思った。

次に PETROLZ の音楽を聞くことができたのがよかった。惜しむらくは PETROLZ の演奏中、絶賛夫婦げんか中でステージの正面で聞くことができず、メインステージの裏手の土手に体育座りをして聞いていた。反芻する度にだんだん良さがこみ上げてきて、 Sunset Live 後一ヶ月間くらいはずっと PETROLZ の Fuel を聞いてた。 PETROLZ にはすっかりハマってしまって来週福岡であるライブに行きたいと思ったが、すでにチケットは売り切れでチケットキャンプでは ¥27800/枚 😱 。貴重なライブ演奏をステージ裏で体育座りして聞いていたことが悔やまれる。

もちろん目当てで行った The fin. の演奏も良かった。あまりお客さんに彼らのことを知っている人が多くはなさそうなのが残念だったが、ライブで幻想的な Night Time を聴くことができて満足だった。