• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)




Найдено страниц: 38 [показано 10]

  1. Файлы vs базы данных.

    Степень соответствия запросу: 71,54%
    Фрагменты текста поста :
    ... Нам гораздо важнее узнать, насколько оптимально использовать для этой работы файлы и действительно ли это быстрее, чем работа с базой данных... ... Структура такова: allsein — данные о заходах с поисковиков по разным запросам хост | искомая фраза дата, количество заходов... ... хост | искомая фраза дата, количество заходов... ... agent — данные о броузерах и ботах user-agent броузера дата, количество заходов... ... user-agent броузера дата, количество заходов... ... pages — данные о посещенных страницах страница дата, количество заходов... ... страница дата, количество заходов... ... rss_agent — данные о запросах от RSS-ридеров user-agent ридера дата, количество заходов... ... user-agent ридера дата, количество заходов... ... source — данные об источниках трафика URL страницы-источника дата, количество заходов... ... URL страницы-источника дата, количество заходов... ... В качестве дат (видимо для оптимизации) используются целочисленные значения, равные количеству дней, прошедших с некой фиксированной даты (1 января 2000 года)... ... Таким образом, чтобы узнать, сколько человек посетило страницу stat... ... html'][к-во дней] Число, которое мы «увидим» в этой ячейке и будет искомым количеством посетителей нашей страницы... ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... Если вы внимательно прочли предыдущий абзац, то уже должны понимать, что при небольшом количестве элементов в массиве операция проходит относительно быстро... ... она требует перебора части (а в худшем случае всех ) элементов массива и для каждого из них необходимо сделать сравнение достаточно длинных текстовых строк... ... Если же такой ячейки нет, то ее необходимо создать и поместить в нее единицу... ... тут затронута обработка данных только из одного «раздела» статистики (а ведь скрипт еще должен скорректировать данные и в остальных), не описан блок, который проверяет доступность сайта для данного юзер-агента и хоста-источника (а он жрет времени тоже немало), не учтены потери на выделение/освобождение памяти и копирование целых веток массива, если автор решил (для упрощения программирования) отделить часть массива например так: Пример кода $as = $ar['allsein']... ... При нормальном (читай « грамотном ») подходе тут будут использованы аж три таблицы: в первой будут храниться хосты поисковиков (по одному на запись), во второй — запросы с хостов (каждый запрос в отдельной записи), ну и в третьей — собственно количество посетителей по дням для каждой из искалок по каждому из запросов... ... :-) Структура, например, такая: Структура таблиц Таблица se_hosts -------------------- ID1 — уникальный числовой номер (используется для связи таблиц) Host — имя хоста поисковика Таблица se_query --------------------- ID2 — уникальный числовой номер (используется для связи таблиц) SH_ID — уникальный номер для ссылки на первую таблицу Query — текст искомой фразы Таблица se_hits ------------------- Q_ID — уникальный номер для ссылки на вторую таблицу Date — кво-дней с 1 января 2000 года Hits — количество хитов за этот день Естественно первая и третья таблицы будут иметь индексы по первым двум полям, а вторая — по всем... ... Скрипт должен получить данные из базы о количестве хитов «за сегодня»... ... Но суть не в этом, а в том, что количество этих операций будет намного меньшим... ... Весь диапазон значений (количество записей в таблице) делится пополам и сравнение искомого значения происходит со значением поля сразу из середины таблицы... ... Для работы механизма БД, система должна будет загрузить целиком в память три файла индексов... ... После того как мы нашли с помощью индексов нужную запись, ее требуется загрузить в память... ... Да еще про кэширование вспомним :-) Кстати, если ваш сайт достаточно посещаем, то файл статистики будет расти как на дрожжах и каждое обращение к скрипту будет вызывать чтение/парсинг/поиск/сохранение всех этих десятков мегабайт, а при использовании БД при любом количестве посетителей нам все так же будет нужно читать всего несколько сотен байт (три записи из таблиц), а записать - только 12 байт... Подробнее: http://fit-media.com/post_1222679684.html


  2. Максимум производительности

    Степень соответствия запросу: 13,87%
    Фрагменты текста поста :
    ... Например, производительность работы человека увеличивается, если все необходимые данные находятся "... ... Три операции, которые можно упростить Работая на компьютере, пользователи выполняют три основных операции: Принимают решения на основе информации, касающейся текущей задачи Собирают данные, необходимые для выполнения текущей задачи Манипулируют компьютером с помощью элементов управления Например, пользуясь автомобилем, пользователи вначале решают, куда они хотят ехать... ... Если рассмотреть каждый из этих шагов, уменьшая количество решений, которые необходимо принимать человеку, позволяя компьютеру самому собирать данные, и уменьшая количество манипуляций, необходимых для достижения цели, то производительность человека при работе с компьютером значительно увеличится... ... Единственное решение, которое необходимо принять обычному его пользователю &ndash... ... Это объясняет большую популярность таких аппаратов, которые сами проводят необходимые настройки, чтобы фотография получилась хорошо освещенной и правильно сфокусированной... ... Для того, чтобы получить хорошую фотографию, вы должны установить такую диафрагму и время выдержки, чтобы в камеру попало оптимальное количество света... ... Такая система все еще будет поддерживать способность пользователя к принятию решений, в то же время устраняя ту часть операции, где необходимы манипуляции с механизмом... ... , и более абстрактные, сообщающие машине то, чего она знать не может... ... Действительно ли необходимо второе окно, или же задание можно выполнить с помощью одного... ... Уменьшение необходимости ввода данных Следующие методы могут увеличить производительность ввода данных, уменьшая количество необходимой для ввода информации: Автоматически заполняйте поля новой записи значениями предыдущей... ... Действительно ли данная информация необходима для выполнения этой задачи... ... Этот метод зависит от доступности необходимой информации... ... Все что пользователю необходимо знать &ndash... ... Да еще и сами браузеры содержат большое количество кнопок и меню... ... Чтобы ответить на этот вопрос и решить, нужна ему эта настройка или нет, пользователю придется узнать все о ней... Подробнее: http://fit-media.com/post_1207048697.html


  3. Урок информатики для мелкософта (пояснение к залепе №8)

    Степень соответствия запросу: 4,24%
    Фрагменты текста поста :
    ... Выходило, что чтобы получить оптимальное по скорости и памяти решение (например драйвер устройства или часть ядра ОС) необходимо использовать только ассемблер, напороть ошибок в котором проще простого... ... возможность указать, что переменная должна храниться в регистре процессора, а не в памяти... ... возможность управления размещением переменных и полей структур в памяти... ... команды выделения/освобождения памяти... ... Но тут я хочу напомнить, что создание объекта - это не только выделение памяти под сам объект, но и создание и инициализация всех его членов-полей (которые, в свою очередь, тоже могут быть объектами), а также выполнение конструктора этого объекта и всех конструкторов всех его предков... ... Ну, а если этот объект представляет собой, например, таблицу из базы данных, который, вдобавок ко всему сказанному, при инициализации будет устанавливать соединение с этой самой БД и загрузку данных из нее, отъедая не только память и процессорное время, но еще и канал связи... ... теперь ссылается на тот же объект в памяти, на который ссылается a... ... Вот так и будет у нас болтаться в памяти фантом (на который ссылается переменная c ), который должен быть давным-давно уничтожен, а правильнее - просто откорректирован еще в методе operator+=() , создание которого майкрософт возложило на компилятор и ( внимание... Подробнее: http://fit-media.com/post_1198760520.html


  4. 14 принципов создания вежливых программ

    Степень соответствия запросу: 2,76%
    Фрагменты текста поста :
    ... С другой стороны, как только наша беседа закончится, и я начну вертеть головой в поисках Рауля, я жду, что он сразу же поспешит к моему столику, чтобы узнать, что мне нужно... ... Когда я провожу презентации, мне необходимо временно сменить разрешение на 800х600 чтобы оно соответствовало низкому разрешению моего видео-проектора... ... Я не хочу знать, насколько трудна работа компьютера... ... С другой стороны, все мы должны знать, что происходит... ... Я не хочу узнать 21 ноября в мясной лавке, что индюшки на День Благодарения кончились... ... Я хочу знать заранее, что объем партии ограничен и заказ нужно сделать заранее... ... Программа должна знать это, и не выводить их на экран... ... Я называю эту способность человека действовать вне существующей схемы обработки информации до того, как все необходимы реквизиты будут доступны подстраиваемостью... Подробнее: http://fit-media.com/post_1203349390.html


  5. Пользовательский интерфейс

    Степень соответствия запросу: 2,03%
    Фрагменты текста поста :
    ... Первое и важное замечание - необходимо отличать профессионального пользователя (т... ... Во-вторых, ему не нужно каждый раз заглядывать в руководство, чтобы узнать, как выполняется то или иное действие... ... Примером неудачной метафоры, точнее ее полного отсутствия там, где она необходима, может служить Explorer Windows... ... Создавая анимационный интерфейс, надо закладывать систему динамических визуальных сигналов с самого начала, поскольку они являются столь же естественной, сколь и необходимой частью анимационного интерфейса... ... количество разных различимых вариаций) динамических сигналов огромна... ... Здесь уместна аналогия с музыкой, где из небольшого количества нот составляется неисчислимое множество мелодий... ... После выработки сквозного визуального решения необходимо прорисовать картинки, называемые у аниматоров "фонами"... Подробнее: http://fit-media.com/post_1204019048.html


  6. Залепа №13. О грамотном проектировании и неграмотном IDE.

    Степень соответствия запросу: 1,61%
    Фрагменты текста поста :
    ... Здравый смысл подсказывает, что справочник должен быть представлен неким классом (назовем его CUserMgr ), который позволяет основной программе получить все необходимые данные о пользователе и скрывает всю внутреннюю структуру внутри себя... ... создание глобальных классов нужных нам форм ни к чему хорошему не приведет: о существовании этих форм должен знать только CUserMgr , остальные о них не должны даже подозревать, т... ... Нам необходимо создать отдельный класс, представляющий собой запись из БД (информацию об отдельном пользователе)... ... Теперь нашему окну редактирования пользователя (классу CUser ) уже не нужно обращаться к классу CUserMgr за информацией - все необходимое он содержит в себе... ... Но если это будет справочник артикулов продукции, которых может быть несколько десятков тысяч, то мы получи дикий перерасход памяти, ведь для каждого объекта будет создано отдельное (пусть и скрытое) окно... ... Это вызовет не только расход памяти, но и будет существенно тормозить программу... Подробнее: http://fit-media.com/post_1204892317.html


  7. Оптимизация PHP-кода

    Степень соответствия запросу: 1,22%
    Фрагменты текста поста :
    ... Устанавливайте максимальное количество повторений ваших циклов for до цикла, а не во время его выполнения... ... Удаляйте свои переменные для освобождения памяти, особенно если это большие массивы... ... Если вам необходимо определить время, когда скрипт был запущен, лучше используйте $_SERVER[&rsquo... ... Скорость вызовов метода, не зависит от количества методов в классе... ... это высокопроизводительная система кэширования объектов в памяти, которая повышает скорость веб-приложений за счёт уменьшения времени загрузки БД... ... Часто это излишне, поскольку методы и объекты занимают много памяти... Подробнее: http://fit-media.com/post_1207831883.html


  8. Идея глобального контента

    Степень соответствия запросу: 1,22%
    Фрагменты текста поста :
    ... Список полей: Уникальный идентификатор ( id ) Идентификатор статьи с в блоге, к которой относится данный комментарий ( parent_id ) Заголовок ( title ) Собственно текст ( content ) Идентификатор автора ( user_id ) Дата создания ( created ) Флаг промодерированности ( published ) Как видим, поля всё теже, что и для статичной страницы, отличие лишь в количестве... ... Используются все теже поля, что и для записи в новостях, но с небольшими дополнениями: цена единицы товара ( price ) количество товара на складе ( number ) картинка товара, лишь для удобства - никто не запрещает ее вставить в само описание товара ( image ) Итог... ... Разработчику модуля нужно лишь сообщить системе, какие именно поля будет использовать его модуль и система сама сможет создать все необходимые формы для ввода/редактирования данных, с необходимой валидацией... ... ), то она запросто может сканировать его и строить необходимые для реализации поиска по сайту таблицы... ... БД постоянно будет использовать одну таблицу, а значит часть ее всегда будет торчать в памяти (кэше), соответственно запросы должны выполняться гораздо быстрее... Подробнее: http://fit-media.com/post_1242742678.html


  9. Оптимизируем мышиную возню

    Степень соответствия запросу: 0,76%
    Фрагменты текста поста :
    ... А потому им лучше знать, что и как будет для пользователя удобнее... ... Как уже было сказано в предыдущих постах, чем большим количеством устройств ввода приходится пользоваться юзеру для работы с программой, тем менее удобен такой интерфейс... ... Вот некоторые мысли, которые помогут значительно улучшить интерфейс ориентированный на использование мыши: На панелях окон желательно разместить максимальное количество кнопок различных действий Естественно, в первую очередь это должны быть кнопки наиболее часто употребляемых команд... ... Это существенно расширяет количество выполняемых с помощью мыши команд... Подробнее: http://fit-media.com/post_1199978157.html


  10. Все ли CMS одинаково полезны?

    Степень соответствия запросу: 0,76%
    Фрагменты текста поста :
    ... А когда количество подконтрольных сайтов переваливает за пару десятков у мани-мэйкера начинается настоящая головная боль... ... знать всякие сетевые заморочки типа HTML или CSS для работы с этой CMS совсем не нужно - система достаточно грамотная, чтобы понять, что от нее хочет очередной сайто-строитель... ... Но вот если количество сайтов начинает измеряться десятками, то создание персонального дизайна для каждого из них становится настоящим кошмаром... ... Большинство CMS не утруждают себя даже тупым подсчетом количества посетителей... Подробнее: http://fit-media.com/post_1200405197.html


История внешних поисковых запросов

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,34840 сек.
  • Память: 17 664 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS