Вариант 11
Содержание |
Создание веб-приложения для поиска информации в сети
Введение
Интернет – это информационное пространство, в котором можно отыскать ответ практически на любой интересующий пользователя вопрос. Это огромная глобальная сеть, в которую как информационные ручейки стекаются потоки более мелких сетей. Любой пользователь, располагающий ПК и соответствующими программами, сможет подключиться к сети, используя её возможности для самых разных целей – проведения досуга, обучения, чтения научных работ, отправки электронной почты и т.д. По различным данным, ещё в 2006 г. количество пользователей интернет достигло миллиарда человек. Сегодня глобальная сеть превращается в важный социальный и политический фактор современного информационного общества. С развитием Интернет-технологий появился новый гигантский источник информационных ресурсов, доступ к которым является не только относительно дешевым, но и очень быстрым.
Поиск в компьютерных сетях становится искусством и требует вполне определённых знаний, которыми современному человеку необходимо овладеть. И для того, чтобы не утонуть во всём изобилии информации необходимо научиться не только её искать, но и находить.
Использованные технологии
Исходя из поставленной задачи, в моей работе было исполь-зовано следующее программное обеспечение и технологии:
- Java Development Kit 1.7
- JavaServer Pages
- JSTL
- Свободная интегрированная среда разработки модульных кроссплатформенных приложений Eclipse.
- В качестве основного языка разработки я выбрал Java EE.
- Фреймворк для автоматизации сборки проектов Apache Maven.
- Система управления базами данных MySQL
- Контейнер сервлетов Apache Tomcat
- Различные паттерны, такие как MVC, Singleton, Command Factory и др.
Java
В этой работе основное внимание будет уделено разработке веб-приложений. В качестве платформы для разработки выбрана Java, т.к. эта технология на данный момент является наиболее развитой, стандартизированной, применяемой на уровне Enterprise и классической (т.е. из нее в основном идут заимствования в других платформах). Она обладает следующими преимуществами:
- Большое сообщество опытных пользователей, программистов, администраторов. Не возникает проблем с поиском интересующей информации.
- Стандартизированность и постоянное развитие через Java Community Process - стандартный процесс, позволяющий заинтересованным сторонам участвовать в разработке будущих версий платформы.
- Большое количество и разнообразие разработанных библиотек.
- Переносимость между различными платформами.
Версия | Полное имя | Дата публикации |
---|---|---|
1.0 | Java 2 Platform Enterprise Edition, v 1.0 | декабрь 1999 |
1.2 | Java 2 Platform Enterprise Edition, v 1.2 | 2000 |
1.2.1 | Java 2 Platform Enterprise Edition, v 1.2.1 | 23 мая 2000 |
1.3 | Java 2 Platform Enterprise Edition, v 1.3 | 24 сентября 2001 |
1.4 | Java 2 Platform Enterprise Edition, v 1.4 | 24 ноября 2003 |
5.0 | Java Platform, Enterprise Edition, v 5 | 11 мая 2006 |
6.0 | Java Platform, Enterprise Edition, v 6 | 6 декабря 2009 |
7.0 | Java Platform, Enterprise Edition, v 7 | 12 июня 2013 |
Язык Java изначально позиционировался производителем, как язык для Интернет. Технология Java обеспечивает разработчиков основой для создания решений, при разработке которых не нужно задумываться об операционной системе и аппаратной платформе, на которых эти решения будут функционировать. Независимость от платформы достигается за счет того, что уникальные характеристики каждой из поддерживаемых Java 2 платформ, реализованы в виде оболочки, называемой Java Runtime Environment (JRE). Компилятор языка Java преобразует код в последовательность байт-кодов, которая будет выполняться на одной из платформ в рамках JRE.
Тип | Длина (в байтах) | Диапазон или набор значений |
---|---|---|
boolean | 1 в массивах, 4 в переменных[1] | true, false |
byte | 1 | −128..127 |
char | 2 | 0..216−1, или 0..65535 |
short | 2 | −215..215−1, или −32768..32767 |
int | 4 | −231..231−1, или −2147483648..2147483647 |
long | 8 | −263..263−1, или примерно −9.2·1018..9.2·1018 |
float | 4 | -(2-2−23)·2127..(2-2−23)·2127, или примерно −3.4·1038..3.4·1038, а также , , NaN |
double | 8 | -(2-2−52)·21023..(2-2−52)·21023, или примерно −1.8·10308..1.8·10308, а также , , NaN |
Пример. Код на языке программирования Java.
outer: for (int i = 2; i < 1000; i++) { for (int j = 2; j < i; j++) { if (i % j == 0) continue outer; } System.out.println (i); }
Достоинства и недостатки быстрой сортировки
Достоинства:
- Один из самых быстродействующих (на практике) из алгоритмов внутренней сортировки общего назначения.
- Прост в реализации.
- Требует лишь дополнительной памяти для своей работы. (Не улучшенный рекурсивный алгоритм в худшем случае памяти)
- Хорошо сочетается с механизмами кэширования и виртуальной памяти.
- Допускает естественное распараллеливание (сортировка выделенных подмассивов в параллельно выполняющихся подпроцессах).
- Допускает эффективную модификацию для сортировки по нескольким ключам (в частности — алгоритм Седжвика для сортировки строк): благодаря тому, что в процессе разделения автоматически выделяется отрезок элементов, равных опорному, этот отрезок можно сразу же сортировать по следующему ключу.
- Работает на связных списках и других структурах с последовательным доступом, допускающих эффективный проход как от начала к концу, так и от конца к началу.
Недостатки:
- Сильно деградирует по скорости (до ) в худшем или близком к нему случае, что может случиться при неудачных входных данных.
- Прямая реализация в виде функции с двумя рекурсивными вызовами может привести к ошибке переполнения стека, так как в худшем случае ей может потребоваться сделать вложенных рекурсивных вызовов.
- Неустойчив.
График работы
Название глав дипломной работы | Дата начала выполнения | Дата конца выполнения |
---|---|---|
WEB-ПРИЛОЖЕНИЯ | 04.04.2014 | 14.04.2014 |
ПРИНЦИП РАБОТЫ ВЕБ-ПРИЛОЖЕНИЯ SEARCHER | 15.04.2014 | 24.04.2014 |
СТРУКТУРА СЕРВЕРА | 25.04.2014 | 16.05.2014 |
Название глав дипломной работы | Отметка о выполнении |
---|---|
WEB-ПРИЛОЖЕНИЯ | |
ПРИНЦИП РАБОТЫ ВЕБ-ПРИЛОЖЕНИЯ SEARCHER | |
СТРУКТУРА СЕРВЕРА |
Заключение
Мною было создано веб-приложение, позволяющее упростить поиск в сети интернет, комбинирующее возможности трёх крупных поисковых систем и обладающее дополнительным функционалом.
СПИСОК ЛИТЕРАТУРЫ
[1] http://jakarta.apache.org/faq
[2] http://faq.realcoding.net/index.php
[3] http://java.sun.com/j2ee/learning/tutorial/index.html
[4] http://egor.spb.ru/doc/db/mysql/14.html#_ftnref1
[5] http://www.coreservlets.com/Apache-Tomcat-Tutorial/
[6] http://www-ucs.usc.edu/~toms/jakartafaq.html
- ↑ JVM не имеет поддержки для переменных типа boolean, поэтому они представляются в виде значений типа int. Однако массивы boolean[] поддерживаются. VM Spec The Structure of the Java Virtual Machine