Добрый день читатель.
Не так давно столкнулся с не особо стандартной задачей, хотел бы поделиться вариантом ее решения, а так же узнать умные мыли по данной теме. Кому интересно, добро пожаловать под кат.
Читать полностью »
Добрый день читатель.
Не так давно столкнулся с не особо стандартной задачей, хотел бы поделиться вариантом ее решения, а так же узнать умные мыли по данной теме. Кому интересно, добро пожаловать под кат.
Читать полностью »
Буквально несколько минут назад Павел Дуров на своей странице ВКонтакте представил новый вариант PHP, названный KPHP.
Слово автору:
В конце мая, перед началом сезона отпусков, суточная посещаемость ВКонтакте достигла очередного рекорда — почти 50 млн. пользователей. Именно тогда мы завершили перевод всего кода ВКонтакте на компилируемый язык программирования, который разрабатывали более года, — KPHP. В результате практически все страницы сайта стали грузиться более чем 2 раза быстрее.
“- Какой самый живучий паразит? Бактерия? Вирус? Кишечный глист? Идея. Она живуча и крайне заразна.” Х.ф. Начало
Все вы знакомы с этим парнем. Неважно как его зовут и сколько ему лет. Он web разработчик. На протяжении многих лет трудился на благо интернета и делал хорошие, нужные сайты. А еще наш герой коллекционер. Кто-то собирает марки, кто-то – монеты, а он – «велосипеды». Да, да – именно «велосипеды». Каждый раз, когда перед ним появлялась новая задача, парнишка воодушевленно ее решал и готовое решение складывал в отдельную папочку. Так за время работы – накопилась огромная коллекция разнообразных двух, трех, а иногда и десяти колесных «транспортных» средств. И он не давал им ржаветь. Для каждого нового сайта использовал то или иное собственное решение, бережно копируя его из общей папки в папку проекта. А если вдруг находил, какую неисправность (ну с кем не бывает) – исправлял и тут же переносил изменения на все сайты… И он был почти счастлив. Почему почти? Да потому, что со временем сайтов стало настолько много, что невозможно было уследить на каком из них какая версия «велосипеда» сохранена. В конце концов он совсем запутался и уже готов был сдаться, как вдруг появилась идея. Именно о ней и пойдет речь в этой статье.
Читать полностью »
https://github.com/Garik-/http-request
Очень часто в коде можно встретить такие строки:
$result = file_get_contents("http://geocode-maps.yandex.ru/1.x/?geocode=".urlencode("Москва"));
$handle = fopen("http://www.example.com/", "rb");
$result = fgets($handle);
try {
$http = HttpRequest::get("http://geocode-maps.yandex.ru/1.x/?format=json",array("geocode"=>$city))->acceptJson();
$json = $http->ok() ? json_decode($http->body()) : null;
} catch (HttpRequestException $e) {
exit($e->getMessage());
}
Теперь это действительно не важно.
Библиотека Http Request основана на одноименной библиотеке Kevin Sawicki, которая должна быть хорошо известна Android разработчикам, ведь её использует сам GitHub в своем приложении.Читать полностью »
Вас смущает это число? Меня тоже.
В первую очередь мой пост обращен к тем, кто размещает множество сайтов на сервере. Для остальных он тоже может быть полезен, поскольку с помощью его вы сможете быстро добавить группировку по фрагментам путей закешированных файлов.
Возможно, вы выделили слишком много оперативной памяти под кеш. Размер его можно значительно уменьшить путем отключения тяжеловесных, но редко посещаемых сайтов. Я вам помогу вычислить такие сайты.
Читать полностью »
Сегодня разработчики PHPixie опубликовали пост благодарности всем кто решил попробовать писать на этом фреймворке.
Также они объявили о старте небольшого конкурса туториалов. Для участия в нем нужно запостить на свой блог или на один из тематических сайтов (кстати включая Хабр) любой обучающий материал по PHPixie а ссылку на него написать в комментариях к посту.
Два победителя получат подарочный сертификат от Amazon на 50$Читать полностью »
Несколько недель назад я работала над проблемой в ProxyManager. Проблема была проста: ReflectionClass и ReflectionProperty очень, очень, и ооочень медленные!
Причиной этого исследования является моя попытка оптимизацировать "hydrator" для работы с большими объемами данных без накладных расходов на инициализацию.Читать полностью »
Предлагаем вашему вниманию очередную подборку с ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Только ленивый, точнее, ну очень ленивый не скажет про PHP пару ласковых. Стоит мимолётом покритиковать разработчиков за то, что больше половины попыток исправить ситуацию с фаршированием стандартной библиотеки, несогласованности и отсутствием того, что очень сильно понравилось в *подставить свой любимый язык* только её (ситуацию) ухудшают, а те, что влияют положительно — не доработаны; Конечно же это провокация и ведёт к неизбежному холивару, но давайте постараемся избежать этого. Из довольно продолжительных размышлений на эту тему и родилась одна затея…
Скажите, а ведь вы хотите что-то изменить в языке, поправить? Знакомясь с новыми языками и подходами, лично у меня — эта мысль крепла. Я испробовал довольно много подходов, начиная от попытки написать собственный интерпретатор, не обладая достаточными знаниями — попытка провалилась, заканчивая переписыванием php исходников (не интерпретатора, а самих *.php файлов) — вначале нативный интерпретатор парсит изменённые исходники, затем транслирует в кодсохраняет данные и уже их интерпретирует, но, добившись определённых результатов — и эта попытка была погребена благодаря своему неудобству и «костылеобразности». И, уже почти разочаровавшись в этой затее — мне помог докладчик на DevConf (если не ошибаюсь — Александр NightTiger), сам того не подозревая. Доклад был про аспектно-ориентированное программирование и одной из просьб докладчика, которая и подтолкнула меня на правильный путь, была: «Поднимите руки те, кто знает про php фильтры».Читать полностью »
Вышел кандидат в релизы PHP фреймворка Yii 1.1.14. Забрать можно с GitHub.
Исправлены более 80 ошибок, добавлено более 60 небольших улучшений и новых возможностей. Появился новый класс
CPasswordHelper
, который предоставляет надёжный метод хранения и проверки хешей паролей. Также добавлен CRedisCache
,
с помощью которого можно использовать Redis для хранений кеша. Yii может быть установлен как
пакет Composer. Полный список изменений дан
в changelog.
Значительную часть изменений сделали члены сообщества: creocoder, tom--, paystey, Ragazzo, antoncpu, Yiivgeny и другие,
за что им огромное спасибо.
Так как это кандидат в релизы (RC), не стоит использовать его на боевых серверах. Стабильный релиз 1.1.14 будет достпен в
течение нескольких недель, а пока мы будем очень признательны, если вы проверите RC и
сообщите нам об ошибках. Заранее спасибо.
Ну а теперь рассмотрим главные улучшения.