Категория:Технологии программирования (10 семестр): различия между версиями
Перейти к навигации
Перейти к поиску
ILobster (обсуждение | вклад) мНет описания правки |
ILobster (обсуждение | вклад) (→Лабораторные работы: задание и ссылки) |
||
Строка 10: | Строка 10: | ||
Всего 3 лабораторных. | Всего 3 лабораторных. | ||
Выполняются на языке Java. ПО для разработки можно загрузить [http://www.oracle.com/technetwork/java/javase/downloads/index.html здесь]. | |||
=== Лабораторная работа №1 === | |||
Работа с базовыми классами стандартных пакетов <code>java.io</code>, <code>java.net</code>, <code>java.util</code>. | |||
Задание: | |||
* необходимо получить содержимое web-странички, проиндексировать слова в нём (в содержимом) и результаты сохранить в файл; | |||
* программа должна быть исполнена в виде консольного приложения, позволяющего выбирать адрес web-страницы и имя файла, в который будут сохранены результаты; | |||
* программу необходимо компилировать и запускать без помощи IDE (но сам код можно писать и в IDE). | |||
Ссылки по теме: | |||
* [http://docs.oracle.com/javase/tutorial/essential/io/ основы ввода/вывода]; | |||
* [http://docs.oracle.com/javase/6/docs/api/java/net/package-summary.html#package_description работа с сетью]; | |||
* [http://docs.oracle.com/javase/tutorial/collections/index.html контейнерные классы]. | |||
=== Лабораторная работа №2 === | |||
Выполняется на базе ЛР №1. | |||
Работа с БД, многопоточность, синхронизация, журналирование. | |||
Задание: | |||
* программа должна быть выполнена как многопоточное приложение, использующее <code>java.util.concurrent</code> и позволяющее ограничивать загрузку процессора; | |||
* индексация каждой странички должна производиться в отдельном потоке, содержимое сохранять в БД тройками вида '''<code>слово - частота упоминания на странице - страница</code>'''. Найденные на страничке ссылки ('''<code><nowiki>href="http://..."</nowiki></code>''') должны обрабатываться отличным от текущего потоком; | |||
* программа должна выполнять поиск по словам и выводить адреса проиндексированных ранее страничек в порядке, пропорциональном частоте появления слова на страничке; | |||
* программа должна писать отладочные сообщения посредством стандартных механизмов [http://ru.wikipedia.org/wiki/Slf4J SLF4J]. | |||
Ссылки по теме: | |||
* драйвера для работы с БД: | |||
** [http://jdbc.postgresql.org/ PostgreSQL]; | |||
** [http://www.mysql.com/products/connector/ MySQL]; | |||
** [http://hsqldb.org/ HyperSQL]; | |||
* [http://en.wikipedia.org/wiki/Java_Database_Connectivity работа с БД]; | |||
* [http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html многопоточность]; | |||
** [http://docs.oracle.com/javase/tutorial/essential/concurrency/highlevel.html синхронизация потоков] (чтобы не писать свой велосипед); | |||
* [http://www.rsdn.ru/forum/java/3622844.1 вопросы для самоконтроля]. | |||
=== Лабораторная работа №3 === | |||
Выполняется на базе ЛР №2. | |||
Создание web-сервисов. | |||
Задание: | |||
* программа должна быть выполнена в виде web-приложения, индексирующего в фоновом режиме содержимое страничек, и обрабатывать поисковые запросы посредством [http://ru.wikipedia.org/wiki/REST REST] web-сервиса. | |||
Ссылки по теме: | |||
* [http://jersey.java.net/use/getting-started.html Jersey]; | |||
** [http://jersey.java.net/nonav/documentation/latest/user-guide.html документация по Jersey]. | |||
== Курсовая работа == | == Курсовая работа == |
Версия от 11:29, 19 февраля 2013
|
Технологии программирования. А конкретно - Java.
Лекции
За явкой следить не будут. Вики-конспектов не будет, потому что лекции даются не для конспектирования. Весь материал тут.
Лабораторные работы
Всего 3 лабораторных.
Выполняются на языке Java. ПО для разработки можно загрузить здесь.
Лабораторная работа №1
Работа с базовыми классами стандартных пакетов java.io
, java.net
, java.util
.
Задание:
- необходимо получить содержимое web-странички, проиндексировать слова в нём (в содержимом) и результаты сохранить в файл;
- программа должна быть исполнена в виде консольного приложения, позволяющего выбирать адрес web-страницы и имя файла, в который будут сохранены результаты;
- программу необходимо компилировать и запускать без помощи IDE (но сам код можно писать и в IDE).
Ссылки по теме:
Лабораторная работа №2
Выполняется на базе ЛР №1.
Работа с БД, многопоточность, синхронизация, журналирование.
Задание:
- программа должна быть выполнена как многопоточное приложение, использующее
java.util.concurrent
и позволяющее ограничивать загрузку процессора; - индексация каждой странички должна производиться в отдельном потоке, содержимое сохранять в БД тройками вида
слово - частота упоминания на странице - страница
. Найденные на страничке ссылки (href="http://..."
) должны обрабатываться отличным от текущего потоком; - программа должна выполнять поиск по словам и выводить адреса проиндексированных ранее страничек в порядке, пропорциональном частоте появления слова на страничке;
- программа должна писать отладочные сообщения посредством стандартных механизмов SLF4J.
Ссылки по теме:
- драйвера для работы с БД:
- работа с БД;
- многопоточность;
- синхронизация потоков (чтобы не писать свой велосипед);
- вопросы для самоконтроля.
Лабораторная работа №3
Выполняется на базе ЛР №2.
Создание web-сервисов.
Задание:
- программа должна быть выполнена в виде web-приложения, индексирующего в фоновом режиме содержимое страничек, и обрабатывать поисковые запросы посредством REST web-сервиса.
Ссылки по теме:
Курсовая работа
Страница курсовой работы находится здесь.
Экзамен
Литература
- Хорстман, Корнел - "Java 2";
- Википедия.
Эта категория в данный момент пуста.