The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликована платформа Node.js 23.0 с начальной поддержкой языка TypeScript

17.10.2024 10:50

Состоялся релиз Node.js 23.0.0, платформы для выполнения сетевых приложений на языке JavaScript. Node.js 23.0 отнесён к промежуточным веткам, сопровождение которых осуществляется в течение 7 месяцев (до июня 2025 года). В ближайшие дни будет завершена стабилизация ветки Node.js 22, которая 29 октября получит статус LTS и будет поддерживаться до апреля 2027 года. Поддержка прошлых LTS-веток Node.js 20.x и 18.x продлится до апреля 2026 и 2025 годов соответственно.

Основные улучшения:

  • Добавлена экспериментальная поддержка языка TypeScript, допускающего явное определение типов. Поддержка включается при помощи опций "--experimental-strip-types" и "--experimental-transform-types". В случае первой опции работа с TypeScript сводится к очистке специфичных для данного языка определений типов (проверка типов не выполняется, код просто приводится к виду JavaScript без типов). Вторая опция осуществляет преобразование в код на JavaScript некоторых элементов синтаксиса TypeScript, например, перечислений (enum) и пространств имён (namespace).
  • Включена по умолчанию возможность использования вызова "require()" для загрузки JavaScript-модулей ESM (ECMAScript Modules) в синхронном режиме. ESM-модули применяются в браузерах и идут на смену модулям CommonJS, специфичным для Node.js. Для загрузки через "require()" в Node.js ESM-модуль должен выполняться в синхронном режиме (без await на верхнем уровне).
  • Обеспечено автоматическое выявление ESM-модулей в файлах без расширения или с расширением ".js". Ранее подобные файлы трактовались как модули CommonJS, если в размещённом в том же каталоге файле package.json явно не указывался их тип ("type": "module"). В новой версии для файлов, тип которых не обозначен в package.json, вначале осуществляется попытка загрузки как модуля CommonJS, а если это не удалось, то как модуля ESM.
  • Добавлена экспериментальная реализация совместимого с браузерами API Web Storage, предназначенного для постоянного (класс localStorage) или временного (класс sessionStorage) хранения данных в формате ключ/значение. Для включения поддержки Web Storage требуется запуск с флагом "--experimental-webstorage" и указание пути к файлу с хранилищем через флаг "--localstorage-file".
  • Добавлен экспериментальный API SQLite для работы с базами данных, используя язык запросов SQL и хранилище на базе библиотеки SQLite. Помимо хранения базы данных в файле на диске, её также можно размещать в памяти, указав вместо имени файла ":memory:". Вышеотмеченной API Web Storage также реализован поверх SQLite, что привело к добавлению SQLite в число зависимостей для Node.js.
  • Объявлена стабильной команда "node --run", предназначенная для запуска скриптов, определённых в файле package.json.
  • Реализована опциональная поддержка кэширования скомпилированного кода на диске для существенного ускорения запуска модулей. Включение кэширования осуществляется через переменную окружения NODE_COMPILE_CACHE. По своему назначению возможность напоминает пакет v8-compile-cache, но отличается более высокой производительностью и поддержкой модулей ESM.
  • Проведена оптимизация объекта Buffer, позволившая значительно увеличить производительность методов Buffer.copy() и Buffer.write().
  • Повышена производительность модуля node:fs, в котором также сокращено число вызовов кода на C++ в процессе работы.
  • Движок V8 обновлён до версии 12.9, применяемой в Chromium 129.
  • Удалена поддержка 32-разрядных систем с ОС Windows.
  • Из-за внедрения в Node.js и движке V8 возможностей, определённых в стандарте C++20, повышены требования к версии компилятора GCC. Для сборки Node.js теперь требуется как минимум версия GCC 12.

Платформа Node.js может быть использована как для серверного сопровождения работы Web-приложений, так и для создания обычных клиентских и серверных сетевых программ. Для расширения функциональности приложений для Node.js подготовлена большая коллекция модулей, в которой можно найти модули с реализацией серверов и клиентов HTTP, SMTP, XMPP, DNS, FTP, IMAP, POP3, модули для интеграции с различными web-фреймворками, обработчики WebSocket и Ajax, коннекторы к СУБД (MySQL, PostgreSQL, SQLite, MongoDB), шаблонизаторы, CSS-движки, реализации криптоалгоритмов и систем авторизации (OAuth), XML-парсеры.

