Необходимость в переработке и дополнении предыдущего издания книги вызвана в первую очередь выходом в свет долгожданного для программистов всего мира единого международного стандарта по C++. Теперь можно быть уверенным, что уже в ближайшем будущем программы на C++ будут выглядеть и функционировать одинаково, независимо от того, в какой среде программирования и для какого компилятора они написаны. В книге сохранен весь материал двух предыдущих изданий, а также добавлено несколько новых глав и множество новых разделов.
Эта книга - наиболее удобное руководство для самостоятельного изучения C++ в соответствии с требованиями нового тандарта и рассчитана на читателей, уже владеющих языком программирования C. Методика подачи материала предполагает строго последовательное изучение глав, содержащих множество примеров программ, а также упражнений для проверки и повторения пройденного материала.
Книга (оригинальное название "C++ How to Program, Fifth Edition") является одним из самых популярных в мире учебников по C++. Характерной ее особенностью является "раннее введение" в классы и объекты, т. е. начала объектно-ориентированного программирования вводятся уже в 3 главе, без предварительного изложения унаследованных от языка С элементов процедурного и структурного программирования, как это делается в большинстве курсов по C++. Большое внимание уделяется объектно-ориентированному проектированию (OOD) программных систем с помощью графического языка UML 2, чему посвящен ряд факультативных разделов, описывающих последовательную разработку большого учебного проекта. В текст книги включена масса примеров "живого кода" - подробно комментированных работающих программ с образцами их запуска, а также несколько подробно разбираемых интересных примеров. В конце каждой главы имеется обширный набор контрольных вопросов и упражнений. Книга может служить учебным пособием для начальных курсов по C++, а также будет полезна широкому кругу как начинающих программистов, так и более опытных, не работавших прежде с C++.
Если Вам необходимо быстро и без затруднений развернуть на сайте удобный интернет-магазин, то этот скрипт создан специально для Вас.
Преимущества данного скрипта:
* Любое количество уровней вложенности разделов-подразделов для товаров.
* Информационные поля для товаров настраиваются при необходимости (возможность добавить любые необходимые поля для товаров).
* Удобный интерфейс корзины покупок и получения заказов по емейл.
* Весь дизайн магазина вынесен в отдельные файлы и полностью настраивается.
Paragon Drive Backup 9.0 (32-bit) - В случае выхода из строя аппаратуры или вирусной атаки переустановка операционной системы и приложений отнимет очень много времени, а некоторые (или все) данные могут оказаться безвозвратно утерянными, поэтому желательно заранее побеспокоиться об их сохранности. С помощью Drive Backup сделать это довольно быстро и просто, так как программа позволяет создавать архивные копий разделов и целых жестких дисков. Например, можно сделать резервную копию системного раздела с установленной на нем операционной системой после установки всех необходимых приложений. В этом случае, если в процессе работы произошел сбой системы, можно будет быстро восстановить рабочий раздел и продолжать работать.
Кроме этого, в дистрибутив входит утилита, которая пригодится тем, у кого на компьютере установлено несколько операционных систем - BootManager позволяет выбирать в процессе начальной загрузки, какую из установленных операционных систем следует загрузить.
При необходимости можно восстановить только нужные папки или файлы, не восстанавливая весь раздел целиком. Резервные копии (образы) могут располагаться на жестком диске, любом из его разделов, сменных носителях (CDROM, DVD, ZIP, JAZ, LS120), а также сетевых дисках. Drive Backup поддерживает все распространенные операционные и файловые системы: FAT16/32, NTFS, Ext2/3FS. Возможна запись образа непосредственно на CD/DVD диски, при этом образ будет автоматически разнесён на несколько дисков.
Drive Backup обладает также несколькими весьма полезными дополнительными функциями: создание, удаление, форматирование и восстановление удаленных разделов, клонирование жестких дисков, а также проверка целостности файловой системы.
Без регистрации: 30-ти дневный период работы; недоступны функции копирования жестких дисков и поиска и восстановления случайно удаленных разделов.
Данный документ является частичным переводом документации InterBase 4.2. Документ содержить перевод книги SQL Statement And Function Reference, которая описывает синтаксис и использование каждой функции и инструкции InterBase SQL, дополненный главами из других разделов документации. Этот справочник описывает синтаксис и использование каждой функции и инструкции InterBase SQL. Он включает следующие темы:
Объекты и концепции базы данных* содержит краткую информацию об объектах и концепциях базы данных InterBase.
Соглашения синтаксиса* - соглашения, используемые при описании синтаксиса инструкций SQL.
Список инструкций содержит алфовитный список всех инструкций.
Список функций содержит алфовитный список всех функций.
Типы данных - список типов данных доступных в SQL инструкциях InterBase.
Обработка ошибок - список значений, которые возвращены в SQLCODE.
Обратите внимание: Некоторые функции и инструкции могут быть использованы в DSQL или ISQL. Где такое расширение доступно, это отмечено в конце подраздела Описание в разделе, посвященном описанию функции или инструкции. Если это не отмечено специально, то функция или инструкция могут быть использованы только в SQL.
Посвящается одному из актуальных и бурно развивающихся разделов математической логики - теории алгоритмов, а также важнейшим ее связям с другими разделами математики. Является одним из лучших пособий для знакомства с основными направлениями, идеями и методами теории алгоритмов.
Настоящая книга возникла в результате обработки конспектов лекций по математиеской логике, теории алгоритмов и их приложений, читавшихся автором в 1956-1960 гг. Целиком за пределами книги остались теория автоматов, приложения теории алгоритмов к формальным теориям, теория степеней неразрешимости. Сколько-нибудь подробное изложение этих разделов в настоящее время требует специальных монографий.
Как обычно, от читателей не требуется никаких предварительных специальных знаний, выходящих за пределы программы средней школы. Доказательства всюду проведены полностью за исключением последних глав, где иногда опущены рассуждения рутинного характера, которые легко восстановит каждый читатель, добравшийся до этих глав.
Монография американских ученых, посвященная вопросам сложности решения комбинаторных задач, возникающих в дискретной оптимизации, математическом программировании, алгебре, теории чисел, теории автоматов, математической логике, теории множеств, теории графов и т.п. Книга отличается строгим и систематическим изложением теории в приложении содержится более 300 труднорешаемых задач из различных разделов математики.
Для математиков-прикладников, аспирантов и студентов университетов.
В форме практических рекомендаций рассмотрены основы программирования в среде Visual Basic for Applications (VBA) для создания приложений MS Excel. Изложение материала оформлено в виде отдельных разделов, в которых кратко представлена основная теория по конкретным темам, приведены примеры решения задач. Предлагаются варианты заданий для самостоятельного выполнения.
Для студентов вузов, может быть полезна всем желающим овладеть основами программирования в среде Visual Basic for Applications.
Конечно же вы попадали в такую ситуацию, когда приложение, разработанное вами ранее, могло быть снова использовано в рамках другого проекта. Вначале вы конечно же подумали, что это не создаст никаких проблем. Всего-то необходимо скопировать код из одного каталога в другой! Со временем вы осознали, что проекты могут различаться между собой различными параметрами, пусть даже самыми незначительными. Например, это может быть e-mail адрес на который отсылаются сообщения. В таком случае вам ничего не остается, как открыть множество файлов в редакторе и изменить их содержимое, вставляя нужный e-mail при помощи функции найти/заменить. Эта статья расскажет вам о том, как можно избавить себя от подобной работы, а так же порекомендует ряд дополнительных средств для создания и чтения конфигурационных файлов.
Повторное использование кода
Компьютер был изобретен для того, чтобы избавить человека от лишней работы. Развитие компьютерных технологий привело к тому, что человек стал стремиться все меньше времени проводить за компьютером. Допустим, вы программист. Не будь компьютера, вы бы остались без работы. Но в то же время вы стараетесь с помощью компьютера упростить свою ежедневную работы, с этой целью вы используете, например, функцию автозавершения кода в редакторе. Мы хотим подвести вас к той мысли, что код созданный вами, должен быть организован так, чтобы работы по его модификации были сведены к минимуму. Чаще всего это удается, когда вы создаете код, автоматизирующий рутинные операции, такие как создание и прорисовка формы, а так же отправка e-mail. Однако не стоит забывать, что функции для выполнения рутинных операций никогда не бывают на 100% идентичными в различных приложениях. Один формуляр не похож на другой, а сообщения электронной почты предназначены разным адресатам. Однако логика на уровне приложения остается прежней, функции различаются между собой только некоторыми параметрами. Таким образом, вы должны ясно представлять свою цель – разработать код, параметры которого можно было бы определять извне.
Модульная организация
Для решения этой задачи, планируя структуру приложения, вы должны позаботиться о модульности. То есть вам необходимо поместить часто используемые функции или классы в отдельный файл, который будет подключаться через require_once. В этом случае файлы приложения не будут наполнены избыточным кодом. Допустим, вы часто осуществляете запись в лог-файл. В таком случае было бы неплохо код, выполняющий эту операцию, заключить в рамки класса или функции. Будет еще лучше, если вы воспользуетесь уже готовым классом, взятым из какой-нибудь библиотеки исходных кодов, например PEAR.
Параметры процедурального кода
После того, как вы проанализировали код, выделили повторяющиеся фрагменты, распределили их по классам и функциям, необходимо подумать о выделении необходимых параметров, значения которых будут устанавливаться извне. Если речь идет о процедуральном коде, самым простым решением является использование глобальных переменных, которые необходимо определить в отдельном файле. Это позволит в дальнейшем без проблем изменять их значения.
Листинг 1 демонстрирует функцию, которая занимается отправкой e-mail. В ее теле содержится только одна php-функция - mail(). Таким образом, мы избавляемся от необходимости каждый раз указывать получателя при отправке сообщения. Следующая переменная, которую мы определяем, обозначает префикс, предшествующий теме сообщения. Конфигурационный файл, подключаемый через require_once, мог бы выглядеть следующим образом.
Listing 1
Есть способ лучше
Даже если рассмотренный выше способ и является действенным, однако это не самое лучшее решение. По мере того как код вашего приложения будет усложняться, вырастет и число опций, тогда могут возникнуть следующие проблемы:
Глобальные переменные, которые мы используем, могут породить конфликты в пространстве имен.
В том случае, если конфигурационные файлы редактируются не программистом, а дилетантом, в системе могут возникнуть синтаксические ошибки, например из-за незакрытых кавычек.
Для того, чтобы получить доступ к различным переменным, необходимо обращаться к массиву $_GLOBALS.
Вместо php-модулей существуют другие форматы, которые могут быть легко поняты и изменены дилетантами, а так же php-скриптами. Мы имеем в виду два формата: этого широко используемые операционной системой Windows ini-файлы, а так же формат XML.
PHP уже содержит функцию parse_ini_file(), которая без проблем читает ini-файлы. Такой файл имеет очень простую структуру. Каждой опции может быть присвоено только одно значение, а в качестве оператора присваивания используется знак равенства. Конфигурационный файл из предыдущего примера выглядел бы следующим образом в ini-формате.
После считывания ini-файла, имя которого передается в качестве параметра функции parse_ini_file(), мы получаем ассоциативный массив, имеющий вид:
В листинге 2 находится функция отправки почты, основанная на ini-файлах:
Listing 2
Если вы уже прочитали документацию по функции parse_ini_file(), вы кончено же заметили, что она может принимать и второй параметр. Он необходим, если вы хотите разделить ini-файл на несколько разделов или секций. Предположим, вам необходимо сохранить несколько настроек электронной почты. Тогда ini-файл будет выглядеть следующим образом:
"
Если вы при вызове parse_ini_file() передаете true в качестве второго параметра, в этом случае php будет искать в файле секции, а затем вернет многомерный массив, в котором каждой секции (errors и contact) будет соответствовать определенный набор значений:
Особые значения в ini-файлах
При использовании ini-файлов вы должны иметь в виду, что некоторые особые значения могут быть представлены строками. Допустим, вы определяете значение опции как true или yes (без кавычек), в таком случае они автоматически конвертируются в число 1, а false или no – в пустую строку. К сожалению, при этом не генерируется никакой ошибки. Поэтому не пытайтесь использовать no для сокращенного обозначения Норвегии.
Listing 3
Безопасность
Вы должны понимать то, что если конфигурационный файл используется для хранения важных данных, например паролей, необходимо позаботиться о том, чтобы содержимое такого файла не попало в web-браузер. Простейший выход из положения заключается в том, чтобы хранить конфигурационные файлы вне корневой директории сайта, например здесь: /etc/myApp/config
Если этого сделать нельзя, в таком случае можно изменить расширение файла. Для конфигурационного файла в формате модуля php необходимо всегда выбирать расширение .php. В этом случае сервер проанализирует php-файл, а пользователь увидит пустую страницу. С ini-файлами такое не пройдет, однако сервер Apache предоставляет возможность защитить данные. Просто поместите в каталог, где хранятся ini файл с именем .htaccess В него нужно поместить следующие строки:
Теперь сервер перестанет выдавать файлы с расширением ini, а опции приложения будут скрыты от пользователей.
Другие средства
Кончено же вы не являетесь единственным разработчиком, который сталкивается с проблемой обеспечения гибкости настроек веб-приложения. Поэтому некоторые программисты уже разработали библиотеки классов, которые переводят работу с конфигурационными файлами на абстрактный уровень, а так же упрощают запись и чтение различных форматов конфигурационных файлов.
PEAR::Config
Одним из классов, который может пригодится при чтении и записи конфигурационных файлов является PEAR::Config [3]. Как и все классы PEAR, PEAR::Config инсталлируется при помощи PEAR-Installer по команде
Этот класс является многоформатным, поскольку работает с конфигурационными файлами в форматах XMIL, ini, Apach-Style (гибрид XML и ini), а также php-массивами. Достоинством данного класса является то, что API для взаимодействия со всеми форматами одинаков. Т.е. логика работы с конфигурационными файлами в формате XML ничем не отличается от логики работы с ini-файлами. Вследствие этого необходимо, чтобы все форматы имели одинаковую структуру. Конфигурационные файлы, с которыми работает PEAR::Config, состоят, как и ini-файлы из секций.
Изменим снова наш пример. Сначала мы создаем объект Config, а затем вызываем его метод parseConfig(). Поскольку метод позволяет считывать различные форматы файлов, при вызове его необходимо передавать параметр, уточняющий формат. Для конфигурационных файлов в формате ini в качестве такого параметра используется строка iniFile. После считывания файла, мы не получаем опции в виде массива, вместо этого создается объект-контейнер, который дает доступ ко всем настройкам. Хотя во многих случаях бывает желательно получить опции в форме массива. Для этого используется метод toArray(). Листинг 4 демонстрирует считывание ini-файла:
Listing 4
С первого взгляда это может показаться несколько запутанным. Однако преимущество данного подхода заключается в том, что один и тот же метод используется для чтения всех форматов файлов, поддерживаемых PEAR::Config. Измененные опции могут быть также сохранены в любом формате:
Листинг 5 содержит код, где серия опций помещается в массив, который затем сохраняется в формате XML. Если вы хотите побольше узнать о PEAR::Config необходимую информацию вы сможете найти в документации по PEAR[5] или в DevShed-Tutorial [6].
Listing 5
patConfiguration
Альтернативным классом для работы с конфигурационными файлами является patConfiguration[7], однако он предназначен исключительно для работы с файлами в формате XML. После скачивания архива, его необходимо распаковать. Сам класс находится в директории include. patConfiguration предварительно определяет Tag-Set, который затем наполняется данными. К тому же этот класс предоставляет возможность указать тип опции: целое число, число с плавающей точкой, булевское значение. Типичный конфигурационный файл, созданный patConfiguration, имеет следующую структуру:
После создания объекта класса, может быть вызван метод parseConfigFile(). Доступ к опциям осуществляется через getConfigValue(). В качестве параметра этот метод может принимать путь к нужной опции. Вернемся к нашему примеру. Допустим, мы хотим получить e-mail адрес, на который высылается сообщение об ошибке. В этом случае используется путь errors.email. Если путь не указан, тогда все параметры передаются в массив. Листинг 6 демонстрирует код, который можно использовать для считывания файлов.
patConfiguration 2.0.0
В данный момент многоформатная версия patConfiguration находится в стадии разработки. Возможно, при публикации статьи эта версия уже станет доступной. Впрочем, самую новую версию для разработчиков вы можете скачать с сайта snaps.php-tools.net/downloaden.
В этом примере вы уже заметили, что внутри тега указывается тип значения. Названия типов идентичны тем, что используются в php-функции settype(). Если тип не указан, тогда значение интерпретируется как строка. Для часто используемых опций можно определить отдельный тег.
Наряду с функцией getConfigValue, существует функция setConfigValue(), с помощью которой можно изменить значение опции. Затем конфигурационный файл может быть заново записан с помощью writeConfigFile() (см листинг 7).
patConfiguration предлагает также серию дополнительных возможностей. Например, наряду с тегами, существует возможность определять атрибуты и пространства имен (Namespace), а к тегу можно привязать внешний файл, таким образом, опции будут распределены по нескольким файлам. Кроме этого patConfiguration включает систему кэширования, благодаря которой пропадает необходимость в многократном считывании конфигурационного файла.
Дополнительную информацию вы сможете найти на PHP Application Tools-Homepage и в patConfiguration-Tutorial на DevShed [8].
Listing 7
Заключение
Забота о гибкости настроек приложения может сберечь много времени, особенно если его компоненты предполагается использовать в других проектах. Вы потратите еще меньше времени, если доверите работу с конфигурационными файлами одному из готовых классов. Выбор между PEAR::Config и patConfiguration зависит от задачи. Преимуществом PEAR::Config является поддержка различных форматов конфигурационных файлов, в то время как patConfiguration прекрасно работает с XML, так же предоставляет ряд дополнительных возможностей. Однако с появлением версии 2.0.0 этот пакет будет иметь одинаковый API для считывания ini и wddx файлов. PHP-массив поддерживаются уже в текущей версии.
В этой статье я попытаюсь дать оценку быстродействию файловых систем, используемых в операционных системах WindowsNT/2000. Статья не содержит графиков и результатов тестирований, так как эти результаты слишком сильно зависят от случая, методик тестирования и конкретных систем, и не имеют почти никакой связи с реальным положением дел. В этом материале я вместо этого постараюсь описать общие тенденции и соображения, связанные с производительностью файловых систем. Прочитав данный материал, вы получите информацию для размышлений и сможете сами сделать выводы, понять, какая система будет быстрее в ваших условиях, и почему. Возможно, некоторые факты помогут вам также оптимизировать быстродействие своей машины с точки зрения файловых систем, подскажут какие-то решения, которые приведут к повышению скорости работы всего компьютера.
В данном обзоре упоминаются три системы - FAT (далее FAT16), FAT32 и NTFS, так как основной вопрос, стоящий перед пользователями Windows2000 - это выбор между этими вариантами. Я приношу извинение пользователям других файловых систем, но проблема выбора между двумя, внешне совершенно равнозначными, вариантами со всей остротой стоит сейчас только в среде Windows2000. Я надеюсь, всё же, что изложенные соображения покажутся вам любопытными, и вы сможете сделать какие-то выводы и о тех системах, с которыми вам приходится работать.
Данная статья состоит из множества разделов, каждый из которых посвящен какому-то одному вопросу быстродействия. Многие из этих разделов в определенных местах тесно переплетаются между собой. Тем не менее, чтобы не превращать статью в кашу, в соответствующем разделе я буду писать только о том, что имеет отношение к обсуждаемый в данный момент теме, и ни о чем более. Если вы не нашли каких-то важных фактов в тексте - не спешите удивляться: скорее всего, вы встретите их позже. Прошу вас также не делать никаких поспешных выводов о недостатках и преимуществах той или иной системы, так как противоречий и подводных камней в этих рассуждениях очень и очень много. В конце я попытаюсь собрать воедино всё, что можно сказать о быстродействии систем в реальных условиях.
Теория
Самое фундаментальное свойство любой файловой системы, влияющее на быстродействие всех дисковых операций - структура организации и хранения информации, т.е. то, как, собственно, устроена сама файловая система. Первый раздел - попытка анализа именно этого аспекта работы, т.е. физической работы со структурами и данными файловой системы. Теоретические рассуждения, в принципе, могут быть пропущены - те, кто интересуется лишь чисто практическими аспектами быстродействия файловых систем, могут обратиться сразу ко второй части статьи.
Для начала хотелось бы заметить, что любая файловая система так или иначе хранит файлы. Доступ к данным файлов - основная и неотъемлемая часть работы с файловой системой, и поэтому прежде всего нужно сказать пару слов об этом. Любая файловая система хранит данные файлов в неких объемах - секторах, которые используются аппаратурой и драйвером как самая маленькая единица полезной информации диска. Размер сектора в подавляющем числе современных систем составляет 512 байт, и все файловые системы просто читают эту информацию и передают её без какой либо обработки приложениям. Есть ли тут какие-то исключения? Практически нет. Если файл хранится в сжатом или закодированном виде - как это возможно, к примеру, в системе NTFS - то, конечно, на восстановление или расшифровку информации тратится время и ресурсы процессора. В остальных случаях чтение и запись самих данных файла осуществляется с одинаковой скоростью, какую файловую систему вы не использовали бы.
Обратим внимание на основные процессы, осуществляемые системой для доступа к файлам:
Поиск данных файла
Выяснение того, в каких областях диска хранится тот или иной фрагмент файла - процесс, который имеет принципиально разное воплощение в различных файловых системах. Имейте в виду, что это лишь поиск информации о местоположении файла - доступ к самим данным, фрагментированы они или нет, здесь уже не рассматривается, так как этот процесс совершенно одинаков для всех систем. Речь идет о тех "лишних" действиях, которые приходится выполнять системе перед доступом к реальным данным файлов.
На что влияет этот параметр: на скорость навигации по файлу (доступ к произвольному фрагменту файла). Любая работа с большими файлами данных и документов, если их размер - несколько мегабайт и более. Этот параметр показывает, насколько сильно сама файловая система страдает от фрагментации файлов.
NTFS способна обеспечить быстрый поиск фрагментов, поскольку вся информация хранится в нескольких очень компактных записях (типичный размер - несколько килобайт). Если файл очень сильно фрагментирован (содержит большое число фрагментов) - NTFS придется использовать много записей, что часто заставит хранить их в разных местах. Лишние движения головок при поиске этих данных, в таком случае, приведут к сильному замедлению процесса поиска данных о местоположении файла.
FAT32, из-за большой области самой таблицы размещения будет испытывать огромные трудности, если фрагменты файла разбросаны по всему диску. Дело в том, что FAT (File Allocation Table, таблица размещения файлов) представляет собой мини-образ диска, куда включен каждый его кластер. Для доступа к фрагменту файла в системе FAT16 и FAT32 приходится обращаться к соответствующей частичке FAT. Если файл, к примеру, расположен в трех фрагментах - в начале диска, в середине, и в конце - то в системе FAT нам придется обратиться к фрагменту FAT также в его начале, в середине и в конце. В системе FAT16, где максимальный размер области FAT составляет 128 Кбайт, это не составит проблемы - вся область FAT просто хранится в памяти, или же считывается с диска целиком за один проход и буферизируется. FAT32 же, напротив, имеет типичный размер области FAT порядка сотен килобайт, а на больших дисках - даже несколько мегабайт. Если файл расположен в разных частях диска - это вынуждает систему совершать движения головок винчестера столько раз, сколько групп фрагментов в разных областях имеет файл, а это очень и очень сильно замедляет процесс поиска фрагментов файла.
Вывод: Абсолютный лидер - FAT16, он никогда не заставит систему делать лишние дисковые операции для данной цели. Затем идет NTFS - эта система также не требует чтения лишней информации, по крайней мере, до того момента, пока файл имеет разумное число фрагментов. FAT32 испытывает огромные трудности, вплоть до чтения лишних сотен килобайт из области FAT, если файл разбросан разным областям диска. Работа с внушительными по размеру файлами на FAT32 в любом случае сопряжена с огромными трудностями - понять, в каком месте на диске расположен тот или иной фрагмент файла, можно лишь изучив всю последовательность кластеров файла с самого начала, обрабатывая за один раз один кластер (через каждые 4 Кбайт файла в типичной системе). Стоит отметить, что если файл фрагментирован, но лежит компактной кучей фрагментов - FAT32 всё же не испытывает больших трудностей, так как физический доступ к области FAT будет также компактен и буферизован.
Поиск свободного места
Данная операция производится в том случае, если файл нужно создать с нуля или скопировать на диск. Поиск места под физические данные файла зависит от того, как хранится информация о занятых участках диска.
На что влияет этот параметр: на скорость создания файлов, особенно больших. Сохранение или создание в реальном времени больших мультимедийных файлов (.wav, к примеру), копирование больших объемов информации, т.д. Этот параметр показывает, насколько быстро система сможет найти место для записи на диск новых данных, и какие операции ей придется для этого проделать.
Для определения того, свободен ли данный кластер или нет, системы на основе FAT должны просмотреть одну запись FAT, соответствующую этому кластеру. Размер одной записи FAT16 составляет 16 бит, одной записи FAT32 - 32 бита. Для поиска свободного места на диске может потребоваться просмотреть почти всего FAT - это 128 Кбайт (максимум) для FAT16 и до нескольких мегабайт (!) - в FAT32. Для того, чтобы не превращать поиск свободного места в катастрофу (для FAT32), операционной системе приходится идти на различные ухищрения.
NTFS имеет битовую карту свободного места, одному кластеру соответствует 1 бит. Для поиска свободного места на диске приходится оценивать объемы в десятки раз меньшие, чем в системах FAT и FAT32.
Вывод: NTFS имеет наиболее эффективную систему нахождения свободного места. Стоит отметить, что действовать "в лоб" на FAT16 или FAT32 очень медленно, поэтому для нахождения свободного места в этих системах применяются различные методы оптимизации, в результате чего и там достигается приемлемая скорость. (Одно можно сказать наверняка - поиск свободного места при работе в DOS на FAT32 - катастрофический по скорости процесс, поскольку никакая оптимизация невозможна без поддержки хоть сколь серьезной операционной системы).
Работа с каталогами и файлами
Каждая файловая система выполняет элементарные операции с файлами - доступ, удаление, создание, перемещение и т.д. Скорость работы этих операций зависит от принципов организации хранения данных об отдельных файлах и от устройства структур каталогов.
На что влияет этот параметр: на скорость осуществления любых операций с файлом, в том числе - на скорость любой операции доступа к файлу, особенно - в каталогах с большим числом файлов (тысячи).
FAT16 и FAT32 имеют очень компактные каталоги, размер каждой записи которых предельно мал. Более того, из-за сложившейся исторически системы хранения длинных имен файлов (более 11 символов), в каталогах систем FAT используется не очень эффективная и на первый взгляд неудачная, но зато очень экономная структура хранения этих самих длинных имен файлов. Работа с каталогами FAT производится достаточно быстро, так как в подавляющем числе случаев каталог (файл данных каталога) не фрагментирован и находится на диске в одном месте.
Единственная проблема, которая может существенно понизить скорость работы каталогов FAT - большое количество файлов в одном каталоге (порядка тысячи или более). Система хранения данных - линейный массив - не позволяет организовать эффективный поиск файлов в таком каталоге, и для нахождения данного файла приходится перебирать большой объем данных (в среднем - половину файла каталога).
NTFS использует гораздо более эффективный способ адресации - бинарное дерево, о принципе работы которого можно прочесть в другой статье (Файловая система NTFS). Эта организация позволяет эффективно работать с каталогами любого размера - каталогам NTFS не страшно увеличение количества файлов в одном каталоге и до десятков тысяч.
Стоит заметить, однако, что сам каталог NTFS представляет собой гораздо менее компактную структуру, нежели каталог FAT - это связано с гораздо большим (в несколько раз) размером одной записи каталога. Данное обстоятельство приводит к тому, что каталоги на томе NTFS в подавляющем числе случаев сильно фрагментированы. Размер типичного каталога на FAT-е укладывается в один кластер, тогда как сотня файлов (и даже меньше) в каталоге на NTFS уже приводит к размеру файла каталога, превышающему типичный размер одного кластера. Это, в свою очередь, почти гарантирует фрагментацию файла каталога, что, к сожалению, довольно часто сводит на нет все преимущества гораздо более эффективной организации самих данных.
Вывод: структура каталогов на NTFS теоретически гораздо эффективнее, но при размере каталога в несколько сотен файлов это практически не имеет значения. Фрагментация каталогов NTFS, однако, уверенно наступает уже при таком размере каталога. Для малых и средних каталогов NTFS, как это не печально, имеет на практике меньшее быстродействие.
Преимущества каталогов NTFS становятся реальными и неоспоримыми только в том случае, если в одно каталоге присутствуют тысячи файлов - в этом случае быстродействие компенсирует фрагментированность самого каталога и трудности с физическим обращением к данным (в первый раз - далее каталог кэшируется). Напряженная работа с каталогами, содержащими порядка тысячи и более файлов, проходит на NTFS буквально в несколько раз быстрее, а иногда выигрыш в скорости по сравнению с FAT и FAT32 достигает десятков раз.
Практика
К сожалению, как это часто бывает во всевозможных компьютерных вопросах, практика не очень хорошо согласуется с теорией. NTFS, имеющая, казалось бы, очевидные преимущества в структуре, показывает не настолько уж фантастические результаты, как можно было бы ожидать. Какие еще соображения влияют на быстродействие файловой системы? Каждый из рассматриваемых далее вопросов вносит свой вклад в итоговое быстродействие. Помните, однако, что реальное быстродействие - результат действия сразу всех факторов, поэтому и в этой части статьи не стоит делать поспешных выводов.
Объем оперативной памяти (кэширование)
Очень многие данные современных файловых систем кэшируются или буферизируются в памяти компьютера, что позволяет избежать лишних операций физического чтения данных с диска. Для нормальной (высокопроизводительной) работы системы в кэше приходится хранить следующие типы информации:
Данные о физическом местоположении всех открытых файлов. Это, прежде всего, позволит обращаться к системным файлам и библиотекам, доступ к которым идет буквально постоянно, без чтения служебной (не относящейся к самим файлам) информации с диска. Это же относится к тем файлам, которые исполняются в данный момент - т.е. к выполняемым модулям (.exe и .dll) активных процессов в системе. В эту категорию попадают также файлы системы, с которыми производится работа (прежде всего реестр и виртуальная память, различные .ini файлы, а также файлы документов и приложений).
Наиболее часто используемые каталоги. К таковым можно отнести рабочий стол, меню "пуск", системные каталоги, каталоги кэша интернета, и т.п.
Данные о свободном месте диска - т.е. та информация, которая позволит найти место для сохранения на диск новых данных.
В случае, если этот базовый объем информации не будет доступен прямо в оперативной памяти, системе придется совершать множество ненужных операций еще до того, как она начнет работу с реальными данными. Что входит в эти объемы в разных файловых системах? Или, вопрос в более практической плоскости - каким объемом свободной оперативной памяти надо располагать, чтобы эффективно работать с той или иной файловой системой?
FAT16 имеет очень мало данных, отвечающих за организацию файловой системы. Из служебных областей можно выделить только саму область FAT, которая не может превышать 128 Кбайт (!) - эта область отвечает и за поиск фрагментов файлов, и за поиск свободного места на томе. Каталоги системы FAT также очень компактны. Общий объем памяти, необходимый для предельно эффективной работы с FAT-ом, может колебаться от сотни килобайт и до мегабайта-другого - при условии огромного числа и размера каталогов, с которыми ведется работа.
FAT32 отличается от FAT16 лишь тем, что сама область FAT может иметь более внушительные размеры. На томах порядка 5 - 10 Гбайт область FAT может занимать объем в несколько Мбайт, и это уже очень внушительный объем, надежно кэшировать который не представляется возможным. Тем не менее, область FAT, а вернее те фрагменты, которые отвечают за местоположение рабочих файлов, в подавляющем большинстве систем находятся в памяти машины - на это расходуется порядка нескольких Мбайт оперативной памяти.
NTFS, к сожалению, имеет гораздо большие требования к памяти, необходимой для работы системы. Прежде всего, кэширование сильно затрудняет большие размеры каталогов. Размер одних только каталогов, с которыми активно ведет работу система, может запросто доходить до нескольких Мбайт и даже десятков Мбайт! Добавьте к этому необходимость кэшировать карту свободного места тома (сотни Кбайт) и записи MFT для файлов, с которыми осуществляется работа (в типичной системе - по 1 Кбайт на каждый файл). К счастью, NTFS имеет удачную систему хранения данных, которая не приводит к увеличению каких-либо фиксированных областей при увеличении объема диска. Количество данных, с которым оперирует система на основе NTFS, практически не зависит от объема тома, и основной вклад в объемы данных, которые необходимо кэшировать, вносят каталоги. Тем не менее, уже этого вполне достаточно для того, чтобы только минимальный объем данных, необходимых для кэширования базовых областей NTFS, доходил до 5 - 8 Мбайт.
[pagebreak]
К сожалению, можно с уверенностью сказать: NTFS теряет огромное количество своего теоретического быстродействия из-за недостаточного кэширования. На системах, имеющих менее 64 Мбайт памяти, NTFS просто не может оказаться быстрее FAT16 или FAT32. Единственное исключение из этого правила - диски FAT32, имеющие объем десятки Гбайт (я бы лично серьезно опасался дисков FAT32 объемом свыше, скажем, 30 Гбайт). В остальных же случаях - системы с менее чем 64 мегабайтами памяти просто обязаны работать с FAT32 быстрее.
Типичный в настоящее время объем памяти в 64 Мбайта, к сожалению, также не дает возможности организовать эффективную работу с NTFS. На малых и средних дисках (до 10 Гбайт) в типичных системах FAT32 будет работать, пожалуй, немного быстрее. Единственное, что можно сказать по поводу быстродействия систем с таким объемом оперативной памяти - системы, работающие с FAT32, будут гораздо сильнее страдать от фрагментации, чем системы на NTFS. Но если хотя бы изредка дефрагментировать диски, то FAT32, с точки зрения быстродействия, является предпочтительным вариантом. Многие люди, тем не менее, выбирают в таких системах NTFS - просто из-за того, что это даст некоторые довольно важные преимущества, тогда как типичная потеря быстродействия не очень велика.
Системы с более чем 64 Мбайтами, а особенно - со 128 Мбайт и более памяти, смогут уверенно кэшировать абсолютно всё, что необходимо для работы систем, и вот на таких компьютерах NTFS, скорее всего, покажет более высокое быстродействие из-за более продуманной организации данных. В наше время этим показателям соответствует практически любой компьютер.
Быстродействие накопителя
Влияют ли физические параметры жесткого диска на быстродействие файловой системы? Да, хоть и не сильно, но влияют. Можно выделить следующие параметры физической дисковой системы, которые по-разному влияют на разные типы файловых систем:
Время случайного доступа (random seek time). К сожалению, для доступа к системным областям на типичном диске более сложной файловой системы (NTFS) приходится совершать, в среднем, больше движений головками диска, чем в более простых системах (FAT16 и FAT32). Гораздо большая фрагментация каталогов, возможность фрагментации системных областей - всё это делает диски NTFS гораздо более чувствительными к скорости считывания произвольных (случайных) областей диска. По этой причине использовать NTFS на медленных (старых) дисках не рекомендуется, так как высокое (худшее) время поиска дорожки дает еще один плюс в пользу систем FAT.
Наличие Bus Mastering. Bus Mastering - специальный режим работы драйвера и контроллера, при использовании которого обмен с диском производится без участия процессора. Стоит отметить, что система запаздывающего кэширования NTFS сможет действовать гораздо более эффективно при наличии Bus Mastering, т.к. NTFS производит отложенную запись гораздо большего числа данных. Системы без Bus Mastering в настоящее время встречаются достаточно редко (обычно это накопители или контроллеры, работающие в режиме PIO3 или PIO4), и если вы работаете с таким диском - то, скорее всего, NTFS потеряет еще пару очков быстродействия, особенно при операциях модификации каталогов (например, активная работа в интернете - работа с кэшем интернета).
Кэширование как чтения, так и записи на уровне жестких дисков (объем буфера HDD - от 128 Кбайт до 1-2 Мбайт в современных дорогих дисках) - фактор, который будет более полезен системам на основе FAT. NTFS из соображений надежности хранения информации осуществляет модификацию системных областей с флагом "не кэшировать запись", поэтому быстродействие системы NTFS слабо зависит от возможности кэширования самого HDD. Системы FAT, напротив, получат некоторый плюс от кэширования записи на физическом уровне. Стоит отметить, что, вообще говоря, всерьез принимать в расчет размер буфера HDD при оценке быстродействия тех или иных файловых систем не стоит.
Подводя краткий итог влиянию быстродействия диска и контроллера на быстродействия системы в целом, можно сказать так: NTFS страдает от медленных дисков гораздо сильнее, чем FAT.
Размер кластера
Хотелось бы сказать пару слов о размере кластера - тот параметр, который в файловых системах FAT32 и NTFS можно задавать при форматировании практически произвольно. Прежде всего, надо сказать, что больший размер кластера - это практически всегда большее быстродействие. Размер кластера на томе NTFS, однако, имеет меньшее влияние на быстродействие, чем размер кластера для системы FAT32.
Типичный размер кластера для NTFS - 4 Кбайта. Стоит отметить, что при большем размере кластера отключается встроенная в файловую систему возможность сжатия индивидуальных файлов, а также перестает работать стандартный API дефрагментации - т.е. подавляющее число дефрагментаторов, в том числе встроенный в Windows 2000, будут неспособны дефрагментировать этот диск. SpeedDisk, впрочем, сможет - он работает без использования данного API. Оптимальным с точки зрения быстродействия, по крайней мере, для средних и больших файлов, считается (самой Microsoft) размер 16 Кбайт. Увеличивать размер далее неразумно из-за слишком больших расходов на неэффективность хранения данных и из-за мизерного дальнейшего увеличения быстродействия. Если вы хотите повысить быстродействие NTFS ценой потери возможности сжатия - задумайтесь о форматировании диска с размером кластера, большим чем 4 Кбайта. Но имейте в виду, что это даст довольно скромный прирост быстродействия, который часто не стоит даже уменьшения эффективности размещения файлов на диске.
Быстродействие системы FAT32, напротив, можно довольно существенно повысить, увеличив размер кластера. Если в NTFS размер кластера почти не влияет на размер и характер данных системных областей, то в системе FAT увеличивая кластер в два раза, мы сокращаем область FAT в те же два раза. Вспомните, что в типичной системе FAT32 эта очень важная для быстродействия область занимает несколько Мбайт. Сокращение области FAT в несколько раз даст заметное увеличение быстродействия, так как объем системных данных файловой системы сильно сократиться - уменьшается и время, затрачиваемое на чтение данных о расположении файлов, и объем оперативной памяти, необходимый для буферизирования этой информации. Типичный объем кластера для систем FAT32 составляет тоже 4 Кбайт, и увеличение его до 8 или даже до 16 Кбайт - особенно для больших (десяток и более гигабайт) дисков - достаточно разумный шаг.
Другие соображения
NTFS является достаточно сложной системой, поэтому, в отличие от FAT16 и FAT32, имеются и другие факторы, которые могут привести к существенному замедлению работы NTFS:
Диск NTFS был получен преобразованием раздела FAT16 или FAT32 (команда convert). Данная процедура в большинстве случаев представляет собой тяжелый случай для быстродействия, так как структура служебных областей NTFS, скорее всего, получится очень фрагментированной. Если есть возможность - избегайте преобразования других систем в NTFS, так как это приведет к созданию очень неудачного диска, которому не поможет даже типичный (неспециализированный) дефрагментатор, типа Diskeeper-а или встроенного в Windows 2000.
Активная работа с диском, заполненным более чем на 80% - 90%, представляет собой катастрофический для быстродействия NTFS случай, так как фрагментация файлов и, самое главное, служебных областей, будет расти фантастически быстро. Если ваш диск используется в таком режиме - FAT32 будет более удачным выбором при любых других условиях.
Выводы
В данной заключительной части "одной строчкой" собраны ключевые особенности быстродействия этих трех файловых систем.
FAT - плюсы:
Для эффективной работы требуется немного оперативной памяти.
Быстрая работа с малыми и средними каталогами.
Диск совершает в среднем меньшее количество движений головок (в сравнении с NTFS).
Эффективная работа на медленных дисках.
FAT - минусы:
Катастрофическая потеря быстродействия с увеличением фрагментации, особенно для больших дисков (только FAT32).
Сложности с произвольным доступом к большим (скажем, 10% и более от размера диска) файлам.
Очень медленная работа с каталогами, содержащими большое количество файлов.
NTFS - плюсы:
Фрагментация файлов не имеет практически никаких последствий для самой файловой системы - работа фрагментированной системы ухудшается только с точки зрения доступа к самим данным файлов.
Сложность структуры каталогов и число файлов в одном каталоге также не чинит особых препятствий быстродействию.
Быстрый доступ к произвольному фрагменту файла (например, редактирование больших .wav файлов).
Очень быстрый доступ к маленьким файлам (несколько сотен байт) - весь файл находится в том же месте, где и системные данные (запись MFT).
NTFS - минусы:
Существенные требования к памяти системы (64 Мбайт - абсолютный минимум, лучше - больше).
Медленные диски и контроллеры без Bus Mastering сильно снижают быстродействие NTFS.
Работа с каталогами средних размеров затруднена тем, что они почти всегда фрагментированы.
Диск, долго работающий в заполненном на 80% - 90% состоянии, будет показывать крайне низкое быстродействие.
Хотелось бы еще раз подчеркнуть, что на практике основной фактор, от которого зависит быстродействие файловой системы - это, как ни странно, объем памяти машины. Системы с памятью 64-96 Мбайт - некий рубеж, на котором быстродействие NTFS и FAT32 примерно эквивалентно. Обратите внимание также на сложность организации данных на вашей машине. Если вы не используете ничего, кроме простейших приложений и самой операционной системы - может случиться так, что FAT32 сможет показать более высокое быстродействие и на машинах с большим количеством памяти.
NTFS - система, которая закладывалась на будущее, и это будущее для большинства реальных применений сегодняшнего дня еще, к сожалению, видимо не наступило. На данный момент NTFS обеспечивает стабильное и равнодушное к целому ряду факторов, но, пожалуй, всё же невысокое - на типичной "игровой" домашней системе - быстродействие. Основное преимущество NTFS с точки зрения быстродействия заключается в том, что этой системе безразличны такие параметры, как сложность каталогов (число файлов в одном каталоге), размер диска, фрагментация и т.д. В системах FAT же, напротив, каждый из этих факторов приведет к существенному снижению скорости работы.
Только в сложных высокопроизводительных системах - например, на графических станциях или просто на серьезных офисных компьютерах с тысячами документов, или, тем более, на файл-серверах - преимущества структуры NTFS смогут дать реальный выигрыш быстродействия, который порой заметен невооруженным глазом. Пользователям, не имеющим большие диски, забитые информацией, и не пользующимся сложными программами, не стоит ждать от NTFS чудес скорости - с точки зрения быстродействия на простых домашних системах гораздо лучше покажет себя FAT32.
Думать о продвижении сайта надо еще до его создания. Все начинается с постановки задач и опредления целей. Многие люди, которые собираются продвигать (рекламировать) свой сайт в Интернет, не знают зачем им это, нужен ли им сайт вообще, не знают как оптимизировать свое детище для того, чтобы было возможным осуществлять его продвижение, чтобы достичь поставленных целей и отдых под Киевом, каталог баз отдыха. Если вы относитесь к ним, то это статья для вас.
Сразу хочу уточнить, что в этой статье речь не идет о несерьезных ресурсах вроде домашних страниц. Свое мнение о том, стоит ли рекламировать домашную страницу, почему и как, я высказала в первой части вводной статьи к разделу Реклама. Настоятельно рекомендую всем владельцем домашних страниц перечитать первую часть вводной статьи раз 20-ть, а лучше сто, прежде чем пускаться во все тяжкие.
Теперь, когда я погрозил пальцем недобросовестным гражданам для очистки своей совести, перейдем непосредственно к делу.
Прежде, чем создавать сайт вы должны понять, нужен ли он вам вообще. Зачем, что, для чего.
К неверным мотивам создания сайта можно отнести следующие:
* У всех есть сайт. Чем я хуже?
* Я создам самый лучший ресурс, он поразит воображение всех нынеживущих в интернет, я буду популярным, ко мне придет много людей!
* У наших конкурентов есть сайт. Сваяем и мы что-нибудь по быстрому. Полагаю, прайс-листа и контактов хватит.
* Я сделаю себе сайт, раскручу его, и срублю много денег, ничего особо не делая…
Если, вас сподвигает на создание сайта что-то вроде того, что я только что перечислила - то вам сайт еще не нужен, если вы коммерческая организация. Почему? Потому что цель коммерческого сайта помочь вам завязать и упрочить отношения, которые помогут развитию вашего бизнеса. Подход, чтобы было - это не серьезный, не деловой подход, с таким долго не живут. Что же касается остальных, тщеславных граждан с домашними страничками - куда они идут я уже указывала в самом начале этой статьи. Никогда не забывайте, что интернет - прежде всего информационная сеть, человек сюда приходит за информацией, ему нужна интересная и качественная информация, так зачем же плодить мусор?
К правильным мотивам создания сайта можно отнести следующие:
* Привлечение новых посетилей (для комерческой организации: клиентов, потенциальных клиентов).
* Расширить свой бизнес, увеличить прибыль.
* Получить поддержку, склонить людей и общественное мнение к чему-либо.
* Найти единомышленников по какой-либо проблеме, поделиться инересной и нужной информацией с другими.
Только, когда у нас есть определенная цель, только тогда можно и нужно создавать ресурс, опираясь на нее. Когда есть цель - есть возможность правильно продумать и осуществить разработку ресурса. А при правильно разработанном ресурсе уже можно совершать успешные действия по его продвижению.
Итак, как же правильно осуществить разработку сайта, если мы хотим, чтобы было потом возможным продвигать его в сети:
1. Определите цели вашего сайта. Зачем вы его создаете? (об этом мы уже поговорили).
2. Определите вашу стратегию. Что вы хотите достичь? Как вы собираетесь добиться своих целей? Какие приемы вы будете использовать, чтобы показать себя, чтобы удержаться и развиваться, чтобы продвигать свой сайт? У вас есть конкуренты (фирмы-конкуренты, другие информационные сайты, сообщества). Вам надо исследовать, что они предлагают, какие методы используют для продвижения своего ресурса. На основе исследования определить, какие методы будете использовать вы для продвижения своего сайта. При составлении плана также нужно учесть, какие ресурсы вы имеете в наличии (люди, деньги, знания, время и т.д.), чтобы добиться своих целей.
3. Определите аудиторию вашего сайта. Для кого вы его создаете? Какова целевая аудитория вашего сайта (например, деловая современная женщина, с доходом средний и выше от 20 до 40 лет). В зависимости от того какова ваша аудитория вы решаете какие сервисы вы ей предложите, какие материалы разместите на сайте, каким будет языком вестись изложение материалов (согласитесь, язык научного сайта неприемлим для сайта с детской аудиторией, если детский ресурс будет написан на слишком непонятном его аудитории языке, то популярностью он пользоваться никогда не будет). Если у сайта широкая аудитория, то можно сделать несколько крупных разделов для каждой группы посетителей. Для сайтов, где аудитория говорит на разных языках делается несколько версий на разных языках, причем язык изложения может адаптироваться в зависимости от страны (допустим, что считается приличным в одной стране, может вызвать возмущение у жителей других стран, нужно обязательно учитывать национальные особенности, чтобы не потерять потом посетителя).
4. Доменое имя. То, каков адрес вашего сайта, решает многое. Согласитесь, что сайт с адресом http://firma.com или http://community.com внушает гораздо больше доверия и уважения, чем http://narod.ru/tut/tam/firma или http://freehosting.com/was/here/community, первые два доменных имени говорят о серьезности фирмы или организации, о том, что завтра она никуда не исчезнет, это важно, особенно если учесть, что есть злоумышленники, которые любят пользоваться доверием людей, и поэтому люди стали сейчас гораздо осторожнее и настороженнее относится к предлагаемым им услугам и информации.
Более того, адрес http://firma.com легче продвигать в поисковых системах и рейтингах. Кроме того, адрес http://firma.com, гораздо легче запомнить, чем http://narod.ru/tut/tam/firma. Старайтесь, чтобы в названии домена присуствовало название организации. Имя домена = имя фирмы - очень легко запоминается. Если у фирмы или организации сложное имя, то имя домена может символизировать область деятельности фирмы или организации. Допустим, комбинату по производству хлеба со сложным названием “Комбинат №4 по производству хлебо-булочных изделий “Серебрянный бор” никак не подобрать запоминаемое сокращение, чтобы его можно было использовать в качестве доменного имени, но зато можно зарегистрировать домен типа: http://hleb.ru или http://bulka.ru - запоминаемо и связано с деятельностью предприятия.
5. Презентабельность. Внешний вид вашего сайта не должен отталкивать. Наооборот, он обязан быть привлекательным. Помните - по одежке встречают. Первое впечатление - очень важно. Если оформление вашего сайта отталкивающее, то вы можете потерять посетителя, он уйдет, даже не попытавшись ознакомиться с представленной информацией.
6. Удобство. Вся информация на сайте должна быть организована так, чтобы ее было легко находить, чтобы было легко ориентироваться по сайту. Навигация должна быть простой и понятной. Желательно, чтобы до самого дальнего подраздела можно было дойти не более, чем в несколько кликов. Струтура сайта должна быть четкой и ясной посетителю.
7. Нужная информация. Какой бы ни был ваш сайт просто информационный, посвященный какой-либо проблеме, или коммерческий сайт, предназначенный продвигать вашу компанию посредством Интернет, самое главное - это содержимое сайта. Ваш посетитель приходит к вам за информацией, и поэтому, разрабатывая содержимое сайта, вы должны подумать, какую информацию хотела бы получить ваша аудитория, какую информацию они будут искать. Желательно, чтобы информация была уникальная. Только присуствие уникальной информации или сервисов на ресурсе может привлечь к вам посетителя, только наличие постоянно добавляемой и обновляемой уникальной информации может привлечь и убедить его зайти к вам на сайт еще раз, и не один раз. Именно поэтому, даже коммерческой организации не стоит делать сайт из серии “прайс-лист+контакты”, потому что такой сайт практически никому не будет интересен и не приведет к организации новых клиентов. Зато интересный портал, связанный с сферой деятельности фирмы, это то, что нужно. Он привлечет много посетителей, которые потом могут стать клиентами фирмы.
8. Интересные сервисы и предложения. Конечно, не только информацией единой жив сайт. Обязательно нужно учесть необходимость создания связи с посетителем, в этом вам помогут форум, или гостевая книга. Иногда необходимо напоминать о себе своим посетителям, для этого возможно стоит ввести рассылку новостей вашего сайта, чтобы каждый желающий мог на нее подписаться. Но это все стандартные, хотя и нужные ходы. Нужно еще что-то оригинальное и инетересное. Предложите поучавствовать посетителям в жизни сайта. Например, на популярных сайтах с кулинарными рецептами, вы можете найти не только миллион и один рецепт, а также прислать свой собственный, ваш рецепт могут оценить и обсудить другие посетители сайта. Кроме того, периодически устраиваются конкурсы на лучший рецепт, с призами, незайтейливыми, но приятными.
Однако, такое возможно не только для некоммерческого ресурса. Подобные ходы может взять себе на вооружение сайт какой-нибудь ресторанной сети, расчитанной на обывателя с средним доходом. Сборник рецептов, возможность посетителям его пополнять, обсуждать, учавствовать в конкурсах - все это не только не повредить коммерческому сайту, но и поможет в продвижении компании не только в сети интернет, Сходить на выходные с семьей в любимый ресторан, на сайте которого вечерами общаешься с подругой - думаю, это может стать традицией для многих женщин.
Итог:
Главная выгода, которую вам дает интернет - это непосредственное общение с вашим посетителем (потенциальным клиентом). Задача хорошего ресурса (как коммерческого, так и нет) быть ближе к посетителю, соотвествовать его нуждам. Вы должны думать о своей аудитории - это единственно правильный подход. Реклама в интернет не сводится к банальной баннерной рекламе, рассылке е-майл, продвижению сайта компании или организации в поисковиках, рейтингах, каталогах - это далеко не основные способы, эти способы как раз не так эффективны, как хотелось бы, хотя их все равно не стоит сбрасывать со счетов. Основное - это как раз создание неких взаимоотношений со своей аудиторией. Таким отношениям есть даже определенное название - PR - что означает Public Relations - связь с общественностью. Именно PR - есть самый эффективный способ продвижения чего-либо в Интернет, именно благодаря Public Relations вы сможете добиться своих целей и извлечь выгоду для своей организации или компании.
В этой статье я лишь затронула тему PR, и надеюсь, это было для вас интересным и познавательным. По традиции в правой колонке вы найдете ссылки по теме, и сможете ознакомиться с ней дальше сомостоятельно.
Процесс загрузки компьютера казалось бы изучен нами до мелочей: кнопка - BIOS - операционная система - логин... А ты задумывался когда-нибудь о том что же на самом деле происходит в это время внутри твоего компьютера? Можешь по шагам рассказать как работает компьютер? Уверен, что нет. Поэтому сегодня проведем короткий ликбез - расскажем о том, как же на самом деле загружается компьютер. Эта статья рассматривает работу Windows XP, в остальных системах процесс, естественно, несколько отличается.
Включается тумблер питания. Блок питания проводит самодиагностику. Когда все электрические параметры в норме БП посылает сигнал Power Good процессору. Время между включением питания и уходом сигнала обычно 0.1-0.5 секунд.
Таймер микропроцессора получает сигнал Power Good. С получением этого сигнала таймер перестает посылать сигнал Reset процессору, позволяя тому включиться.
CPU начинает выполнять код ROM BIOS. Процессор загружает ROM BIOS начиная с адреса FFFF:0000. По этому адресу прописан только переход на адрес настоящего кода BIOS ROM.
Система выполняет начальный тест железа. Каждая ошибка, встречающаяся на этом этапе сообщается определенными звуковыми кодами (в прошлом биканьем, сейчас уже вероятно более современно - голосом), так как видео система еще не инициализирована.
BIOS ищет адаптеры, которые могут потребовать загрузки своего BIOS-а. Самым типичным случаем в этом случае является видео карта. Загрузочная процедура сканирует память с адреса C000:0000 по C780:0000 для поиска видео ROM. Таким образом загружаются системы всех адаптеров.
ROM BIOS проверяет выключение это или перезагрузка. Процедура два байта по адресу 0000:0472. Любое значение отличное от 1234h является свидетельством "холодного" старта.
Если это включение ROM BIOS запускает полный POST (Power On Self Test). Если это перезагрузка, то из POST процедуры исключается проверка памяти. Процедуру POST можно разделить на три компоненты:
* Видео тест инициализирует видео адаптер, тестирует карту и видео память, показывает конфигурацию или возникшие ошибки.
* Идентификация BIOS-а показывает версию прошивки, производителя и дату.
* Тест памяти проверяет чипы памяти и подсчитывает размер установленной памяти.
Ошибки, которые могут возникнуть в ходе POST проверки можно разделить на смертельные и не очень :). Во втором случае они показываются на экране, но позволяют продолжить процесс загрузки. Ясно, что в первом случае процесс загрузки останавливается, что обычно сопровождается серией бип-кодов.
BIOS читает конфигурационную информацию из CMOS. Небольшая область памяти (64 байт) питается от батарейки на материнской платы. Самое главное для загрузки в ней - порядок, в котором должны опрашиваться приводы, какой из них должен быть первым - дисковод, CD-ROM или винчестер.
Если первым является жесткий диск, BIOS проверяет самый первый сектор диска на наличие Master Boot Record (MBR). Для дисковода проверяется Boot Record в первом секторе. Master Boot Record - первый сектор на цилиндре 0, 0 головке, 512 байт размером. Если она находится, то загружается в память по адресу 0000:7C00, потом проверяется на правильную сигнатуру - два последних байта должны быть 55AAh. Отсутствие MBR или этих проверочных байт останавливает процесс загрузки и выдает предупреждение. Сама MBR состоит из двух частей - системного загрузчика (partition loader или Boot loader), программы, которая получает управление при загрузке с этого жесткого диска; таблицы разделов (партиций), которая содержит информацию о логических дисках, имеющихся на жестком диске.
Правильная MBR запись записывается в память и управление передается ее коду. Процесс установки нескольких операционных систем на один компьютер обычно заменяет оригинальный лоадер на свою программу, которая позволяет выбрать с какого диска производить остальную загрузку.
Дальше Boot Loader проверяет таблицу партиций в поисках активной. Загрузчик дальше ищет загрузочную запись (Boot Record) на самом первом секторе раздела. В данном случае Boot Record это еще 512 байт - таблица с описанием раздела (количество байт в секторе, количество секторов в кластере и т.п.) и переход на первый файл операционной системы (IO.SYS в DOS).
Операционная система.
Управление передается операционной системы. Как же она работает, как проходит процесс загрузки?
Boot Record проверяется на правильность и если код признается правильным то код загрузочного сектора исполняется как программа. Загрузка Windows XP контролируется файлом NTLDR, находящемся в корневой директории системного раздела. NTLDR работает в четыре приема:
1. Начальная фаза загрузки
2. Выбор системы
3. Определение железа
4. Выбор конфигурации
В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP. Если кто забыл, то наша любимая ОСь может работать с FAT-16, FAT-32 и NTFS.
Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу - показывает меню с выбором и ожидает ввода от пользователя определенный период времени. Если такого файла нет, то NTLDR продолжает загрузку с первой партиции первого диска, обычно это C:\.
Если в процессе выбора пользователь выбрал Windows NT, 2000 или XP, то проверяется нажатие F8 и показ соответствующего меню с опциями загрузки. После каждой удачной загрузки XP создает копию текущей комбинации драйверов и системных настроек известную как Last Known Good Configuration. Этот коллекцию можно использовать для загрузки в случае если некое новое устройство внесло разлад в работу операционной системы.
Если выбранная операционная система XP, то NTLDR находит и загружает DOS-овскую программу NTDETECT.COM для определения железа, установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.
Если компьютер имеет более одного профиля оборудования программа останавливается с меню выбора конфигурации.
После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNK.EXE). В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и Hardware Abstraction Layer (HAL.DLL), дабы ядро могло абстрагироваться от железа. Оба файла находятся в директории System32.
NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их NTLDR передает управление компьютером дальше. Каждый драйвер имеет ключ в HKEY_LOCAL_MACHINE\SYSTEM\Services. Если значение Start равно SERVICE_BOOT_START, то устройство считается загрузочным. Для кажого такого устройства на экране печатается точка.
NTOSKRNL в процессе загрузки проходит через две фазы - так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. На этом этапе на экране показывается графический экран со статус баром. XP дизейблит прерывания в процессе фазы 0 и включает их только перед фазой 1. Вызывается HAL для подготовки контроллера прерываний. Инициализируются Memory Manager, Object Manager, Security Reference Monitor и Process Manager. Фаза 1 начинается когда HAL подготавливает систему для обработки прерываний устройств. Если на компьютере установлено более одного процессор они инициализируются. Все исполнительные подсистемы реинициализируются в следующем порядке:
Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету. Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration.
Последняя задача фазы 1 инициализации ядра - запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT. SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и "родным" приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login.
SMSS загружает win32k.sys - графическую подсистему. Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно процесс загрузки считается удачным и создается Last Known Good Configuration.
Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему. Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.
Всем, кто некоторое время своей жизни потратил на изучение основ техники SEO, известен тот факт, что величина трафика на ресурс сильно зависит от качества контента. Ни для кого уже не секрет, что интересные и качественные статьи любят как читатели, так и поисковые роботы. В этой статье я постараюсь пролить немного света на процесс создания информационных материалов и источники их формирования.
Приведу несколько вещей, которые необходимо помнить:
- контент сайта нужно писать, исходя из того, что его будут читать живые люди, а не поисковые роботы. Поэтому варианты с беглым написанием "нечитаемых" статей с великим множеством синтаксических ошибок, автоматические переводы и т.д - должны отпасть сразу же.
- раз уж выбрали определенную тематику ресурса, то ее и придерживайтесь. Только таким образом можно сформировать постоянную аудиторию читателей. Естественно, расширение информативности сайта за счет добавления новых рубрик, разделов - только приветствуется. Важно сохранять общую тематическую направленность.
- ну и не надо забывать о постоянном обновлении информации на сайте. Неплохим подспорьем будет использование информеров с других сайтов. Они их представляют бесплатно, есть возможность выбора тематики импорта новостей, вида их размещения и т.д.
Сейчас рассмотрим, что же хочет видеть ваша целевая аудитория на вашем сайте:
1. Календарь событий - идеальный вариант для новостных сайтов, блогов и т.п. Вообщем всех тех, на которых информация привязана к определенной дате.
2. Географические карты - без них не обойтись на сайтах о туризме, путешествиях, охоте, рыбалке. Тут даже не обязательно быть художником и геодезистом - в инете уже полным-полно подобных он-лайн сервисов. Что от вас потребуется - смекалка и знание Photoshop'а.
3. Отзывы посетителей вашего сайта - ко всем статьям нужно добавить возможность размещать комментарии. Так вы сможете быть в курсе - насколько востребован тот или иной материал, качество его написания.
4. Фотографии клиентов - сделайте отдельный раздел на вашем сайте, где бы были размещены фотографии ваших клиентов. Наличие в клиентах солидных и авторитетных компаний еще никому не помешало.
5. Цветовая гамма - как правило, для сайтов развлекательной и туристической направленности использование графики только идет на пользу. Фотографии достопримечательностей стран, клубов, ресторанов - только повышает информативность статей. Ведь человеку интересно увидеть на фото то, что он может увидеть в живую. Главное - не перестараться и использовать оптимизированную графику.
6. Блоги и форумы - у человека всегда есть потребность в общении, что и объясняет популярность в интернете подобных вещей. Плюс ко всему - на форумах и блогах постоянно обновляется информация - вот за это их и любят поисковики.
7. Специализированные статьи для целевой аудитории. Их следует писать с периодичностью не реже одного или двух раз в неделю.
8. Вопросы / ответы экспертов - создайте возможность задавать вопросы людям, которые являются экспертами в определенных вопросах. Естественно, следует организовать оперативные ответы на них.
9. Краткие обзоры продукции - это необходимо делать как для новинок рынка, так и для остальной продукции. Так как любой рынок постоянно меняется, выходит новая продукция, технологии, версии программ - то тут не обойтись без обзоров. Желательно так же размещать как положительные, так и отрицательные характеристики.
[pagebreak]
10. FAQ (Наиболее часто задаваемые вопросы). FAQ – такой тип контента, в котором целевая аудитория по-настоящему заинтересована. Получая вопросы от читателей, предоставьте ответить на них экспертам.
11. Историческая справка. Думаю, ни для кого не будет секретом, что много людей интересуется вопросом возникновения определенной продукции, производства, историей выхода новых моделей и версий.
Поэтому не помешает разместить на сайте небольшие очерки об истории продаваемого вами товара. подобную информацию можно без особого труда найти в инете - было бы только желание. И забывайте о графических иллюстрациях - так всегда интереснее и познавательнее.
12. Публикация интервью. Является одним из самых простых способов создания уникального контента. Да, ко всему прочему, еще и интересного. Ведь, если взять интервью у известного и уважаемого человека, то найдется много людей, которым будет его интересно почитать.
Добавлять интервью советую периодически, но не очень редко - чтобы поддерживать интерес к вашему ресурсу. По поводу оформления - то не помешает фотография персоны, у которой берется интервью, а также оставьте его формулировки без изменений (разве что исправьте грамматические и орфографические ошибки).
13. Сезонные статьи. Если ваша сфера деятельности зависит от времени года (например, ваша фирма занимается туризмом, организацией охоты, рыбалки), то тут без статей с учетом сезона не обойтись. Таким образом для посетителя предоставленная информация будет интересной и актуальной.
14. Статистические данные. Такая информация просто жизненно необходима для сайтов, посвященных финансовым операциям, недвижимости и т.п. Если у вас нету собственных ресурсов для формирования данных статистики, то тут придут на помощь сайты, которые готовы предоставить вам такие данные. В большинстве случаев это делается бесплатно, а платой за использование будет ссылка на первоисточник.
15. Конкурсы. Людям всегда нравилось участвовать в различных конкурсах и соревнованиях. Пусть даже они и носят виртуальный характер. Даже если победители не получат ценный приз, а всего лишь их имя будет гордо красоваться на вашем сайте - это тоже будет людям приятно. Можно организовать конкурс стихов, рассказов, фотографий - всего того, что может разместить любой посетитель.
16. Истории успешного сотрудничества. Добавьте на ваш сайт отдельный раздел типа "Отзывы наших клиентов" и поместите туда настоящие (а не вымышленные) отзывы ваших клиентов о вашей компании, качестве предоставляемых услуг. Можете просто попросить вашего клиента написать отзыв. Убедите его, что это выгодно - и реклама его фирмы, и его фото (можно и так сделать) или предоставить скидку на дальнейшие покупки.
17. Новости индустрии или сферы, имеющей отношение к вашей продукции (услугам). Людям всегда интересно, что нового появляется в выпускаемой продукции, какие появляются новшества и разработки. Если лень добавлять самому новости (а они появляются практически каждый день), то можно экспортировать их с нескольких сайтов. Опять же есть такая замечательная вещь, как RSS лента.
Вот и все советы. Как видите, их не так уж и много. Зато эффект он их воплощения - ощутимый. Таким образом вы будете интересны и поисковым машинам и посетителям вашего сайта.
Множество владельцев малого бизнеса просто не имеют достаточно ресурсов для проведения рекламной компании, которая бы позволила раскрутить их интернет-ресурс. Именно для решения этой проблемы в интернете существует множество online сервисов, которые позволяют владельцу сайта самостоятельно (DIY, do-it-yourself) заняться популяризацией своей веб-странички.
На сайтах подобного рода специалисты по поисковой оптимизации могут дать вам множество полезных советов и рекомендаций. Эта статья предоставляет возможность мне поделиться с вами своим опытом в области поисковой оптимизации. Назовем эти рекомендации как "10 минут для поисковой оптимизации".
Эти советы будут полезны для каждого, у кого есть хотя бы несколько страничек, сверстанных на HTML, но все же главной темой данной статьи будет привлечение посетителей на вашу домашнюю страничку.
Первые шаги
Перед тем, как начать, следует рассмотреть несколько моментов, которые необходимо знать перед началом оптимизации. Только вот для этого может потребоваться и более 10-ти минут. Итак, следует учесть следующее:
Определитесь со своей целью:
99% из вас знают, какой именно товар вы собираетесь рекламировать, поэтому вам нужно только определиться с ключевыми словами, по которым посетитель и попадет на ваш сайт. Вот несколько полезных советов. Во-первых, нужно проанализировать статистику посещаемости сайта, чтобы узнать, по каким ключевым словам посетители попали на ваш сайт. Во-вторых, посетите сайт вашего конкурента, который широко известен в просторах интернета.
Посмотрите на заголовки нескольких его страничек и попытайтесь определить, какие именно ключевые слова используются. Также посмотрите исходный текст странички (в Internet Explorer'е его можно посмотреть с помощью пункта меню View (Вид) - > Source (Просмотр html-кода)) и скопируйте информацию, содержащуюся в META-тегах. На своей страничке же вы должны определиться с частотой (разумной) использования наиболее запрашиваемых ключевых слов.
Здесь очень важно заметить, что профессиональные оптимизаторы имеют у себя под рукой гораздо больше инструментов, да и информации для установки нужных ключевых слов (с высокой их частотой в тексте страницы).
Дизайн сайта - привлекателен ли он для покупателя?
Вот тут-то и находится один из подводных камней. Суть его в том, что непривлекательный дизайн сайта - это прямой путь к низкой посещаемости ресурса. Безусловно, на тему разработки юзабилити сайта (т. е его дизайна), написано очень много и книг, и статей. Но пусть в рамках данной статьи все аспекты юзабилити рассмотреть и не получиться, то несколько замечаний тут не помешает:
1. Избегайте использовать в цветовой гамме сайта необычные и странные цвета. В противном случае посетителю будет тяжело прочитать информацию на вашем ресурсе (красный текст на голубом фоне - вот вам и яркий пример ужасного дизайна). Также не рекомендуется использовать текст мелкого шрифта; старайтесь придерживаться размера шрифта в пределах от 10 до 12 (2 или 3 в Macromedia Dreamweaver).
2. Использование на сайте рекламных блоков (как графических, так и текстовых), будут только отвлекать ваших посетителей. К примеру, если вы продаете автомобили BMW, то рекламировать на сайте средство для повышения потенции "Виагра" будет очень некстати.
Каждый графический элемент на вашей страничке может как повышать, так и понижать доверие посетителей к вашему ресурсу. Старайтесь использовать это место на сайте очень мудро и пользователи это оценят.
10 минут на раскрутку
1. Проверка на спам
Перед началом работ по оптимизации одним из ключевых моментов является тот факт, для раскрутки своего сайта вам не следует использовать приемы, которые могут быть восприняты поисковой машиной как спам. Но самое неприятно в этом то, что вы можете об этом и не подозревать! Некоторые веб-мастера (с устаревшими знаниями о принципах работы поисковых машин) используют на веб-страницах скрытый текст. Они ошибочно полагают, что таким методом помогут сайту подняться в глазах поисковика. Но это в корне неверно и данный прием может только добавить проблем для поисковой оптимизации.
Для обнаружения скрытого текста нужно всего лишь с нажатой левой кнопкой мыши провести от начала до конца страницы. Выделив таким образом всю страничку, можно легко найти скрытый текст (как правило, цвет шрифта у скрытого текста совпадает с цветом фона странички) - он просто будет выглядеть как подсвеченный.
Также вам захочется проверить частоту ключевых слов, которые встречаются на страничке. В данном случае является недопустимым повторение 5-6 ключевых слов, которые расположены друг за другом. Таким образом поисковую машину уже не проведешь, так что лучше таких приемов не использовать.
Для получения более детальной информации о нечестных методах раскрутки, которые приводят только к негативным результатам, можно ознакомиться с документом: "Inspecting your Web Site for Spam."
2. Проверка на релевантность (значимость) сайта для поисковой машины
Очень важно для вашего ресурса всегда быть в фокусе у поисковика. Для примера, если ваш ресурс будет ассоциироваться с ключевой фразой "Продажа автомобилей BMW", то ссылка или информация о продаже недвижимости будет совершенно излишней. Имейте в виду, что большинство поисковых машин будут судить о вашем ресурсе именно в зависимости его тематики. А она в первую очередь зависит от текстовой информации, которая содержится на страницах вашего сайта.
3. Подбор правильного содержания сайта
Текстовая информация на вашем сайте является решающей для удержания на сайте человека, который только что на него зашел. К слову, что это так важно, хочу добавить, что у множества компаний есть свой профессиональный копирайтер, который и занимается контентом (информацией на сайте). Поэтому так важно при написании статей придерживаться ключевых слов, которые вы выбрали в качестве цели для поисковой оптимизации своего ресурса. Но, в свою очередь, размещать ключевые слова в тексте без связи с остальной информацией (т. е ключевые слова не соответствуют тематике статьи) - верный путь потерять посетителя вашего сайта.
Важное замечание: очень часто первые 25-30 слов вашего сайта - это то, что каждый поисковик будет использовать для его описанию. Постарайтесь использовать ваши ключевые слова внутри этой области, не забывая при этом, чтобы это самое описание выглядело разборчиво и наглядно.
4. Работа над заголовком сайта (Title)
В заголовок вашей странички очень желательно поместить те ключевые слова или фразы, которые наиболее полно характеризуют предмет рекламы на ней. Для примера: "Продажа автомобилей BMW - MeBMW.com" Для поисковых машин заголовок является очень важным, а ключевые слова (фразы) в нем только помогут выше подняться в рейтингах. Но здесь главное не переусердствовать и использовать ключевые слова в пределах разумного. Заголовок также играет большую роль и в релевантности сайта. Именно его содержание будет сравниваться с текстовой информацией (контентом) остальной части веб-страницы. Чем больше будет совпадений у заголовка страницы с ее контентом, тем более она будет значимой для поисковой машины.
6. Навигация сайта... Сделайте ее интуитивно понятной
Могу предположить, что вы, как и большинство, используете для навигации на своем сайте графические элементы или текстовые ссылки. Здесь вам один мой небольшой совет - создайте меню для навигации на своем сайте предпочтительнее в виде текстовых ссылок его разделы. А разместить его лучше внизу страницы - так удобнее для посетителя. Теперь, при добавлении разделов, вы их можете называть, используя ключевые слова/фразы для лучшей информативности описания вашего раздела. Для примера сравним два варианта меню:
Аксессуары к автомобилям BMW | Продажа автомобилей BMW | Подробнее о MyBMW.com
и как после этого смотрится вот такое:
Аксессуары | Продажа автомобилей | О нас
7. Проверьте работоспособность ссылок и орфографию/грамматику
Совсем уж не помешает еще разок проверить все ссылки на сайте и правописание. После чего, если вы уверены, что это уже окончательный вариант, можете смело загружать сайт в интернет.
Спешить нужно медленно
А что же дальше? Сейчас много поисковых машин предлагают такую платную услугу, как предоставление вашему новому веб-сайту постоянную или срочную индексацию. В противном случае неизвестно, когда же до него доберется поисковый паук и проиндексирует его в своей базе. Если же вы воспользуетесь услугой срочной индексации, что уже через пару дней можно пожинать плоды в виде посетителей. Правда, у каждой поисковой машины здесь свои сроки.
Но все же эта статья посвящена тем, у кого денег для такой услуги попросту нет (да и стоит она недешево, вот может с первой прибыли ею и воспользуемся). Тем не менее, если ваш сайт уже посетил поисковый робот и внес его в свою базу, то вам остается теперь только ждать, когда он опять посетит его вновь на предмет наличия нового материала. Вот поэтому так важно своевременно обновлять контент на сайте - добавлять новые статьи, заводить новые разделы и т.д. (все зависит от вашей фантазии и сообразительности).
Но что же делать, если же вы желаете уменьшить это время или если до вашего сайта робот еще и не добрался? Вот для этого и придется кропотливо регистрировать все ваши новые странички вручную на сайте поисковика. А перед регистрацией (первой или повторной) не помешает также внимательно ознакомиться с правилами, которые очень подробно расписаны у каждого поисковика. Так, на всякий случай.
Если у вас есть сайт, то вы хотите, чтобы он был посещаемым. А что делать с этими посетителями - это уже тема отдельной статьи. Мы же в этот раз поговорим о генерации трафика на ваш ресурс. Думаю, что одним из наиболее эффективных методов является написание (перевод) статей и публикация их на сайтах, которые пользуются популярностью и регулярно посещаются.
Тут даже не столь важно, или у вас информационный портал с множеством тематик и разделов, или же просто вы продаете/предлагаете что-то, пишите статьи сами или заказываете их у кого-то. Главное - это поток целевого трафика с данных каталогов на ваш сайт.
Приведу несколько правил для успешной генерации такого трафика:
1) Первым делом внимательно прочитайте правила публикации статей и новостей на данном ресурсе. Очень важно обратить внимание на способ оформления материалов - некоторые каталоги не пропускают html-теги в материале статьи.
2) Старайтесь не публиковать один и тот же материал на большом количестве сайтов - ведь поисковые боты могут принять его за дубликаты, а они в последнее время их очень не любят.
3) Естественно, что нашей целью будет не только информирование и донесение чего-то полезного до читателя, но и привлечение его на наш сайт. Ясное дело, что для этого нужно поставить несколько ссылок на ваш ресурс. Но тут важно не перестараться - достаточно будет одной ссылки в тексте статьи (в тему статьи, а не просто - "зайдите на мой сайт") и одной в блоке "информация об авторе".
4) Следует публиковать статьи лишь в тех тематических рубриках, которые соответствуют тематике вашей статьи. В противном случае ее либо не примут на публикацию, либо и читать-то никто не будет. А чтобы найти свой тематический сайт, наберите в гугле что-то типа: "ключевое слово" опубликовать статью (англоязычный вариант - "your keyword here" submit article).
5) Те, кто не боится спама, см. следующий пункт. Остальные - не публикуйте в открытом виде свой контактный e-mail адрес, или же заведите какой-нибудь специально для этих целей.
6) Не забывайте, что публикуете не только вы один, так что ваша статья быстро уйдет в самый низ архивов. Да и кто в них, этих архивах будет рыться, людям нужна свежая информация. Вот и совет вам - не забывайте почаще добавлять статьи, таким образом вы обеспечите себя стабильным трафиком.