Рубрика «filter»
Локальный прокси-сервер для фильтрации браузерного трафика
2020-03-22 в 20:47, admin, рубрики: filter, mitm, open source, proxy, SSL, TLS, web, Сетевые технологии, СофтХочу рассказать о процессе разработки и поделиться прокси-сервером, которым сам пользуюсь для фильтрации всяческого мусора и других задач, требующих просмотра или вмешательства в браузерный траффик. Возможно, аналогичный функционал уже где-то есть, но мне хотелось сделать конкретно под свои нужды с возможностью real-time дописывания кода под любую сиюминутно понадобившуюся мелочь. Ну и под не-мелочи тоже, но это уже дольше.
Первоначально была задача упростить посещение сайтов через медленное (около 5-10кбайт/с с лагами) подключение. Тут два основных направления: 1) вырезать всё что не нужно (в первую очередь рекламу), и 2) закешировать всё что можно закешировать без особого вреда для функционала посещаемых сайтов, даже когда сами сайты не разрешают кеширование в http-заголовках, а то и явно препятствуют ему, дописывая после урлов статических файлов знак вопроса с рандомным числом.
Немного практики функционального программирования в Swift для начинающих
2019-02-24 в 14:59, admin, рубрики: compactMap, filter, flatmap, map, reduce, swift, swift development, swift разработка, разработка мобильных приложений, разработка под iOS, функциональное программирование
Я хотела бы представить концепцию Функционального Программирования новичкам самым простейшим образом, выделив некоторые его преимущества из множества остальных, которые реально позволят сделать код более читаемым и выразительным. Я подобрала для вас интересные демонстрационные примеры, которые находятся на Playground
в Github.
Функциональное Программирование: Определение
Прежде всего, Функциональное Программирование — это не язык или синтаксис, а скорее всего — способ решения проблем путем разбиения сложных процессов на более простые и последующей их композиции. Как следует из названия "Функциональное программирование", единицей композиции для данного подхода является функция; и цель такой функции — избежать изменения состояния или значений за пределами своей области действия (scope)
.
В Мире Swift
для этого есть все условия, ибо функции здесь являются такими же полноправными участниками процесса программирования, как и объекты, а проблема изменяемости (mutation
) решается на уровне концепции value
ТИПОВ (структур struct
и перечислений enum
), которые помогают управлять изменяемостью (mutation
) и четко сообщают о том, как и когда это может произойти.
Однако Swift
не является в полном смысле языком Функционального программирования, он не принуждает вас к Функциональному программированию, хотя и признает преимущества Функциональных подходов и находит способы встраивания их.
В этой статье мы сфокусируемся на использовании встроенных в Swift
(то есть «из коробки») элементов Функционального программирования и понимании того, как можно их комфортно использовать в вашем приложении.
Читать полностью »
Работа с гетерогенными контейнерами с C++17
2017-07-01 в 17:25, admin, рубрики: apply, c++, c++17, filter, map, modern c++, reduce, ненормальное программированиеПривет! В последнее время много говорят о C++17, особенно с появлением в России национальной рабочей группы по стандартизации. На просторах сети без особых проблем можно найти короткие примеры использования последнего стандарта C++. Всё бы хорошо, но по настоящему обширного перехода на новые стандарты не наблюдается. Поэтому можем наблюдать картину, в которогй любая библиотека, требующая минимум 14 стандарта уже считается modern постфактум.
В данной публикации разработаем небольшую библиотеку (3 функции (apply, filter, reduce) и одна как «домашнее задание» (map) :)) по удобной работе с гетерогенными контейнерами в рантайме (гетерогенность за счёт std::variant из 17 стандарта).
Из нового, помимо новых библиотечных типов, попробуем на вкус fold expressions и совсем немного structured binding
Читать полностью »
Пишем Java Stream API на коленке за пару минут
2017-03-17 в 13:12, admin, рубрики: filter, java, map, spliterator, stream api, генераторы, ленивые вычисления, ПрограммированиеStream API — замечательная вещь быстро завоевавшая популярность у джава программистов. Лаконичные однострочники обрабатывающие коллекции данных посредством цепочек простых операций map, filter, forEach, collect оказались очень удобны. Операции над парами ключ-значение, конечно, тоже не помешали бы, но увы.
В целом примерно понятно как это всё устроено, но все же зачастую ответ на вопрос «А как бы это написал я?» здорово помогает понять внутренние механизмы той или иной технологии. Так получилось, что внезапно для себя я ответил на этот вопрос применительно к Stream API, историей изобретения этого велосипеда и спешу с вами поделиться.
Читать полностью »
Использование фильтров из Box2D в Libgdx
2012-12-25 в 11:40, admin, рубрики: android, box2d, filter, game development, Gamedev, java, libgdx, Разработка под android, метки: android, Box2D, filter, Gamedev, libgdx В прошлой статье рассматривалась работа с ContactListener
. Вот только примеры, которые я использовал, были не совсем верно выбраны. В Box2D есть намного более удобные средства для фильтрации столкновений, а именно – фильтры. О них и напишу в этот раз.
Использование фильтра сервлетов для «всплытия» страницы из фрейма
2012-04-11 в 9:35, admin, рубрики: decorator, filter, Google API, google app engine, java, JSP, Servlet, метки: decorator, filter, google app engine, java, JSP, ServletДобрый день!
В одном проекте мне потребовалось сохранять контакты в Google Contacts. Это несложно — надо только авторизоваться через OAuth в Google и получить ключ доступа. Но дело в том, что при этом делается переход на сайт Google, где собственно происходит авторизация и подтверждение доступа приложения к контактным данным. Я же предполагал делать работу с контактом в iframe, а в целях предотвращения clickjacking'а Google не позволяет этого делать. Стало быть, требуется как-то сделать, чтобы страница OAuth открывалась в главном окне, а не во фрейме. Мой вариант решения — под катом.
Читать полностью »