Обзор моей пятой по седьмую неделю в буткемпе Northcoders.
В этом блоке мы узнали, как создать http-сервер с помощью встроенной библиотеки Node, а также узнали, как создать его с помощью приложения express и Node.js.
Создание сервера меня очень увлекло, в течение нескольких часов мы делали запросы к нашим серверам и просматривали их через бессонницу. Затем мы использовали эти знания о Restful API для использования express.js, с которым было намного проще работать.
Одна вещь, которая была поистине монументальной для моего собственного пути обучения, произошла во время бэкэнд-недель. Мы узнали о шаблоне Model View Controller (MVC). MVC – это архитектурный шаблон, разделяющий приложение на три основные части. Модель, представление и контроллер. Таким образом, обеспечивается «разделение интересов».
Модель: управляет данными и логикой.
Представление: обрабатывает макет и отображение.
Контроллер: направляет команды в модель и представление.
Пользователь использует Контроллер, который манипулирует Моделью, которая обновляет представление, которое увидит пользователь.
Если вы впервые слышите о MVC, здесь — небольшое дополнительное чтение с удобной диаграммой.
В конце первой недели мы познакомились с базами данных на языке структурированных запросов (SQL), которые мы будем использовать PostgreSQL. В этот момент мне очень понравился раздел Backend на буткемпе, он был структурирован, были правила, все казалось немного яснее, пока вы могли засеять свои данные и сбросить правильную базу данных.
Теперь мы знаем, как выполнять GET, POST, PATCH и DELETE, отлавливая ошибки и избегая инъекций SQL, которые нам нужно протестировать. До этой части курса мы использовали модульное тестирование. Теперь мы будем изучать интеграционное тестирование, интеграционный тест делает запрос к серверу и проверяет правильность ответа. Для нашего интеграционного тестирования мы использовали Supertest.
Это был ошеломляющий сдвиг мышления. Мне очень повезло быть частью замечательной когорты, которая действительно сплотилась в этот момент, мы все чувствовали, что темп набирает обороты, и каждый из нас полагался друг на друга в плане моральной поддержки и помощи друг другу.
Кульминацией блока бэкенда стало использование этих знаний для создания работающего бэкенда проекта, дополненного тестированием. Затем бэкэнд-база данных PSQL будет размещена на героку с экспресс-сервером. Это будет мой первый раз, когда я размещаю свою работу.