
Alexander
20.08.2018
14:08:38
можешь попробовать пингануть и посмотреть что вернет сервер, типо какие метаданные
хотя хз

Zaur
20.08.2018
14:09:06
вот я тоже так подумал, может можно как то попытаться скачать и посмотреть что придет

Dmitry
20.08.2018
14:10:14
ну это если ты знаешь что хочешь скачать

Google

Dmitry
20.08.2018
14:10:18
тогда да

Zaur
20.08.2018
14:11:06
не, качать я не хочу, я хочу только удостовериться что юзер прислал ссылку именно на файл, а не страницу :)
или это гемор и не стоит так заморачиваться? )

Dmitry
20.08.2018
14:11:34
что значит страница? хтмл? или скрипт который генерит хтмл?

Zaur
20.08.2018
14:12:09
пофиг что так если это не файл. Мне нужен только файл. Т.е. определить факт: файл/нефайл
файл - это картинка, видео, аудио...

Dmitry
20.08.2018
14:13:22
вообще задача непонятная - а если тебе пришлют ссылку на скрипт которые на лету генерит файл, картинку например - это как будет считаться страница или файл?

Zaur
20.08.2018
14:13:57
наверно файл) если файл напрямую отдается, а не генерится страница, где помимо файла есть еще что то, например рекламный блок (как делают некоторые облачный сервисы)

Dmitry
20.08.2018
14:14:48
ну мне кажется это излишняя заморочка которую ты на 100% нормально не решишь. Если вопрос в безопасности, то тогда вообще другое дело
а так просто я бы не заморачивался

Zaur
20.08.2018
14:15:51
это защита юзера от самого себя, когда говоришь юзеру отправь файл - он модет отправить что угодно :( а потом будет у себя в блоге кричать что приложение гавно, не может принять файл

Dmitry
20.08.2018
14:16:44
а файл вообще любой или только определенных типов? картинка видео звук например?

Zaur
20.08.2018
14:17:01
любой

Google

Dmitry
20.08.2018
14:18:58
если определенных типов то вопрос решаемый, если любой - то я даже не знаю как это реализовать
т.е. текстовые файлы тоже можно загружать?

Zaur
20.08.2018
14:19:36
теоретически да, но я пока не понимаю где они могут понадобиться
если например ограничить - тогда как лучше сделать?

Dika
20.08.2018
14:19:57

Dmitry
20.08.2018
14:20:12
ну короче я бы не парился, думал бы только о безопасности если юзер загрузит какую то хрень это его проблемы
но точно не твои

Zaur
20.08.2018
14:21:45
так то да) просто когда недовольный юзер начнет делать антирекламу в своих блогах - это уже будет моя проблема. А если юзер прислал херню, и я это проигнорирую - проблемы у юзера могут возникнуть где нибудь в другом месте.
ладно, забью пока, до лучших времен

Yaroslav
20.08.2018
14:28:22

Andrei
20.08.2018
14:28:47
?

Alexandr
20.08.2018
15:32:47

ABC
20.08.2018
15:43:53
есть что-то для перевода крон формата в натуральный язык? типо ' * * * * * ' это 'every 1 minute'
cron-parser немного не то. он дату возвращает

Zaur
20.08.2018
15:49:56
?

ABC
20.08.2018
15:50:26
хз как такие вещи можно не знать

Andrei
20.08.2018
15:50:33
https://github.com/bradymholt/cRonstrue

ABC
20.08.2018
15:51:20

Google

ABC
20.08.2018
15:53:11
++ то что надо проверил. отлично

Yaroslav
20.08.2018
16:19:14
Минута, час, день, месяц, год

ABC
20.08.2018
17:11:06


Andrei
20.08.2018
17:31:51
Привет всем)
кто какие использует статические анализаторы кода для js/node.js? JSHint, JSLint можно опустить, знаю про них. Тут для примера есть список анализаторов для разных языков https://github.com/mre/awesome-static-analysis. Кто какие из них использовал для js
есть интересные плагины на vscode, я использовал в разных проектах, правда названия не помню
- метрики кода в реальном времени, пишешь и сразу видно если нечитаемую ерунду написал. иногда влом рефакторить, а тут оп и ругается, полезно в общем
- тест раннер в реальном времени, гоняет тесты под капотом пока код пишешь, сразу видно, если сфейлился тест
от обычных "универсальных" аналайзеров, типа линтеров, моё личное мнение, польза небольшая. ну мб енфорсить let const разве что, хз...
полезные статические тулзы обычно пишутся под специфику проекта.
- например, классные тесты в DefinitelyTyped. там отслеживаются зависимости между разными дефинишенами через статический анализ насколько я понимаю. в types-publisher.
- я писал аналайзеры чтобы обращения к БД не размазывались по коду, а всегда находились в хендлере роута
из нового необычного
- проверка на tree shaking, интересный приём: https://github.com/Rich-Harris/yootils/blob/master/scripts/check-treeshaking.js


