На пути к созданию собственного движка интернет магазина

Автор: admin от 31-08-2017, 17:31, посмотрело: 277

Моя статья не открывает каких-либо технологических новшеств и скорее преследует цель узнать мнения Хабравчан. Возможно ваши соображения помогут остановиться и выбрать правильный путь.

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

Выбор тогда пал на два движка ImageCMS и HostCMS. Сейчас пройден уже достаточно немалый путь, но чем дальше я иду, тем больше сомневаюсь, правильный ли выбираю путь.

Категория: Программирование, Веб-разработка

 

Redis — что быстрее, UNIX-сокет или TCP? Что стабильнее? + pconnect

Автор: admin от 31-08-2017, 17:31, посмотрело: 270

Redis — что быстрее, UNIX-сокет или TCP? Что стабильнее? + pconnect

Мы в PushAll обрабатываем несколько тысяч запросов в секунду для получения статистики доставки и открытия уведомлений и для передачи контента оповещений. Обычная БД вроде MySQL не справляется с таким потоком запросов и не может так быстро отвечать.

Стараясь все больше операций перенести на быстрые NoSQL хранилища вроде Redis, мы хотим знать как эффективнее его использовать и не будет ли у нас проблем с большим количеством соединений.
Также для работы мы используем форки PHP и нам было интересно, а как поведет себя Redis, если мы будем делать несколько тысяч соединений в одновременно в нескольких потоках. Мы решили поделиться с сообществом нашими тестами.

Категория: Программирование

 

Краткий обзор нововведений в Laravel 5.2

Автор: admin от 31-08-2017, 17:31, посмотрело: 710

Краткий обзор нововведений в Laravel 5.2

В самом начале этой недели, в понедельник, состоялся официальный релиз Laravel 5.2.
В новой версии были улучшены такие вещи, как авторизация, «связывание» модели с route и другие.
Более подробно под катом.

Категория: Программирование

 

Symfony2 Voters и Doctrine Filters на страже безопасности

Автор: admin от 31-08-2017, 17:31, посмотрело: 258

Все началось, когда я настраивал систему безопасности одной CRM. Как это часто бывает, в ней были пользователи с разными уровнями доступа к основным данным (назовем их entities). Вид основного грида у них был одинаковый, необходима была гибкость настроек доступа к entities. Сперва я подумал об ACL, но…

Категория: Программирование, Веб-разработка, Информационная безопасность

 

Сравнение скорости исполнения кода Drupal для PHP 5.3-5.6 и 7.0. «Битва оптимизаторов кода» apc vs xcache vs opcache

Автор: admin от 31-08-2017, 17:31, посмотрело: 402

Сравнение скорости исполнения кода Drupal для PHP 5.3-5.6 и 7.0. «Битва оптимизаторов кода» apc vs xcache vs opcache



В продолжение статьи:

Ускорение и оптимизация PHP-сайта. Какие технологии стоит выбирать при настройке сервера под PHP



В отличии от предыдущего материала, в этой статье сделан упор на сравнение скорости отклика и интерпретации кода для различных версий PHP, включая PHP 7 beta3.

Для ранних версий PHP, проведено тестирование между оптимизаторами кода apc, xcache и opcaсhe.
Эта статья не содержит тестов на производительность, таких как нагрузочные тесты ab и siege. Возможно, об этом я напишу в одной из следующих статей.
В данном случае, меня не интересует сколько страниц за секунду способна сгенерировать та или иная версия php-интерпретатора, скорее то, с какой скоростью она сгенерирует мне страницу и с какой задержкой.
В данном случае разница в том, что тесты производительности замеряют отношение скорости интерпретатора к общим ресурсам сервера, а так же подготовленности других связанных компонентов web-системы к работе на повышенных нагрузках.
Остановимся на скорости и отклике. Очевидно что производительность зависит от скорости, но высокая скорость не может гарантировать высокую производительность. Это, возможно, связанно с тем, что недостаточно хорошо настроен web-сервер или база данных, а также с какими-то не было ограничениями, например сетевого стека.
Что бы не заниматься попыткой объять необъятное, мы просто замерим скорость и отклик работы интерпретаторов php, на мощном сервере без нагрузки, с одинаковыми конфигурациями web-сервера, базы данных и операционной системы для всех испытуемых. Используем конфигурацию php-fpm + nginx. База данных MariaDB. Все технические детали скрыты под спойлером ниже.

