30歳からのプログラミング

30歳無職から独学でプログラミングを開始した人間の記録。

2020-10-01から1ヶ月間の記事一覧

requestIdleCallback を使って優先度の低い処理を後回しにする

ブラウザ内部で行われる処理は、基本的にシングルスレッドで行われる。 そのため、処理に時間がかかるタスクがひとつあると、後続のタスクの処理がその分だけ遅れることになる。 この「タスク」には、JavaScript の実行も含まれるし、画面の描画、ユーザーの…

テキストリソースを圧縮してウェブサイトのパフォーマンスを改善する

ウェブサーバが配信するリソースのサイズは、ウェブサイトのパフォーマンスを左右する重要な要素。 画像や動画を最適化するのと同様に、テキストリソースのファイルサイズも削減することで、パフォーマンスによい影響を与える。 圧縮したテキストリソースを…

ブラウザによるキャッシュの仕組み

ウェブサーバは、キャッシュに関する情報をレスポンスヘッダに含めることで、そのレスポンスで返したリソースをどのようにキャッシュすべきかをウェブクライアントに指示することができる。ウェブクライアントはその指示に基づいた処理を行う。 この記事では…

フォーム送信時の HTTP リクエストについて

この記事では、フォーム送信時に実際にどのようなデータが送信されるのか、ファイルを送信するためにはどうすればよいのか、などを Deno や curl で確認しながら見ていく。 動作確認に使った実行環境やツールのバージョンは以下の通り。 Google Chrome 85.0.…

Deno や curl で Cookie を扱う方法

Cookie そのものについての説明は、別途記事を書いているのでそちらを参照。 numb86-tech.hatenablog.com numb86-tech.hatenablog.com 動作確認に使った実行環境やツールのバージョンは以下の通り。 Google Chrome 85.0.4183.121 Deno 1.4.4 curl 7.54.0 Den…

Escodegen でサロゲートペアを扱う

Escodegen は AST からソースコードを生成する npm パッケージ。 互換性のある AST を渡せば自動的にソースコードを生成してくれるのであまり悩むことはないのだが、絵文字などのサロゲートペアを扱うときには注意が必要になる。 Power Assert Deno の開発時…

Power Assert Deno を作った

Deno で Power Assert を利用するためのモジュールを作った。 github.com Power Assert とは、テスト失敗時に詳細な情報を表示する仕組みのこと。 例えば以下のようなテストコードがあるとき、通常はx()とy.zのそれぞれの結果と、それらが一致しないことのみ…