1


 
 
 

МЕХЗАВОД | Сайтостроение для начинающих

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Библиотека программиста.

Сообщений 61 страница 70 из 105

61

Флэнаган Д. «JavaScript. Подробное руководство», Символ-Плюс, 2012 год,1080 стр, ил., (15,7 мб,.djvu)

JavaScript язык сценариев широко используемый WEB дизайнерами для придания динамичности и интерактивности веб приложениям. Является основой технологии AJAX. JavaScript также может быть использован при создании прикладных программ, мобильных приложений, виджетов, серверных приложений, браузерных операционных системах. Например — WebOS.

Отрывок из книги:

Арифметические выражения деления и вычитания, поэтому они будут рассмотрены первыми. Оператор сложения будет описан в собственном подразделе, потому что он также выполняет операцию конкатенации строк и использует некоторые необычные правила преобразования типов. Унарные и поразрядные операторы также будут рассматриваться в отдельных подразделах. Основными арифметическими операторами являются * (умножение), / (деление), % (деление по модулю: остаток от деления), + (сложение) и — (вычитание). Как уже отмечалось, оператор + будет рассматриваться в отдельном разделе.

Другие основные четыре оператора просто определяют значения своих операндов, преобразуют их значения в числа, если это необходимо, и вычисляют произведение, частное, остаток или разность значений. Нечисловые операнды, которые не могут быть преобразованы в числа, преобразуются в значение NaN. Если какой-либо из операндов имеет (или преобразуется в) значение NaN, результатом операции также будет значение NaN.

Оператор / делит первый операнд на второй. Если вам приходилось работать с языками программирования, в которых целые и вещественные числа относятся к разным типам, вы могли бы ожидать получить целый результат от деления одного целого числа на другое целое число. Однако в языке JavaScript все числа являются вещественными, поэтому все операции деления возвращают вещественный результат: выражение 5/2 вернет 2.5, а не 2. Деление на ноль возвращает положительную или отрицательную бесконечность, тогда как выражение 0/0 возвращает NaN; ни в одном из этих случаев не возбуждается исключение.

Оператор % производит деление по модулю первого операнда на второй. Иными словами, он возвращает остаток от целочисленного деления первого операнда на второй. Знак результата определяется знаком первого операнда. Например, выражение 5 % 2 вернет 1, а выражение -5 % 2 вернет -1. Несмотря на то что оператор по модулю обычно применяется к целым числам, он также может оперировать вещественными значениями. Например, выражение 6.5 % 2.1 вернет 0,2. Двухместный оператор + складывает числовые операнды или выполняет конкатенацию строковых операндов: Когда значениями обоих операндов являются числа или строки, результат действия оператора + очевиден.

Однако в других случаях возникает необходимость преобразования типов, выполняемая операция зависит от результатов преобразований. В соответствии с правилами преобразований оператор + отдает предпочтение операции конкатенации строк: если один из операндов является строкой или объектом, который может быть преобразован в строку, другой операнд также преобразуется в строку, после чего выполняется операция конкатенации строк.Операция сложения выполняется, только если ни один из операндов не является строкой.Формально оператор + использует следующий алгоритм работы:
4.8.1. Оператор +
1 + 2
«hello» + » » + «there» «Г + «2»
// => 3
// => «hello there» // => «12»

Ссылка

62

Дари К., Бринзаре Б., Черчез-Тоза Ф., Бусика М.»AJAX и РНР: разработка динамических веб-приложений.» Символ-Плюс, 2006. — 336 с., ил., (37,3 мб pdf)

Книга поможет вам в изучении программирования на PHP с использованием возможностей технологии AJAX (Asynchronous Javascript and XML — «асинхронный JavaScript и XML). После прочтения и изучения книги Вы на практике сможете применять AJAX, который в сочетании с PHP и MySQL даст возможность использовать эту технологию в разработке собственных проектов. В этом издании рассмотрены следующие вопросы: верификация заполнения форм на стороне сервера; чат-приложение на AJAX; реализация функции подсказок и функции автодополнения, представление диаграмм в реальном времени средствами SVG; настраиваемые и редактируемые таблицы на основе баз данных; реализация RSS-агрегатора; построение сортируемых списков с поддержкой механизма drag-and-drop. Издание предназначено тем, кто владеет базовыми знаниями PHP, XML, JavaScript и MySQL и хочет узнать все тонкости функционирования AJAX и взаимодействия составляющих этой технологии.

Ссылка

63

Б. Лоусон, Р. Шарп.»Изучаем HTML5. Библиотека специалиста»,Питер, 2011 год, 253 стр.
Б. Лоусон, Р. Шарп.»Изучаем HTML5. Библиотека специалиста»,Питер, 2012 год, 303 стр.

В книге вы совместно с авторами будете создавать код для различных примеров и обучаться работе с API. Узнаете о структуре, спецификации и семантике HTML5. Научитесь грамотно его применять, рассматривая конкретные примеры. Ниже приведено оглавление для издания 2011 года.

Оглавление ( 2011 )
Введение 11
Для кого эта книга? 13
Чем не является эта книга 13
Что мы имеем в виду под HTML5 14
Кто? Что? Когда? Почему? Краткая история HTML5 14
Как HTML5 чуть не канул в безвестность 15
Принципы, скрывающиеся за HTML5 17

Глава 1. Основная структура 23
< head > 25
Использование новых структурных элементов HTML5 29
Оформление HTMI-5-документа с помощью CSS 35
Создание CSS для Internet Explorer 36
Оформление HTMI-5-документов в старых версиях Firefox и Camino 37
Другие проблемы устаревших браузеров 38
Когда используются новые структурные элементы HTML5 38
< header > 38
< nav > 41
< footer > .43
< article > .46
Заключение .46

Глава 2. Текст .47
Создание структуры основных областей контента 49
Кое-что интересное об элементах < header > и < footer > 53
Добавление сообщений блога и комментариев 55
Работа со структурами HTML5 56
< nav >, < aside > и разделы без заголовка 59
< hgroup > 60
Структурированные корневые элементы 61
Создание стилей для заголовков в HTML5 61
Алгоритм определения структуры и доступность 62
В чем различие между < article > и < section >? 63
Анализ www.guardian.co.uk 69
Что такое WAI-ARIA 75
ARIA-структура документа и роли 76
Как совмещать ARIA и HTML 78
Ресурсы ARIA 78
Еще больше новых структур! .79
< aside > 79
< details > .79
< figure > 80
< mark > 82
< ruby >, < rp >, < rt > 82
Переопределенные элементы 84
< ol > .84
< dl > 84
< cite > 85
< address > 86
< em >, < i > 86
< strong >, < b > 87
< hr > 87
< small > 87
Удаленные элементы 88
Глобальные атрибуты .88
contenteditable .88
contextmenu 89
data 89
draggable 89
hidden 89
item, itemprop, subject .90
Атрибуты role, aria 90
spellcheck 90
tabindex (=-1) 90
Свойства, не рассматриваемые в этой книге .91
< embed > 92
< keygen > 92
< progress >, < meter > 92
< menu >, < command > .92
microdata 93
< style scoped > 93
Заключение 93

