Skip to content

implemented methods in ArrayStorage #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 139 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
e65ee74
implemented methods in ArrayStorage
VladimirSafronov Nov 18, 2022
0780084
refactored ArrayStorage
VladimirSafronov Nov 20, 2022
156c600
Merge pull request #1
VladimirSafronov Nov 20, 2022
b9d0316
refactored ArrayStorage
VladimirSafronov Nov 20, 2022
6fe11d5
Merge pull request #2
VladimirSafronov Nov 20, 2022
d98f1d0
added structure in project
VladimirSafronov Nov 21, 2022
2a23be5
Merge pull request #3
VladimirSafronov Nov 21, 2022
3bc5012
added a check to the methode save()
VladimirSafronov Nov 21, 2022
5df4eef
Merge pull request #4
VladimirSafronov Nov 21, 2022
24773ec
refactored ArrayStorage and Resume like in lecture
VladimirSafronov Nov 22, 2022
d4db87d
Merge pull request #5
VladimirSafronov Nov 22, 2022
49860ec
added interface Storage
VladimirSafronov Nov 22, 2022
0fdd18b
Merge pull request #6
VladimirSafronov Nov 22, 2022
886a53f
introduced AbstractArrayStorage
VladimirSafronov Nov 22, 2022
bc267d5
Merge pull request #7
VladimirSafronov Nov 22, 2022
eb091e6
deleted getResume from ArrayStorage
VladimirSafronov Nov 22, 2022
3b04830
Merge pull request #8
VladimirSafronov Nov 22, 2022
daed170
ended realization AbstractArrayStorage
VladimirSafronov Nov 22, 2022
2ec7054
Merge pull request #9
VladimirSafronov Nov 22, 2022
927ea3e
created methods save(), delete() in ArrayStorage, SortedArrayStorage
VladimirSafronov Nov 23, 2022
73fdd0e
Merge pull request #10
VladimirSafronov Nov 23, 2022
4fbcbfd
added own Exceptions
VladimirSafronov Nov 24, 2022
8b2d5f6
Merge pull request #11
VladimirSafronov Nov 24, 2022
4fcbcad
added JUnit tests for AbstractArrayStorage
VladimirSafronov Nov 27, 2022
8823378
Merge pull request #12
VladimirSafronov Nov 27, 2022
dec2a32
refactored AbstractArrayStorageTest
VladimirSafronov Nov 27, 2022
15f53f7
Merge pull request #13
VladimirSafronov Nov 27, 2022
a2515a0
created ListStorage, AbstractStorage
VladimirSafronov Nov 28, 2022
0735e66
Merge pull request #14
VladimirSafronov Nov 28, 2022
152f23b
refactored ListStorage
VladimirSafronov Nov 28, 2022
3f51407
Merge pull request #15
VladimirSafronov Nov 28, 2022
ed2c7ca
refactored doSave() in ListStorage
VladimirSafronov Nov 29, 2022
16f1e55
Merge pull request #16
VladimirSafronov Nov 29, 2022
af1e4c3
refactored tests
VladimirSafronov Nov 29, 2022
c82b739
Merge pull request #17
VladimirSafronov Nov 29, 2022
6588d4b
refactored Resume
VladimirSafronov Dec 1, 2022
fd346a6
Merge pull request #18
VladimirSafronov Dec 1, 2022
031d400
refactored Resume[] getAll() to List<Resume> getAllSorted()
VladimirSafronov Dec 4, 2022
1c6066d
Merge pull request #19
VladimirSafronov Dec 4, 2022
762e1ae
created MapUuidStorage
VladimirSafronov Dec 4, 2022
5916eb5
Merge pull request #20
VladimirSafronov Dec 4, 2022
e02c8d9
created MapResumeStorage
VladimirSafronov Dec 4, 2022
878727e
Merge pull request #21
VladimirSafronov Dec 4, 2022
6e01320
did AbstractStorage with generic
VladimirSafronov Dec 4, 2022
3ccc77a
Merge pull request #22
VladimirSafronov Dec 4, 2022
78ce0e5
added logger
VladimirSafronov Dec 5, 2022
fb9dee5
Merge pull request #23
VladimirSafronov Dec 5, 2022
06cdfb0
added enum SectionType in model
VladimirSafronov Dec 7, 2022
408e879
Merge pull request #24
VladimirSafronov Dec 7, 2022
9ba475d
expended Resume
VladimirSafronov Dec 8, 2022
1cb4d39
Merge pull request #25
VladimirSafronov Dec 8, 2022
e36c7d2
created methods to add and remove contact and section
VladimirSafronov Dec 8, 2022
0932f0b
Merge pull request #26
VladimirSafronov Dec 8, 2022
ce75d6b
created ResumeTestData
VladimirSafronov Dec 8, 2022
f056f85
Merge pull request #27
VladimirSafronov Dec 8, 2022
7356595
refactored model
VladimirSafronov Dec 8, 2022
6de5e94
Merge pull request #28
VladimirSafronov Dec 8, 2022
0f29a8f
refactored UML model
VladimirSafronov Dec 9, 2022
a454b39
Merge pull request #29
VladimirSafronov Dec 9, 2022
24a06aa
added picture UML model
VladimirSafronov Dec 9, 2022
461bc05
Merge pull request #30
VladimirSafronov Dec 9, 2022
3acbee4
created DateUtil
VladimirSafronov Dec 9, 2022
2cc94ee
Merge pull request #31
VladimirSafronov Dec 9, 2022
45807bc
practised in MainFile
VladimirSafronov Dec 9, 2022
d32fb93
Merge pull request #32
VladimirSafronov Dec 9, 2022
affa9fa
created AbstractFileStorage
VladimirSafronov Dec 9, 2022
3638190
Merge pull request #33
VladimirSafronov Dec 9, 2022
f0a0cb4
created Position
VladimirSafronov Dec 10, 2022
6b4db7d
Merge pull request #34
VladimirSafronov Dec 10, 2022
39cd171
refactored
VladimirSafronov Dec 10, 2022
959c731
Merge pull request #35
VladimirSafronov Dec 10, 2022
e6fb1ba
added serialization
VladimirSafronov Dec 13, 2022
bc810a7
Merge pull request #36
VladimirSafronov Dec 13, 2022
63cb02a
implemented AbstractPathStorage
VladimirSafronov Dec 15, 2022
657cddb
Merge pull request #37
VladimirSafronov Dec 15, 2022
21e79eb
created interface StreamSerializer
VladimirSafronov Dec 16, 2022
930804d
Merge pull request #38
VladimirSafronov Dec 16, 2022
678f47d
refactored PathStorage
VladimirSafronov Dec 16, 2022
c8f66eb
Merge pull request #39
VladimirSafronov Dec 16, 2022
4bcbca1
created xml serialization
VladimirSafronov Dec 16, 2022
790e288
Merge pull request #40
VladimirSafronov Dec 16, 2022
87aa52d
created Json serialization
VladimirSafronov Dec 23, 2022
d3994ec
Merge pull request #41
VladimirSafronov Dec 23, 2022
d91062c
created DataStreamSerializer
VladimirSafronov Dec 25, 2022
e6e9d5a
Merge pull request #42
VladimirSafronov Dec 25, 2022
08894a1
finished DataStreamSerializer
VladimirSafronov Dec 29, 2022
4de4500
Merge pull request #43
VladimirSafronov Dec 29, 2022
c42d1d3
practised with concurrency
VladimirSafronov Dec 29, 2022
553ffcb
Merge pull request #44
VladimirSafronov Dec 29, 2022
8c7ca95
created few variations of Singleton
VladimirSafronov Dec 30, 2022
6451f9b
Merge pull request #45
VladimirSafronov Dec 30, 2022
327bbea
did deadlock situation
VladimirSafronov Dec 30, 2022
88769f8
Merge pull request #46
VladimirSafronov Dec 30, 2022
a30ed6e
practised with concurrency
VladimirSafronov Jan 1, 2023
5e3c42a
Merge pull request #47
VladimirSafronov Jan 1, 2023
12d0d10
practised with Stream API. Created methods:
VladimirSafronov Jan 2, 2023
a415961
Merge pull request #48
VladimirSafronov Jan 2, 2023
5d92957
init DB
VladimirSafronov Jan 3, 2023
e09d8a7
Merge pull request #49
VladimirSafronov Jan 3, 2023
39b64d1
added properties
VladimirSafronov Jan 6, 2023
17203aa
Merge pull request #50
VladimirSafronov Jan 6, 2023
1fd1654
refactored Config
VladimirSafronov Jan 6, 2023
89f454c
Merge pull request #51
VladimirSafronov Jan 6, 2023
da81323
added SqlStorage
VladimirSafronov Jan 6, 2023
3d8062a
Merge pull request #52
VladimirSafronov Jan 6, 2023
1a83594
did SqlStorage
VladimirSafronov Jan 9, 2023
b022ac8
Merge pull request #53
VladimirSafronov Jan 9, 2023
e7e897f
added SqlStorageTest
VladimirSafronov Jan 9, 2023
8a96c81
Merge pull request #54 from VladimirSafronov/feature
VladimirSafronov Jan 9, 2023
3adbc59
started adding contacts to SqlStorage
VladimirSafronov Jan 9, 2023
74279ca
Merge pull request #55
VladimirSafronov Jan 9, 2023
215ac02
added contacts to SqlStorage
VladimirSafronov Jan 11, 2023
a11e53e
Merge pull request #56
VladimirSafronov Jan 11, 2023
dbad9e9
added web to project
VladimirSafronov Jan 11, 2023
8b61429
Merge pull request #57
VladimirSafronov Jan 11, 2023
1d4cc4a
created ResumeServlet
VladimirSafronov Jan 12, 2023
4793cbb
Merge pull request #58
VladimirSafronov Jan 12, 2023
cae3c04
added Sections in SqlStorage
VladimirSafronov Jan 13, 2023
5e195ca
Merge pull request #59
VladimirSafronov Jan 13, 2023
6a10bcc
made the summary display in a table
VladimirSafronov Jan 14, 2023
8071421
Merge pull request #60
VladimirSafronov Jan 14, 2023
ac348df
added jsp
VladimirSafronov Jan 14, 2023
dad1089
Merge pull request #61
VladimirSafronov Jan 14, 2023
d8be8a3
added fragments to jsp
VladimirSafronov Jan 14, 2023
342e905
Merge pull request #62
VladimirSafronov Jan 14, 2023
91cfc2a
added jstl
VladimirSafronov Jan 16, 2023
eac3fd7
Merge pull request #63
VladimirSafronov Jan 16, 2023
23b5d3d
added view.jsp
VladimirSafronov Jan 16, 2023
cbb7b3a
Merge pull request #64
VladimirSafronov Jan 16, 2023
a4b8843
added edit.jsp
VladimirSafronov Jan 16, 2023
1cb7348
Merge pull request #65
VladimirSafronov Jan 16, 2023
a93f93e
finished with servlet
VladimirSafronov Jan 20, 2023
fca75e1
Merge pull request #66
VladimirSafronov Jan 20, 2023
d7340cd
added "add new resume"
VladimirSafronov Jan 21, 2023
87b76aa
Merge pull request #67
VladimirSafronov Jan 21, 2023
71b1ad9
refactored Objective and Personal in edit.jsp
VladimirSafronov Jan 21, 2023
df0d72c
Merge pull request #68
VladimirSafronov Jan 21, 2023
37393b6
updated README.md
VladimirSafronov Feb 1, 2023
617ee83
Merge pull request #69
VladimirSafronov Feb 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
199 changes: 6 additions & 193 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,202 +1,15 @@
# [Курс BaseJava (обновленный и переработанный)](http://javaops.ru/reg/basejava)

