Оглавление
Введение ………………………………………………………………..… 1–1
Используемые основные технологии и способы
2.1 HTTP API…………………………………………..………….….. 2–1
2.2 Реляционная база данных и SQL ………………….………..……… 2–2
2.3 Стойкость…………………………………………….……………. 2–3
2.4 HTML и CSS……………………………………….……………. 2–4
Презентация и демонстрация проекта……………………………… 3–1
Заключение …………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
Отчет об упражнениях WebDev
Этот отчет основан на моем опросе по отправке упражнений WebDev, а также на просмотре презентации и демонстрационного видео.
- Введение
Упражнение WebDev было упражнением, которое состояло из некоторых основных концепций веб-разработки, которые я изучил в первом семестре второго года обучения в WeThinkCode. Цель упражнения заключалась в закреплении и дальнейшем понимании, а также в реализации основ HTTP API, дизайна реляционной базы данных и SQL, сохраняемости объектов, HTML и CSS.
2. Используемые основные технологии и способы
На протяжении всего этого упражнения я использую ОС Linux с открытым исходным кодом, где я пишу и запускаю код с помощью IntelliJ IDEA. Сюда входят Java, SQLite для базы данных и JDBC (Java DataBase Connectivity) для сохранения базы данных, HTML и CSS, которые использовались в этом упражнении WebDev.
2.1. API-интерфейсы HTTP
- Получение одной задачи обрабатывается запросом GET к уже настроенной конечной точке. Реализован обработчик для извлечения одной задачи по идентификатору из базы данных.
- Ответ HTTP Not Found будет возвращен модифицированным запросом на получение, если задача не была найдена в базе данных.
- Создается новая конечная точка API для добавления новой задачи в базу данных с использованием метода POST. Дескриптор API возвращает код ответа «Создано», а также устанавливает заголовок местоположения в ответе на идентификатор задачи, где идентификатор — это идентификатор вновь добавленной задачи.
- Дублирование задач предотвращается путем модификации обработчика задач для возврата ответа HTTP «Bad Request», если задача уже существует в базе данных.
- Все действия будут протестированы на основе уже готового набора тестов для HTTP API.
2.2 Дизайн реляционной базы данных и SQL
- Для хранения жанров книг создается таблица Жанры, состоящая из столбцов: код и описание.
- Связанная таблица с именем Books, содержащая атрибуты: Id, где «id» — это уникально сгенерированное число для идентификации книги; Заголовок, где «заголовок» — название книги; Жанр, где хранится ссылка на жанр книги, создается для хранения данных о книгах.
- Файлы с именами insert_genres.sql и insert_books.sql создаются для вставки 3 строк в каждую таблицу для жанров и книг соответственно.
- Файлы создаются для поиска с помощью кода SQLite строк в таблице «Книги и жанры», каждый из которых содержит код для поиска указанных элементов в обеих таблицах.
- Все действия будут протестированы на основе уже готового набора тестов для базы данных.
2.3. Постоянство
- SQLite используется в качестве базы данных для этого упражнения.
- Код JDBC с использованием «подготовленных операторов» используется для создания таблиц «Жанры» и «Книги» соответственно так же, как и в пункте 2.2.
- Класс Dataloader, содержащий две коллекции, одна из которых представляет собой карту объектов «Жанр», а другая — список объектов «Книга». Затем объекты в этих коллекциях сохраняются в соответствующих таблицах.
- Запросы, упомянутые и созданные в пункте 2.2. повторно используются для выполнения с использованием JDBC «PreparedStatement» для извлечения данных из базы данных. Затем набор результатов для каждого запроса преобразуется в соответствующий объект.
- Все действия будут проверены на уже готовом наборе тестов для Persistence.
2.4. HTML и CSS
- Веб-страница с именем «ts_and_cs.html» была создана, а затем сохранена в каталоге resources/html, содержащей:
— — — — — Заголовок «Условия использования»
— — — — — Основной заголовок «Наши условия».
— — — — — И, наконец, список условий под основным заголовком.
- Была создана веб-страница с именем «register.html», которая регистрирует нового пользователя для онлайн-сервиса, содержащая:
— — — — — Название «Регистрация нового пользователя»
— — — — — Основная рубрика «Регистрация нового пользователя»
— — — — — Форма с полями, требующими от пользователя ввода своих данных
— — — — — И текст «Прочитайте наши Условия и положения» , где слова «Условия и положения» — это ссылка, которая перенаправляет вас на страницу ts_and_cs.html.
- В файле register.html включена директива заголовка HTML, которая загружает таблицу стилей CSS «css/normalise.css». Новый файл CSS main.css с кодом, который определяет стиль страницы, создается и связывается с register.html.
- Код в register.html обновлен для использования проверки формы на основе HTML, которая обеспечивает:
— — — — — наличие/требование пароля длиной не менее 8 символов
— — — — — А также наличие хотя бы одной цифры и одной прописной буквы.
- Все действия будут проверены с помощью уже готового набора тестов для HTML и CSS.
3. Презентация и демонстрация проекта
Презентация и демонстрация этого упражнения охватывают процесс, в котором я приблизился к критериям, которые были даны мне для стандарта, на котором предполагается выполнение упражнения.
Во время презентации я немного освещаю предысторию и некоторые ключевые моменты по теме / пункту, которые я собираюсь продемонстрировать. С некоторым пониманием некоторых исследований я сделал скриншоты частей кода, которые имели отношение к демонстрационным точкам, которые я должен был охватить, а также добавил точки соответствующей информации, которая касается процесса/цели этих фрагментов кода внутри нашего приложения. .
Во время демонстрации я просматриваю код, скриншоты которого я сделал, показываю их релевантность с точки зрения заданных критериев. А также рассмотреть, как они работают и насколько хорошо они функционируют, учитывая, что они должны были достичь/дать определенный результат, основанный на процессе, который они используют (функциональность кода) для достижения этого. Я расскажу о разных частях кода, которые работают вместе, и о преимуществах использования разных функций для получения одного и того же результата.
4. Заключение
После выполнения этого упражнения и его презентации/демонстрации мое понимание процессов, связанных с созданием веб-приложения, значительно расширилось.
Охватывая базы данных, HTTP API, а также HTML и CSS, проект позволил мне подтвердить и развить свои навыки в каждом разделе и увидеть возможности для совершенствования. Теперь я могу знать, какие инструменты и технологии я могу использовать, исходя из их удобства использования и совместимости с требованиями того, над чем я могу работать.
Следуя предоставленному плану тестирования, я смог выполнить это упражнение, убедившись, что каждый раздел учитывается и работает должным образом.