ゆるふわ技術日誌

エンジニア見習いの悪戦苦闘日記

研究とVuePress #352

GW開け一発目ですね。

研究

やりたいことが見えてきたのでそれを実現する方法について調べていた。

以下自分用メモ。

(ご存知かもしれないが)HTTP/2は1つのTCP接続を使って並列に複数のリクエスト・レスポンスをやりとりすることができる。これにより、HTTP1時代に行われていたリクエスト数を減らす工夫の数々(CSSスプライトとかHTMLに直接画像を埋め込むとか)はあまり意味を成さなくなった。(HTTP1時代は複数のTCP接続を張ることで並列なリクエスト・レスポンスを実現していた。例えば小さな画像の一つ一つに対してリクエストが発生するのでとても無駄が多かった。これを減らすためにリクエストを減らす工夫が行われていたというわけ)

ところがここで問題になるのは、各リクエストごとの優先度。現実問題、帯域や使えるマシンリソースには限界があるので、全てのリクエストを並列に処理すると、ユーザーエクスペリエンスに悪影響を及ぼす可能性がある。それを防ぐためにHTTP/2にはリクエスト(正確にはストリーム)に対して優先度や依存関係をつけてあげることができる。これはクライアントからの提案という形でサーバーに伝えられる。提案なので、サーバーは無視してもいいことになっている。

この優先度や依存関係を最適にしてあげるのが今やりたいことなのだが、できればサーバー側で独自に制御したい…。既存のWebサーバーにはどうやらそのような機能はないっぽくてどうしたものかと悩み中。

HTMLタグに優先度に関する情報を書いてやるPriority Hintsというのも現在提案されているらしいということまでは調べられた。

明日はこの続き。

VuePress

もう去年からずるずる引きずってる研究室のサイト、結局CMS的に記事を更新したりできるとかそんな大そうな機能は求められていなかったのがわかったので、VuePress流行ってるしそれで作っちゃえばええんちゃう?と思って書いてあったHTMLを全部Markdownで書き直してVuePressの諸々の設定を済ませたのがおととい。今日学校に行ったのでボスに見せたら概ねいい感じの評価をもらった。今日はそれに対する修正諸々をやった。以下リポジトリ

github.com

得られた知見がいくつかあったので、その辺はQiitaにでも書こうかと思う。

明日あたり、現行のサイトからお引越しするっぽいので、現行のサイトのAレコードのTTLを短くしてちゃんと設定できているかをdigで確認した。DNS本で学んだことが活きて僕は嬉しい。

問題がなければ明日リリースされます。(ただの静的サイトなのでリリースなんて大それた話ではないが)

雑談

夜はアウトプットに時間を使うといいらしいと読んだのでちょっと頑張ってみた。(とはいえ自分用メモだけど)