По моему, если необходимо передать данные на фронтэнд в необработанном виде то JSON значительно удобнее, он унифицирован, и имеет реализации для некоторых JS фреймворков (пр. MooTools) в отличии от сериализации, по крайней мере когда мне понадобилось передавать данные с сервера на клиент, для их последующей обработки и представления на клиенте в ввиде HTML, я воспользовался именно JSON'ом как прослойкой между PHP и MooTools, и не пожалел, получилось удобно, универсально и не привязано к конкретному отображению + немного разгрузил этим бекэнд от лишних преобразований + удобно кэшировать — один раз «отгенерировал» JSON-строку, положил в файл, а потом подгружать статичный файл.
Имеется еще желание попробовать для аналогичных целей применить «Protocol Buffers» от Google, если у кого то есть опыт его применения в связке с PHP было бы интересно послушать.
+1
Тоже пошел по такому пути, скачав портабел с portableapps.com, про который уже написали ниже.
На то что не запускаются параллельно, по моему не так страшно, благо лиса вполне адекватный и предсказуемый по реакциям браузер, и не надо постоянно смотреть его реакцию на каждую новую строчку кода.
Можно и переключаться.
Отличная новость, спасибо, надо будет пощупать.
P.S. Судя по размеру индекса «2,6 gb под индекс» — кушает — очень не плохо, но это я думаю можно пережить )
Присоединюсь к большинству, 5 000 записей — и правда маловато.
И запросов нет (
По поводу замеры с помощью PHP тоже двояко, с одной стороны результаты получаются не столь «чистые» как при использовании MySQL Console, но с другой пользователи действительно будут получать результаты через сайт, а не через консоль.
Для чистоты я бы предложил записей сделать побольше на 2-а порядка и результаты, и при помощи консоли, и при помощи PHP.
P.S. 100 запросов раз в секунду — слабая нагрузка, вопросы связанные с «прелестями» поиска появляются имхо на более высоконагруженных, так что я бы выполнял 1 000 (или даже 10 000) с плотностью — 100 / сек.
Интересно, я правильно понимаю что на Фликре Java исключительно для пользовательских сервисов аля uploader для картинок?
Или у них на ней еще что-то сделано?
Я думаю имелся ввиду MS SQL Server — Windows + IIS лишнее тому доказательство.
Получается Мускуль и MS SQL — лидеры по БД в высоконагруженных, интересно, а как же Oracle и PostgreSQL.
В общем буду ждать продолжения )
К сожаленью, судя по всему никак.
Xdebug не выпускается как самодостаточный плагин к Eclipse, а только входит в состав плагинов «PHPeclipse» и «PDT»
Принципиально ли использование именно плагина от Zend?
Eclipse SDK 3.3.2 + PHPeclipse 1.1.8 + PHPeclipse Nightly Build 1.2.0 + Еще несколько плагинов, но они уже из другой оперы :)
В принципе я кажеться уже разобрался надо было выбрать не «Run as...» как я сделал сначала, а «Debug as...» и там уже можно настроить Xdebug.
Буду копаться.
Я вот щас токо думаю какой ему нужно интерпретатор скармливать — cgi-fcgi или cli.
Но это проверить не долго.
Еще одна проблемка была — выскакивала ошибка: «Error in my_thread_global_end()» но как подсказал гугл это косяк последних версий библиотеки libmysql.dll, которую порекомендовли взять из PHP 5.2.1, мне вроде помогло.
Автору еще раз спасибо за крайней полезные статьи... жду продолжения.
Эх... а как же быть тем кто предпочитает PHPEclipse?
Там точно есть Xdebug, но вот как его настроить / запустить так и не понятно :(
Вроде включен, а всё равно предлагает только:
Java Applet
Java Application
JUnit Plug-in Test
JUnit Test
а разобраться хочеться, чувствуется что это реально удобнее чем постоянные var_dump'ы
Спасибо за статью.
Особенно порадовали проверки на уровне htaccess, спасибо, как то раз натыкались на проблему не работы gzip'а на Маках предыдущего поколения, а в том проекте это было очень важно, пришлось отменять gzip вообще :(
Не обошлось правда без пары опечаток:
1) «Поожите его в ту же директорию на сервере, что и исходный файл.» — Л пропустили
2) «В первой строке мы сообщаем серверу, что файлы с расширением .gz нужно отдавать с gzip encoding-type, чтобы браузер понял, что перед ним архив, а текстовый файл.», наверно все таки а не текстовый файл
P.S. Отличные статьи, стараюсь регулярно отслеживать новые. Благодаря вашей «CSS Sprites: все, что вы знали, но боялись спросить» освоил CSS Sprites технологию, сейчас применяю и радуюсь, все гениальное просто :)
Спасибо автору за отличный «миницикл» статей, после прочтения первой части сразу поставил Xdebug, доволен, благодарен отличное раскрытие настроек и возможностей.
С нетерпением буду ждать продолжения.
Там, же как я пониманию не только заплачивание дыр и шибок, но и развитие фреймворка, например:
- 300% увеличение скорости $(DOMElement).
- Ревизия .ready(): используется код Diego Perini (техника non-document.write()). Метод теперь ожидает загрузки CSS. Можно ловить событие ready документа через традиционный .bind().
- .bind(”mouseenter”) / .bind(”mouseleave”).
- Сложные выражения внутри not().
- Понимает HTTP-заголовки.
- Событийный API.
Это имхо именно развитие и улучшение, а не багфксинг.
Имеется еще желание попробовать для аналогичных целей применить «Protocol Buffers» от Google, если у кого то есть опыт его применения в связке с PHP было бы интересно послушать.
Тоже пошел по такому пути, скачав портабел с portableapps.com, про который уже написали ниже.
На то что не запускаются параллельно, по моему не так страшно, благо лиса вполне адекватный и предсказуемый по реакциям браузер, и не надо постоянно смотреть его реакцию на каждую новую строчку кода.
Можно и переключаться.
Он наверно будет видеть «html-комментарии», но будет пропускать их мимо ушей или считать за поисковый спам, но наверно настраиваемо.
P.S. Судя по размеру индекса «2,6 gb под индекс» — кушает — очень не плохо, но это я думаю можно пережить )
И запросов нет (
По поводу замеры с помощью PHP тоже двояко, с одной стороны результаты получаются не столь «чистые» как при использовании MySQL Console, но с другой пользователи действительно будут получать результаты через сайт, а не через консоль.
Для чистоты я бы предложил записей сделать побольше на 2-а порядка и результаты, и при помощи консоли, и при помощи PHP.
P.S. 100 запросов раз в секунду — слабая нагрузка, вопросы связанные с «прелестями» поиска появляются имхо на более высоконагруженных, так что я бы выполнял 1 000 (или даже 10 000) с плотностью — 100 / сек.
Или у них на ней еще что-то сделано?
Получается Мускуль и MS SQL — лидеры по БД в высоконагруженных, интересно, а как же Oracle и PostgreSQL.
В общем буду ждать продолжения )
Xdebug не выпускается как самодостаточный плагин к Eclipse, а только входит в состав плагинов «PHPeclipse» и «PDT»
Принципиально ли использование именно плагина от Zend?
В принципе я кажеться уже разобрался надо было выбрать не «Run as...» как я сделал сначала, а «Debug as...» и там уже можно настроить Xdebug.
Буду копаться.
Я вот щас токо думаю какой ему нужно интерпретатор скармливать — cgi-fcgi или cli.
Но это проверить не долго.
Еще одна проблемка была — выскакивала ошибка: «Error in my_thread_global_end()» но как подсказал гугл это косяк последних версий библиотеки libmysql.dll, которую порекомендовли взять из PHP 5.2.1, мне вроде помогло.
Автору еще раз спасибо за крайней полезные статьи... жду продолжения.
Там точно есть Xdebug, но вот как его настроить / запустить так и не понятно :(
Вроде включен, а всё равно предлагает только:
а разобраться хочеться, чувствуется что это реально удобнее чем постоянные var_dump'ы
У Хабра глюки?
Особенно порадовали проверки на уровне htaccess, спасибо, как то раз натыкались на проблему не работы gzip'а на Маках предыдущего поколения, а в том проекте это было очень важно, пришлось отменять gzip вообще :(
Не обошлось правда без пары опечаток:
1) «Поожите его в ту же директорию на сервере, что и исходный файл.» — Л пропустили
2) «В первой строке мы сообщаем серверу, что файлы с расширением .gz нужно отдавать с gzip encoding-type, чтобы браузер понял, что перед ним архив, а текстовый файл.», наверно все таки а не текстовый файл
P.S. Отличные статьи, стараюсь регулярно отслеживать новые. Благодаря вашей «CSS Sprites: все, что вы знали, но боялись спросить» освоил CSS Sprites технологию, сейчас применяю и радуюсь, все гениальное просто :)
С нетерпением буду ждать продолжения.
Тому кому интересно все равно откроет в браузере потом.
- 300% увеличение скорости $(DOMElement).
- Ревизия .ready(): используется код Diego Perini (техника non-document.write()). Метод теперь ожидает загрузки CSS. Можно ловить событие ready документа через традиционный .bind().
- .bind(”mouseenter”) / .bind(”mouseleave”).
- Сложные выражения внутри not().
- Понимает HTTP-заголовки.
- Событийный API.
Это имхо именно развитие и улучшение, а не багфксинг.
Надежда, как говориться :-)