Как и многие россияне, в последнее время я каждый день захожу проголосовать на сайт 10russia.ru. Если кто не в курсе, Россия 10 — всероссийский проект, в рамках которого каждый может проголосовать за свой любимый географический или архитектурный объект в России. Задача проекта – выбор десяти новых визуальных символов России.
Мне показались странными цифры в ТОП2 в голосовании, и я решил посмотреть, как они меняются. Читать полностью »
Рубрика «php» - 179
Следим за голосованием на «Россия 10»
2013-08-30 в 8:35, admin, рубрики: data mining, php, голосование, метки: monitoring, голосованиеСтруктуры данных, PHP. Часть вторая
2013-08-28 в 11:00, admin, рубрики: Dijkstra's algorithm, heap, php, php 5.3, priority queue, война и мир, графы, куча, переводыПродолжаю совмещать приятное с полезным и переводить. Сегодня речь зайдет о кучах (heaps) и графах. Как обычно, материал скорее подойдет новичкам — большая часть информации, если не вся, уже где-то так или иначе освещалась.
В конце прошлой статьи затрагивались деревья, поэтому начнем с кучи, поскольку между кучей и деревьями есть общие корни. Затем перейдем к графам и реализуем алгоритм Дейкстры.
Привет, %username%! Несколько лет назад я познакомился с замечательным фреймворком Yii и с тех пор как только у меня появляется возможность вести проект на нем — я дерусь берусь за нее.
Одной из крутых фич которую я очень люблю, это инструмент Gii, который начиная с версии 1.1.2 входит в состав фреймворка. Сейчас я хочу поговорить сторонних модулях основанных на нем.
Gii «Из коробки» генерирует достаточно функциональный код, часто когда нужно создать мелкую фичу приходится очень мало менять. Но что если нам нужно больше возможностей? К примеру добавить поддержку нескольких языков, или изменит стиль генерируемого кода?
Есть 2 способа расширения: Изменять существующие шаблоны и создавать свои генераторы (ну или использовать уже готовые соответственно). На базе этих возможностей были созданы достаточно интересные продукты для комфортной работы с авто генерацией кода.
Читать полностью »
Дайджест интересных новостей и материалов из мира PHP за последние две недели №24 (11.08.2013 — 25.08.2013)
2013-08-25 в 18:47, admin, рубрики: Behat, Go! AOP, HHVM, laravel, php, PHP-FIG, PSR, silex, yii, Zephir, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, ссылки, метки: Behat, Go! AOP, HHVM, laravel, PHP, PHP-FIG, PSR, silex, yii, Zephir, Веб-разработка, дайджест, новости, подборка, ссылки
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Система управления ставками Яндекс.Директ (бесплатно)
2013-08-25 в 10:29, admin, рубрики: php, Веб-разработка, контекстная реклама, яндекс.директ, метки: PHP, контекстная реклама, яндекс.директPHP скрипт yandex direct automate — автоматическое управление ставками Яндекс.Директ.
Система автоматического управления ставками Яндекс Директ (Yandex.direct automate) — это программа на PHP, которая при запуске по HTTP, консоли или CRONTAB устанавливает оптимальные значения ставок в рекламной компании Direct.yandex.ru, используя API яндекса.
Стоимость: бесплатно
Скачать: http://cloud-automate.ru/produkty/yandex_direct_automate.html
Читать полностью »
Yii, непрерывная интеграция — как не сломать все
2013-08-23 в 18:56, admin, рубрики: continuous integration, php, phpunit, selenium, yii, Проектирование и рефакторинг, тестирование, тестирование веб-приложений, метки: continuous integration, PHP, phpunit, selenium, yii, тестирование веб-приложенийМы часто экспериментируем с архитектурой, кодом, производительностью. Постоянно добавляем новый функционал. Мы постепенно обвязываем Yii своей “архитектурной” прослойкой — шардинг, работа с временно недоступными данными, разнообразные кеши и многое другое. Да, плод нашей работы, когда он будет заврешен, пойдет в Open Source.
Задача применяемой у нас Непрерывной Интеграции (Continuous Integration, CI) — не тестирование. Задача CI — обезопасится от разрушительных изменений в следствие рефакторинга, добавления нового функционала, изменений архитектуры. Также мы защищаемся от “плохого кода”, часто повторяющихся багов, “кривых” merge.
Для своего CI мы используем Jenkins под Debian. Время на развертку CI я затратил 12 часов — до полностью рабочего состояния. На поддержку CI я не трачу ни минуты в день — я не пишу тесты на каждую мелочь, не практикую TDD. Тем не менее, CI работает и спасает нас от глупых ошибок.
“Давайте будем внимательней”/”Давайте не делать ошибок” — взывал я к разработчикам, но это помогало лишь временно и то не на все 100%. Людям свойственно ошибаться, забывать, совершать оплошности. Нет, я не изобрел “серебряную пулю” для web-проектов и даже маленьку пульку для Yii — я придумал как стабилизировать свое приложение. Ваше приложение отличается от моего и мои методы у Вас могут не работать, да и не должны — я же делал их не для Вашего приложения, если мои методы работаю у Вас — примите это как чудо или как везение. Зато идея такого CI будет работать везде. Всего лишь идея.
Кодирование и декодирование PHP кода
2013-08-23 в 13:18, admin, рубрики: php, Веб-разработка, декодирование, декомпиляция, кодирование, метки: PHP, декодирование, декомпиляция, кодирование Я занимаюсь восстановлением исходников PHP из закодированного вида.
В этой статье я расскажу о том, как обстоят дела с кодированием и декодированием PHP в настоящее время.
Очень краткий ликбез по внутреннему устройству интерпретатора PHP
При выполнении PHP-скрипта, он парсится и компилируется в опкоды внутренней виртуальной машины PHP.
Из каждого файла PHP получаются:
— массив классов: в каждом классе — информация о классе, свойства класса и массив методов класса
— массив функций
— «тело скрипта» — код вне классов и функций
Читать полностью »
Raxan, или веб-программирование в одиночку
2013-08-23 в 10:55, admin, рубрики: dom, framework, php, web-разработка, метки: dom, framework, PHP, web-разработкаВ мир веб-технологий я пришёл где-то в 1998-м году. Админил веб-сервера, писал понемногу на Perl и PHP, но при этом профессионально веб-программированием не занимался никогда – так, скорее для себя веду несколько проектов средней руки. Ну и потому, что плох тот админ, что не может разобраться в косяках разработчиков и подсказать, где что поправить. Опять же — тут админку надо наваять, там ещё что-то…
Потом – семья, дети, времени стало не хватать и из веб-разработки я выпал. А когда вернулся спустя несколько лет – мама родная, как всё поменялось. Вместо привычной табличной вёрстки – блочная, да ещё и всё неоднозначно; вместо одиноких js-скриптиков – Jquery и прочие фреймворки. Мир не стоит на месте. Назрела проблема… Читать полностью »
Не беспокойтесь по поводу BREACH
2013-08-22 в 11:53, admin, рубрики: BREACH, csrf, HTTPS, php, ИБ, информационная безопасность, переводы, метки: BREACH, csrf, HTTPS, PHP, ИБВо время последней недели на конференции BlackHat общественности был представлен новый тип атаки, направленный на SSL-защищенный контент. Этот тип атаки был назван BREACH (англ. “брешь” прим. перев.), и вызвал целую волну обсуждений в различных сообществах. Технические блоги были забросаны ссылками на сайты со статьями о том, что нет никакой возможности это исправить, и как вы можете попытаться защититься от уязвимости. Многие уважаемые специалисты в ИБ писали об этом.
И я здесь, что бы сказать вам, не беспокойтесь об этом.
Читать полностью »
HHVM: тестирование производительности и совместимости с Joomla, Битрикс и WordPress
2013-08-22 в 8:10, admin, рубрики: bitrix, Facebook, HHVM, highload, Joomla, php, wordpress, битрикс, Веб-разработка, Серверная оптимизация, метки: bitrix, Facebook, HHVM, highload, Joomla, PHP, wordpress, битриксПро HHVM уже писали на Хабре. Вкратце: HHVM — это виртуальная машина от Facebook, которая за счет трансляции и JIT-компиляции кода позволяет ускорить PHP в несколько раз. Разработчики также обещают практически полную совместимость с PHP 5.4.
Я решил сравнить HHVM с нативным интерпретатором на нескольких тестах, а также попробовать запустить на нем CMS.