2016-11-29

Ruby on Rails, особенности и преимущества.

После прочтения статьи "В чём особенности и преимущества Ruby on Rails" решил посмотреть насколько отличается статистика год спустя.

Интересные (на мой взгляд) куски из статьи:

Список проектов работающих на Rails:
GitHub Coub DigitalOcean GitLab Redmine CodeClimate docs Docker Freelansim

Когда вам нужен Rails?
  • Вы разрабатываете обычное веб-приложение. Вы ожидаете, что проект будет жить долго. Вам нужно, чтобы инструмент продолжал развиваться и жить, нужна поддержка от сообщества или от какой-нибудь компании, возможность нанять специалиста. В таком случае, Rails - прекрасный выбор. Альтернатив хватает, выбирать есть из чего. Но вы все равно выберете Rails, ведь это по-прежнему модно ;-)
  • Вы предполагаете постоянное изменение требований и функционала, вектора развития проекта. У вас нет постоянной концепции продукта, она меняется и зависит от обратной связи с пользователями. Rails в этом случае отличный выбор.
  • Вам нужно “быстрое прототипирование”. Rails до сих пор хорош для этого. Альтернативы, конечно же, найдутся, но Rails очень хорош и в этом.

2016-11-27

Всё, что вам нужно знать о тех, кто работает с php

Наткнулся на статью о php

Особо забавным мне показались слова  Расмуса Лердорфа создателя php

  • «Я очень очень плохо писал парсеры. Я до сих пор хреново пишу парсеры.»
  • «Есть люди, которые любят программировать. Я их не понимаю.»
  • «Я не настоящий программист. Я просто соединил вместе вещи, которые работали. Настоящий программист бы сказал: „Это работает, но тут утечки памяти на каждом шаге. Нужно пофиксить.“ А я вот просто перезагружаю Apache через каждые 10 запросов

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";
}

2016-09-15

Yandex почта мигрировала с Oracle на PostgreSQL


По информации из доклада Владимира Бородина на конференции Pgcon, компания Яндекс полностью завершила перевод сервиса Яндекс.Почта с СУБД Oracle на PostgreSQL. Решение по уходу с CУБД Oracle было принято в 2012 году. Затем два года проводились эксперименты и летом 2014 года был подготовлен прототип рабочей системы для Яндекс.Почты на основе PostgreSQL, после чего потребовалось около двух лет на его доработку и внедрение. В сентябре 2015 была проведена экспериментальная миграция неактивных пользователей сервиса, затем в январе 2016 стартовал процесс перевода активных пользователей. Полностью переход Яндекс.Почты на PostgreSQL был завершён в июле.

2016-08-05

Настройка lightsquid на FreeBSD и Debian/Ubuntu

Набросал небольшую инструкцию как настроить lightsquid на FreeBSD и Debian/Ubuntu
Точнее не как настроить, а как я настраивал

Это perl скрипты которые анализируют логи прокси сервера squid и строят статистику
Сама инструкция