Категория: Программирование, Системное администрирование, Веб-разработка, Linux

 

Yii 2.0.5 (исправление безопасности)

Автор: admin от 31-08-2017, 17:31, посмотрело: 322

Вышел Yii 2.0.5 исправляющий проблему с безопасностью, найденную в классе yiiwebViewAction. Настоятельно рекомендуется обновиться. Обновление полностью совместимо с 2.0.4, содержит только исправление безопасности и не поломает ваш код.

Уязвимость в ViewAction и заключается в возможности запускать любой PHP файл (или файл с расширением .php) на диске передав относительный путь через параметр view. Так как о проблеме сообщили через публичный трекер, мы исправили её и выпустили обновление немедленно.

Для этой уязвимости мы зарезервировали номер CVE-2015-5467. http://habrahabr.ru/post/262315/#habracut

Категория: Программирование

 

Система управления складом с использованием CQRS и Event Sourcing. Service Layer

Автор: admin от 15-08-2017, 10:10, посмотрело: 95

Система управления складом с использованием CQRS и Event Sourcing. Service Layer


В данной статье будет рассмотрен Service Layer в Magento 2 и сервисы (API интерфейсы) для управления сущностями, которые были описаны в предыдущей статье, посвященной проектированию и выделению доменных сущностей для системы управления складом (Inventory).
->

Категория: Программирование, Веб-разработка

 

PHP-Дайджест № 114 – свежие новости, материалы и инструменты (1 – 14 августа 2017)

Автор: admin от 14-08-2017, 03:25, посмотрело: 80

PHP-Дайджест № 114 – свежие новости, материалы и инструменты (1 – 14 августа 2017)




Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 Beta 2, об истории и безопасности unserialize(), старт PSR HTTP Client, StackOverflow Driven Development, видео с конференций и митапов, и многое другое.

Приятного чтения!


->

Категория: Программирование, Веб-разработка

 

Расчет приоритета комбинаций в техасском холдеме (покере) на PHP

Автор: admin от 13-08-2017, 22:25, посмотрело: 73

В этой статье я расскажу про мой способ расчета приоритета комбинаций в техасском холдеме (покере с 2 карманными картами и 5 общими). Условно разделю статью на 6 частей: Создание массива карт, Расчет Стрита, Расчет Флеша и Стрит Флеша, Расчет Парных комбинаций, Окончательный расчет, Вывод на экран. Код пишу в процедурном стиле.

Цель: получить на выходе программы удобочитаемый результат, доступный для дебаггинга и отладки еще на стадии написания кода. Для достижения поставленной цели делаю разницу между комбинациями в 1e+2 (100) раз.

Примерный вид того, что должно получиться в итоге, где 2 последние карты считаю карманными, а первые 5 общими:

Расчет приоритета комбинаций в техасском холдеме (покере) на PHP

Категория: Программирование

 

Пишем расширения для PHP 7 на C++

Автор: admin от 12-08-2017, 12:20, посмотрело: 87

Мне приходилось писать расширения для того, чтобы воспользоваться функциями C++ библиотек в коде PHP. Ещё, одно тяжёлое расширение портировал с 5й версии на 7ю.



Если загуглить документацию на тему написания расширений для PHP, то, в основном, это будут тексты до 2014 года, актуальные для версии 5. Сам сайт php.net предоставляет обрывчатые и устаревшие сведения, а то, что удаётся найти в их wiki, опять про 5ю версию. Максимум, что удалось найти на офф сайте, это скудный ман по миграции уже написанных расширений.

В итоге, единственным более или менее понятным маном по написанию расширений для меня оказался исходный код PHP, которым я и руководствовался при написании и миграции расширений.
->

Категория: Программирование

 
Назад Вперед