Nikita
20.08.2018
17:38:50
есть интересные плагины на vscode, я использовал в разных проектах, правда названия не помню
- метрики кода в реальном времени, пишешь и сразу видно если нечитаемую ерунду написал. иногда влом рефакторить, а тут оп и ругается, полезно в общем
- тест раннер в реальном времени, гоняет тесты под капотом пока код пишешь, сразу видно, если сфейлился тест
от обычных "универсальных" аналайзеров, типа линтеров, моё личное мнение, польза небольшая. ну мб енфорсить let const разве что, хз...
полезные статические тулзы обычно пишутся под специфику проекта.
- например, классные тесты в DefinitelyTyped. там отслеживаются зависимости между разными дефинишенами через статический анализ насколько я понимаю. в types-publisher.
- я писал аналайзеры чтобы обращения к БД не размазывались по коду, а всегда находились в хендлере роута
из нового необычного
- проверка на tree shaking, интересный приём: https://github.com/Rich-Harris/yootils/blob/master/scripts/check-treeshaking.js
Оу, спасибо за развёрнутый ответ) Можно у тебя ещё будет поспрашивать более конкретно?


Alex
20.08.2018
17:47:20

Andrei
20.08.2018
18:11:03

¢
20.08.2018
18:19:23
Привет ребята! сможете помочь мне с этим вопросом пожалуйста. например при регистрации usera , он загружает фото и это куда лучше сохранить и как ?

krn
20.08.2018
18:21:26

ABC
20.08.2018
18:25:31
у меня ля картинок отдельный сервер, для респонсив картинок, webp, LQIP, оригинал.
жаль нету вменяемых библиотек для налодения фильтров. так бы еще это запилил
если кто-то знает решение, как наложить качесвтенно текст/вотермарк, желательно в ноде стеке, то напишите
было бы неплохо генерить картинки автоматом для социалок, например
тока кроме имадж мейджик, его страшновато использовать

¢
20.08.2018
18:40:06
@kronosx2 и @abcpub, спасибо за ответ!

krn
20.08.2018
18:45:20

Анатолий
20.08.2018
21:23:35
Всем привет.
Как можно нодой в винде запустить консольный процесс (пусть cmd.exe), а затем убить исходный, чтобы при этом новый не убился?
spawn, насколько я понимаю, не даёт такой возможности

Google

Анатолий
20.08.2018
21:27:39
Поясню в чём конкретно дело. Есть телеграм бот на ноде и я хочу рестартовать его через слеш команду. Рестартовать как процесс node.exe. Придумал способ - запускать через spawn новый процесс ноды , а текущий убивать. Но вместе с ним убьётся и всё, что я запустил.
Единственный сработавший вариант - wmiс call create process
Но и тут засада - он принимает путь к исполняемому файлу и рабочую директорию через запятую. Не двумя отдельными аргументами, не одним аргументом в виде "строка, в которой экзешник и cwd через запятую", а именно два аргумента, но через запятую. spawn понятия не имеет, как такое написать.
Не хочется прибегать к совсем костылям вроде "насрать куда-нибудь и демоном слушать это что-нибудь, чтобы демон сам запускал процесс"

Alex
20.08.2018
21:29:21

Анатолий
20.08.2018
21:30:08
спасибо :)

Alexander
20.08.2018
22:58:17

?
21.08.2018
01:00:40
@Atassis

Алексей
21.08.2018
05:47:24

Alex
21.08.2018
06:35:53

Анатолий
21.08.2018
07:49:00
У меня получилось.

Alex
21.08.2018
08:18:35
Хэй, народ. Вопрос такой, делаю авторизацию через passportjs, через гугл и фейсбук всё замечательно, а через локалку юзер в сессию не записывается. Сталкивался кто-то с этим?

Dzmitry
21.08.2018
08:26:27

Sklyarov
21.08.2018
08:45:37
Добрый день!
а почему установка cookie через middleware,может не работать при первой загрузке страницы?
Как сделать так чтобы при инициализации моего клиентского javascript приложения в cookie уже что то лежало
ну то есть я устанавливаю cookie вот так
const app = express();
app.use(cookieParser());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, '../build')));
app.use((req, res, next) => {
if (isEmpty(req.cookies) ||
!req.cookies.GOOGLE_CLIENT_ID ||
!req.cookies.ENV) {
res
.cookie(
'GOOGLE_CLIENT_ID',
apiConfig.GOOGLE_CLIENT_ID, {
maxAge: 900000,
httpOnly: false,
secure: false,
})
.cookie(
'ENV',
process.env.NODE_ENV, {
maxAge: 900000,
httpOnly: false,
secure: false,
});
}
next();
});
но при первом запросе на клиенте cookie пустые


Sheldhur
21.08.2018
08:49:04
куки отправляются при запросе
очевидно что при первом запросе им неоткуда взяться
если так сильно надо, то после установки этих обязательных кук надо рефреш отправить, чтобы страница обновилась и запросилась уже с куками
но если у пользователя будут отключены куки или по какой-то причине они не смогут встать, то будет бяда

Sklyarov
21.08.2018
08:51:30
а я могу сделать так?
app.get(‘*’, (res) =>
res.sendFile(‘index.html’).cookie(‘foo’, { bar })
)

Google

Sheldhur
21.08.2018
08:53:03
ну во первых возьми и попробуй
а во вторых у тебя нихуя не выйдет, так как ты отправишь хеадер после тела
а в третьих ты вообще не понимаешь как оно работает и что ты делаешь

Sklyarov
21.08.2018
08:57:12
?

Влад
21.08.2018
09:05:35
Кто может подсказать, как распределить нагрузку через pm2 cluster какой конфиг должен быть в nginx, каждый процесс на разном порте или все можно на одном? в основном используются сокеты

Andrei
21.08.2018
09:19:28

Sklyarov
21.08.2018
09:19:45

Sheldhur
21.08.2018
09:23:47
Рефреш это тоже заголовок
Его тоже до любого вывода надо отправлять