Глава 3. Формы .95
Мы любим HTML, и теперь он тоже нас любит 97
Новые типы ввода данных 98
Тип ввода данных email 98
Тип ввода данных URL 99
Тип ввода данных date 99
Тип ввода данных time 100
Тип ввода данных datetime 101
Тип ввода данных month 101
Тип ввода данных week 101
Тип ввода данных number 102
Тип ввода данных range 102
Тип ввода данных search 102
Тип ввода данных tel 102
Тип ввода данных color 103
Новые атрибуты 103
Атрибут list 103
Атрибут autofocus 104
Атрибут placeholder 104
Атрибут required 105
Атрибут multiple 105
Атрибут pattern 105
Атрибут autocomplete 107
Атрибуты min и max 107
Атрибут step 108
Как собрать все это вместе 108
Форма комментария блога 108
Ползунок со скриптом для вывода 109
Обратная совместимость с устаревшими браузерами 111
Оформление новых полей формы и сообщений об ошибках 113
Переопределение умолчаний браузера 113
Использование JavaScript для DIY-валидации 115
Как инициировать валидацию 115
Валидность элементов 116
Как избежать валидации 116
Событие «всякий раз, когда что-то меняется» 118
Заключение 119

Глава 4. Видео и аудио 121
Родная мультимедиа: почему, что и как? 123
< video >: зачем нужен элемент < video >? 123
Для чего не подходит мультимедиа HTML5 125
Анатомия элемента видео 126
Автовоспроизведение (autoplay) 127
Элементы управления (controls) 127
Изображение (poster) 128
В ысота, ш и р и на (heig h t, width) 128
Повтор (loop) 129
Предварительная загрузка (preload) 129
Источник (src) 130
Кодеки: ужас-ужас 130
Множественные элементы < source > 131
Видео для устаревших браузеров 132
Видеофайлы и карманные устройства 134
Пользовательские элементы управления 135
Воспроизведение, пауза — и все это на одной кнопке 138
Богатые событиями элементы медиа 139
Отслеживаем ход загрузки 141
Когда медиафайл готов к воспроизведению 142
Перемотка вперед, замедленное и обратное воспроизведение 143
Возможности управления мультимедиа 144
Заключение 147

Глава 5. Холст 149
Самое главное о холсте 153
Рисование с градиентами и узорами 154
Рисование путей 157
Использование трансформеров: замаскированные пикселы 160
Захват изображений 162
Работа с отдельными пикселами 165
Анимированные изображения на холсте 170
Сохранение и восстановление условий рисования 173
Визуализация текста 174
Достижимость в пределах элемента холста 175
Заключение 176

Глава 6. Хранение данных 177
Варианты хранения 180
Веб-хранилище 181
Базы данных SQL для веб 190
Заключение 202

Глава 7. Автономная работа 203
Выдерните вилку из розетки: работаем автономно 205
Манифест кэша 206
Как правильно подавать манифест 210
Процессы между браузером и сервером 211
applicationCache 213
Определение наличия подключения с помощью манифеста 215
Очистка кэша 216
Заключение 217

Глава 8. Перетаскивание 219
Начинаем перетаскивать 222
Совместимость перетаскиваемых данных 226
Перетаскивание данных в другие приложения 226
Как перетаскивать любой элемент 229
Добавление пользовательского значка перетаскивания .229
Доступность 230
Заключение 233

Глава 9. Геолокация 235
Пришпильте посетителя к карте 237
Методы API 239
Ты попался: обработчик успешного исполнения 240
Адрес 404: обработчик ошибок 242
Настройка геолокации 243
Как это работает: сплошное волшебство 244
Заключение 245

Глава 10. Сообщения, фоновые вычисления и сокеты 247
Крошечный чатик с помощью API Messaging 250
Отправка сообщений между доменами 250
А можно ли отправлять что-нибудь еще кроме строк? 252
Разбиение на потоки с помощью фоновых вычислений .252
Зачем использовать фоновое вычисление? 253
Веб-сокеты: работа с потоковыми данными 265
Сокеты решают проблему задержек в приложениях реального времени 265
API веб-сокетов прост 266
Больше, чем прослушивание сокета 268
Заключение 269
И напоследок 269

Ссылка

64

Дронов В.А. «HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов» БХВ-Петербург, 2011 год, 414 стр., (4,95 мб, .djvu)

Время движется вне зависимости от нашего желания. Не отставая от времени развиваются и новые технологии, в частности технологии «всемирной паутины». На смену HTML 4 приходит HTML 5, так же как и технологии Web 2.0.завоевывают все большую популярность. Пользователи интернета становятся требовательней не только к содержанию и дизайну но так же и к функциональности WEB-ресурсов. И что бы не отстать от времени , необходимо изучать и практически применять нововведения которые предлагает пятая версия HTML.

В изучении HTML 5, призвана помочь данная книга. Что же нового мы узнаем из книги? Новые концепции Web 2.0. и спецификаций HTML, оформление текстов, графика и мультимедиа, использование тегов » AUDIO» и «VIDEO», создание стилей CSS 3, работа с JavaScript, использование WEB-форм и библиотеки Ext Core.

Книга содержит материал с примерами конкретных разработок интерактивного контента для Web. В итоге при внимательном и скрупулезном изучении книги создание собственного сайта в интернете для вас превратится из мечты в реальность.

Ссылка

65

А.А. Борисенко» Локальная сеть, Просто как дважды два», Эксмо, 2007 год,160 стр, ил., (5,30 мб .djvu)

Отрывок из книги:

Безопасность сети
Процесс защиты данных и оборудования от несанкционированного доступа широко известен под названием безопасность сети. Важность организации хорошей сетевой безопасности становится очевидной, если вдуматься в последствия, которые возникнут при несоблюдении мер предосторожности: данные могут быть случайно или специально удалены из системы, конкуренты могут почерпнуть массу интересной и важной информации, если получат к ней доступ, может ухудшиться или вообще стать невозможным использование ресурсов сети, если упадет её производительность.

Задача по принятию предупредительных мер, позволяющих избежать риска потери данных, возлагается на сетевого администратора. Однако при этом необходимо сохранять баланс между повышением уровня безопасности, простотой использования и работоспособностью сетевых систем. Меры безопасности и гибкость системы являются диаметрально противоположными понятиями. Ведь каждый шаг, предпринятый сетевым администратором для предотвращения несанкционированного доступа, требует от авторизованного пользователя выполнить дополнительное действие для доступа к данным. Важно проанализировать каждую систему в сети и в индивидуальном порядке установить соответствующие ограничивающие доступ меры безопасности. Угрозы безопасности.

