Язык C оставляет компилятору некоторую свободу в отношении расположения структурных элементов в памяти:
Язык C предоставляет некоторую уверенность программисту в компоновке элементов в структуре:
Проблемы, связанные с выравниванием элементов:
Как работает выравнивание:
ps. Более подробную информацию можно найти здесь: «Сэмюэл П. Харбисон, Гай Л. Стейле CA Reference, (5.6.2 - 5.6.7) "
Используя семантические средства разметки, что (X) HTML-код Вы используете на странице, содержит метаданные, описывающие его цель - например, <h2>
это содержит имя сотрудника, мог бы быть отмечен class="employee-name"
. Первоначально были некоторые люди, которые надеялись, что поисковые системы будут использовать эту информацию, но поскольку сеть развилась, семантическая разметка главным образом использовалась для обеспечения рычагов для CSS.
С CSS и семантической разметкой, можно разделить визуальное проектирование страницы от разметки. Это приводит к сбережениям пропускной способности, потому что дизайн только должен быть загружен однажды, и более легкая модификация дизайна, потому что это не смешано в к разметке.
Другая точка - то, что используемые элементы должны иметь логические отношения к данным, содержавшим в них. Например, таблицы должны использоваться для табличных данных, <p>
должен использоваться для текстовых абзацев, <ul>
должен использоваться для незаказанных списков, и т.д. Это в отличие от раннего веб-дизайна, который часто использовал таблицы для всего.
Из http://www.digital-web.com/articles/writing_semantic_markup/:
семантическая разметка является разметкой, которая является достаточно описательной, чтобы позволить нам и машинам, которые мы программируем, чтобы распознать его и принять решения относительно него. Другими словами, разметка означает что-то, когда мы можем определить его и сделать полезные вещи с нею. Таким образом семантическая разметка становится больше, чем просто описательный. Это становится блестящим механизмом, который позволяет и людям и машинам “понимать” ту же информацию.
Помимо уже упомянутой цели разрешения программного обеспечения 'понять' данные, существует более практическое применение в использовании его для перевода между онтологиями, или для отображения между отличающимися представлениями данных - не имея необходимость переводить или стандартизировать данные (который может привести к потере информации и обычно препятствует тому, чтобы Вы улучшили свое понимание в будущем).
Было по крайней мере 2 сессии в OSCon в этом году, связанном с использованием семантических технологий. Каждый был на BigData (слайды доступны здесь: http://en.oreilly.com/oscon2008/public/schedule/proceedings, другой был парнями от FreeBase.
BigData использовал его для отображения между двумя отличающимися моделями данных (включая использование языков запросов, которые были конкретно созданы для работы с семантическими наборами данных). FreeBase отображается между различными наборами данных и затем выполняет дальнейший анализ для получения значения через те наборы данных.
Связанные темы для изучения: СОВА, OQL, SPARQL, Franz (AllegroGraph, RacerPRO и TopBraid).
Семантика буквально означает использовать "значимый" язык; в веб-разработке это в основном означает использовать теги и идентификаторы, которые описывают содержание.
Например, применяя идентификаторы, такие как #Navigation, #Header и #Content к Вашему <отделение> теги, а не #Left и #Main, или с помощью незаказанный списки для списка навигационных ссылок, а не таблицу.
Основные преимущества находятся в будущем обслуживании; можно легко изменить расположение или презентацию, не теряя значение содержания. Панель навигации можно переместиться слева направо, или ссылки, отображенные горизонтально, а не вертикально, не теряя значение.