1.1, Антифрактал (?), 11:42, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Сформирована отдельная команда разработчиков, отвечающая за оптимизацию производительности
Неужели? А не будет отдельной команды по архитектуре, чтобы от этого отказывались все
| |
|
2.2, Вы забыли заполнить поле Name (?), 12:40, 19/04/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
От чего отказались? Наоборот околофронтенд рад тому, что можно писать на жс веб сервера и консольные приложения. Или ты будешь формировать для них html?
| |
|
1.3, Аноним (3), 12:53, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Предложен экспериментальный механизм Permission Model
Лучше линуксовых неймспейсов ничего пока не придумали.
| |
|
2.17, Аноним (17), 13:23, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это изоляция на уровне процессов, а когда нужно внутри программы что-то ограничить, то как тебе неймспейсы помогут?
| |
|
3.25, Аноним (3), 13:37, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
изоляция "внутри программы" - это миф. Во-первых это миф требования: нет никакой нужды ограничивать что-то "внутри программы" (если есть - приведи пример, но такой, где изоляция процесса принципиально не подходит). Во-вторых, это миф реализации: я не стал бы доверять вопросы безопасности какому-то там Joyent (или кто там владеет нодой), когда уже есть авторитетный линукс с проявившими свою состоятельность неймспейсами.
| |
|
4.100, Вы забыли заполнить поле Name (?), 16:09, 19/04/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> изоляция "внутри программы" - это миф. Во-первых это миф требования: нет никакой
> нужды ограничивать что-то "внутри программы" (если есть - приведи пример, но
> такой, где изоляция процесса принципиально не подходит).
Ну тогда нужно перестать пользоваться ff или хромом, в котором есть своя изоляция.
> Во-вторых, это миф реализации:
> я не стал бы доверять вопросы безопасности какому-то там Joyent (или
> кто там владеет нодой), когда уже есть авторитетный линукс с проявившими
> свою состоятельность неймспейсами.
Нода развивается под OpenJS Foundation, которая входит в Linux Foundation.
| |
|
5.107, Аноним (3), 16:56, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> нужно перестать пользоваться ff или хромом, в котором есть своя изоляция
Ты забыл упомянуть, что там в том числе используется изоляция средствами операционки.
> развивается под OpenJS Foundation, которая входит в Linux Foundation
Да хоть бы и так: разделением-и-властвованием должна заниматься операционная система. Любая попытка изобрести плюшевую изоляцию в юзерспейсе примитивными if (path.startsWith('/home/user')) return Policy.RAZRESHAEM -- обречена на провал.
| |
|
4.164, Аноним (164), 17:59, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
>Во-первых это миф требования: нет никакой нужды ограничивать что-то "внутри программы" (если есть - приведи пример, но такой, где изоляция процесса принципиально не подходит)
Использование любой сторонней библиотеки. Библиотека предназначенная для криптографии не должна иметь вохможности выйти в сеть или в читать файлы на диске. Как и библиотека ханимающаяся компрессией. А разносить каждую утилитарную бибилотеку по процессам - это верх идиотизма.
| |
|
|
|
|
|
5.109, Аноним (3), 17:02, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну так ты конечный пользователь либо полностью доверяешь электроновскому приложению, либо нет. В последнем случае ты изолируешь целиком всю приложуху, то есть изоляция именно на уровне всей иерархии процессов и подпроцессов. Не знаю, есть ли в вантузе аналог неймспейсов, но если есть - ты воспользуешься именно им, а не нодовской плюшевой фигней.
| |
|
|
|
2.162, Аноним (162), 14:38, 20/04/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Тут скорее больше как аддоны в браузере, у каждого свои права, которые явно декларируются. Изоляцию средствами ОС туда не применить. Стоит ли из-за этого убрать права для расширений? Нет конечно!
| |
|
1.4, Аноним (4), 13:01, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –7 +/– |
C#, java шлют телеметрию на каждый пук, rust пропртетарный вендорлок, js жручее память не нужно. Вот и что остаётся, кроме старой доброй сишечки? Она универсальна, быстра, свободна. Но есть одно но, которое перечёркивает ВСЕ плюсы: си - лютое ре-ше-то!
| |
|
|
3.57, Аноним (57), 15:20, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
То было в проприетарном Sun JDK, который поставлялся только в виде блоба.
| |
|
|
3.18, Аноним (17), 13:25, 19/04/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
Говяная система импортов основанная на какой-то псевдофайлововй системе,
невозможность нормальной рефлксии, отсутствие JIT и ужасный синтаксис для
лямбд. А в целом почти JavaScript, а еще event-loop в Python зачем-то
сделали на Python вместо того что бы взять тот же libuy
| |
|
4.23, Аноним (23), 13:31, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Чёт вкусовщина. И если проблема в этом, то почему замена штатного на uvloop делает только хуже? В чём суть претензии? Хотя "хуже" это преувеличение, едва ли можно заметно лучше, чем сейчас. Скорее, "проблемнее". Реальная проблема как мне видится в сложности профилирования и отладки асинхронного кода, это какая-то содомия чистой воды.
| |
|
5.35, Вы забыли заполнить поле Name (?), 14:03, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Реальная проблема как мне видится в сложности профилирования и отладки асинхронного кода, это какая-то содомия чистой воды.
Проблема, что код надо переписывать в отличие от гевента, который патчит все под капотом. С другой стороны «явное лучше неявного», но раз добавив async, далее тоже нужно везде все делать асинхронным и искать обертки для существующих либ, хотя уже многие поддерживают asyncio.
| |
|
6.152, BrainFucker (ok), 05:26, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
> далее тоже нужно везде все делать асинхронным и искать обертки для существующих либ
asgiref.async_to_sync, asgiref.sync_to_async
| |
|
|
|
|
6.163, th3m3 (ok), 14:39, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
> до сих пор не запилили что ли !?
Есть инструменты, но как отдельные проекты, не в официальной поставке.
| |
|
|
|
3.151, Аноним (151), 04:03, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Какой-бы JIT ни добавили в скриптовые языки, они всегда будут медленнее компилируемых
| |
|
2.10, Аноним (23), 13:14, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Тем временем у электрона уже лучшая производительность и лучшая интеграция с платформой, чем у жабы. Основная проблема си это тонны бойлерплейта и затратность написания кода, других я не вижу. От факапов современные интсрументы защищают очень хорошо. С плюсами посложнее, избавиться от утечек, чтобы тот же валгринд не ныл, похоже, невозможно.
| |
|
3.126, Аноним (125), 22:24, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
> От факапов современные интсрументы защищают очень хорошо
Разработчики андроида с тобой не согласны
| |
|
|
|
4.127, Аноним (125), 22:32, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
почти в любом мало-мальском (более одного разработчика), но серьезном, проекте обычно участвуют и IT-гиганты, в виде вот таких вот спонсоров или нагружая своих разработчиков. Даже стандарт С++ тебе пишут не исключительно коммунисты Столлманы, а куча парней с майкрософта, гугла, айбиэи и т.п., а не только профессора с универов.
| |
|
|
|
3.19, Аноним (17), 13:26, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вот бы еще его развили до уровня написания стандалон приложений,
то действительно цены бы не было...
| |
3.117, Аноним (117), 20:31, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Был когда-то. Сейчас его превратили в нечто псевдо-энтерпрайзное непонятно что.
| |
|
2.16, Аноним (16), 13:22, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если писать код в стиле Си-макак, то может и будет жрать, а у нормальных программистов js потребляет вполне умерено для JIT языка.
| |
|
3.21, Аноним (17), 13:27, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так а как вы отменяете отлетевшие промисы по таймауту скажем?
| |
|
4.167, Аноним (167), 05:49, 24/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Если имеем дело с сетью (fetch) или другим IO, то есть AbortController - вызываем и нижестоящая операция прерывается с исключением AbortError (по-умолчанию).
Для остальных промисов появился планировщик (чтобы каждый раз не пилить велосипед с setTimeout/clearTimeout)
'''
import { scheduler } from 'node:timers/promises'
// ...
await Promise.race([
promiseChain, scheduler.wait(5000).then(Promise.reject)
])
'''
Конечно настоящий код будет немного подробнее, чтобы отлаживать было проше
| |
|
|
2.113, penetrator (?), 18:05, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
не C#, а .NET Core, пропиши OPTOUT 1 в переменную, найдешь в инете
но справедливости ради, мелкософт не пропустил патч на переделку на OPTIN
| |
2.148, Аноним (148), 02:16, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ни одного пакета не видел от OpenJDK в Wireshark, который был шёл не по тем IP, которые я ожидал увидеть. В логах длиной в несколько суток в том числе.
| |
2.153, Аноним (153), 05:35, 20/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>Вот и что остаётся, кроме старой доброй сишечки?
C++, Haskell, O'Caml, StandardML, Raku
| |
|
|
2.28, Аноним (28), 13:57, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Bun вроде какой 0.0.1, суперэкспериментальный? npm поддерживает?
| |
|
3.121, Аноним (121), 21:41, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Пока лучше ничего не пртдумали
Куколды в интернете говорят cat less сделать лучше перед исполнением, что в целом не сложно и вполне ок.
| |
|
|
1.15, Брат Анон (ok), 13:20, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
> Кроме того, в состав включён выпуск высокопроизводительного парсера URL -
> Ada 2.0, написанного на языке C++.
Так тонко, что аж жир течёт с сала)))
| |
|
2.30, FF (?), 13:58, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
для владельцев датацентров даже 2% экономии электроэнергии существенно, а про минус 200% производительности что-то зеленые молчат, шизoфазия
| |
|
|
|
5.67, FF (?), 15:29, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
а в твоей извилине сервер только такой бывает?
| |
5.69, FF (?), 15:31, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
я пишу на Го, и 1 сервер заменит 10 серверов сабжа.
| |
|
|
7.86, FF (?), 15:43, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
всмысле на ноде? нода это бэкенд! на фронте может быть тонкое представление этих данных. но увы, приходится собирать вебпаком через всё это дело.
| |
|
|
|
|
|
|
1.32, FF (?), 14:00, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Интерпретируемый язык для высоконагруженных систем это самое худшее, что случалось с айти.
| |
|
|
3.51, FF (?), 15:12, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Охохо. А они как раз умеют считать деньги, и дело не в идеальном коде, а в неправильном выборе инструмента.
| |
|
|
|
6.75, Вы забыли заполнить поле Name (?), 15:34, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
> у них бэкенд на ноде?
Тебе помочь перечитать твой комментарий? Давай помогу
> Интерпретируемый язык для высоконагруженных систем это самое худшее, что случалось с айти.
Где ты ноду там увидел?
| |
|
7.84, FF (?), 15:42, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
как ни крути, это все тормозной шлак, хоть и джанго.
| |
|
|
|
|
3.55, FF (?), 15:18, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
почему тогда не на баш-портянках, не на батниках, павершелл скриптах? это же то же самое!
| |
|
|
5.74, FF (?), 15:33, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Я не понимаю как можно писать на языке, который на каждом ходу выстреливает в ногу, потому что он может исполнить любую чушь
| |
|
6.83, Вы забыли заполнить поле Name (?), 15:40, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Я не понимаю как можно писать на языке, который на каждом ходу выстреливает в ногу, потому что он может исполнить любую чушь
Ну открой утекшие исходники гитхаба и посмотри. Или просто открой люборе рельсовое или питонячее приложение. А для ноды есть ts, если хочется типов.
| |
6.85, Вы забыли заполнить поле Name (?), 15:43, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> потому что он может исполнить любую чушь
Слушай в гошке можно себе точно также ножки отстрелить. Банально постоянное if err != nil или забытый defer или нетипобезопасные касты от interface.
| |
|
|
|
|
|
1.33, Аноним (33), 14:01, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Я правильно понимаю она не реал-тайм?
А то был мальчик один, который на ноде-джи-эс пытался внедрить систему управления ГазоПерекачивающимиАгрегатами в Газпроме. Мальчик был проплаченый потому и внедрил. Пришлось уехать от станции на 400 км.
| |
|
2.36, FF (?), 14:03, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
да, сама асинхронность на одних обещаниях (promises)
| |
2.38, FF (?), 14:06, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
точно такой же мальчик пытался разработать конфигуратор для RISC-V микроконтроллера MIK32. Сначала пытался на Vue, потом передумал и решил поиграть с React. По итогу традиционно для наколенной экспериментальной вебни проект заброшен, как и выпуск МК.
| |
|
|
|
5.168, _kp (ok), 17:06, 24/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Он нигде не нужен. Ну, не получилось, с кем не бывает. Просто вместо признания провала, и переделки, важно раздувают щёки.
| |
|
|
|
2.108, Anonnn (?), 17:00, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну если мальчик делал HMI, отчеты и графики на Js то никакой проблемы не вижу, а АСУТП обычно через ПЛК управляются, вот там реалтайм
| |
2.159, Бывалый смузихлёб (?), 13:52, 20/04/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Учитывая, что речь о работе с сетями, то какой там вообще может быть реалтайм ?
Реальное время - оно или на плис или на мк, с соответствующей ОСью в рамках которой вертится прошивка и всякие пользовательские интерфейсы, графики да хттп/хттпс серверы этого вообще не касаются по многим причинам
А как серверная часть для интерфейса управления или инфопанели - вполне неплохо может быть
| |
|
1.34, FF (?), 14:02, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Почему у меня сишные, гошные и прочие Qt проекты компилятся 3-5 секунд, а вебпак 30-50 секунд?
| |
|
|
3.52, FF (?), 15:14, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
зануда? вебпак собирает из помoйки node_molules 20К файлов в один минимизированный бандл.
| |
|
|
5.77, FF (?), 15:35, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
в демагогию я тоже умею, что не отменяет того, что он отрабатывает в 10 раз дольше
| |
|
|
7.139, FF (?), 00:20, 20/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> It's written in Go and compiles to native code.
Вебпак тут как пример эффективности софта, зачем, если можно в 10 раз быстрее и даже не на сложных низкоуровневых Сях с крестами?
| |
|
|
5.78, FF (?), 15:36, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
а настроить его конфиг это тот еще квест, особенно когда с мажорными обновами все по-другому бывает
| |
|
|
|
2.42, Вы забыли заполнить поле Name (?), 14:16, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вебпак вроде промежуточные результаты преобразований в памяти хранит, а это огромные строки и все это нужно делать каждый раз при запуске. В инкрементальном режиме все сильно быстрее. Уже есть куча других сборщиков, которые в на порядок быстрее, в том числе написанные на го и расте. Но если сделать нормальный кэш на диске, то и вебпак бы нормально работал.
| |
|
3.54, FF (?), 15:16, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
какие еще костыли предложите? протез для мозга же обсуждаем
| |
|
|
5.79, FF (?), 15:36, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
с объектными файлами компилится не 3-5, а 1-2 секунды.
| |
|
6.94, Вы забыли заполнить поле Name (?), 15:51, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Еще раз: промежутчные артефакты для мейка и подобных систем сборки - это по факту кэш. В вебпаке ничего этого нет, он все делает в памяти (например, читает файл, отдает его ts, потом конкатит). Поэтому все ппц медленно. Плюс это все на js написано, что тоже не добавляет скорости. Но если его запустить в инкрементальном режиме, то он будет работать намного быстрее, хотя для этого и надо держать запущенным процесс.
| |
|
7.140, FF (?), 00:23, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
да, я знаю, он за 3 секунды компилит в инкрементальном, но иногда бывает косячит, нужно полностью перезапускать. Еще раз: вебпак это пример суперпроизводительного софта на JS, и это даже не студенческая разработка.
| |
|
|
|
|
|
|
3.53, FF (?), 15:15, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
правильно, он костыль, собирающий кучу scss, js, ts костылей в один нечитабельный мега-костыль
| |
|
|
5.101, Аноним (47), 16:19, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
make это у тебя тоже компилятор? node.js кстати не всегда в один файл все собирает и ногад он создаёт больше файлов чем было исходных. Так что бред не пиши больше.
| |
|
|
|
2.89, Аноно (?), 15:45, 19/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Webpack уходящая натура, на подходе Turbopack и ужн есть отличный Vite...
| |
|
1.48, Аноним (48), 14:52, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> например, вместо выполнения "var result = db.query("select..");" с ожиданием завершения работы и последующей обработкой результатов, в Node.js использует принцип асинхронного выполнения, т.е. код трансформируется в "db.query("select..", function (result) {обработка результата});", при котором управление мгновенно перейдёт к дальнейшему коду, а результат запроса будет обработан по мере поступления данных.
Ну что за дурацкий пример? Сейчас все нормальные люди используют async/await, чтобы не ломать голову с десятками вложенных функций и не огребать проблем с синхронизацией.
| |
|
2.56, FF (?), 15:20, 19/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
А как нормальные люди это всё добро отлаживают?
| |
|
|
|
|
6.141, FF (?), 00:25, 20/04/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
у меня есть пошаговая отладка, точки останова, просмотр значений, и все это в IDE
| |
|
7.146, Аноним (146), 01:29, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну поставь рядом со своим goland webstorm, и там даже все кнопочки будут такие же.
| |
|
|
|
|
3.98, anonymmm (?), 16:05, 19/04/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>А как нормальные люди это всё добро отлаживают?
ты ещё спроси как нейросети после обучения отлаживают))))
| |
|
4.142, FF (?), 00:26, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
оно примерно так и работает, каждый запуск радномная асинхронность
| |
|
3.145, Аноним (146), 01:27, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
В отладчике. Async/await давно уже часть языка. Точно так же, как и во всех других языках с аналогичными конструкциями (Swift, C# etc).
Да и даже если транспайлить в какую-нибудь дичь типа es5, в сгенерированый код заглядывать совершенно необязательно, любой вменяемый отладчик понимает sourcemaps, что в принципе примерно то же, что нестрипнутый бинарь.
| |
|
|
|
|
|
|
7.155, Аноним (47), 10:23, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вы все в этом треде все гонит потому что и передние и задние умы укладывается в понятие не средние.
| |
|
|
|
|
|
2.161, Бывалый смузихлёб (?), 14:03, 20/04/2023 [^] [^^] [^^^] [ответить]
| +/– |
нормальные люди промисы используют, работая с асинхронщиной как с асинхронщиной, попутно отлавливая ошибки кетчем
а не пытаются превратить её в подобие синхронного кода
В целом же, упомянутый пример является базовым и универсальным
Ничто не мешает вызов чего-то с колбэком превратить в промис одной строкой кода( "обработка результата" из примера может оказаться вызовом резолва/режекта в зависимости от результата ) и работать с этим или посредством зен/кетч или асинк/авэйт
| |
|
1.128, zog (??), 22:43, 19/04/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Движок V8 обновлён до версии 11.3, применяемой в Chromium 113.
Есть ли возможность использовать движок от Firefox?
| |
|