Первое, что необходимо «делать для оценки уровня безопасности, это определить угрозы для вашей сети. Несмотря на то что термин «сетевая безопасность» обычно подразумевает защиту данных и системных ресурсов от проникновения извне, большинство брешей в безопасности создаются персоналом внутри организации. Компании тратят огромные деньги на защиту ценной информации от внешних атак, тогда как предотвращению доступа к той же информации внутреннего персонала уделяется недостаточно внимания.Несмотря на то что средства массовой информации пестрят красочными историями о случаях шпионажа через компьютерные системы, большинство случаев хищения информации происходят обычным путем.

Даже когда источник угрозы находится снаружи организации, инструментом обычно является ее работник. С точки зрения человека, жаждущего получить доступ к секретной информации, обычно гораздо легче найти работника фирмы, который пожелает помочь, чем пытаться взломать системы компании. Кроме того, такой способ гораздо сложнее отследить.Чаще всего хищение информации производится «обиженным» на организацию или увольняющимся служащим.

Когда сотрудник фирмы увольняется сам или его увольняют, необходимо немедленно принять меры по защите информации, к которой данный работник имел доступ. Необходимо удалить с компьютера его учетную запись. Если учетную запись удалить не представляется возможным, нужно изменить его права доступа, чтобы максимально уменьшить риск появления бреши в безопасности системы. Также необходимо сменить все пароли ко всем учетным записям с правами администратора, к которым имел доступ увольняющийся сотрудник. Многие бывшие работники компаний могут похвастаться тем, что у них имелся доступ к информации старых фирм еще в течение нескольких лет после увольнения, так как их учетные записи не были заблокированы.

Системные администраторы и администраторы баз данных представляют собой еще большую угрозу безопасности системы. Эти сотрудники по служебной необходимости имеют гораздо более высокий уровень доступа к данным, чем любой другой пользователь. По этой причине лучше, чтобы системным администрированием занималось как минимум два человека, а не один. Дело в том, что при наличии нескольких администраторов вероятность обнаружения запрещенного действия одного из них значительно увеличивается.Также лучше создать пользовательские учетные записи и предоставить им права администратора для ежедневного администрирования, чем использовать саму учетную запись администратора.

После этого пароль к учетной записи администратора необходимо запечатать (в конверт) и поместить в безопасное место (например, в сейф). Если все учетные записи с уровнем доступа администратора по каким-то причинам будут заблокированы, у вас останется учетная запись администратора, которую можно будет использовать для восстановления доступа к системе. Несмотря на то что основная угроза безопасности исходит изнутри организации, существует также большая вероятность угрозы извне. Хакеры, конкуренты и даже правительственные организации могут попытаться получить несанкционированный доступ к вашим компьютерным системам.

Кстати, угроза от хакеров часто сдорово преувеличена. Хакеры (или крекеры, как они любят себя называть) больше получают удовольствия от самого процесса и факта взлома системы, чем от нанесения какого-то ущерба после получения к ней доступа. К сожалению, сегодня все чаще возникают ситуации, когда хакеры нанимаются какой-то третьей стороной в качестве инструмента для получения доступа к системам.В связи с тем, что с каждым днем все больше ценной информации хранится в системах, подключенных к сетям, увеличивается и соблазн получения доступа к системе конкурента. Более всего, в областях индустрии, где царит жесткая конкуренция, существует целый подпольный рынок, где продается и покупается информация.

Содержание:
Введение 9
Структура книги 9
Соглашения, принятые в книге 10

Глава 1. Обзор компьютерных сетей 13
Типы сетей 13
Принцип передачи данных по локальной сети 16
Что нужно знать для создания компьютерной сети 16
Заключение 20

Глава 2. Разные сети для разных целей 21
Сетевые топологии 21
Базовые топологии 21
Одноранговые и серверные сети 26
Заключение 28

Глава 3. Сетевое аппаратное обеспечение 29
Сетевой адаптер 29
Концентрату 31
Нужен ли вам концентратор 33
Типы концентраторов 34
Коммутатор 35
Маршрутизатор 36
Мост 39
Заключение 40

Глава 4. Построение сетевой инфраструктуры 41
Ethernet 41
CSMA/CD .41
Token Ring 42
Fast Ethernet 42
FDDI 43
CDDI 44
Волоконно-оптический канал 44
ATM 45
Gigabit Ethernet 45
Заключение. 45

Глава 5. Сетевые протоколы 47
Модель OSI 47
Перемещение данных по эталонной модели 51
TCP/IP 52
TCP 58
UDP 58
IP 59
DNS 62
ARP 63
ICMP 63
IPX/SPX 63
IPX-адресация 64
Заключение 65

Глава б. Конфигурация одноранговых сетей 67
Логическое планирование сети 67
Аппаратное обеспечение .68
Расположение объектов сети 74
Настройка сетевых протоколов 76
Общее использование ресурсов 81
Заключение 84

Глава 7. Конфигурация серверных сетей 85
Описание серверной сети 85
Установка и первый запуск Windows Server 2003 86
Роль Windows Server 2003 87
Служба каталогов 89
Active Directory .89
Учетные записи пользователей 91
Создание пользовательских учетных записей 91
Создание учетных записей компьютеров 94
Создание групп 95
Управление доступом к ресурсам 96
Уровни доступа к папкам 98
Работа с принтерами 99
Заключение 101

Глава 8. Доступ к Интернет 103
Краткая история Интернет 103
Различные типы доступа к Интернет 104
Доступ с помощью телефонной линии 105
Доступ по выделенной линии 112
Подключение локальной сети к Интернет 115
Заключение 118

Глава 9. Создание Web-узла 119
Что такое Web-узел 119
Основы HTML 120
Ссылки 121
Заголовок HTML-страницы 123
Тело HTML-страницы 125
Создание простейшей Web-страницы 125
Создание заголовка 125
Работа с текстом 126
Добавление изображений 127
Создание внутренних, или относительных, ссылок 128
Создание внешних, или абсолютных, ссылок 129
Установка ссылки на адрес электронной почты 129
Просмотр страницы в обозревателе 130
Запуск нового узла 130
Заключение 131

Глава 10. Безопасность сети 33
Угрозы безопасности 133
Безопасность сетевых операционных систем 135
Брандмауэры 136
Меры безопаености при уделенном доступе 137
Вирусы и другие компьютерные паразиты 138
Заключение 140

Глава 11. Устранение проблем, возникающих при работе с сетью 41
Типы и решение сетевых проблем 141
PING 144
TRACE ROUTE 145
Заключение 147
Предметный указатель 148

Ссылка

66

А. Фримен » jQuery для профессионалов» Вильямс, 2013 год, 960 стр.,илл., (33,8 мб pdf)

В книге показаны наиболее эффективные алгоритмы работы с библиотекой jQuery ( библиотека ненавязчивого JavaScript, настроенная на совместную работу JavaScript и HTML), освоение которых позволит значительно упростить процесс веб-разработки отделяя поведение от структуры HTML, как CSS разделяет HTML и визуализацию. Исследуйте возможности веб-программирования с помощью jQuery и получите навыки работы с этой библиотекой.

