Задать вопрос
  • Насколько забивает память "const self = this" в методах классов?

    @zuart Автор вопроса
    Роман, да я не против - с моим вопросом помог разобраться Алексей, это главное.
    Просто по вашему вопросу вряд ли кто зайдет в мой топик и подскажет чего =)
  • Насколько забивает память "const self = this" в методах классов?

    @zuart Автор вопроса
    Роман, Роман, да, для меня этот момент реально не очевидный. Со стрелочными функциями когда познакомился, воспринял их просто как альтернативная краткая запись для удобства использования.

    А Ваш вопрос, судя по записи, не то, чтобы не к месту, а слегонца из другой части - судя по примеру Вас волнует клиентский код, причем с использованием jQuery-фреймворка.
  • Насколько забивает память "const self = this" в методах классов?

    @zuart Автор вопроса
    Да, это я уже понял "век живи - век учись" =)
    Но все же, если использовать self - то насколько это будет кушать память?
    Это уже скорее любопытство, т.к. навскидку не приходит в голову прямо необходимость его использования, если юзать стрелочные функции.
  • Насколько забивает память "const self = this" в методах классов?

    @zuart Автор вопроса
    Алексей, спасибо за наводку, если не сложно, поправьте меня, если я неверно понял суть:

    class CLS {
    	constructor () {
    		this.varName = null;
    	};
    
    	function result(body, ext) {
    		...
    	};
    
    	function req1(params, ext) {
    		helper.method(params, (body) => {
    			this.result(body, ext);		// отработает корректно и вызовет CLS.result
    		});
    	};
    
    	function req2(params, ext) {
    		helper.method(params, function(body) {
    			this.result(body, ext);		// попытается вызвать helper.result(...)
    		});
    	};
    
    	function req3(params, ext) {
    		const self = this;
    		helper.method(params, function(body) {
    			self.result(body, ext);		// отработает корректно и вызовет CLS.result, но нафига, если можно req1
    		});
    	};
    	...
    };
  • Насколько забивает память "const self = this" в методах классов?

    @zuart Автор вопроса
    Если чуток подробнее прокомментируете, буду крайне признателен. Но разве можно обратиться через this к объекту класса? А если это будет не просто вызов request() а если это будет вызов метода другого класса? что-то вроде:

    const self = this;
    helper.method(params, () => {
    	self.result(...);
    })


    Ведь если вместо self обратиться через this - то это будет вызов метода класса helper.
    Или я чего-то не понимаю?
  • Можно ли работать с никсовым софтовым RAID из windows?

    @zuart Автор вопроса
    kalapanga, ну в таком разрезе вопроса, да, вы правы. Но топологически реально "проблемным" местом оказывается только виртуалка "проксирования" между виндой и рейдом.
    Бекапинг неплох, но опять же, вопрос смежного доступа к данным остается + еще и реализация бекапинга, чуть ли не реалтайм, т.к. вручную это делать - самое ненадежное звено =))) а всякие планировщики и т.п. требуют включения компа в указанное время, и т.п. сопутствующие нюансы. И в таком разрезе уже рейд не кажется более сложным вариантом решения задачи надежности.
  • Можно ли работать с никсовым софтовым RAID из windows?

    @zuart Автор вопроса
    Эммм... а в чем выражается "увеличение вероятности отказов"?

    В сообществе никсоидов как раз считается более правильным и надежным использование софтового рейда вместо аппаратных вариантов (особенно когда это встроенные в мамки глюкавые решения). Как на его надежность повлияет наличие раздела с виндой на одном из дисков?

    Вот этого момента хоть убейте не понимаю...
  • Можно ли работать с никсовым софтовым RAID из windows?

    @zuart Автор вопроса
    pfg21, написал суть-дополнение в самом вопросе...
    katzen, разницу между райд/бекап я знаю =))) и если предлагаете собрать рейд под виндой, то вопрос трансформируется - как под никсами получить доступ к рейду тогда? Аппаратный рейд не предлагать - это убожество без использования специализированных и недешевых плат, которые к тому же в ноут не засунешь + это очень ненадежное решение
  • Можно ли работать с никсовым софтовым RAID из windows?

    @zuart Автор вопроса
    Изолированная схема? На десктопе (редко бывают ноуты с двумя дисками)? Часто и подолгу?

    Именно так - ноут с двумя дисками...

    Правильным было бы поставить NAS, и он, будучи в локальной сети, всегда будет доступен.

    Во-первых: никакой "локальной сети" в принципе не существует, а во-вторых: повторюсь, периодически работа ведется "под колпаком", когда никаких сетей нет в принципе, не говоря уже о том, чтобы что-то там хранить где-то на чужих серверах.
  • Можно ли работать с никсовым софтовым RAID из windows?

    @zuart Автор вопроса
    На тему "неправильный" вариант - именно про это я выше и писал, в принципе вы и подтвердили этот момент...

    А по поводу "правильный" - его как бы пробовали, но представьте себе работу в виртбоксе с 3Д рендерами и PSD-файлами, размером около 400-500Мб... Если представить не удается - то окажетесь совершенно правы, ибо даже при выделении боксу практически всей памяти и проца не хочет оно работать нормально...
  • Можно ли работать с никсовым софтовым RAID из windows?

    @zuart Автор вопроса
    АртемЪ, на данный момент это только так - идея... но вообще - была у меня ситуевина крайне неприятная, когда труд почти полугода екнулся благодаря тому, что хард "приказал долго жить" и вытащить с него не удалось ничего даже с помощью спец.контор...

    С тех пор работаю исключительно с рейдами... Да, есть гитхабы, яндекс/гугло диски и т.п. но у всех них есть одно немаленькое ограничение - с ними можно работать только по сети, а это не всегда возможно... периодически случается "изолированная схема", когда никакой связи с внешним миром быть не может...
  • Как вовремя ловить событие логаута на debian?

    @zuart Автор вопроса
    Vitsliputsli, а чуток поподробнее сможете? на какой login?
  • Как вовремя ловить событие логаута на debian?

    @zuart Автор вопроса
    Спасибо. Судя по "pam_ssh" - это касается только SSH-сессий?
    А консольный вход/выход так не отловить? Это не то, что критически важно, но все-таки вдруг...
  • Как настроить KVM виртуализацию с двумя бриджами?

    @zuart Автор вопроса
    Пробовали и настраивать через br0 - видит инет, но и сама в инете светится, и не видил внутрилокальные адреса
    Пробовали настроить через br1 - но тогда вообще ничего не видит
    Пробовали дефолтные параметры при создании - ситуация не лучше.

    Все попытки с командами я уже не вспомню, но вот нюанс от Melkij заставил задуматься... Мы реально не пробовали с настройками сети побаловаться внутри гостевой системы при конфиге через br1.
  • Как настроить KVM виртуализацию с двумя бриджами?

    @zuart Автор вопроса
    Не совсем так - софтинка не отъедает память без ограничений, а определяет сколько ее вообще есть на серваке, сколько уже занято и сколько пока свободно... Потом отжирает себе столько, сколько сочтет нужным в пределах цифр, которые определяет как доступная и потом не отдает, собака такая... и получается, что все остальное, что хочет памяти побольше, вынуждено работать со свопом.

    LXC не дает возможности всему, что запущено внутри контейнера определять доступную память в пределах выделенного лимита... А KVM как никак полноценная виртуалка и все, что внутри нее крутится работает с теми ресурсами и значениями, которые были выделены... Посему софтинка не скушает больше, чем есть в KVM-контейнере.

    Вот как-то так.

    За совет спасибо, сейчас попробую =)
  • Почему setInterval кушает больше проца чем setTimeout?

    @zuart Автор вопроса
    RidgeA, спасибо, посмотрим, хотя и маловероятно, что будем переделывать, если только проблем не вылезет =)
  • Почему setInterval кушает больше проца чем setTimeout?

    @zuart Автор вопроса
    RidgeA, вот и я удивился, что за ерунда
    реально объективных причин такого поведения не смогли найти всем отделом, но времени тратить тоже не стали - просто фиксанули и все (вчера вообще перевел эту кухню на FS.watch(...), правда пришлось делать небольшую обертку, а то если в момент запуска watch файла не существует, то мониторинг не активируется, и выбрасывает исключение - а такое у нас бывает, что файл с данными то есть, то нет, то изменяется)...

    может реально конкретная версия ноды... не так давно оптимизировали сортировку данных матрицы (т.е. по сути матрица даже 100 х 100 выдает для сортировки 10000 значений), так на 9-ке как ни бились, не удавалось выиграть больше нескольких микросекунд на итерацию... а тот же самый код на 10-ке выдал выигрыш почти на 40%

    сейчас у нас версия ноды 10.10.0
  • Почему setInterval кушает больше проца чем setTimeout?

    @zuart Автор вопроса
    Версия ноды 10, интервал хардкодом конкретное число = 1000.
  • Почему setInterval кушает больше проца чем setTimeout?

    @zuart Автор вопроса
    Dmitry, Дмитрий, чтение файла асинхронное, я про это писал + код функции тоже выложил выше - используется именно асинхронное чтение...
    И далее, тоже выше написано, вставлял для теста в функцию строчку вывода в консоль с таймингом - разница между вызовами укладывалась в 1000мс (плюс/минус)

    И да, чтобы наверняка развеять сомнения по чтению - файл не более 1Кб и читается мгновенно, в колбек тоже вставляли вывод в консоль, чтобы понимать, нет ли там задержек (параноил по черному) - на чтение файла уходило менее 50мс.

    Вот как-то так... странности, потому и вопрос решил тут запостить, мало ли у кого-то еще какая-то параноидальная мысль возникнет, которая может объяснить такое поведение таймера
  • Почему setInterval кушает больше проца чем setTimeout?

    @zuart Автор вопроса
    Dmitry, точно такой =)
    по сути место повторного вызова не имеет значения.

    Место вызова setTimeout() в функции влияет только на два момента:
    - если допустить вероятность возникновения исключения до вызова setTimeout(), то функция вывалится не дойдя до следующего шага, т.е. выполнение прервется (можно, конечно, обернуть в try{} catch() {})
    - т.к. код "чтения" файла пусть и асинхронный, но все же тратит какое-то количество мс, то в случае переноса следующей итерации в конец функции, интервал между запусками будет не 995-1005 мс, а примерно 1010-1020 (ну это так, навскидку)

    Так что это на самом деле совершенно непринципиально