Для обеспечения обработки большого числа параллельных запросов Node.js задействует асинхронную модель запуска кода, основанную на обработке событий в неблокирующем режиме и определении callback-обработчиков. В качестве способов мультиплексирования соединений поддерживаются такие методы, как epoll, kqueue, /dev/poll и select. Для мультиплексирования соединений используется библиотека libuv, которая является надстройкой над libev в системах Unix и над IOCP в Windows. Для создания пула потоков (thread pool) задействована библиотека libeio, для выполнения DNS-запросов в неблокирующем режиме интегрирован c-ares. Все системные вызовы, вызывающие блокирование, выполняются внутри пула потоков и затем, как и обработчики сигналов, передают результат своей работы обратно через неименованный канал (pipe).

Выполнение JavaScript-кода обеспечивается через задействование разработанного компанией Google движка V8 (дополнительно Microsoft развивает вариант Node.js с движком Chakra-Core). По своей сути Node.js похож на фреймворки Perl AnyEvent, Ruby Event Machine, Python Twisted и реализацию событий в Tcl, но цикл обработки событий (event loop) в Node.js скрыт от разработчика и напоминает обработку событий в web-приложении, работающем в браузере.


  1. Главная ссылка к новости (https://nodejs.org/en/blog/rel...)
  2. OpenNews: Доступна платформа Deno 2.0, развиваемая автором Node.js
  3. OpenNews: В Node.js добавлена экспериментальная поддержка языка TypeScript
  4. OpenNews: Доступна JavaScript-платформа Node.js 22.0.0
  5. OpenNews: Атака на Node.js через манипуляции с прототипами объектов JavaScript
  6. OpenNews: В JavaScript-платформе Bun добавлена поддержка вызова кода на языке Си
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62066-node.js
Ключевые слова: node.js
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (104) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:08, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Даже нода стала развиваться в правильном направлении после появления дено и других банов.
     
     
  • 2.144, Аноним (144), 12:07, 23/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В JS вполне существует типизация, а вот то что для того что бы ей воспользоваться нужно новый синтаксис завозить это я щитаю провальный провал.
     

  • 1.3, нехочу (?), 12:19, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >платформы для выполнения сетевых приложений на языке JavaScript

    теперь уже не платформа для бэк разработки? что бы это вообще значило "выполнения сетевых приложений"?

     
     
  • 2.18, Аноним (18), 13:21, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>платформы для выполнения сетевых приложений на языке JavaScript
    > теперь уже не платформа для бэк разработки? что бы это вообще значило
    > "выполнения сетевых приложений"?

    Ну так для бэкэнда не берут, а для написания всяких клиентов, маскирующихся под браузеры - очень даже. Чем не сетевые приложения. Смешно, конечно.

     
     
  • 3.125, Аноним (-), 19:05, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Ну так для бэкэнда не берут

    С чего вы это невежество взяли? Попробуйте сделать реальный тест производительности - очень удивитесь. Node позволяет создавать весьма производительные сервера, так-что не стоит эту платформу недооценивать. А сообщество у JavaScript большое. Вакансий полно, нода востребована.

     
  • 2.110, Анон1110м (?), 09:11, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А что значит бэк? Задней разработки? Програмульки предназначенные для WWW стоит называть паутинными програмами.
     

  • 1.4, чатжпт (?), 12:31, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Не прошло и ста лет. В это же время разработчики массово сваливают с тайкпскрипта на ванильный яваскрипт
     
     
  • 2.5, Вася Пупкин (?), 12:42, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Почему сваливают? что не так с ts?
     
     
  • 3.8, Аноним (8), 12:50, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    ненужная прослойка
     
  • 3.39, Аноним (-), 15:18, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Типизация позволяет не допустить множества ошибок ещё на этапе разработки. Очень печально что некоторые люди не могут осилить TypeScript. На практике это месяцы экономии времени за год. Может JavaScript разработчики свои маленькие задачки быстрее выполняют за день, но совокупность задач за год у них явно меньше, потому что ошибка на ошибке и ошибкой погоняет. Всё зависит как считать - комитмент на спринт у них вроде больше, а по ценностям скрама разработчики TypeScript как правило выигрывают, так как на более долгие сроки у них комитмент выше. Именно из-за типизации. Более того слаженность команды выше также из-за типизации. Поддержка проще, точно по тем же причинам.
     
     
  • 4.58, нехочу (?), 17:34, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >На практике это месяцы экономии времени за год

    хотелось бы более точных данных, но понятно что нет пока такой возможности

     
     
  • 5.69, Аноним (-), 18:36, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Возьми несколько проектов, да и сравни задачи и поговори с разработчиками - полу... большой текст свёрнут, показать
     
     
  • 6.81, Ko (?), 20:21, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Скажите это относиться и к питон, пхп, руби итд? И если несложно расскажите какой красивый и легко поддерживаемый код у java разработчиков пожалуйста.

     
     
  • 7.85, чатжпт (?), 20:37, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    слишком много сарказма в таком коротком сообщении))
     
  • 7.141, Аноним (141), 08:36, 19/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Скажите это относиться и к питон, пхп, руби итд?

    И во все три за последние годы была добавлена статическая типизация, в том или ином виде. Хотел поиронизировать, а так неудобно получилось)

     
  • 5.72, Аноним (-), 18:40, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И архитектура играет роль. Можно и тех, и других организовать быстро и эффективно, только реальность в том что менеджеры и тим-диды назначаются сверху-вниз и как правило не всегда удачно.
     
  • 4.59, Аноним (59), 17:35, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Разработка свиcтопepделок - это уже смешно. И уж тем более, когда используют 100500 всяких промежуточных этапов.
     
  • 4.66, Ko (?), 17:56, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть и другие способы выявления ошибок кроме тотальной типизации И для команды ... большой текст свёрнут, показать
     
     
  • 5.68, Аноним (-), 18:09, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Выигрыш от скорости и гибкости который дает js в сто рас окупает себя.

    Что за? Занимайтесь своим бэкэндом и типа быстрыми ЯП вместо ноды. Скажите честно - вы не знаете ни того ни другого и жмете рабочие места ради ЧСВ беря в заложники компанию и небольшой прибавке к з.п. к этому

     
  • 5.78, Аноним (-), 20:09, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да то что TS транслируется в JS и типы у него только на этапе трансляции. Более того всегда есть возможность его использовать и без типов.
     
  • 5.114, Аноним (114), 11:36, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не понимаете Он предотвращает ошибки слабых программистов, не способных экра... большой текст свёрнут, показать
     
     
  • 6.127, Аноним (-), 19:19, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проверено на практике - нет, даже с опытными программистами это не работает Эти... большой текст свёрнут, показать
     
     
  • 7.138, Аноним (114), 21:46, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Опыт даже в 10 лет в коммерческой разработке современного типа не означает сильн... большой текст свёрнут, показать
     
  • 6.128, Аноним (-), 19:26, 18/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.129, Аноним (-), 19:32, 18/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.42, Аноним (-), 15:22, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Главный косяк TS это политика - его разрабатывает Microsoft.
     
     
  • 4.113, анон (?), 10:33, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А нодажыэс, разрабатывается гитхабом, который принадлежит...да-да, гений, именно.
     
     
  • 5.131, Аноним (-), 19:36, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нода гуглом. Когда это гитхаб разрабатывал ноду?
     
  • 2.16, Аноним (18), 13:19, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Не прошло и ста лет. В это же время разработчики массово сваливают
    > с тайкпскрипта на ванильный яваскрипт

    Да ну, не верю. Буквально в каждом проекте как чуть стагнация разработки начинается из-за слабого менеджмента, так сразу начинают "рефакторить" и "переписывать на тайпскрипт". Это у ребят как религия. Все проблемы проекта решаются переходом на тайпскрипт. Ну как переходом - тут главное процесс, начать переходить, определить правила - что на тс, что на жс. При мне эти процессы никогда не заканчивались.

     
     
  • 3.47, чатжпт (?), 15:40, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    весь интернет полон: why you should reconsider using TypeScript and shift back to pure JavaScript или Big projects are ditching TypeScript... why?
     
     
  • 4.50, пох. (?), 16:13, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А это для тех у кого процесс таки закончился, не смотря на все усилия. Теперь и им есть чем заняться и что написать в отчет.
     
  • 3.60, нехочу (?), 17:36, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Это у ребят как религия.

    согласен. тс религия. да и вообще модный стек это религия

     

  • 1.6, Аноним (6), 12:44, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Сначала изобрели язык без типов, а потом добавили в него типы. Что за прикол?
     
     
  • 2.7, Someone (??), 12:50, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Никто никуда ничего не добавлял.
    JavaScript как не имел типов, так и не имеет.
    TypeScript изначально был с типами.
     
     
  • 3.9, Аноним (8), 12:54, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    JavaScript имеет типы! Можешь прямо сейчас попробовать в консоли:

    if (typeof 'value' !== 'boolean') alert('boo!')

     
     
  • 4.10, Someone (??), 13:00, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это рантайм типы, которые есть в практически любом языке. Вопрос в статической типизации, которая работает до выполнения кода.
     
     
  • 5.29, Аноним324 (ok), 14:25, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А зачем статическая типизация в языке с динамической?
     
     
  • 6.52, Аноним (52), 16:27, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сильно облегчает программирование. В IDE можно ткнуть точку и посмотреть чем можно дополнить. Также, валидатор сразу определяет ошибочные типы.
     
     
  • 7.88, Аноним (88), 21:53, 17/10/2024 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 6.86, Илья (??), 21:03, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чтобы генерировать максимально производительный низкоуровневый код.

    Например, в c#, ввели readonly структуры. Затем значительное количество кода стало работать быстрее практически забесплатно.

    Ну и чтобы получать решения, которые не боишься поддерживать. Любой динамический код дешевле с нуля писать, чем поддерживать. Статика рефакторится на порядок легче и безопаснее.

     
     
  • 7.109, Аноним (109), 08:24, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так а что мешает вгедрить в JS режим строгой типизации, на подобие строгого режима?
    TS разве не компилируется в JS в итоге, если так то это просто плагин для IDE.
     
     
  • 8.111, Илья (??), 09:12, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    годы При том, что уже давно есть платформы, которые делают это гораздо лучше ... текст свёрнут, показать
     
  • 8.116, Аноним (116), 13:57, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    JS с режимом строгой типизации статической, конечно - это и есть TypeScript... текст свёрнут, показать
     
     
  • 9.121, Аноним (109), 15:50, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну нее, как вышенаписали, TS транслируется в JS, и вся типизация на этом заканчи... текст свёрнут, показать
     
  • 8.132, Аноним (-), 19:39, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Есть asm js и некоторые фреймворки его используют ... текст свёрнут, показать
     
  • 7.135, Аноним324 (ok), 20:11, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Чтобы генерировать максимально производительный низкоуровневый код.
    > Например, в c#, ввели readonly структуры. Затем значительное количество кода стало работать
    > быстрее практически забесплатно.
    > Ну и чтобы получать решения, которые не боишься поддерживать. Любой динамический код
    > дешевле с нуля писать, чем поддерживать. Статика рефакторится на порядок легче
    > и безопаснее.

    Если тебе нужны фичи из дотнета, используй дотнет, не нужно джаваскрипт портить.

     
     
  • 8.140, Илья (??), 07:52, 19/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как бы я так и делаю Каждый раз удивляюсь, когда люди бекендовые проекты нач... текст свёрнут, показать
     
  • 4.40, Аноним (-), 15:20, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вообще они называются примитивы, если быть занудным.
     
  • 4.87, Илья (??), 21:11, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А можно проверить, у меня на руках int32 значение, или float32 ?
     
  • 3.14, penetrator (?), 13:06, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes

    However, with the addition of classes, the creation of hierarchies of objects and the inheritance of properties and their values are much more in line with other object-oriented languages such as Java. In this section, we will demonstrate how objects can be created from classes.

    то что оно все корявое поверх прототипов, так в JS/TS все корявое, если бы не массовое применение в браузерах померло бы давно

     
     
  • 4.20, Аноним (18), 13:26, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Корявым все становится, когда люди с квадратно-гнездовым мышлением приходят из своих плюсов и пытаются в жс накостылировать то, к чему привыкли.
     
     
  • 5.54, Аноним (54), 17:08, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вы сейчас про типы, да?
     
  • 4.77, Аноним (-), 20:08, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну исторически так сложилось - класс там является синтаксическим сахаром над функцией-конструктором. И зашибись! Это преимущество этого языка.
     

  • 1.12, Аноним (12), 13:03, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Главный вопрос - они насмерть завирусованный npm оставили по умолчанию?
    Все так же, неизвестный производитель костыль-фреймворка может втихую подменить его на вредоносный код, который автоматически распространиться на все инсталляции использующие его?
     
     
  • 2.13, Someone (??), 13:06, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не бывать такому! Тысячи глаз не допустят!
     
     
  • 3.79, Аноним (-), 20:17, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Уже допускали и не раз. Самое эпичное было на моей памяти это парсер командной строки с 2М скачиваний. И ещё странная индусская либа для работы с ФС.
     
  • 2.17, Аноним (17), 13:19, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем вы используете костыль-фреймворки у себя и при этом даже не лочите версии зависимостей?
    И главный вопрос: какое решение вы предлагаете взамен?

    Я не троллинга ради, мне действительно интересно послушать аргументы тех, кто выступает против NPM (и не только NPM, а вообще всех публичных репозиториев). Критику я слышу, а вот конструктивных предложений что-то ни от кого не поступает

     
     
  • 3.26, Аноним (26), 13:59, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > кто выступает против NPM (и не только NPM, а вообще всех публичных репозиториев).

    Я тут выступаю как капитан очевидность.

    Использовать то, что идет в репозиториях текущих дистрибутивов?

     
     
  • 4.33, Витюшка (?), 14:55, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Т.е. абсолютно тоже самое только запакованное в пакеты?

    Товарищ вообще хоть раз видел пакеты вживую?

    В их скриптах в 99% сейчас это скачивание tar.gz с версией с GitHub.

     
     
  • 5.63, Аноним (26), 17:48, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Т.е. абсолютно тоже самое только запакованное в пакеты?

    Которое не подменить.

    > Товарищ вообще хоть раз видел пакеты вживую?

    Шуткуешь?

    > В их скриптах в 99% сейчас это скачивание tar.gz с версией с GitHub.

    Что?

    Похоже просто ляпнуть что-нибудь решил.

     
     
  • 6.83, Аноним (-), 20:25, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Он не знает как локальный репозиторий поднять. Скажем честно - вот это недостаток, просто это действительно не делается
     
     
  • 7.120, Аноним (26), 15:09, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Он не знает как локальный репозиторий поднять. Скажем честно - вот это недостаток, просто это действительно не делается

    Зачем это? Если от твоей программы будут зависеть другие, написанные на другом языке, как зависимость прописать?

     
     
  • 8.133, Аноним (-), 19:44, 18/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 8.139, Аноним (139), 23:37, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    О в ответе как раз житель песочницы проклюнулся на коммерческой разработке веб... текст свёрнут, показать
     
  • 6.105, Витюшка (?), 00:49, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пакеты в npm тоже не подменить.

    Объясняю на пальцах. Есть система сборки пакетов дистрибутива - какой-нибудь OBS. У каждого пакета есть скрипты сборки, скрипты инсталляции и т.п.

    Перед тем как собрать пакет из исходников, эти исходники скачиваются.

    И о чудо! Они скачиваются НАПРЯМУЮ из GitHub, который для версий выкладывает автоматически запакованный архив исходников tar.gz.

    Естественно больше в этот собранный пакет и из чего он там собран никто не будет.

    Понятно объяснил?

     
     
  • 7.118, Аноним (26), 15:02, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Пакеты в npm тоже не подменить.

    Зато легко удалить.

    А при тотальных локах на конкретной версии легко получить в зависимостях один модуль разных версий.

    > И о чудо! Они скачиваются НАПРЯМУЮ из GitHub, который для версий выкладывает автоматически запакованный архив исходников tar.gz.

    Так это и есть недостаток.

    > Понятно объяснил?

    На целевой системе должны использоваться пакеты лежащие в репозитарии целевой системы.

    Иначе, как была песочница - так песочницей и останется.

     
     
  • 8.130, Витюшка (?), 19:35, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Твоя целевая система и есть песочница А так - если есть открытый исходный код... текст свёрнут, показать
     
     
  • 9.137, Аноним (139), 21:34, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Обидно да Но это жизнь Играются со своими игрушками разрабтчики в песочнице И... текст свёрнут, показать
     
  • 4.44, Аноним (44), 15:29, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А то, что не идёт - нинужно, да?
     
     
  • 5.64, Аноним (26), 17:50, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А то, что не идёт - нинужно, да?

    Именно. Или ложишь рядом со своими исходниками.

    И ТЫ за них отвечаешь?

    Или делаешь пакеты и ТЫ за них отвечаешь.

     
     
  • 6.106, Витюшка (?), 00:51, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты уже начал отвечать за 20 миллионов строк кода ядра?

    Как успехи?

     
     
  • 7.119, Аноним (26), 15:03, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты уже начал отвечать за 20 миллионов строк кода ядра?
    > Как успехи?

    Ядро лежит в пакетах целевых систем.

     
  • 4.57, Ruslan (??), 17:22, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А что идёт в текущем дистрибутиве ноды, кроме самой ноды и пакетного менеджера?
     
  • 2.80, Аноним (-), 20:19, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    NPM ныне во владении Microsoft. Они и есть нынче тот самый тысячеглаз. Хотя скорее всего ещё и всунькомунадопинок.
     

  • 1.15, Аноним (18), 13:13, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Скриптовой язык с типами - это все неудобства типизации вместе с низкой производительностью скриптового языка. Контроль типов ущербный. Все как любят профнепригодные. Не представляю себе людей, которые _это_ предпочтут какому-нибудь голангу (мальчику уже 10 лет исполнилось, если чо).

     
     
  • 2.23, Вы забыли заполнить поле Name (?), 13:51, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Контроль типов ущербный

    Сейчас очередной гофер расскажет как надо сделать хорошую систему типов. Шаблоны уже начал использовать хоть?

     
  • 2.25, Вы забыли заполнить поле Name (?), 13:53, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > голангу (мальчику уже 10 лет исполнилось, если чо).

    Почему телеметрию добавляют в 10 лет? Это какой-то обряд?

     
     
  • 3.27, Аноним (6), 14:04, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я, конечно же, не любитель голынга с этими как их... горутинами, но телеметрию добавили вроде в конь-эпилятор, в сам бинарь она не пихается.
     
     
  • 4.31, Аноним (1), 14:34, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Пока что. Тем более откуда ты знаешь конь не получает сигналы из центра вместе с отсылкой телеметрии?
     
  • 4.45, Аноним (45), 15:36, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >о телеметрию добавили вроде в конь-эпилятор

    И этого уже достаиочно, чтоб избегать.

     
  • 4.107, Аноним (107), 02:54, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так у C# тоже есть. И в Linux билде от microsoft.

    Она вообще скоро везде будет.

     
  • 3.143, Аноним (-), 13:37, 19/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему телеметрию добавляют в 10 лет? Это какой-то обряд?

    Значит у компаний которые этим занимаются такие длительные итерации - 10 лет.

     
  • 2.53, Аноним (-), 17:06, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > производительностью скриптового языка

    Скриптовые языки by design не предназначены для утилизации максимальной производительности. Для этого есть всякие Си, Rust и прочие Turbo Pascal. Если же говорить про Ноду, то в 99% случаев её использования, всё упирается в I/O.

     
     
  • 3.62, Аноним (52), 17:47, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну не пишут веб-сайты на всяких C, Rust. Почему-то все хотят простой язык, да ещё и такой, чтобы один программист мог и фронт и бак делать. И что-то мне подсказывает, что вариантов такого универсального языка раз, два и обчёлся. Даже если поискать всякую экзотику типа CoffeeScript.
     
     
  • 4.67, Аноним (8), 17:58, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Немного не так: все хотят ничего не делать. Максимум скопировать пару строчек из примера использования очередного фреймворка.
     
  • 4.75, Аноним (-), 20:04, 17/10/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.112, Анон1110м (?), 09:23, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так не лучше ли сделать конвертор из PHP в JavaScript чтобы везде писать на одном языке PHP?
     
     
  • 5.123, Аноним (52), 17:13, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так пытались уже писать трансляторы из чего-нибудь в Javascript. Неоднократно пытались. Даже монстры типа Scala или Kotlin. Но нет, JS/TS. А касаемо PHP, то, что он самый распространённый в использовании не значит, что он самый желанный для программистов.
     
  • 5.124, Аноним (-), 18:56, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А как он дополняет JavaScript? Ах ну да - никак, т.е. это совершенно некорректное сравнение. Трансляторы из разных языков в JS есть, только вот обратного использования как правило не предусматривается или через одно место. А на TS пишешь и люди на JS спокойно используют. Более того это не ориентировано на одну группу разработчиков серверного кода. То что на php написано под сервер вы не сможете использовать - какой смысл тогда? Есть более интересные смыслы в других языках ориентированных именно на JS, но там хотя-бы цель есть. Допустим писать простой и безопасный код на JS. Порой что-то такое в вакансиях встречается.
     

  • 1.32, Сижу на толчке (?), 14:54, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    > Удалена поддержка 32-разрядных систем с ОС Windows.

    Впечатление будто это форсируют искусственно чтобы принуждать людей обновлять железо.

     
     
  • 2.43, Аноним (-), 15:26, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У них сроки поддержки старых ОС ограничена, но эта информация где-то публичная, где-то не публичная. И да, окончание поддержки это форсирование. Таковы правила порождены менеджментом с маркетологами.
     
  • 2.51, Аноним (-), 16:22, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можно подумать, что кто-то под 32-битной вендой занимается разработкой на nodejs.
    Было бы куда хуже, если 32-битный debian почит в Бозе.
    А так, в целом, обидно, досадно, но ладно.
     
     
  • 3.56, Аноним (-), 17:21, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не, он все правильно говорит. Проблема в том что задачи ОС вроде как поддерживать оборудование, одна из задач программ в поддержке - ОС. А тут вас как-бы вынуждают покупать новое американское железо и софт. Ну т.е. вам навязывают. Это извращение смысла торговли ради сверхприбылей. Правда Google в этом плане вроде по человечески поступает - предупреждает, старую версию как правило можно скачать. Так-что жаловаться вроде не на что. Они и не обязаны старое оборудование поддерживать.
     
  • 2.65, Аноним (52), 17:54, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да не будет никто выставлять сервер на Win32. Сам вопрос выставить что-то под виндой в инет - это странный вопрос.
     
     
  • 3.70, Аноним (1), 18:37, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нода это ещё и электрон.
     
  • 3.73, Аноним (-), 20:00, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну почему? Когда я учился в ВУЗе, то сервер нашей комнаты был найден на свалке. Вернее какая-то компания выбросила старый ПК и мы сразу подобрали. Работал он долго, форум держал. Ребята с Припяти сидели в основном на нем. Один из жильцов был оттуда. Денег не было у нас как у студентов, но это было совсем другое время. Сейчас может и студенты богаче, оборудование все-же дешевле (б.у. во всяком случае). Может немного стыдно, но оно работало.
     

  • 1.76, Ember (?), 20:05, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Самый страшный и сложный в использовании ЯП. Наличие такого огромного количества фреймворков для него только подтверждает этот тезис.
     
     
  • 2.82, Аноним (-), 20:21, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Людям нравится писать комментарии и в скобочках ничего толкового не видеть. Они либо помнят, либо угадывают что нужно передать в параметре. И вроде бы как при деле.
     
  • 2.108, Аноним (107), 03:00, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так может не такой уж и страшный язык, если под него пишут фреймворки и либы?
     
  • 2.122, Аноним (52), 17:03, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Но при этом самый используемый конечными пользователями - абсолютно все пользователи Интернета им пользуются. И в первой пятёрке языков по используемым на серверах - https://w3techs.com/technologies/overview/programming_language
     

  • 1.84, Аноним (-), 20:34, 17/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да чего вы взъелись то? Typescript кто-то использует, кто-то нет. Ненависть то с чего распространять? Мне лично нормально что теперь Node поддерживает TS, правда от этого ни жарко ни холодно, т.к. по старому буду транслировать все в JS. Это для тех кто хочет запускать свой TS без трансляции как JS, вот и все. Им просто упростили жизнь.
     
     
  • 2.89, Аноним (88), 21:56, 17/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ненависть распространяют исключительно апологеты Typescript. Видимо чсв зашкаливает.
     
     
  • 3.134, Аноним (-), 19:56, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Люди спорят о том что более целесообразно на проектах использовать - Typescript или JavaScript? Дело не в ЧСВ, а в деньгах в итоге. Кто знает и то и другое вероятнее всего не париться, а тому кому стоило бы изучить Typescript для работы это в общем-то может ударить по кошельку и возможностях его наполнить. А учить что-то это ж время, ну и кому-то деньги нужно выделять.
     
  • 3.136, Аноним (-), 21:07, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще все эти разговоры о том что лучше - JavaScript или Typescript, лежат в политической плоскости. Инженеры либо подчиняются менеджменту/тим-лиду/архитектору в необходимых технологиях, либо вольны сами выбрать решение для своего проекта. А вот вопрос споров и что с этим делать удел партийных членов.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру