人感センサーのLEDライトを買った

クローゼットが暗くて、人感センサーのLEDライトを探していました。
価格も5000円引きぐらいになっていてお得感あります。

結論

すごい良かったです。センサーの反応も丁度良く、結構明るくてとても満足。
 
取り付け方法も両面テープ or ねじ止めと複数ありますが、
取り外して充電するため(まだ1度も充電してないですがusbで充電するタイプです)、
両面テープ方式で利用しています。
接地面が少なくて大丈夫かなという印象があったのですが、今のところしっかり固定できています。さすがM3。

こんな感じ

f:id:rochefort:20191110203651j:plain

Amazonレビューについて

最近は本当にひどいですね。
「センサーライト led」で検索すると、カスタマーレビューは星5なんだけど、微妙に星1 or 2があったりします。
評価の悪いレビューを見ると、買っちゃいけない内容のものだったりするので
最近は悪い評価をまず見るようにしています。
今回の購入もいろいろ迷ったのですが、決め手は「悪い評価がなかったから」です。

Ruby on Rails 6 エンジニア養成読本 読了

最近RubyRailsからは離れていたので、私にはおさらい含めて新しい機能を知れるちょうど良い内容でした。

個人的に良かった点

Rails6新機能

ActionText、Action Mailbox、zeitwerk(詳細ではないですが、触れられています)など概要知れて良いです。 ActionTextはあんまり利用しないかもですが。

Rails 6からのイマドキフロントエンド開発

フロントエンド周りのwebpacker、webpack-dev-server、SprocketsなどRails使う上で学習必須の内容がまとめられています。
Stimulusも数ページ割いて解説してあり、なかなか良さそうな印象。

その他

並列テストが追加されていたり、Active Storageの改善点、Credentialsの説明と経緯、HTTP/2のEarly Hints、Content-Secury-Policy(私はweb serverで対応することが多いですが)などなかなか盛りだくさんで良い内容でした。

Chrome 76(現在77)LighthouseでPerformance計測

Performance計測ツールのLighthouseが同梱されたようです。
本当は前回の76で入ったのですが、前回のnews releaseから漏れていたようなので、77に記載したとのこと。

developers.google.com

簡単に使えます

対象サイト上でAuditタブを選んで Run Audit すれば良いだけ。
対象はこのブログでDesktopで見てみます。
f:id:rochefort:20191012184205p:plain:w300

ちょっと見て見ます

何回かやって見ましたが、実行ごとに若干数値は変わります。
デフォルトの背景は白ですが、右上のメニューボタンから変更できます。
f:id:rochefort:20191012185142p:plain (PWAのところは点数なし)

Performance

Overview

あまり良い数字とは言えません。
f:id:rochefort:20191012190830p:plain

Opportunities / Diagnostics

f:id:rochefort:20191012190929p:plain
それぞれ詳細も見れます。
 
f:id:rochefort:20191012190944p:plain 画像サイズが大きいのでlazy loadingしろとか、jpeg-2000などを使えなどとのこと。
 
JSは、実行時間が大きいようです。Otherにまとめられている部分が大半。個別のJSでは、hatenablog.jsのCPU時間が3sとトップ。この辺は改善の余地がありそうな気がしますが、とりあえず次へ行きます。

Passed audits

ここは優秀。
f:id:rochefort:20191012191336p:plain

Accessbility

そこそこの点数。
f:id:rochefort:20191012191715p:plain

Background and foreground colors do not have a sufficient contrast ratio.

こんな指摘もあるんですね。ここに上げられている指摘内容はもっともなので、対応したいところ。
frame/iframeなんかは広告だろうと思うので難しいかもですが。

Best Practices

f:id:rochefort:20191012192441p:plain

httpsは、こういうところに明示的に指摘しているので、そろそろ対応しないとやばそうですね。
ChromeはMixed Contentsブロックの話もあり、対応しにくいのかもしれませんが、Googleは全てがhttpsになる世界へ導こうとしているのは明確なので、hatenaさんにもどこかで舵を切って欲しいところ。

See Also:
Chromeのどのバージョンでどの対応が入るかまで日本語で書かれていてオススメ。
- グーグル、「Chrome」で混在コンテンツのブロック強化へ - ZDNet Japan
 
document.write()は広告なので厳しいかもしれません。
脆弱性のあるjQueryのversionは上げて欲しいところ。

Links to cross-origin destinations are unsafe
これ知らなかったのですが、target="_blank" を使っている箇所を指摘してくれています。
以下のリンクが詳しいのですが、元のページをwindow.openerオブジェクトとして持つため、元ページの操作ができる脆弱性の可能性があるのと、同一スレッドで動作するためパフォーマンス低下の問題があるとのこと。
対応としては、rel="noopener" を付けておくと別windowからの操作をできなくしてくれるそうです。
(おそらく別プロセス・スレッドで開くようにしているんだと思います。)

See Also:
- HTML 本当は怖い target="_blank" 。rel="noopener" ってなに? - かもメモ
 

あと、error出てるという指摘がありますがgoogleさんの広告のJSですね。

SEO

これはそこそこですね。
f:id:rochefort:20191012194849p:plain

Links do not have descriptive text 1 link found は、私が書いたJSに問題があるようです。カテゴリにリンク出しすぎたくないので、閾値に満たないものはリンクの文字列を削除していました。
これはそのうち対応しよう。