|
-133 / 0 / 0
Регистрация: 07.01.2023
Сообщений: 116
|
||||||
Node.js 16 uuid выдает ошибку27.01.2026, 19:51. Показов 2471. Ответов 44
Метки нет (Все метки)
вот ошибка
node:internal/modules/cjs/loader:936 throw err; ^ Error: Cannot find module 'uuid' Require stack: - C:\Users\user\Downloads\online-store-full-course-master\server\controllers\deviceControll er.js - C:\fullstack-jwt-auth-master\server\router\deviceRouter.js - C:\fullstack-jwt-auth-master\server\router\index.js - C:\fullstack-jwt-auth-master\server\index.js at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15) at Function.Module._load (node:internal/modules/cjs/loader:778:27) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (C:\Users\user\Downloads\online-store-full-course-master\server\controllers\deviceControll er.js:1:14) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Object.<anonymous> (C:\fullstack-jwt-auth-master\server\router\deviceRouter.js:3:2 6) at Module._compile (node:internal/modules/cjs/loader:1105:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) { code: 'MODULE_NOT_FOUND', requireStack: [ 'C:\\Users\\user\\Downloads\\online-store-full-course-master\\server\\controllers\\deviceContr oller.js', 'C:\\fullstack-jwt-auth-master\\server\\router\\deviceRouter.js' , 'C:\\fullstack-jwt-auth-master\\server\\router\\index.js', 'C:\\fullstack-jwt-auth-master\\server\\index.js' ] } [nodemon] app crashed - waiting for file changes before starting...
потом установил еще uuidv4 все равно выдает ошибку
0
|
||||||
| 27.01.2026, 19:51 | |
|
Ответы с готовыми решениями:
44
Не запускается пакет node js - пакетами? npm? сам node? gulp? Выложил приложение Node js на хост, ошибка (node:12900) [DEP0005] DeprecationWarning: Buffer() Не могу с решениями задач на node js (я понимаю как их решить на js, но как на node js не знаю) |
|
14354 / 9457 / 1360
Регистрация: 21.01.2016
Сообщений: 35,653
|
||
| 03.02.2026, 07:44 | ||
|
0
|
||
|
Software Engineer
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
|
|
| 03.02.2026, 07:55 | |
|
0
|
|
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
||
| 03.02.2026, 13:46 | ||
|
0
|
||
|
Software Engineer
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
|
||
| 03.02.2026, 14:56 | ||
![]() От тебя же ноль пруфов хоть по какому-либо из твоих тейков. Просто бесконечный поток шизы, не имеющей ничего общего с реальностью. Видимо ты мазохист и тебе нравится, когда тебя постоянно окунают лицом в фекалии. И ты усердно продолжаешь приходить в этот тред за новой "порцией". Если же тебе не понятен смысл написанного, то просто пойди устройся куда-то на работу в нормальную компанию, а не сиди в помойке под названием "фриланс".
0
|
||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
||||
| 05.02.2026, 17:03 | ||||
|
0
|
||||
|
Software Engineer
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
|
||||||||
| 05.02.2026, 19:02 | ||||||||
![]() Ну давай, приведи мне js best practices какой-то из крупных компаний, где прямо говорится о том, что ради микрооптимизаций, которые экономят какое-то мизерное количество тактов CPU в первое время работы приложения, надо приносить в жертву все остальное, что я перечислял выше. С удовольствием почитаю ![]() Фриланс - всего лишь отправная точка для разработчиков-новичков. Это то же самое, если к посетителю ресторана пристанет студент-официант с вопросом "А ты чего официантом не работаешь? Потому что конкуренцию не выдержал?" Это был один из действительно важных примеров говнокода, когда плохая реализация в алгоритмическом контексте куда критичнее, чем микроскопическая абстракция над UUID v4, которая будет съедена через какое-то время работы приложения JIT-компилятором после прогрева мономорфного кода. В случае выбора не самого оптимального алгоритма никакой JIT тут не поможет. Перед тейком о валидации данных стоит "ИЛИ". Каким образом твой состоящий из маргарина мозг вообще слепил в кучу 2 разных примера? У тебя все настолько плохо с чтением и пониманием написанного? Начни хотя бы с самой самой базы. Открываешь гугл и ищешь по ключевым словам: - nodejs source code github - v8 source code github - v8 jit compiler - v8 maglev - v8 hidden classes - v8 fast properties - v8 improved code caching - v8 inline caching monomorphic/polymorphic/megamorphic - software development trade-offs Если ты даже после этого не поймешь почему лишний call + if на уровне исходника является допустимой ценой, когда на противоположной чаше весов стоит все остальное (о чем я писал в сообщениях выше), то медицина тут бессильна. Пациента проще усыпить, чем пытаться лечить. В целом kidASM - наглядный пример того, почему во фрилансе нельзя задерживаться надолго. Практически полное отсутствие развития и критического мышления. Можно говнякать как угодно, все равно нет других членов команды, кто мог бы это заметить и ткнуть носом. Полное непонимание как работают используемые им инструменты. NIH синдром, который приводит к активному "велосипедостроению" и полному игнорированию каких-либо общепринятых подходов в разработке.
0
|
||||||||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
|||||||||||
| 05.02.2026, 19:43 | |||||||||||
|
Best practices - (множественное число) это набор статей, ссылаешься на нечто абстрактное, какая из статей?
0
|
|||||||||||
|
Software Engineer
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
|
|||||||||||||
| 05.02.2026, 23:18 | |||||||||||||
|
Также, если в проекте есть не выдуманные, а реальные cpu intensive tasks, то к решению этой проблемы сразу подойдут со стороны native addons, а не будут пытаться что-то там оптимизировать на js. Как кусочки маргарина в твоей черепной коробке соотнесли это с валидацией данных - совершенно непонятно. ![]() Учитывая твое неумение выражать свои мысли хоть в какой-то понятной форме, я достану хрустальный шар и попробую пованговать, что же ты хотел сказать этим. Давай угадаю, ты хотел мне поведать "страшную тайну" о libuv event loop locks? ![]() Только в ответ я тебе поведаю еще более "страшную тайну", записывай: в Node.js никто не запускает cpu intensive tasks в контексте main event loop. Только тсссс, никому не рассказывай, это "страшная тайна". ![]()
0
|
|||||||||||||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
|||||||||||||||
| 06.02.2026, 01:24 | |||||||||||||||
![]() ![]() ![]()
0
|
|||||||||||||||
|
Software Engineer
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
|
|||||||||||||||||
| 07.02.2026, 02:38 | |||||||||||||||||
|
UUID - это 128-битный идентификатор (16 октетов), для которого стандартизованы: - Двоичный формат (расположение полей/битов). - Текстовое представление (hex + дефисы). - URN-представление urn:uuid:... Также в RFC буквально прямым текстом написано: "As an implementation note, equality comparison can be performed on many systems by doing the appropriate byte-order canonicalization, and then treating the two UUIDs as 128-bit unsigned integers." В СУБД для хранения UUID и манипуляций с ним есть соответствующий тип данных. Никто никогда в здравом уме не хранит UUID в базе как строку, и тем более не оперирует этим значением как строкой. Как я догадываюсь из шизы в сообщении выше, только макака под ником kidASM так делает. Учитывая, что у тебя все очень плохо с чтением и пониманием написанного, специально для тебя выделю ключевую часть из всего этого: Строка вида "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" - это лишь каноническая текстовая репрезентация 16 октетов (128 бит), которая не имеет ничего общего с тем, как хранятся и обрабатываются идентификаторы. Дефисы - не часть UUID. Это только форматирование для читаемости (группы 8-4-4-4-12 шестнадцатеричных символов). Иногда в системах встречаются форматы без дефисов или в фигурных скобках - это тоже репрезентации, а не новый идентификатор. Но если бы твой IQ состоял более, чем из 2 циферок, а также если бы ты мог хоть немного понимать смысл написанного текста, то мог бы попробовать осилить UUID RFC, а также базовые знания о том, как устроены классические B-tree индексы в СУБД (я даже не предлагаю разбираться с другими типами индексов). Если бы ты осилил эту минимальную базу, то понимал бы почему использовать UUID v4 (как и любые другие варианты, которые ухудшают index locality) для индексируемых полей является очень плохой идеей. Но так как ты обычная макака-копипастер, которая в принципе не понимает что это, как оно работает под капотом и в каких ситуациях что использовать, то можно переходить к следующей порции твоей шизы. Ты же все равно ничего не понял из того, что я написал выше. Никакой "пересортировки колонки" не происходит, такой формулировки в принципе не существует в контексте СУБД. Просто очередной твой бред. При использовании UUID v4 для индексируемых полей - с B-tree индексом будут происходить не самые лучшие вещи: вставки идут по всему дереву, page split (и очень часто - каскадный), фрагментация индекса, и другие непонятные тебе вещи. ![]() ![]() ![]() Небольшой спойлер для тебя: человек на должности CTO (именно настоящий CTO, а не рандомный чувак, которому ты от балды повесил ачивку CTO) в компаниях уровня Sony не занимается написанием кода. CTO в большой корпорации - управленец и стратег, а не "главный программист", который сидит пишет код. Код он может писать разве что эпизодически (прототип, разбор критичного инцидента, ревью архитектурных решений), но это не основной способ приносить пользу и такое происходит достаточно редко. > CTO огромной корпорации. > "И у него было очень много свободного времени." С этого прям в голос ![]() Я даже в одном из сообщений выше расписывал какая версия для чего подходит. Но все тщетно, любая техническая информация (да и не техническая тоже) в твоей черепной коробке просто не усваивается. Абсолютно. Как мы выше уже выяснили, суть и область применения UUID для тебя остаются полной загадкой. Для тебя это просто какая-то строка с циферками, буковками и дефисами. ![]() Про "Никакой бизнес не будет соблюдать традиции, если это не выгодно" в контексте Sony очень смешно слушать. Достаточно понаблюдать за их мобильным подразделением. Количество линеек смартфонов сокращается, производство переносится в "банановые республики", качество падает, количество брака растет, цена летит в космос (за "Sony Xperia 1" просят больше, чем за большинство других флагманов). Часть железа - говно (некоторые сенсоры в блоке камер вообще из 2019 года). Родной софт смартфона - говно. Апдейты системы спокойно можно ждать пол года, а то и больше. Значительную часть остального софта (который является стандартным для остальных смартфонов) надо искать на Google Play, у Sony даже стокового диктофона нет. Продажи околонулевые, их смартфоны даже в Японии никто не покупает. У Sharp (другой японский производитель) и то продажи выше. Но бездарное руководство мобильного подразделения Sony упорно продолжает сжигать деньги в пустоту. - Встроенный web сервер по умолчанию работает в однопоточном режиме: "The web server runs only one single-threaded process, so PHP applications will stall if a request is blocked." - С версии 7.4.0 через переменную окружения PHP_CLI_SERVER_WORKERS можно задать фиксированное количество воркеров, чтобы не блокировать выполнение на 1 запросе. Но вот же незадача, здесь воркеры - это отдельные процессы созданные через fork (из-за чего эта фича не работает на Windows), а не "потоки", о которых ты там бредишь. Также воркеры не создаются под каждый новый запрос, их количество фиксировано. В очередной раз ты попытался влезть в какую-то техническую тему, и в очередной раз обосрался. Ничего нового. ![]() ![]() ------------------- В целом ничего нового. Очередной поток шизы. Любая попытка kidASM начать какой-то технический спор (Node.js/UUID/СУБД/PHP) ожидаемо быстро заканчивается обычным обсером. Предполагаю, что kidASM (судя по его вектору движения и упорству) метит на 1 место рейтинга самых бездарных и профнепригодных. Видимо планирует подвинуть с пьедистала нынешнего лидера - pgb. Ну что ж, ждем развития событий в следующих сериях этого "сериала". Вдруг нашему пациенту удастся свергнуть pgb с трона. ![]() kidASM, давай, не подведи. Жду от тебя еще более забористого потока бреда. Обязательно зайду на выходных почитать.
0
|
|||||||||||||||||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
|||
| 07.02.2026, 13:08 | |||
|
0
|
|||
|
14354 / 9457 / 1360
Регистрация: 21.01.2016
Сообщений: 35,653
|
|
| 08.02.2026, 07:56 | |
|
1
|
|
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
|
| 09.02.2026, 15:45 | |
0
|
|
|
14354 / 9457 / 1360
Регистрация: 21.01.2016
Сообщений: 35,653
|
|
| 09.02.2026, 16:10 | |
|
Конструктивный диалог получается
0
|
|
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
||
| 10.02.2026, 18:13 | ||
|
Ок, расскажу почему. 1. Все устройства имеющие микросхему, могут только считать (базовая арифметика). И процессор (компьютера, смартфона, ...) в их числе. 2. Если мы отталкиваемся от 64-битной разрядности, то в регистр процессора может поместиться число разрядностью 64 бита (или меньше) (про вектора это отдельная история). 3. Предположим что в таблице (БД) более 100 млн. записей, и нужно найти одного пользователя. Если столбец id - это число, процессор загрузит число в регистр, увеличит его (может +1, может +985, зависит от алгоритма поиска). И это будет работать быстро. Но если столбец id - это UUID, тогда ко всем описанным операциям, ещё добавляется разделение числа на порядки (этот код добавляет компилятор/интерпретатор). И получаем, скорость выполнения кода, возведённая в степень количества запросов (в контексте Node.js). Для статей "best practice" и для pet-проектов, это вполне нормально, разница не заметна. Но для реальных проектов, это медленно. П.С. Всё это относиться к 64-битному процессору сервера. Но если процессор 128-битный, это не актуально.
0
|
||
|
14354 / 9457 / 1360
Регистрация: 21.01.2016
Сообщений: 35,653
|
||
| 11.02.2026, 06:38 | ||
|
UUID ничем не выделяется на фоне других типов, которые в регистр не помещаются. И это не делает работу с ними тормозной, а сами типы неюзабельными. Не веришь - создай в каком-нибудь постгресе две таблички на 100М записей с разными типами ключей, да сравни. Custos, походу прав оказался в своём глумлении над твоими словами. Я без наездов, но реально бредятину прочитал...
2
|
||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
|
| 11.02.2026, 13:49 | |
|
Ок, давай поспорим?
0
|
|
|
14354 / 9457 / 1360
Регистрация: 21.01.2016
Сообщений: 35,653
|
|
| 11.02.2026, 16:12 | |
|
kidASM, о чём? О правдивости твоих выдумок и домыслов? Так ты сам с собой можешь поспорить. Возьми, да проверь на том же PostgreSQL с двумя ключами, как я тебе выше уже предлагал.
Добавлено через 8 минут Но даже без СУБД и UUID. Сам посыл твой звучит... бредово. Будто любая структура данных больше машинного слова становится почти не юзабельна. Я десять лет работал и не знал. А тут как гром среди ясного неба: если оно в регистр не помещается, то всё - капут. Однако.
1
|
|
|
Software Engineer
334 / 338 / 55
Регистрация: 23.09.2014
Сообщений: 1,002
|
|||||
| 12.02.2026, 05:53 | |||||
|
Немного подзабыл об этой теме, но да ладно.
Я уже устал разжевывать базовые вещи. Пора тебе самому учиться читать. Просто начни хоть с чего-то, хоть с какой-то базы: https://www.postgresql.fastwar... ee-indexes Даже в скорости записи разница между UUID v7 и обычным bigint автоинкрементом находится на уровне погрешности. Заодно там можно наблюдать то, о чем я писал раньше - почему для СУБД не надо использовать UUID v4, а также почему нельзя хранить и оперировать UUID как строкой. Только это самый самый примитивный пример, когда у тебя всего 1 сервер с базой. А можно ведь "поспорить" в плоскости более реалистичных сценариев для больших проектов. Например несколько таких сценариев: 1) Multi-region active-active (несколько датацентров, запись в каждом). В каждом регионе есть свой кластер PostgreSQL, между ними - логическая репликация (в т.ч. multi-master решения вокруг Postgres) для синхронизации данных. 2) Шардинг PostgreSQL (например, Citus или шардинг на уровне приложения). Данные разбиты на шарды (несколько PostgreSQL-узлов). Запись идёт в разные шарды параллельно. А потом еще может потребоваться ребалансировка ("переезд" данных между шардами). 3) Edge / Offline-first: удалённые узлы пишут локально и потом "догоняют" центр. Филиалы/устройства/edge-сервисы пишут в локальный Postgres (или локальный буфер), а позже отправляют данные в центральный Postgres. 4) Несколько независимых writer-сервисов (микросервисы) пишут в одну БД. Много сервисов/инстансов одновременно вставляют записи в одну таблицу (или несколько), но необходимо, чтобы ID создавался на стороне приложения, а не базы (чтобы не было "точки координации"). 5) Event sourcing / CDC pipeline: события из разных источников сходятся в общий Postgres. События приходят из нескольких продьюсеров (несколько сервисов, несколько регионов) и складываются в "event store" или аналитическую таблицу в PostgreSQL. 6) Репликация в несколько потребителей (OLTP --> OLAP/архив), где важна "сливаемость". Основная OLTP-база реплицируется/выгружается в другие Postgres-кластеры (аналитика, витрины, архив), иногда с объединением данных из нескольких OLTP. kidASM, расскажи мне как ты тут будешь решать проблемы с обычным bigint автоинкрементом. Очень интересно послушать.
0
|
|||||
|
424 / 313 / 115
Регистрация: 28.08.2013
Сообщений: 863
|
|||||
| 12.02.2026, 13:56 | |||||
|
0
|
|||||
| 12.02.2026, 13:56 | |
|
Запущенный сервер node.js в браузере ничего не выдает
Node http.createServer - listen EADDRINUSE: address already in use Как найти ошибку? Как исправить ошибку при использовании @qiwi/bill-payments-node-js-sdk для выставления счёта? Ошибка Node.js Unexpected token ILLEGAL Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|