МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ВЛАДИВОСТОКСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И СЕРВИСА
ИНСТИТУТ ИНФОРМАТИКИ, ИННОВАЦИЙ И БИЗНЕС СИСТЕМ
КАФЕДРА ИНФОРМАЦИОННЫХ СИСТЕМ И ПРИКЛАДНОЙ ИНФОРМАТИКИ
ПРОГРАММИРОВАНИЕ ДЛЯ ИНТЕРНЕТ
Рабочая программа учебной дисциплины
230400.62 (09.09.02) ИНФОРМАЦИОННЫЕ СИСТЕМЫ И ТЕХНОЛОГИИ
230700.62 (09.03.03) ПРИКЛАДНАЯ ИНФОРМАТИКА
080500.62 (38.03.05) БИЗНЕС-ИНФОРМАТИКА
Владивосток
Издательство ВГУЭС
2014
ББК **.**
Рабочая программа учебной дисциплины «Программирование для Интернет» составлена в
соответствии с требованиями ООП: 230400.62 (09.09.02) «Информационные системы и
технологии», 230700.62 (09.09.03) «Прикладная информатика», 080500.62 (38.03.05) «Бизнесинформатика» на базе ФГОС ВПО.
Составитель: Трофимов М.В., старший преподаватель кафедры Информационных систем и
прикладной информатики
Утверждена на заседании кафедры ИСПИ от 19.03.2014 г., протокол № 9.
Утверждена на заседании Ученого совета института ИИБС от 29.04.2014г., протокол № 7.
©
Издательство ВГУЭС
2014
ВВЕДЕНИЕ
Программирование для Интернет - бурно развивающийся раздел программирования,
ориентированный на разработку Интернет-приложений (для веб-браузера) или программ,
использующих
Интернет-технологии.
Языки
веб-программирования
это
специализированные языки, которые в основном предназначены для создания программ с
использованием интернет-технологий и обработки текстовых массивов данных. Языки
веб-программирования делятся на две группы: клиентские и серверные. Код, написанный
на клиентском языке, выполняется в браузере, а код, выполняющий на сервере клиентский
запрос, пишется на серверном языке. В веб-приложениях клиентским языком чаще всего
является JavaScript, а серверным может быть любой язык программирования, но чаще
всего это PHP. Основу веб-приложения на клиентской части составляет язык разметки
HTML и каскадные таблицы стилей CSS. С их помощью создается внешний вид
приложения. Таким образом, поведение этого приложения задается языками
программирования, а внешний вид с помощью HTML/CSS. Если для решения некоторой
задачи необходимо собирать, хранить и обрабатывать информацию на сервере, то
зачастую сложно обойтись без СУБД. Например, СУБД необходима для таких вебприложений как интернет-форум, интернет-магазин.
Популярность веб-приложений в том, что для их работы необходим лишь веб-браузер
и подключение к Интернет, и поэтому стали являются ресурсами/сервисами с глобальным
доступом. Такая популярность привела к появлению и росту популярности систем
управления наполнением (CMS). С помощью CMS стало намного проще создавать сайты,
наполнять их информацией, добавлять новый функционал (например, добавить на сайт
опрос-лист, форум, блог) и для этого не стало требоваться знаний программирования для
Интернет. Однако CMS программируется для предоставления типовых функций. Сайт,
созданный на основе CMS, имеет некоторые ограничения и шаблонный вид. Поэтому для
добавления новой функциональности, которой нет в CMS, программируются
расширяющие модули (или плагины), а для изменения внешнего вида создается новый
шаблон оформления (или веб-шаблон).
При разработке программы дисциплины «Программирование для Интернет»
учитывалось современное состояние развития языков программирования и разметки
наполнения, соответствующих им интегрированных сред разработчика (IDE) и
технологий программирования.
1. ОРГАНИЗАЦИОННО-МЕТОДИЧЕСКИЕ УКАЗАНИЯ
1.1 Цели освоения учебной дисциплины
Целью изучения дисциплины «Программирование для Интернет» является
теоретическая и практическая подготовка студентов в области разработки вебприложений с использованием современного языка программирования PHP, СУБД
MySQL, языка разметки HTML, каскадных стилей CSS, а так же современной среды
разработки NetBeans. Знания, полученные в результате освоения дисциплины, помогут
при разработке/доработке систем (приложений), основанных на CMS и PHP-фреймворках
(Framework), которые используются в области повсеместно. Основные задачи изучения
дисциплины:
 архитектура Веб, стек серверных программ;
 программирование на языке PHP;
 создание приложений, основанных на базе данных (БД);
 современная модель веб-приложения;
 архитектура систем управления наполнением (CMS);
 программирование модулей, расширяющих функциональность CMS.
