• 04-04-2020, 23:40:40
    #1
    Arkadaşlar merhaba başlıkta da belirttiğim gibi

    DEFLATE Sıkıştırma algoritması ile ilgili yapmam gereken bir projem var fakat ne Türkçe doküman bulabiliyorum ne de düzgün bir şekilde implementasyonunu bulabiliyorum algoritmanın. Algoritma konusunda bilgi sahibi olan, nasıl çalıştığı hakkında yardımcı olabilecek arkadaşlar iletişime geçerler ise çok memnun olurum.

    Elinizde hazır implementasyonu varsa dil farketmeden inceleyebilirim. Çok yardımcı olur.
  • 04-04-2020, 23:46:03
    #2
    <IfModule mod_deflate.c>  # Compress HTML, CSS, JavaScript, Text, XML and fonts  AddOutputFilterByType DEFLATE application/javascript  AddOutputFilterByType DEFLATE application/rss+xml  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject  AddOutputFilterByType DEFLATE application/x-font  AddOutputFilterByType DEFLATE application/x-font-opentype  AddOutputFilterByType DEFLATE application/x-font-otf  AddOutputFilterByType DEFLATE application/x-font-truetype  AddOutputFilterByType DEFLATE application/x-font-ttf  AddOutputFilterByType DEFLATE application/x-javascript  AddOutputFilterByType DEFLATE application/xhtml+xml  AddOutputFilterByType DEFLATE application/xml  AddOutputFilterByType DEFLATE font/opentype  AddOutputFilterByType DEFLATE font/otf  AddOutputFilterByType DEFLATE font/ttf  AddOutputFilterByType DEFLATE image/svg+xml  AddOutputFilterByType DEFLATE image/x-icon  AddOutputFilterByType DEFLATE text/css  AddOutputFilterByType DEFLATE text/html  AddOutputFilterByType DEFLATE text/javascript  AddOutputFilterByType DEFLATE text/plain  AddOutputFilterByType DEFLATE text/xml  # Remove browser bugs (only needed for really old browsers)  BrowserMatch ^Mozilla/4 gzip-only-text/html  BrowserMatch ^Mozilla/4.0[678] no-gzip  BrowserMatch bMSIE !no-gzip !gzip-only-text/html  Header append Vary User-Agent</IfModule>
    Apache serverlarda .htaccess dosyana bu satırları eklersen DEFLATE sıkıştırması otomatik olarak yukarıdaki dosya tiplerine yapılır, litespeed bunu otomatikman yapıyor diye bir bilgim var.
  • 04-04-2020, 23:50:47
    #3
    arxdelta adlı üyeden alıntı: mesajı görüntüle
    <IfModule mod_deflate.c>  # Compress HTML, CSS, JavaScript, Text, XML and fonts  AddOutputFilterByType DEFLATE application/javascript  AddOutputFilterByType DEFLATE application/rss+xml  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject  AddOutputFilterByType DEFLATE application/x-font  AddOutputFilterByType DEFLATE application/x-font-opentype  AddOutputFilterByType DEFLATE application/x-font-otf  AddOutputFilterByType DEFLATE application/x-font-truetype  AddOutputFilterByType DEFLATE application/x-font-ttf  AddOutputFilterByType DEFLATE application/x-javascript  AddOutputFilterByType DEFLATE application/xhtml+xml  AddOutputFilterByType DEFLATE application/xml  AddOutputFilterByType DEFLATE font/opentype  AddOutputFilterByType DEFLATE font/otf  AddOutputFilterByType DEFLATE font/ttf  AddOutputFilterByType DEFLATE image/svg+xml  AddOutputFilterByType DEFLATE image/x-icon  AddOutputFilterByType DEFLATE text/css  AddOutputFilterByType DEFLATE text/html  AddOutputFilterByType DEFLATE text/javascript  AddOutputFilterByType DEFLATE text/plain  AddOutputFilterByType DEFLATE text/xml  # Remove browser bugs (only needed for really old browsers)  BrowserMatch ^Mozilla/4 gzip-only-text/html  BrowserMatch ^Mozilla/4.0[678] no-gzip  BrowserMatch bMSIE !no-gzip !gzip-only-text/html  Header append Vary User-Agent</IfModule>
    Apache serverlarda .htaccess dosyana bu satırları eklersen DEFLATE sıkıştırması otomatik olarak yukarıdaki dosya tiplerine yapılır, litespeed bunu otomatikman yapıyor diye bir bilgim var.
    Dediğiniz konu ile ilgili tam bilgim yok fakat yapılan işlem aslında benim yapmak istediğim işlem şöyle anlatayım. DEFLATE sıkıştırma algoritması kayıpsız veri sıkıştırmaya yani boyutunu azaltarak sıkıştırıyor. .rar gibi fakat bahsettiğiniz sistem de bunu kullanıyor. Benim ihtiyacım olan şey ise bu algoritmanın nasıl çalıştığı ya da mevcut implementasyonu. C dilinde yazacağım fakat düzgün bir kaynak bulamadım algoritmaya dair. Yine de yorumunuz için teşekkür ederim.
  • 04-04-2020, 23:56:22
    #4
    meftuniberder adlı üyeden alıntı: mesajı görüntüle
    Dediğiniz konu ile ilgili tam bilgim yok fakat yapılan işlem aslında benim yapmak istediğim işlem şöyle anlatayım. DEFLATE sıkıştırma algoritması kayıpsız veri sıkıştırmaya yani boyutunu azaltarak sıkıştırıyor. .rar gibi fakat bahsettiğiniz sistem de bunu kullanıyor. Benim ihtiyacım olan şey ise bu algoritmanın nasıl çalıştığı ya da mevcut implementasyonu. C dilinde yazacağım fakat düzgün bir kaynak bulamadım algoritmaya dair. Yine de yorumunuz için teşekkür ederim.
    Bu işine yarar mı? https://github.com/omnigroup/Apache/.../mod_deflate.c
  • 04-04-2020, 23:57:03
    #5
    LZ77 sıkıştırması yapıyor DEFLATE
    LZ77 İçin:
    https://en.wikipedia.org/wiki/LZ77_and_LZ78
    İnceleyebilirsin
  • 04-04-2020, 23:58:45
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    https://github.com/madler/zlib/blob/master/deflate.c bunada bakabilirsin hocam
  • 05-04-2020, 00:03:35
    #8
    Webmerkezi adlı üyeden alıntı: mesajı görüntüle
    LZ77 sıkıştırması yapıyor DEFLATE
    LZ77 İçin:
    https://en.wikipedia.org/wiki/LZ77_and_LZ78
    İnceleyebilirsin
    Dediğiniz bir noktada doğru fakat sadece LZ77 değil Huffman ağacı da kullanılıyor. Araştırmalarıma göre veriler blok şeklinde tutluyor ilk kısımda sıkıştırılmış (LZ77 Kullanılarak), bloğun ikinci kısmında ise Huffman Ağacı tutluyor ama işte bu bloklar neye göre ayrılıyor neye göre sınıflandırılıyor, birleştiriliyor bulamadım.



    Vindicta adlı üyeden alıntı: mesajı görüntüle
    Bunu bulmuştum fakat tam inceleyemedim bir göz gezdirmiştim 2163 satır olması ve biraz komplike olması göz korkutuyor

    Çok teşekkürler hocam.