Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SUIK.docx
Скачиваний:
20
Добавлен:
10.02.2015
Размер:
111.64 Кб
Скачать

9. Mvc модель. Компоненты, принцип построения.

● MVC – шаблон проектирования Model-View-Controller

● Основная цель – разделение бизнес-логики (модели) от её

визуализации (представления, вида).

Модель, предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.

Представление, отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами.

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

10. Управление обновлениями в CMS Drupal. Основные этапы обновления.

Начнем с того, что скачиваем новую версию drupal 7 (http://drupal.org/project/drupal), распаковываем и читаем UPGRADE.txt. Собственно, там и написано, как обновить Drupal в рамках одной мажорной версии, правда на английском языке. А написано вкратце следущее:

1. Залогиниться с правами на "Administer software updates".

2. Поставить сайт в режим обслуживания

Administration > Configuration > Development > Maintenance mode, галочка на режим обслуживания.

Там же делаем резервную копию базы данных и папки с сайтом.

Либо физически, либо через git. Командами: git status => git add => git status => git commit –m “State before update”

3. Удаляем папки и файлы - все, кроме sites.

Инструкция требует удалить все файлы и папки, кроме sites. Но если вы модифицировали какие-либо другие файлы, эти изменения необходимо будет внести заново после обновления. Напомню, что для новых модулей и тем есть папки modules и themes в sites/all, куда вы и должны были ставить все дополнительные модули и темы. .

Результат данного этапа обновления друпал 7: Сайт убит. Данные сохранены. Папка sites не тронута.

4. Залить новые файлы

Скачать и распаковать последнюю версию друпал, скопировать эти файлы вместо старых, кроме папки sites, ее по прежнему не трогать.

5. Запускаем update.php, не выходя из админки

/admin/reports/status - находим рекомендацию обновить БД. update.php при запуске ещё раз ненавязчиво напоминает о необходимиости резервного копирования. Следуем пошаговым рекомендациям и обновляем базу данных.

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

Если вдруг по каким-либо причинам вы не имеете доступа к update.php, то достаточно в settings.php вписать строку "$update_free_access = TRUE;" так можно обновляться даже не будучи залогиненым. После обновления эту строку ОБЯЗАТЕЛЬНО удаляем.

Обновились.

Включаем сайт для посетителей.

11. Язык Javascript. Объектная модель документа.

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

(интерактивность веб-страниц).

Архитектурные черты

● Динамическая типизация – тип определяется в процессе выполнения

● Слабая типизация – интерпритатор допускает автоматические неявные преобразования типов

● Автоматическое управление памятью – память под переменные выделяется автоматически,

неиспользуемые переменные уничтожаются с освобождением ранее занимаемой памяти.

● Прототипное программирование – понятие класса отсутствует, вместо этого существуют лишь отдельные экземпляры, наследование реализуется путём клонирования конкретного экземпляра.

● Функции являются объектами первого класса.

Объекты первого класса

● может быть сохранен в переменной или структурах данных;

● может быть передан в функцию как аргумент;

● может быть возвращен из функции как результат;

● может быть создан во время выполнения программы;

● внутренне самоидентифицируем (независим от именования).

Основы синтаксиса

● Имена переменных могут быть любой длины и содержать a-z, A-Z, цифры 0-9, символ $ и символ подчёркивания '_'

● Имя переменной не может начинаться с цифры

● Имена чувствительны к регистру

● Аналогично “C-подобным” языкам, инструкции отделяются точкой с запятой, но если на строку приходится одна инструкция, ';' в конце можно опустить

Комментарии

● Однострочные

// Комментарий

● Многострочные

/* Раздел

многострочного

комментария */

Переменные и типы

● Переменная может быть объявлена с помощью ключевого слова var, либо непосредственной инициализацией определённым значением

● Тип определяется во время выполения по фактически присваиваемому значению и может меняться (String, Number, Boolean, Null, Undefined, Function, Array, Object)

● Область видимости переменной – либо текущая функция (локальная переменная), либо весь код (глобальная)

● Важно! В отличие от языка C блок операторов в Javascript не создаёт новой области видимости

● Неопределённая или неинициализированная переменная имеет значение undefined типа Undefined

Типы данных

● Строки заключаются в двойные или одинарные кавычки, кавычки того же типа в содержимом строки необходимо экранировать обратным слэшем '\'

welcome = “Hello World” или welcome='Hello World'

greeting = “\”Привет\” является приветствием”

warning = '”Осторожно” является предупреждением'

● Числовые переменные

count = 20

temperature = 36.6

● Массивы

colors = [“red”, “green”, “blue”, “yellow”, “white”]

● Многомерные массивы образованы вложением массивов в массив

face = [ ['R', 'G', 'B'], ['W', 'R', 'O'], ['Y', 'W', 'G'] ]

● Позиционирование начинается с нуля.

● Для позиционирования в многомерных массивах индексирование производится начиная с самого верхнего уровня вложенности:

face[1][2] – позиционирует букву 'O'

Операторы

● Арифметические и логические операторы в JS аналогичны операторам языка C

● Операторы вида арифметическая_операция- присвоение (+=, -=, *=, /=) аналогичны таковым в языке C

● Для конкатенации (объединения) строк используется '+' document.write('У вас ' + messages + 'сообщения')

● Оператор равенства == автоматически приводит сравниваемые значения к общему типу

● Оператор тождественности === не преобразует типы.

Явное преобразование типа

● Для преобразования типов используются специальные функции

Объекты в JS

● Объект в JavaScript – это составной тип данных, представляющий из себя совокупность свойств. Новые свойства могут быть добавлены в любой момент.

// эквивалентные записи

var obj = new Object()

var obj = {}

● Доступ к свойствам возможен двумя способами: через точку или квадратные скобки: o.test = 5 или o[“test”] = 5

● Объявлять объекты можно через синтаксис

ассоциативных массивов var u = { name: “Ivan”, role: “admin”}

● К объекту легко добавить метод u.ShowName() = function () { alert(this.name);}

● Ключевое слово this возвращает ссылку на сам объект

Стандартного встроенного синтаксиса для объявления классов в JS нет.

● Для создания объектов, имеющих схожий набор свойств, используется конструктор. В JS конструктор – это просто некоторая функция, создающая внутри себя объект и инициализирующая его свойства.

Из всех достижений, произошедших за последнее десятилетие в веб-разработке, написание сценариев с использованием объектной модели документа — DOM (Document Object Model) стало, пожалуй, наиболее важной технологией, которой может воспользоваться веб-разработчик для улучшения впечатлений пользователей от своей работы.

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

12. Система hooks в Drupal: hook_menu, hook_permission, hook_form, hook_form_alter.

13. Системы управления интернет контентом. CMS Drupal.

14. Системы контроля версий. Система Git. Понятие репозитария, рабочей копии, индекса, ветки разработки, коммита изменений.

15. Язык SQL. Основы синтаксиса. Команды SELECT, INSERT, UPDATE, DELETE. Объединение таблиц с помощью JOIN (привести пример). Вложенные запросы.

16. Темы и подтемы в CMS Drupal. Установка и настройка тем. Регионы (regions). Шаблоны tpl.php.

17. Инструменты отладки и анализа фронтэнда в браузерах. Инспектор DOM, консоль ошибок, javascript профайлер.

18. Язык PhP. Типизация, тип исполнения, парадигмы программирования, платформы. Основы синтаксиса.

19. HTML формы. Основные элементы форм. Обработка вводимых пользователем значений. Валидация форм.

20. Клиент-серверная модель. Веб-сервер. Принцип работы.

21. Статические и динамические веб-сайты.

22. Организация структуры сайта на Drupal. Модули pathauto, menu, views, book. Словари таксономии.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]