Далее вы узнаете, как создавать мастерские веб-приложения с большей функциональностью и компактностью кода. Обучение ведется последовательно шаг за шагом, демонстрируя, как добавлять в приложения основные объекты библиотеки jQuery. Также в книге вы познакомитесь с фреймворком jQuery Mobile, изучите примеры во множестве приведенные в тексте. Книга поможет вам повысить и углубить свои знания в работе с данной библиотекой.

Ссылка

67

В книге показаны основные возможности веб-дизайна, подробно исследуются типы сайтов, варианты дизайна, стили,темы и структурные элементы WEB-страниц.

Макнейл П.»Веб-дизайн. Идеи, секреты, советы.», Питер, 2012 год, 272 с.: ил., (69,0 мб,pdf)

Патрик Макнейл веб-разработчик, занимающийся проблемами управления контентом и созданием клиентских веб-приложений.Увлечение технологиям и дизайном, возможность работы в интернете стали( его блог-designmeltdown.com) для него основным полем деятельности.

Написанная Патриком книга ознакомит читателя с различными дизайнами веб-сайтов в соответствии с различными тенденциями и шаблонами, которые выполняют веб-дизайнеры, и которые существуют в интернете.

Отрывок из книги:

Структурные стили сайтов
Сама идея нарушения норм, установления новых шаблонов и создания по-настоящему свежо выглядящих сайтов предполагает экспериментирование дизайнеров с альтернативными подходами к системе навигации. В силу многочисленности подобных экспериментов их результатом часто становятся странные и непрактичные решения. Однако в процессе экспериментирования также могут обнаружиться подходы, которые позволят сделать сайт не только более интересным, но и более удобным в использовании.

Употребление слова «нетипичная» в названии данного раздела указывает на то, что представленные здесь сайты идут против некоторых норм. На обычных сайтах логотип размещается слева вверху, основные ссылки — вдоль верха, ссылки для входа в систему — справа вверху, а второстепенные элементы навигации —
слева внизу страницы. Подобный подход является нормой, привычной для многих пользователей и дизайнеров. Так зачем же вообще нарушать нормы?

Единственной разумной причиной этого является обеспечение удобства пользования.По иронии сложилось так, что в случае с сайтами, где имеется нетипичная навигация, иногда непросто понять, обеспечивает дизайн высокое или низкое удобство пользования. Именно так обстоит дело с сайтом www.nalindesign.com (рис. 6.1,6.2), где присутствует весьма необычная система навигации. Еще одним отличным примером подхода, противоречащего нормам, является дизайн сайта www.jpeg.cn (рис. 6.3).

Здесь мы видим весьма необычную систему навигации, полностью в которой можно разобраться, только воспользовавшись ею. В данной ситуации процесс получения информации на сайте превращается почти что в искусство. Принимая во внимание тип оказываемых данным агентством услуг, мы видим прекрасное воплощение именно той работы, которую это агентство желает получать от потенциальных клиентов.

Ссылка

68

Шмитт К.»CSS. Рецепты программирования», «БХВ-Петербург», 2011 стр, 672 стр, ил, (23,1 мб,djvu)

Книга посвящена работе с каскадными таблицами стилей.Освещаются основы и тонкости программирования CSS.

Отрывок из книги:

Web-типографика Обсуждение Одна из сильных сторон технологии CSS — ее способ управления Web-типографикой. Web-дизайнеры и разработчики больше не должны применять напоминающие головоломку наборы вложенных элементов font, и однопиксельные GIF-фокусы для привлекательного оформления текста. Технология CSS может справиться с легкостью с таким действием, как настройка расстояний между двумя буквами или разделение слов в абзаце.

Кернинг и трекинг Корректировка межбуквенных расстояний для улучшения эстетического впечатления — старая традиция в графическом дизайне. Есть два термина, описывающих разные влияния величины межбуквенных пробелов на текст: кернинг (kerning) и трекинг (tracking).
Кернинг— это дизайнерский термин, используемый для описания изменения расстояния между парой букв для улучшения визуального впечатления. Примером кернинга может служить изменение расстояния между заглавной буквой Т и строчной буквой i. Трекинг определяет настройку расстояний между буквами в большом фрагменте текста, а не между парой букв.

Свойство word-spacing поддерживается в Web-обозревателях Firefox, Internet Explorer 6 для Windows и более поздних версиях, Opera 3.5 и более поздних версиях и Safari. Проверенные практические рекомендации. Для повышения эффективности свойства letter-spacing и word-spacing следует задавать в относительных, а не в абсолютных единицах длины.

Поскольку пользователи могут изменять размеры шрифтов в своих Web-обозревателях, фиксированное значение расстояния— 5 пунктов, первоначально предназначенное для размера шрифта 12 пикселов, не изменится, даже если пользователь увеличит шрифт. Другими словами, расстояние между буквами 5 пунктов едва ли будет заметно, если будет задан размер шрифта 72 пиксела или больший.
В случае относительных единиц, таких как ет, значение 1.5 ет для свойства letter-spacing будет масштабироваться одновременно с изменением размера шрифта. Кроме того, лучший вариант визуальных эффектов, применяемых к тексту, — сохранение удобочитаемости текста вне зависимости от использованного стилевого оформления.

Если вам и вашему клиенту важно общение, слабое стилевое оформление лучше, чем создание текстовых элементов, понятных только посвященным. Если текст становится неразборчивым, вы можете утомить всех, с кем пытаетесь связаться. См. также Свойство letter-spacing в спецификации CSS2.1 на странице http://www.w3.org/TR/ CSS21/text.html#propdef-letter-spacing; свойство word-spacing на http://www.w3.org/ TR/CSS21/text.html#propdef-word-spacing; дополнительную информацию о кернинге и трекинге на странице http://desktoppub.about.eom/cs/typespacing/a/kerningtracking.htm. Cascading Style Sheets (каскадные таблицы стилей)-без этой технологии современного Web-дизайна не обходится ни одна Web-страница.

Данная книга как раз и рассказывает об этой синтаксической структуре. Если вы знакомы с возможностями CSS, но не владеете основами дизайна, эта книга будет полезна и вам. В ней описаны элементы дизайна, начиная от основ Web-типографики и заканчивая макетами страниц, а также включена глава, описывающая приемы образцового дизайна и способная подсказать вам удачное решение.

Оглавление
Предисловие .13
Введение 15
Для кого предназначена эта книга 16
Допущения, принятые в книге 16
Содержание книги .18
Соглашения, использованные в книге 20
Использование кода примеров .20
Как связаться с издательством O’Reilly 21
Safari® Books Online 22
Благодарности. .22

Глава 1. Использование базовых элементов HTML .25
1.1. Выбор текстового редактора .26
1.2. Кодирование простейшей HTML-страницы .28
1.3. О DOCTYPE и его влиянии на макет страниц в Web-обозревателе .30
1.4. Разметка заголовков 34
1.5. Подобающее цитирование .36
1.6. Вставка изображения 37
1.7. Вставка звуковых файлов средствами HTML5 .39
1.8. Встраивание видео средствами HTML5 .40
1.9. Эффективное применение strong нет .42
1.10. Создание списков .43
1.11. Формирование ссылки на Web-страницу .45
1.12. Разметка таблиц. 47
1.13. Создание vCard (hCard) средствами HTML .49
1.14. Разметка события (hCalendar) .51
1.15. Проверка правильности HTML-разметки .51