1.2 Место учебной дисциплины в структуре ООП (связь с другими дисциплинами)
Дисциплина «Программирование для Интернет» относится к дисциплинам
математического и общенаучного цикла. Данная дисциплина базируется на компетенциях,
полученных при изучении дисциплин «Технологии Интернет», «Программирование на
языке высокого уровня», «Проектирование информационных систем».
1.3 Компетенции обучающегося, формируемые в результате освоения учебной дисциплины
Таблица 1. Формируемые компетенции
ООП
Коды
компетенций
Знания, Умения, Владение
ОК-16
Знания:
ПК-5
Владения:
Знания:
структуру и состав информационной системы;
методами и инструментальными средствами
проектирования и реализации хранилища данных;
основные понятия объектно-ориентированного
анализа;
основные технологии программирования
ПК-15
использовать объектно-ориентированный анализ
для разработки программного обеспечения;
методами и инструментальными средствами
Владения:
разработки программ;
Умения:
080500.62, Бизнесинформатика. Бизнесинформатика
Знания:
ПК-18
ПК-29
основные технологии программирования
программировать, используя объектноориентированный подход;
методами и инструментальными средствами
Владения:
разработки программ;
особенности построения имитационной модели и
Знания:
ее программной реализации
Умения:
ПК-3
ПК-4
ПК-7
230400.62,
Информационные
системы и технологии.
Информационные
системы и технологии
ПК-17
ПК-23
ПК-24
ПК-26
ПК-27
ПК-28
ПК-29
базовые приёмы и методы осуществления
программы измерений в производственном
процессе программирования;
Знания:
новейшие направления в области технологий
программирования; языки программирования и
методы разработки алгоритмов
выбирать необходимые подходы для организации
Умения:
программирования как производственного
процесса
навыками программирования в современных
Владения:
средах;
разрабатывать информационно-логическую,
функциональную и объектно-ориентированную
Умения:
модели информационной системы, модели
данных информационных систем
принципы, базовые концепции технологий
программирования, основные этапы и принципы
создания программного продукта, абстракция,
различие между спецификацией и реализацией,
рекурсия, конфиденциальность информации,
Знания:
повторное использование, проблема сложности,
масштабирование, проектирование с учетом
изменений, классификация, типизация,
соглашения, обработка исключений, ошибки и
отладка
базовые методики управления процессом
Знания:
разработки программ;
искать необходимые сведения в различных
информационных системах (базах данных,
Умения:
электронных библиотеках, веб-сайтах) с
использованием языков запросов и каталогов;
принципы, базовые концепции технологий
программирования, основные этапы и принципы
создания программного продукта, абстракция,
различие между спецификацией и реализацией,
рекурсия, конфиденциальность информации,
Знания:
повторное использование, проблема сложности,
масштабирование, проектирование с учетом
изменений, классификация, типизация,
соглашения, обработка исключений, ошибки и
отладка
анализировать функционирование
Умения:
информационных систем;
декомпозицией сложной системы,
Владения: моделированием процессов, протекающих в
информационных системах и сетях.
методы и способы получения, хранения и
Знания:
переработки информации, структуру локальных и
глобальных компьютерных сетей;
языками процедурного и объектноВладения:
ориентированного программирования
отладить информационную систему на рабочем
Умения:
месте пользователя;
современными программными средствами
управления БД.
методы и средства проектирования БД,
Знания:
особенности администрирования БД в локальных
и глобальных сетях
защитить информацию при реализации
Умения:
информационных процессов (ввод, вывод,
передача, обработка, накопление, хранение);
адаптировать приложения к изменяющимся
Умения:
условиям функционирования;
современными технологиями разработки
Владения:
программного обеспечения
организацию информации в глобальных
компьютерных сетях и способы ее использования,
Знания:
принципы функционирования сети Интернет
Владения:
ПК-31
ПК-33
ПК-34
ОК-8
сетевые протоколы
Владения: навыками программирования для Интернет
230700.62, Прикладная
информатика.
Прикладная
информатика
ПК-5
Знания:
ПК-9
Знания:
ПК-11
Умения:
ПК-16
Умения:
методологии и технологии проектирования ИС,
проектирование обеспечивающих подсистем ИС
архитектуру БД
системы управления БД и информационными
хранилищами
формировать архитектуру программных
комплексов для информатизации предприятий,
разрабатывать программные приложения
формировать архитектуру программных
комплексов для информатизации предприятий,
разрабатывать программные приложения
1.4 Основные виды занятий и особенности их проведения
Объем и сроки изучения дисциплины:
Для студентов четвертого курса направления «Прикладная информатика» курс
читается в осеннем семестре в объеме 108 учебных часов. На самостоятельное изучение
дисциплины студентам выделяется 21 часов. Итоговая аттестация по курсу — экзамен.
Для студентов третьего курса направления «Информационные системы и технологии»
курс читается в осеннем семестре в объеме 144 учебных часов. На самостоятельное
изучение дисциплины студентам выделяется 57 часов. Итоговая аттестация по курсу —
экзамен.
Для студентов третьего курса направления «Бизнес-информатика» курс читается в
осеннем семестре в объеме 144 учебных часов. На самостоятельное изучение дисциплины
студентам выделяется 57 часов. Итоговая аттестация по курсу — экзамен.
1.5 Виды контроля и отчетности по дисциплине
Контроль успеваемости студентов осуществляется в соответствии с рейтинговой
системой оценки знаний студентов.
Текущий контроль предполагает:
- проверку уровня самостоятельной подготовки студента при выполнении
индивидуального задания;
- опросы и дискуссии по основным моментам изучаемой темы.
Промежуточный контроль предусматривает:
- проведение контрольных работ по блокам изученного материала;
- тестирование остаточных знаний (предварительные аттестации).
Итоговый контроль знаний студентов осуществляется при проведении экзамена в
очной форме.
2. СТРУКТУРА И СОДЕРЖАНИЕ УЧЕБНОЙ ДИСЦИПЛИНЫ
2.1 Темы лекций
Тема 1. Архитектура веб, стек серверных программ, основные понятия
Организационная структура сети Интернет. OpenSource-стек серверных программ
(веб-серверы Apache и NGinx, СУБД MySQL, интепретатор PHP, набор программ
DENWER). Введение в язык PHP.
Тема 2. Программирование на языке PHP, среда NetBeans IDE
Процедурные возможности языка PHP. Обзор библиотеки функций. Обзор
подключаемых расширений языка. Объектно-ориентированные возможности языка (в
сравнительном анализе с языками Java и C++).
Тема 3. Разработка приложений, основынных на БД
Реляционная модель данных. Язык SQL для работы с БД. Расширение PDO для
интерпретатора PHP для работы с БД.
Тема 4. Современная модель веб-приложения
Подход разделения данных, логики и представления в веб-приложении «МодельВид-Поведение» (MVC). Введение в язык Smarty.
Тема 5. Архитектура CMS
Возможности CMS. Применение CMS в различных областях деятельности.
Принципы, на основе которых разрабатываются CMS.
Тема 6. Программирование, расширяющих функциональность CMS, модулей
Разработка модулей для CMS Prestashop и CMS LiveStreet. Описание модели
модуля, обсуждение реализации подхода MVC, используемого в рассматриваемых CMS.
Тема 7. Системы контроля версий
Рассматриваются системы контроля версий Subversion и GIT. Случаи, в которых
есть необходимость использования систем контроля версий. Применение Subversion и GIT
в NetBeans IDE и консоли.
2.2 Перечень тем практических/лабораторных занятий
Тема 1. Изучение пакета программ DENWER
Установка DENWER. Обсуждение структуры каталогов DENWER, набора
серверных программ, типичных проблем установки пакета и запуска серверных программ.
Создание первой по традиции программы «Hello World» на языке PHP и ее запуск через
консоль. Применение разметки HTML в созданной программе. Подробное изучение языка
PHP: основы синтаксиса, типы, переменные, константы, выражения, операторы,
управляющие конструкции, функции, классы и объекты, пространства имен, исключения.
Тема 2. Изучение среды NetBeas IDE, задачи на языке PHP
Установка NetBeans. Обзор возможностей среды. Алгоритмические задачи (не
использовать готовые библиотеки):
а) Создать функцию, возвращающую среднее арифметическое значение массива
чисел, переданного в параметре.
б) Создать функцию, возвращающую значение максимального элемента массива
чисел, который передается в параметре.
в) Создать функцию, меняющую местами значения двух передаваемых ей по
ссылке аргументов.
Задачи с использование объектно-ориентированного подхода:
а) Объединить созданные ранее функции в класс Math, сделав их, таким образом,
методами данного класса. Продемонстрировать работу класса.
б) Создайте класс с именем Time, содержащий три поля, предназначенных для
хранения часов, минут и секунд. Конструктор класса должен инициализировать поля
заданным набором значений или нулевыми значениями, если набор не задан. Создайте
метод класса, который будет выводить значения полей на экран, в формате ЧЧ:ММ:СС
(использовать 24-х часовое обозначения времени) и метод, складывающий значения двух
объектов типа Time, передаваемых ему в качестве аргумента(ов). Продемонстрировать
работу класса.
в) Создайте класс с именем Fraction, содержащий два целочисленных поля числитель и знаменатель обыкновенной дроби. Конструктор класса должен
инициализировать их заданным набором значений. Создайте метод класса, который будет
выводить дробь на экран в формате x / y, метод, складывающий две дроби, переданные
ему в параметрах и статический метод, умножающий две дроби, переданные ему в
параметрах.
г) Определить класс Vector2D как вектор на плоскости с данными x и y.
Определить для него методы сложения, вычитания и скалярного произведения,
определить метод присваивания значения координатам вектора и метод вывода значений.
Определить класс Vector3D как вектор в пространстве, породив его от класса Vector2D.
Переопределить для него методы. Продемонстрировать работу класса.
д) Определить класс Stack, который позволяет реализовать структуру данных типа
«стек» для хранения данных. Определить для класса методы pop (положить в стек), push
(достать из стека) и метод определения количества элементов в стеке. Методы должны
осуществлять проверку на выход за пределы стека. Определить класс Fifo, реализующий
структуру данных типа «очередь» для хранения данных, породив его от класса Stack,
добавив нужные поля и переопределив методы. Продемонстрировать работу класса с
использованием данных с различной внутренней структурой (числовые и строковые
переменные, массивы).
е) Создать абстрактный класс Figure с абстрактными методами вычисления
площади и периметра. Создать производные классы: Rectangle (прямоугольник), Circle
(круг), Triangle (треугольник). Описать в производных классах методы вычисления
периметра и площади, продемонстрировать работу класса.
ж) Создать абстрактный класс Figure с абстрактным методом draw(),
осуществляющим прорисовку объекта на HTML-странице, используя графическую
библиотеку. Создать производные классы: Rectangle (прямоугольник), Circle (круг),
Triangle (треугольник). Описать в производных классах метод draw() для каждой из фигур,
продемонстрировать работу класса.
Тема 3. Разработка приложений, основанных на БД
Изучение PDO для работы с БД. Разработка веб-приложения «Чат».
Тема 4. Современная модель веб-приложения
Рефакторинг созданного ранее веб-приложения «Чат» (состоящего из одного файла
с исходным кодом) с целью применения подхода MVC. Изучение языка Smarty. Задачи
практического занятия по рефакторингу веб-приложения:
а) вынести HTML-разметку в отдельный файл «view.tpl» и, используя язык Smarty,
создать шаблон окна чата;
б) вынести класс Model для работы с БД в отдельный файл «model.php»;
в) создать класс Controller (файл «controller.php»), наследующий класс Model и
выполняющий необходимую обработку клиентских запросов;
г) создать файл «index.php», инициирующий запуск веб-приложения и передающий
поступающие клиентские запросы на обработку объекту класса Controller.
Тема 5. Знакомство с CMS Prestashop
Обсуждение пользовательской (Front Office) и административной (Back Office)
частей системы. Разработка модуля к системе, который позволяет добавлять контактную
информацию о владельце сайта в верхнюю часть страниц (Header of Pages), используя
подход системы «хуков» (Hook System).
Тема 6. Знакомство с CMS LiveStreet
Обсуждение пользовательской (Front Office) и административной (Back Office)
частей системы. Разработка модуля к системе, который позволяет выводить блок в правую
часть страниц сайта с информацией о допустимой возрастной группе сайта, используя
подход системы «хуков».
3. ОБРАЗОВАТЕЛЬНЫЕ ТЕХНОЛОГИИ
Программой дисциплины предусмотрено чтение лекций, проведение практических
занятий. В течение изучения дисциплины студенты изучают на лекционных занятиях
теоретический материал. На практических занятиях под руководством преподавателя,
решают типовые задачи программирования, обсуждают возникающие вопросы и
проблемы, разбирают и анализируют наиболее удачные практики программирования.
4. МЕТОДИЧЕСКИЕ
КУРСА
РЕКОМЕНДАЦИИ
ПО
ИЗУЧЕНИЮ
4.1 Перечень и тематика самостоятельных работ студентов по дисциплине
1. Разработать модуль для CMS LiveStreet, который позволяет отображать персональную
информацию студента (ФИО, фото, группа, курс, специальность, хобби, профессиональные
интересы, список показательных работ по программированию) и заменяющий
стандартный модуль CMS LiveStreet для отображения профиля пользователя.
2. Разработать модуль для CMS Prestashop, позволяющий обмениваться сообщениями
(Private Messages) между администрацией сайта и другими пользователями, которые
оставляли комментарии на страницах с информацией о товарах интернет-магазина.
4.2 Контрольные
дисциплины
вопросы
для
самостоятельной
оценки
качества
освоения
учебной
Большинство вопросов приведено на английском языке. В скобках в конце вопроса
уточняется, к какой предметной области разработки, средству или языку относится
вопрос.
1. Which of the following statements is NOT true? (PHP)
a) Class constants are public
b) Class constants are being inherited
c) Class constants can omit initialization (default to NULL)
d) Class constants can be initialized by consts
2. Type hinting in PHP allows the identification of the following variable types? (PHP)
a)
b)
c)
d)
String
Integer
Array
Any class or interface type
3. Identify the security vulnerability in the following example: (PHP)
echo "Welcome, {$_POST['name']}.";
a)
b)
c)
d)
SQL Injection
Cross-Site Scripting
Remote Code Injection
None of the above
4. How many times will the function counter() be executed in the following code? (PHP)
function counter($start, &$stop)
{
if ($stop > $start)
{
return;
}
counter($start--, ++$stop);
}
$start = 5;
$stop = 2;
counter($start, $stop);
a)
b)
c)
d)
3
4
5
6
5. When a class is defined as final it: (PHP)
a)
b)
c)
d)
Can no longer be extended by other classes.
Means methods in the class are not over-loadable.
Cannot be defined as such, final is only applicable to object methods.
Is no longer iteratable.
6. What is the content of $c after the following code has executed? (PHP)
$a = 2;
$b = 3;
$c = ($a++ * ++$b);
a)
b)
c)
d)
0
5
8
4
7. The function call returns "0". What does that mean? (PHP)
strcasecmp('hello my dear!', 'Hello my DEAR!');
a) String 1 is less than string 2.
b) The strings are considered equal.
c) String 2 is less than string 1.
d) The strings have equal length.
8. What is the output of the following script? (PHP)
class a
{
public $val;
}
function renderVal (a $a)
{
if ($a) {
echo $a->val;
}
}
renderVal (null);
a)
b)
c)
d)
A syntax error in the function declaration line
An error, because null is not an instance of 'a'
Nothing, because a null value is being passed to renderVal()
NULL
9. What is the output of the following code? (PHP)
echo 0x33, ' monkeys sit on ', 011, ' trees.';
a)
b)
c)
d)
33 monkeys sit on 11 trees.
51 monkeys sit on 9 trees.
monkeys sit on trees.
0x33 monkeys sit on 011 trees.
10. When checking whether two English words are pronounced alike, which function
should be used for the best possible result? (PHP)
a) levenshtein()
b) metaphone()
c) similar_text()
d) soundex()
11. Given the following code, what is correct? (PHP)
function f(stdClass &$x = NULL)
{
$x = 42;
}
$z = new stdClass;
f($z);
var_dump($z);
a)
b)
c)
d)
e)
Error: Typehints cannot be NULL
Error: Typehints cannot be references
Result is NULL
Result is object of type stdClass
Result is 42
12. What is the maximum size of the VARCHAR column type? (MySQL)
a) 255 Bytes
b)
c)
d)
e)
255 Characters
12 Bytes
512 Characters
No Limit
13. Transactions can be used to: (Data Bases)
Recover from errors in case of a power outage or a failure in the SQL connection
a) Ensure that the data is properly formatted
b) Ensure that either all statements are performed properly, or that none of them are.
c) Recover from user errors
14. Which piece of code will return the ASCII value of a character? (MySQL)
a) (int)'t';
b) ord('t');
c) to_ascii('t');
d) chr('t');
15. An HTML form contains this form element: (PHP)
<input type="image" name="myImage" src="image.png" />
The user clicks on the image to submit the form. How can you now access the relative
coordinates of the mouse click?
a) $_IMAGE['myImage']['x'] and $_IMAGE['myImage']['y']
b) $_POST['myImage']['x'] and $_POST['myImage']['x']
c) $_POST['myImage.x'] and $_POST['myImage.y']
d) $_POST['myImage_x'] and $_POST['myImage_y']
16. You are creating an application that generates invoices in a variety of formats, including PDF,
ODS and HTML. Each of these formats is represented as a PHP class in your application. While
some of the operations can be performed on all of the different formats (such as saving and
loading), other operations may be specific to one or two of the formats (such as setting as read
only). Which design pattern should you use for this application? (System Design)
a) Adapter
b) Factory
c) MVC
d) Singleton
17. Как будет выглядеть код страницы после выполнения кода: (Smarty)
{assign var=”groupID” value=$currentUser->getUserGroup()}
{if($groupID) > 1}{assign var=”groupID” value=10}
{If $groupID = 1}
<div>You are an Admin</div>
{else}
<div>You are a Customer</div>
{/if}
{/if}
a) <div>You are an Admin</div> или <div>You are a Customer</div> в зависимости от
переменной groupID
b) Всегда <div>You are an Admin</div>
c) Всегда <div>You are a Customer</div>
18. На каком языке написан следующий код:
function clearForm(name) {
var f = document.forms[name];
for(var i = 0; i < f.elements.length; ++i) {
if(f.elements[i].checked)
f.elements[i].checked = false;
}
a) PHP
b) Java
c) JavaScript
19. Какой результат выполнения скрипта? (JavaScript):
<script type="text/javascript" src="myscript.js">
alert('I am pointless as I won\'t be executed');
</script>
a)
b)
c)
d)
I am pointless as I won't be executed
I am pointless as I won\'t be executed
Результат выполнения скрипта из файла myscript.js
Код содержит ошибки
4.3 Методические рекомендации по организации СРС
Для студентов в качестве самостоятельной работы предполагается выполнение
домашних заданий, групповая работа над задачами по программированию.
4.4 Рекомендации по работе с литературой
В процессе изучения дисциплины «Программирование для Интернет», для того
чтобы представлять основные понятия и сущность веб-технологий необходимо
воспользоваться учебником К. Пейтон, А. Меллер «PHP & MySQL. В примерах и на
проектах».
Остальная рекомендуемая литература поможет студентам выполнять задания
самостоятельной работы и получить углубленные знания по дисциплине.
5. УЧЕБНО-МЕТОДИЧЕСКОЕ
И
ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ
ИНФОРМАЦИОННОЕ
5.1 Основная литература
1. PHP & MySQL. В примерах и на проектах / К. Пейтон, А. Меллер ; пер. с нем. под ред. С. М.
Молявко. - М. : Бином-Пресс, 2011. - 368 с. : ил.
2. Веб-мастеринг: HTML, CSS, JavaScript, PHP, CMS, графика, раскрутка / П. А. Ташков. - СПб. :
Питер, 2010. - 512 с. : ил. - (На 100 %).
5.2 Дополнительная литература
1. PHP. Объекты, шаблоны и методики программирования / М. Зандстра; пер. с внгл. – M.:
Вильямс, 2013. – 560 с.: ил.
Полнотекстовые базы данных – нет
Интернет-ресурсы:
1.
2.
3.
4.
Руководство по PHP. URL: http://www.php.net/manual/ru/
Smarty 3 Documentation. URL: http://www.smarty.net/documentation
Справочник по HTML/CSS. URL: http://htmlbook.ru/
MySQL Documentation. URL: http://dev.mysql.com/doc/refman/5.6/en/
6. МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
ДИСЦИПЛИНЫ
а) программное обеспечение: MS Word, NetBeans IDE, DENWER.
б) техническое и лабораторное обеспечение – компьютерный класс, аудитория с
презентационным оборудованием.
7. СЛОВАРЬ ОСНОВНЫХ ТЕРМИНОВ
OpenSource – открытое программное обеспечение.
PDO – PHP Data Objects, расширение для PHP, предоставляющее разработчику
простой и универсальный интерфейс для доступа к различным базам данных.
MVC – Model-view-controller, схема использования нескольких шаблонов
проектирования, с помощью которых модель данных приложения, пользовательский
интерфейс и взаимодействие с пользователем разделены на три отдельных компонента
так, что модификация одного из компонентов оказывает минимальное воздействие на
остальные.
Smarty – компилирующий обработчик шаблонов для PHP, один из инструментов,
позволяющий отделить прикладную логику и данные от представления в духе подхода
MVC.
CMS – Content management system, информационная система, используемая для
обеспечения и организации совместного процесса создания, редактирования и управления
наполнением сайта.
GIT – распределённая (децентрализованная) система управления (контроля)
версиями.
Subversion – централизованная система управления (контроля) версиями.
DENWER – набор дистрибутивов и программная оболочка, предназначенные для
создания и отладки веб-приложений на локальном компьютере под управлением ОС
Windows.
Рефакторинг – refactoring, реорганизация кода или процесс изменения внутренней
структуры программы, не затрагивающий её внешнего поведения и имеющий цель
облегчить понимание её работы.
Download