Добавить в корзинуПозвонить
Найти в Дзене
Chris Roylance

Stryfe.online продолжаем ковыряться

Всем привет, я не забросил проект социальной сети, к сожалению на этой неделе было не так много времени на проект, НО пока я ковырялся с функционалом регистрации со стороны сервера я более менее разобрался с tirreno.
Как оказалось, в моем случае формат middleware для всех маршрутов оказался не правильным подходом и что-бы все корректно фиксировалось надо было как раз перед каждым выводом res
Оглавление

Всем привет, я не забросил проект социальной сети, к сожалению на этой неделе было не так много времени на проект, НО пока я ковырялся с функционалом регистрации со стороны сервера я более менее разобрался с tirreno.

Опять Tirreno

Как оказалось, в моем случае формат middleware для всех маршрутов оказался не правильным подходом и что-бы все корректно фиксировалось надо было как раз перед каждым выводом res (компонент от express.Response) как раз описывать вызов для tirreno.

-2

Изначально было вот так, единый middleware для всего. Да не полностью весь функционал, но для частичной фиксации самое то. Но корректней работает все же в следующем формате, который на скрине ниже.

-3

Данный блок кода взят из контроллера регистрации пользователя, т.к. это еще грубо говоря версия 0.0.0, то корректного сбора логов пока нет, потом конечно будет. При такой сборке логов уже все фиксируется корректно.

-4

Сложно подобрать сделать скрин из tirreno, что бы охватывало сразу все что нужно показать. Тут как раз видно, что сам url имеет свое название (подпись Регистрация, а не сам url как это у csrf-токена). Удобно, что можно посмотреть для каждой запроса и коды статусов и отображение все на графике. Но вот из неудобного то, что 4хх ошибки попадают в пул 5хх ошибок. Такой момент не сильно удобен, но все равно удобно отслеживать.

Вернемся к catch из контроллера newUser. Для удобства решил сделать сервис который как раз будет производить регистрацию, т.е. бизнес логику я выношу в отдельные сервисы-классы. В пределах такого класса как раз вся бизнес логика для работы с пользователем. В функции для регистрации как раз сделана с учетом класса ошибки, что почтовый ящик уже существует. Мне показало это более элегантно и удобно в дальнейшем будет обсуживать.

-5

Смена БД

Поковырялся я тут с yugabutedb, postgresql и все же как-то они мне не сильно нравятся на данный момент и больше хочется воспользоваться какой-то NoSQL. Поковырявшись, что сейчас есть, MongoDB я уже использовал, но временами мне не хватает классического SQL и других фишек типа мастер-мастер, автошардирование и тд (во мне говорит не разработчик, а больше админ в такие моменты).

Наткнулся на БД Couchebase. Поковырявшись с ней в целом как раз то, что мне нужно и хотелось в плане масштабирования и управления, и подход классической документоориентированной NoSQL БД. Т.к. проект я только только начинаю и еще не добрался до альфа версии, то думаю перейти на данную СУБД.

С такой СУБД инициализацию данных я пока вынесу на backend, немного не красиво, зато все под рукой.

На этом пока, что все. Надеюсь следующая статья выйдет не с таким большим перерывом)