Size: a a a

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

2020 March 28

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
А вообще если я пишу C++ аддон, у меня из event loop'а будут улетать в worker pool задачи и там параллельно исполнятся, читал в статье сам не пробовал, но мне кажется это предел практичности, пиши что хочешь
источник

И

Илья | 😶 in Node.js — русскоговорящее сообщество
Сергей Пограничный
А вообще если я пишу C++ аддон, у меня из event loop'а будут улетать в worker pool задачи и там параллельно исполнятся, читал в статье сам не пробовал, но мне кажется это предел практичности, пиши что хочешь
так и будет, да
Та же асинхрощина что у ноды под капотом
источник

LK

L K in Node.js — русскоговорящее сообщество
Илья | 😶
так и будет, да
Та же асинхрощина что у ноды под капотом

При этом потоки воркеров существуют в том же процессе, в котором находится основная программа,

1 cpu used

если потоки существуют в 1 контексте 1 cpu то это context switching
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
Господа, подскажите best practices работы с базой и работой в mw. У меня есть ряд middlewares они передаются в разные router объекты и делают что-то с базой  - методами объекта db : Database. Подключение к базе обусловлено временем жизни этого объекта. Как всем middlewares красиво общаться с базой не создавая новых подключений? Сейчас я некрасиво передаю им db во время
modulde.exports = (function(){(db) => { router definitions }})()
через server.js, но мне кажется так не делают. Создавать инстанс подключения в отдельном процессе и общатсья emitter'ом или глобальный объект делать?
источник

E

Envy in Node.js — русскоговорящее сообщество
Доброе утро всем, ребят, такая ситуация возникла:
Необходимо условную строку aaa;bbb;"ccc;ddd";eee
Разбить по ; в том случае, если ; не находится в "
То есть на выходе получить ['aaa', 'bbb', 'ccc;ddd', eee]
Есть следующая функция:
function rowParser(
   row,
   separator
) {
   try {
       let temp = [];
       const result = [];
       let firstQuote = row.indexOf('"');
       let secondQuote = row.indexOf('"', firstQuote + 1);

       for (const char of row) {
           const charIndx = row.indexOf(char);            

           if (char === '"') {
               continue;
           }

          else if (charIndx > firstQuote && charIndx < secondQuote) {                
               temp.push(char);
               continue;
           }

          else if (char === separator) {
               
               result.push(temp.join(''));
               temp = [];
               continue;
           }
           temp.push(char);
       }
       return result;
   } catch (error) {
       throw new Error(error);
   }
}
Которая, по логике вещей, должна это реализовать благодаря первому блоку else if
Но, к сожалению, отрабатывает не так, как ожидается. Пожалуйста, ткните носом, или хоть намекните, что именно делаю не так?
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
Envy
Доброе утро всем, ребят, такая ситуация возникла:
Необходимо условную строку aaa;bbb;"ccc;ddd";eee
Разбить по ; в том случае, если ; не находится в "
То есть на выходе получить ['aaa', 'bbb', 'ccc;ddd', eee]
Есть следующая функция:
function rowParser(
   row,
   separator
) {
   try {
       let temp = [];
       const result = [];
       let firstQuote = row.indexOf('"');
       let secondQuote = row.indexOf('"', firstQuote + 1);

       for (const char of row) {
           const charIndx = row.indexOf(char);            

           if (char === '"') {
               continue;
           }

          else if (charIndx > firstQuote && charIndx < secondQuote) {                
               temp.push(char);
               continue;
           }

          else if (char === separator) {
               
               result.push(temp.join(''));
               temp = [];
               continue;
           }
           temp.push(char);
       }
       return result;
   } catch (error) {
       throw new Error(error);
   }
}
Которая, по логике вещей, должна это реализовать благодаря первому блоку else if
Но, к сожалению, отрабатывает не так, как ожидается. Пожалуйста, ткните носом, или хоть намекните, что именно делаю не так?
Причем здесь node?
источник

E

Envy in Node.js — русскоговорящее сообщество
Ты предлагаешь общаться со школьниками в javascript_noobs_ru?
источник

E

Envy in Node.js — русскоговорящее сообщество
По факту работа ведётся в node и ведётся с файлом, все эти действия опущены ввиду того, что конкретно сейчас это не имеет значения. Если бы я не опускал всех этих действий, тебя бы это устроило?
источник

E

Envy in Node.js — русскоговорящее сообщество
Или ты переживаешь, что твой вопрос потеряется?
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Envy
Ты предлагаешь общаться со школьниками в javascript_noobs_ru?
Да
источник

И

Илья | 😶 in Node.js — русскоговорящее сообщество
Envy
Ты предлагаешь общаться со школьниками в javascript_noobs_ru?
ну, если вопрос говно, то нубам самое то
источник

И

Илья | 😶 in Node.js — русскоговорящее сообщество
для личностного роста так сказать
источник

H

Hesus in Node.js — русскоговорящее сообщество
Envy
По факту работа ведётся в node и ведётся с файлом, все эти действия опущены ввиду того, что конкретно сейчас это не имеет значения. Если бы я не опускал всех этих действий, тебя бы это устроило?
тебе сюда @js_noobs_ru
источник

V

Victor in Node.js — русскоговорящее сообщество
Сергей Пограничный
Господа, подскажите best practices работы с базой и работой в mw. У меня есть ряд middlewares они передаются в разные router объекты и делают что-то с базой  - методами объекта db : Database. Подключение к базе обусловлено временем жизни этого объекта. Как всем middlewares красиво общаться с базой не создавая новых подключений? Сейчас я некрасиво передаю им db во время
modulde.exports = (function(){(db) => { router definitions }})()
через server.js, но мне кажется так не делают. Создавать инстанс подключения в отдельном процессе и общатсья emitter'ом или глобальный объект делать?
обычно существует абстракция поверх бд в том или ином виде
советую посмотреть курс шварцмюллера на удеми по ноде, он там как раз показывает практики которые обычно юзаются
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
Envy
Или ты переживаешь, что твой вопрос потеряется?
Ты ошибся в начале цикла indexOf
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
У тебя второй сепаратор находится внутри firstQuote и secondQuote диапазона, а ты потом
const charIndx = row.indexOf(char);
снова находишь первый сепаратор в строке, а должен в этом диапазоне
источник

E

Envy in Node.js — русскоговорящее сообщество
Сергей Пограничный
У тебя второй сепаратор находится внутри firstQuote и secondQuote диапазона, а ты потом
const charIndx = row.indexOf(char);
снова находишь первый сепаратор в строке, а должен в этом диапазоне
Удивительно, но меньше всего помощи ожидалось от Вас, благодарю, Сергей, и прошу прощения, если нагрубил
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
Envy
Удивительно, но меньше всего помощи ожидалось от Вас, благодарю, Сергей, и прошу прощения, если нагрубил
Советую использовать дебаггер на node, чтобы отлаживать каждый шаг.
источник

СП

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

H

Hesus in Node.js — русскоговорящее сообщество
валяй
источник