Глава 2. Основы CSS .54
2.1. Применение правил CSS к Web-странице .55
2.2. Применение базовых селекторов для стилевого оформления .58
2.3. Применение селекторов прямого потомка 67
2.4. Применение селекторов соседнего элемента .68
2.5. Применение селекторов атрибута .70
2.6. Применение псевдоклассов .72
2.7. Применение псевдо элементов .73
2.8. Когда использовать селекторы класса и селекторы ID .75
2.9. О свойствах CSS 80
2.10. Представление о блочной модели .81
2.11. Связь стилей с Web-страницей .87
2.12. Об источниках CSS. 90
2.13. Порядок сортировки правил в CSS 91
2.14. Применение !important для переопределения отдельных правил CSS .93
2.15. Определение специфичности. 94
2.16. Как применять разные типы таблиц стилей ..96
2.17. Вставка комментариев в таблицы CSS .101
2.18. Организация информации в таблице стилей 102
2.19. Работа со свойствами с сокращенной формой записи .104
2.20. Задание альтернативной таблицы стилей 106
2.21. Применение плавающей модели 107
2.22. Применение автовыравнивания плавающих элементов 109
2.23. Применение абсолютного позиционирования .112
2.24. Применение относительного позиционирования 114
2.25. Применение сцепленного позиционирования .116
2.26. Создание стека элементов с помощью z-index 118
2.27. Проверка правил CSS 118

Глава 3. Web-типографика 121
3.1. Задание шрифтов 122
3.2. Применение Web-безопасных шрифтов .125
3.3. Задание стилизованного амперсанда 128
3.4. Внедрение файлов шрифтов 130
3.5. Принудительная разбивка действительно длинных слов 134
3.6. Задание размеров шрифта .135
3.7. Достижение большего соответствия размеров шрифтов в разных Web-обозревателях 137
3.8. Установка дефисов, длинных и коротких тире .141
3.9. Центрирование текста 142
3.10. Задание выравнивания текста по ширине 142
3.11. Обозначение избыточного текста многоточием 144
3.12. Удаление свободного пространства между заголовками и абзацами 145
3.13. Задание простой буквицы 146
3.14. Формирование центрированной приподнятой буквицы большего размера .147
3.15. Декоративное оформление приподнятой буквицы с помощью изображения 149
3.16. Создание заголовка со стилизованным текстом 151
3.17. Создание заголовка со стилизованным текстом и рамкой 153
3.18. Стилевое оформление заголовка с помощью текста и изображения 155
3.19. Создание врезки в HTML-тексте .157
3.20. Расположение врезки сбоку от колонки 159
3.21. Создание врезки с рамкой 160
3.22. Создание врезки с изображениями .162
3.23. Задание отступа в первой строке абзаца 165
3.24. Задание отступа для всего абзаца 166
3.25. Создание обратного отступа .169
3.26. Стилевое оформление первой строки абзаца .171
3.27. Стилевое оформление первой строки абзаца с помощью изображения 173
3.28. Создание эффекта выделенного текста 174
3.29. Изменение цвета при выделении текста 175
3.30. Изменение межстрочных интервалов 176
3.31. Добавление графической обработки HTML-текста 178
3.32. Вставка тени за текстом 180
3.33. Корректировка межбуквенных и межсловных пробелов 183
3.34. Достижение ритмичности базовых линий в Web-типографике 186
3.35. Стилевое оформление верхних и нижних индексов без нарушения базовой линии 188
3.36. Отображение нескольких колонок текста .189

Глава 4. Изображения 192
4.1. Преобразование средствами CSS цветных изображений в черно-белые в IE 192
4.2. Вывод рамки вокруг изображения 193
4.3. Установка вокруг изображения рамки со скругленными углами 195
4.4. Удаление рамок, устанавливаемых по умолчанию вокруг изображений в некоторых Web-обозревателях 197
4.5. Установка фонового изображения. 199
4.6. Создание полосы фоновых изображений .200
4.7. Размещение фонового изображения 201
4.8. Применение нескольких фоновых изображений в одном HTML-элементе 204
4.9. Расположение изображений на рамке блока 206
4.10. Создание закрепленного фонового изображения .209
4.11. Изменение размеров изображений при изменении размеров окна Web-обозревателя. 212
4.12. Растяжение изображения на все окно Web-обозревателя .214
4.13. Создание масштабируемых изображений 215
4.14. Задание способа визуализации изображений в Web-обозревателе 217
4.15. Поворот изображений средствами CSS .218
4.16. Задание градиентов средствами CSS .220
4.17. Создание прозрачных PNG-изображений для IE6 и более поздних версий .222
4.18. Применение PNG-файлов с прозрачностью с помощью JavaScript 224
4.19. Наложение HTML-текста на изображение 227
4.20. Замещение HTML-текста изображением 229
4.21. Создание панорамного представления изображения 232
4.22. Комбинирование разных графических форматов .233
4.23. Скругленные углы колонок с фиксированной шириной 239
4.24. Скругленные углы (метод раздвижных дверей) 241
4.25. Скругленные углы (метод горной вершины) .245
4.26. Скругление углов с помощью JavaScript 248
4.27. Вставка тени от элемента средствами CSS 252
4.28. Вставка тени за изображением 253
4.29. Вставка сглаженной тени за изображением 256
4.30. Создание выносок с текстом 260
4.31. Как помешать людям похищать ваши изображения .263
4.32. Автоматическая вставка отражений в изображения .265
4.33. Применение изображений-спрайтов .267
4.34. Обрезка фоновых изображений 269
4.35. Применение масок к изображениям и рамкам .271

Глава 5. Элементы страницы 274
5.1. Удаление полей страницы 274
5.2. Сброс стилей, назначаемых Web-обозревателем по умолчанию 277
5.3. Раскрашивание полосы прокрутки в IE .281
5.4. Методы центрирования элементов на Web-странице .284
5.5. Создание рамки страницы .289
5.6. Вывод рамки вокруг окна просмотра Web-обозревателя 291
5.7. Настройка горизонтального разделителя 293
5.8. Добавление просмотра изображения в режиме Lightbox 295
5.9. Изменение непрозрачности элементов 300
5.10. Регулировка непрозрачности цвета фона 302

Глава 6. Списки 306
6.1. Изменение формата списка 307
6.2. Изменение цвета маркера списка 309
6.3. Задание в списке отступов, одинаково.отображаемых в разных Web-обозревателях..310
6.4. Установка разделителей между элементами списка 311
6.5. Создание пользовательских текстовых маркеров в списках .313
6.6. Создание пользовательских маркеров-изображений в списках .315
6.7. Вставка больших пользовательских маркеров-изображений в списки .318
6.8. Улучшение представления списка с помощью графики .320
6.9. Создание внутри строчных списков 324
6.10. Создание обратных отступов в списке .326
6.11. Смещение маркера внутрь списка .327
6.12. Стилевое оформление списка определений .329
6.13. Традиционное отображение киносценария с помощью элемента языка HTML5 dialog 335
6.14. Превращение списка в дерево каталогов 336
6.15. Создание системы «звездного» рейтинга 340

