Mikhail
https://github.com/bifot/yandex-school-test
решение и задание
Alexander
даже так, спасибо
Alexander
в ШАД у них задания по интереснее
Anton
ШАД не для простых смертных разработчиков, там без хорошего умения в математику делать нечего, да и не возьмут
Vadim
@bifot а как ты делал запросы, если
* Для простоты тестирования сабмита формы можно выполнять запросы на статические файлы с разными подготовленными вариантами ответов (success.json, error.json, progress.json). Поднимать отдельный сервер с выдачей разных ответов будет избыточным.
Vadim
так это для фронтов школа
Mikhail
Mikhail
Mikhail
и возвращается json.
но я немного не понял их про сервер, если полностью локально в папке делать, запрос нельзя будет кинуть.
я делал на локалхосте, подняв самый примитивный сервер
Артур
Кто нибудь знает как в atom сделать чтобы у нового файла было по дефолту табуляция, а не пробелы? (для определенных файлов)
Kons
.editorconfig
Dmitrii
Sergey
Ребзя
Sergey
Накидайте звезд
Sergey
https://github.com/LestaD/babel-preset-node8
Evgeny
В пустой реп? Хм....
Evgeny
Ну дан
Maxim
node js 30 проверок if в одном запросе выдержит?
Sergey
Maxim
нет?
V
Maxim
давайте по делу из без флуда
Maxim
какие есть варианты?
Maxim
не, у меня 30 if
Maxim
тоесть 30 полей из формы надо проверить
Maxim
можно любой посоветовать
Maxim
гугл не очень справляется
I.
А там одинаковое условие?
Maxim
нет, там 30 полей которые заполняет пользователь и их надо проверить на число, или просто существует ли поле, потом составить запрос к бд
I.
То есть отправка значений в массив и метод every() не поможет
I.
Правильно я понимаю?
Alex
В любом случае every адекватнее 30 if
Alex
Просто делаешь массив со списокм полей и у каждого тип валидации и параметры, проходишь в цикле и проверяешь.
Maxim
Я логику то написал, но получилось 30 проверок с помощью if. И меня это смущает что будут тормаза из-за этого так как нода асинхронная
Maxim
цикл он же тоже тормазной будет
Maxim
а нода однопоточная и будет блокировка на время цикла
Maxim
или на время проверок что одно и тоже
I.
На число - тип или определенное уникальное число у каждого поля?
Maxim
например если чило. то
I.
Во
I.
Валидатор ок
I.
Но эвери лучше 30 ифов
Maxim
а по поводу блокировки потока, не много ли это для ноды?
Maxim
every он как я понял проверяет весь массив сразу
Maxim
но это ладно
I.
Это лучше по производительности чем 30 ифов
Maxim
хотя может быть пустое поле
Maxim
хотя можно await же написать и тогда поток не заблокируется
V
Прочитай сначала как работает нода и что такое асмнхронность
Maxim
await же должен попасть в цикл ноды и на это время освободится главный поток
arts
Какой ещё главный поток? Там всё в одном процессе выполняется.
Aleksand
Maxim
да, await попадет в event loop
Maxim
почему, если на одну проверку делать await
Maxim
потому что надо читать а потом уже спорить
Я сейчас посмотрел валидатор на коа и там такой код
isAsyncTest: function(testparam) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
if (testparam === '42') { return resolve(); }
reject();
}, 200);
});
}
Evgeny
Aleksand
Maxim
isAsyncTest
Maxim
и дальше пошли проверки
function validation (ctx) {
ctx.checkBody('postparam', 'Invalid postparam').notEmpty().isInt();
//ctx.checkParams('urlparam', 'Invalid urlparam').isAlpha();
ctx.checkQuery('getparam', 'Invalid getparam').isInt();
ctx.sanitizeBody('postparam').toBoolean();
//ctx.sanitizeParams('urlparam').toBoolean();
ctx.sanitizeQuery('getparam').toBoolean();
ctx.sanitize('postparam').toBoolean();
return ctx.getValidationResult().then(function(result) {
ctx.body = {
//
}
});
}
Anonymous
Ребят, вопрос
Можно ли запустить скрипт node.js из php?
Maxim
Можно
Anonymous
А каким образом?
Anonymous
у меня идет таким образом
сервер принимает POST запрос - вызывает node.js скрипт с аргументами
Maxim
в php должена быть такая возмоность, может воркеры есть
Maxim
или доступ к консольным командам
Ilia
Пора писать бота для борьбы со спамом
Cenator 🐈
Всего-то 100$, джаваскриптеры больше рубят
Cheslav
подскажите плз как запустить правильно эти скрипты на хероку
Cheslav
Cheslav
пишет что babel-node не видит