Skip to content

Latest commit

 

History

History
161 lines (126 loc) · 7.35 KB

README.md

File metadata and controls

161 lines (126 loc) · 7.35 KB

Prog.kiev.ua

Java PRO, Homework

<- Java OOP | Final Project ->

Занятие 1. Reflection & Annotations

Создать аннотацию, которая принимает параметры для метода. Написать код, который вызовет метод, помеченный этой аннотацией, и передаст параметры аннотации в вызываемый метод.

class SomeClass {
    
    @Test(a = 2, b = 5)
    public void test(int a, int b) {
        // code
    }
}

Написать класс TextContainer, который содержит в себе строку. С помощью механизма аннотаций указать

  1. в какой файл должен сохраниться текст;
  2. метод, который выполнит сохранение.

Написать класс Saver, который сохранит поле класса TextContainer в указанный файл.

@SaveTo(path = "c:\\file.txt")
class Container {
    
    String text = "...";
    
    @Saver
    public void save(/*...*/) {
        // code
    }
}

Написать код, который сериализирует и десериализирует в/из файла все значения полей класса, которые отмечены аннотацией @Save.


Занятие 2. XML & JSON

Есть список поездов, представленный с виде XML. Вывести на экран информацию о тех поездах, которые отправляются сегодня с 15:00 до 19:00.

<?xml version="1.0" encoding="UTF-8"?>
<trains>
    <train id="1">
        <from>Kyiv</from>
        <to>Donetsk</to>
        <date>19.12.2013</date>
        <departure>15:05</departure>
    </train>
    <train id="2">
        <from>Lviv</from>
        <to>Donetsk</to>
        <date>19.12.2013</date>
        <departure>19:05</departure>
    </train>
</trains>

Написать код для добавления новых поездов в существующий XML.

Распарсить следующую структуру данных:

{
    "name": "...",
    "surname": "...",
    "phones": ["044-256-78-90", "066-123-45-67", "..."],
    "sites": ["http://site1.com", "http://site2.com", "..."],
    "address": {
        "country": "...",
        "city": "...",
        "street": "..."
    }
}

Написать парсер для Yahoo Finance в режиме XML (format = xml).


Занятие 4. Java EE

Создать проект «Анкета». Сделать возможность ввода пользователем его имени, фамилии, возраста и ответов на 2-3 вопроса. Данные должны отправляться на сервер, который в ответ должен вернуть статистику по ответам в виде HTML документа.


Занятие 6. БД и SQL

Спроектировать базу «Квартиры». Каждая запись в базе содержит данные о квартире (район, адрес, площадь, кол. комнат, цена). Сделать возможность выборки квартир из списка по параметрам.

Создать проект «База данных заказов». Создать таблицы «Товары» , «Клиенты» и «Заказы». Написать код для добавления новых клиентов, товаров и оформления заказов.


Занятие 7. JPA / Hibernate

Создать таблицу «Меню в ресторане». Колонки: название блюда, его стоимость, вес, наличие скидки. Написать код для добавления записей в таблицу и их выборки по критериям «стоимость от-до», «только со скидкой», выбрать набор блюд так, чтобы их суммарный вес был не более 1 КГ.

Создать базу данных «Банк» с таблицами «Пользователи», «Транзакции», «Счета» и «Курсы валют». Счет бывает 3-х видов: USD, EUR, UAH. Написать запросы для пополнения счета в нужной валюте, перевода средств с одного счета на другой, конвертации валюты по курсу в рамках счетов одного пользователя. Написать запрос для получения суммарных средств на счету одного пользователя в UAH (расчет по курсу).


Занятие 8. Spring MVC

Сделать кнопку при нажатии на которую выведется список всех загруженных фотографий с их id.

Сделать возможность выбрать из списка часть фото и удалить одним нажатием на кнопку.

Решить задачу про архиватор с помощью Spring MVC.


<- Java OOP | Final Project ->

Yurii Salimov (yuriy.alex.salimov@gmail.com)