Сегодняшняя лекция была довольно прямолинейной, но, как и большинство из них до сих пор, она действительно углубила то, что в противном случае казалось бы очень простой концепцией: CRUD (создание, чтение, обновление и удаление), как они применяются в Экспресс для создавать функциональные веб-приложения. После этого мы сразу же вернулись к работе над нашим проектом TinyApp. Это действительно очень весело, честно. Видеть, как концепции, которые мы изучили до сих пор, действительно объединяются, очень приятно; это действительно помогает объединить все навыки и концепции в моей голове.

Мы реализовали операцию DELETE, чтобы пользователь мог удалить с сервера любые сокращенные записи URL, что также означало больше работы с EJS. (EJS позволяет встраивать JavaScript в HTML-код... Я нахожу синтаксис очень неудобным, но конечный результат работает. Просто выглядит странно. Например.

```‹li›‹%= url.shortURL %› — ‹%= url.fullURL %› ‹a href="urls\‹%= url.shortURL %›"›Edit‹/a›```

Части EJS — это <% %>, которые позволяют довольно плавно писать JavaScript в HTML (вещи между простыми <>). Самая сложная часть синтаксиса заключается в том, что <% %> должен идти в каждой строке, в которой у вас есть JavaScript; и на самом деле все в порядке, это просто прерывает нормальный поток ввода, что вызывает разочарование.
После операции DELETE мы также добавили операцию UPDATE, в которой URL-адреса, уже существующие на сервере (и назначенные для перенаправления сокращенного URL-адреса) могут обновить свой веб-адрес, чтобы указать на новый веб-сайт.
Добавление обеих этих операций было довольно простым, но и сложным. По мере того, как мы продвигаемся по проекту, инструкции также становятся более общими на каждом этапе, и по мере продвижения мы все меньше держимся за руки. Это метод обучения, с которым я раньше не сталкивался в «формальной» обстановке курса, и он мне очень нравится!

В 13:00 у меня было запланировано первое из четырех «технических собеседований», которые проходят за 10 недель. Последние два (на 6-й и 8-й неделе, я думаю?) предназначены для практики для реальных технических собеседований, с которыми мы можем столкнуться при подаче заявки на должность, но первые два (на этой неделе и на 4-й неделе) больше подходят для проверки и проверки. оценить наш прогресс. Я хорошо справлялся, и наставник был доволен моим прогрессом. Рекомендации по улучшению, которые он дал мне, в основном сводились к тому, чтобы давать более точные и менее многословные ответы (что было абсолютно точно, потому что мне не хватало уверенности в некоторых из моих ответов, даже в тех, которые были верны).

После «интервью» я начал работать над новыми «функциями» для веб-приложения, которое началось с изучения того, как правильно создать ветку в моем репозитории .git. Я должен признать, что нахожу .git довольно пугающим. Не поймите меня неправильно, я люблю организацию частых коммитов, но я так боюсь, что введу что-то не то в терминал и испорчу весь репозиторий. Оказывается, ветки — и даже слияние их обратно с веткой master — не такая уж страшная вещь, и я бесконечно благодарен за то, что один из моих первых наставников во время курса научил меня git status как можно чаще. Ветвь, которую я создал (и в конечном итоге объединил), заключалась в том, чтобы внедрить файлы cookie в приложение и реализовать их, чтобы разрешить функцию «входа пользователя», а затем, наконец, добавить клиентскую и серверную логику, чтобы пользователь видел только приглашение для входа. если они еще не вошли в систему (в противном случае появится их имя пользователя).

Итак, в конце недели 2, дня 4 у меня есть полуфункциональное веб-приложение, работающее на настроенном мной веб-сервере. Пользователь может войти в систему со своим именем пользователя (в настоящее время необязательно) и может ввести веб-адрес, которому будет присвоен короткий (псевдо)случайный буквенно-цифровой код, который можно использовать для перенаправления на первоначально введенный веб-адрес. Пользователь также может настроить, на какой веб-сайт перенаправляет этот короткий код, а также удалить всю запись с сервера. И их вход в систему будет следовать за ними на всех страницах сайта, пока они не решат выйти из системы (или их файлы cookie не будут сброшены).
Я начал завтрашнюю работу, которая заключается в добавлении опции регистрации, которая предполагает, что пользователь регистрируется со своим адресом электронной почты и выбирает пароль. Есть еще несколько элементов, которые нужно добавить/отрегулировать завтра, а затем нужно просто убедиться, что все работает хорошо, а код не слишком запутан. Он должен быть готов к концу дня в пятницу, и я очень надеюсь, что у меня осталось достаточно времени, чтобы сделать его как можно более полным! (Мы не изучаем дизайн, так что не ожидайте большего, чем минимум!)