События начинают обостряться.

Утро началось с обзора приложения со списком задач, которое мы написали вчера в рамках нашей деятельности по парному программированию. Мы рассмотрели пару реализаций, и было здорово увидеть, как разные люди подошли к задаче.

Затем мы рассмотрели решение для ежедневного проекта пользовательского каталога. Я закончил это вчера и имел возможность представить свой код группе. Это прошло довольно хорошо.

Затем мы перешли к body-parser и express-validator для обработки информации, которую браузер отправляет обратно на сервер. Пара ключевых идей для меня заключалась в том, что body-parser используется в качестве промежуточного программного обеспечения для изменения объекта request, чтобы мы могли легко получать доступ к данным, отправленным из браузера. Это было не так уж плохо, если вы понимаете, как данные кодируются из браузера пользователя, что является прямым результатом того, как был закодирован ваш HTML. Мне пришлось немного поработать над этой логикой, но я довольно хорошо понимаю, что происходит.

express-validator — это способ проверки ввода, который браузер отправляет обратно. Вы можете проверить, присутствует ли определенное количество символов, имеет ли адрес электронной почты допустимый формат и т. д. Пока вы знаете, где находится документация, это было довольно просто. Сначала меня сбило с толку то, что вы на самом деле хотите посмотреть документы для validatorJS, а не для express-validator. Небольшая загвоздка, но не так уж и плоха.

За обедом у нас была презентация карьерных услуг, на которой мы создали доску Trello, где мы можем отслеживать вакансии, на которые мы подаем заявки, и их статус. Также мы посмотрели короткое видео о том, как расшифровывать должностные инструкции.

Днем мы говорили о маршрутах и ​​о том, как они могут управлять сложностью более крупного веб-приложения, разделяя маршруты на разные модули (или файлы). Наш ежедневный проект начинался в 14:00, что было примерно на час позже, чем обычно.

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

Я снова и снова использовал динамический маршрут: /todo/:id или пытался внедрить идентификатор в данные, отправленные в теле запроса.

Мне только что удалось закончить и отправить проект до крайнего срока в 16:00. У меня практически не было стилей, но приложение было функциональным!

Оглядываясь назад, я не уверен, что понимаю, почему мне потребовалось так много времени, чтобы все заработало. Я думаю, что это была комбинация незнания точного синтаксиса и моей нерешительности относительно использования динамических маршрутов. После того, как я отправил проект, я сделал рефакторинг кода и чувствую себя довольно хорошо.

Это был определенно полный день. Домашнее задание этого вечера по промежуточному программному обеспечению и сеансам содержало несколько не совсем понятных примеров кода. Я проработал их все и исправил примеры, чтобы понять, что происходит. В итоге я прочитал документацию по morgan и session, что заняло некоторое время, но я думаю, оно того стоило.

Мне нужно немного поспать в эти выходные. :-)