Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
Найдено страниц: 42 [показано 10]
Оптимизация PHP-кода
Степень соответствия запросу: 45,82%
Фрагменты текста поста : ... Передавайте в echo несколько параметров, вместо использования конкатенацию строк... ... Удаляйте свои переменные для освобождения памяти, особенно если это большие массивы... ... Если функции замены строк, может принимать в качестве аргументов как массивы, так и одиночные символы, и если ваш список аргументов не слишком длинный, подумайте над тем, чтобы записать несколько одинаковых выражений замены, проходя один символ за раз, вместо одной строки кода, которая принимает массив поиска и замены Лучше использовать конструкции else if , чем несколько конструкций if... ... Ваши строки, определённые при помощи апострофа, а не двойной кавычки, будут интерпретироваться чуть быстрее, т... ... PHP ищет переменные внутри текста в двойных кавычках... ... Конечно, вы можете использовать это только тогда, когда в вашей строке нет переменных... ... Строки, разделённые запятыми, выводятся быстрее, чем строки, разделённые точкой... ... Примечание: это работает только с функцией echo , которая может принимать несколько строк в качестве аргументов... ... Кэшируйте, насколько это возможно... ... При работе со строками, для определения длины строки, вы, разумеется, захотите использовать функцию strlen()... ... Эта функция работает очень быстро, ведь она не выполняет каких-либо вычислений, а лишь возвращает уже известную длину строки, доступную в zval-структуре (внутренняя структура C, используемая при работе с переменными в PHP )... ... функция, она будет работать медленно за счёт вызова некоторых операций, таких как приведение строки в нижний регистр и поиска в хэш-таблице, только после которых будут выполнены основные действия функции... ... За счёт этого isset() не имеет практически никаких накладных расходов на определение длины строки... ... Пост-инкремент обычно используется при создании временных переменных, которые затем увеличиваются... Подробнее: http://fit-media.com/post_1207831883.htmlФайлы vs базы данных.
Степень соответствия запросу: 26,22%
Фрагменты текста поста : ... Нам гораздо важнее узнать, насколько оптимально использовать для этой работы файлы и действительно ли это быстрее, чем работа с базой данных... ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... Язык PHP содержит пару функций ( serialize и unserialize ), предназначенных для преобразования массива в строку и обратно... ... Первая склеивает все элементы массива (разделяя их спец-символами с технической информацией) и возвращает полученную текстовую строку... ... Вторая делает обратное преобразование из строки в массив... ... Ну а если это статистика за месяц и при этом с поисковиков в день приходит по несколько сотен человек, да еще по тысяче различных запросов, то получается весьма нехилый объем работы... ... она требует перебора части (а в худшем случае всех ) элементов массива и для каждого из них необходимо сделать сравнение достаточно длинных текстовых строк... ... com||вася пупкин'] В этом случае для сравнения строк будут использованы встроенные средства языка (библиотечные функции), которые работают гораздо быстрее самих PHP-шных скриптов, но все равно операцию эту быстрой не назовешь... ... Серилизация (склейка элементов массива в строку) и перезапись (опять же) ВСЕГО файла статистики... ... Первое на что хотелось бы обратить внимание — это тот факт, что подобную структуру не удастся (по крайней мере целиком) уложить в одну таблицу, а это значит будут использованы несколько связанных таблиц ( реляционная структура )... ... каждой записи из первой таблицы соответствуют несколько записей из второй, каждой из которых соответствуют несколько записей из третьей... ... Нисколько... ... :-) Структура, например, такая: Структура таблиц Таблица se_hosts -------------------- ID1 — уникальный числовой номер (используется для связи таблиц) Host — имя хоста поисковика Таблица se_query --------------------- ID2 — уникальный числовой номер (используется для связи таблиц) SH_ID — уникальный номер для ссылки на первую таблицу Query — текст искомой фразы Таблица se_hits ------------------- Q_ID — уникальный номер для ссылки на вторую таблицу Date — кво-дней с 1 января 2000 года Hits — количество хитов за этот день Естественно первая и третья таблицы будут иметь индексы по первым двум полям, а вторая — по всем... ... Если не использовать индексы, то для выполнения этой операции придется провести сравнение имен хоста с содержимым поля Host первой таблицы для части (а в худшем случае всех ) записей... ... Да еще про кэширование вспомним :-) Кстати, если ваш сайт достаточно посещаем, то файл статистики будет расти как на дрожжах и каждое обращение к скрипту будет вызывать чтение/парсинг/поиск/сохранение всех этих десятков мегабайт, а при использовании БД при любом количестве посетителей нам все так же будет нужно читать всего несколько сотен байт (три записи из таблиц), а записать - только 12 байт... Подробнее: http://fit-media.com/post_1222679684.htmlУрок информатики для мелкософта (пояснение к залепе №8)
Степень соответствия запросу: 9,04%
Фрагменты текста поста : ... Дело в том, что это сделано не только (и не столько) для того чтобы избавить пользователя от написания длинных строк... ... имел бы (насколько это возможно) команды, аналогичные типовым командам процессора... ... возможность управления размещением переменных и полей структур в памяти... ... Итак, рассмотрим механизм работы выражения c = a + b (естественно, что все три переменные имеют один и тот же тип и для данного типа определена операция сложения)... ... Но эта простота существует только до тех пор, пока наши переменные имеют простой тип... ... Отличие шарпа от С++ (в данном случае) в том, что наши переменные a и b являются на самом деле не "хранителями" объекта, а всего лишь ссылками на него... ... Итак, по-пунктам: в строке (1) переменная c становится "дублем" переменной a , т... ... после инициализации в строке (2), значение c... ... x становится равным 4 (они же ссылаются на один и тот же объект) после выполнения сгенерированного компилятором оператора operator+=() происходит что-то очень странное - связь переменных a и c внезапно разрывается, ибо теперь они указывают на совершенно разные объекты... ... Это подтверждается вторым выводом значений переменных... ... Поэтому, если вам захочется самостоятельно перегрузить метод operator+=() или его аналоги для других операций, то просто попейте воды, сделайте несколько глубоких вдохов и расслабьтесь - вам перегрузить эти методы не удастся... Подробнее: http://fit-media.com/post_1198760520.htmlMySQL: MyISAM хотят заменить на новый движок Maria
Степень соответствия запросу: 6,05%
Фрагменты текста поста : ... Движок Maria - это расширенная версия MyISAM, которая поддерживает весь основной функционал MyISAM и в дополнение к этому предлагает: поддержку восстановления данных после сбоев (data auto-recovery, crash safe), полное логирование (включая операции CREATE, DROP, RENAME и TRUNCATE) и новый формат строк PAGE... ... INSERT и INSERT (множество строк), ALTER TABLE LOAD INDEX может пропускать неиспользуемые индексные блоки Новый блочный формат строк, в котором данные хранятся ввиде страниц При использовании блочного формата строк (выбираемого теперь по умолчанию) строковые данные могут кешироваться Блочные тесты большинства элементов Поддержка как отказоустойчивых (crash safe, транзакциональных) так и нетранзакциональных таблиц... ... (Нетранзакцональные таблицы не логируются и для строк используется меньше места): CREATE TABLE foo (... ... Не поддерживается INSERT DELAYED Не поддерживается кеширование составных ключей Устранение недостатков до следующих релизов Хранение очень малых строк Не поддерживаются MERGE таблицы Различия, которые вероятно не будут устранены Страницы данных в блоковом формате увеличивают размеры: 10 байт на страницу и 5 байт на строки... ... Транзакции и поддержка конкурирующих записей приведут к увеличению: 7 байт на новые строки, 14 байт для удаленных строк Отсутствие внешнего блокирования (MyISAM имеет внешнее блокирование, но оно редко используется) Использование одинакового размера страниц для индекса и данных... Подробнее: http://fit-media.com/post_1202730586.htmlМаксимум производительности
Степень соответствия запросу: 4,4%
Фрагменты текста поста : ... За последние 20 лет сложилась странная ситуация - в то время как мощность компьютеров увеличилась в несколько тысяч раз, скорость работы пользователя в некоторых случаях даже замедлилась из-за непомерно раздутых операционных систем и программ... ... Любой, кто хотя бы раз обновлял системное программное обеспечение, знает, насколько сложной может быть эта задача, хотя для этого пользователю не нужно принимать практически никаких решений... ... После этого: Уменьшайте число манипуляций, насколько это возможно... ... Как только большинство клиентов поймет, что новая система может сберечь их время и деньги, они попытаются уменьшить ее эффективность насколько это возможно, тем самым получая обратно свое время и деньги... ... Опытные пользователи в конце концов научатся различать сигнал от шума, верный путь от зияющей пропасти, независимо от тога, насколько загроможденным будет интерфейс... ... Таким образом, нужно всегда принимать во внимание субъективные убеждения пользователей о том, насколько быстрым или медленным является процесс... ... Поместите его либо в модальный диалог, либо в строку статуса... ... Сообщите пользователю, насколько долгим будет ожидание... Подробнее: http://fit-media.com/post_1207048697.htmlКак Заиконить Сайт
Степень соответствия запросу: 2,91%
Фрагменты текста поста : ... Как в то далекое время любая, даже самая мелкая программа пыталась защемить себя в трей к часам, так и теперь любой, даже самый неказистый сайт старается всунуть свою иконку в адресную строку браузера... ... Но в этом случае Вам придется добавить одну строчку в шаблон вашего сайта... ... ico), то Вам нужно вставлять в HTML-файлы строчку, описанную выше... ... Кроме того, если иконка лежит не в корне сайта, то в этой строчке нужно указать путь к иконке... ... Кстати, поскольку в этой строке можно записать полный путь (включающий домен сайта), то Вы запросто можете прикрепить себе иконку от чужого сайта... ... :) Все, что Вам потребуется - вписать строку AddType image/ICO ICO в файл... Подробнее: http://fit-media.com/post_1212879390.html14 принципов создания вежливых программ
Степень соответствия запросу: 2,4%
Фрагменты текста поста : ... Это также не зависит и от того, насколько находчивой, представительной, метафоричной, наполненной содержанием или персонализированной она будет... ... интерфейс командной строки тоже будет нравиться, если он будет обладать вышеуказанными качествами... ... Более вежливая, более человечная программа сразу бы сообщила, что у вас на счету "около 500$" а затем проинформировала бы вас, что даст более точный ответ через несколько минут... ... Если я спрашиваю у служащего аэропорта, через какой выход пройти на рейс 729, я ожидаю, что он не только ответит на мой вопрос, но и даст мне важную информацию о том, что вылет рейса 729 задерживается на 20 минут... ... Я не хочу знать, насколько трудна работа компьютера... ... Когда я ищу информацию в Интернет через поисковую машину, я не могу быть уверен, что не наткнусь на неработающую ссылку... Подробнее: http://fit-media.com/post_1203349390.htmlЕсли не хочется кусать локти
Степень соответствия запросу: 1,15%
Фрагменты текста поста : ... Правда минут через десять-пятнадцать солнце все же скрылось среди туч и вокруг сразу стало мрачно и холодно... ... А примерно через час случилось второе чудо - все вдруг закончилось... ... Если в вашей системе установлено несколько винчестеров и оригинальные (важные) данные расположены на первом из них, то копия всегда должна быть расположена на втором, третьем, четвертом винчестере, но только не на том, где лежит оригинал... ... В вашей системе всего один винчестер, но он разбит на несколько разделов (диски C:, D:, E:, F: и т... ... Его достоинства: размер полученной копии будет в несколько раз (а иногда и в несколько десятков раз... Подробнее: http://fit-media.com/post_1203529769.htmlПошлите серфера на три веселых цифры!
Степень соответствия запросу: 1,01%
Фрагменты текста поста : ... Оправдав тем самым свою разгулявшуюся ленцу перед всем миром (и, в первую очередь, перед самим собой), он не стал разгребать сложные многопапочные запросы, а просто вырезал имя html-файла из строки адреса и этот файл и выдал в броузер... ... В строке адреса можно вводить что угодно - самое большее на что он способен - выдать надпись "Ничего не найдено"... ... Через некоторое время происходит индексация, искалки довольны статичными страницами, вэб-мастер доволен позициями в серпах, админ сайта доволен посещаемостью, короче все радуются и пьют шампанское... ... com/download/ просто тупо вбив путь в строке адреса своего любимого Microsoft Internet Explorer'а... Подробнее: http://fit-media.com/post_1200930244.htmlAJAX — WEB 2.0 за 5 минут
Степень соответствия запросу: 0,99%
Фрагменты текста поста : ... А с использованием более сложных селекторов вы можете одновременно загрузить контент сразу в несколько контейнеров... ... > Мы будем отправлять данные (введенное имя) в скрипт методом POST (а почему бы и нет... ... post()... ... )-$_POST['a'])... ... считывать данные из полей, этим займется метод serialize(), который сам соберет все данные из формы и упакует их в формат, понятный для метода post()... ... В свою очередь, метод post() (в отличии от load()) не требует обязательного определения целевого контейнера... Подробнее: http://fit-media.com/post_1262093659.html
