Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
Найдено страниц: 36 [показано 10]
Файлы vs базы данных.
Степень соответствия запросу: 51,88%
Фрагменты текста поста : ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... Язык PHP содержит пару функций ( serialize и unserialize ), предназначенных для преобразования массива в строку и обратно... ... Первая склеивает все элементы массива (разделяя их спец-символами с технической информацией) и возвращает полученную текстовую строку... ... Вторая делает обратное преобразование из строки в массив... ... она требует перебора части (а в худшем случае всех ) элементов массива и для каждого из них необходимо сделать сравнение достаточно длинных текстовых строк... ... com||вася пупкин'] В этом случае для сравнения строк будут использованы встроенные средства языка (библиотечные функции), которые работают гораздо быстрее самих PHP-шных скриптов, но все равно операцию эту быстрой не назовешь... ... Серилизация (склейка элементов массива в строку) и перезапись (опять же) ВСЕГО файла статистики... ... Главное то, что ПРИ ЛЮБОМ ХИТЕ (даже переходе серфера с одной страницы сайта на другую) происходят ВСЕ описанные операции — чтение, разбор, поиск, склейка, запись и выполняются они над ВСЕМ содержимым файла статистики... ... При нормальном (читай « грамотном ») подходе тут будут использованы аж три таблицы: в первой будут храниться хосты поисковиков (по одному на запись), во второй — запросы с хостов (каждый запрос в отдельной записи), ну и в третьей — собственно количество посетителей по дням для каждой из искалок по каждому из запросов... ... каждой записи из первой таблицы соответствуют несколько записей из второй, каждой из которых соответствуют несколько записей из третьей... ... Таким образом, одной операцией сравнения мы сразу определяем в какой из половин таблицы находится нужная нам запись, т... ... Затем оставшийся диапазон (половина таблицы) снова делится пополам и все повторяется до тех пор, пока мы не найдем нужную запись, либо убедимся, что ее нет... ... Благодаря тому, что мы проиндексировали поле с именем хоста, мы находим нужную запись в 15 раз быстрее, чем в массиве (буду брать наихудший вариант)... ... размер записи в них фиксированный... ... для перехода к нужной записи достаточно просто размер заголовка файла добавить к произведению размера записи в байтах на номер записи и получаем точное смещение от начала файла... ... После того как мы нашли с помощью индексов нужную запись, ее требуется загрузить в память... ... Нам нужно загрузить ТОЛЬКО ОДНУ ЗАПИСЬ , а вовсе не всю таблицу... ... В нашем случае размер записи (для третьей таблицы) составляет 12 байт , ведь там только три поля — Q_ID , Date и Hits , каждое из которых представляет собой 32-битное число и занимает 4 байта... ... Запись считали, увеличили на единицу и снова записали НА ТОЖЕ МЕСТО в файле таблицы... ... Поскольку записи в нашей третьей таблице (в данном случае) также будут иметь фиксированную длину, то поиск нужной внутри файла также сведется к одному сложению и одному умножению, а уж прочесть и снова записать на тоже место 12 байт — милисекундное дело (даже с учетом автоматической коррекции индексного файла)... ... Да еще про кэширование вспомним :-) Кстати, если ваш сайт достаточно посещаем, то файл статистики будет расти как на дрожжах и каждое обращение к скрипту будет вызывать чтение/парсинг/поиск/сохранение всех этих десятков мегабайт, а при использовании БД при любом количестве посетителей нам все так же будет нужно читать всего несколько сотен байт (три записи из таблиц), а записать - только 12 байт... ... записи из первых двух таблиц не нужно будет передавать в скрипт, а мотор СУБД обработает их сам и очень-очень быстро... Подробнее: http://fit-media.com/post_1222679684.htmlОптимизация PHP-кода
Степень соответствия запросу: 18,63%
Фрагменты текста поста : ... Передавайте в echo несколько параметров, вместо использования конкатенацию строк... ... Если функции замены строк, может принимать в качестве аргументов как массивы, так и одиночные символы, и если ваш список аргументов не слишком длинный, подумайте над тем, чтобы записать несколько одинаковых выражений замены, проходя один символ за раз, вместо одной строки кода, которая принимает массив поиска и замены Лучше использовать конструкции else if , чем несколько конструкций if... ... Ваши строки, определённые при помощи апострофа, а не двойной кавычки, будут интерпретироваться чуть быстрее, т... ... Конечно, вы можете использовать это только тогда, когда в вашей строке нет переменных... ... Строки, разделённые запятыми, выводятся быстрее, чем строки, разделённые точкой... ... Примечание: это работает только с функцией echo , которая может принимать несколько строк в качестве аргументов... ... При работе со строками, для определения длины строки, вы, разумеется, захотите использовать функцию strlen()... ... Эта функция работает очень быстро, ведь она не выполняет каких-либо вычислений, а лишь возвращает уже известную длину строки, доступную в zval-структуре (внутренняя структура C, используемая при работе с переменными в PHP )... ... функция, она будет работать медленно за счёт вызова некоторых операций, таких как приведение строки в нижний регистр и поиска в хэш-таблице, только после которых будут выполнены основные действия функции... ... За счёт этого isset() не имеет практически никаких накладных расходов на определение длины строки... Подробнее: http://fit-media.com/post_1207831883.htmlMySQL: MyISAM хотят заменить на новый движок Maria
Степень соответствия запросу: 9,72%
Фрагменты текста поста : ... MySQL: MyISAM хотят заменить на новый движок Maria Инициативная группа MySQL AB Maria, состоящая из шести человек и возглавляемая Michael "Monty" Widenius (создатель MySQL и MyISAM), выпустила тестовую версию нового движка хранения данных Maria... ... Движок 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Новый движок, новый дизайн...
Степень соответствия запросу: 5,68%
Фрагменты текста поста : ... Новый движок, новый дизайн... ... Но и они решились довольно быстро (благодаря опыту в потрошении предыдущей версии и тому, что автор в новом проекте не изменил имена ключевых переменных)... ... Что ж, будем теперь тестить новый блог с новым оформлением... ... %%% новый блог от Ласто,  ... Подробнее: http://fit-media.com/post_1244402473.htmlПользовательский интерфейс
Степень соответствия запросу: 5,63%
Фрагменты текста поста : ... В этой ситуации было бы странно претендовать на истину, однако некоторыми соображениями автор этих строк хотел бы поделиться с читателями... ... Наконец, существует сложившаяся практика пользования компьютером у профессионалов, и эта практика кажется естественной создателям новых интерфейсов... ... При этом пользователи этого интерфейса как раз те самые, для кого мы задумываем наш новый интерфейс с компьютером... ... Пользователь простит вам обман, заключающийся в том, что простая на первый взгляд программа постепенно приоткрывает свои новые (в том числе и интерфейсные) возможности... ... Во всех центрах, известных разработкой новых интерфейсов ( XEROX PARC , MIT Media Lab , Apple Computer , Carnegie Mellon University ), идут разработки разных концепций дизайна интерфейсов, опирающихся на возможности анимации... ... Однако психологи, занимающиеся интерфейсом, говорят о совсем другом времени, - времени, когда пользователь может начать взаимодействие с новой картинкой на экране... ... В этот интервал входит не только время вывода новой картинки на экран, но и время осознания ее пользователем, ведь определенное время и усилия тратятся пользователем на то, чтобы понять, как каждая следующая картинка соотносится с предыдущей... ... Анимация за счет увеличения времени перехода от одной картинки к другой (а именно времени анимированного преобразования картинок) существенно сокращает время осознания новой картинки... ... В психологическом смысле новой картинки и не существует, существует преобразованная старая, а так как все преобразования шли "на глазах у изумленных зрителей", то пользователь практически немедленно готов к взаимодействию... ... Выучив иероглифы, нельзя гарантировать, что не появится новый... ... Предположим, что ваша фирма выходит на рынок с новой моделью аудиомагнитофона, отличающейся от всех остальных некой возможностью А... Подробнее: http://fit-media.com/post_1204019048.htmlХроники одной лаборатории
Степень соответствия запросу: 2,83%
Фрагменты текста поста : ... Оказалось, что констpукция антены, излучателя и состав абсоpбента новы и оpигинальны... ... Тестиpовали новые компьютеpы... ... Чеpез 3 минуты появился новый бот... ... Давили pадаp новой схемой... ... Hашли подходящий кабель для новой схемки... ... Пpишло новое вpемя... ... Осваиваем новые компьютеpы и пpогpаммы... Подробнее: http://fit-media.com/post_1231685617.htmlУрок информатики для мелкософта (пояснение к залепе №8)
Степень соответствия запросу: 1,89%
Фрагменты текста поста : ... В частности о "сокращенной" записи некоторых операций... ... Дело в том, что это сделано не только (и не столько) для того чтобы избавить пользователя от написания длинных строк... ... Пришло, наконец, время объяснить, в чем же различия между полной и сокращенной записью команд и почему одно вовсе не соответствует второму... ... Ладно, давайте перейдем к "сокращенной" записи описанной выше операции и подумаем вот над чем: теоретически методы operator+() и operator+=() должны делать одно и тоже, различие лишь в том, куда направится результат... ... Итак, по-пунктам: в строке (1) переменная c становится "дублем" переменной a , т... ... после инициализации в строке (2), значение c... Подробнее: http://fit-media.com/post_1198760520.htmlПошлите серфера на три веселых цифры!
Степень соответствия запросу: 1,89%
Фрагменты текста поста : ... Оправдав тем самым свою разгулявшуюся ленцу перед всем миром (и, в первую очередь, перед самим собой), он не стал разгребать сложные многопапочные запросы, а просто вырезал имя html-файла из строки адреса и этот файл и выдал в броузер... ... В строке адреса можно вводить что угодно - самое большее на что он способен - выдать надпись "Ничего не найдено"... ... com/download/ просто тупо вбив путь в строке адреса своего любимого Microsoft Internet Explorer'а... ... Поисковики, засекая новые страницы в серпах друг-друга, с удовольствием сканируют "новый" сегмент сайта и вносят его в свои базы... ... Возможно процесс остановится уже после второй фазы, а может он будет развиваться как все в природе - по спирали: кто-нить как-нить создаст запрос к страницам еще глубже вложенным в иерархию папок и вызовет тем самым новый виток индексации "новых" псевдо-страниц... Подробнее: http://fit-media.com/post_1200930244.htmlКак Заиконить Сайт
Степень соответствия запросу: 1,16%
Фрагменты текста поста : ... Как в то далекое время любая, даже самая мелкая программа пыталась защемить себя в трей к часам, так и теперь любой, даже самый неказистый сайт старается всунуть свою иконку в адресную строку браузера... ... Но в этом случае Вам придется добавить одну строчку в шаблон вашего сайта... ... ico), то Вам нужно вставлять в HTML-файлы строчку, описанную выше... ... Кроме того, если иконка лежит не в корне сайта, то в этой строчке нужно указать путь к иконке... ... Кстати, поскольку в этой строке можно записать полный путь (включающий домен сайта), то Вы запросто можете прикрепить себе иконку от чужого сайта... ... :) Все, что Вам потребуется - вписать строку AddType image/ICO ICO в файл... Подробнее: http://fit-media.com/post_1212879390.htmlЗалепа №13. О грамотном проектировании и неграмотном IDE.
Степень соответствия запросу: 0,68%
Фрагменты текста поста : ... Каждая запись справочника содержит данные об одном пользователе: его логин, пароль для входа в систему и какие-то дополнительные атрибуты... ... Нам необходимо создать отдельный класс, представляющий собой запись из БД (информацию об отдельном пользователе)... ... Набросаем примерную структуру: Набросок класса записи public class CUser : Form { private string Login... Подробнее: http://fit-media.com/post_1204892317.html