Глава 7. Ссылки и навигация 345
7.1. Легкое создание текстовых меню и подменю .345
7.2. Удаление подчеркивания ссылок и другие приемы стилевого оформления 347
7.3. Изменение цвета ссылок 350
7.4. Удаление пунктирных линий при щелчке мышью по ссылкам в Internet Explorer 351
7.5. Изменение цвета ссылок в разных секциях страницы 352
7.6. Вывод пиктограмм в конце ссылок разных типов .353
7.7. Меняющиеся курсоры .354
7.8. Изменение внешнего вида ссылки при наведении указателя мыши без применения JavaScript 356
7.9. Анимация ссылок с помощью свойств CSS3 transition при наведении указателя мыши 358
7.10. Создание навигационных текстовых меню и визуальных эффектов при наведении указателя мыши на его пункты .362
7.11. Вставка подменю в вертикальные меню 366
7.12. Создание горизонтальных навигационных меню. 369
7.13. Построение горизонтальных навигационных меню с раскрывающимися меню 375
7.14. Создание навигационного меню с клавишами доступа .377
7.15. Создание переходов с помощью ссылок-цепочек 379
7.16. Создание с помощью изображений визуальных эффектов наведения указателя мыши на ссылку .382
7.17. Создание сворачиваемых меню 387
7.18. Создание контекстных меню .389
7.19. Создание всплывающих подсказок с помощью атрибута title .392
7.20. Разработка динамического меню из закладок .393
7.21. Изменяющиеся стили ссылок-якорей .395

Глава 8. Формы .400
8.1. Изменение пробельной зоны вокруг формы .400
8.2. Удаление пробельной зоны вокруг формы 401
8.3. Задание стилей для элементов ввода .402
8.4. Изменение стилей элементов формы при щелчке по ним кнопкой мыши .405
8.5. Применение разных стилей к разным элементам ввода в одной форме 406
8.6. Назначение стилей элементам textarea 407
8.7. Задание стилей элементов select и option .409
8.8. Создание поля поиска в стиле Macintosh .411
8.9. Стили кнопок формы 413
8.10. Создание изображения кнопки Submit 417
8.11. Установка кнопки Submit-Once-Only 418
8.12. Создание кнопки Submit в виде HTML-текста .419
8.13. Как заставить текстовую HTML-ссылку действовать как кнопка Submit .421
8.14. Разработка Web-формы без таблиц. .422
8.15. Разработка формы из двух колонок без применения таблиц .424
8.16. Включение в форму информации для пользователей. .427
8.17. Стилевое оформление клавиш доступа в Web-формах 429
8.18. Группировка общих элементов формы .431
8.19. Ввод данных в форму в виде электронной таблицы 432
8.20. Пример дизайна: простая регистрационная форма 436
8.21. Пример дизайна: бланк регистрации 442

Глава 9. Таблицы 454
9.1. Задание границ и отступов в ячейках и таблицах 454
9.2. Задание объема свободного пространства вокруг ячейки 457
9.3. Задание стиля заголовка 458
9.4. Задание стилей в ячейках таблицы .459
9.5. Задание стилей для элементов шапки таблицы 461
9.6. Удаление зазоров у изображений, помещенных в ячейки таблицы .463
9.7. Устранение зазоров между ячейками таблицы .465
9.8. Создание чередующихся цветов фона в строках таблицы .466
9.9. Создание эффекта выделения цветом строки таблицы .469
9.10. Пример проекта: элегантный календарь 470

Глава 10. Проектирование Web-страниц, предназначенных для печати 480
10.1. Применение к Web-странице таблицы стилей для печати 480
10.2. Замена цветного логотипа черно-белым при печати Web-страниц .482
10.3. Создание готовой к печати Web-формы 484
10.4. Отображение URI после ссылок .489
10.5. Вставка специальных символов перед ссылками .490
10.6. Вставка в документ для печати разрывов страниц. 492
10.7. Пример дизайна: версия страницы для печати, созданная средствами CSS .493

Глава 11. Макеты страниц .503
11.1. Построение одноколоночного макета .503
11.2. Создание двухколоночного макета .505
11.3. Построение двухколоночного макета с колонками фиксированной ширины .509
11.4. Создание «резинового” многоколоночного макета с помощью плавающей модели .512
11.5. Создание с помощью плавающей модели макета с тремя колонками фиксированной ширины .515
11.6. Создание с помощью позиционирования ’’резинового” многоколоночного макета…518
11.7. Создание с помощью позиционирования многоколоночного макета с колонками фиксированной ширины .521
11.8. Использование плавающей модели для отображения колонок в произвольном порядке 522
11.9. Проектирование асимметричного макета .541
11.10. Проектирование макетов, не зависящих от разрешения .544

Глава 12. Программистские трюки, искусственные приемы и выявление неисправностей 548
12.1. Переопределение встроенных стилей .549
12.2. Диагностика ошибок CSS и проблем Web-обозревателей .549
12.3. Применение букмарклетов для поиска ошибок .551
12.4. Применение расширений Web-обозревателя для поиска ошибок .552
12.5. Исправление Internet Explorer 6 ..553
12.6. Исправление Internet Explorer 6 с помощью JavaScript .555
12.7. Использование условных комментариев для передачи стилей в разные версии Internet Explorer. .556
12.8. Применение фильтров CSS для передачи правил в практически любой Web-обозреватель .558
12.9. Установка интеллектуальной системы передачи CSS для современных Web-обозревателей .559
12.10. Тестирование дизайна сайта на нескольких платформах с помощью единственного компьютера 561
12.11. Проверка Web-сайта с помощью текстового Web-обозревателя .562

Глава 13. Проектирование с помощью CSS .564
13.1. Существенное увеличение размера шрифта 564
13.2. Создание неожиданного сочетания .566
13.3. Комбинирование разнородных элементов для создания контраста .569
13.4. Привлечение взгляда с помощью контраста 570
13.5. Проверка достаточности цветового контраста .572
13.6. Выделение цитаты с помощью эффектных кавычек 574
13.7. Задание перемещающейся фоновой сцены при изменении пользователем размеров окна .576
13.8. Вставка анимации в элементы на странице .578
13.9. Создание отображения фейерверков при прокрутке страницы пользователем .583
13.10. Настройка таблицы стилей для просмотра исходного кода в Firefox .584
13.11. Проектирование с помощью сетки (наборы CSS) 585
13.12. Пример дизайна: связный Web-дизайн .588
13.13. Пример дизайна: флаг США. .605

