Дима
Выбирать топчик — это сложное дело)
Дима
Ну в целом да, без react, babel и async я бы наверное до сих пор на джаве писал
Dreamerinnoise
Без тайпскрипта
Таймураз
Mannaro
Denis
Толще некуда
Rem1te
ставил на рабочем рядом с виндой убунту, зарузчик винды отклеился
anoru
Плохо, но в гугле описано как починить, там вроде несложные процедуры были.
Ilnur
ребята. Есть вопрос. Имеется функция. В ней может содержаться любая логика и все что угодно. Как выполнить так, чтобы это было безопасно?
Alik
Ilnur
Есть основной процесс приложения + среда исполнения приложения. Есть некоторые пользовательские скрипты, где может быть любая ересь, но которую нужно выполнить. Задача сохранить целостность окружения, приложения и не дать доступ к либам с хоста
Ilnur
пока решение вижу только выполнять в изолированном никсовом контейнере, с ограничениями на любой пук
Ilnur
может есть иные вариаенты?
Ilnur
Таймураз
я это и написал
Да в принципе кроме как ресурсы урезать, для изолирования контейнера больше ничего и не нужно
Таймураз
Включая ресурс времени
Таймураз
Внутри контейнера кроме самой ноды больше ничего не держишь, если нужно- можно скрипт запускать в своем скрипте, который предварительно require затрет, чтобы внутри исполняемого нельзя было его юзать
Таймураз
Короче еще и глобал вычистить
Ilnur
const util = require('util');
const vm = require('vm');
const script = new vm.Script('globalVar = "set"');
const sandboxes = [{}, {}, {}];
sandboxes.forEach((sandbox) => {
script.runInNewContext(sandbox);
});
console.log(util.inspect(sandboxes));
Ilnur
есть такой еще вариант
Ilnur
и вот
Ilnur
https://github.com/gf3/sandbox
Ilnur
но хз что будет актуальнее
Ilnur
ну или есть еще такое. Но это уже браузерное выполнение
Ilnur
function InlineWebWorker(wFunction) {
return new Worker(URL.createObjectURL(
new Blob(
[
wFunction
.toString()
.trim()
.match(
/^function\s*\w*\s*\([\w\s,]*\)\s*{([\w\W]*?)}$/
)[1]
],
{ type: 'text/javascript' }
)
));
}
Ilnur
Подскажите что актуальнее?
Ilnur
ну грубо говоря да
Danil
Лол, сколько ж фреймворков под Node.jS??
Danil
Мне вот например нужен фреймворк где куча возможностей типа очередей, мидлваров, MVC, разделение логики нормальное и сразу понятные правила по ее разделению
Danil
Мб даже с Workflow из коробки
Danil
Чтобы ОРМка была
Ilnur
Meteor
Ilnur
https://www.meteor.com/
Максим
кто-нибудь знает, есть ли в ноде стандартная ф-ция что бы увидеть дифф между объектами (простой джейсон ключ => значение)?
Danil
А че тогда так ноду хвалят?
Danil
У него все варианты фреймворков - пусыте для домашних проектов что ли?
Ilnur
что нибудь такое не устраивает?)))
Danil
Чет не понял в чем троллинг, чтобы заценить((
Ilnur
[] == []
Ilnur
или [] == ![]
Ilnur
Читал, понравилось. PHP не нужен)))
Ilnur
вообще этот рынок скоро канет в аналы памяти
Ilnur
😂
Таймураз
Таймураз
Большая часть проектов на пхп, бывший архитектор за него всячески заступался, ругался на единственный проект на ноде
Ilnur
Ты статью почитай, там же умные люди пишут
Ilnur
😊
Таймураз
Таймураз
Тут фишки ноды выставляются шуточно, позиция автора для меня- ящик пандоры
Таймураз
Точнее, содержимое ящика
Artur
Ilnur
Там аргументированные выводы, даже графики есть
Ilnur
!!
Таймураз
Ilnur
😂
Ilnur
именно!
Ilnur
и с выводами
Таймураз
Не помню доводы архитектора, говорил что-то типа "пакетный менеджер у пхп надежнее и лучше"
Artur
Чувак не знал про npm-shrinkwrap
Таймураз
Ну и дефолтное "нода однопоточна"
👁
статья сатирическая
Artur
А пхп типа нет
👁
но шутки так себе
Ilnur
Artur
По процессу
Таймураз
Типа 100 запросов- 100 потоков
Artur
В котором 1 поток
Таймураз
Я от правды не ушел далеко
Ilnur
Так вот в чем беда пхп была!!! она была многопоточной!!!
Ilnur
Я раскрыл тайну века ребята!!!
Таймураз
У меня было 2 самых весомых аргумента- синтаксис у js чище, из коробки 6ая нода имеет больше возможностей, чем пятый пхп
Таймураз
да знаю я про fpm
У них тут на половине серверов апач