タグ

zlibに関するy-imayaのブックマーク (12)

  • SWFバイナリ編集のススメ番外編 (zlib 伸張) 中編 | GREE Engineering

    よやと申します。こんにちわ。 今回は zlib 解説の中編です。前編はこちら ↓ http://labs.gree.jp/blog/2012/01/4082/ SWFバイナリ編集のススメ番外編 (zlib 伸張) 前編 前回、zlib ヘッダのバイナリを解説しました。今回はその後ろに続く Deflateストリームのバイナリ構造についてです。 尚、固定ハフマンまでの説明で長くなり過ぎたので、動的ハフマン(カスタムハフマン)は次回の後編で改めて解説いたします。 前回の復習 zlib は「zlib ヘッダ + Deflate ストリーム + ADLER32」のデータ形式です。尚、通常、zlib ヘッダ無しでも Deflate ストリームだけで圧縮元のデータを復元出来ます。(DICTID が存在すると話が少し厄介ですが、通常見かける事はないでしょう) Deflate はデータを任意の長さのブロック

    SWFバイナリ編集のススメ番外編 (zlib 伸張) 中編 | GREE Engineering
  • サイボウズOfficeでZipファイル生成を実現するまで - Cybozu Inside Out | サイボウズエンジニアのブログ

    こんにちは。サイボウズ Officeの開発を担当しています、佐野です。 みなさんよくご存知のZipファイル。ユーザーとして展開や圧縮の方法はよくわかっていても、プログラムとしてどうやって作られているのかを知る人はそう多くないと思います。今回は、この「どうやって」について開発経験をもとにお話します。具体的には、弊社がクラウドサービスとして提供しているサイボウズ Office on cybozu.comでの実現の過程を取り上げます。 今回扱う内容は広範囲に渡っていて、設計、実装、パフォーマンスチューニングなどに触れます。開発当初の期待とは裏腹に一筋縄ではいきませんでした。実際のソフトウェア開発ではよくあることですね。その点についても後ほど詳しく紹介します(実はここが一番面白い所です)。内容は全般的にプログラマー向けですが、プログラマーでない方も、開発過程の雰囲気だけでも楽しんでいただければ幸い

    サイボウズOfficeでZipファイル生成を実現するまで - Cybozu Inside Out | サイボウズエンジニアのブログ
  • zlib.js 0.1.6 をリリースしました : document

    5月10 zlib.js 0.1.6 をリリースしました はじめに 日 zlib.js 0.1.6 をリリースしました。ここでは告知とともに 0.1.6 の更新内容などを簡単に説明したいと思います。 なお、今回から Change Log を添付したあるので概要はそちらでも確認できます。 今回のバージョンでは主にビルド環境の整理やテスト・デバッグ効率の向上を行っています。 https://github.com/imaya/zlib.js ビルド環境の更新、最適化 zlib.js は Closure Compiler でビルドしているのですが、今までは minify したコードに余分なコードが含まれている事がありました。 今回の更新では Closure Compiler の更新とその辺りの設定を見直す事で minify したファイルのサイズを縮小しました。 例えば、Inflate だけならば

    y-imaya
    y-imaya 2013/05/10
    リリースしました
  • GitHub - ukyo/zlib-asm

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - ukyo/zlib-asm
    y-imaya
    y-imaya 2013/04/18
    asm.js 対応の zpipe かな?
  • Zopfli を Emscripten をつかって JavaScript に移植しました : document

    3月9 Zopfli を Emscripten をつかって JavaScript に移植しました はじめに Zopfli が公開されてから zlib.js の Deflate 処理と比較したいなーと思っていたので、 Emscripten を使って JavaScript に移植してみました。 Emscripten を使うのは初めてのためいろいろ手間取りましたが、とりあえず動作するようになったのでご報告です。 zopfli.js というわけで、JavaScript に移植したものを以下の場所で公開しています。 もし良ければご利用ください。 使い方は zlib.js と似せています。 https://github.com/imaya/zopfli.js zlib.js を使って簡単なテストも行っていますので使用できないほどのバグはないかと思いますが、何かあればお知らせください。 デモ せっかく移

    y-imaya
    y-imaya 2013/03/09
  • Zopfli を使って PNG の再圧縮を行ってみた : document

    3月1 Zopfli を使って PNG の再圧縮を行ってみた はじめに Google から Deflate 互換の圧縮アルゴリズム実装 Zopfli が公開されました。 「Deflate 互換ってどういうこと?」って方もいると思いますので簡単に説明します。 符号アルゴリズムは同じ(LZSS + Huffman符号) RFC では、 LZSS はこんな感じで Huffman 符号はこんな感じと大体のやり方が書かれている RFC に書かれている方法とは異なる手法でより最適な LZSS + ハフマン符号化を行うのが今回の Zopfli Kflate との比較 PNG の圧縮界隈では、一部で Kflate と呼ばれる Deflate 互換実装が圧縮効率の良いものが知られています。 (この実装は PNGOUT として PNGGauntlet や ImageOptim で使用されている) 今回は Im

    Zopfli を使って PNG の再圧縮を行ってみた : document
    y-imaya
    y-imaya 2013/03/01
    書きました
  • TechCrunch | Startup and Technology News

    When Alex Ewing was a kid growing up in Purcell, Oklahoma, he knew how close he was to home based on which billboards he could see out the car window.…

    TechCrunch | Startup and Technology News
    y-imaya
    y-imaya 2013/03/01
  • zlib.js で PKZIP が扱えるようになりました (0.1.4リリース) : document

    2月10 zlib.js で PKZIP が扱えるようになりました (0.1.4リリース) zlib.js 0.1.4 の変更点 zlib.js 0.1.4 を先ほどリリースしました。 主要な変更点は PKZIP の圧縮、展開サポートです。 ただし、PKZIP で扱える圧縮形式は STORE (無圧縮) と DEFLATE のみとなっています。 また、暗号化は現在未対応です。 https://github.com/imaya/zlib.js PKZIP 使用例 なにか分かりやすい使用例があった方が良いと思ったので作りました。 以下のページでデモを公開しています。 (Google Chrome 推奨) http://imaya.github.com/demo/zip/ 簡単な説明 ファイルを選択したあと Download ボタンをクリックすると、Web Worker 上で選択した各ファイルの

    y-imaya
    y-imaya 2013/02/10
    書きました
  • Adam Langley「CRIME attackの件」 - 以下斜め読んだ内容

    ImperialViolet 2012.9.21のエントリ ImperialViolet - CRIME CRIME attackについて 現時点での対応 fxと若干違う対応してる点 今後のchromeでの対応プラン をchromeチームのエンジニアがざっくり書いてる spdy/4で完全対応なんだろうが、それまでのプランの具体的なところを知れてよかった 以下斜め読んだ内容 前から気になってた問題 spdyではsensitiveなデータをzlib使って圧縮するのが安全かどうか 掘り下げて検証する暇がなかった 自分と同じ心配をしてた研究者が他にもいた。ありがたい FirefoxチームとChromeチームにDuongとRizzoは事前に教えてくれた chromeチームが今回作ったパッチの話 その前にspdyがヘッダを圧縮する仕組みをおさらい zlibのやってることは一言でいうと このリテラルバイ

    Adam Langley「CRIME attackの件」 - 以下斜め読んだ内容
  • zlib.js 0.1.0 をリリースしました : document

    9月24 zlib.js 0.1.0 をリリースしました はじめに 最近はいろいろなところで使っていただいているのに、いまだに develop ブランチが安定版というのも申し訳ないので zlib.js としては初のリリースとなる 0.1.0 をリリースしました。 使い方など GitHubプロジェクトページをご覧ください。 以前の master ブランチからの変更点など パフォーマンス改善 BusterJS ユニットテスト(一部)の追加 Node.js 対応 GZIP圧縮・伸張対応 ZLIB Inflate のストリーム実装の追加 圧縮時不正な出力が行われることがあるバグを修正 カテゴリなしの他の記事

    y-imaya
    y-imaya 2012/09/24
    リリースしました
  • JavaScript で書かれた ZLIB の伸張速度比較 : document

    8月15 JavaScript で書かれた ZLIB の伸張速度比較 はじめに 最近、Inflate 実装のチューニングを行うことが多かったので、現状でどの程度の速度が出ているか把握するため、他の実装と比較してみました。 比較に使用した ZLIB ライブラリ 今回の比較では、以下のライブラリの存在を確認しています。 uncompress.js に関しては、今回入手できなかったため比較対象からはずしています。 名前 Input Output 名前空間 ライセンス ファイルサイズ pdf.js Uint8Array, Array, ArrayBuffer(*) Uint8Array FlateStream, Stream, DecodeStream, etc... MIT stream.js: 80,349 zlib-js String String ZLIB zlib zlib-inflat

    y-imaya
    y-imaya 2012/08/15
    書きました!
  • SWFバイナリ編集のススメ番外編 (zlib 伸張) 前編 | GREE Engineering

    こんにちは。アプリケーション基盤チームのよやと申します。 バイナリの目利きや書き換えを主な業務フィールドとし、1% でも多くのユーザの皆様にサービスをお届けする為、より良質のバイナリを探し求める毎日です。 SWF の番外編として zlib 伸張について2回のブログに分けて解説します。(圧縮処理は対象外です) 前編の今回は概要についてお話し、具体的な実装は後編で扱う予定です。 はじめに SWF フォーマットは zlib 圧縮を多用します。例えば、GIF/PNG 画像は独自画像形式(DefineBitsLossless の BitmapPixelData)に変換後 zlib 圧縮して格納します。 http://labs.gree.jp/blog/2010/12/1902/ SWFバイナリ編集のススメ第五回 (PNG) SWF バイナリの中の zlib 圧縮されたデータが怪しい場合に、zlib

    SWFバイナリ編集のススメ番外編 (zlib 伸張) 前編 | GREE Engineering
  • 1