Название поля | Значение |
---|---|
Host | ec2-54-247-78-30.eu-west-1.compute.amazonaws.com |
Port | 5432 |
User | xgelkpgtivsuvf |
Password | facd5537e5c673703e283c3a3728b73da206fbb123cef8bf310d2bee7d7c6202 |
DataBase | d91lfd343lpk2a |
URL | jdbc:postgresql://ec2-54-247-78-30.eu-west-1.compute.amazonaws.com:5432/d91lfd343lpk2a |
##13.10.2020
- Регулярные выражения
- w3schools examples
- regular expressions UI
- Не бойтесь регулярных выражений. Regex за 20 минут!
- Regular expressions in Java - Tutorial
- Реализовать функционал: При обращении по GET запросу
someurl:port/regexp/dog/name/a
Возвращать страницу, на которой перечисленны имена всех собак из БД, у которых есть хотя бы однаа
в имени + общая длинна имени 5-10 символов + отсутсвуют цифры в имени.
#29.09.2020
- Константы
- Рефакторинг: извлечение метода.
- How To Declare a Constant in Java
- Замена магического числа символьной константой
- Длинный метод
- Извлечение метода
Рефакторинг 2-3 методов проекта.
- Getter/Setter
- Reflection
- StringBuilder
- HTML table
Предыдущую домашку
- Comparator, Comparable interfaces
- TreeSet
- Comparator, Comparable interfaces from metanit
- Comparator, Comparable interfaces from JavaRush
- Бинарное дерево. Факультативно
- Реализовать поведение: При общании по
.../dog/names/sortByNameAsc
выводить список всех имен собак из БД, отсортированный по алфавиту. - Реализовать поведение: При общании по
.../dog/sortByIdDesc
выводить список всех собак из БД, отсортированный по id в обратном порядке - Реализовать поведение: При общании по
.../dog/sortByStatus
выводить список всех собак из БД, отсортированный по статусу. - Реализовать поведение: При общании по
.../dog/sortByNameStatus
выводить список всех собак из БД, отсортированный по имени, а если имена совпадают, то по статусу.
- Inner classes
- Anonymous classes
- Порядок действий при создании объекта
- static keyword
- Полиморфизм
- Обновить свою ветку запустить
- Посмотреть на com.example.shelter.example.PolymorphismExample.
- Наследование
- Небольшое видео о наследовании
- Общая статья
- Разные способы наследования с примерами
- Правила наследования
- Инкапсуляция
- Пару слов о сериализации
- Небольшое видео об инкапсуляции
- getters/setters
- Более общая статья с примерами
- Факультативно сериализация
Сделали приложение, которое можно запустить в браузере http://localhost:7000/
- Javelin documentation
- Javelin example
- Javelin передача параметров в строке браузера
- Функциональный интерфейс
- При вызове
/dogs/full
возвращать всю информацию обо всех собаказ из БД - При вызове
/statuses
возвращать список всех возможных статусов для собак(не ходить в БД) - При вызове строки
/statuses/{статус какой-то из DogStatus}
- выводить список собак с таким статусом. Постараться создать новый Handler - При вызове строки
/statuses/statistics
вывести строку в которой перечисленны все статусы DogStatus в формате"статус такой-то" used "столько-то раз;......"
Вспомнили и применили на практике интерфейсы.
- Правила именования переменных, констант, классов, интерфейсов, перечислений, пакетов в Java
- Интерфейсы
- What is Interface in Java with Example
- Создать класс в пакете com.example.shelter.db.dogs.update
- Имплементировать интерфейс DogUpdateDataAccess для созданного класса
- Реализовать методы
- Реализовали возможность добавлять данные в БД. Statement/Prepared statement
реализовать и проверить метод com.example.shelter.db.DogInsertDataAccess.addNewDogs(List dogs)
- Собрали и запустили проект используя Gradle.
- JDBC
- Получили данные из внешней БД
- JDBC или с чего всё начинается
- Факультативно Инструменты для сборки проекта, включая абзац про Gradle
Собрать и запустить проект коммандой dog-shelter-example:tasks:application:run
Реализовать методы:
ShelterDataAccess.getAllDogNames()
ShelterDataAccess.getUniqueDogNames()
ShelterDataAccess.getAllDogs()
Отвели ветки от master branch. Попробовали merge.
- https://www.jetbrains.com/help/idea/apply-changes-from-one-branch-to-another.html Только про merge
- https://www.jetbrains.com/help/idea/resolving-conflicts.html Resolve conflicts
- Создать именную ветку от master branch, если такой еще нет. Сделать merge master branch в свою локальную ветку, если ветка была.
- Дополнительно: Добавить новое поле в объект Dog, - дата появления(java.time.LocalDateTime), статус('Принят', 'Не принят', 'Выписан'). Переопределить метод toString с учетом этого поля. Заполнять поле из консоли или если пользователь не заполняет значения - сохранять текущее время ( https://www.baeldung.com/java-8-date-time-intro ) ( https://www.javatpoint.com/java-localdate )
- Дополнительно: Добавить новое поле в объект Dog - статус('Принят', 'Не принят', 'Выписан'). Переопределить метод toString с учетом этого поля. Заполнять поле из консоли или если пользователь не заполняет значения - сохранить статус 'Принят'. Статус может быть как строкой, так и структурой данных Enum. Подробнее об Enum: ( https://www.youtube.com/watch?v=GOzNp1YAm5w ) ( https://www.baeldung.com/a-guide-to-java-enums)