Глава 14. Взаимодействие с JavaScript .618
14.1. Проверка, включен ли JavaScript в Web-обозревателе .618
14.2. Применение разных таблиц стилей в зависимости от времени суток .619
14.3. Перенаправление на сайт для мобильных устройств в зависимости от ширины экрана Web -обозревателя 621
14.4. Вставка в Web-страницу библиотеки JavaScript .622
14.5. Применение селекторов CSS3 в IЕ 6 и IE 7. .623
14.6. Создание с помощью JavaScript HTML-таблицы с окраской зебры .625
14.7. Выделение цветом строки таблицы при наведении указателя мыши 627
14.8. Визуальное оформление простого наведения указателя мыши .629
14.9. Формирование строки одной высоты из элементов с разным объемом контента. 630
14.10. Задание ссылки, открывающей новое окно .633
14.11. Превращение элемента div целиком в элемент, активируемый щелчком мыши…634
14.12. Поддержка средствами JavaScript формата PNG в IE6. 636
14.13. Предоставление кода на HTML5 и свойств CSS3 Web-обозревателям, способным их обрабатывать. .638

Приложение 1. Источники .641
Основные обучающие материалы, относящиеся к языку HTML и технологии CSS 641
Дизайнерские ресурсы .642
Дискуссионные группы. .643
Справочные материалы .644
Программные средства. 645

Приложение 2. Свойства CSS 2.1 и специализированные дополнения .647
Приложение 3. Селекторы, псевдоклассы и псевдоэлементы CSS 2.1 ..661
Приложение 4. Селекторы и псевдоклассы CSS3. ..664
Приложение 5. Стилевое оформление элементов форм. .667
Предметный указатель .668

Ссылка

69

Крейн Д., Паскарелло Э., Даррен Д.» Ajax в действии», Вильямс, 2006 год, 640 стр., (6.18 мб, pdf)
AJAX (Asynchronous JavaScript and XML), книга показывает возможности работы в AJAX, CSS, JavaScript.

Цель данного пособия-показать, как ненавязчиво добавить Ajax в web-приложения таким образом, что ваш сайт будет продолжать работать, даже когда JavaScript не включен. Ajax благодаря интеллектуальному подключение инициирует JavaScript для определенных элементов разметки, вы с успехом можете добавить новый уровень интерактивности вашего сайта без потери обратной совместимости с браузерами, которые не поддерживают Ajax. Таким образом, вы можете расширить возможности вашего сайта, не отрезая пользователей

Отрывок из книги:

Четыре основных принципа Aiax:
Классическая модель приложения на основе Web-страниц связана не только с используемыми базовыми средствами, но и с нашим образом мышления. Потратим несколько минут на то, чтобы выявить основные предпосылки и определить, что надо делать, чтобы получить наибольшую выгоду от использования Ajax. Браузер имеет дело с приложением, а не с содержимым.

Для классического приложения на базе Web-страниц браузер представляет собой лишь низкоуровневый терминал. Он не имеет информации о том, какой этап работы выполняется пользователем. На сервере содержатся минимальные сведения об этом, которые, по сути, сводятся к поддержке сеанса. Если вы работаете с Java или .NET, средства поддержки сеанса на сервере доступны, подобно запросам ответам и MIME-типам, посредством стандартного API.

Когда пользователь регистрируется или другим способом инициализирует сеанс, создается несколько объектов на стороне сервера. Они представляют, например, «корзинку» покупателя или платежную карточку пользователя. Одновременно браузер получает исходную страницу. Она доставляется в виде потока HTML-данных, которые представляют собой сочетание стандартных элементов и данных, специфических для конкретного пользователя.

При каждом обращении к серверу браузер получает очередную страницу, содержащую данные тех же типов, что в предыдущих документах. Браузер исправно убирает с экрана старый документ и отображает новый. Других Действий от него и не следует ожидать: это низкоуровневая программа, которая делает только то, что было предусмотрено разработчиками.

Когда пользователь активизирует ссылку, соответствующую окончанию сеанса, или закрывает браузер, выполнение приложения завершается и сеанс разрушается. Информация, которую пользователь должен увидеть при следующей регистрации, заносится в долговременное хранилище. В Ajax-приложении часть прикладной логики переносится на браузер Сведения о текущем состоянии «диалога» пользователя с приложением хранятся на Web-сервере, пользователь же видит лишь последовательность страниц. Ни одна из них не обеспечивает продолжения диалога без обращения к серверу.

После регистрации пользователя клиентское приложение доставляется браузеру. На многие действия пользователя это приложение способно реагировать самостоятельно. Если имеющихся в наличии возможностей недостает, оно передает запросы серверу, не прерывая последовательность действий пользователя. При регистрации пользователя браузеру предоставляется более сложный документ, существенную часть которого составляет код JavaScript.

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

Ссылка

70

Стефанов С.»JavaScript. Шаблоны», Символ-Плюс, 2011 год, 272 стр., ил., (2,89 мб,.djvu)

Отрывок из книги:

Разрабатывая программные продукты на javascript иногда бывают проблемы, связанные со спецификой этого языка. Читая книгу вы сможете воспользоваться большим количеством различных шаблонов на javascript, таких как «единственный объект» (singleton), «фабрика» (factory), «декоратор» (decorator) и другие.

Пишите так, чтобы можно было читать.

Создание комментариев с описанием API — это не только ленивый способ создания справочной документации; он служит еще одной цели -повышению качества программного кода, заставляя вас еще раз просмотреть свой код. Любой писатель или редактор скажет вам, что этап редактирования имеет важное значение: это, возможно, самый важный этап в подготовке книги или статьи. Создание рукописи — это лишь первый шаг. Рукопись представляет некоторую информацию читателю, но зачастую не самым ясным и простым способом.То же относится и к программному коду.

Когда вы садитесь и решаете какую-то проблему, это решение является всего лишь первым, черновым вариантом. Реализованное решение генерирует желаемый результат, но насколько это решение оптимально? Насколько легко будет читать, понимать, сопровождать и обновлять программный код? Вернувшись к программному коду — желательно спустя некоторое время, — вы практически наверняка обнаружите участки, которые можно было бы улучшить — изменить код так, чтобы его было проще читать, повысить эффективность и так далее. Это, по сути, и есть этап редактирования, который может помочь вам в достижении вашей цели — создание высококачественного программного кода. Однако очень часто мы работаем в условиях жестко ограниченного времени («есть проблема и решить ее надо вчера»), и, как правило, у нас не остается времени на редактирование.

Именно поэтому создание документации с описанием API дает дополнительную возможность редактирования.Часто при создании блоков комментариев с описанием приходится вновь погружаться в проблему. Иногда при таком повторном погружении становится очевидным, например, что вот этот третий параметр метода бывает необходим гораздо чаще, чем второй, а второй параметр практически всегда получает значение по умолчанию true, поэтому есть смысл изменить интерфейс метода, поменяв параметры местами. Фраза «писать так, чтобы можно было читать» означает, что вы должны писать программный код или, по крайней мере, API, помня о том, что кто-то будет его читать.

