Size: a a a

Angular - русскоговорящее сообщество

2019 December 10

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Андрей Ч
нет, утечка это плохо, т.к. накаптивается и начинает тормозить, а если одна функция лишний раз отработает это не так страшно. И может у меня в коде в другом месте запрет есть перехода на другой компонент пока запрос не завершился
А если функция, которая не должна была отработать, отработает, и обратится к ресурсу которого уже нет и упадет с ошибкой? Или сделает то, чего делать не должна?

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

Мы случайно упустили из виду кнопку, что привело к непредвиденным ошибкам на боевой системе. Хотя могли бы их избежать, следуя простому контракту: если нам что-то не нужно, то мы это уничтожаем.
источник

AK

Anton K. in Angular - русскоговорящее сообщество
Андрюха, не ругайся
источник

YS

Yuri Stepanov in Angular - русскоговорящее сообщество
Надо сразу в Гугл ехать, там незнанием не опрокинут
источник

AK

Anton K. in Angular - русскоговорящее сообщество
Про утечку парни правы
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Андрей Ч
ага, из-за таких вот сектантов, которые путаются в понятиях что такое утечка памяти
если вас опрокинули, то точно не из-за одного неправильного ответа(не правильного на их взгляд)
значит вы не смогли ответить на гораздо более широкий спектр вопросов
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Андрей Ч
ага, из-за таких вот сектантов, которые путаются в понятиях что такое утечка памяти
Чтобы не опускаться в ваших глазах, позволю себе ответить на ваш вопрос. Утечка памяти — это процесс приводящий к уменьшению свободной памяти процесса. В JS он может происходить, когда у нас остается ссылка от GC Root, поэтому GC не может освободить используемый участок памяти. Я не буду говорить про несколько поколений, и как это локализовать, чтобы не быть многословным.
источник

АЧ

Андрей Ч in Angular - русскоговорящее сообщество
Вертихвост キバ
А если функция, которая не должна была отработать, отработает, и обратится к ресурсу которого уже нет и упадет с ошибкой? Или сделает то, чего делать не должна?

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

Мы случайно упустили из виду кнопку, что привело к непредвиденным ошибкам на боевой системе. Хотя могли бы их избежать, следуя простому контракту: если нам что-то не нужно, то мы это уничтожаем.
во-первых ваш пример опять не имеет отношения к утечке памяти
источник

AK

Anton K. in Angular - русскоговорящее сообщество
В js gc завезли?
источник

ДП

Денис Подоляченко in Angular - русскоговорящее сообщество
Эх, идя в js не думал что и тут нужно будет так по поводу утечки париться
источник

AK

Anton K. in Angular - русскоговорящее сообщество
Денис Подоляченко
Эх, идя в js не думал что и тут нужно будет так по поводу утечки париться
Да не парься. Просто вкладку обнови
источник

ДП

Денис Подоляченко in Angular - русскоговорящее сообщество
Anton K.
Да не парься. Просто вкладку обнови
А разве это прокатит?
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Андрей Ч
во-первых ваш пример опять не имеет отношения к утечке памяти
а кто вам сказал, что там речь шла про утечку? вам лишь говорят, что падение функций - это не безопасный код
источник

AK

Anton K. in Angular - русскоговорящее сообщество
Денис Подоляченко
А разве это прокатит?
А то. Все выгрузится же из памяти
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Андрей Ч
во-первых ваш пример опять не имеет отношения к утечке памяти
Первый пример относится как раз к утечке памяти, когда у нас запущен поток, который мы не отпускаем. Второй пример имеет прямое отношение к негативным сайд эффектам.
источник

AK

Anton K. in Angular - русскоговорящее сообщество
Я вот иногда вкладку с gmail перезагружаю
источник

АЧ

Андрей Ч in Angular - русскоговорящее сообщество
Вертихвост キバ
Чтобы не опускаться в ваших глазах, позволю себе ответить на ваш вопрос. Утечка памяти — это процесс приводящий к уменьшению свободной памяти процесса. В JS он может происходить, когда у нас остается ссылка от GC Root, поэтому GC не может освободить используемый участок памяти. Я не буду говорить про несколько поколений, и как это локализовать, чтобы не быть многословным.
так вот и надо показывать эту утечку, в браузере есть для этого инструменты, а не пихать console.log под видом "это утечка памяти"
источник

Вキ

Вертихвост キバ in Angular - русскоговорящее сообщество
Андрей Ч
так вот и надо показывать эту утечку, в браузере есть для этого инструменты, а не пихать console.log под видом "это утечка памяти"
Если я сделаю вам скриншот снепшота памяти того примера, вас это удовлетворит?
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Денис Подоляченко
Эх, идя в js не думал что и тут нужно будет так по поводу утечки париться
открое глаза, утечки встречаются и в .net и java)
источник

ДП

Денис Подоляченко in Angular - русскоговорящее сообщество
Андрей Ч
так вот и надо показывать эту утечку, в браузере есть для этого инструменты, а не пихать console.log под видом "это утечка памяти"
Ну это наглядный пример
источник

ДП

Денис Подоляченко in Angular - русскоговорящее сообщество
Денис Макаров
открое глаза, утечки встречаются и в .net и java)
Это я знаю
источник