Как стать автором
Обновить

Ускоряем wordpress

WordPress *
Привет.
Думаю, среди читателей хабра найдется немало тех, кто имеет stand-alone blog на движке wordpress.

Так вот, для вас, дорогие мои, у меня есть две новости, как водится, плохая и хорошая.
Плохая состоит в том, что wordpress — довольно-таки тормознутая штука.
Виноваты в этом в основном криворукие производители тем и, особенно, криворукие производители плагинов. Особенно кривой плагин, на мой вкус, wp-ajax-edit-comments, который является образцом быдлокодинга.

Хорошая — в том, что это можно поправить.

Делается это примерно так:
Всего голосов 63: ↑52 и ↓11 +41
Просмотры 10K
Комментарии 35

Разгони свой сайт – автоматическая СКЛЕЙКА + GZIP

Разработка веб-сайтов *
Разгонись

Есть куча советов как убыстрить отдачу сайта – это и статика через nginx и кластеризация и куча еще всяческих хитрых технологий. Однако во всех книжках, советующих как можно повысить загрузку сайтов можно найти две постоянно повторяющиеся темы – «склеивание CSS/JS» и «включение сжатия».
Читать дальше →
Всего голосов 80: ↑60 и ↓20 +40
Просмотры 15K
Комментарии 85

Новый алгоритм Zopfli улучшает сжатие zlib на 3-8%

Разработка веб-сайтов *Алгоритмы *
Один из сотрудников Google в свободное время разработал новый алгоритм сжатия Zopfli, который на 3,7-8,3% эффективнее, чем стандартная библиотека zlib на максимальном уровне сжатия. Изначально алгоритм создавался для формата сжатия без потерь WebP, но его можно применять и для другого контента.

Новый алгоритм является реализацией стандартных алгоритмов Deflate, поэтому он совместим с zlib и gzip, а разархивирование данных уже поддерживается всеми браузерами. Достаточно подключить Zopfli на сервере. Например, его можно использовать с веб-сервером Nginx без изменений в модуле gzip, просто указав новый «прекомпрессор».

Правда, сжатие с помощью Zopfli требует примерно в 100 раз больше ресурсов, чем gzip, зато декомпрессия в браузере осуществляется с той же скоростью.
Читать дальше →
Всего голосов 62: ↑59 и ↓3 +56
Просмотры 21K
Комментарии 42

Сжатие данных при передаче от браузера к серверу

Ajax *JavaScript *
Туториал
Обрабатываете много данных в браузере?
Хотите отправлять их обратно на сервер?
Да так, чтобы отправлялось побыстрее и помещалось в один http запрос?

В статье я покажу как мы решили эту задачу в новом проекте, используя сжатие и современные возможности javascript.

Читать дальше →
Всего голосов 68: ↑64 и ↓4 +60
Просмотры 37K
Комментарии 37

Как работает сжатие GZIP

Разработка веб-сайтов *Алгоритмы *
Из песочницы
imageВ жизни каждого мужчины наступает момент, когда трафик растёт и сервак умирает необходимо задуматься об оптимизации. В последнем дайджесте PHP (№ 40) была упомянута ссылкой статья «How GZIP Compression Works». Исходя из статистики, 56% веб-сайтов используют GZIP. Я надеюсь, эта статья раскроет перед читателем достоинства этой технологии.
Читать дальше →
Всего голосов 64: ↑53 и ↓11 +42
Просмотры 158K
Комментарии 15

Высокопроизводительное сжатие DEFLATE с оптимизацией для геномных наборов данных

Блог компании Intel Разработка веб-сайтов *Программирование *C++ *
Перевод


igzip — высокопроизводительная библиотека для выполнения сжатия gzip или DEFLATE. Она была изначально описана в статье Высокопроизводительное сжатие DEFLATE для процессоров с архитектурой Intel. В этой статье описывается связанный выпуск исходного кода, содержащий необязательные (во время сборки) оптимизации для повышения степени сжатия геномных наборов данных в форматах BAM и SAM. igzip работает примерно в 4 раза быстрее, чем Zlib при настройке на максимальную скорость, и с примерно такой же степенью сжатия для геномных данных. Мы считаем, что igzip можно схожим образом оптимизировать для других областей применения, где наборы данных отличаются от обычных текстовых данных.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 8.5K
Комментарии 2

Алгоритм Deflate на примере формата PNG

Алгоритмы *
Из песочницы


В рамках очередной лабораторной работы мы с коллегами столкнулись с задачей разбора шестнадцатеричного дампа файла PNG. По стандарту RFC 2083 формат PNG хранит пиксельные данные, сжатые алгоритмом Deflate. Поэтому при разборе дампа нам потребовалось распаковывать сжатые данные алгоритмом Inflate.
Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Просмотры 27K
Комментарии 2

С 13 февраля Gmail будет фильтровать вложения в формате .js

Информационная безопасность *

Вложения .js стали самым популярным способом распространения криптовымогателей в 2016 году. Статистика: Proofpoint

Gmail запрещает передавать с почтой вложения в следующих форматах: ADE, ADP, BAT, CHM, CMD, COM, CPL, EXE, HTA, INS, ISP, JAR, JSE, LIB, LNK, MDE, MSC, MSP, MST, PIF, SCR, SCT, SHB, SYS, VB, VBE, VBS, VXD, WSC, WSF, WSH. Вчера в официальном блоге G Suite опубликовано сообщение, что с 13 февраля 2017 года список запрещённых форматов файлов для передачи через Gmail пополнит формат .js (JavaScript).

