Категория:Технологии программирования (10 семестр): различия между версиями
ILobster (обсуждение | вклад) м (→Лабораторные работы: готовые работы в отдельном разделе) |
|||
Строка 16: | Строка 16: | ||
Сдача лабораторных (и курсовой) происходит по принципу "чем раньше - тем проще". В начале вообще по коду ничего отвечать не надо и нет дополнительных заданий. Но начиная где-то с мая сдать станет ощутимо сложнее. | Сдача лабораторных (и курсовой) происходит по принципу "чем раньше - тем проще". В начале вообще по коду ничего отвечать не надо и нет дополнительных заданий. Но начиная где-то с мая сдать станет ощутимо сложнее. | ||
=== Лабораторная работа №1 === | === Лабораторная работа №1 === | ||
Строка 34: | Строка 32: | ||
* [http://docs.oracle.com/javase/6/docs/api/java/net/package-summary.html#package_description работа с сетью]; | * [http://docs.oracle.com/javase/6/docs/api/java/net/package-summary.html#package_description работа с сетью]; | ||
* [http://docs.oracle.com/javase/tutorial/collections/index.html контейнерные классы]. | * [http://docs.oracle.com/javase/tutorial/collections/index.html контейнерные классы]. | ||
=== Лабораторная работа №2 === | === Лабораторная работа №2 === | ||
Строка 63: | Строка 54: | ||
** [http://docs.oracle.com/javase/tutorial/essential/concurrency/highlevel.html синхронизация потоков] (чтобы не писать свой велосипед); | ** [http://docs.oracle.com/javase/tutorial/essential/concurrency/highlevel.html синхронизация потоков] (чтобы не писать свой велосипед); | ||
* [http://www.rsdn.ru/forum/java/3622844.1 вопросы для самоконтроля]. | * [http://www.rsdn.ru/forum/java/3622844.1 вопросы для самоконтроля]. | ||
=== Лабораторная работа №3 === | === Лабораторная работа №3 === | ||
Строка 92: | Строка 76: | ||
Если решите делать на [http://ru.wikipedia.org/wiki/SOAP SOAP] - передумайте обратно. [[Тарнакин А.О. | Тарнакин]] и все правильные чуваки не одобряют. | Если решите делать на [http://ru.wikipedia.org/wiki/SOAP SOAP] - передумайте обратно. [[Тарнакин А.О. | Тарнакин]] и все правильные чуваки не одобряют. | ||
=== Готовые лабораторные работы === | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ Готовые работы | |+ Готовые работы | ||
! Год !! Описание !! Ссылка | ! Год !! Вариант исполнения !! Работа !! Описание !! Ссылка | ||
|- align="center" | |||
| 2013 || 1 || ЛР №1 || сбор только русских слов через RegExp<br>Notepad++, командная строка || [http://yadi.sk/d/14F6O7jx2vpNM загрузить] | |||
|- align="center" | |||
| 2013 || 1 || ЛР №2 || СУБД PostgreSQL (схема БД есть), настройки из config.ini<br>NetBeans. Многопоточность как бы есть, но на самом деле - нет. || [http://yadi.sk/d/IdpS3C923i3UW загрузить] | |||
|- align="center" | |||
| 2013 || 1 || ЛР №3 || СУБД PostgreSQL (схема БД из ЛР №2)<br>NetBeans, Apache Tomcat || [http://yadi.sk/d/aY4qsjlT2wi6I загрузить] | |||
|- align="center" | |- align="center" | ||
| 2013 || | | 2013 || 2 || все || - || [https://github.com/zhukovRoman/Java github] | ||
|} | |} | ||
Версия от 14:34, 4 апреля 2013
|
Технологии программирования. А конкретно - 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 |
Курсовая работа
Страница курсовой работы находится здесь.
Экзамен
Литература
- Хорстман, Корнел - "Java 2";
- Википедия.
Эта категория в данный момент пуста.