Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 August 17

NK

ID:0 in NodeUA - JavaScript and Node.js in Ukraine
YouTube
Андрей Мелихов — Cовременный бэкенд для фронтенда на Node.js
Ближайшая конференция — HolyJS 2020 Moscow
25-28 ноября, Online
Подробности и билеты: https://holyjs-moscow.ru/

. Современный фронтенд — это богатое клиентское приложение, оперирующее развесистым набором данных. Однако, оставаясь в парадигме архитектуры «клиент-сервер», такие приложения всё ещё требуют серверного кода, часть из которого начинаем писать мы, фронтендеры, отвоёвывая пядь за пядью землю под ногами бэкендеров. И вместе с этим приходят вопросы: как писать серверный код? Можно ли весь бэкенд перенести на JavaScript? Будет ли это код enterprise-уровня? Nest — это то, чего все ждали, чтобы начать писать настоящий бэкенд? Что же, разберёмся, что такое бэкенд для фронденда, как писать его так, чтобы было не стыдно, и почему Nest ничего не решает, когда мы говорим об архитектуре.

Андрей Мелихов (Яндекс.Деньги).
Прежде чем стать фронтендером, Андрей несколько лет отдал разработке геофизического оборудования. Писал код для микроконтроллеров на ассемблере и решал задачи передачи данных по километровому шумному…
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
есть ли возможность каким-либо образом задать параметр writableHighWaterMark
при создании tcp/ipc стрима, дабы после вызова .write(...) сообщение слалось сразу, а не накапливались и после шли одним?
такой параметр есть для writable стрима, но если использовать его наследников - то задать возможности я не нашел
источник

OS

Oleksiy Savelyev in NodeUA - JavaScript and Node.js in Ukraine
Maksim Dziba
всем привет. в учебных целях!  с сервера принимаю данные(бд postgresq, таблица "работники"l). и мне нужно их сохранить  в локалСторадж, пока они актуальны. как лучше всего проверять актуальность таблицы??

сделать еще одну талицу, кто когда что добавлял ??
Може в postgre є хеш результата запита як в Oracle
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
Егор Хильченко
есть ли возможность каким-либо образом задать параметр writableHighWaterMark
при создании tcp/ipc стрима, дабы после вызова .write(...) сообщение слалось сразу, а не накапливались и после шли одним?
такой параметр есть для writable стрима, но если использовать его наследников - то задать возможности я не нашел
ну технически net.Socket просто делает  stream.Duplex.call(this, options); ну а тот форвардит в readabl/writable так что должно быть можно просто написать в опции
источник

MD

Maksim Dziba in NodeUA - JavaScript and Node.js in Ukraine
Oleksiy Savelyev
Може в postgre є хеш результата запита як в Oracle
коллега дал ссылку (https://dba.stackexchange.com/questions/58214/getting-last-modification-date-of-a-postgresql-database-table), сам пока еще не читал
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
Denys
ну технически net.Socket просто делает  stream.Duplex.call(this, options); ну а тот форвардит в readabl/writable так что должно быть можно просто написать в опции
в том то и дело, что там есть опция buffer где я могу типо задать переменного разммера хранилище, задал 200 байт, но фокус не вышел
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
это не опция стримов, а в чем задача еще раз?
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
насколько я вижу это нужно для тех у кого свой пул памяти\буферов и они их сами менеджат а стриминг не нужен
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
Denys
это не опция стримов, а в чем задача еще раз?
уменьшить размер буффера, чтобы стрим самопроизвольно не склеивал сообщения перед отправкой
я уже сошелся на разделительных символах, но хотел решить не прибегая к ним
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
а зачем это нужно? (тсп так не работает если что)
уточню - даже если нода будет отправлять каждое сообщение как отдельный тсп пакет промежкточные ноды тсп соединения или ендпоинт могут их объединить в один дата фрейм, это как бы "стриминговый" протокол
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
Denys
а зачем это нужно? (тсп так не работает если что)
уточню - даже если нода будет отправлять каждое сообщение как отдельный тсп пакет промежкточные ноды тсп соединения или ендпоинт могут их объединить в один дата фрейм, это как бы "стриминговый" протокол
делал через ipc, думал что можно сделать некое подобие ивентэмитора, который бы слал события на другой процесс
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
ну разделение данных по пакетам тсп не выйдет сделать если в этом была идея
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
Denys
ну разделение данных по пакетам тсп не выйдет сделать если в этом была идея
хотелось попробовать выкрутиться)
спасибо
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Denys
а зачем это нужно? (тсп так не работает если что)
уточню - даже если нода будет отправлять каждое сообщение как отдельный тсп пакет промежкточные ноды тсп соединения или ендпоинт могут их объединить в один дата фрейм, это как бы "стриминговый" протокол
Чисто теоретически, если есть доступ ко всем промежуточным нодам, через которые будут передаваться тсп пакеты, то такое можно устроить.  Но это явно более трудозатратно чем пустить поверх тсп какой-то протокол общения.
источник

D

Denys in NodeUA - JavaScript and Node.js in Ukraine
Фига, ну так уже тогда лучше битки "майнить" =)

"Доступ" к нодам никак не поможет скорее всего, там это все работает на хардварном уровне и доступа так менять протокол навряд будет (ну без переписывания firmware)
источник
2020 August 18

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Если это линуксовые годы или же пакеты гоняются по лупбеку, то на софтварном уровне можно отключить тсп оптимизации типа nagle и т.п.

В случае лупбеку то вообще должно быть достаточно выставить TCP nodelay и тогда будет работать как раз чтобы получилось "выкрутиться".
источник

ЕХ

Егор Хильченко... in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Если это линуксовые годы или же пакеты гоняются по лупбеку, то на софтварном уровне можно отключить тсп оптимизации типа nagle и т.п.

В случае лупбеку то вообще должно быть достаточно выставить TCP nodelay и тогда будет работать как раз чтобы получилось "выкрутиться".
читал, не хотел delay ставить)))
источник