2016-10-27

Распределённая система доставки web-контента CacheP2P

Опубликован первый выпуск проекта CacheP2P, в рамках которого развивается распределённая система доставки контента, построенная из клиентских браузеров, которые выполняют роль узлов для отдачи прокэшированных страниц. Исходные тексты проекта распространяютсяпод лицензией MIT.

Для использования CacheP2P достаточно добавить на страницы загрузку предоставляемой проектом JavaScript-библиотеки, которая сформирует сеть для отдачи контента из браузерного кэша посетителей сайта. Каждый новый посетитель становится участником сети, зеркалирует у себя открытые страницы и открывает совместный доступ к прокэшированным страницам для других пользователей, позволяя получить эти страницы без прямого обращения к сайту. Подобная P2P-сеть может использоваться как для обхода блокировок, так и для снижения нагрузки на сервер и сохранения доступа в случае выхода сервера из строя.

2016-10-17

Более 5900 интернет-магазинов поражены вредоносным ПО для перехвата номеров кредитных карт

Исследователь безопасности Willem de Groot опубликовал результаты анализа применения в сети вредоносного JavaScript-кода, нацеленного на перехват содержимого форм ввода для кражи номеров кредитных карт. Исследование показало, что скимминг в сети усиленно набирает обороты - по сравнению с прошлым годом число сайтов, на которых встречается вредоносный JavaScript-код, возросло на 69%. Сканирование представленных в сети 255 тысяч интернет-магазинов позволило выявить 5925 поражённых вредоносным ПО сайтов, которые могут стать источником утечки данных о параметрах кредитных карт клиентов.

2016-10-03

Многопоточность и многопроцессовость на примере php и perl

Речь пойдёт не о  Java
Так же не будет сказано зачем это надо.
Глупый вопрос зачем это для веб проектов - если слово NIO не о чём не говорит и разницу между процессом и потом не видно то в принципе незачем. (дальше можно не читать)

Все неадекватные фантазирующие о многопотомном php -> сюда!

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

Основные отличия многопоточности и параллельной многозадачности в цене запуска. Ресурс затрачиваемый на запуск процесса (так же называемого воркером) в разы больше ресурса на запуск потока (threads/нить). И это понятно т.к. в одном процессе могут быть запущены несколько потоков.
При этом есть свои нюансы работы с памятью и сборщиками мусора и т.д.

На изучения этого вопроса подтолкнул разговор, в котором один "программист" (два года как то работающий на перле) сказал, что "в Perl многопоточности нет и никогда не было!"
Мне стало интересно сравнить препроцессор html (php) и язык программирования (perl). Сравнивать я буду со своей субъективной стороны -  с серверной части т.к. меня в первую очередь волнует этот момент.
Как то меня смутила фраза отсутствия в perl потоков - потому как при компиляции perl есть флаг "-Dusethreads"
Я не разработчик, и особо не испытываю симпатий к perl. Но результат говорит сам за себя (хотя может на продакшн php себя будет вести по другому?).
Для начала я просто, банально запустил бесконечный цикл на php и на perl
Цикл одинаковый как видно из приведённого кода

Вообще я пытался увидеть один процесс на одном ядре с "трейдовым" скриптом в 600 потоков и обнаружил то что на скрине чисто случайно.
Процесс ловил через (ps)


Запуск происходит в один поток и один процесс
#Perl
for (my $i=0; ; $i++) {
  print "$i\n";
}