@nodejs_ru

Страница 2697 из 2748
Konstantin
17.10.2018
08:42:04
блин, походу, не осилил ноду... че-то asp.core привычнее и по-приятнее...?

Maxim
17.10.2018
08:42:24
коллеги, подскажите есть ли готовые решения планировщика, который может запускать задачу опредленное количество раз в период с рандомным интервелом?

Konstantin
17.10.2018
08:44:14
первый раз всегда больно) не расстраивайся
Спасибо... флуд или нет, и я не буду говорить о преимуществах asp, просто мне очень непривычно без типизации и intellisense. я знаю про тайпскрипт, но как я понимаю, не все пакеты в npm скомпилины в typscript и из-за этого intellisense бывает тупит.

Google
Maxim
17.10.2018
08:49:50
node-schedule
я на него и обратил внимание, но пока не нашел как его кастомизировать под свою задачу, не могли бы вы подтолкнуть на мысль? мне нужно, чтобы в 1 день выполнялось грубо говоря 200 раз задача с рандомным интервалом, пока нашел только про фиксирвоанный интервал

Maxim
17.10.2018
08:50:06
А как модель выглядит сама?
` const mongoose = require('mongoose'); const mongoosePaginate = require('mongoose-paginate'); const Schema = mongoose.Schema; const model = 'Rides'; const schema = new Schema({ userId: Schema.ObjectId, userPhoneNumber: String, driverUserId: { type: Schema.Types.ObjectId, }, requestedDrivers: [], status: String, searchId: String, cancel: { tag: String, notes: String, }, pickUp: { location: { type: String, coordinates: [Number], }, address: String, date: Date, }, dropOff: { location: { type: String, coordinates: [Number], }, address: String, date: Date, }, requestedDropOff: { location: { type: String, coordinates: [Number], }, address: String, date: Date, }, requestedPickup: { iso3166: String, location: { type: String, coordinates: [Number], }, address: String, date: Date, }, tripData: [{ status: String, speed: Number, heading: Number, altitude: Number, location: { type: String, coordinates: [Number], }, timestamp: String, }], tripDataLive: [{ status: String, speed: Number, heading: Number, altitude: Number, location: { type: String, coordinates: [Number], }, timestamp: String, }], tripDataEstimated: [{ status: String, speed: Number, heading: Number, altitude: Number, duration: Number, distance: Number, location: { type: String, coordinates: [{ latitude: Number, longitude: Number, }], }, timestamp: String, }], ratings: { driver: { value: Number, feedback: String, }, user: { value: Number, feedback: String, }, }, location: { type: String, coordinates: [Number] }, totalsEstimated: { distance: Number, duration: Number, totalFrom: Number, totalTo: Number, }, totalType: { type: String, enum: ['realDistanceMismatch', 'realCoordinatesMismatch', 'estimated'], }, totals: { cost: { perDistance: Number, perDuration: Number, base: Number, tax: Number, total: Number, }, iso4217: String, distance: Number, duration: Number, paid: Boolean, method: String, notes: String, }, createdAt: { typeKey: Date, }, updatedAt: { typeKey: Date, }, }, { typeKey: '$type', timestamps: true, }); module.exports = mongoose.models[model] || mongoose.model(model, schema); ``

Vitaly
17.10.2018
08:50:16
pastebin.com

Maxim
17.10.2018
08:50:23
pastebin.com
сорри

Vitaly
17.10.2018
08:50:30
прощаю :D

Gregory
17.10.2018
08:53:00
я на него и обратил внимание, но пока не нашел как его кастомизировать под свою задачу, не могли бы вы подтолкнуть на мысль? мне нужно, чтобы в 1 день выполнялось грубо говоря 200 раз задача с рандомным интервалом, пока нашел только про фиксирвоанный интервал
не пробовал рандом (не надо было) но скорее всего прокатит что то типа https://unix.stackexchange.com/questions/333197/running-a-script-via-cron-at-a-random-time-but-a-certain-number-of-times-per-da а количество можно считать самостоятельно

Maxim
17.10.2018
08:53:12
спасибо!

Neks
17.10.2018
09:36:40
Подскажите, пожалуйста, как правильно обратиться и вытащить значение из первой строки "price" ? { "timestamp": 1539768853401, "pair": { "amountAsset": "WAVES", "priceAsset": "Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck" }, "bids": [ { "amount": 53366308022, "price": 210 }, { "amount": 12039465220, "price": 209 }, { ......

Google
Neks
17.10.2018
10:15:43
спасибо большое

Oleg
17.10.2018
10:41:19
Знатоки ajv (https://ajv.js.org/), подскажите плиз Возможно ли реализовать проверку схемы, где наличие тех или иных полей зависит от значения других?

Пример (обязательные поля зависят от значения type): file: { type: 'image', width: 640, height: 480 } file: { type: 'audio', codec: 'mp3' }

Никита
17.10.2018
11:49:09
Там на гитхаб приехали Suggested Changes в ревью.

Это просто волшебно.

Timofey
17.10.2018
11:53:05
глазки щипет

rddlr
17.10.2018
11:54:04
Anton
17.10.2018
11:58:46
Пример (обязательные поля зависят от значения type): file: { type: 'image', width: 640, height: 480 } file: { type: 'audio', codec: 'mp3' }
напрямую нет, но ты можешь сделать варианты через oneOf, а значение прибить гвозядми к вариантм через enum с этим единственным значением

Sars
17.10.2018
12:09:27
Доброго времени суток. Не очень представляю как можно синхронизировать базы. Копируются данные людейпо https, там текст. Но есть еще фотки, которые хранятся в директории. В базе только названия файлов. Прямой путь конвертировать фотки в base64. И отправлять в виде массива с текстовыми данными. Центральная бд не устанет раскодировать base64 приходящие со многих локальных баз? С другой стороны фотки это ведь не данные из бд. Они лежат отдельно в директории. Возможно их отдельной утилитой перекидывать, например с помощью ноды запускать scp утилиту для копирования удаленно. ОС linux debian. Может кто что посоветовать?

Alexander
17.10.2018
12:10:57
Удали

Casper
17.10.2018
12:12:29
Ору с селектора

Kelin
17.10.2018
12:12:53
Div'у даюсь, когда вижу такое

Den
17.10.2018
12:30:29
Парни, подскажите почему не вешается стаб (синон) на функцию котора вызывается в монгус модели на pre('validate') хуке, примерный код: https://gist.github.com/DenisRupp/ccbd0187218d2247e4899019d42d33cd

Aleksey
17.10.2018
13:03:38
Кто-нибудь пользовался express-validator? Не могу понять, как мне сделать единый обработчик ошибок, чтобы не дублировать код в каждом контроллере

Sasha
17.10.2018
13:10:49
Пример https://github.com/zmts/lovefy-api-nodejs/blob/master/api/controllers/postCtrl.js#L192

Google
Aleksey
17.10.2018
13:15:31
ну там проверки кладутся в миддлвеер, а ошибки нужно получать потом в контроллере через метод библиотеки

вы пользовались именно этой либой?

Sasha
17.10.2018
13:19:04
Нет, можно и без нее прекрасно обойтись

А если юзать асинки то еще красивее выходит)

Alexander
17.10.2018
13:19:52
А если юзать коа то ещё красивее выходит)

Sasha
17.10.2018
13:20:44
Не на много)

Gats
17.10.2018
13:37:52
кто юзал sails, зачем это надо вообще?

Сергей
17.10.2018
13:38:10
кто юзал sails, зачем это надо вообще?
тупой вопрос. это фреймворк

Grigorii
17.10.2018
13:38:19
кто юзал sails, зачем это надо вообще?
"монолитнный" фреймворк для веба

Gats
17.10.2018
13:38:38
тупой вопрос. это фреймворк
ну почему не экспресс. а сейлс

если быть вообще грубым)

Grigorii
17.10.2018
13:38:54
ну почему не экспресс. а сейлс
Зачем нужен express? можно же можно написать поднятие сервера, там немного строк

Cenator
17.10.2018
13:38:56
сейлс на експрессе же построен

Сергей
17.10.2018
13:39:39
ну почему не экспресс. а сейлс
потому что экспресс не фреймворк

Cenator
17.10.2018
13:39:41
единственный не-микро фреймворк который хоть как-то можно юзать это nest

Grigorii
17.10.2018
13:40:16
ну почему не экспресс. а сейлс
В экспрессе вы будете придумывать свою арзитектуру проекта, придумывать какой компонент как или чем реализовывать и т.д. Тут есть основная часть сразу есть и построенна, соблюдая некоторую архитектуру, начиная с моделей, заканчивая политиками, сокетами, тестированием т.д.

Cenator
17.10.2018
13:40:24
Grigorii
17.10.2018
13:52:47
единственный не-микро фреймворк который хоть как-то можно юзать это nest
а feathersjs (они себя называют фреймворком) почему нельзя?

Google
Cenator
17.10.2018
13:54:11
Grigorii
17.10.2018
13:54:13
А ещё Full-stack - метеор, тотал, keystone?

ничего особенного в нем нет
А что в несте особенного?

Makkusu
17.10.2018
14:17:09
Ребят подскажите, можно ли в switch case конструкции проверять регекспы в формате регексп выражений /test-[\d]/g ?

Yura
17.10.2018
14:19:03
А ещё Full-stack - метеор, тотал, keystone?
keystone -cms это другая история метеор - мертв

Makkusu
17.10.2018
14:20:28
можно, но лучше не надо
Вы меня напугали

Grigorii
17.10.2018
14:20:49
keystone -cms это другая история метеор - мертв
почему метеор мёртв? (мне он не нравится, но вроде как жив)

Makkusu
17.10.2018
14:20:55
можно, но лучше не надо
У меня знакомый с похожей фамилией

Gordey
17.10.2018
14:21:18
судя по гихабу - метеор живее всех живых

Makkusu
17.10.2018
14:21:35
можно, но лучше не надо
Почему не нужно? Всё оборачивать в if неудобно

Yura
17.10.2018
14:22:44
почему метеор мёртв? (мне он не нравится, но вроде как жив)
Потому что он не нужен Реальных юзкейсов где метеор действительно раскрывает свои возможности очень мало а так, его легко выучить вот и суют везде

Makkusu
17.10.2018
14:23:18
можно, но лучше не надо
А, стоковерфлоу мне пояснил... каждый раз вызывать в свитч флоу match ничего не даст

Timofey
17.10.2018
14:26:31
Кто использовал koa-router? У меня код вида: .use(router.routes()) .use(someMiddleware); someMiddleware - не вызывается вообще. Внутри миддлварок роутов next() не вызывается, но вроде как там нужно вызывать next, если роут хэндлит одновременно несколько миддлварок router.all('/logs', (ctx, next) => {/* next тут не будет выхван */});

Timofey
17.10.2018
14:27:52
Мне нужно после роутера залогировать некоторые данные

Ildar
17.10.2018
14:28:18
await next() может помочь

Timofey
17.10.2018
14:28:22
Время выполнения запроса, например

Google
Timofey
17.10.2018
14:28:37
await next() может помочь
в каждой из миддлварок роутов?

Ildar
17.10.2018
14:28:40
или просто логер закинь готовый

в одной миделваре

Timofey
17.10.2018
14:30:32
Делал так: .use(async(ctx, next) => { const middleware = router.routes(); middleware(ctx, next); await next(); }) .use(someMiddleware); Миддлварка после роутера отрабатывает, но ломаются роуты

Konstantin
17.10.2018
14:31:29
async(ctx, next => { —> async (ctx, next) => {}

Timofey
17.10.2018
14:32:28
ну всмысле да, я при копипасте в телегу опечатался

Alexander
17.10.2018
14:32:47
ну всмысле да, я при копипасте в телегу опечатался
Ну если так то выглядит как колбек

Ildar
17.10.2018
14:35:45
просто создай миделварю выше роутера, сделай там старт дейт, авейть некст, делай енд дейт, вычитай в доке по koa точно есть пример как сделать логирование запроса

Konstantin
17.10.2018
14:36:21
да есть же винстон логгер, или морган. че велосипед изобретать?

Ildar
17.10.2018
14:37:04
ну кому то хочется сделать свое)

не зачем для таких вещей совсем)

Konstantin
17.10.2018
14:38:08
Вот тут подсмотри: https://github.com/koajs/logger/blob/master/index.js

Ildar
17.10.2018
14:38:21
скорее всего парень хочет разобраться, я так понимаю

Timofey
17.10.2018
14:39:02
не, у нас просто внутренние пакеты с миддлварками есть и хотелось бы их использовать

rddlr
17.10.2018
14:39:03
смотрю тут напсиали юзают graphql-yoga. скажите, а разве это не идиотизм, ради графкуель добавлять > 5 библиотек на клиент? я молчу о бекенде

Страница 2697 из 2748