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に問題があるようです。カテゴリにリンク出しすぎたくないので、閾値に満たないものはリンクの文字列を削除していました。
これはそのうち対応しよう。

ミラノダービー観戦方法 その2(チケット購入)

先日に続いてチケットの購入についてです。
公式ホームページにて購入できるようなのですが、いつ発表されるか不明だったのと(今回は試合の約1ヶ月くらい前ぐらいに発表されたような気がします。)、昨年のderbyは完売だったため、今回は代理店を利用することにしました。

代理店購入のメリット

ググれば複数購入サイトがありますが、以下のようなメリットから今回は StubHub を利用しました。

1. Eチケットで発券してくれる

ホテルに郵送とかリスクでしかないので、Eチケットは大前提。

2. 日本語サポートあり

レスポンスも早く、とても良かったです。
ついうっかり、英語で質問投げたりしてしまってたのですが、日本語でコミュニケーションできるスタッフがいるのでとても安心です。
実際日本語で問い合わせしてみましたが、google翻訳などではなくしっかりした回答をすぐ得られて、安心・満足感は高いです。

3. 保証がしっかりしている

安くはないので、何かあっても購入代金の保証はしてくれるのは心強いです。
よくある質問(買い手編) | StubHub Japan (スタブハブ)

代理店を使ってみて

手数料は 30€ ほどでした。税金は別途 6€。
問い合わせの回答などのレスポンスも非常に早く、トータルとしてはとても満足しています。
入手困難になりそうなチケットには、今後も利用しても良いかと思っています。

代理店のデメリット

前回にも書きましたが、実は間違ってTesseraが必要なチケットを購入したのですが、ではチケットの購入キャンセルはできません。
代わりに出品者として、チケットの出品は可能です。
(一旦出品もやってはみたのですが、Tesseraを含めた段取りが不明だったので、今回は大人しくTesseraを購入するという判断をしました。)

座席は悩みどころ

f:id:rochefort:20190929211520j:plain
san-siro

ミランホームだったので、クルヴァ以外はミランファンが多いのでとても悩んだのですが、試合をしっかり見たかったので今回は2階中央席にしました。
 
サン・シーロは巨大なので、通常の2階が3階ぐらいの印象でした。
もうちょっと近くで見たかったというのが本音なので、1階ゴール裏とか、コーナー付近は応援もしやすそうで良さげでした。コレオや試合をしっかり見ようとすると中央が良いし、中々悩ましい。
1階中央は、やはり料金が格段に上がるのでビッグマッチは厳しいですね。

公式サイトで買う

StubHub で購入後、一応確認しておこうと思ってちょいちょい見ていたのですが、シーズンチケット保有者、CUORE ROSSONERO(ファンカード)保有者、一般の順でチケット購入できるようでした。
一般販売時点でも、1階中央以外は、残席はチラホラありそうでした。次行くことがあれば、officialで買ってみようかと思います。
(チケットの値段も私が購入した席は、の購入金額(手数料除く)とそれほど変わらずの値段のようだったので、ラッキーだったかもしれません。)

See Also

ミラノダービー観戦方法 その1(Tessera: CUORE ROSSONERO)

死ぬまでにやりたいことの一つだった、インテルの試合を観に行くということを先日達成してきました。しかもミラノダービー
スタジアムの雰囲気・環境は素晴らしく、試合もインテルが勝利し言うことなしの素晴らしい時間を過ごせました。ミラノという街自体も飛んでもなく素晴らしく、食事もとにかく美味しくとても気に入りました。
 
ここら辺の詳しい話はまたブログに残すかもしれませんが、いつか現地でサッカー観戦したい日本人セリエファンのために、チケット購入にまつわる話を書いて行きたいと思います。

Tessera(Fan card)について

f:id:rochefort:20190929185420j:plain

概要

座席にもよりますが、Tessera(フィディリティカード)などと呼ばれる、いわゆるファンクラブカードが必要になることがあります。購入時、入場時に必要となるので事前入手必須です。

Tessera del Tifosoとは | StubHub Japan (スタブハブ) https://www.stubhub.jp/information/italian_football

CUORE ROSSONERO について

今回のミラノダービーの場合、ミラン側がホームでしたので、 CUORE ROSSONERO というミランのカードが必要でした。
 
Cuore rossonero: la tessera del tifoso milan | AC Milan
https://www.acmilan.com/it/biglietteria/cuore-rossonero
 
