1.2, Аноним (2), 11:56, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +14 +/– |
Даже местным экспертам с самого начала было понятно что без поддержки npm в этом дено нет никакой необходимости. И вот на авторов снизошло озарение и они сделали нормально. Зачем нужно было 4 года упираться решительно не понятно.
| |
|
2.95, Бывалый Смузихлёб (ok), 10:26, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Но ведь, но как же их суперфича, когда каждый пакет предлагалось добавлять просто прямой ссылкой на репозиторий( в т.ч на проект в гитхабе ) без всяких просто пакетов и их версий
| |
|
1.4, Вы забыли заполнить поле Name (?), 12:05, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> Ориентация на безопасность в конфигурации по умолчанию
> Кроме runtime платформа Deno также выполняет роль пакетного менеджера и позволяет внутри кода обращаться к модулям по URL.
Взаимоисключающе пункты.
| |
|
2.7, Аноним (7), 12:14, 10/10/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
всё будет норм, если в URL запретить http://, а для “безопасности” будет достаточно https://
ты что, не шаришь за безопасность?
| |
|
3.28, Вы забыли заполнить поле Name (?), 15:44, 10/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> всё будет норм, если в URL запретить http://, а для “безопасности” будет
> достаточно https://
> ты что, не шаришь за безопасность?
Ну будешь ты по https скачивать трояны. Какая разница? Я вообще о другом говорю: о том, что модули сами тянутся из интернета по урлу. Дичь. Пакетный менеджер, который их скачает еще более менее, но автоматом... Завтра сломают твой дено, будут тебе отдавать хз пойми что, а ты скачаешь при первом запуске.
| |
|
4.96, Бывалый Смузихлёб (ok), 10:28, 11/10/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
но качать-то будут безопасно и, можно быть уверенным, что конечному пользователю попадёт именно тот троян, который для него предназначен, безо всяких промежуточных манипуляций с содержимым
| |
|
3.53, YetAnotherOnanym (ok), 16:40, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> всё будет норм, если в URL запретить http://, а для “безопасности” будет достаточно https://
Эх, зачем же ты слово "безопасность" в кавычки взял! Всю тонкость утратил...
| |
|
2.17, Аноним (17), 14:26, 10/10/2024 [^] [^^] [^^^] [ответить] | +3 +/– | Думаю, вы передергиваете, утрируете Учитывая это Обращения к файлам, сетевые ... большой текст свёрнут, показать | |
|
3.83, Аноним (83), 18:00, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>"Обращения к файлам, сетевые возможности и доступ к переменным окружения по умолчанию блокированы и требуют явного включения. Приложения по умолчанию запускаются в изолированных sandbox-окружениях и не могут получить доступ к системным возможностям без предоставления явных полномочий;"
А как это сделано? А то будет как в андроиде - доступ сразу ко всем файлам, сразу ко всему интернету.
| |
|
4.84, Аноним (-), 18:57, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Как-то так docs.deno.com/api/deno/permissions
Ты можешь перечислить куда можно лезть или куда нельзя:
Deno.ReadPermissionDescriptor
path: string | URL
An allow-read or deny-read permission can be scoped to a specific path (and if the path is a directory, any sub paths).
Deno.NetPermissionDescriptor
Optional host string of the form "<hostname>[:<port>]". Examples:
"github.com"
"deno.land:8080"
| |
|
|
|
1.5, Аноним (5), 12:07, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Обеспечена поддержка приватных NPM-репозиториев, определённых через файлы ".npmrc".
Как я понимаю, именно через NPM и планируют взламывать серваки, установившие этот ваш deno.
Вопрос лишь, оно самостоятельно будет тянуть пакеты из публичных, а теперь и приватных(лол) репозитариев, или все таки надо будет руками набивать что то типа "npm update all -F --no-check-hash --no-check-cert --allow-all"? (Или у этого движка есть gui-frontend где вообще есть только кнопка "обновить", а думать не надо?)
| |
|
2.8, Аноним (2), 12:18, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Раньше deno не поддерживал npm и тянул напрямую с github безопасности как ты понимаешь это не прибавляет.
| |
|
1.19, Аноним (17), 14:43, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
В недавней нововсти про Bun (https://www.opennet.me/opennews/art.shtml?num=61915)
писАли:
"...По производительности Bun заметно обгоняет Deno и Node.js (в тестах на базе фреймворка React платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js)..."
В текущей же новости уже Дено неоспоримый красавчик. Возникает вопрос. Это зависит от того, кто, что и чем измеряет (и откуда берутся новости) или Дено таки сильно улучшили (т.к. в этом релизе "...Проведена оптимизация производительности...") и, значит, в предыдущих версиях он был дном в плане производительности?
| |
|
2.24, morphe (?), 15:20, 10/10/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
> платформа Bun в 2 раза опережает Deno и почти в 5 раз Node.js
При том что React исключительно CPU-bound, а JIT/Runtime в Deno и Node.js один и тот же - V8
У Bun крайне странные бенчмарки были, и чаще всего их гоняли на MacOS, где Bun более оптимизирован (он использует JS движок Apple), а V8 не особо, потому что кому макось сдалась.
| |
|
1.20, Аноним (20), 14:45, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Ничеси, на 20мс быстрее, вот те раз…
Срочно переписываем все под него!
| |
|
2.22, Аноним (2), 14:58, 10/10/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Наоборот дено переписали чтобы под ним все что есть работало как есть.
| |
|
|
2.39, Golangdev (?), 16:02, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Есть nix и конвертер npm to nix
Нет, спасибо.
Пакетный менеджер должен быть дефолтный, что идёт вместе с node. Всё остальное - от лукавого. Все эти приблуды имеют свойство либо умирать / отставать / терять совместимость по мере угасания интереса их автора. А также безрукое или никакое коммьюнити, которое не сможет "подхватить" разработку.
Много вы видели реальных js проектов / энтерпрайзов, использующих этот nix ?
В pet - пожалуйста, это лучшее место для экспериментов.
| |
|
3.49, Вы забыли заполнить поле Name (?), 16:33, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> Есть nix и конвертер npm to nix
> Много вы видели реальных js проектов / энтерпрайзов, использующих этот nix ?
Ну и джеесеры слабы откровенно говоря. Очень много сомнительных решений у них. Автоматически обновляют зависимости, дробят модули по одной строке, используют монорепозитории там где они не нужны. Волосы дыбом становятся от такого. Куда им до nix. Они системных пакетным менеджером воспользоваться то не смогут. В браузере пусть сидят, но ведь они на сервер лезут, а потом показывают бенчмарки на fs.existsSync или вот частоту запросов sqlite. Совершенно оторванные от жизни.
| |
3.81, Аноним (83), 17:58, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Пакетный менеджер должен быть дефолтный, что идёт вместе с node.
Пакетный менеджер ноды уже давно стал известен за свою любовь раздувать список зависимостей до нескольких гигабайт, и это никак не починят.
| |
|
|
1.32, Golangdev (?), 15:50, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
> Для проверки типов и генерации JavaScript задействован штатный компилятор TypeScript, что приводит к проседанию производительности по сравнению с разбором JavaScript в V8
Что говорит о ненужности TypeScript. Это грубо говоря, как Kotlin для JVM, только хуже. Гуглим "37signals type gymnastics"
> поддержка популярных JavaScript-фреймворков, таких как Next.js, Astro, Remix, Angular, SvelteKit и QwikCity
Первый раз слышу про Remix, QwikCity. Много ли реальных проектов / энтерпрайзов на этом ? Вопрос риторический.
| |
|
|
3.40, Golangdev (?), 16:03, 10/10/2024 [^] [^^] [^^^] [ответить]
| –3 +/– |
Именно. TypeScript - это худшая система типов, разработка ради разработки.
| |
|
|
|
|
7.55, Golangdev (?), 16:49, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Промис без этого не будет работать ?
Как и писал выше - разработка ради разработки.
| |
|
6.73, Аноним (83), 17:44, 10/10/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Довольно символично, что про дженерики спрашивает гошник. Дженерики нужны буквально для всего, в частности для работы с коллекциями. Но в го иная традиция, там каждый раз код пишут заново, словно гошники - машинистки, у которых зарплата зависит от количества символов.
| |
|
7.85, qrKot (?), 19:09, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> Довольно символично, что про дженерики спрашивает гошник.
Ирония "с душком". В Go дженерики уже 3 года тому как...
>> Дженерики нужны буквально для всего
А вот это уже перебор. Для какого-такого "всего" они нужны? о_О
Не, инструмент, безусловно, очень полезный, прям в некоторые места очумительно ложится. Но "для всего"... Это у вас ООП головного мозга, очевидно.
>> в частности для работы с коллекциями
Ну вот в основном для работы с коллекциями. В случае универсальных хендлеров/обработчиков преимущество над интерфейсами уже не так очевидно. Собственно, кроме сохранения информации о типе, и нет его, преимущества этого.
>> Но в го иная традиция, там каждый раз код пишут заново,
Вы, очевидно, на Go давно пишете? Прям в курсе всех традиций?)
| |
|
8.88, Аноним (83), 20:41, 10/10/2024 [^] [^^] [^^^] [ответить] | +/– | Нет никакого душка, достаточно сравнить дату релиза го, и дату появления дженери... текст свёрнут, показать | |
|
9.111, qrKot (?), 23:28, 21/10/2024 [^] [^^] [^^^] [ответить] | +/– | И о чем это нам скажет О том, что в Go не принято тащить в язык все, что блести... большой текст свёрнут, показать | |
|
|
|
|
|
4.54, Аноним (54), 16:44, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
оно для девелоперов, которые не в состоянии в голове удержать контекст или не умеют использовать jsdoc, чтобы правильно использовать возвращаемые значения. это типа придурков, которые не в курсе, как работает "2"+2 в js. короче обгашенные индусы - это ЦА тупоскрипта. он прям в IDE кричит и подчёркивает если не совпадает тип.
другое дело, что для js обычная ситуация когда принимаются/возвращаются переменные разных типов в зависимости от каких-то условий. поэтому типичный ts - это нагромождение дженериков из дженериков. всплывающий автодок превращается в БСЭ, который невозможно быстро распарсить.
ну и плюс такая нужная корпоратам фишка, как отделение объявления от реализации - очень удобно "открытые" исходники зажимать
| |
|
5.60, Вы забыли заполнить поле Name (?), 17:29, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
> возвращаются переменные разных типов в зависимости от каких-то условий
> это нагромождение дженериков из дженериков
Вернуть несколько значений - это норма (с). Но по факту возвращаемый тип то один всегда - объединение типов. Тут и приходят дженерики.
| |
5.64, Вы забыли заполнить поле Name (?), 17:35, 10/10/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
> не умеют использовать jsdoc
jsdoc - это просто строка-комментарий. Писать любую метаинформацию в комментариях - это плохое решение: ни распарсить, не извлечь нормально. Кстати, ts вроде умеет извлекать типы из jsdoc и проверять их. Но если речь идет про строки документации, который пишется чисто для документирования, то ошибки несоответствия (а точно не забудешь поправить тип? точно ли этот тип будет соответстовать типу в момент исполнения) неизбежны.
| |
5.69, Аноним (83), 17:37, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>другое дело, что для js обычная ситуация когда принимаются/возвращаются переменные разных типов в зависимости от каких-то условий. поэтому типичный ts - это нагромождение дженериков из дженериков. всплывающий автодок превращается в БСЭ, который невозможно быстро распарсить.
Это прямое следствие того, что типизацию в js завезли столько лет спустя. Писали бы они изначально на типизированном языке, кучи проблем бы не было.
| |
5.86, qrKot (?), 19:12, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>> другое дело, что для js обычная ситуация когда принимаются/возвращаются переменные разных типов в зависимости от каких-то условий.
Вот это выглядит как явный признак говно-архитектуры. Если на фронте в этом есть смысл, то на беке - брррр.
Впрочем, с тем, что TS на беке тоже (как и JS) нафиг не нужен - абсолютно согласен. Его на бек только криворукие фронтендеры, не способные в освоение более 1 языка, и тащат.
| |
|
6.101, Аноним (102), 14:32, 11/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Вот это выглядит как явный признак говно-архитектуры.
Это следствие динамической типизации. Непример есть $(sel).attr('name') и $(sel).attr('name', 'val'). Если один аргумен - возвращает текущее значение, если два устанавливает новое значение. И подобная магия на каждом шагу
| |
|
|
|
|
|
1.62, Аноним (83), 17:34, 10/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Понадобилось всего лишь около двух десятков лет, что яваскриптеры признали необходимость типизации. Но вместо Ocaml/ReasonML/ReScript, у них получился TypeScript.
>Встроенная поддержка языка TypeScript помимо JavaScript. Для проверки типов и генерации JavaScript задействован штатный компилятор TypeScript, что приводит к проседанию производительности по сравнению с разбором JavaScript в V8;
Мало того, что js сам по себе тормозной и требует прогрева, так ещё запуск приложений будет ещё медленнее, так как каждый запуск будет отдельная новая трансляция. Яваскриптеры утеряли технологию запуска компиляторов.
| |
|
|
3.79, Аноним (83), 17:52, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Ну там же инкрементальная сборка должа быть?
Её для начала нужно осилить. Я разворачивал несколько проектов на реакте, каждый запуск этого проекта - компиляция с нуля. Если запускать сборку в дев режиме, то компилятор будет висеть в фоне и при изменении файлов сразу же пересобирать проект. Даже если проект небольшой, и поменялся один единственный файл, то сборка будет длится где-то около полминуты. Если проект большой, то поднимать дев нужно первым делом, так как подниматься он будет минут пять, если не больше.
| |
|
4.82, Вы забыли заполнить поле Name (?), 17:58, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>>Ну там же инкрементальная сборка должа быть?
> Её для начала нужно осилить. Я разворачивал несколько проектов на реакте, каждый
> запуск этого проекта - компиляция с нуля. Если запускать сборку в
> дев режиме, то компилятор будет висеть в фоне и при изменении
> файлов сразу же пересобирать проект. Даже если проект небольшой, и поменялся
> один единственный файл, то сборка будет длится где-то около полминуты. Если
> проект большой, то поднимать дев нужно первым делом, так как подниматься
> он будет минут пять, если не больше.
Печально. Процесс в фоне с отслеживанием изменений и инкрементальная сбока - это про разное в моем понимании. Хочется 2-го, хотя бы как в mypy.
| |
|
5.89, Аноним (83), 20:45, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Процесс в фоне с отслеживанием изменений и инкрементальная сбока - это про разное в моем понимании
Да, это разное, но в случае реактом фоновый процесс - это следствие того, что реакт нужно собрать перед отправкой в браузер. Таким образом, файл достаточно сохранить и подождать, без ручного запуска компиляции после каждой правки.
| |
|
4.87, Аноним (87), 20:36, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
Походу у вас древний проект созданный в 2014-2017 годах. Сейчас даже мой не очень современный рабочий проект в dev поднимается менее секунды, правки кода применяются к странице моментально, сборка в прод за 40 секунд.
| |
|
5.90, Аноним (83), 20:47, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>Походу у вас древний проект созданный в 2014-2017 годах
Что там за магия такая позже произошла, что новые собираются быстро, а старые - нет?
| |
|
6.91, Аноним (87), 21:00, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
В основном начали выкидывать жуткое легаси (webpack 4, CRA), переписывать узкие места тулинга на WASM, часто многопоточно, сокращать граф зависимостей. Работа идет постоянно, но конечно в проде с отставанием, ну а многие проекты просто застревают в прошлом потому что их разработчикам нет дела даже явные вещи оптимизировать (без обновлений).
| |
|
7.92, Аноним (83), 23:09, 10/10/2024 [^] [^^] [^^^] [ответить]
| +/– |
>переписывать узкие места тулинга на WASM
Все js проекты оптимизируются одинаково...
| |
|
|
|
|
|
|
1.105, Аноним (104), 16:28, 11/10/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Приятно видеть что команда работает над Deno чтобы догнать Bun. Конкуренция - двигатель прогресса.
| |
|