Необходимость работать 24/7 - это скорее из-за того, что количество технологий растет с каждым днем и нужно быть во всем этом компетентным (не всегда, но все же). Поэтому кроме работы, следует еще уделять свое личное время на саморазвитие в этой сфере. Не все так делают, кто-то работает, как говорят - от звонка до звонка. В этом ничего плохого нет, сам так живу. Теряешь в ценности, как профессионал, скилл ниже чем у тех, кто регулярно тратит свое время на обучение. Но тут уже самому решать - хочешь ли ты быть хорошим спецом или иметь личную жизнь. Совмещать конечно можно, но сложно. Я вот не умею :)
Слава, да, действительно. Не обратил внимания. Тогда можно либо `edit` в функцию превратить, либо bind использовать, либо через имя переменной post доставать, либо функцию-конструктор городить.
Вот оно как. Нет, я про очистить и вновь выводить конечно думал - но как-то по слишком странно выглядит. Или все-таки можно как-то к конкретному знакоместу обратиться (не при помощи либы)? Просто по моим знаниям работа с терминалом это либо мы выводим строку с переводом на новую строку (или без) и считывание ввода и все.
Денис Пушкарев: я делал что-то не так) Я обычную строку сохранял. Исправил на объект - утечка появилась, благодарю за объяснение. Хотя странно, вроде как везде пишут, что если на объект нет ссылок, то он должен уничтожаться сборщиком. А во всех статьях про утечки - только описание старых багов в IE типа циклических ссылок(
Денис Пушкарев: Ну, текущая реализация это понятно, тем более, что стандарт не принят еще. Я хотел другое сказать, но упустил - когда я заменил WeakMap на обычную переменную, то память возвращалась в прежнее состояние. Попробуйте сами, возможно я что-то не так делаю.
А разве после того, как последние ссылки на удаленный инстанс исчезнут, из сборщик не соберет? Я попробовал прогнать Ваш и посмотреть при помощи профилировщика сколько памяти отъедается. names я заменил на обычную переменную. Понятно, что в этом случае, памяти уходило гораздо меньше, но вот как раз-таки с WeakMap она вся не освобождалась.
var o = {};
for (var i = 0; i < 100000; i++){ o[String(i)] = new Person(i) }
Затем почти так же
for (var i = 0; i < 100000; i++){ delete o[String(i)] }
С WeakMap примерно половина памяти не освобождается.
Я видимо что-то не понимаю. Можно ведь просто заменить names на обычный объект и будет работать так же. Переменную names мы не может увидеть из-за того, что она находится в замыкании и не является свойством Person. Где я не прав?
.apply($,promiseArray) работал правильно. Ошибка была совсем в другом месте. Я думал, что в jQuery-promise'ах если в done() возвращать другой промис, то можно делать последовательности. Так можно делать, но только при помощи pipe()