Обновить
0
Rhaps107@Rhaps107

Пользователь

1
Подписчики
Отправить сообщение
Есть много кода, использующего библиотеку openid. Любой человек должен сходу отвечать на вопросы по ней?

А код на php4 надо либо рефакторить, либо не лезть в него.
Когда были тормозные железяки и пхп ранней версии с багами — это было важно, со временем (уже сейчас) — отходит в небытие.
Что отличает проекты под высокой нагрузкой, взять хабр или контакт?
Не столько качество кода, сколько грамотная архитектура (много серверов), правильно настроенное железо и ПО на нем, оптимальные алгоритмы и оптимизация _узких_ мест. Поскольку мы увидели что кавычки, циклы и т.п. узким место не является (в виду того, что вносит малозначимый вклад в общие тормоза), я над этим уже давно не думаю.
Почему одна CMS тормозит больше другой, потому что у них разные алгоритмы, а не из-за качества кода.
Ну я видел. Люди хорошо разбирающиеся в одном, разберутся и в другом. Просто на форумах сидят в основном те, кто «курят маны».
Ага, ещё можно спросить о том, как писать сайты под консольный браузер lynx.
И что надо обязательно проверять, поддерживает ли браузер куки :)
Нифига не надо ему этого знать. Только если не предстоит работа по переводу кода из версии 4 в версию 5. Да и даже так, он прочтет эти различия на php.net и за полдня будет понимать лучше, чем уверенный в себе человек, который это «знает».
По вашей же ссылке читаем:

> Read Loop:foreach() vs. for() vs. while(list() = each())
> In all cases I've found that the foreach loop is substantially faster than both the while() and for() loop procedures.

Т.е.foreach быстрее :)

И там же написано что двойные кавычки проигрывают одинарным единицы процентов :)

Но это неважно. Важно то, что смена кавычек или циклов играет роль микросекунд, т.к. больше всего тормозит сервер, жесткий диск, канал, подключение к базе ну и сложные вычисления. Если бы у меня был цикл, который работал бы несколько секунд, возможно, я бы начал его оптимизировать. К тому же скорее всего оптимизировал бы я его сменой внутреннего кода итерации, а не for- на foreach, сам foreach секундные тормоза может навести только если у вас миллиарды итераций :)

Кстати писать сразу оптимальные конструкции на php довольно сложно. Компилятор и оптимизатор постоянно меняются. Сегодня одна конструкция работает быстрее, завтра другая. Раньше foreach($var as $n) копировал память, и надо было писать foreach($var as &$n) (давно это было), сейчас неактуально. Это ещё один повод не заморачиваться на языке, а больше думать о железе, софте и алгоритмах.
на этой странице

ru.php.net/goto

теперь сделана ссылка:

Image courtesy of » xkcd,

которая ведет сюда --> xkcd.com/292/

Там комикс, раньше был прямо на php.net
был раньше, сек
Не там вы копаете, имхо. Исправление кривых алгоритмов и плохо настроенного софта железа, + всякие eaccelerator дают ускорение работы. А фишки языка даже если и дадут — копейки. Раньше ещё говорили что двойные кавычки в php тормозят.

Хотя скиньте, плиз, ссылки на сравнение for и foreach, если таковые есть.
Кстати. Написание кода — тест для программиста. Абстракция и тп — для архитектора.
Вам кто нужен был?
В свое время пострадал от излишней абстракции, когда ставилась задача сделать тот или иной проект с учетом развития на будущее.
Да, что-то даже было придумано вперед, так что пришлось к месту через полгода-год, но времени было потрачено настолько много, что можно было бы сделать 3 проекта если ориентировать на текущие требования, а не абстрагировать их. Кроме того, часть изменений среды предвидеть не удалось и пришлось все равно серьезно рефакторить.
С тех пор решаю задачи в рамках видимости требований :)

Также почему я отрицательно отношусь к абстракции — потому как многие люди, мало разбирающиеся в вопросах, с которыми ко мне обращаются, любят абстрагировать проблемы и делать из них выводы :) Вместо того, чтобы сказать «я вижу на экране следющее сообщение», они говорят что-то более умное вроде «бухгалтерский аккаунт недоступен» :) После чего приходится работать не только программистом, но и Шерлоком Холмсом, чтобы вернуться все же к объективным проблемам :)
Фетишизмом PHP я уже давно не занимаюсь, поэтому любое «написать» воспринимаю как рутину — главное же не красиво написать, а чтоб задача была выполнена в кратчайшие сроки. При этом конечно учитываются такие факторы, как производительность, читабельность и тп. Но согласитесь, в строках и кусках кода в 5 строк ни читабельность ни производительность особо не выгадаешь, а вот времени на написание и отлаживание циклов потеряешь ;)

На собеседовании если претендую на хорошее место, готов хоть свинкой похрюкать, не то что на бумаге писать :)
не, не, не, Девид Блейн… Писать на абстрактном языке это не 2+2 :)

Писать на абстрактном языке, это как считать 2+2 на счетах — вроде бы и процесс есть, но моск используется неправильно :)
Так уж получилось, что цикл for( ) давно не пользую — так как-то сложилось, если цикл, то foreach. Поэтому, когда вижу for($i =0; ....), сразу вспоминаю либо свои первые потуги, либо учебники по php. :)
Понятно :)
Я придрался, потому что как раз и не люблю «абстрактные» задачки. Решение абстрактной проблемы это «дым над водой», есть такой антипаттерн программирования. Потому что в реальности все будет отличаться как правило и решения абстрактных задач конечно и говорят что-то о человеке, но не так подробно, как решения реальных задач, имхо :)
да, implode забыл…

return implode('', array_reverse(preg_split('//', $word)));
Подсчет кол-ва слов:

return count(preg_split('/[\s\r\n]+/', $words));

:)
мой вариант ф-ции переворота букв

return array_reverse(preg_split('//', $word));

:D
> Вопрос первый: «напишите на любом языке код, который развернет задом наперед текстовую строку (in place, т.е. без выделения нового буфера). Если справились — напишите процедуру, подсчитывающую количество слов в заданной строке.»

Эм. В разных языках разные строковые ф-ции, разные типы данных, разные структуры. В некоторых строку нельзя представить массивом букв, да и если можно то индексы букв начинаются в одних языках с нуля, в других с единицы. Также если кодировка мультибайтная, то каждая буква != 1 байты, а большинство языков работает с байтами.

;)
Хеш в перле это ассоциативный массив.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность