Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 February 10

PS

Pavel Shakhov (pongo... in NodeUA - JavaScript and Node.js in Ukraine
Jasin Ko
Доброго вечера всем.

Есть несколько вечных циклов, каждый их которых мониторит некоторые ресурсы на предмет обновлений, так же по этому ресурсу время от времени проходится веб-паук. Ресурс очень ревностно отностится к своему контенту, поэтому, если заподозрит автоматику (😁) , то выдаёт капчу. Для этой цели есть штуковина, которая эту капчу решает. Но может случится ситуация, что капча не подойдёт. Вот я и думаю сижу: с точки зрения семантики кода, ближе к правильному выбрасывать исключение (так как по сути неудчное решение вообще всё стопит и заставляет эти самые циклы перезагружаться) или просто возвращать false и уже от этого плясать?
кроме исключений и кодов возврата, есть еще Result

https://github.com/supermacro/neverthrow
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
Pavel Shakhov (pongo)
кроме исключений и кодов возврата, есть еще Result

https://github.com/supermacro/neverthrow
На прокачанные исключения похожи, которые перехватывать не нужно) Спасибо, не знал про такое
источник

PS

Pavel Shakhov (pongo... in NodeUA - JavaScript and Node.js in Ukraine
Jasin Ko
На прокачанные исключения похожи, которые перехватывать не нужно) Спасибо, не знал про такое
в расте такое используется
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
да и вообще в любом языке с алгебраическими типами данных (haskell, scala, ocaml, f#)
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
я думаю і пакетів для жс, що дають мейби\опшн багато різних
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
fp-ts, ramda к примеру
источник

MS

Misha Shandra in NodeUA - JavaScript and Node.js in Ukraine
Хай народ, а для jwt hs256, вместо secret key можно что угодно ставить? или лучше там что то сгенерировать (где то)?
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
Misha Shandra
Хай народ, а для jwt hs256, вместо secret key можно что угодно ставить? или лучше там что то сгенерировать (где то)?
Щас появится Тимур и скажет, что jwt не стоит использовать вовсе)
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
Самбади деплоил приложение на импрессе на хероку?
Как задать порт "process.env.PORT" в конфиге?

Если прямо в конфиге написать process.env.PORT:
...
 host: '127.0.0.1',
 balancer: process.env.PORT || 8000,
 protocol: 'http',
 ports: [8001],
...

то вылетает с ошибкой process is undefined, видимо конфиг в какой-то изоляции исполняется. Как тогда его задать то?
И нужно ли задавать массив портов? Или наоборот задать в массиве портов "process.env.PORT || 8000" а balancer не задавать вообще?
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
Тимур вроде бы сторонник конфигурации не через env
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
Так вот а как тогда
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
Он говорил про конфигурацию из JS файла
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
правда вот как доставить на прод файл которого не должно быть у разработчиков — другой вопрос
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
я в этом конфигурационном js файле и пытаюсь задать порт
источник

PS

Pavel Shakhov (pongo... in NodeUA - JavaScript and Node.js in Ukraine
NetCat
Самбади деплоил приложение на импрессе на хероку?
Как задать порт "process.env.PORT" в конфиге?

Если прямо в конфиге написать process.env.PORT:
...
 host: '127.0.0.1',
 balancer: process.env.PORT || 8000,
 protocol: 'http',
 ports: [8001],
...

то вылетает с ошибкой process is undefined, видимо конфиг в какой-то изоляции исполняется. Как тогда его задать то?
И нужно ли задавать массив портов? Или наоборот задать в массиве портов "process.env.PORT || 8000" а balancer не задавать вообще?
нужно как-то в него передать порт из  process.env.PORT
источник

N

NetCat in NodeUA - JavaScript and Node.js in Ukraine
Вот такой файлик:
({
 host: '127.0.0.1',
 balancer: process.env.PORT || 8000,
 protocol: 'http',
 ports: [8001],
 timeout: 5000,
 concurrency: 1000,
 queue: {
   size: 2000,
   timeout: 3000,
 },
 workers: {
   pool: 3,
   timeout: 3000,
 }
});

его импресс ожидает по пути "application/config/server.js"
но найдя его приложение ложится с ошибкой process is not defined
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
NetCat
Вот такой файлик:
({
 host: '127.0.0.1',
 balancer: process.env.PORT || 8000,
 protocol: 'http',
 ports: [8001],
 timeout: 5000,
 concurrency: 1000,
 queue: {
   size: 2000,
   timeout: 3000,
 },
 workers: {
   pool: 3,
   timeout: 3000,
 }
});

его импресс ожидает по пути "application/config/server.js"
но найдя его приложение ложится с ошибкой process is not defined
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Если быть совсем точным то
3. https://github.com/metarhia/metavm/blob/master/lib/vm.js#L30
источник

PS

Pavel Shakhov (pongo... in NodeUA - JavaScript and Node.js in Ukraine
NetCat
Вот такой файлик:
({
 host: '127.0.0.1',
 balancer: process.env.PORT || 8000,
 protocol: 'http',
 ports: [8001],
 timeout: 5000,
 concurrency: 1000,
 queue: {
   size: 2000,
   timeout: 3000,
 },
 workers: {
   pool: 3,
   timeout: 3000,
 }
});

его импресс ожидает по пути "application/config/server.js"
но найдя его приложение ложится с ошибкой process is not defined
глянул исходники импресса. никак в конфиг ничего не передать.

так что или меняй исходники импресса, чтобы можно было передавать что-то,

или перед запуском импресса запускай скрипт, который будет сам вписывать порт в нужный файл конфига
источник

MS

Misha Shandra in NodeUA - JavaScript and Node.js in Ukraine
Jasin Ko
Щас появится Тимур и скажет, что jwt не стоит использовать вовсе)
Всмсле, а аналоги тогда сессия?
источник