Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
Найдено страниц: 39 [показано 10]
Файлы vs базы данных.
Степень соответствия запросу: 93,66%
Фрагменты текста поста : ... Второе... ... Просто одной командой вы можете превратить ваш супер запутанный массив в текст, а второй точно также вернуть все обратно... ... Первое на что хотелось бы обратить внимание — это тот факт, что подобную структуру не удастся (по крайней мере целиком) уложить в одну таблицу, а это значит будут использованы несколько связанных таблиц ( реляционная структура )... ... При нормальном (читай « грамотном ») подходе тут будут использованы аж три таблицы: в первой будут храниться хосты поисковиков (по одному на запись), во второй — запросы с хостов (каждый запрос в отдельной записи), ну и в третьей — собственно количество посетителей по дням для каждой из искалок по каждому из запросов... ... каждой записи из первой таблицы соответствуют несколько записей из второй, каждой из которых соответствуют несколько записей из третьей... ... :-) Структура, например, такая: Структура таблиц Таблица se_hosts -------------------- ID1 — уникальный числовой номер (используется для связи таблиц) Host — имя хоста поисковика Таблица se_query --------------------- ID2 — уникальный числовой номер (используется для связи таблиц) SH_ID — уникальный номер для ссылки на первую таблицу Query — текст искомой фразы Таблица se_hits ------------------- Q_ID — уникальный номер для ссылки на вторую таблицу Date — кво-дней с 1 января 2000 года Hits — количество хитов за этот день Естественно первая и третья таблицы будут иметь индексы по первым двум полям, а вторая — по всем... ... Второе... ... Итак, сперва производим поиск в первой таблице... ... Если не использовать индексы, то для выполнения этой операции придется провести сравнение имен хоста с содержимым поля Host первой таблицы для части (а в худшем случае всех ) записей... ... Индексный файл содержит копию проиндексированного поля (или полей) из таблицы БД, но в отсортированном виде... ... Весь диапазон значений (количество записей в таблице) делится пополам и сравнение искомого значения происходит со значением поля сразу из середины таблицы... ... Таким образом, одной операцией сравнения мы сразу определяем в какой из половин таблицы находится нужная нам запись, т... ... Затем оставшийся диапазон (половина таблицы) снова делится пополам и все повторяется до тех пор, пока мы не найдем нужную запись, либо убедимся, что ее нет... ... Для примера, в таблице из 100 записей для поиска любого значения в наихудшем случае понадобится всего 7 сравнений... ... Как нетрудно догадаться поиск во второй таблице нам даст уже экономию времени в 15*10 = 150 раз... ... во второй таблице при поиске будет использоваться фильтрация по SH_ID (нам же нужны фразы только с найденного хоста, а не все подряд)... ... Ну и третья таблица — ускорение в 150*10 = 1500 раз... ... Нам нужно загрузить ТОЛЬКО ОДНУ ЗАПИСЬ , а вовсе не всю таблицу... ... В нашем случае размер записи (для третьей таблицы) составляет 12 байт , ведь там только три поля — Q_ID , Date и Hits , каждое из которых представляет собой 32-битное число и занимает 4 байта... ... Естественно, размер записей в первых двух таблицах (а их нам тоже придется загружать в процессе поиска) немного больше, но все равно он измеряется десятками байт , а не мега байт... ... Запись считали, увеличили на единицу и снова записали НА ТОЖЕ МЕСТО в файле таблицы... ... Поскольку записи в нашей третьей таблице (в данном случае) также будут иметь фиксированную длину, то поиск нужной внутри файла также сведется к одному сложению и одному умножению, а уж прочесть и снова записать на тоже место 12 байт — милисекундное дело (даже с учетом автоматической коррекции индексного файла)... ... Да еще про кэширование вспомним :-) Кстати, если ваш сайт достаточно посещаем, то файл статистики будет расти как на дрожжах и каждое обращение к скрипту будет вызывать чтение/парсинг/поиск/сохранение всех этих десятков мегабайт, а при использовании БД при любом количестве посетителей нам все так же будет нужно читать всего несколько сотен байт (три записи из таблиц), а записать - только 12 байт... ... Ну и конечно не забудьте о том, что поиск можно производить не в каждой таблице по отдельности, а сразу во всех, одной командой: Пример запроса SELECT Hits FROM se_hosts, se_query, se_hits WHERE ID1 = SH_ID AND ID2 = Q_ID AND Date = 3085 что еще даст еще больший выигрыш, т... ... записи из первых двух таблиц не нужно будет передавать в скрипт, а мотор СУБД обработает их сам и очень-очень быстро... ... В реальных же реляционных СУБД, где работают десятки (а то и сотни) связанных между собой таблиц этот выигрыш измеряется уже далеко не тысячами... Подробнее: http://fit-media.com/post_1222679684.htmlИдея глобального контента
Степень соответствия запросу: 1,4%
Фрагменты текста поста : ... По теме проектирования баз данных написано множество книг и статей, но все они содержат больше технической информации (описания систем индексации, поиска и связывания таблиц) и предлагают дробить всю информацию на множество таблиц, не забыв склеить все это в тугой узел с помощью связей (relations) и зависимостей... ... Проанализировав описанное выше, можно легко сделать вывод, что при проектировании CMF логично создать всего одну (большую) универсальную таблицу в базе данных для хранения практически любого вида контента... ... ), то она запросто может сканировать его и строить необходимые для реализации поиска по сайту таблицы... ... Сюда же стоит отнести и возможность отслеживания обновления контента без участия системы оповещения (событий) , а так же и решение многих проблем, связанных с кэшированием... ... БД постоянно будет использовать одну таблицу, а значит часть ее всегда будет торчать в памяти (кэше), соответственно запросы должны выполняться гораздо быстрее... ... форма таблиц БД%%%  ... Подробнее: http://fit-media.com/post_1242742678.htmlЗалепа №12. Microsoft не знает собственного кода.
Степень соответствия запросу: 1,18%
Фрагменты текста поста : ... Безусловно, чем больше различных свойств, методов и событий предусмотрели для класса его создатели, тем более гибок он будет в использовании... ... Обратим свое внимание на набор обрабатываемых любым контролом событий, связанных с клавиатурой... ... Для решения проблемы разработчики и ввели событие OnKeyPress... ... Фактически оно наступает, когда в буфер клавиатуры попадает очередной символ и обработчик этого события получает как раз код символа, а не клавиши... ... Соответственно это событие не наступает для нажатий/отпусканий таких клавиш как Shift , Alt , Ctrl , F1 - F12 , Tab и т... ... } } Как видно из примера, для такой простой вещи, как удаление из потока заведомо лишних символов, требуется писать обработчики для сразу ДВУХ событий, да еще и переменную использовать... Подробнее: http://fit-media.com/post_1203179184.htmlЗалепа №10 Cупер-хренорезка может все. Только хрен не режет.
Степень соответствия запросу: 0,85%
Фрагменты текста поста : ... } и подцепил на него события OnEnter от всех комбо-боксов... ... И, как показывает практика, может оказаться вовсе и не методом, а например свойством или даже событием... ... Видимо я старею, не поспеваю за прогрессом, отстаю от жизни, а все нормальные кодеры уже давно пихают туда таблицы, прогресс-бары и кнопки всех мастей... ... Эти два свойства предназначены видимо для тех мега-программеров, которые осилили учебник языка C# только до раздела "События", а дальше - забили... ... если разработчик знает, что такое события и как отследить изменение размеров окна, то для него потребность в этих свойствах никогда не возникнет... ... Ну и под конец два гениальных события: ContextMenuChanged и CursorChanged... ... ), второе - (держитесь за стул, ибо упадете) наступает, когда поменялся курсор... ... Хоть убейте, но практического применения этим событиям я придумать не могу... Подробнее: http://fit-media.com/post_1202303173.htmlХроники одной лаборатории
Степень соответствия запросу: 0,82%
Фрагменты текста поста : ... Знакомлюсь со сленгом и основными ценностями нового коллектива... ... Экскуpсия по основным установкам, одну из котоpых ввеpяют нам... ... Основные ценности воспpинимает пpавильно и выносливо... ... Так что установку он забиpает, если до вечеpа не начнется войны... ... Ждали войну... ... Подбиpали волну, фазу и фоpму импульса... ... Занимаемся пучковым оpужием по пpогpамме звездных войн... Подробнее: http://fit-media.com/post_1231685617.htmlПользовательский интерфейс
Степень соответствия запросу: 0,54%
Фрагменты текста поста : ... В этом контексте очень интересно сравнить материалы по пользовательским интерфейсам в российской компьютерной прессе (напоминающие мне рецензии искусствоведов на художественные выставки) и классическую книгу Дональда Нормана "Психология повседневных вещей" ("The Psychology of Everyday Things"), где основным примером книги оказался дизайн дверных ручек... ... Например, такой интерфейсный элемент как линейка прокрутки находится в противоречии с одним из основных принципов психологии восприятия: у человека может быть только одна точка активного внимания... ... В нем есть понятие "контролов" - интерфейсных элементов, с которыми в основном и происходит взаимодействие... ... Так же как при создании игр главным является баланс между сложностью игры и ее увлекательностью, выработка которого занимает основное время, так и в интерфейсе должен обеспечиваться баланс между функциональными возможностями программы, возможностями манипуляции ею и ее изобразительным рядом... ... Основной проблемой в интерфейсе с пользователем является синхронизация точки внимания пользователя и точки активности системы... ... Второй пример - изменение изображения кнопки при нажатии на нее мышью... ... На каждом такте работы такой программы заново строится изображение на экране, а события, инициированные пользователем, например ввод с клавиатуры, отрабатываются всего лишь изменением состояния программы... ... Основной задачей дизайнера становится организация не неподвижного пространства, а целой серии пространств, неразрывно связанных между собой... Подробнее: http://fit-media.com/post_1204019048.htmlКраткий чатлано-пацакский словарь
Степень соответствия запросу: 0,48%
Фрагменты текста поста : ... Краткий чатлано-пацакский словарь До второй мировой войны в советских школах массово преподавали немецкий язык, во время холодной войны &mdash... ... священная война)... ... Часто происходит на просторах мировой сети &mdash... Подробнее: http://fit-media.com/post_1215949289.htmlМаксимум производительности
Степень соответствия запросу: 0,41%
Фрагменты текста поста : ... Три операции, которые можно упростить Работая на компьютере, пользователи выполняют три основных операции: Принимают решения на основе информации, касающейся текущей задачи Собирают данные, необходимые для выполнения текущей задачи Манипулируют компьютером с помощью элементов управления Например, пользуясь автомобилем, пользователи вначале решают, куда они хотят ехать... ... Действительно ли необходимо второе окно, или же задание можно выполнить с помощью одного... ... Второй подход - минимизация ввода информации - может быть довольно сложным для применения по довольно неожиданной причине... ... На втором шаге удостоверьтесь, что оставшиеся решения действительно относятся к задаче пользователя, а не машины... Подробнее: http://fit-media.com/post_1207048697.htmlИскать или не искать - вот в чем вопрос.
Степень соответствия запросу: 0,34%
Фрагменты текста поста : ... Заработок любыми средствами, удобство посетителей на втором плане - почти эталон спартанского минимализма в действии... ... Вторым заметным недостатком является поиск по сайту... ... Если не вдаваться в подробности, то этот алгоритм просто сравнивает два слова и выдает число, которое является показателем, сколько нужно сделать вставок, замен и удалений символов, чтобы из первого слова получить второе... ... Остается только второй вариант - использование сторонних сервисов... Подробнее: http://fit-media.com/post_1245195136.html300-летие битвы при Лесной
Степень соответствия запросу: 0,3%
Фрагменты текста поста : ... Именно в этой деревне находился русский царь Петр I, когда состоялась битва, изменившая ход Северной войны... ... белорусская деревня, близ которой 28 сентября 1708 года, во время Северной войны, 12-тысячный летучий отряд Петра I разбил 16-тысячный шведский корпус Левенгаупта... ... Когда все более-менее расположились, начался молебен в честь погибших участников Северной войны... ... Во-первых нужды такой не было, а во-вторых потому, что располагался он метров за 300-350 от центра событий... ... Из всех казусов и ляпов больше всего радости мне доставили пушки времен Северной войны... ... И, как ни странно, подход районных коллективов оказался просто разительно отличающимся от области (которая и организовывала основные действия)... Подробнее: http://fit-media.com/post_1223377088.html
