Таймураз
И не задумывался о потоках
Anonymous
с9.io совсем бесплатный
Anonymous
Но там настройка чуть сложнее
Alexander
чем можно собрать сайт (аналог фантома) с загрузкой сторонних скриптов на сайте? фантом не грузит скрипты находящиеся не на сайте (т.е. на другом домене)
Владимир
отключи фантому security
Nurik
Всем привет. Ребят кто юзал objection.js ? После sequelize как-то не очень верится, что в nodejs будет нормальная ORM. Поэтому смотрю в сторону query builder ов (далее QB). Насколько я понял, Objection это типа QB но с моделями и валидацией. Поделитесь впечатлениями от использования, если был опыт.
сomorsiс
а что с секвелайзом не так?
Alexander
pg-promise helpers
Kons
Игер-запросы ещё удобны
Nurik
а что с секвелайзом не так?
Лично моё мнение — она неочевидная. Дока не описывает многие кейсы. И потом raw query через строку - это кощунство, во времена когда есть много хороших query builder ов
Nikita
Всем привет. Ребят кто юзал objection.js ? После sequelize как-то не очень верится, что в nodejs будет нормальная ORM. Поэтому смотрю в сторону query builder ов (далее QB). Насколько я понял, Objection это типа QB но с моделями и валидацией. Поделитесь впечатлениями от использования, если был опыт.
Добрый день. Опыт, в целом пложительный. Документация хорошая. ORM за вас сильно много не думает там где не надо. Сами (основоной мейнтейнер), быстро правит issue. Я использую также graphql сервер для этой ORM
Nurik
Добрый день. Опыт, в целом пложительный. Документация хорошая. ORM за вас сильно много не думает там где не надо. Сами (основоной мейнтейнер), быстро правит issue. Я использую также graphql сервер для этой ORM
Ясно, спасибо, значит буду пробовать. Дока кстати действительно подробная. Сходу нашёл то, что надо. Но решил поспрашивать, на случай, если имеются подводные камни.
Nikita
Также графовый апдейт и инсерт удобные - это изз фич
Сергей
Всем привет! Нужна помощь с passport.js Делаю авторизацию по доке. посылаю логин и пароль post /login там после проверки пользователя вызываю метод req.login() и после этого проверяю req.session.passport там появляются данные залогиненного пользователя но далее выполняю второй запрос к серверу, и этих данных там уже нет, соответственно юзер не авторизован.. что я делаю не так?)
Kons
Куки подключены?
Сергей
кука вроде есть в браузере
Alexander
у кого есть 5 минут посмотреть мой код, правильным ли путем иду (изучаю ноду сейчас и реакт), пишу api c sequelize (mysql) и express
A
хай, минутный вопрос, неужели у mongo.collection.insert max size за один insert 50?
A
@MongoDBRussian
понял, принял, спасибо
cloudedbe
Зачем юзать hapi, если он проигрывает по количеству запросов в секунду? https://raygun.com/blog/node-js-performance-2017/
cloudedbe
Скажем так. Чем он вобще крут? Конфигурация лучше кода и только это в нем есть? :c
Kons
Скажем так. Чем он вобще крут? Конфигурация лучше кода и только это в нем есть? :c
Ну и немного некорректно сравнивать голый express и koa с голым hapi.
Kons
Хотя, для того, чтобы сказать, что «мой сервер обрабатывает в 5 раз больше попугаев в секунду», пойдёт :)
Kons
Вот, например, под высокой нагрузкой hapi местами выигрывает у конкурентов - https://www.techempower.com/benchmarks/#section=data-r14&hw=ph&test=query&l=8vn01r
Anton
Скажем так. Чем он вобще крут? Конфигурация лучше кода и только это в нем есть? :c
вкусовщина, для большинства задач - узкие места, это не скорость хендлеров фреймворка, в реальнности она будет вообще не чуствительная, относительно походов в бд, например. если все упирается в скорость хендлеров, то тут уж вообще тогда и не ноду надо брать
Maxim
кто может конфигом вебпака поделиться для сборки ноды?
Rem1te
Простите, а зачем вам вебпак на БЕ ?
Cenator 🐈
кто может конфигом вебпака поделиться для сборки ноды?
module.exports = { entry: './index.js', output: { path: path.join(__dirname, 'dist'), filename: 'bundle.js' } }
Andrey
Аналогичный вопрос, зачем
Maxim
а шаблоны jade просто перекинуть в другую папку?
Maxim
dist
Cenator 🐈
да как хочешь называй их, неважно же
Maxim
ну я понял, спасибо
Иван
Здравствуйте
Иван
небольшой вопрос . у меня есть массив . Например адреса сайтов (неважно) . В цикле фор через счетчик хочу пробежаться по всему массиву . На каждый елемент делаю запрос на сайт . Использую axios. Проблема в том что цикл фор сразуже пробегает весь массив . есть ли возможность используя промисы обработать массив поочереди ?
сomorsiс
Promise.all().mapSeries
сomorsiс
(если bluebird)
Иван
axios посути сразу возвращает промис объект
Иван
тоесть далее можно это обработать
Иван
хммм
Иван
спасибо за наводку
Иван
(если bluebird)
если нет
сomorsiс
async/await?
сomorsiс
т.е. ты предлагаешь что то типа sites.map(makeRequest).reduce((acc,promise)=>acc.then(() => promise)) ?
Фεδως
я бы async/await юзнул, чтоб знать что следующая итерация редьюса пойдет только после того как придет ответ
Фεδως
если тебе это надо
сomorsiс
с редьюсом абсолютно то же самое
Иван
в шестом ноде сработает ?
сomorsiс
проверь
Ivan
с бабелем
Ivan
он в генераторы должен перевести
Ivan
если по очереди то удобнее всего async await
Ivan
просто если сайты разные, то в чем смысл опрашивать их по очереди
Rem1te
просто если сайты разные, то в чем смысл опрашивать их по очереди
возможно у него там мегапарсер который грузит систему, и если их запустить овер много то становиться плохо
Ivan
тогда таскер какой-то нужен
Rem1te
поэтому он хочет дождаться выполнения каждой итерации поэтому берите асинк авейты и не морочте себе голову
Rem1te
следующая итерация будет выполнена только после резолва асинк функции
Иван
Ребята тут все просто есть запрос . он возвращает массив идешников . по каждому идешнику нужно прогнать ряд запросов . в обычном цикле не получается так как это промис запросы . идешники в цикле перебираются раньше запросов . итого все запросы используют один идешник . сейчас смотрю в сторону forEach. я перешел с питона . очень сложно разруливать асинхронность(((
Bogdan
Ребята тут все просто есть запрос . он возвращает массив идешников . по каждому идешнику нужно прогнать ряд запросов . в обычном цикле не получается так как это промис запросы . идешники в цикле перебираются раньше запросов . итого все запросы используют один идешник . сейчас смотрю в сторону forEach. я перешел с питона . очень сложно разруливать асинхронность(((
Есть библиотека blubird, у нее метод map. Позволяет асинхронно и параллельно обработать массив Там третьем параметром передай объект с параметром concurrency. В него число какое то. Этот параметр задает качество параллельных обработчиков Blubird.map(arrayOfId, callback, {concurrency: 5});
Bogdan
Коллбэк должен возвращать промис. Метод мэп возвращает промис, что резолвится после обработки всего массива
сomorsiс
колбек не обязан возвращать промис
Иван
подождите . если сделать массив то forEach должен же помочь ?
Иван
или я не прав
сomorsiс
форич по сути тот же фор, тоже последовательный
Иван
Да и если модифицировать мой быдлокод то вполне сможет принимать идешники
Иван
таким образом победю данную ситуацию )
Иван
Честно я просто привык к синхронному коду и немного сложно в яваскрипт )
сomorsiс
а можешь подключить bluebird и получить легкочитаемый и изменяемый код
сomorsiс
это не повод извращаться, пиши так как принято писать на языке