Дело в том, что в операционной системе Windows такие файлы по умолчанию запускаются на исполнение с помощью системного компонента Windows Script Host, так что можно внедрить в .js бинарник с криптовымогателем — и отправить его пользователям под Windows. За пределами браузера Windows Script Host позволяет сохранять файлы и запускать их на исполнение, устанавливать сетевые соединения с любым сервером, запрашивать веб-контент.
Читать дальше →
Всего голосов 19: ↑19 и ↓0 +19
Просмотры 9.1K
Комментарии 38

Файл 420 байт разжимается в картинку PNG на 40 гигапикселей (141 ГБ ОЗУ)

Демосцена
В старые времена были популярны zip-бомбы и рекурсивные архивы, которые распаковываются сами в себя. Zip-бомбу иногда можно использовать для DoS-атаки. Например, пресловутый файл 42.zip имеет размер 42 килобайта. Если начать его распаковку, то процесс будет идти до тех пор, пока набор данных не достигнет верхнего предела распаковки в 4,3 гигабайта. При этом процесс займет более 4,5 петабайт в оперативной памяти (4 503 599 626 321 920 байт).

Программист и хакер Дэвид Фифилд (David Fifield) задумался, где ещё можно применить «архивные бомбы». Сразу на ум приходит графический формат PNG, в котором используется алгоритм сжатия DEFLATE в библиотеке zlib.
Читать дальше →
Всего голосов 35: ↑30 и ↓5 +25
Просмотры 13K
Комментарии 13

Ещё лучшая ZIP-бомба

Информационная безопасность *Open source *Софт
Перевод
В статье показано, как создать нерекурсивную zip-бомбу, которая обеспечивает высокую степень сжатия путём перекрытия файлов внутри zip-контейнера. «Нерекурсивная» означает, что она не зависит от рекурсивной распаковки декомпрессорами файлов, вложенных в zip-архивы: здесь всего один раунд. Выходной размер увеличивается квадратично от входного, достигая степени сжатия более 28 миллионов (10 МБ → 281 ТБ) в пределах формата zip. Ещё большее расширение возможно с помощью 64-разрядных расширений. Конструкция использует только наиболее распространённый алгоритм сжатия DEFLATE и совместима с большинством парсеров zip.

  • zbsm.zip 42 kB → 5.5 GB
  • zblg.zip 10 MB → 281 TB
  • zbxl.zip 46 MB → 4.5 PB (Zip64, менее совместима с парсерами)

Исходный код:
git clone https://www.bamsoftware.com/git/zipbomb.git
zipbomb-20190702.zip

Данные и исходники иллюстраций:
git clone https://www.bamsoftware.com/git/zipbomb-paper.git
Читать дальше →
Всего голосов 176: ↑176 и ↓0 +176
Просмотры 112K
Комментарии 53

Моя реализация кольцевого буфера в NOR flash

Алгоритмы *Хранение данных *Сжатие данных *Разработка на Raspberry Pi *
Из песочницы

Предыстория


Есть торговые автоматы собственной разработки. Внутри Raspberry Pi и немного обвязки на отдельной плате. Подключены монетоприёмник, купюроприёмник, банковский терминал… Управляет всем самописная программа. Вся история работы пишется в журнал на флешке (MicroSD), который потом передаётся через интернет (с помощью USB-модема) на сервер, там складывается в БД. Информация о продажах загружается в 1с, также есть простенький веб-интерфейс для мониторинга и т.п.


То есть журнал жизненно необходим — для учёта (там выручка, продажи и т.д.), мониторинга (всевозможные сбои и другие форс-мажорные обстоятельства); это, можно сказать, вся информация, которая у нас об этом автомате.


Проблема


Флешки показывают себя как очень ненадёжные устройства. Они с завидной регулярностью выходят из строя. Это приводит как к простоям автоматов, так и (если по каким-то причинам журнал не мог быть передан онлайн) к потерям данных.


Это уже не первый опыт использования флешек, до этого был другой проект с более, чем сотней устройств, где журнал хранился на USB-флешках, там тоже были проблемы с надёжностью, временами число вышедших из строя за месяц исчислялось десятками. Пробовали разные флешки, в том числе и брендовые на SLC памяти, да некоторые модели надёжнее других, но замена флешек не решила проблему кардинально.

Читать дальше →
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 9.4K
Комментарии 83

Сжимаем изображения без потерь: какой формат выбрать?

Блог компании FirstVDS Обработка изображений *Резервное копирование *Сжатие данных *Софт

Одна из тестовых фотографий, сжатие без потерь на 41%

Для сжатия изображений без потерь принято использовать PNG. Его обычно применяют для логотипов, скриншотов, диаграмм, где есть сплошные области с одинаковым цветом. Такие области сжимаются лучше всего: все lossless-кодеки используют классический RLE, то есть кодирование повторов. В некоторых случаях это обеспечивает даже лучший коэффициент сжатия, чем JPEG. И никаких искажений.

Но PNG не используют для фотографий — файлы слишком большие. Однако сейчас, с появлением кодеков нового поколения, ситуация должна измениться. Фотографии будут кодировать без потерь в файлы меньшего размера, а PNG наконец-то уйдёт на покой (см. результаты тестирования в конце статьи).
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Просмотры 14K
Комментарии 48