Оглавление

Введение ………………………………………………………………..… 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, а также на просмотре презентации и демонстрационного видео.

  1. Введение

Упражнение 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, проект позволил мне подтвердить и развить свои навыки в каждом разделе и увидеть возможности для совершенствования. Теперь я могу знать, какие инструменты и технологии я могу использовать, исходя из их удобства использования и совместимости с требованиями того, над чем я могу работать.

Следуя предоставленному плану тестирования, я смог выполнить это упражнение, убедившись, что каждый раздел учитывается и работает должным образом.