Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
Найдено страниц: 29 [показано 10]
Файлы vs базы данных.
Степень соответствия запросу: 72,48%
Фрагменты текста поста : ... Файлы vs базы данных... ... сохраняющие данные в файлах... ... Непонятно почему, но народ истово верит в то, что именно такой подход (отказ от использования систем управления базами данных и хранение данных в файлах) дает гораздо большую производительность... ... Давайте рассмотрим процессы, проистекающие на сервере при работе КМС "на файлах" и сравним их с аналогичными процессами при использовании СУБД... ... Пользователям скриптов других производителей, также использующих файлы в качестве хранилища данных этот пост также должен быть интересен... ... Вся эта информация сохраняется в файл и позже, на ее основе, генерируются графики посещаемости по дням, «хит-парад» страниц сайта, сайтов-источников трафика и используемых для просмотра броузеров и прочая мега-полезная отчетность... ... Нам гораздо важнее узнать, насколько оптимально использовать для этой работы файлы и действительно ли это быстрее, чем работа с базой данных... ... Особенность хранения данных Lasto-блогом такова, что статистика хранится в нескольких файлах: hits... ... Кстати, анализируя этот файл можно увидеть, какие страницы сайта проиндексированы какими поисковыми системами (были посещены поисковыми ботами) и когда это произошло... ... db — а вот на этот файл стоит обратить особое внимание... ... html в определенный день, нужно сперва вычислить сколько дней прошло с 1 января 2000 года до искомой даты, затем «заглянуть» в ячейку массива Пример кода $ar['pages']['/stat... ... Нужно сперва собрать «заготовку», состоящую из домена поисковика и искомой фразы, разделенных двумя символами вертикальной черты, а затем просмотреть все элементы массива («раздел» allsein) на предмет ПОЛНОГО строкового равенства (совпадения)... ... Скрипт считывает в память ВЕСЬ файл статистики, не взирая на размер ( если посещаемость высокая или статистика собирается за большой срок, то это могут быть десятки или даже сотни мегабайт )... ... Язык PHP содержит пару функций ( serialize и unserialize ), предназначенных для преобразования массива в строку и обратно... ... Первая склеивает все элементы массива (разделяя их спец-символами с технической информацией) и возвращает полученную текстовую строку... ... Вторая делает обратное преобразование из строки в массив... ... Прикол в том, что unserialize восстанавливает точную копию исходного массива , даже если он многомерный, даже если его элементы представляют собой тоже массивы, которые в свою очередь тоже содержат массивы... ... Просто одной командой вы можете превратить ваш супер запутанный массив в текст, а второй точно также вернуть все обратно... ... приходится парсить (разбирать) огромный объем текста, выискивая в нем те самые спец-символы, по ним восстанавливать значения исходных ячеек и клеить их в результирующий массив... ... Итак, скрипт загружает текстовый файл и преобразует его в массив... ... Если вы внимательно прочли предыдущий абзац, то уже должны понимать, что при небольшом количестве элементов в массиве операция проходит относительно быстро... ... она требует перебора части (а в худшем случае всех ) элементов массива и для каждого из них необходимо сделать сравнение достаточно длинных текстовых строк... ... Случаи когда с данной поисковой машины еще не было посетителей и нужно создавать целую ветку массива рассматривать не будем... ... Серилизация (склейка элементов массива в строку) и перезапись (опять же) ВСЕГО файла статистики... ... тут затронута обработка данных только из одного «раздела» статистики (а ведь скрипт еще должен скорректировать данные и в остальных), не описан блок, который проверяет доступность сайта для данного юзер-агента и хоста-источника (а он жрет времени тоже немало), не учтены потери на выделение/освобождение памяти и копирование целых веток массива, если автор решил (для упрощения программирования) отделить часть массива например так: Пример кода $as = $ar['allsein']... ... // выделяем данные о заходах с искалок в отдельный массив Все это уже не столь важно... ... Главное то, что ПРИ ЛЮБОМ ХИТЕ (даже переходе серфера с одной страницы сайта на другую) происходят ВСЕ описанные операции — чтение, разбор, поиск, склейка, запись и выполняются они над ВСЕМ содержимым файла статистики... ... За счет кэширования вы выиграете часть времени на чтении/сохранении файла статистики, но как быть с массивом... ... А значит парсинг текста и построение массива, равно как и последующая склейка все равно будут выполняться при каждом обращении к скрипту (сайту)... ... К тому же не стоит забывать, что пока одна копия запущенного скрипта копается в вашем (пусть и прокэшированном) файле, все другие будут тихо и мирно курить в сторонке... ... Другими словами, пока идет обработка одного посетителя, все остальные будут ждать ибо для них доступ к файлу статистики окажется заблокированным... ... И хотя это будет гораздо быстрее чем сканирование массива (за счет работы библиотечных функций) все равно потребует много времени... ... Индексный файл содержит копию проиндексированного поля (или полей) из таблицы БД, но в отсортированном виде... ... Благодаря тому, что мы проиндексировали поле с именем хоста, мы находим нужную запись в 15 раз быстрее, чем в массиве (буду брать наихудший вариант)... ... Для работы механизма БД, система должна будет загрузить целиком в память три файла индексов... ... для перехода к нужной записи достаточно просто размер заголовка файла добавить к произведению размера записи в байтах на номер записи и получаем точное смещение от начала файла... ... Запись считали, увеличили на единицу и снова записали НА ТОЖЕ МЕСТО в файле таблицы... ... Поскольку записи в нашей третьей таблице (в данном случае) также будут иметь фиксированную длину, то поиск нужной внутри файла также сведется к одному сложению и одному умножению, а уж прочесть и снова записать на тоже место 12 байт — милисекундное дело (даже с учетом автоматической коррекции индексного файла)... ... Да еще про кэширование вспомним :-) Кстати, если ваш сайт достаточно посещаем, то файл статистики будет расти как на дрожжах и каждое обращение к скрипту будет вызывать чтение/парсинг/поиск/сохранение всех этих десятков мегабайт, а при использовании БД при любом количестве посетителей нам все так же будет нужно читать всего несколько сотен байт (три записи из таблиц), а записать - только 12 байт... Подробнее: http://fit-media.com/post_1222679684.htmlAJAX — WEB 2.0 за 5 минут
Степень соответствия запросу: 8,06%
Фрагменты текста поста : ... Поскольку вся библиотекуа представляет собой всего один обычный файл с java-скриптом, то и подключается он стандартным HTML-тэгом: Пример кода <... ... Поэтому сделаем файл, который будет посылать некий ответ на наш запрос... ... Для этого создадим HTML-файл, например, такого банального содержания: Содержимое файла text... ... после выполнения функции mytest() внутри контейнера будет помещено содержимое нашего файла (в данном примере это будет надпись "... ... /a> Итак, полный код примера: Полный код файла index... ... /html> Сохраните файлы index... ... Файл будет зваться name... ... Код: Файл name... ... вы не сможете с его помощью закачать на сервер файлы... ... вам вообще ничего не придется программировать :) Не станем здесь городить огород с реальной загрузкой файлов, просто выведем данные о загруженном файле... ... Код скрипта (файл file... ... php): Файл file... Подробнее: http://fit-media.com/post_1262093659.htmlDropBox - убийца фалообменников
Степень соответствия запросу: 7,76%
Фрагменты текста поста : ... Это значит, что стоит вам удалить какой-то файл из этой папки, как он тут же будет удален с сервера... ... для удаления файла с сервера достаточно просто удалить этот файл из своей папки... ... , а так же валяется непонятный RTF файл, который можете сразу же стереть &mdash... ... Поэтому если вы хотите, чтобы кто-то кроме вас мог скачать файлы из вашего аккаунта, то вы должны разместить эти файлы внутри одной из этих папок... ... Все остальные папки и файлы, которые вы можете создать и которые НЕ будут находиться внутри папок Public или Photos никогда не будут доступны другим пользователям (за одним маленьким исключением, которое называется "... ... и сотрите все, что в ней есть (файл RTF с описанием работы и пример готового альбома)... ... и скопируйте в нее несколько фотографий: Если файлы большие или ваше соединение с интернет не очень быстрое, то вы заметите, что у каждой иконки сперва появляется синий значек с двумя стрелочками, который потом заменяется на зеленый с галочкой... ... файл или папка еще закачивается на сервер, зеленый  ... ... файл или папка успешно закачаны... ... в том, что в ней нельзя расшарить (сделать публично-доступным) один какой-то файл, только целиком альбом (вложенную папку)... ... Если же вам нужно раздавать файлы по одному, то вам нужно воспользоваться папкой "... ... в ней можно получить паблик-ссылку на любой вложенный файл, но нельзя получить такую ссылку на папку... ... раздавать файлы можно только по одному... ... Так что смело копируйте нужные файлы в папку Public , получайте на них паблик-ссылки и заваливайте этим спамом все известные вам форумы... ... Еще раз напомню, что если вы удалите как-нить файлы из ваших папок Public или Photos (или любых других внутри папки My Dropbox ), то эти файлы тут же будут удалены с сервера... ... если какой-любо из закачанных файлов изменился, то перезалита будет только изменившаяся часть, а не весь файл... Подробнее: http://fit-media.com/post_1256945370.htmlЕсли не хочется кусать локти
Степень соответствия запросу: 6,21%
Фрагменты текста поста : ... Самый простой способ создания резервной копии — тупо откопировать важные файлы (и папки) в место резервного хранения... ... * f:\arhiv\ скопирует все файлы из папки texts диска C: на диск F: в папку arhiv... ... * f:\arhiv\ /Y /S Теперь она скопирует все содержимое папки texts диска C: , включая все вложенные папки и все файлы из них... ... В реальной жизни чаще нужно копировать не все подряд, а файлы определенных типов... ... Дело в том, что эти команды просто тупо копируют файлы из одного места в другое... ... При этом если в папке-приемнике уже есть файл с тем же именем, что и в папке-источнике, то он заменяется... ... Проблема в другом — если в исходной папке какой-либо файл был удален (например он больше вам не нужен), то в копии он все равно останется... ... * /S /F /Q Она уничтожит все файлы из папки архива и всех вложенных в нее папок... ... Обратите внимание на расширение этого файла, оно должно быть именно BAT , а не TXT... ... Достаточно одного файла чтобы создать сколько угодно копий... ... * f:\arhiv\doc\ /Y /S Этот файл создаст полные копии папок texts и prikaz диска C: и папки doc диска D:... ... копируются абсолютно все файлы, хотя делать это каждый раз вовсе не обязательно... ... Хорошо бы, добиться такого эффекта, когда: в копии заменяются только те файлы, которые изменились в оригинале в копию добавляются те файлы, которые появились в папке оригинала из копии удаляются все папки и файлы, которые удалились в оригинале... ... rar d:\work\prikaz В результате его работы в папке arhiv диска F: будут созданы три файла: texts... ... архиватору придется полностью упаковать все файлы из исходных папок... Подробнее: http://fit-media.com/post_1203529769.htmlПривратник-младший. Турбо-решение.
Степень соответствия запросу: 3,22%
Фрагменты текста поста : ... Но если вам важен каждый процент нагрузки сервера и плевать вы хотели на случайных серферов, пользующихся неправильными броузерами, то замените в файле pr... ... Чуть ниже в файле идет список стоп-слов, найдя которые в юзер-агенте скрипт безаговорочно выплюнет 404... ... Сохраняйте изменения и закачивайте его на сервер в папку с блогом (это папка, в которой расположены файлы functions... ... Теперь, чтобы подключить скрипт к блогу, необходимо внести изменения в файл... ... Настоятельно рекомендую скопировать куда-нибудь этот файл до того, как вы начнете его редакторовать... ... вам достаточно будет вернуть родной файл... ... Итак, вот содержимое файла... ... htaccess, который поставляется Вадимом в комплекте Lasto-Blog-B: Исходный файл... ... php А вот то, что должно быть после изменения: Модифицированный файл... ... php После изменений сохраните файл... Подробнее: http://fit-media.com/post_1225008537.htmlКак Заиконить Сайт
Степень соответствия запросу: 0,66%
Фрагменты текста поста : ... :) Второе - переименование файла... ... Файл иконки можно располагать в любой папке, доступной серферу... ... Более того, можно сделать так, что в разных папках будут лежать разные файлы иконок... ... :) Если Вы располагаете файл иконки не в дефолтовом месте (корневая папка сайта) и/или не с дефолтовым именем (favicon... ... Кстати, поскольку в этой строке можно записать полный путь (включающий домен сайта), то Вы запросто можете прикрепить себе иконку от чужого сайта... ... :) Все, что Вам потребуется - вписать строку AddType image/ICO ICO в файл... Подробнее: http://fit-media.com/post_1212879390.htmlСтатичные файлы vs скрипты. Невидимое зло.
Степень соответствия запросу: 0,56%
Фрагменты текста поста : ... Статичные файлы vs скрипты... ... в этом случае вэб-сервер тупо отсылает клиенту готовый файл и никаких запусков скриптов, парсингов, обращений к БД и прочей лабуды не выполняется... ... Но ведь при переносе сайта вам все равно придется переносить и скрипты (сам код CMS), так какая разница переносить только файлы CMS или файлы CMS плюс файлы дизайна... ... он в это время будет скачивать остальные файлы... ... если запрос использует пяток таблиц, завязанных перекрестными ссылками в тугой узел, обильно приправленный полу-десятком условий с сортировками, группировками и прочими JOIN'ами, то объем кода, который требуется написать, чтобы все это добро впихнуть в ту же ActiveRecord становится в несколько раз больше, чем сам чистый SQL-запрос... Подробнее: http://fit-media.com/post_1283692130.html14 принципов создания вежливых программ
Степень соответствия запросу: 0,45%
Фрагменты текста поста : ... Насс и Ривз использовали для тестов множество студентов-компьютерщиков, достаточно опытных для того чтобы самим написать тестовую программу... ... Я не хочу слышать ее нытье о том, что она не уверена, в какое место на диске записать файл... ... Если я прошу компьютер удалить файл, я не хочу чтобы он спрашивал у меня "Вы уверены... ... Я хочу, чтобы он имел смелость в своих убеждениях и удалил файл... ... С другой стороны, если компьютер имеет какие-то подозрения, что я могу ошибаться – что может быть всегда – он должен предусмотреть это, и подготовиться к возможному восстановлению файла, если я вдруг передумаю... Подробнее: http://fit-media.com/post_1203349390.htmlОптимизация PHP-кода
Степень соответствия запросу: 0,36%
Фрагменты текста поста : ... Удаляйте свои переменные для освобождения памяти, особенно если это большие массивы... ... Указывайте полные пути в командах include / require , поиск файла будет идти быстрее... ... Если функции замены строк, может принимать в качестве аргументов как массивы, так и одиночные символы, и если ваш список аргументов не слишком длинный, подумайте над тем, чтобы записать несколько одинаковых выражений замены, проходя один символ за раз, вместо одной строки кода, которая принимает массив поиска и замены Лучше использовать конструкции else if , чем несколько конструкций if... ... Не определяйте каждую структуру данных в виде класса - массивы бывают намного полезнее... Подробнее: http://fit-media.com/post_1207831883.htmlЗалепа №9. Microsoft друзей не признает.
Степень соответствия запросу: 0,23%
Фрагменты текста поста : ... Конечно, "дата" должна также уметь себя вывести, переслать в файл или из файла, сравнить себя с другими датами и так далее... ... // сохранили дату в файл cd... ... // прочи дату из файла int days = cd - new CDate("28... ... Сборки - это здорово по отношению к DLL , но убого по отношению к обычным библиотечным файлам, которые до... Подробнее: http://fit-media.com/post_1199568462.html
