Size: a a a

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

2021 March 12

I

Igor in Node.js — русскоговорящее сообщество
Damir
Добрый день,
подскажите пожалуйста почему данный код:
const config = {
 login: 'asd',
 password: '1234'
}
const r = Buffer.from(Buffer.from([0]).buffer).toString()
console.log(r)


А конкретно Buffer.from(Buffer.from([0]).buffer).toString()
возвращает часть исходного кода приложения?

кто-нибудь уже сталкивался с подобным поведением? Где можно почитать об этом? Очень интересно
источник

y

ymdev in Node.js — русскоговорящее сообщество
Damir
Добрый день,
подскажите пожалуйста почему данный код:
const config = {
 login: 'asd',
 password: '1234'
}
const r = Buffer.from(Buffer.from([0]).buffer).toString()
console.log(r)


А конкретно Buffer.from(Buffer.from([0]).buffer).toString()
возвращает часть исходного кода приложения?

кто-нибудь уже сталкивался с подобным поведением? Где можно почитать об этом? Очень интересно
Вот что сказал один умный человек:

- менеджер памяти для рантайма js запрашивает у операционки большой кусок озу. Например, 2 мегабайта. Потом он нарезает эти 2 мб как ему угодно
- например, выделил 8 кб под буффер исходного кода для парсинга
- поигрался с ним, распарсил в AST и выкинул страницу 8кб, как ненужную
- потом пришел запрос уже от кода "дай мне что-нибудь, чтобы вместить буффер", и ему прилетает эта же нынче свободная страница 8 кб
- А почему мы с помощью API ноды получаем какие-то левые данные, а не те, которые мы в from уазали? Потому что .buffer - это сырой массив
- данные лежат в буфере и ограничиваются им
- в этом буфере ЛЕЖАТ твои данные, но по byteOffset и buf.length
- а ArrayBuffer - это абстракция над сырым массивом байт, поверх которого работает все остальное, включая IntArray, FloatArray, Buffer и т.д.
источник

A

Adv0cat in Node.js — русскоговорящее сообщество
Максим
Сделать аналог шопифай.
А нафига аналог?)) Если уже есть инструмент рабочий, зачем делать конкурента на ровном месте, темболее в виде пет проекта?)) Это же скучно))
источник

I

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

М

Максим in Node.js — русскоговорящее сообщество
Adv0cat
А нафига аналог?)) Если уже есть инструмент рабочий, зачем делать конкурента на ровном месте, темболее в виде пет проекта?)) Это же скучно))
Ясно.
источник

ES

Evgeniy Safronov in Node.js — русскоговорящее сообщество
Как сделать общую переменную при асинхронности?

Есть переменная в классе: this.cache

Есть некий метод:

let promises = [];
for (let city of cities) {
   const cityPromise = this.getCity(city, false);
   promises.push(cityPromise);
}

return await Promise.all(promises);



Как сделать так чтобы при вызове метода this.getCity и переписывая там this.cache, было видно изменение в this.cache в асинхронном вызове this.getCity

Надеюсь понятно объяснил свой вопрос
источник

VG

Viktor Gronskiy in Node.js — русскоговорящее сообщество
может сделать cache статическим?
источник

VG

Viktor Gronskiy in Node.js — русскоговорящее сообщество
а вообще, надо по паттернам раскидать, и кеш в отдельный класс вынести
источник

S

Susa in Node.js — русскоговорящее сообщество
Viktor Gronskiy
а вообще, надо по паттернам раскидать, и кеш в отдельный класс вынести
👍
источник

F

Frontend developer in Node.js — русскоговорящее сообщество
Кто знает как вставить в mysql массив с объектами, внутри объетов есть еще массив
источник

ES

Evgeniy Safronov in Node.js — русскоговорящее сообщество
Viktor Gronskiy
а вообще, надо по паттернам раскидать, и кеш в отдельный класс вынести
Это условное название, там временное хранилище пока идет цикл
источник

I

Igor in Node.js — русскоговорящее сообщество
Evgeniy Safronov
Как сделать общую переменную при асинхронности?

Есть переменная в классе: this.cache

Есть некий метод:

let promises = [];
for (let city of cities) {
   const cityPromise = this.getCity(city, false);
   promises.push(cityPromise);
}

return await Promise.all(promises);



Как сделать так чтобы при вызове метода this.getCity и переписывая там this.cache, было видно изменение в this.cache в асинхронном вызове this.getCity

Надеюсь понятно объяснил свой вопрос
отресолвятся промисы — обновится переменная, что не так?
источник

ES

Evgeniy Safronov in Node.js — русскоговорящее сообщество
Эта переменная имеет влияет на логику внутри this.getCity
источник

y

ymdev in Node.js — русскоговорящее сообщество
Frontend developer
Кто знает как вставить в mysql массив с объектами, внутри объетов есть еще массив
ну, перегони в json и запиши строкой, если сильно надо. Может даже у MySQL есть типы для работы с json (я давно не пользовался ей)
источник

D

Damir in Node.js — русскоговорящее сообщество
ymdev
Вот что сказал один умный человек:

- менеджер памяти для рантайма js запрашивает у операционки большой кусок озу. Например, 2 мегабайта. Потом он нарезает эти 2 мб как ему угодно
- например, выделил 8 кб под буффер исходного кода для парсинга
- поигрался с ним, распарсил в AST и выкинул страницу 8кб, как ненужную
- потом пришел запрос уже от кода "дай мне что-нибудь, чтобы вместить буффер", и ему прилетает эта же нынче свободная страница 8 кб
- А почему мы с помощью API ноды получаем какие-то левые данные, а не те, которые мы в from уазали? Потому что .buffer - это сырой массив
- данные лежат в буфере и ограничиваются им
- в этом буфере ЛЕЖАТ твои данные, но по byteOffset и buf.length
- а ArrayBuffer - это абстракция над сырым массивом байт, поверх которого работает все остальное, включая IntArray, FloatArray, Buffer и т.д.
большое спасибо, разжевали)
источник

В

Вадим in Node.js — русскоговорящее сообщество
замучался с nvm
устанавливаю любой пакет глобально, затем пытаюсь в консоли запустить бинарник - command not found
как побороть?
источник

N

Nikita in Node.js — русскоговорящее сообщество
Вадим
замучался с nvm
устанавливаю любой пакет глобально, затем пытаюсь в консоли запустить бинарник - command not found
как побороть?
перезайти в терминал
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
замучался с nvm
устанавливаю любой пакет глобально, затем пытаюсь в консоли запустить бинарник - command not found
как побороть?
не знаком с nvm, но ты уверен, что в папке, в которую ставятся пакеты, твоя ОС ищет пакеты? Может надо указать просто в переменную среды эту папку?
источник

F

Frontend developer in Node.js — русскоговорящее сообщество
ymdev
ну, перегони в json и запиши строкой, если сильно надо. Может даже у MySQL есть типы для работы с json (я давно не пользовался ей)
Спасибо
источник

В

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