Возникла задача проведения сплит-тестирования нашего интернет-магазина. Погуглил на эту тему. Нашел пару сервисов, но по тем или иным причинам они нам не подошли.
Читать полностью »
Рубрика «php» - 196
Как я реализовывал А/Б-тестирование на PHP
2013-04-25 в 10:41, admin, рубрики: php, конверсия, тестирование, тестирование сайтов, юзабилити, метки: PHP, конверсия, сплит-тестирование, тестирование сайтов, юзабилитиСоздание графической капчи с выбором лишнего варианта
2013-04-24 в 7:33, admin, рубрики: php, web-разработка, Веб-разработка, капча, метки: PHP, web-разработка, капча
На работе потребовалось решить проблему со спамом, так как старую капчу легко обходили спамботы. Погуглив и не найдя нужных вариантов, решил написать свой, да и давно хотелось, если честно.
И так, суть капчи в том, что пользователю отображается несколько иконок и необходимо выбрать ту, которая логически не вписывается в общий ряд. Думаю в интернете таких вариантов море, но я не нашел (ну если честно не особо то и искал).
Читать полностью »
Chrome Logger — серверсайд логи в консоли хрома
2013-04-23 в 12:47, admin, рубрики: django, google chrome extension, logger, php, Веб-разработка, метки: google chrome extension, logger
Chrome Logger это Google Chrome расширение для отладки серверсайд приложений в консоли хрома.
Большинство языков включают в себя собственные возможность логирования, но иногда удобнее и проще видеть логи прямо в браузере.
Инструкции по применению под инсайд. Читать полностью »
Phalcon 1.1 beta
2013-04-23 в 10:35, admin, рубрики: framework, phalcon, php, разработка, метки: framework, phalcon, PHP
После успешного релиза PHP-фреймворка Phalcon 1.0, команда разработчиков продолжает работать над его развитием. В этой статья я хочу осветить наиболее интересные фичи, представленные в версии 1.1.0 BETA
Получение и подсчет количества репостов VK.COM
2013-04-23 в 7:09, admin, рубрики: api, php, vk api, vk.com, vkonakte, Вконтакте, Вконтакте API, Программирование, метки: api, PHP, vk api, vk.com, vkonakte, vkontakte api, ВконтактеНа днях стояла задача посчитать количество пользователей сайта vk.com, поделившихся определенным постом (т.е. количество репостов). Для этого существует приложение «Вирусоанализатор», но в процессе использования выяснилось, что оно не считает большое количество репостов (от 100 и более). Ползунок доходит почти до конца и на этом останавливается. А т.к. уже был объявлен конкурс на наибольшее количество репостов на определенную запись, то нужна была альтернатива. Которой не оказалось…
Поэтому пришлось обращаться к API Вконтакте и искать как реализовать данную задачу. Сразу скажу, что не пришлось создавать standalone-приложения для этой цели. Все получилось реализовать при помощи методов, не требующих access_token. Ниже представлен список методов API, используемых в данной задаче:
- likes.getList — получение списка пользователей, который нажали «Мне нравится» или «поделились» постом
- users.get — получение информации о пользователях по их uid или коротким именам
- wall.get — получение новостей со страницы пользователя.
Из плюсов данного расчета можно выделить только то, что не нужно создавать приложение для этой цели.
Из минусов (если изучить эти API методы): неудобный поиск нашего репоста у пользователя. Вконтакте разрешает получить методом wall.get максимум 100 новостей. Разумеется данный метод поддерживает параметр offset (смещение по новостям), но все же я ограничился определенным количеством новостей для обработки (500 штук).
Некоторые возникшие проблемы:
Итак, нам нужно было данные о тех пользователях и их постах, которые поделились нашим репостом. Для получения этого списка используется метод API likes.getList, у которого есть параметр filter, принимающий два возможных значения:Читать полностью »
Дайджест интересных новостей и материалов из мира PHP за последние две недели №15 (08.04.2013 — 22.04.2013)
2013-04-22 в 15:17, admin, рубрики: Behat, composer, laravel 4, phalcon, php, phpunit, React, symfony, traits, yii, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки, метки: Behat, composer, laravel 4, phalcon, PHP, phpunit, React, symfony, traits, yii, Веб-разработка, дайджест, новости, подборка, ссылки
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Неочевидные особенности настройки Genemu TinyMCE для Symfony2
2013-04-22 в 3:52, admin, рубрики: php, SonataAdminBundle, symfony, tinymce, метки: SonataAdminBundle, symfony, tinymceGenemuFormBundle — бандл, предоставляющий удобную реализацию некоторых виджетов для Symfony2, в частности, популярного WYSIWYG-редактора TinyMCE. Рассмотрим две типовые задачи: использование TinyMCE в бэкэнде и настройка bb-кодов во фронтенде.
Работа с датами Doctrine 2. Навигация в Symfony 2. И, надеюсь, прочие полезности
2013-04-19 в 3:39, admin, рубрики: doctrine, Doctrine ORM, mysql, php, symfony, навигация, работа с датами, хлебные крошки, метки: doctrine, mysql, PHP, symfony, навигация, работа с датами, хлебные крошкиПриветствую всех! А давайте сделаем топик-шпаргалку по Symfony и Doctrine.
Введение
Я обычный сибирский разработчик, основная задача в жизни захватить мир и сделать людей счастливее. На Symfony сделал несколько проектов. При разработке иногда встречаются задачи, на которые совсем нет информации в интернете, либо очень мало и не совсем понятная. Поэтому и захотелось создать данное обсуждение, где я покажу как решал некоторые свои задачи, а вы, надеюсь, направите меня на путь истинный или присоединитесь и тоже поделитесь своими хаками. Данный топик предназначен для тех людей, которые используют выше упомянутый фреймворк ну или его компоненты. А так же для тех, кто хочет пообщаться по поводу решения тех или иных проблем, поделиться своим опытом с другими разработчиками.
Ближе к делу
Функции работы с датами и Doctrine
Представим себе небольшой личный блог. Нужно вывести навигацию для постов с группировкой по году и месяцу. Очень простая задача. Вы создаете метод в классе BlogRepository, и Читать полностью »
Использование ActiveRecord от Yii в игре тайм менеджере
2013-04-18 в 9:44, admin, рубрики: activerecord, php, yii, Блог компании «Alawar Entertainment», метки: activerecord, PHP, yiiВсем привет!
Сегодня я хочу вам рассказать, как была реализована работа с кэшем в социальное игре тайм менеджере. Можете считать эту статью продолжением вот этой.
Напомню, что в проекте используется php(Yii), mysql и memcached. В проекте достаточно много сущностей, для каждой из которой есть своя модель, которая наследуется от CActiveRecord.
Хранятся файлы моделей следующим образом. В папке models создаем папку base. Когда генерируем модель через Gii, то указываем, что ее нужно положить в папку models/base и к имени класса добавляем Base. Затем создаем в models аналогичный класс без Base, который наследуется от базового класса и имеет в себе лишь метод model().
Кстати заранее скажу, что базовые модели наследуем не от CActiveRecord, а от ExtActiveRecord — расширяем CActiveRecord под наши нужды. Но об этом позже. Пока что разницы никакой.
Пример:
models/base/BaseUser.php — стандартный класс, который генерируется через Gii
models/User.php — класс, который наследуется от BaseUser и имеет в себе метод model()/** * Returns the static model of the specified AR class. * @param string $className active record class name. * @return User the static model class */ public static function model($className=__CLASS__) { return parent::model($className); }
Данная схема используется для того, чтобы в случае повторной генерации файла модели не потерять свой код и просто не забивать пространство стандартными кодом от Yii.
Не забываем добавить в конфиге 'application.models.base.*'.
Перейдем собственно к теме поста и поставим задачи, которые хотим решить:
- Уменьшить количество запросов в базу на обновление
- Уменьшить количество запросов в базу на выборку
Гормональный holywar Админа и Разраба PHP или REMOTE_ADDR vs HTTP_X_FORWARDED_FOR
2013-04-18 в 6:47, admin, рубрики: fpm, nginx, php, proxy, tcp, настройка сервера, Программирование, хостинг, метки: fpm, nginx, PHP, proxy, tcp, настройка сервера, хостинг Давеча был свидетелем одного интересного спора о том как же действительно нужно определять IP адрес конечного пользователя из скриптов PHP.
Собственно, каждое слово сабжа отображает действительную ситуацию. Это был религиозный спор обострённый весенней замечательной погодой, в котором, я считаю, не оказалось правых и не правых, но который побудил меня к мини-исследованию и к моему счастью поставил точку в понимании этого конфессионального но по факту очень простого вопроса.
Для тех, кто как и я сомневался был уверен, что во всём разобрался, но боялся спросить лень было разбираться в мелочах — под кат.
Читать полностью »