Mikhail
https://github.com/bifot/yandex-school-test решение и задание
Alexander
даже так, спасибо
Alexander
в ШАД у них задания по интереснее
Anton
ШАД не для простых смертных разработчиков, там без хорошего умения в математику делать нечего, да и не возьмут
Vadim
@bifot а как ты делал запросы, если * Для простоты тестирования сабмита формы можно выполнять запросы на статические файлы с разными подготовленными вариантами ответов (success.json, error.json, progress.json). Поднимать отдельный сервер с выдачей разных ответов будет избыточным.
Anton
https://github.com/bifot/yandex-school-test решение и задание
хм... а причем тут нода? там тестовое задание про фронт и отравку формочки(
Vadim
так это для фронтов школа
Mikhail
хм... а причем тут нода? там тестовое задание про фронт и отравку формочки(
ну, чтобы понять, что человек хотя бы немного понимает в js, а то там придут после каких-нибудь хтмл академий, зная только. html/css
Mikhail
и возвращается json. но я немного не понял их про сервер, если полностью локально в папке делать, запрос нельзя будет кинуть. я делал на локалхосте, подняв самый примитивный сервер
Артур
Кто нибудь знает как в atom сделать чтобы у нового файла было по дефолту табуляция, а не пробелы? (для определенных файлов)
Kons
.editorconfig
Sergey
Ребзя
Sergey
Накидайте звезд
Sergey
https://github.com/LestaD/babel-preset-node8
Evgeny
В пустой реп? Хм....
Evgeny
Ну дан
Maxim
node js 30 проверок if в одном запросе выдержит?
Maxim
нет?
Maxim
давайте по делу из без флуда
Aleksand
давайте по делу из без флуда
выдержит, но так делать нельзя
Maxim
какие есть варианты?
Aleksand
какие есть варианты?
написать нормально. зачем тебе 30 проверок в одном if?
Maxim
не, у меня 30 if
Maxim
тоесть 30 полей из формы надо проверить
Aleksand
тоесть 30 полей из формы надо проверить
для этого есть куча компонентов готовых, погугли и выбери удобный для тебя
Maxim
можно любой посоветовать
Maxim
гугл не очень справляется
I.
А там одинаковое условие?
Maxim
нет, там 30 полей которые заполняет пользователь и их надо проверить на число, или просто существует ли поле, потом составить запрос к бд
I.
То есть отправка значений в массив и метод every() не поможет
I.
Правильно я понимаю?
Alex
В любом случае every адекватнее 30 if
Alex
Просто делаешь массив со списокм полей и у каждого тип валидации и параметры, проходишь в цикле и проверяешь.
Maxim
Я логику то написал, но получилось 30 проверок с помощью if. И меня это смущает что будут тормаза из-за этого так как нода асинхронная
Maxim
цикл он же тоже тормазной будет
Maxim
а нода однопоточная и будет блокировка на время цикла
Maxim
или на время проверок что одно и тоже
I.
На число - тип или определенное уникальное число у каждого поля?
Aleksand
гугл не очень справляется
а у меня справился https://github.com/ctavan/express-validator
Maxim
например если чило. то
I.
Во
I.
Валидатор ок
I.
Но эвери лучше 30 ифов
Maxim
а по поводу блокировки потока, не много ли это для ноды?
Maxim
every он как я понял проверяет весь массив сразу
Maxim
но это ладно
I.
Это лучше по производительности чем 30 ифов
Maxim
хотя может быть пустое поле
Maxim
хотя можно await же написать и тогда поток не заблокируется
V
Прочитай сначала как работает нода и что такое асмнхронность
Aleksand
хотя можно await же написать и тогда поток не заблокируется
ты описываешь атомарные и синхронные операции, никакой await там тебе не поможет
Maxim
await же должен попасть в цикл ноды и на это время освободится главный поток
arts
Какой ещё главный поток? Там всё в одном процессе выполняется.
Maxim
да, await попадет в event loop
Aleksand
да, await попадет в event loop
твои проверки туда не попадут
Maxim
почему, если на одну проверку делать await
Дима
Но интерфейс работает моментально. Я тут случайно сравнил скорость поиска по всем файлам на вскоде и шторме - вскод медленнее
Я так понимаю, проверка производилась через "поставил к себе в проект для шторма вскод, поискал — чёт не айс"? Для каждого проекта можно (и нужно) указывать, по каким папкам не искать, чтобы не получать например тонну результатов из каких-то логов
Aleksand
почему, если на одну проверку делать await
потому что надо читать а потом уже спорить
Maxim
потому что надо читать а потом уже спорить
Я сейчас посмотрел валидатор на коа и там такой код isAsyncTest: function(testparam) { return new Promise(function(resolve, reject) { setTimeout(function() { if (testparam === '42') { return resolve(); } reject(); }, 200); }); }
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 не видит