Поиск по блогу
29.11.2021
Для работы с JWT-токенами нам потребуется пакет jsonwebtoken, чтобы создавать и проверять токены. Чтобы хэшировать пароли пользователей, а не хранить их в базе данных в открытом виде, нужно установить пакет bcrypt. Реализуем методы контроллера, которые отвечают за регистрацию и авторизацию пользователя.
26.11.2021
Товаров в каталоге может быть много и показывать их все на одной странице — плохая идея. Так что давайте заложим возможность запрашивать только часть товаров. Клиент может добавить GET-параметры limit (количество товаров на странице) и page (товары какой страницы возвращать). Sequelize предоставляет в наше распоряжение…
21.11.2021
Сейчас получилось так, что контроллер выполняет работу модели шаблоне MVC (Model-View-Controller), а моделей у нас и вовсе нет. Давайте исправим это упущение и создадим в директории models файлы моделей Product.js, Category.js, Brand.js и User.js. Модели реализуют бизнес-логику приложения и взаимодействуют с базой данных.
15.11.2021
Хорошо, теперь нам нужно реализовать все методы всех контроллеров, чтобы можно было создавать, обновлять, удалять и получать товары, категории, бренды и пользователей. Здесь нам поможет документация ORM-библиотеки Sequelize и ее методы create, update, save, destroy, reload, findOne, findByPk, findAll.
14.11.2021
Сейчас функции, которые обрабатывают HTTP-запросы от клиента, расположены прямо в роутере. Но это задача контроллера, которых у нас будет несколько — для товаров, категорий, брендов и пользователей. Создаем директорию controllers и внутри нее — файлы Product.js, Category.js, Brand.js и User.js.
12.11.2021
Сервер работает, но если мы попробуем открыть в браузере страницу localhost:7000, то получим ошибку «Cannot GET /». Нужно указать серверу, какие endpoint обрабатывать и что делать при поступлении GET, POST, PUT и DELETE запросов. Так что открываем на редактирование файл index.js…
10.11.2021
Простой интернет-магазин на Node.js (сервер) и React.js (клиент). Данные будем хранить в базе данных PostgreSQL. Для серверной части используем фреймворк Express.js. Приложение не имеет практической ценности, сделано с целью изучения. Создаем директорию проекта shop, внутри нее — еще две директории, server и client.
07.09.2021
Возникла необходимость создавать резервные копии базы данных и директории wp-content — на всякий пожарный случай. И все бы ничего, но при использовании утилиты mysqldump все время вылезало предупреждение «Warning: Using a password on the command line interface can be insecure».
25.08.2021
Давайте еще доработаем наше приложение и добавим маленький блог. Категорий у блога не будет, а постов будет всего два — но для нас этого достаточно. Создадим директорию src/blog и разместим в ней два компонента и контекст (в котором будем хранить посты блога). И посмотрим, как передавать параметры…
23.08.2021
В рамках маршрутов в React можно определять дочерние маршруты. Такие подмаршруты будут отсчитываться от главного маршрута. Давайте добавим в наше приложение маленький каталог товаров, который будет содержать два раздела и четыре товара (по два в каждом разделе).