Слайд 3. Комментарий
Слайд 4. Таблица
Слайд 5. ЯзыкСлайд 5. Язык DTD (Document type Definition)Слайд 5. Язык DTD (Document type Definition)
Слайд 6. Объявление атрибутов
Слайд 7. Примеры
Слайд 8. Объявление сущности
Слайд 9. Не разбираемая сущность
Слайд 10. Пример описания Слайд 10. Пример описания DTDСлайд 10. Пример описания DTD. Записная книжка
Слайд 11. Язык Слайд 11. Язык XSDСлайд 11. Язык XSD
Слайд 12. Сужение
Слайд 13. Слайд 13. Facets
Слайд 14. Слайд 14. Faundamental facets
Слайд 15. Список
Слайд 16. Объединение
Слайд 1. Дескриптор
Слайд 2.Слайд 2. Слайд 2. Дескриптор
Слайд 3. Атрибуты. Теги выравнивания
Слайд 4. Дескриптор . Списки. Ссылки
Слайд 5. Дескриптор . Дескриптор
Слайд 6. - фреймы (кадры)
Слайд 7. Пример
Слайд 8. Фреймы (продолжение)
Слайд 9. Формы
Слайд 10. Пример
Слайд 11. Наименование Формы
Слайд 12.
Слайд 13. Слайд 13. TEXT, PASSWORD, CHECKBOX
Слайд 14. Слайд 14. RADIO – сложный флажок
Слайд 15. RESET,SUBMIT,FILE
Слайд 16. Создание навигационных карт ссылок
Слайд 1Слайд 17Слайд 17. Пример
Слайд 2Слайд 17. Объединение элементов
Слайд 18. Схема Слайд 18. Схема XSD Слайд
Слайд 19. Язык Слайд 19. Язык XLINK
Слайд 20. Атрибут простая ссылка
Слайд 21. Атрибут Слайд 21. Атрибут Resource
Слайд 22.Слайд 22. Слайд 22. Атрибут Слайд 22. Атрибут ARCСлайд 22. Атрибут ARC
Слайд 23.Слайд 23. Слайд 23. Атрибут Слайд 23. Атрибут Show
Слайд 24.Слайд 24. Слайд 24. АтрибутСлайд 24. Атрибут actuate
Слайд 25. Атрибут Слайд 25. Атрибут role
Слайд 26. Уточненные ссылки Слайд 26. Уточненные ссылки XPointer
Слайд 27. Использование указателей в ссылках
Слайд 28. Схема Слайд 28. Схема xpointer
Слайд 29.Слайд 29. Слайд 29. СхемаСлайд 29. Схема xmlns
Слайд 30. Язык Слайд 30. Язык XPath
Слайд 31. Оси поиска
Слайд 32. Области, определяемые осями
Слайд 33. Тест по имени узла
Слайд 34. Тест по виду узла
Слайд 35. Предикаты
Слайд 3Слайд 36Слайд 36. Циклы
Слайд 3Слайд 37Слайд 37. Операции с множествами
Слайд 3Слайд 38Слайд 38. Выражение в атрибутах конструктора
Слайд 3Слайд 39Слайд 39. Выражение запроса
Слайд Слайд 40Слайд 40. Файл Слайд 40. Файл bib.xml
Слайд 4Слайд 41Слайд 41. Слайд 41. book year
Слайд 4Слайд 42Слайд 42.Слайд 42. Слайд 42. Выражение запроса
Слайд 4Слайд 43Слайд 43. Пример 2
Слайд 4Слайд 44Слайд 44. Пример 3
Слайд 4Слайд 45Слайд 45. Пролог
Слайд 3Слайд 1. Слайд 1. Каскадные стили (Слайд 1. Каскадные стили (CSS)
СSS
Слайд
Слайд 3. Объединение листов стилей
Слайд 4. Создание CSS
Слайд 5. НаследованиеСлайд 5. Наследование Слайд 5. Наследование CSS
Слайд 6. ПсевдоклассыСлайд 6. Псевдоклассы Слайд 6. Псевдоклассы CSS
Адаптивная верстка
Слайд 1. Адаптивная верстка
Слайд 2. Что такое адаптивный дизайн?
CCлайд 3Cлайд 3. Cлайд 3. Схема адаптивного дизайна
Слайд Слайд 4.Слайд 4. Слайд 4. Responsive design
Слайд Слайд 5. Слайд 5. Progressive enhancement илиСлайд 5. Progressive enhancement или Graceful degradation
Слайд Слайд 6. Слайд 6. Этапы Слайд 6. Этапы Progressive Enhancement
Слайд Слайд 7. Слайд 7. Что такое Слайд 7. Что такое Mobile firstСлайд 7. Что такое Mobile first ?
CCлайд 8Cлайд 8. Cлайд 8. Как перевести статичную разметку в гибкую
Слайд 9Слайд 9.Слайд 9. Разметка для адаптивных сайтов
Слайд 10Слайд 10. Слайд 10. Мета тэг Слайд 10. Мета тэг viewportСлайд 10. Мета тэг viewport
Слайд 11Слайд 11. Слайд 11. Пример гибкой верстки
Слайд 12Слайд 12. Слайд 12. Результат гибкой верстки
Слайд 13Слайд 13. Слайд 13. Как сделать сайт адаптивным?
Слайд 14Слайд 14. Слайд 14. Пример адаптивной верстки
Слайд 15Слайд 15.Слайд 15. Гибридная сетка
Слайд 16Слайд 16. Слайд 16. Что такое гибридная верстка?
Слайд 17Слайд 17. Слайд 17. Пример не гибридной верстки
Слайд 18Слайд 18. Слайд 18. Как решить эту проблему?
Слайд 19Слайд 19.Слайд 19. Результат гибридной версткиСлайд 19. Результат гибридной верстки
Слайд 20Слайд 20. Слайд 20. Почему это не идеальный вариант?
Слайд 21Слайд 21. Слайд 21. Гибкая сетка
Слайд 22Слайд 22. Слайд 22. Что такое гибкая сетка?
Слайд 23Слайд 23. Слайд 23. Гибкая сетка от дизайнера
Слайд 24Слайд 24. Слайд 24. Гибкая сетка на сайте
Слайд 25Слайд 25. Слайд 25. Гибкая сетка - определение
Слайд 26Слайд 26. Слайд 26. Гибкая сетка на разных устройствах
Слайд 27Слайд 27. Слайд 27. Методы для создания гибкой сетки?
Слайд 28Слайд 28. Слайд 28. Программы создания адаптивной верстки
Слайд 29Слайд 29.Слайд 29. Начальная заготовкаСлайд 29. Начальная заготовка
Слайд 30Слайд 30. Padding Margin Слайд 30. Padding Margin Класическая модель
Слайд 31Слайд 31. CСлайд 31. Cвойства Слайд 31. Cвойства box Слайд 31. Cвойства box моделейСлайд 31. Cвойства box моделей
Слайд 32Слайд 32.Слайд 32. Пример свойства Слайд 32. Пример свойства box Слайд 32. Пример свойства box моделиСлайд 32. Пример свойства box модели
Слайд 33Слайд 33. Слайд 33. Обертка для модели
Слайд 34Слайд 34.Слайд 34. Результат гибкой сеткиСлайд 34. Результат гибкой сетки
Слайд 35Слайд 35. Media queries
Слайд 36Слайд 36.Слайд 36. Понятие Слайд 36. Понятие media
Слайд 37Слайд 37. Слайд 37. Стиль Слайд 37. Стиль “Слайд 37. Стиль “файл на печатьСлайд 37. Стиль “файл на печать”
Слайд 38Слайд 38. Слайд 38. Почему Слайд 38. Почему media queries?
Слайд 39Слайд 39. Слайд 39. Базовое правило
Слайд 40Слайд 40. Слайд 40. Логические операторы
CCлайд 41Cлайд 41. Cлайд 41. Применение Cлайд 41. Применение media queries
CCлайд 4Cлайд 42. Media queries c mobile first
Слайд 43Слайд 43.Слайд 43. Слайд 43. Flexible media
Слайд 44Слайд 44. Слайд 44. Блочные элементы
Слайд 45Слайд 45. Слайд 45. Использование Слайд 45. Использование media
Слайд 46Слайд 46. Слайд 46. Пример, отрицательный стороны
Слайд 4Слайд 47Слайд 47. Слайд 47. Оптимизация изображений
Слайд 48Слайд 48.Слайд 48. Пример
Слайд
CCлайд 50Cлайд 50. Cлайд 50. Используем Cлайд 50. Используем media queries
Слайд 51Слайд 51. Слайд 51. Картинки для Слайд 51. Картинки для Retina Display
CCлайд 52Cлайд 52. Cлайд 52. Тестирование
Слайд 53Слайд 53. Слайд 53. Проблема с заглавием
Слайд 54Слайд 54. Developer tools
Java Script
Слайд Слайд 1. Statements, Expressions, Operators
Слайд Слайд 2. Слайд 2. Инструкции
Слайд Слайд 3. Слайд 3. Выражения
Слайд Слайд 4. Слайд 4. Пример
Слайд 5Слайд 5. Слайд 5. Операторы
Слайд 6Слайд 6. Слайд 6. Арифметические операторы
Слайд Слайд 7. MDN
Слайд 8Слайд 8. Слайд 8. Формы инкримента
Слайд 9Слайд 9. Слайд 9. Пример выполнения
Слайд 10Слайд 10. Слайд 10. Оператор Слайд 10. Оператор “Слайд 10. Оператор “,Слайд 10. Оператор “,”
Слайд 11Слайд 11.Слайд 11. Операторы сравненияСлайд 11. Операторы сравнения
Слайд 12Слайд 12. Слайд 12. УСлайд 12. Условные и логические операторы
Слайд 13Слайд 13. Слайд 13. Оператор условияСлайд 13. Оператор условия if
CCлайд 14Cлайд 14. ОCлайд 14. Обработка результатовCлайд 14. Обработка результатов. Cлайд 14. Обработка результатов. Блок Cлайд 14. Обработка результатов. Блок else
CCлайд 15Cлайд 15. Cлайд 15. Расширеная форма Cлайд 15. Расширеная форма else if
Слайд 16Слайд 16. Слайд 16. Оператор условия Слайд 16. Оператор условия “Слайд 16. Оператор условия “?Слайд 16. Оператор условия “?”Слайд 16. Оператор условия “?”
Слайд 1Слайд 17. Слайд 17. Логические операторыСлайд 17. Логические операторы
Слайд 18Слайд 18. Слайд 18. ЧислаСлайд 18. Числа
Слайд 19Слайд 19. Слайд 19. Методы с числамиСлайд 19. Методы с числами
Слайд 20Слайд 20. Слайд 20. Более сложные операции из модуля Слайд 20. Более сложные операции из модуля MATH
Слайд 21Слайд 21. NaN Слайд 21. NaN и Слайд 21. NaN и Infinity
Слайд 22Слайд 22. Слайд 22. Проверка на Слайд 22. Проверка на NAN
Слайд 23Слайд 23. Infinity
Слайд 24Слайд 24. Strings
Слайд 25Слайд 25. Слайд 25. ОбьявлениеСлайд 25. Обьявление
Слайд 26Слайд 26.Слайд 26. ЭкранированиеСлайд 26. Экранирование
Слайд 27Слайд 27. Слайд 27. Символы внутри строкСлайд 27. Символы внутри строк
Слайд 2Слайд 28. Слайд 28. Свойства и методы строк
Слайд 29Слайд 29. Boolean, null, undefined
Слайд 30Слайд 30. Boolean
Слайд 31Слайд 31. Undefined, null
Слайд 32Слайд 32. Слайд 32. Пример
Слайд 33Слайд 33. Слайд 33. Конвертация типов данных
Слайд 34Слайд 34. Слайд 34. ЯвныеСлайд 34. Явные
Слайд 35Слайд 35. Слайд 35. Быстро в строкуСлайд 35. Быстро в строку
Слайд 36Слайд 36.Слайд 36. Быстро в булевое значениеСлайд 36. Быстро в булевое значение
Слайд 37Слайд 37. Слайд 37. Быстро в числоСлайд 37. Быстро в число
Слайд 38Слайд 38. Слайд 38. Методы для переводаСлайд 38. Методы для перевода
CCлайд 39Cлайд 39. Cлайд 39. ОбъектыCлайд 39. Объекты
Слайд 40Слайд 40. Слайд 40. Что такое объект?
CCлайд 41Cлайд 41. Cлайд 41. Создание простого объектаCлайд 41. Создание простого объекта
Слайд 42Слайд 42. Слайд 42. Свойство по умолчанию
Слайд 43Слайд 43. Слайд 43. Удаление свойств
Слайд Слайд 44. Слайд 44. Методы
Слайд 45Слайд 45. Слайд 45. Ослабление глобальности
Слайд 5Usability
Слайд 1. Категории
Слайд 1. Теги Слайд 1. Теги PHP
Слайд 2. Изолирование
PHP
Слайд 3. Комментарии
Слайд 4. Переменные
Слайд 5.Переменные извне Слайд 5.Переменные извне PHP
Слайд 6.Переменные извне Слайд 6.Переменные извне PHP(дополнение)
Слайд 7. Слайд 7. IF/ELSE
Слайд 8. Слайд 8. IF/ELSEIF/ELSE
Слайд 9. Слайд 9. While
Слайд 10. Слайд 10. do-while
Слайд 11.Слайд 11.for
Слайд 12. Массивы
Слайд 14.Слайд 14.foreach
Слайд 15.Некоторые простые функции для работы с массивами
Слайд 16. Слайд 16. switch
Слайд 17. Слайд 17. break
Слайд 18. Слайд 18. continue
Слайд 19. Слайд 19. include
Слайд 20. Слайд 20. include_once
Слайд 21. Слайд 21. require/require_once
Слайд 22. Файловая система
Слайд 23. Файловая система(дополнение)
Слайд 24. Базы данных
Слайд 25. Расширения для работы с базами данных
Слайд 26. Расширения для работы с базами данных(дополнение)
Слайд 27. Расширения для работы с базами данных(дополнение 2)
Слайд 28. Источники информации по РНР
Слайд 13. Массивы(дополнение)
Слайд 6Лекция 2-3
SGML
(standard generalized markup language)
HTML
XML
Link
Назад
Слайд 13Фреймы (продолжение)
Разрешенные имена
Зарезервированные неявные имена фреймов
- blank – загружает документ
- self – загружает документ в текущее окно
- parent – загружает документ в окно родительской фреймовой структуры
- top – загружает документ в окно фреймовой структуры верхнего уровня
по отношению к данному фрейму
Слайд 14Формы
NAME – имя формы
Action – указывает URL, по которому передается
введенная
Method –
POST – в закрытом виде
GET – в откр. через строку адреса
Результат name=value
Пример:
Слайд 17
Атрибуты
NAME - имя поля
SIZE - размер поля
MAXLENGTH - максимальное количество слов
VALUE - значение по умолчанию
CHECKED - флажок/переключатель
TYPE - тип поля
TEXT – ввод строки
PASSWORD – ввод пароля
CHECKBOX – простой флажок
RADIO – сложный флажок
RESET – кнопка «отменить»
SUBMIT – кнопка «переслать»
BUTTON - любое действие
IMAGE - аналог SUBMIT (с индивидуальным рисунком)
FILE - прикрепить файл
Слайд 18
SIZE=“15” MAXLENGTH=“12”
Введите пароль
name=“secret_word” SIZE=“30”
MAXLENGTH=“30”
флажок
CHECKED>установленный флажок
(по умолчанию флажок установленный)
- флажок - установленный флажок
TEXT – ввод строки
PASSWORD – ввод пароля
CHECKBOX – простой флажок
Результат name=on
name=off
Слайд 19
ДА
Нет
CHECKED>Да
Нет
Результат name=value Да Нет
Disabled – флажок не активный Да Нет
RADIO – сложный флажок
Слайд 21
Создание навигационных карт ссылок
1. Графиеское изображение
карты ссылок
2. Файл определения
карты ссылок
(форматы CERN
NSCA)
3. Программа или
cценарий обработки
карты ссылок
4. Карты ссылок,
Обрабатываемые
клиентом
Область по умолчанию: default http://www.myserver.com/mypage/index.htm
Прямоугольная область: rect http://www.myserver.com/mypage/rectangle.htm
50, 40, 100, 120
Круглая область: circle http://www.myserver.com/mypage/rectangle.htm
50, 40, 100, 60
Многоугольная область: poly http://www.myserver.com/mypage/rectangle.htm
10, 20 24, 70 84, 45 07, 11 10, 20
1. Вызов CGI-программы:
2. Работа с провайдером:
SHAPE – форма области (rect, poly, circle, default)
COORDS – список координат
HREF – URL, на который ссылается область
NOHREF – область – мертвая зона
Пример
Слайд 23
XML
Валидный документ - документ, который соответствует описанию структуры документа или схеме
- хорошо оформленный
документ
Для описания схемы документа используются язык DTD или XSD, где
DTD - язык описания структуры документа;
XSD - язык описания схемы документа.
(Extensible Markup Languages – расширенный язык разметок)
язык HTML, приведенный в соответствие с XML
язык записи математических формул
язык записи химических формул
язык записи звуков
язык, применяемый в безпроводной технолог
ии
XHTML
MathML
CML
VoxML
WML
−
й
к
−
к
к
−
к
−
к
к
−
л
Слайд 26<
sp suppl prod
sp suppl prod
< >
: / :
< > < >
sp qty 500 sp qty
< > < >
sp pname sp pname
< > < >
: Санкт-Петербург / :
sp sname sp sname
: Иванов / :
< > < >
- корневой элемент – имя БД
- имя элемента – имя таблицы
- имя столбца – значение строки
Поставка гаек
:
: гайка / :
/ : _
: _
/ : _
SQL
sp: suppl_prod
sp snum 10123
sp : snum
sp loc sp loc
sp suppl prod
< >
< >
<
M
>
encoding= “Windows - 1251”?>
SYSTEM “suppl-prod.dtd”>
< sp : supplprod xmlns : sp = “http://...”>
Слайд 28
< name reg_num=“1045”>
Иванов
< name reg_num=“1052”
Петров < / name>
Зав. отделом
Иванов = зав. отделом
Слайд 30
- задаются при объявлении сущности
ENTITY
;
.
-содержаться в отдельных файлах
- используеться только внутри объявления DTD
R
;
Слайд 31
не разбираемая
программой
анализатором
сущность
→
Обьявление
обозначения
(NOTATION)
→
связывает image – gif с программой обработки
изображений
!_
NOTATION image_gif SYSTEM “viewer.exe”
<
й
к
к
к
к
к
к
л
Слайд 33
Язык XSD (Описание схемы документа – XML Shema Definition)
XSD – реализация
date Time
символов
Слайд 37
тип элементов
simpleType name < xsd : element name = “days”
список из целых чисел < 5
/>
/>
Слайд 39
Объявление
элементов
element
→
/>
/>
/>
Обьявление
атрибутов
attribute
→
“обязательность
по умол-чанию = 1
/>
э
э
Слайд 41
Язык XLINK
адрес ресурса
способ показа ресурса
момент активации ссылки
начальные и конечные
смысл ссылки
type – тип ссылки
href
show
actuate
label,from,to
role, arcrole, title
→
й
к
−
к
к
−
к
−
к
к
−
к
к
к
−
л
“http://www.w3.org/1999/xlink” >
Слайд 61
Петр Иванов
Петр Иванов
($n= “Петр”, $i=1)
($n= “Иванов”, $i=2)
Если выражение истина, то
Выполняется выражение return
order by - сортировка
ascending – по возрастанию
descending – по убыванию
Слайд 71
align
pt – пункты (1..7) 1pt - 8px
⇣
7pt – 36px
Strong {font-weight:normal}
не будет видна
жирность, но бу-
дет индексация
screen – дисплей
print – принтер
⋮
all – все устройства
Слайд 72
square)
из нумерованного
в маркерованный
decimal )
из маркерованного
в нумерованный
p span {color : blue} -
span внутри параграфов.
.
Ul li.forlist {background : blue} - изменение свойств li для маркерованного списка
На 1 странице не может быть 2 одинаковых ID. Определяются глобальные классы
Слайд 73
A: hover {color : red} – при наведении мышки
P: first –
P: first – letter {font – weight : bold} – первая буква жирная
⋮
Слайд 75Что такое адаптивный веб дизайн?
Цель адаптивного веб дизайна?
Адаптивный веб-дизайн (англ. Responsive
Целью адаптивного веб-дизайна является универсальность веб-сайта для различных устройств. Для того, чтобы веб-сайт был удобно просматриваемым с устройств различных разрешений и форматов, в частности мобильных устройств, планшетов.
Слайд 76Адаптивный дизайн
Progressive
Enhancement
Mobile first
Responsive
Design
Media
Queiries
Flexible
Media
Fluid
grid
Схема адаптивного дизайна
Слайд 77 Responsive Design
Fluid grid – так званая, гибкая сетка макета
Flexible media
Media queiries– медиа запросы
Слайд 78
Progressive enhancement или
Graceful degradation?
Graceful degradation –противоположный к Progressive enhancement, верстка
Progressive enhancement – верстка начинается с самого старого но поддержуемого браузера(например IE8), выполняются самые простые действия, а уже увеличиваете сайт по принципам Responsive Design
Слайд 80Что такое Mobile first ?
Проектирование начинается с адаптивной версии веб-сайта для
Слайд 83Мета тэг “viewport” отвечает за отображение на мобильных устройствах
ширина = ширине
масштаб(как правило 1)
Для поддержки HTML5 в IE8 можно добавить такие библиотеки как:
Слайд 86Для начала нам нужно убрать все константы размеров, что бы величина
Сделаем ширину контейнера не статической
Как сделать сайт адаптивным?
Вне зависимости от ширины – будут отступы в 5%
Сделаем ширину контейнера не статической
Для этого воспользуемся формулой :
(ЦЕЛЬ / КОНТЕКСТ)* 100 = РЕЗУЛЬТАТ
Слайд 87Так как за основу мы брали 960 px, это и будет
section : (650px / 960px) * 100 = 67.7 %
aside : (300px / 960px) * 100 = 31.25 %
Слайд 89Для расчета размеров шрифтов мы используем такую формулу :
Что на счет
24px / 16px = 1.5 em
На самом деле эта формула уже есть в нашем коде :
шрифт
Высота между строк
Слайд 91
Гибридная верстка – комбинирование статической верстки с адаптивной(резиновой)
Что такое гибридная верстка?
Давайте
Слайд 93
У табличной верстки есть одно положительное свойство :
Ячейки таблиц принимают
Как решить эту проблему?
Слайд 98Что такое гибкая сетка?
Для примера мы взяли один из новостных сайтов,
Слайд 99Для удобства дизайны предоставляются в таком формате, уже с существующей сеткой:
Слайд 101Что такое гибкая сетка?
Гибкая сетка – отличается тем что ширина столбца
Слайд 105Несколько макетов(для разных экранов), и вы верстаете конкретно по макетам. Но
Mobile First, где верстка и дизайн тесно пересекаются. Изначально строятся прототипы, с помощью специальных программ(пример – Balsamiq)
Методы для создания гибкой сетки?
Слайд 106Программы создания адаптивной верстки
1140px
Bootstrap
Foundation
Для того что бы понимать как работает гибкая
Слайд 108Так как мы будем делать обычную стандартную гибкую сетку на 12
100 % / 12 = 8.3333 %
Далее в css файле создаем колонки :
Задаем внешние
параметры, стиль
Задаем ширину
Слайд 109Создав все 12 столбцов(число столбцов может быть различное, и их процентное
Слайд 113Для того что бы убрать стандартную бокс модель, нужно изменить определенное
content-box
Основывается на стандартах CSS, при этом свойства width и height задают ширину и высоту контента и не включают в себя значения отступов, полей и границ.
border-box
Свойства width и height включают в себя значения полей и границ, но не отступов (margin). Эта модель используется браузером Internet Exporer в режиме несовместимости.
padding-box
Свойства width и height включают в себя значения полей, но не отступов (margin) и границ (border).
Слайд 116Давайте попробуем просто так задать колонке
очень длиный текст
Как видим, вся верстка
Слайд 117Для того что бы такого не случалось, нам нужно задать обертку,
Добавляем специальные параметры очищения в сss :
Слайд 121Например для того что бы использовать особый стиль для «файла на
И обозначаем наш стиль в css классе
Слайд 122Тип media handheld должен обрабатывать мобильные устройства, но оно не совершенно
Почему media queries?
Слайд 123
Для всех экранов с шириной не больше 320 px сделаем определенный
Если вы использовали правило viewport, можно задавать просто max-width, если же этого правила в разметке нету, нужно указывать так же device.
Cоздадим базовое правило(media query) :
Слайд 126Видим что дизайн отзывчивый, но при моменте когда ширина равна мобильному
Слайд 131Для начала имеем стандартную гибкую разметку + стили, все то же
Так же приводим все новые HTML 5 теги к блочным элементам
Пример flexible media :
Блочные элементы
Слайд 133Результат :
Отрицательные стороны :
Размер картинки может быть
Относительно большого размера
- Контент
Слайд 134Для этого создается несколько картинок из оригинала, в которых выделяется самый
Для оптимизации картинок есть очень большое количество сервисов в интернете, по запросу image optimizer
Можно так же делать это с помощью photoShop, но выгоднее и удобнее пользоваться веб/десктоп сервисами
Совет : используйте Picturefill
Оптимизация изображений
Слайд 137А что если мы хотим добавить изображение как фон окна? То
Картинка для фона
Слайд 141Теперь давайте рассмотрим то, как делать все то же самое для
Во первых, размер картинки должен быть не 320 а 640 (детальнее читайте про Retina)
Картинки для Retina
Слайд 143По результат прошлых лекций, мы получили макет гибкой адаптивной верстки. Мы
Проблема с заголовком
Слайд 144Так как стандарты размеров меняются с каждым днем, следить за ними
Именно по этому четко привязываться к каким либо цифрам/размерам не стоит
Слайд 145Переходи в developers tools в Chrome, для того что бы видеть
хорошо
Не очень, заголовки наезжают
Developer tools
Слайд 147Statements(команды/инструкции) – в Javascript это так званые «инструкции» которые веб браузер
Одним из правил «хорошего кода» является то, что бы писать каждый statement с новой строки
Statements(инструкции)
Слайд 148
Парсер – переводит код вашей программы в саму программу. Так званый
Expression(выражение) – это то, что парсер должен обработать что бы вернуть результат
Literal(литерал) - это выражение, которое не требует работы парсера для обработки
Expressions(выражения)
Слайд 149Пример
Обозначили
переменную
Присвоили
переменной
выражение
Литерал
Отображение в консоли браузера:
Слайд 151Обычные операторы, те же что и в калькуляторе + оператор модуля
Арифметические
Арифметические операторы
Слайд 152Но так как операторов в программировании намного больше, для того что
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Operator_Precedence
MDN Operator percidence
Слайд 153Так же к арифметическим(основным) оператором относятся операторы присвоения(=), инкримента(++), декримента(--)
Присвоили
переменной str
значение
Выведем в консоль
Результат очевиден :
i + 1 = 3
b – 1 = 1
Слайд 156Используется когда в одной строке нужно сделать несколько действий
Оператор “,”
Пример применения
Слайд 158Операторы сравнения и неравенства не воспринимают типы данных, то есть :
Парсер
Для сравнения разных типов данных используется строгое равенство(===) и строгое неравенство(!==)
Слайд 163Оператор условия “?”
Переменная
age
При НЕ
выполнении
условия
При выполнении
условия
Операторы условия
условие
Слайд 164Используются в основном в условиях, например :
if (age !== 20 ||
{ alert(‘YOUR AGE IS UNDER 20’)}
Логические операторы
Слайд 166Создадим простое число
Методы с числами
Основные методы :
1: Добавляет числу float точку
2:
3: Оставляем количество цифр:
4: Перевод в строку с проверкой
Слайд 167Более сложные операции из модуля MATH
Корень квадратный
Возведение в степень
Методы округления :
Округление
Округление к
большему( 235)
Округление
обычное ( 234)
Константы :
Слайд 168NaN и Infinity
NaN(Not a Number – вывод,тогда, когда число невозможно высчитать
Например
Если хоть в одной части большого выражения получается NAN – все выражение тоже равно NAN (такое свойство называется «токсичность» :
Слайд 170Infinity
Infinity – бесконечное число
Например :
Свойства infinity:
Больше любого числа
Infinity + 1
Слайд 172Простой пример обьявления переменной типа string:
В чем разница?
В данном случае
“string” воспринимается
как
Тут же “string” не
воспринимается
компилятором
При выводе увидим :
Обьявление
Слайд 173Для того что бы избежать такой ситуации нужно использовать “экранирование” :
Таким
Второй способ – использовать переменную типа str
Экранирование
Слайд 175Length – количество символов в строке
Свойства и методы строк
Соединение строк
Чаще всего
используется
Слайд 176charAt(index)– символ по указаному индексу
charCodeAt(index) – получим код символа по индексу
0
1 индекс
subString(index) – получим строку начиная с index
subString(index , index2) – получим строку начиная с index до index2
Слайд 177slice(index)– получим строку начиная с index
substr(index1, index2)
Индекс
начала подстроки
Количество
символов
Слайд 178split(separator)– разделяет строку на массив
replace(string1, string2)
Строку
которую менять
В данном случае наш
«сепаратор»
Строку на
которую менять
Слайд 179indexOf(char)– показывает индекс определенного символа
upperCase , lowerCase
символ который ищем
Слайд 181Boolean
В консоль выведется надпись «привет ребята, так как условие выполняется( !
Слайд 182Все данные по умолчанию являются true, кроме ( в случае выполнения
Все остальные же данные будут возвращать true
Слайд 183Во-первых, они не равны NULL это не UNDEFINED
Undefined, null
Что такое undefined?
Слайд 184Попробуем провести несколько операций с обьектом:
Например :
Все три результата будут равны
Пример
Слайд 185Так же, если в функцию которая принимает параметр ничего не передать
Вывод все равно будет - UNDEFINED
Слайд 189Что бы перевести что либо в булевое, достаточно поставить перед переменной
Быстро в булевое значение
Слайд 190Что бы перевести что либо в число, достаточно поставить перед переменной
Быстро в число
Слайд 191Самым стандартным является метод toString()
Методы для перевода
parseInt VS paseFloat
строка
Система исчисления
Слайд 193Обьект, если обьяснять простым языком – контейнер ключей и свойств
Что такое
Не используется
так как сложнее чем 2
Обьявление обьекта :
Слайд 194Зададим простой обьект c свойством и функцией:
Теперь получим доступ к
Теперь получим доступ к свойству обьекта(в консоль выведеться
строка ‘str’
Слайд 195К свойству можно достучаться двумя способами, каждый выберает тот который является
Второе, это через квадратные скобки :
Оба способа дают один и тот же результат
Слайд 196Бывают такие случаи когда нам нужно получать каждый раз разные свойства,
Слайд 197 Свойство по умолчанию
Так как такого свойства
не существует, наша консоль
выведет в
Вторая часть, то что
выводится если 1 часть false
То есть мы сказали, если свойство fff обьекта obj является пустым, то тогда мы используем
вторую часть
Слайд 198Что бы добавить свойство обьекту, достаточно просто присвоить не существующему свойство
Действительно это свойство
появилось у обьекта
Так же мы можем изменять любое значение свойства :
Свойство изменилось
Слайд 199Обьекты всегда передаются по ссылкам, они никогда не копируются. Что это
Но если вы их приравняете, вы получите один и тот же обьект
(3 ссылки на один и тот же обьект) :
Слайд 201Метод – это функция которая является свойством обьекта
Методы
Иногда в методе
Слайд 202Ослабление глобальности – это создание одного глобального обьекта в котором будут
Ослабление глобальности
Поможет избежать проблем с другими фреймворками и прочими библиотеками
Слайд 203Теги PHP
Когда PHP обрабатывает файл, он ищет открывающие и закрывающие теги,
PHP также допускает короткий открывающий тег
Слайд 204Изолирование от HTML
Все, что находится вне пары открывающегося и закрывающегося тегов,
Это работает так, как и ожидается, потому что когда интерпретатор PHP встречает закрывающие теги ?>, он просто начинает выводить все что найдет пока не встретит другой открывающий тег за исключением случая с содержащимся внутри кода условным оператором, в котором интерпретатор определяет результат условия перед принятием решения что пропустить.
Слайд 205Комментарии
PHP поддерживает комментарии в стиле 'C', 'C++' и оболочки Unix
Это работает так, как и ожидается, потому что когда интерпретатор PHP встречает закрывающие теги ?>, он просто начинает выводить все что найдет пока не встретит другой открывающий тег за исключением случая с содержащимся внутри кода условным оператором, в котором интерпретатор определяет результат условия перед принятием решения что пропустить.
Слайд 206Переменные
Переменные в PHP представлены знаком доллара с последующим именем переменной. Имя
Имена переменных соответствуют тем же правилам, что и остальные наименования в PHP. Правильное имя переменной должно начинаться с буквы или символа подчеркивания и состоять из букв, цифр и символов подчеркивания в любом количестве. Это можно отобразить регулярным выражением: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
Слайд 207Переменные извне PHP:POST
Когда происходит отправка данных формы PHP-скрипту, информация из этой
Простая HTML-форма
Доступ к данным из простой HTML POST-формы
Слайд 208Переменные извне PHP:GET
Ассоциативный массив параметров, переданных скрипту через URL.
В нашем
Слайд 209IF/ELSE
Конструкция if является одной из наиболее важных во многих языках программирования,
Часто необходимо выполнить одно выражение, если определенное условие верно, и другое выражение, если условие не верно. Именно для этого else и используется. else расширяет оператор if, чтобы выполнить выражение, в случае если условие в операторе if равно FALSE.
Слайд 210IF/ELSEIF/ELSE
Конструкция elseif, как ее имя и говорит есть сочетание if и
Слайд 211While
Смысл выражения while очень прост. Оно указывает PHP выполнять вложенные выражения
Слайд 212do-while
Цикл do-while очень похож на цикл while, с тем отличием, что
Слайд 213for
Цикл for самый сложный цикл в PHP. Он ведет себя
for (expr1; expr2; expr3) statement
Первое выражение (expr1) всегда вычисляется (выполняется) только один раз в начале цикла.
В начале каждой итерации оценивается выражение expr2. Если оно принимает значение TRUE, то цикл продолжается, и вложенные операторы будут выполнены. Если оно принимает значение FALSE, выполнение цикла заканчивается.
В конце каждой итерации выражение expr3 вычисляется (выполняется ).
Каждое из выражений может быть пустым или содержать несколько выражений, разделенных запятыми. В expr2 все выражения, разделенные запятыми, вычисляются, но результат берется из последнего. Если выражение expr2 отсутствует, это означает, что цикл будет выполняться бесконечно. (PHP неявно воспринимает это значение как TRUE, так же, как в языке C). Это может быть не столь бесполезно, сколь вы могли подумать, так как часто необходимо прервать цикл, используя условный оператор break вместо использования выражения в цикле for, которое принимает истинное значение.
Слайд 214Массивы
На самом деле массив в PHP - это упорядоченное отображение,
Слайд 215Массивы
Массивы в PHP могут содержать ключи типов integerМассивы в PHP
Параметр key является необязательным. Если он не указан, PHP будет использовать предыдущее наибольшее значение ключа типа integer, увеличенное на 1.
Слайд 216foreach
Конструкция foreach предоставляет простой способ перебора массивов. Foreach работает только
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
Первый цикл перебирает массив, задаваемый с помощью array_expression. На каждой итерации значение текущего элемента присваивается переменной $value и внутренний указатель массива увеличивается на единицу (таким образом, на следующей итерации цикла работа будет происходить со следующим элементом).
Второй цикл будет дополнительно соотносить ключ текущего элемента с переменной $key на каждой итерации.
Слайд 217Некоторые простые функции для работы с массивами
in_array — Проверяет, присутствует ли
array_keys — Возвращает все или некоторое подмножество ключей массива
array_pop — Извлекает последний элемент массива
array_push — Добавляет один или несколько элементов в конец массива
sort — Сортирует массив
count — Подсчитывает количество элементов массива или что-то в объекте
Слайд 218switch
Оператор switch подобен серии операторов IF с одинаковым условием. Во многих
Слайд 219break
break прерывает выполнение текущей структуры for, foreach, while, do-while или
break принимает необязательный числовой аргумент, который сообщает ему выполнение какого количества вложенных структур необходимо прервать. Значение по умолчанию 1, только ближайшая структура будет прервана.
Слайд 220continue
continue используется внутри циклических структур для пропуска оставшейся части текущей
continue принимает необязательный числовой аргумент, который указывает на скольких уровнях вложенных циклов будет пропущена оставшаяся часть итерации. Значением по умолчанию является 1, при которой пропускается оставшаяся часть текущего цикла.
Слайд 221include
Выражение include включает и выполняет указанный файл.
Файлы включаются исходя из
Слайд 222include_once
Выражение include_once включает и выполняет указанный файл во время выполнения скрипта.
include_once может использоваться в тех случаях, когда один и тот же файл может быть включен и выполнен более одного раза во время выполнения скрипта, в данном случае это поможет избежать проблем с переопределением функций, переменных и т.д.
Слайд 223require
require идентично include за исключением того, что при ошибке оно также
require_once
Выражение require_once идентично require за исключением того, что PHP проверит, включался ли уже данный файл, и, если да, не будет включать его еще раз.
Слайд 224Файловая система
Проверка существования файлов
file_exists
is_file
Открытие и закрытие файлов
- r только
- r+ чтение и запись. Указатель в начало
- w только запись. Указатель в начало
содержимое файла уничтожается
- w+ чтение и запись. Указатель в начало
содержимое файла уничтожается
- a только запись. Указатель в конец
- a+ чтение и запись. Указатель в конец
- имя локального файла
- php(стандартный поток I/O)
- http(подключение http к серверу)
- ftp(подключение ftp к серверу)
Слайд 225Файловая система
Запись в файл
fwrite
is_writeable
(существует
и разрешена
запись)
Чтение из файла
fread
is_readable
(существует
и разрешено
чтение)
Слайд 226Базы данных
нет
да
нет
да
Соединение с сервером mysql
неудача
Выбор базы данных сервера mysql
неудача
Обработка запросов
Закрыть соединение с сервером БД
ошибка
ошибка
SQL
SELECT
UPDATE
INSERT
DELETE
mycql_connect( )
mysql_select_db( )
mysql_query( )
mysql_affected_rows( )
mysql_num_rows( )
mysql_result( )
mysql_fetch_row( )
mysql_close( )
Слайд 227Расширения для работы с базами данных
Этот простой пример показывает, как соединиться,
Слайд 228Расширения для работы с базами данных
Расширение mysqli предоставляет двойной интерфейс программисту.
Пользователи, переходящие со старого mysql расширения, возможно, предпочтут процедурный интерфейс. Он весьма схож с интерфейсом старого расширения, и во многих случаях функции отличаются только префиксом в имени. Некоторые mysqli функции принимают дескриптор соединения первым аргументом, в отличие от соответствующих им функций старого расширения, которые принимают его в качестве последнего необязательного аргумента.
Слайд 229Расширения для работы с базами данных
В дополнение к процедурному пользователи могут
Каких-либо принципиальных отличий в производительности между интерфейсами нет. Пользователи вольны в выборе интерфейса, основываясь на личных предпочтениях.
Слайд 230Источники информации по РНР
php.net – Руководство по РНР от авторов языка
php.su – Изучение основ языка, уроки PHP, справочник функций и учебники.
codecademy.com/learn/php – Практические занятия в интерактивном режиме.
laracasts.com – Агрегатор видео-информации про РНР и фреймворк Laravel
github.com – Куча кода
w3schools.com/php – Текстовые уроки от первоисточника стандартов W3
php-fig.org/psr/psr-2 – Стандарты кода
make.wordpress.org/core/handbook/best-practices/coding-standards/php – Стандарт кода по WordPress
Слайд 231Usability
Категории
Проблема первой категории, которая утратила первоначальную актуальность. Подобных ошибок при дизайне
Проблема второй категории и средней важности. При создании сайтов крайне желательно избегать таких проблем, но они больше не имеют первоочередного значения.
Проблема третей категории. Остается весьма актуальной. Очень важно, чтобы дизайнеры продолжали уделять ей самое пристальное внимание.
Обратная связь
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть