Andrew Kiselev
а если user что-то создает, то он получается author
Alex
Alex
и sender
Alex
и еще кучу всяких вариантов
Andrew Kiselev
как никак одна из самых сложных задач в программирование)
Anonymous
actor
Anonymous
👁
Дима
actor
Сразу хочется подрубить акку
Maxim
БД к кторой идут запросы MySql, это бд от CMR
Maxim
я остановился на том, что бы обернуть if else в Promise и вызывать через await
Maxim
будет sql запрос и если валидация проходит, то будет дописываться поле с условием в строку sql запроса
Maxim
Maxim
тоесть будет запрос let sql = 'SELECT ... WHERE'
Maxim
потом sql += await validator(field)
Maxim
и так по всем полям, но некоторые можно объединить в группы
Aleksand
Alexander
Maxim
Мне надо сделать так, что бы проверки разбить на куски что бы не было бокировки потока на время проверок
Anonymous
Anonymous
Вопрос нуба - это допустимый вариант ?
меня смущает чет промис внутри промиса
Anonymous
конечно
Anonymous
но суть промисов в том чтобы этого не делать)
Anonymous
promise1().then(x => promise2(x)).then(y => promise3(y)).then(...)
Ale
Даже лучше: promise1().then(promise2).then(promise3)
Ale
Ну это чтобы продать промисы чувакам, которые их не видели)
Aleksand
Anonymous
а я не знаю как по другому делать ) я так в туторе увидел ) больше нигде не нашел нормальный пример ) это все трудно из дома учить, оторвано от реальной разработки
Anonymous
commentController.sendComment = (req, res, next) => {
const author = req.body.author;
const postId = req.params.id;
let newComment = new Comment();
newComment.author = author;
newComment.postId = postId;
newComment.text = req.body.comment;
newComment.save().then(() => {
Post.findByIdAndUpdate(postId,{$push: {"comments" : newComment._id}})
.then(() => {
res.redirect("/profile/"+req.params.nickname+"/post/"+postId)
}).catch(err => next(err));
}).catch(err => next(err));
};
Anonymous
ааа... я не знаю как правильно это тут вставлять
Sergey
Sergey
да и как бы
че на async/await не переписать?
Sergey
интерполяцию
Sergey
пздц
Anonymous
я не умею на async ) я на просы это кое как переписал по видео
Anonymous
нет пока - я пишу как придет в голову исходя из разных туторов. Я не знаю как правильно писать ) Поэтому я не вижу толка от такого обучения )))
Anonymous
тут вот весь проект
https://github.com/ZackFox/nodeTodoTasks
а тут демо на хероку https://nodetask.herokuapp.com/
(второго пользователя я удалил)
Anonymous
спасиб 😊
Sergey
+
Sergey
npmjs.com/eslint-config-atomix-base
Anonymous
я не знаю как валидацию лучше прикручивать
только на клиенте .. .или и там и там ) у меня сообщения валидации часть выводится на клиенском скрипте, а часть возвращает сервер. Поэтому все придется переписывать если я захочу прикрутить смену локали ) я не знаю как это делать, но мне хотелось бы писать так, будто я в перспективе это приделал бы )
Anonymous
я даже не знаю как вывести в шаблоне отформатираванную дату из mongoDB с русскими месяцами
Anonymous
нет ни одного тутора где бы от начала до конца написали бы проект на продакшен уровне. Везде кустарщину пишут. Никто не возмет на работу с такими знаниями. 😞
Anonymous
лол
Anonymous
👍
Sergey
Evgeny
Круто ты его снёс
Nikita
Хах.
John
я не знаю как валидацию лучше прикручивать
только на клиенте .. .или и там и там ) у меня сообщения валидации часть выводится на клиенском скрипте, а часть возвращает сервер. Поэтому все придется переписывать если я захочу прикрутить смену локали ) я не знаю как это делать, но мне хотелось бы писать так, будто я в перспективе это приделал бы )
Лучше делать только на сервере, а при сабмите кнопки на клиенте, отправлять данные аяксом на сервер, чтобы там эта единственная валидация отработала и вернула json ошибок, если они есть. Клиентская валидация не валидация, а чисто для удобства юзер интерфейса, а этим способом будет и без перезагрузки, и наверняка
Ilya
Привет. Не подскажете, как привильно организовать приложение react + express?
Ilya
Нормально ли собранный фронтенд запихивать в статику?
Nikita
Nikita
Короче, делай валидацию на сервере.
Anonymous
Nikita
Валидация на сервере должна работать полноценно, и рассчитывай только на неё.
John
Nikita
Поверх этого можешь добавить валидацию на клиенте чтобы данные туда-сюда не гонять, но это просто для юзабилити, и сюда скорее подходят формы инпута которые не дают отправить невалидные данные (регулярки, емейлы, телефоны, всё это).
John
На пхп фреймворках такой способ (валидация на сервере, аякс при сабмите, возврат json ошибок) уже из коробки, это удобно и правильно
Nikita
Но рассчитывать на то, что они сработали — нельзя, валидация на сервере должна всё предусматривать и проверять.
Ilya
Привет. Не подскажете, как привильно организовать приложение react + express?
Anonymous
просто я хотел чтобы до отправки всей формы отобразилось, естьли уже в базе такие email и nickname
Sergey
Ilya
Нормально ли собранный фронтенд запихивать в статику?
Nikita
Nikita
валидация должна осуществляться ровно в том запросе, который совершает действие (либо подписывает форму на совершение действия)
Ilya
Sergey
Ilya
Anonymous
Ilya
А если у нас чат и сервер с сокетами? Как управлять ими? Как вызывать события сокетов?
Ilya
Через REST
Sergey
сокеты и rest это разные вещи
Ilya
Я понимаю. Сервер с socket.io, например. Тогда через REST не получается, наверное
Sergey
rest отдельно
сокеты отдельно
John
>реакт через fetch
реакт через axios*
Пофиксил тебя
А почему axios?) Я набрал в гугле fetch react (как мне посоветовали), там и есть ссылка на npm и codepen с примером. Я так понимаю fetch - это библиотека для реакта, которая отравляет аякс запросы, но все выполняется не в коллбэках, а в промисах?
Anonymous
fetch это в стандарте