В качестве результата пришлите ссылки на ваши GitHub-проекты в личном кабинете студента на сайте netology.ru.
Важно: ознакомьтесь со ссылками, представленными на главной странице репозитория с домашними заданиями.
Важно: если у вас что-то не получилось, то оформляйте Issue по установленным правилам.
- Создайте на вашем компьютере Maven-проект
- Инициализируйте в нём пустой Git-репозиторий
- Добавьте в него готовый файл .gitignore
- Добавьте в этот же каталог остальные необходимые файлы
- Сделайте необходимые коммиты
- Создайте публичный репозиторий на GitHub и свяжите свой локальный репозиторий с удалённым
- Сделайте пуш (удостоверьтесь, что ваш код появился на GitHub)
- Ссылку на ваш проект отправьте в личном кабинете на сайте netology.ru
В рамках лекции мы реализовали практически полноценный In-Memory CRUD (Create Read Update Delete) сервер на базе сервлетов. Этому серверу не хватает двух вещей:
- Причесать код (вынести методы в константы, убрать дублирующийся код)
- Реализовать репозиторий (пока вместо репозитория установлена заглушка)
- Осуществите рефакторинг кода
- Реализуйте репозиторий с учётом того, что методы репозитория могут вызываться конкурентно (т.е. в разных потоках)
Как должен работать save
:
- Если от клиента приходит пост с id = 0, значит это создание нового поста - вы сохраняете его в списке и присваиваете ему новый id (достаточно хранить счётчик с целым числом и увеличивать на 1 при создании каждого нового поста)
- Если от клиента приходит пост с id != 0, значит это сохранение (обновление) существующего поста - вы ищете его в списке по id и обновляете (продумайте самостоятельно, что вы будете делать, если поста с таким id не оказалось: здесь могут быть разные стратегии)
В качестве результата пришлите ссылку на ваш GitHub репозиторий в личном кабинете студента на сайте netology.ru.
Важно: выполнение данного ДЗ не влияет на получение зачёта по ДЗ.
Не всегда удобно "таскать" за собой полноценный Tomcat (скачивать, распаковывать его и т.д.). Достаточно часто используют библиотеку WebApp Runner, ранее (com.github.jsimone webapp-runner).
Встраивание webapp-runner'а в ваш проект позволяет запускать его (проект) следующим образом: java -jar target/dependency/webapp-runner.jar target/<appname>.war
(достаточно удобно для размещения на облачных платформах).
Добавьте в свою сборку скачивание webapp-runner
'а согласно инструкции.
Убедитесь, что сборка проходит и ваш war-файл действительно запускается указанной выше командой.
Реализуйте новую функциональность в ветке feature/webapp-runner
вашего репозитория из предыдущего ДЗ и откройте Pull Request.
В качестве результата пришлите ссылку на ваш Pull Request на GitHub в личном кабинете студента на сайте netology.ru.
После того, как ДЗ будет принято, сделайте merge
для Pull Request'а.