Метка «фильтрация»

Недавно у меня появилась необходимость в простом и функциональном диспетчере событий. После непродолжительных поисков на Packagist-е я нашел пакет Evenement, который почти полностью подходил под мои требования. Но все же отбор он не прошел из-за двух параметров:

  • была нужна возможность порождать события по шаблону;
  • интерфейс библиотеки визуально не понравился.

Конечно же, я принял решение доделать и причесать библиотеку «под себя».

Порождение событий по шаблону

Мне нужна была возможность с помощью шаблона порождать нужные события, имена которых представляют собой иерархические ключи (foo.bar.baz).
Например, для такого списка событий:

  • some.event
  • another.event
  • yet.another.event
  • something.new

Нужно породить все события, заканчивающиеся на «event». Или начинающиеся на «yet» и заканчивающиеся на «event», и не важно, что в середине.
Читать полностью »

Много копий было сломано вокруг 149-ФЗ, 187-ФЗ («антипиратский закон»). По мнению интернет-пользователей «все плохо», по мнению чиновников «все замечательно и эффективно работает». Эффективность работы законов пользователи временами ощущают на собственной шкуре, особенно когда по «антипиратскому» закону блокируется вместо одной страницы весь сайт целиком. Кроме интернет-пользователей заложниками сложившейся ситуации оказались интернет-провайдеры. С одной стороны недовольные пользователи, а с другой Роскомнадзор с угрозами штрафов и отзыва лицензий. Кроме Роскомнадзора с реестром запрещенных сайтов, на интернет-провайдеров еще валятся решения местных судов, по искам прокуратуры. Как удовлетворить требования федеральных законов, судов и при этом не вызывать негатива пользователей? Ответ простой — начать уже фильтровать по URL. Подробности под хабракатом.Читать полностью »

Введение

Математические модели цифровых сигналов — вектора и матрицы, элементами которых являются числа. Числа могут быть двоичными (бинарный сигнал), десятичными («обычный» сигнал) и так далее. Любой звук, любое изображение и видео могут быть преобразованы в цифровой сигнал1: звук — в вектор, изображение — в матрицу, а видео — в последовательный набор матриц. Поэтому цифровой сигнал — это, можно сказать, универсальный объект для представления информации.

Задача сглаживания — это, по сути, задача фильтрации сигнала от высокочастотных составляющих (попросту говоря, от шума). Поэтому для разработанного алгоритма сглаживания в первую очередь необходимо определить как сильно ослабляются разные частотные составляющие. Другими словами, необходимо построить амплитудно-частотную характеристику соответствующего фильтра, иначе велика вероятность «нарваться» на артефакты.

Например, при попытке сгладить звуковой сигнал по двум соседним отсчётам весьма вероятно, что в голову придёт формула вроде

       v[i] = (s[i+1] + s[i] + s[i-1])/3. 

Казалось бы, обычное усреднение и мощность шума должна уменьшиться… Да, уровень шума после фильтрации будет меньше, но где гарантия того, что в вышеприведённом алгоритме справедливо следующее утверждение: чем выше частота шума, тем в большей степени он будет ослаблен? Ведь, по логике, немонотонная характеристика (то — убывающая, то — возрастающая) ничем не оправдана… Как построить зависимость ослабления от частоты для конкретного алгоритма? Как подобрать коэффициенты сглаживающего фильтра (в вышеприведённом алгоритме коэффициенты равны по 1/3)? А может быть взять не три слагаемых, а пять? Как найти свой (то есть для конкретной задачи) оптимум?

На эти и некоторые другие вопросы я постараюсь ответить так, чтобы обычный программист смог обосновать свой алгоритм, — надеюсь, не только алгоритм на тему «Сглаживание», так как идеи будут излагаться весьма общие, заставляющие думать самому…
Читать полностью »

В одном из российских регионов скоро начнётся эксперимент: по умолчанию провайдеры и операторы связи начнут предоставлять пользователям доступ только к тем ресурсам, которые одобрила Лига Безопасного Интернета.

image
Читать полностью »

Привет, друзья!

Пишу этот материал с целью обсудить с общественностью сложившуюся ситуацию, а также чтобы услышать мнения и комментарии пользователей относительно тех или иных тезисов. Мое мнение: мы оказались просто неготовы к тому, что у нас что-то всерьез будут фильтровать. А что будет завтра?

1. Попытки «фильтровать» контент будут усиливаться

По мере осознания того, что запретительные меры не очень хорошо работают (даже если не смотреть на то, как многие операторы связи превентивно начинают творить беспредел и банить сайты), станет очевидно, что нужно бороться иначе – нужно анализировать трафик и вычислять не только тех, кто делает доступным противоправный контент, но и тех, кто его потребляет.

Но анализ трафика, по моему мнению, является серьезной проблемой на пути к свободе распространения информации. Особенно в России.

С другой стороны, готовы ли мы сами к тому, что посетители сайтов станут анонимами?

2. На сегодня нет нормальных способов противостоять фильтрации

К сожалению, мне известно только 2 проекта, которые предоставляют более или менее стабильную и пригодную к употреблению систему обхода попыток фильтрации: это Tor и I2P. Но о каждом подробнее.
Читать полностью »

Представляю вам сниппет Jevix для фильтрации и типографирования контента на сайте. Хабровчане с ней прекрасно знакомы, ибо она родом именно отсюда: 0.9 beta, 0.9.5, и 1.0.
Сниппет Jevix для MODX Revolution
Мой сниппет не превносит ничего нового, просто теперь пользователи MODX могут парой кликов установить и настроить Jevix у себя на сайте.
Читать полностью »

Материал предназначен в основном для начинающих веб-программистов.

Введение.

Часто ко мне обращаются клиенты, у которых установлены самописные CMS или модули, написанные начинающими веб-программистами, которые не понимают, что нужно для защиты данных и зачастую копируют функции фильтрации, не задумываясь о том как они работают и что именно нужно с ними делать.

Здесь я постараюсь описать как можно подробнее частые ошибки при фильтрации данных в PHP скрипте и дать простые советы как правильно выполнить фильтрацию данных.

В сети много статей по поводу фильтрации данных, но они как правильно не полные и без подробные примеров.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js