カードは20€、日本への送料は13€でした。
 
CUORE ROSSONEROは他にも、以下の特典があるので、スケジュールに余裕がある人は購入しておくと良いかと思います。

  • 一般発売前の先行予約特典(シーズンチケット購入者よりは後になります)
  • shopの割引(10%)
  • サン・シーロミュージアム割引(18€ → 12€)

私はこのカードを持っていないのに、このカードが必要な席をうっかり代理店で購入してしまったため、今回日本から申し込みを行いました。
 
あと、サン・シーロミュージアムは、ロッカールームとスタジアム見学ができるので、かなりオススメです。ガイド付きのツアーとかほぼぼったくり金額ですし、言葉はいらないので、余裕があれば(おそらく試合当日は見れないかもしれないので)寄ってみるのがオススメです。

CUORE ROSSONERO の購入方法

0.事前準備

以下の写真が必要になります。

  • カード裏の顔写真。証明写真のようなイメージ。:正方形
  • 身分証明書(表):横長長方形
  • 身分証明書(裏):横長長方形
  • 身分証明書を持った本人の写真:横長長方形

身分証明書は海外からの場合は、パスポートになるかと思います。裏の写真は特にないのですが、入力必須となっていたのでとりあえずパスポートの表紙を添付しておきました。

1.公式サイトから
https://www.acmilan.com/it/biglietteria/cuore-rossonero
「ACUISTA ORA(今すぐ購入)」ボタンを押下
 
「Cuore Rossonero card」ページへ遷移するので
「NUOVA TESSERA」ボタンを押下
 
2. 申し込みページ(要注意)
氏名、生年月日、国籍、電話番号、パスポート情報などを入力します。
入力内容は、google翻訳 を使ってもらえば割とすんなり行くとは思いますが、落とし穴 があるので要注意。
 
この申し込みページの作りがどうなっているのか不明なのですが、 なんと次へボタンを押すとなぜか日にちが1日減ってしまいます(確認画面で気づく)!! なので、全ての日付に+1日をして登録しました。 おそらくですが、時差の考慮が正しくできていない気がするので、もしかすると日本時間のお昼とかにやると日にちがずれる問題が発生しないかもしれません。 必ず確認画面で入力内容の確認を行ったほうが良いかと思います。
 
以下、補足。
国籍は補完が聞きますが、JAPNではなく「GIAPPONE」です。
「Città」は都市名が補完されるので、都道府県ではなく都市名を入れておきました。
「Civico」は番地。「CAP」は郵便番号。
 
3. カード情報入力
後はカード番号入れてお支払いすればok。

COSTO DELLA TESSERA: 20,00 €
COSTO COMMISSIONI: 0,00 €
COSTO SPEDIZIONE: 13,00 €

(合計)
COSTO TOTALE DELLA TESSERA: 33,00 €

完了メール

支払い完了後数時間すると、番号が記載されたメールが送信され、 個人情報の承認後にカードの郵送を行ってくれる旨が記載されています。
この番号があれば、チケットの購入などは可能となります。
 
翌日ぐらいに、個人情報が承認されカードがActivationされたというメールが届きます。
ググると昔は郵送で届いた後にwebでActivationする必要があったらしいですが、現時点では不要です。)

カードの郵送

8/8に申し込みをして、結果9/17に届きました。
他では2週間ぐらいで届いたなどの記事を目にしたのですが、ダービー前でバタバタしていたのか時間がかかりました。
 
代理店を通してチケットの購入をしたのですが、チケットの発券に伴い代理店からこの番号を求められたのが9/13でした。
その後9/14にDHLから配達予定日のSMSが届いたので、慌てて発送してくれたのかもしれません。

カードが届かない場合どうするか

今回出発2日前に届いたので、ギリギリ間に合ったのですが、カードが届かない可能性もありました。
チケットの代理店に確認したところ、入場時にカードは必要なので事前にサン・シーロのチケットカウンターで仮のものを発行してくれるそうです。
(が、当日は人でごった返してるので難しいかもしれません。また、前日にスタジアムに行ったのですが、チケットカウンターらしきものがどこにあるかよく分からなかったです。)
 
後余談ですが、Officialの問い合わせは基本的には電話なので結構ハードル高いかもしれません。(おそらく英語は通じる。)
一応メールアドレスも色々調べると出てきたので問い合わせしてみたのですが、返信はありませんでした。

See Also