Категория:Технологии программирования (10 семестр): различия между версиями

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Перейти к навигации Перейти к поиску
мНет описания правки
(→‎Лабораторные работы: задание и ссылки)
Строка 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

Технологии программирования
Преподаватель: Тарнакин А.О.
Лекций: ?
Семинаров: нет
Лабораторных работ: 3
Домашних заданий: ?
Рубежных контролей: ?
Ходить: по желанию
Что сдавать: экзамен

Технологии программирования. А конкретно - 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-сервиса.

Ссылки по теме:

Курсовая работа

Страница курсовой работы находится здесь.

Экзамен

Литература

Эта категория в данный момент пуста.