Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2019 July 29

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Встречный вопрос: а зачем аж двум микросервисам участвовать в таком простом действии как аплоад файла?
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
@m03geek так історично склалось))) міняти вже пізно)
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
так а в чем вопрос-то? открываете сокет и шлете
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
мы так слали. один микросервис слал другому аудиофайл кусочками. постепенно. а второй отвечал потом.
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
загружаемый файл это ReadableStream. слушаете этот стрим и отправляете кусочки в сокет. а из сокета слушаете ответы. чтобы узнать проценты нужно знать общий размер файла
источник

VS

Vlad Skrygun in NodeUA - JavaScript and Node.js in Ukraine
як в об'єкті відбуувається доступ до його властивості?
Наприклда
 
const vlad = {
name: 'Vlad',
age: 19
}

Я звертаюся до vlad.age
як відбувається пошук цієї властивості під капотом? Йде просто перебір?
В масиві є метод find який по факту цикл перебору який співставлєш певне значення з кожним елементо
В об''єкті так само?
источник

🏡К

🏡 Назар Калитюк... in NodeUA - JavaScript and Node.js in Ukraine
Vlad Skrygun
як в об'єкті відбуувається доступ до його властивості?
Наприклда
 
const vlad = {
name: 'Vlad',
age: 19
}

Я звертаюся до vlad.age
як відбувається пошук цієї властивості під капотом? Йде просто перебір?
В масиві є метод find який по факту цикл перебору який співставлєш певне значення з кожним елементо
В об''єкті так само?
ну почнем з того, що find бере предикат і там не вийде пряму адресацію зробить. А в об'єкті мабуть пряма адресація, там не треба перебір. Так само як індекс масиву. Але це я так припускаю тільки.
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Так ми юзаємо бібліотеку cote вона і робить це по суті(відкриває сокет і шле через нього) , але  питання в тому шо я емітаю івенти з першого мікросервіса в другий, а другий може тимчасово відпасти. Використовується механізм типу publisher - subscriber, і він не гарантує доставку, тому що subscriber може відвалитись тимчасово
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Переслано от Elena Sharovar
так а в чем вопрос-то? открываете сокет и шлете
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Переслано от Elena Sharovar
мы так слали. один микросервис слал другому аудиофайл кусочками. постепенно. а второй отвечал потом.
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Отак бібліотека припирає до стіни горе - програмістів😂
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
І особливість цього cote в тому , шо об'єкти subscriber, publisher, шо по суті являють собою сокет з'єднання( наскільки я розумію), часто падають і самі реконектяться, тобто вони часто офлайн(( Тому publisher може емітнути, але його ніхто не прослухає.
источник

G

GNU/Vsevolod in NodeUA - JavaScript and Node.js in Ukraine
Vlad Skrygun
як в об'єкті відбуувається доступ до його властивості?
Наприклда
 
const vlad = {
name: 'Vlad',
age: 19
}

Я звертаюся до vlad.age
як відбувається пошук цієї властивості під капотом? Йде просто перебір?
В масиві є метод find який по факту цикл перебору який співставлєш певне значення з кожним елементо
В об''єкті так само?
Хеш таблица.
источник

VS

Vlad Skrygun in NodeUA - JavaScript and Node.js in Ukraine
GNU/Vsevolod
Хеш таблица.
дякую)
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Anton Kovalenko
І особливість цього cote в тому , шо об'єкти subscriber, publisher, шо по суті являють собою сокет з'єднання( наскільки я розумію), часто падають і самі реконектяться, тобто вони часто офлайн(( Тому publisher може емітнути, але його ніхто не прослухає.
ну тот факт, что они часто офлайн это печально, ибо на практике без всяких "котов" обычные сокеты (будь то веб- или tcp/udp) падает крайне редко.

ну а если отпал - то и фиг с ним, подумаешь. Если что выведете пользователю табличку "сорян у нас микросервисы"
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
+1. почему это они там у вас отконнекчиваются? там что-то с сетевым соединением, а не с библиотекой. тогда получатель должен на каждое сообщение присылать подтверждение "я получил" и только тогда слать следующий кусок файла. но так вы долго слать будете. лучше найдите причину почему отсоединяется.
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
аа. почитала про cote. он похоже так сделан 😂
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
аа. почитала про cote. он похоже так сделан 😂
Як так? Поділись, будь ласка, шо думаєш) я ще джун тому багато не розумію
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Alexander
ну тот факт, что они часто офлайн это печально, ибо на практике без всяких "котов" обычные сокеты (будь то веб- или tcp/udp) падает крайне редко.

ну а если отпал - то и фиг с ним, подумаешь. Если что выведете пользователю табличку "сорян у нас микросервисы"
Дякую)
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Насколько я поняла, cote пытается слать данные в «какой нибудь» из сокетов в надежде что какой-то ответит. Это ОК если у тебя просто «запрос-ответ» но не ОК когда тебе нужно в один и тот же сокет целую последовательность отправлять, а он в разные их шлет. Вот здесь в коде они отправляют каждый send() куда попало https://github.com/dashersw/cote/blob/master/src/components/requester.js и в issues пишут что загрузка файлов не поддерживается https://github.com/dashersw/cote/issues/122
источник