Категория:Технологии программирования (10 семестр)
|
Технологии программирования. А конкретно - Java.
Лекции
За явкой следить не будут. Вики-конспектов не будет, потому что лекции даются не для конспектирования. Весь материал тут.
Лабораторные работы
Всего 3 лабораторных.
Выполняются на языке Java. ПО для разработки можно загрузить здесь. Необходимы JRE
и JDK
. В качестве IDE
вполне хватит NetBeans
. Сервером приложений лучше выбрать Apache Tomcat
, а не GlassFish
.
Как можно заметить, описания работ даны в очень общем виде, без подробных требований. По этому поводу прямая речь от преподавателя:
Задания умышленно не детализирую, мне интересно посмотреть на ваше творчество.
Сдача лабораторных (и курсовой) происходит по принципу "чем раньше - тем проще". В начале вообще по коду ничего отвечать не надо и нет дополнительных заданий. Но начиная где-то с мая сдать станет ощутимо сложнее.
Лабораторная работа №1
Работа с базовыми классами стандартных пакетов java.io
, java.net
, java.util
.
Задание:
- необходимо получить содержимое web-странички, проиндексировать слова в нём (в содержимом) и результаты сохранить в файл;
- программа должна быть исполнена в виде консольного приложения, позволяющего выбирать адрес web-страницы и имя файла, в который будут сохранены результаты;
- программу необходимо компилировать и запускать без помощи IDE (но сам код можно писать и в IDE).
Ссылки по теме:
- как устроена Java-программа;
- компиляция и запуск из консоли Windows;
- основы ввода/вывода;
- работа с сетью;
- контейнерные классы.
Проникнуться предметной областью поможет эта песня.
Лабораторная работа №2
Выполняется на базе ЛР №1.
Работа с БД, многопоточность, синхронизация, журналирование.
Задание:
- программа должна быть выполнена как многопоточное приложение, использующее
java.util.concurrent
и позволяющее ограничивать загрузку процессора; - индексация каждой странички должна производиться в отдельном потоке, содержимое сохранять в БД тройками вида
слово - частота упоминания на странице - страница
. Найденные на страничке ссылки (href="http://..."
) должны обрабатываться отличным от текущего потоком; - программа должна выполнять поиск по словам и выводить адреса проиндексированных ранее страничек в порядке, пропорциональном частоте появления слова на страничке;
- программа должна писать отладочные сообщения посредством стандартных механизмов SLF4J.
Ссылки по теме:
- драйвера для работы с БД:
- работа с БД;
- многопоточность;
- синхронизация потоков (чтобы не писать свой велосипед);
- вопросы для самоконтроля.
Лабораторная работа №3
Выполняется на базе ЛР №2.
Создание web-сервисов.
Задание:
- программа должна быть выполнена в виде web-приложения, индексирующего в фоновом режиме содержимое страничек, и обрабатывать поисковые запросы посредством REST web-сервиса.
Ссылки по теме:
- архитектура REST;
- RESTful веб-сервисы и Java;
- руководство по работе с RESTful веб-сервисами на Java - перечислены все методы и их параметры;
- пример создания веб-приложения с сервлетом - очень помогает разобраться, только не надо делать оттуда всё подряд. Всё необходимое находится в итерациях 2 и 3, где про сервлет и класс
Database
; - Jersey и документация по Jersey;
- пример создания веб-сервиса с Jersey - используется
Eclipse
; - и ещё один пример веб-службы на Jersey - также используется
Eclipse
; - ещё один пример с Jersey - используется
NetBeans
иTomcat
; - веб-сервис на Maven.
Если решите делать на SOAP - передумайте обратно. Тарнакин и все правильные чуваки не одобряют.
Готовые лабораторные работы
Год | Вариант исполнения | Работа | Описание | Ссылка |
---|---|---|---|---|
2013 | 1 | ЛР №1 | сбор только русских слов через RegExp Notepad++, командная строка |
загрузить |
2013 | 1 | ЛР №2 | СУБД PostgreSQL (схема БД есть), настройки из config.ini NetBeans |
загрузить |
2013 | 1 | ЛР №3 | СУБД PostgreSQL (схема БД из ЛР №2) NetBeans, Apache Tomcat |
загрузить |
2013 | 2 | все | Описание доступно по ссылке | github |
2013 | 3 | все | СУБД PostgreSQL (схема БД прилагается) NetBeans, GlassFish |
загрузить |
2015 | * | все | С 2015 г. Тарнакин выдал новые задания по лабам. Изобретаем свой Google. Задание прилагается. | загрузить |
Курсовая работа
Страница курсовой работы находится здесь.
Экзамен
Автоматов нет. Пропуски лекций не влияют ни на что. Сроки сдачи лабораторных и курсовой не влияют ни на что, даже если вы всё сделали ещё в первый месяц семестра (задротам очень припечёт). Никаких привелегированных списков нет, все сдают одинаково: и ботаны, и нормальные люди.
Списать легко, и Тарнакин знает, что почти все списывают. Но при ответе нужно разбираться в том, что ты списал, иначе оценка будет удручающая.
В билете два теоретических вопроса. Задач / практики нет.
Загрузки:
- вопросы к экзамену
- ответы на вопросы (передаются от потока к потоку, есть косяки, Тарнакин про них знает)
Литература
- Хорстман, Корнел - "Java 2";
- Википедия.
Эта категория в данный момент пуста.