Size: a a a

Node.js — русскоговорящее сообщество

2019 November 19

Z

Zhandos in Node.js — русскоговорящее сообщество
вот альтернативу нашел Sending Email via Gmail SMTP Server in NodeJS, но думаю будет ли это безопасно за спамят могут или еще хуже сообщения будет где-то сохронятся, политика безопасности
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Zhandos
вот альтернативу нашел Sending Email via Gmail SMTP Server in NodeJS, но думаю будет ли это безопасно за спамят могут или еще хуже сообщения будет где-то сохронятся, политика безопасности
огорчу тебя - любой рассыльщик в логах сохраняет, что отправляет - как раз для обработки жалоб и выяснения нарушителей их условий предоставления услуг =)
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
так что относительно безопасная отправка может быть только путем прямого взаимодействия с SMTP-сервером
источник

S

Santino in Node.js — русскоговорящее сообщество
Ребят для чего существенно используют дискриминаторы в монгусе
источник

MM

MRG_Serejka MRG_Serejka in Node.js — русскоговорящее сообщество
Artem Zuev
огорчу тебя - любой рассыльщик в логах сохраняет, что отправляет - как раз для обработки жалоб и выяснения нарушителей их условий предоставления услуг =)
подскажите пожалуйста как получить данные где название колонны состоит из двух и более слов
источник

V

Viktor in Node.js — русскоговорящее сообщество
Здравствуйте!

Спецы по EventLoop подскажите.
Вот есть у нас setTimer и setImmediate
Согласно документации, если вызвать эти функции не внутри цикла I/O, то порядок выполнения может быть любой.
 js
setTimeout(() => {
 console.log('timeout');
}, 0);

setImmediate(() => {
 console.log('immediate');
});

 bash
$ node timeout_vs_immediate.js
timeout
immediate

$ node timeout_vs_immediate.js
immediate
timeout

Если внутри I/O, например callback в fs.readFile, то setImmediate всегда будет раньше.

Внимание вопрос.
Почему в этом примере Immediate всегда после таймеров. По логике должены таймеры быть последними
 js
const fs = require('fs');

console.log('Start');
setImmediate(() => console.log('IM1'));
setTimeout(() => console.log('T01'), 0);
process.nextTick(() => console.log('NT1'));
setTimeout(() => console.log('T02'), 0);
setImmediate(() => console.log('IM2'));
process.nextTick(() => console.log('NT2'));
fs.readdir(process.cwd(), () => console.log('I01'));
fs.readdir(process.cwd(), () => console.log('I02'));
setImmediate(() => console.log('IM3'));
setTimeout(() => console.log('T03'), 0);
process.nextTick(() => console.log('NT3'));
setImmediate(() => console.log('IM4'));
fs.readdir(process.cwd(), () => console.log('I03'));
console.log('Done');
setTimeout(() => { console.log('Timer 500') }, 500);
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
MRG_Serejka MRG_Serejka
подскажите пожалуйста как получить данные где название колонны состоит из двух и более слов
ТАК делать вообще нельзя по хорошему...
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
в принципе библиотека первую строку использует как ключ столбца и выпиливает все лишние символы и сливает слова в одно в нижнем регистре, но это плохой подход... добавьте еще одну строку, в нее внесите нормальные латинские наименования столбцов и защитите ее от редактирования, чтобы случайно не зацепить...
а дальше можете ее скрыть в минимальную высоту или размер шрифта в ней загнать в 1 - пофигу...
источник

MM

MRG_Serejka MRG_Serejka in Node.js — русскоговорящее сообщество
Artem Zuev
ТАК делать вообще нельзя по хорошему...
я понимаю что название коллон на русском быть не должны
источник

MM

MRG_Serejka MRG_Serejka in Node.js — русскоговорящее сообщество
я не знаю как по другому делать наверное просто
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
ставите первую строку не в виде:

Прораб / Фамилия Имя Отчество / Заработная Плата / и т.д.

а добавляете над текущей первой с человеческими текстами еще строку и в нее вносите:

propab / fio / zp / и т.д. латинские простые ключи
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
и читаете в коде строчки по именам латинских ключей + игнорируете строку [0] в массиве строк (т.к. это строка "человеческих" заголовков)
источник

MM

MRG_Serejka MRG_Serejka in Node.js — русскоговорящее сообщество
Artem Zuev
ставите первую строку не в виде:

Прораб / Фамилия Имя Отчество / Заработная Плата / и т.д.

а добавляете над текущей первой с человеческими текстами еще строку и в нее вносите:

propab / fio / zp / и т.д. латинские простые ключи
не хотел делать вам больно но держите)
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
и как это расходится с моими словами?
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
цитирую из вышесказанного: в принципе библиотека первую строку использует как ключ столбца и выпиливает все лишние символы и сливает слова в одно в нижнем регистре, но это плохой подход...
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
можно искать в массиве чисел максимальное и минимальное полным проходом по всему массиву циклом, а можно воспользоваться более правильными функциями Math.min/max... вопрос "религии" и "подхода" - если вдруг по непонятной причине проявятся глюки через какое-то время, то вы в последнюю очередь подумаете на то, что имена столбцов в коде зашиты на русском языке, а заголовки в таблице могут просто измениться, т.к. это "ЧЕЛОВЕЧЕСКИЕ" заголовки (изменяемые, и 100% когда-то кто-то изменит их как "больше понравится"), а не служебные статичные
источник

AR

Akim Rahimberdiev in Node.js — русскоговорящее сообщество
Всем привет, ребята, такой вопрос, оборачивать в try-catch большой блок кода, даже с кусками, которые потенциально могут быть вынесены (например деструктуризация объекта запроса на его параметры) из него, помимо понижения производительности это еще и говнокод? Или так делают?

Даже не деструктуризация например, а просто инициализация переменных какими-то дефолтными значениями, то есть код точно исключение не вызовет
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Akim Rahimberdiev
Всем привет, ребята, такой вопрос, оборачивать в try-catch большой блок кода, даже с кусками, которые потенциально могут быть вынесены (например деструктуризация объекта запроса на его параметры) из него, помимо понижения производительности это еще и говнокод? Или так делают?

Даже не деструктуризация например, а просто инициализация переменных какими-то дефолтными значениями, то есть код точно исключение не вызовет
если код расчитан на довольно высокие нагрузки, то лучше вообще постараться избежать обертки try-catch, т.к. она "жадная"... в противном случае в нее лучше оборачивать только те участки кода, которые потенциально могут вызвать исключения (если эти исключения нужно обработать, а не уронить процесс - например вызовы await)
источник

AR

Akim Rahimberdiev in Node.js — русскоговорящее сообщество
Ну там в каждом методе вызов await, потому что сиквалайз, и в тз требования обрабатывать вообще любые ошибки. Вопрос сейчас именно в том, что добавление в блоке трай лишних пару строк с обычным присваиванием переменных сильно изменит разницу во времени выполнения или на фоне общего падения производительности это мелочи?
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
нет - не больше, чем добавление строк кода ВНЕ блока...
источник