タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? きっかけ ブロックチェーン、ディープラーニング、ワンピース、等々。。流行語を「わかった風」に語るも、コアな技術を理解してない。そんな、中身空っぽな自分。 ワンピースに至っては、何回読み返してもリュウグウ王国辺りでストーリーをロスト。 そんな自分に嫌気がさし、一年勃起一念発起してDeflate圧縮を勉強。RFC1951(Deflateの定義)を見ても1ミリもわからなかった、私の奮闘をお納めください。 やりたいこと Deflate圧縮のアルゴリズムを理解したい。 なぜって?意味はない。なんでもいいから理解したかった。 Deflate圧縮とは
本記事では以下の 2 種類の方法を書きます: Compression Streams API を用いる方法 ライブラリ pako を用いる方法 1. 予備知識 1.1. Deflate 圧縮のデータ形式について Deflate 圧縮のデータ形式は複数あり、主に以下のものが使用されています: 生の deflate 形式 (RFC 1951) zlib 形式 (RFC 1950) 生の deflate 形式のデータにヘッダとフッタを付け加えた形式 ※単に「deflate 形式」と言う場合は「生の deflate 形式」でなく「zlib 形式」を指す場合があるため注意 gzip 形式 (RFC 1952) 生の deflate 形式のデータにヘッダとフッタを付け加えた形式 参考「RFC 1950: ZLIB Compressed Data Format Specification version
※1: gzipの圧縮率はテキストで概ね3:1~4:1(元サイズの25~35%)程度です。※2: Brotliはレベルによって大きく異なり、高圧縮レベルでは極端に遅くなります。低~中レベル(~5程度)ではgzipより少し遅い程度です。※3: Zstdの圧縮率はレベルにより可変です。低レベルではgzip相当、高レベルではBrotliに迫ります。 上記の比較から、各アルゴリズムの特性をまとめると次のようになります。 圧縮率: BrotliとLZMAが非常に高い圧縮率を誇り、テキストを大幅に小さくできます。ZstdもBrotliに匹敵する圧縮率を発揮し得ますが、Brotli最高レベルには僅かに及ばない場合もあります。Deflate(gzip)は中程度の圧縮率で、最新のものに比べるとやや劣ります。LZ4やSnappyは圧縮率が低く、ファイルサイズ削減効果は限定的です(10~30%程度の削減に留まる
こんにちは。 今回は、個人的に地味に待望していた機能が実装されたので、そのご紹介となります。 ネイティブの圧縮伸張 Compression Streams API - MDN 昨今のHTTP通信は、帯域や読込時間を削減するために何らかの圧縮処理がほぼ必ず施されています。 そして、それらの圧縮処理は実行エンジン内部で自動的に行われているため、ふだん私たちがJavaScriptでHTTP通信するときは意識する必要もありません。 しいて言えば Accept-Encoding ヘッダでどのアルゴリズムが使用されているか、垣間を見ることができるくらいです。 最近のJavaScriptは他の言語と遜色ないほど高速で汎用になり、バイナリ操作や計算をする機会も増えてきました。 私も「汎用ランタイム環境としてのChromium系」というかたちでウェブアプリを作成しています。 その過程で、やはりデータを圧縮し
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く