Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код |
272001 |
Дата создания |
21 марта 2015 |
Страниц |
80
|
Мы сможем обработать ваш заказ (!) 20 декабря в 12:00 [мск] Файлы будут доступны для скачивания только после обработки заказа.
|
Описание
В данной дипломной работе представлена разработка и программная реализация модуля для автоматического сбора информации в глобальных сетях. В данной работе проведено проектирование модуля и выбор средств его реализации на языке php (исходный код в приложении).
Защита в 2014г, специалист, оценка -отлично. ...
Содержание
Содержание
Введение 3
1 Проектирование модуля и выбор средств реализации 5
1.1 Постановка задачи на дипломную работу 5
1.2 Определение системных требований 8
1.3 Выбор программного обеспечения и языка программирования 8
1.4 Структурный анализ проекта 18
1.5 Функциональный анализ 19
1.6 Проектирование на языке программирования 21
1.7 Эксплуатация 22
2 Средства реализации парсера PHP 24
2.1 Основные подходы к реализации парсера на языке РНР 24
2.2 Использование регулярных выражений RegExp 26
2.3 РНР Simple HTML DOM Parser 31
2.4 Расширение SimpleXML 39
3 Реализация и тестирование программного модуля 42
3.1 Создание интерфейса и основных файлов проекта 42
3.2 Создание основных переменных и запроса к ИПС 43
3.3 Обработка полученных данных с помощью Simple HTML DOM 45
3.4 Сохранение картинок вфайлы 47
3.5 Тестирование 48
4 БЖД и охрана труда. 53
4.1 Характеристика производства. 53
4.2 Потенциальные опасности и вредности на производстве 53
4.3 Мероприятия по устранению этих опасностей и вредностей 55
4.4 Микроклимат (характеристика, допустимые и оптимальные значения) 56
4.5 Вентиляция, отопление 58
4.6 Освещение помещений. 58
4.7 Характеристика шума и вибраций 59
4.8 Электробезопасность 59
4.9 Пожарная безопасность. 60
4.10 Освещение в компьютерной аудитории 61
5 Экономическая часть 68
5.1 Расход трудоемкости разработки программного продукта 68
5.2 Расход на оплату труда разработчика программы 70
5.3 Общие затраты на создание программного продукта 71
5.4 Целесообразность создания продукта 72
Выводы и рекомендации 73
Библиографический список 75
Приложение А. 78
1.4 Структурный анализ проекта
Так как в создаваемом проекте клиент является «тонким», на его стороне нужен только веб-браузер. Все действия после запуска программы будут обрабатываться на стороне сервера. Клиент только пишет запрос.
Модуль для автосбора графики состоит из основных составляющих со стороны сервера:
Парсер;
Интерфейс.
На локальном виртуальном диске или хостинге располагаются следующие части:
Веб-сервер Apache, на котором размещается непосредственно программа на РНР (скрипт), собирающий информацию с ресурсов и обрабатывающий ее;
РНР5.
После того, как клиент отправил запрос и указал папку для сохранения файлов, отрабатывает программа для парсинга Яндекс.Картинок. Из кода выбираются графические объекты с последующим сохранением результатов обработки (графических файлов) в папку.
Cтруктура клиент-серверного приложения представлена на рис.1.2
Рисунок 1.1 – Cтруктура клиент-серверного приложения
1.5 Функциональный анализ
Проведем функциональный анализ для создаваемого парсера, для этого рассмотрим функции каждой составляющей:
1. Парсер. Функция: сбор и обработка информации;
2. Интерфейс. Функция: связь пользователя с сервером.
Общее дерево функций модуля и связей между ними показано на рис.1.2.
Рисунок 1.2. – Общее дерево функций модуля и связей между ними
Описываем функции более подробно, разбивая из на меньшие этапы. Большинство действий выполняются парсером.
Парсер:
Обращение к Яндекс.Картинкам с запросом пользователя;
Получение HTML кода выдачи поисковой системы в переменную;
Отбор нужной информации (рисунков);
Сохранение выбранных рисунков в папку.
Интерфейс:
прием запроса пользователя;
передача запроса парсеру для дальнейшей обработки;
сообщение пользователю об окончании процесса.
1.6 Проектирование на языке программирования
На стадии проектирования функции из раздела функционального анализа нужно заменить на функции из языка программирования.
Для парсера функции для обработки HTML-кода запроса зависят от тех средств, которые используются для этого. В языке РНР существуют несколько способов реализации парсера: использование регулярных выражений RegExp; РНР Simple HTML DOM Parser; SimpleXML и DOM. Они будут более подробно рассмотрены в главе 2. После этого будут выбраны функции языка.
Введение
Задача извлечения информации из интернет-источников осложняется тем, что отсутствует единый стандарт построения сайтов: все многообразие сайтов и веб-страниц объясняется фантазией веб-дизайнеров и умением веб-мастеров. Поэтому построенные грабберы и парсеры приходится периодически обновлять, так как изменение исходных ресурсов, с которых собирается информация, может сделать программу работающей некорректно или не работающей совсем. Из этого следует, что задача автоматического сбора информации на данном этапе является постоянно актуальной.
В данной дипломной работе представлена реализация программного модуля на PHP, потому что это удобно, быстро и менее ресурсозатратно для разработчика. Естественно, если скрипт предназначен только для скачивания какой-либо базы и последующей проверки обнов лений. Нет особых интерфейсов, ненужных классов (скачивается страница, парсинг, сохрание в базу, повтор). Также существуют различные удобные библиотеки надстройки, позволяющие решать эту задачу более эффективно.
Фрагмент работы для ознакомления
д.)+Предыдущий символ может повторяться 1 или более раз(оn+e – one, onne, onnne ... (но не oe))?Предыдущий символ может повторяться 0 или 1 раз(оn?e – oe, one)\fСимвол перевода формата.\bГраница слова, т. е. позиция между словом и пробелом или переводом строки.Используя различные комбинации из метасимволов и символов, можно создавать шаблоны, которые будут найдены в тексте.В РНР используется диалект Perl, так же как и в С, С++ и C#. Итак, начнем с того, что для работы с регулярными выражениями в PHP существует несколько функций, но чаще всего используются три:preg_replace – поиск и замена подходящего по регулярному выражению текста;preg_match – просто поиск по регулярке;preg_split – поиск и разделение текста.В РНР preg_match выполняет подстановку регулярного выражения, его синтаксис:preg_match (string pattern, string subject, array matches, int flags)Рreg_match ищет в subject совпадения с регулярным выражением, заданным в pattern. Если matches предоставлен, он заполняется результатами поиска. $matches[0] будет содержать текст, совпавший со всем патэрном, $matches[1] будет содержать текст, совпавший первым захваченным субпатэрном в скобках, и так далее [20].В отличие от С#, в РНР можно использовать регулярные выражения с большей гибкостью. Например, preg_replace может работать с массивами в качестве параметров. Таким образом, массив при необходимости можно дополнять своими регулярными выражениями: $search = array ("!<Script[^>]*?>.*?</Script>'si", //массив регулярок "!<style[^>]*?>.*?</style>'si", "!<XML[^>]*?>.*?</XML>'si", "!<[\/\!]*?[^<>]*?>'si", "!([\r\n])[\s] ");$replace = array ("", "", "","","\\1"); //массив для замены найденных выражений $HTML_new = preg_replace($search, $replace, $HTMLText); Данная функция preg_replace заменяет найденные регулярными выражениями массива $search подстроки на элементы из массива $replace, и сохраняет результаты в новую переменную $HTML_new.Пользуясь приведенными функциями, можно очищать скачанную страницу от тегов, скриптов и т.д.2.3 РНР Simple HTML DOM ParserPHP Simple HTML DOM Parser – это библиотека для парсинга HTML. Ее использование также широко распространено в случаях, когда нужно анализировать HTML, извлекать и структурировать информацию, парсить HTML-документы, особенно в больших количествах. Основными плюсами использования библиотеки Simple HTML DOM Parser – скорость и поддержка невалидного HTML-кода, работа с тегами: поиск, очистка и замена тегов, выборочная очистка от тегов и т.д. А также удобный, и прозрачный синтаксис.Так же отзывы отмечают отсутствие проблем с кодировками: «Часто бывает, что, получив содержимое страницы с помощью, например, file_get_contents, кодировку данных на промежуточном этапе приходится преобразовывать. Здесь же такой надобности пока что не возникало» [21].С помощью этой библиотеки можно обращаться к элементам и атрибутам элементов, искать определенного уровня вложенные элементы, фильтровать их, искать текст и комментарии. Оно позволяет работать с XML-документами с помощью DOM API. Оно также предоставляет функцию DOMXML_XMLtree() для включения всего XML-документа в дерево PHP-объектов.Simple HTML DOM (а также SimpleXML) основан на программной модели, известной как Объектная модель XML-документа, или DOM (Document Object Model). DOM состоит из группы программных объектов, представляющих различные компоненты XML-документа. Свойства и методы этих объектов позволяют использовать сценарии для отображения XML-документа с HTML-страницы. DOM хранит данные в иерархической, древообразной структуре, отражающей иерархическую структуру XML-документа – независимо от того, структурирован ли он как набор записей – и ее можно использовать для доступа к любым компонентам XML-документа, включая элементы, атрибуты, инструкции по обработке, комментарии и объявления нотаций и примитивов [22].Консорциум W3C использует термин Объектная модель документа (Document Object Model, или DOM) для обозначения более широкой объектной модели, которая обеспечивает доступ, как к HTML-элементам, так и к XML-документам. Однако здесь этот термин применяется к обычной модели DOM XML, рассчитанной на доступ конкретно к XML-документам.XML – это расширяемый язык разметки. Под термином «язык разметки» понимается любой язык, который позволяет определять назначение, свойства, способ отображения и т.п. частей документа путем добавления в текст документа «тегов» – специальных конструкций, распознаваемых парсером языка. Фактически спецификация XML описывает лишь набор основных структур языка и соглашения об их синтаксисе. С помощью XML можно описать любые данные в структурированном виде и затем легко обрабатывать эти данные, в том числе и на PHP [23].Связывание XML-документа с HTML-страницей. Чтобы получить доступ к документу через DOM нужно связывать XML-документ с HTML-страницей. Самый простой способ – сделать это через фрагмент данных. Напомним, что фрагмент данных создается через HTML-элемент с именем XML. Например, следующий элемент BODY HTML-страницы содержит фрагмент данных, который связывает XML-документ, хранящийся в файле Book.XML [22]:<BODY> <XML ID="dsoBook" SRC="Book.XML"></XML> <!-- другие элементы отображаемой части страницы … --></BODY>2.3.1 Структура DOM. В DOM программные объекты, представляющие XML-документ, называются узлами. Когда браузер обрабатывает связанный XML-документ и сохраняет его в DOM, он создает узел для каждого из основных компонентов XML-документов, таких как элементы, атрибуты и инструкции по обработке.DOM использует различные типы узлов для представления различных типов компонентов XML. Например, элемент хранится в узле Element, а атрибут – в узле Attribute. Существуют различные способы доступа к атрибутам, примитивам и нотациям. Создается DOM-сценарий, позволяющий обрабатывать любой XML-документ и отображать базовую информацию о каждом из его компонентов, также есть сценарий, который можно использовать для проверки любого XML-документа на корректность формы и валидность. В таблице 2.1 представлены наиболее важные типы узлов. Каждый тип узла представляет собой программный объект, который обеспечивает свойства и методы для доступа к соответствующему компонентуТаблица 2.2. – Основные типы узлов, используемых для представления раз- личных компонентов XML-документаТип узлаКомпоненты XML-документа, представляемые узломИмя узла (свойство nodeName объекта)Значение узла (свойство nodeValue объекта)DocumentКорневой узел иерархии документа (т. е. он представляет весь XML-документ)#DocumentnullElementЭлементИмя типа элемента (например, BOOK)null (любые символьные данные, содержащиеся в элементе, находятся в одном или нескольких дочерних узлах Text)TextТекст, принадлежащий элементу, атрибуту или примитиву, которые представлены родителем этого узла#textТекст родительского XML-компонентаAttributeАтрибут (а также другие пары имя-значение, такие как имя и значение в инструкции по обработке)Имя атрибута (например, Binding)Значение атрибута (например, hardcover)Processing-InstructionИнструкция по обработке (объявление XML или пользовательская инструкция по обработке)Предназначение инструкции по обработке (например,XML)Полное содержимое инструкции по обработке, за исключением предназначения (например, version="1.0")CommentКомментарий#commentВесь текст внутри ограничителей комментарияCDATA SectionРаздел CDATA #cdata -sectionСодержимое раздела CDATA Document TypeОбъявление типа документаИмя корневого элемента, содержащееся в объявленииDOCTYPE (например, INVENTORY)nullEntityОбъявление примитива в DTDИмя примитива (например, image)null (значение примитива содержится в дочернем узле Text)NotationОбъявление нотации в DTDИмя нотации (например, BMP)null (системный литерал нотации содержится в дочернем узле Attribute с именем SYSTEM)Каждый узел, как программный объект, имеет свойства и методы, которые позволяют вам осуществлять доступ, отображать, обрабатывать и получать информацию о соответствующем компоненте XML. Например, свойства nodeName и nodeValue дают имя компонента и его значение. Все типы узлов используют общий набор свойств и методов. Эти свойства и методы разработаны для работы с узлами вообще [22].2.3.2 Работа с DOM в РНРМодель DOM используется в модулях DOM XML, Simple XML и Simple HTML DOM Parser. API этих модулей следует, насколько возможно, стандарту DOM Level 2. Хотя данный API является объектно-ориентированным, имеется много функций, которые можно вызывать не-объектно-ориентированным путём с помощью передачи объекта, с которым работают, как первого аргумента. Эти функции в основном предназначены для сохранения совместимости со старыми версиями расширения, но больше не рекомендуются для использования в новых разработках.Взаимодействие PHP и XML посредством DOM XML. Модуль DOM XML определяет в PHP несколько классов, таких как DOMNode, DOMDocument, DOMElement, DOMText и DOMAttribute, большинство из которых идут из ядра стандарта DOM. Почти для всех классов (в частности, для перечисленных выше) класс DOMNode является родительским, поэтому его свойства и методы наследуются всеми остальными классами.Если рассмотреть произвольный XML-документ, то классу DOMDocument будет соответствовать сам этот документ, классу DOMElement – каждый XML -тег, классу DOMAttribute – атрибуты тегов, а классу DOMText – содержание XML- элементов. В то же время классу DOMNode будет соответствовать каждый из перечисленных элементов XML –документа [24].В РНР, начиная с версии 5, есть встроенные методы работы с деревом документа (класс DOMDocument), но основан он на XML парсере. А HTML и XML это хоть и очень похожие, но в тоже время абсолютно разные технологии. К примеру, непременное требование к XML – это закрытые теги и отсутствие ошибок. Отсюда вытекает условие: ошибок в HTML, который мы парсим с помощью нативных средств PHP, быть не должно. К сожалению, на сайтах донорах, ошибки не редки, а значит, этот метод отпадает.Для корректного разбора таких сайтов, на помощь придут РНР библиотеки PHPQuery, Simple HTML DOM, Zend DOM Query, Nokogiri . Некоторые из них, после небольших манипуляций скармливают HTML тому же DOMDocument [25].2.3.3 Подключение библиотеки SimpleHTMLDOMБиблиотека SimpleHTMLDOM является популярным средством разбора веб-документов. Скачать ее последнюю версию можно на HTTP ://sourceforge.Net, последнее обновление библиотеки – сентябрь 2012. Опытные пользователи [17,18,24,25] утверждают, что она полностью покрывает нужды в разборе HTML текстов.В архиве, который можно скачать на сайте, две папки (примеры работы и документация) и файл Simple_HTML_DOM.PHP.Simple_HTML_DOM.PHP – это вся библиотека, больше ничего для работы не потребуется. Нужно сохранить этот файл в папку с проектом и в своем скрипте просто подгрузить его:include 'Simple_HTML_DOM.PHP';Файл подключен и готов к работе. Помимо приложенной документации, также доступна online версия, расположенная на HTTP ://SimpleHTMLDOM.sourceforge.Net/manual.htm.Для того, чтобы начать разбирать HTML, его сначала нужно получить: с помощью стандартных средств РНР, при помощи библиотеки CURL и т.д. В SimpleHTMLDOM есть методы для удаленной загрузки страниц. После подключения файла библиотеки, доступны 2 функции для обработки HTML строк:str_get_htm(str) и file_get_HTML(url)Они делают одно и тоже, преобразуют HTML текст в DOM дерево, различаются лишь источники.str_get_htm – на вход получает обычную строку, т.е. если получили HTML прибегнув к CURL или file_get_contents, то полученный текст просто передается этой функции. Далее он сохраняется в переменную:$HTML = file_get_HTML('HTTP ://www.yandex.ru/');в результате, в переменной $HTML будет объект типа Simple_HTML_DOM.В более ранних версиях при больших объемах данных, в библиотеке происходила утечка памяти, поэтому после окончания одного цикла надо было ее чистить, однако в последней версии 1.5 этот недостаток был полностью устранен.После того, как HTML текст упакован в объект, можно приступать непосредственно к поиску нужных элементов.Большинство поисковых функций выполняет метод find(selector, [index]). $HTML->find('div')Например, в качестве селектора можно воспользоватся названием тега < div >. Но можно использовать и другие CSS селекторы. Элемент на странице можно найти по его атрибутам. В первую очередь, это название тега, id и class. Также могут быть использованы и второстепенные атрибуты, к примеру, href ссылки или width картинки. Также можно воспользоваться и регулярными выражениями.Поиск по значению атрибута не ограничивается только равенством. Вот доступные условия [25]:[атрибут] – проверяет есть ли у элемента данный атрибут;[атрибут=величина] – проверяет, есть ли у элемента данный атрибут и равно ли его значение величине.( div[class=myclass] – найдет все div’ы у которых class равен myclass);[атрибут!=величина] – проверяет, есть ли у элемента данный атрибут и не равно ли его значение величине.( div[class!=myclassok] – найдет все div’ы у которых class не равен myclassok);[атрибут^=величина] – проверяет, есть ли у элемента данный атрибут и начинается ли его значение с величины ( div[class^=my] – найдет все div’ы у которых class начинается с my, к примеру myclass и myclassok);[атрибут$=величина] – проверяет, есть ли у элемента данный атрибут и заканчивается ли его значение величиной( div[class$=ok] – найдет все div’ы у которых class заканчивается на ok, к примеру myclassok, yok, okно не oki);[атрибут*=величина] – проверяет, есть ли у элемента данный атрибут и содержит ли его значение в себе величину, в любом месте(div[class*=sok] – найдет все div’ы у которых class содержит sok, к примеру myclassok, ysoki, sok).Обычный текст можно искать как тег text.2.4 Расширение SimpleXMLPHP5 содержит принципиально новое расширение для обработки XML-документов – SimpleXML. Поддержка этого расширения осуществляется по умолчанию, не нужно подключать какие-либо библиотеки к PHP.Отнести его к инструментам парсинга можно только частично – в той части, которая использует обработку XML-документов. Однако, за последнее время XML стало популярной технологией, в которой в основном разрабатываются серьезные интернет-приложения или корпоративные системы. «При создании скриптов на РНР неоднократно приходится сталкиваться с необходимостью работы с данными в XML-формате, причем очень часто эта работа совершенно тривиальна. Чтение данных, простая выборка (какого-то конкретного узла или значения), изменение данных – все эти функции, с одной стороны, очень просты при описании, но достаточно сложны, когда приходится заниматься этим в реальности» [26].Документация производителя на это расширение на сегодняшний день весьма лаконична. В PHP5 определен класс SimpleXMLElement, экземпляром которого и становится загружаемый XML-документ. Некоторые из определенных в этом классе методов возвращают массивы, а некоторые – объекты того же класса SimpleXMLElement [27].SimpleXML позволяет загрузить XML-документ, преобразовать его в объектную форму и получить доступ к значениям узлов XML. Объект класса SimpleXMLElement – это не DOM-представление XML-документа, но его можно преобразовать в объект DOM с помощью методов, объявленных в расширении SimpleXML.Можно поменять содержание XML-элементов документа и вывести результат в виде XML в окно браузера или в сохранить в файле. В [27] показано, что с помощью только SimpleXML не просто создавать XML-документы с нуля, но «обработка уже созданных поражает своей простотой по сравнению с иными способами парсирования XML-данных». Для начала работы необходимо загрузить XML-данные. Это может быть как файл, так и просто строковая переменная, содержащая XML-код. Если используется параллельно и DOM XML, то можете сразу загрузить DOM-модель документа в SimpleXML (и потом выгрузить ее обратно для продолжения работы).Загрузка XML-документ из файла rss.XML с помощью функций SimpleXML: <?PHP $XML = SimpleXML_load_file('rss.XML'); ?>Функция SimpleXML_load_file() читает XML-документ и преобразует его в объект класса SimpleXMLElement. С помощью функции var_dump() можно просмотреть структуру данных, возвращаемую функцией SimpleXML: <?PHP var_dump($XML); ?>Этот объект имеет свойства – дочерние элементы. Если дочерний элемент не содержит вложенных элементов, то можно получить доступ к содержимому XML-элемента как к свойству объекта: <?PHP echo $XML->channel->title; ?>Свойства, в свою очередь, могут быть объектами класса SimpleXMLElement, если они содержат вложенные XML-элементы. С помощью SimpleXML можно не только разбирать XML-документ и извлекать из него информацию, но и модифицировать XML-документ. Например, поменять название канала рассылки и записать результат в файл rss_new.XML с помощью метода asXML(), возвращающего правильный XML-документ.Также в SimpleXML поддерживаются и более мощные возможности, к примеру адресация элементов с помощью специального языка XPath. XPath – это специальный язык (метод) для адресации частей XML-документов и построения ссылок на конкретные узлы или элементы в иерархии XML. Функция XPath() принимает выражение для отбора узлов и возвращает массив элементов SimpleXMLElement (или один элемент, если в результате был найден только один узел, удовлетворяющий запросу). После вызова этой функции можно продолжить работу стандартными средствами SimpleXML. Особенно XPath удобен для навигации по большим документам, когда заранее неизвестно точно, как получить доступ к нужному элементу, да и длинная цепочка указателей на объекты выглядит нечитабельной и сложной к дальнейшей расширяемости.По отзывам экспертов [26] для проведения очень сложной обработки XML-документов только SimpleXML может быть недостаточно, так как серьезные приложения, как правило, требуют более мощных инструментов, например валидацию XML при помощи схем или DTD. Но для простых работ вроде чтения/записи SimpleXML может обеспечить получение доступа к отдельным элементам и их изменение, причем достаточно просто. А «поддержка мощного языка адресации XPath позволяет с легкостью манипулировать отдельными частями любого XML-документа» [26].После изучения основных средств для написания парсеров на языке РНР, можно сделать вывод, что для программной реализации модуля для автоматического сбора информации в глобальных сетях удобнее воспользоваться средствами Simple HTML DOM Parser. Регулярные выражения также достаточно эффективны при написании небольших парсеров, однако применение Simple HTML DOM Parser позволяет использовать и преимущества структуры DOM и специальной библиотеки, и в то же время, если есть необходимость, пользоваться регулярными выражениями.3 Реализация и тестирование программного модуля3.1 Создание интерфейса и основных файлов проектаВ первой главе дипломной работы проведено проектирование модуля для автоматического сбора информации (графики). Поиск графических файлов будет проводиться с помощью Яндекс.Картинок, а после закачиваться на компьютер пользователя. Теперь нужно сделать программную реализацию.Создаем на локальном сервере папку с проектом PictPars и в ней создаем файлы проекта. Для начала создадим страницу index.HTML, в которой содержится интерфейс разрабатываемого модуля. Главной функцией ее является связь пользователя с сервером, передача обработчику запроса и получение ответа о завершении работы.Интерфейс содержит только поле запроса (тема картинок) и кнопку Искать.Папка, в которую сохраняются материалы: (по умолчанию они сохраняются в ту же папку на локальном сервере)Форма передает запрос обработчику методом post с присвоенным именем request (запрос):<form action = "foto.PHP" method ="post"><input type="text" name="request">Интерфейс программы приведен на рис.3.3.в разделе «Тестирование».Теперь создаем собственно файл с проектом foto.PHP и подключаем выбранную для обработки HTML библиотеку Simple HTML DOM Parser, так, как описано в 2.3.3.Размечаем файл со скачанной библиотекой Simple_HTML_DOM.PHP в проекте и подключаем его:include 'Simple_HTML_DOM.
Список литературы
Список литературы включает в себя книги и интернет-ресурсы по языку php, а также другим языкам программирования и средствам разбора HTML.
4. Получение информации с другого сайта. Законность [Электронный ресурс]: Форумы RSDN, 2012. URL: HTTP ://www.rsdn.ru/forum (Дата обращения: 27.03.14)
5. Языки программирования. Краткий обзор. [Электронный ресурс]: 2013, URL: HTTP ://programma-free.ru/ 2012 (Дата обращения: 5.05.14)
6. Обзор основных языков программирования [Электронный ресурс]: 13 мин. Самый ценный совет, 2013, URL: HTTP ://www.13min.ru/ (Дата обращения: 5.05.14)
7. PHP [Электронный ресурс]: РНР,2013, URL: HTTP ://www.PHP.Net/ (Дата обращения: 28.04.14)
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00347