Repository for sberbank school exercises
https://github.com/kostyawhite/sberschool/tree/master/src/ru/sber/e1
- Создать репозиторий (на любом сервисе: git,bitbucket)
- Сделать Initial Commit
- Создать maven проект
- Добавить зависимость логгера slf4j
- Создать простую программу, которая формирует последовательность чисел Фибоначчи. Количество чисел определяется аргументом командной строки.
- Вывести каждый элемент на экран.
- Перед завершением программы вывести на экран длительность работы программы в лог уровня INFO
https://github.com/kostyawhite/sberschool/tree/master/src/ru/sber/e2
Имеется набор устройств Device. Каждый device имеет id (Integer), name (String), набор компонентов Component и status (для статуса устройства предусмотрено три значения: normal, warning, error).
Component имеет id (Integer), name, status (Boolean). Status true означает что компонент работает исправно, а false – что компонент сломан.
Нужно хранить в какой-либо структуре данных набор всех устройств (Device) системы, должна быть возможность получить все данные об устройстве по его Id. В систему на вход поступает набор событий Event. События могут быть разных типов ErrorEvent, RestoreEvent.
ErrorEvent содержит поля: Integer deviceId Integer componentId
RestoreEvent содержит поля: Integer deviceId Integer componentId
Считать, что на вход подается очередь сообщений Event. Программа обрабатывает каждое сообщение из этой очереди последовательно. Событие ErrorEvent говорит о том что компонент componentId у устройства deviceId сломался. Событие RestoreEvent говорит о том что компонент componentId у устройства deviceId восстановил свою работу.
Если все компоненты устройства работают, устройство в статусе Normal. Если хотя бы одна компонента устройства не работает, устройство в статусе Warning. Если более половины компонент устройства не работает, устройство в статусе Error.
При изменении состояния устройства (Device) нужно написать в лог следующее “Устройство id = ?, name = ? изменило свое состояние на ?”.
- Реализовать клонирование объекта через сериализацию. Сравнить два объекта на equals и '=='
- Создать 2 исключения (checked и unchecked). Применить в коде.
- Получить класс, объявленный в дженерике любой коллекции через рефлексию.
В рамках одной транзакции произвести комплексное обновление связанных таблиц (обновление двух таблиц) Скачать и установить базу данных на выбор: postgresql , mysql, oracle. Создать несколько таблиц (любых), так, что бы между ними было хотя бы отношение «один ко многим» или «многие ко многим» Написать программу, которая будет подключаться к базе данных и производить чтение-запись(в методе main,например, сделать сохранение, обновление, чтение и удаление). В рамках одной транзакции произвести комплексное обновление связанных таблиц (обновление двух таблиц) Для каждой таблицы должна существовать Entity в вашей программе. Подключение к бд осуществить через Hibernate Конфигурацию подключения вынести в конфигурационный файл, в java коде не хранить конфигурацию. Использовать свойство ddl.auto update для автоматического обновления схемы бд.