Size: a a a

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

2020 December 22

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
ymdev
Про стримы стоит только вспоминать, когда ты какой-то огромный файл читаешь или большой объем записываешь, или стоит задача не буферизовать данные, а сразу их перекидывать куда-то.

Если хочешь про потоки почитать, то могу посоветовать вот https://github.com/seaman248/stream-handbook-russian
Так не ты ли вчера позиционные аргументы с именованными удивлённо сравнивал? Сегодня уже спец по потокам? Во прогресс
источник

y

ymdev in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Так не ты ли вчера позиционные аргументы с именованными удивлённо сравнивал? Сегодня уже спец по потокам? Во прогресс
Посмотри историю по сообщениям от моего лица, чего спрашивать?
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Чтобы следующее сообщение о том, что в настоящее время новичкам следует при возможности стараться использовать асинхронные итераторы / генераторы, если не стоит задача разработки системного пакета для ноды, выглядело обоснованным
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Выглядело потому что не буду участвовать в сраче)
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
И "обосновывать"
источник

AG

Anton Golovanov in Node.js — русскоговорящее сообщество
The Fallen Phoenix
И "обосновывать"
Тут как-то градус споров последнее время слегка неадекватный.
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Про что и речь, цель была написать альтернативу, имеющий уши да услышит. Некорректно советовать новичкам кидать туториал для системных кодеров ноды. Список граблей по которым пройдется новичек в минимальном виде:
1) текст файла разбивается не по строкам, а как реализация пожелает
2) Чтобы зафиксировать положения разделителей от потока-трансформатора делящего как надо, нужно использовать objectMode, даже если все ещё строка.
3) Совершенно разные подходы к работе с потоками в одном месте. Неочевидно, что они несовсемы, и как точно не потерять данные
4) Попытка стандартизации в ядре ноды была признана как ошибка самими авторами
источник

DS

Dmytro Svyrydenko in Node.js — русскоговорящее сообщество
Ребят, а подскажите пжлст, как лучше всего организовать именование и хранение кастомных кодов ошибок? К примеру у меня есть эндпоинт, и если юзер стучится по нему чаще раза в минуту, я хочу отдать ему 403 с кодом ошибки аля «стучишься слишком часто». При этом на фронте я хочу понимать «а куда именно стучусь часто», чтоб указать правильный перевод ошибки. Для этого мне нужен кастомный эррор код. Но чет вообще нету идей как его называть. TOO_MANY_CALLS_TO_<ENDPOINT> смотрится дико))

Ну или может я вообще не так думаю и нужно это организовывать как-то иначе?
Проект довольно тривиален, никаких сверх уникальных кейсов в нем нету, потому вариант «зависит от проекта» прошу не предлагать :)
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
5) Нет надёжного и простого одновременно способа завершить поток раньше времени, управлять ими в процессе их работы.
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Dmytro Svyrydenko
Ребят, а подскажите пжлст, как лучше всего организовать именование и хранение кастомных кодов ошибок? К примеру у меня есть эндпоинт, и если юзер стучится по нему чаще раза в минуту, я хочу отдать ему 403 с кодом ошибки аля «стучишься слишком часто». При этом на фронте я хочу понимать «а куда именно стучусь часто», чтоб указать правильный перевод ошибки. Для этого мне нужен кастомный эррор код. Но чет вообще нету идей как его называть. TOO_MANY_CALLS_TO_<ENDPOINT> смотрится дико))

Ну или может я вообще не так думаю и нужно это организовывать как-то иначе?
Проект довольно тривиален, никаких сверх уникальных кейсов в нем нету, потому вариант «зависит от проекта» прошу не предлагать :)
Посмотри, как сделано в yarn2 и TypeScript
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Они используют одинаковый способ решить эту проблему
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
У Yarn 2 это даже в блоге было упомянуто
источник

DS

Dmytro Svyrydenko in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Посмотри, как сделано в yarn2 и TypeScript
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Да, но это скорее их список
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
А есть ещё обоснование почему такие
источник

DS

Dmytro Svyrydenko in Node.js — русскоговорящее сообщество
Я просто не уверен а есть ли вообще смысл каждому эндпоинту давать свои еррор коды
Может быть стоит определить какие-то generic эррор коды, а фронт уже пусть сам из контекста понимает? Аля если фронт стучится на запрос 1, то он должен понимать что здесь только один вариант ошибки 403 и он значит конкретную вещь, а потому эррор код не нужен
источник

DS

Dmytro Svyrydenko in Node.js — русскоговорящее сообщество
The Fallen Phoenix
А есть ещё обоснование почему такие
Честно говоря хз как загуглить
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Dmytro Svyrydenko
Я просто не уверен а есть ли вообще смысл каждому эндпоинту давать свои еррор коды
Может быть стоит определить какие-то generic эррор коды, а фронт уже пусть сам из контекста понимает? Аля если фронт стучится на запрос 1, то он должен понимать что здесь только один вариант ошибки 403 и он значит конкретную вещь, а потому эррор код не нужен
Нет. Каждому не имеет. Более того для конкретно HTTP и около него есть стандарт
источник

T

The Fallen Phoenix in Node.js — русскоговорящее сообщество
Эти самые 404 и все такое
источник

DS

Dmytro Svyrydenko in Node.js — русскоговорящее сообщество
The Fallen Phoenix
Нет. Каждому не имеет. Более того для конкретно HTTP и около него есть стандарт
Ну да, потому и 403 юзаю
Правда сейчас нагуглил что конкретно мой кейс это 429, too many requests
источник