タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
きっかけ ブロックチェーン、ディープラーニング、ワンピース、等々。。流行語を「わかった風」に語るも、コアな技術を理解してない。そんな、中身空っぽな自分。 ワンピースに至っては、何回読み返してもリュウグウ王国辺りでストーリーをロスト。 そんな自分に嫌気がさし、一年勃起一念発起してDeflate圧縮を勉強。RFC1951(Deflateの定義)を見ても1ミリもわからなかった、私の奮闘をお納めください。 やりたいこと Deflate圧縮のアルゴリズムを理解したい。 なぜって?意味はない。なんでもいいから理解したかった。 Deflate圧縮とは PNG画像やPDFのデータ圧縮に使われている圧縮方法。Unix,Linux系でよく使われるgzipにも使われる。 Deflate圧縮に使われている技術 LZSS ハフマン符合 ランレングス符合 まずは、これらを順にくどくどと説明していく LZSS圧縮 一度
Wikipedia: https://ja.wikipedia.org/wiki/Deflate Deflate(デフレート)とはLZ77とハフマン符号化を組み合わせた可逆データ圧縮アルゴリズム。 deflate = 圧縮アルゴリズム(LZ77 + ハフマン符号) Golangのパッケージ: https://golang.org/pkg/compress/flate/ Wikipedia: https://ja.wikipedia.org/wiki/Zlib zlibは、データの圧縮および伸張を行うためのフリーのライブラリである。 ヘッダーやフッターなどのデータ形式はRFC 1950 (ZLIB Compressed Data Format Specification)として仕様化されている。 zlib = 圧縮ライブラリ名 兼 ヘッダ/フッタフォーマットの定義 圧縮アルゴリズムは def
コードゴルフを知っていますか?僕は知っています。できるだけ少ない文字数でコードを書く競技です。 この度、AGC047 Eに提出された171 Bytesのコードが物議を醸しているので、コードの圧縮について解説しようと思います。 コードを圧縮する コードを圧縮すると、コードが短くなります、たぶん。ご存知のように、コードゴルファーは1文字1バイト減らすことに心血を注ぎ込んでいますから、圧縮すると短くなるなら圧縮しない手はないでしょう。 では、次のコードを見てください。これは圧縮されたコードの例です。 #!ruby -Knrzlib eval Zlib.inflate'x�=�Q � D��OS�c ]r� �����ݳ�By� ����O{4�.��i�aQ(`}cB���I2e�ߣ��IeT�јL>������)u,�p�S�W��H~.�,�: z:Ӊ��g�O7ʲ��vQ�1h�^<���
はじめに この記事は Recruit Engineers Advent Calendar 2019 の10日目です。2019年10月に開催されたSECCON 2019 Online CTFの"Tanuki"という問題が面白かったので、その出題内容と解法をご紹介します。 Deflateという圧縮アルゴリズムに関する問題なのですが、解くためには圧縮ファイルを展開するプログラムを改造する必要があり、ちゃんとDeflateのアルゴリズムについて勉強しないと解けない内容となっています。 Deflateはzipやpngなど様々な所で使われているアルゴリズムですし、知っておくと役に立つこともあると思います。この記事ではDeflateの展開アルゴリズムについて知らない人が大体のイメージが掴めるようになる程度にアルゴリズムの解説をしつつ解いていきたいと考えています。 はじめに Tanuki (misc, 4
こんにちは。 今回は、個人的に地味に待望していた機能が実装されたので、そのご紹介となります。 ネイティブの圧縮伸張 Compression Streams API - MDN 昨今のHTTP通信は、帯域や読込時間を削減するために何らかの圧縮処理がほぼ必ず施されています。 そして、それらの圧縮処理は実行エンジン内部で自動的に行われているため、ふだん私たちがJavaScriptでHTTP通信するときは意識する必要もありません。 しいて言えば Accept-Encoding ヘッダでどのアルゴリズムが使用されているか、垣間を見ることができるくらいです。 最近のJavaScriptは他の言語と遜色ないほど高速で汎用になり、バイナリ操作や計算をする機会も増えてきました。 私も「汎用ランタイム環境としてのChromium系」というかたちでウェブアプリを作成しています。 その過程で、やはりデータを圧縮し
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く