## Разработка web-приложения "База данных резюме"

В данном курсе вы создадите с нуля web-приложение, реализуя разные способы хранения резюме. Проект включает в себя следующее:
- **Технологии:** Java 8, GitHub/Git, JUnit, Logging, GSON, JAXB, SQL, PostgreSQL, Сервлеты, HTML, JSP, JSTL, Tomcat, Maven и многое другое
Проект включает в себя следующее:
- **Технологии:** Java 8, GitHub/Git, JUnit, Logging, GSON, JAXB, SQL, PostgreSQL, Сервлеты, HTML, JSP, JSTL, Tomcat, Maven.
- **Различные способы реализации хранения резюме:**
- в сортированном и не сортированном массиве
- в коллекциях (List, Map)
- в файловой системе:
- с использованием File и Path API
- в стандартной и кастомной сериализации Java
- в формате JSON ([Google Gson](https://en.wikipedia.org/wiki/Gson))
- в формате XML ([JAXB](https://ru.wikipedia.org/wiki/Java_Architecture_for_XML_Binding))
- в реляционной базе [PostgreSQL](https://ru.wikipedia.org/wiki/PostgreSQL)
- в формате JSON
- в формате XML
- в реляционной базе PostgreSQL
- **Установку (деплой) web-приложения:**
- в контейнер сервлетов [Tomcat](https://ru.wikipedia.org/wiki/Apache_Tomcat)
- в облачный сервис [Heroku](https://ru.wikipedia.org/wiki/Heroku)

> Любое знание стоит воспринимать как подобие семантического дерева: убедитесь в том, что понимаете фундаментальные принципы, то есть ствол и крупные ветки, прежде чем лезть в мелкие листья-детали. Иначе последним не на чем будет держаться

— Илон Маск

### Изучите [бесплатный урок](lesson/lesson1.md). В конце урока находится домашнее задание, по которому можно оценить свой уровень готовности к проекту

## Программа курса

#### Занятие 1 (бесплатное)
- Обзор курса и методики обучения
- Подготовка и настройка рабочего окружения
- Подходы, применяемые при разработке ПО
- Обзор инструментов и технологий, используемых Java-разработчиками
- Введение в язык Java: история создания, JDK, JVM, JRE, JIT-компиляция
- Системы управления версиями. Git
- Домашнее задание

#### Занятие 2
- Типы данных
- Введение в объектно-ориентированное программирование
- Принципы ООП
- Классы и объекты
- Классы-обертки
- Модификаторы доступа
- Конструктор
- Структура памяти java-программы: Heap (куча), Stack (стек)
- Пакеты
- Домашнее задание

#### Занятие 3
- Разбор домашнего задания
- Обзор суперкласса Object
- Связь между equals() и hashCode()
- Статические методы и переменные
- Программирование с помощью интерфейсов
- Абстрактные классы
- Сложность алгоритмов
- Паттерн проектирования Template Method
- Домашнее задание

#### Занятие 4
- Разбор домашнего задания
- Конструктор
- Работа со строками: String, StringBuilder, StringBuffer
- String literal pool
- Исключения (Exceptions)
- Ключевые слова: this, super
- Reflection
- Аннотации
- Введение в модульное тестирование. JUnit
- Домашнее задание

#### Занятие 5
- Разбор домашнего задания
- Коллекций. Иерархия классов
- Списки (List)
- Множества (Set)
- Ассоциативные массивы (Map)
- Введение в Iterator
- Домашнее задание

#### Занятие 6
- Разбор домашнего задания
- Паттерн проектирования Iterator
- Autoboxing и Unboxing
- Вложенные классы
- Внутренние классы
- Локальные классы
- Анонимные классы
- Введение в лямбда-выражения
- Функциональный интерфейс
- Домашнее задание

#### Занятие 7
- Разбор домашнего задания
- Дженерики (Generic)
- Введение в логирование. Log4J, Java Logging API
- Паттерн проектирования Singleton
- Перечисления (Enum)
- Объектная модель
- Домашнее задание

#### Занятие 8
- Разбор домашнего задания
- Классы работы с датами: Date, Calendar, TimeZone
- Дата и время в Java 8+
- File API
- Освобождение ресурсов: try-with-resources
- Домашнее задание

#### Занятие 9
- Разбор домашнего задания
- Обзор пакета java.io
- Классы чтения/записи потоков: InputStream и OutputStream
- Паттерн проектирования Decorator
- Классы чтения/записи символов: Reader и Writer
- Сериализация объектов
- Обзор пакета java.nio
- Введение в Java 8+ Stream API
- Домашнее задание

#### Занятие 10
- Разбор домашнего задания
- Паттерн проектирования Strategy
- Работа с XML (JAXB)
- Работа с JSON (GSON)
- Классы чтения/записи примитивных типов: DataInputStream и DataOutputStream
- Домашнее задание

#### Занятие 11
- Многопоточность
- Закон Мура и Амдала
- Потоки. Синхронизация доступа
- Обзор методов класса Object
- Ленивая инициализация
- Java Memory Model
- Deadlock
- Домашнее задание

#### Занятие 12
- Разбор домашнего задания
- Обзор классов java.util.concurrent
- Синхронизаторы
- ThreadLocal-переменные
- Сравнение с обменом (Compare-and-swap)
- Домашнее задание

#### Занятие 13
- Разбор домашнего задания
- Введение в реляционные базы данных
- Язык SQL
- Обзор NoSQL баз данных
- Установка и настройка СУБД PostgreSQL
- Работа с базами данных из IDEA
- Конфигурирование базы данных и каталога хранения
- Подключение базы данных к проекту
- Обзор JDBC-архитектуры
- Домашнее задание

#### Занятие 14
- Разбор домашнего задания
- Операции соединения таблиц. JOIN
- Транзакции
- Требования к транзакциям. ACID
- Уровни изоляции транзакций в SQL
- Установка и настройка контейнера сервлетов Tomcat
- Домашнее задание

#### Занятие 15
- Разбор домашнего задания
- Введение в HTML
- Основы протокола HTTP
- Настройка web.xml
- Деплой web-приложения в Tomcat
- Сервлеты
- Домашнее задание

#### Занятие 16
- Разбор домашнего задания
- Жизненный цикл сервлета
- Создание динамических страниц. JSP
- Расширенные возможности JSP. JSTL
- Redirect и Forward
- CRUD-операции
- Домашнее задание

#### Занятие 17
- Разбор домашнего задания
- Деплой приложения в облачный сервис Heroku
- Загрузка классов в Java. Classloader
- Домашнее задание

## Рекомендуемые книги
- [Яков Файн, "Программирование на Java для начинающих"](http://myflex.org/books/java4kids/java4kids.htm)
- [Книги по Java: от новичка до профессионала](https://proglib.io/p/java-books-2019/)
- [Джошуа Блох, "Java. Эффективное программирование, 3-е издание"](https://www.ozon.ru/context/detail/id/148627191/)
- [Роберт Мартин, "Чистый код"](https://www.ozon.ru/context/detail/id/142429922/)
- [Серия Head First, "Паттерны проектирования"](https://www.ozon.ru/context/detail/id/144233005/)
- [Вайсфельд Мэтт, "Объектно-ориентированный подход"](https://www.ozon.ru/context/detail/id/166375103/?stat=YW5fMQ%3D%3D)

## Ресурсы в сети
- [EduTools плагин от JetBrains для изучения Kotlin, Java, Python, Scala и других языков](http://javaops.ru/view/story/story21#edutools)
- [JetBrains Academy — интерактивный учебный курс по Java](https://www.jetbrains.com/ru-ru/academy/)
- в контейнер сервлетов Tomcat
27 changes: 27 additions & 0 deletions config/init_db.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
create table resume
(
uuid char(36) primary key not null,
full_name text not null
);

create table contact
(
id serial,
resume_uuid char(36) not null references resume (uuid) on delete cascade,
type text not null,
value text not null
);

create unique index contact_uuid_type_index
on contact (resume_uuid, type);

create table section
(
id serial primary key,
resume_uuid char(36) not null references resume (uuid) on delete cascade,
type text not null,
value text not null
);

create unique index section_idx
on section (resume_uuid, type);
4 changes: 4 additions & 0 deletions config/populate.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
INSERT INTO resume (uuid, full_name) VALUES
('9ae5ec0a-5255-4885-9867-660ed5a57e1b', 'Name1'),
('d7e81904-29f4-462e-ae33-6f89f2b365bb', 'Name2'),
('d487ad02-280e-488a-b25d-ac45f1686728', 'Name3');
4 changes: 4 additions & 0 deletions config/resumes.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
storage.dir=/Users/vladimirsafronov/Desktop/java/projects/basejava/storage
db.url=jdbc:postgresql://localhost:5433/resumes
db.user=postgres
db.password=admin
12 changes: 6 additions & 6 deletions lesson/lesson1.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@

![Screenshot_5](https://user-images.githubusercontent.com/29703461/199550057-fce7cf3c-7040-422f-b490-7b85b47ae952.png)

- Реализуйте методы `save, get, delete, clear, getAll, size` в классе `ArrayStorage`, организовав хранение резюме в массиве
- Реализуйте методы `save, get, delete, clear, getAll, size` в классе `storage.ru.javawebinar.basejava.ArrayStorage`, организовав хранение резюме в массиве
- Храните все резюме в начале `storage` (без пустот в виде `null`), чтобы не перебирать каждый раз все 10_000 элементов
- При реализации метода `delete` учитывайте, что после удаления резюме между оставшимися резюме не должно быть пустых ячеек, заполненных null
```
Expand All @@ -76,7 +76,7 @@ r1, r2, r3,..., rn, null, null,..., null
<----- size ----->
<------- storage.length (10000) ------->
```
- Проверьте вашу реализацию с помощью классов `MainArray.main()` и `MainTestArrayStorage.main()`
- Проверьте вашу реализацию с помощью классов `ru.javawebinar.basejava.MainArray.main()` и `ru.javawebinar.basejava.MainTestArrayStorage.main()`
- Изучите дополнительные материалы по IntelliJ IDEA:
- [Idea Wiki](https://github.com/JavaOPs/topjava/wiki/IDEA)
- [Отладка Java кода в IDEA. Основные возможности отладчика](https://youtu.be/Z1BQsf0A4xY)
Expand All @@ -95,11 +95,11 @@ r1, r2, r3,..., rn, null, null,..., null
1. Перед каждым коммитом не забывайте пользоваться сочетанием клавиш `Ctrl + Alt + L` (автоматическое форматирование кода)
1. Удаляйте в классах неиспользуемые импорты (`Ctrl + Alt + O`)
1. Не игнорируй подсказки IDEA (подсвечивает)
1. В методе `clear()` обнуление массива предполагает обнуление (null) ячеек, где хранятся Resume, а не создание нового или присваивание ему null
1. В методе `clear()` обнуление массива предполагает обнуление (null) ячеек, где хранятся model.ru.javawebinar.basejava.Resume, а не создание нового или присваивание ему null
1. При реализации методов не используйте коллекции
1. Не меняйте сигнатуры методов в `ArrayStorage`
1. Не добавляйте в `Resume` новые поля
1. Resume r — давайте переменным осмысленные имена, например resume. r допустимо в коротких циклах и лямбда-выражениях
1. Не меняйте сигнатуры методов в `storage.ru.javawebinar.basejava.ArrayStorage`
1. Не добавляйте в `model.ru.javawebinar.basejava.Resume` новые поля
1. model.ru.javawebinar.basejava.Resume r — давайте переменным осмысленные имена, например resume. r допустимо в коротких циклах и лямбда-выражениях

## ![video](https://cloud.githubusercontent.com/assets/13649199/13672715/06dbc6ce-e6e7-11e5-81a9-04fbddb9e488.png) 5. [Вебинар "Быть программистом: от детства к зрелости"](https://www.youtube.com/watch?v=D5Hej0TyLaU)
- [Слайды вебинара](https://docs.google.com/presentation/d/1YwtCCZsaGMdl-V15kTDHiJxiS52IAl-qqheNPpiNr54/)
Expand Down
Binary file added lib/apiguardian-api-1.1.2.jar
Binary file not shown.
Binary file added lib/gson-2.7.jar
Binary file not shown.
Binary file added lib/hamcrest-core-1.3.jar
Binary file not shown.
Binary file added lib/javax.servlet-api-4.0.1.jar
Binary file not shown.
Binary file added lib/javax.servlet.jsp-api-2.3.3.jar
Binary file not shown.
Binary file added lib/jstl-1.2.jar
Binary file not shown.
Binary file added lib/junit-4.13.1.jar
Binary file not shown.
Binary file added lib/junit-jupiter-5.8.1.jar
Binary file not shown.
Binary file added lib/junit-jupiter-api-5.8.1.jar
Binary file not shown.
Binary file added lib/junit-jupiter-engine-5.8.1.jar
Binary file not shown.
Binary file added lib/junit-jupiter-params-5.8.1.jar
Binary file not shown.
Binary file added lib/junit-platform-commons-1.8.1.jar
Binary file not shown.
Binary file added lib/junit-platform-engine-1.8.1.jar
Binary file not shown.
Binary file added lib/opentest4j-1.2.0.jar
Binary file not shown.
Binary file added lib/postgresql-42.2.1.jar
Binary file not shown.
1 change: 1 addition & 0 deletions model.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="app.diagrams.net" modified="2022-12-09T06:58:18.030Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15" version="20.6.0" etag="OlQaYTFUikU4wH3BIYfM" type="device"><diagram id="rSLFevEyCnjz86I8jYHH" name="Страница 1">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</diagram></mxfile>
Binary file added modelUML.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 0 additions & 30 deletions src/ArrayStorage.java

This file was deleted.

Loading