Одна только мысль об этом заставит вас редактировать код и находить более удачные решения стоящих перед вами проблем. Говоря о первых, черновых вариантах решения, стоит заметить, что часто они пишутся, «чтобы потом выбросить их». На первый взгляд эта идея кажется абсурдной, но она обретает особый смысл, особенно если вы работаете над критически важным приложением (от которого могут зависеть человеческие жизни). Суть идеи состоит в том, что первое найденное решение должно быть отброшено и необходимо приступить

Оглавление
Предисловие 13

Глава 1. Введение 19
Шаблоны 19
JavaScript: концепции .21
JavaScript — объектно-ориентированный язык 21
В JavaScript отсутствуют классы 22
Прототипы 23
Среда выполнения 23
ECMAScript 5 24
JSLint 25
Консоль 26

Глава 2. Основы 28
Создание простого в сопровождении программного кода 28
Минимизация количества глобальных переменных 30
Проблемы, связанные с глобальными переменными 30
Побочные эффекты, возникающие в отсутствие объявления var 32
Доступ к глобальному объекту 33
Шаблон единственной инструкции var 33
Подъем: проблемы с разбросанными переменными 34
Циклы for 36
Циклы for-in 38
Расширение встроенных прототипов (в том числе нежелательное) 41
Шаблон switch 42
Избегайте неявного приведения типов 42
Не используйте eval() 43
Преобразование строки в число с помощью parselnt() 45
Соглашения по оформлению программного кода 46
Отступы 46
Фигурные скобки 47
Местоположение открывающей скобки 48
Пробелы .49
Соглашения по именованию 51
Заглавные символы в именах конструкторов 51
Выделение слов 51
Другие шаблоны именования 52
Комментарии 53
Документирование API 54
Пример использования YUIDoc 55
Пишите так, чтобы можно было читать 59
Оценка коллегами .60
Сжатие… при подготовке к эксплуатации 60
Запуск JSLint 61
В заключение 62

Глава 3. Литералы и конструкторы 64
Литералы объектов .64
Синтаксис литералов объектов .66
Создание объектов с помощью конструкторов 66
Недостатки конструктора Object 67
Собственные функции-конструкторы .68
Значения, возвращаемые конструкторами .69
Шаблоны принудительного использования new 70
Соглашения по именованию 71
Использование ссылки that 71
Конструкторы, вызывающие сами себя 72
Литералы массивов 73
Синтаксис литералов массивов 73
Странности конструктора Array 73
Проверка массивов 74
JSON 75
Обработка данных в формате JSON 76
Литералы регулярных выражений 77
Синтаксис литералов регулярных выражений 77
Объекты-обертки значений простых типов 79
Объекты Error .80
В заключение 81

Глава 4. Функции .83
Основы 83
Устранение неоднозначностей в терминологии .85
Объявления и выражения: имена и подъем .86
Свойство name функций 87
Подъем функций .88
Функции обратного вызова 89
Пример использования функции обратного вызова 90
Функции обратного вызова и их области видимости 92
Обработчики асинхронных событий .94
Предельное время ожидания 94
Функции обратного вызова в библиотеках 95
Возвращение функций 95
Самоопределяемые функции 96
Немедленно вызываемые функции 98
Параметры немедленно вызываемых функций 99
Значения, возвращаемые немедленно вызываемыми функциями 100
Преимущества и особенности использования 101
Немедленная инициализация объектов 102
Выделение ветвей, выполняющихся на этапе инициализации 104
Свойства функций — шаблон мемоизации 106
Объекты с параметрами 108
Каррирование 109
Применение функций 109
Частичное применение 110
Каррирование 112
Когда использовать каррирование 115
В заключение 115

Глава 5. Шаблоны создания объектов 117
Пространство имен 117
Универсальная функция для создания пространства имен 119
Объявление зависимостей 121
Частные свойства и методы 123
Частные члены. 123
Привилегированные методы 124
Нежелательный доступ к частным членам 124
Частные члены и литералы объектов 126
Частные члены и прототипы 126
Объявление частных функций общедоступными методами 127
Шаблон «модуль» 129
Шаблон открытия модуля 131
Модули, создающие конструкторы 132
Импортирование глобальных переменных в модули 133
Шаблон изолированного пространства имен 133
Глобальный конструктор 134
Добавление модулей 135
Реализация конструктора 136
Статические члены 138
Общедоступные статические члены 138
Частные статические члены 140
Объекты-константы 142
Шаблон цепочек 144
Достоинства и недостатки шаблона цепочек 145
Метод method() 145
В заключение 147

Глава 6. Шаблоны повторного использования программного кода 148
Классические и современные шаблоны наследования 149
Ожидаемый результат при использовании классического наследования 150
Классический шаблон №1: шаблон по умолчанию 150
Обход цепочки прототипов 151
Недостатки шаблона №1 153
Классический шаблон №2: заимствование конструктора 154
Цепочка прототипов 155
Множественное наследование
при заимствовании конструкторов 157
Достоинства и недостатки шаблона заимствования конструктора 157
Классический шаблон №3:
заимствование и установка прототипа 158
Классический шаблон №4:
совместное использование прототипа 159
Классический шаблон №5: временный конструктор 160
Сохранение суперкласса 162
Установка указателя на конструктор 162
Функция klass() 163
Наследование через прототип 166
Обсуждение 168
Дополнения в стандарте ECMAScript 5 169
Наследование копированием свойств 169
Смешивание 171
Заимствование методов 173
Пример: заимствование методов массива 173
Заимствование и связывание 174
Function, prototype.bind() 176
В заключение 176

Глава 7. Шаблоны проектирования 178
Единственный объект 178
Использование оператора new 179
Экземпляр в статическом свойстве 180
Экземпляр в замыкании 181
Фабрика 184
Встроенная фабрика объектов 186
Итератор 187
Декоратор 189
Пример использования 189
Реализация 190
Реализация с использованием списка 193
Стратегия 194
Пример проверки данных 195
Фасад 198
Прокси-объект 199
Пример .200
Прокси-объект как кэш 209
Посредник 209
Пример использования шаблона посредника 210
Наблюдатель .213
Пример 1: подписка на журнал 214
Пример 2: игра на нажатие клавиш 217
В заключение 221

Глава 8. Шаблоны для работы с деревом DOM и браузерами 223
Разделение на составные части 223
Работа с деревом DOM 225
Доступ к дереву DOM .225
Манипулирование деревом DOM 227
События .228
Обработка событий 229
Делегирование событий 231
Сценарии, работающие продолжительное время 233
setTimeout() 233
Фоновые вычисления (web workers) 234
Удаленные взаимодействия 235
XMLHttpRequest .235
Формат JSONP 237
Обмен данными с использованием фреймов и изображений 240
Развертывание сценариев JavaScript 241
Объединение сценариев .241
Сжатие и компрессия 242
Заголовок Expires 243
Использование CDN 243
Стратегии загрузки 244
Местоположение элемента 244
Фрагментирование средствами HTTP 246
Динамические элементы для неблокирующей загрузки сценариев 247
Отложенная загрузка 249
Загрузка по требованию 250
Предварительная загрузка сценариев JavaScript 252
В заключение 254
Алфавитный указатель 256

Ссылка



создать форум