Artur
Каким боком это ручная память?
Anonymous
Михаил
try ... finally
Насколько я вижу, finally используется только для обработки ошибок, и я совершенно не понимаю зачем он нужен. Если его убрать ничего не изменится.
Anonymous
Anonymous
Бтв, изменится
Anonymous
Anonymous
Ну или иначе, сделать декоратор
Михаил
У меня асинхронный sql запрос, ни finally, ни декораторы тут не помогут. А деструктор бы помог.
Nikita
нет, нету деструкторов
Михаил
Sergey
Александр
Михаил
Бросить нахрен эту ноду и пойти писать на с++, там можно думать об архитектуре, а не о костылях.
Anton
Надо задачи бизнеса решать, а не об архитектуре думать)
Izzzy
Сдаётся мне, если появляется такое стойкое желание закостылить - значит как-то не так понят язык
Sergey
Sergey
Ale
я не понял кейса)
Ale
может кто объяснить?
Ale
а то пока я согласен с @iamstarkov
Андрей
Может кто подсказать, что не так? Почему то ответы на кнопки начинают дублироваться
Андрей
Андрей
Андрей
Sergey
стиль кода у тебя отвратный, конечно
Sergey
я тут нашел говнеца немного
https://github.com/jorangreef/sudo-prompt/blob/394dac03cca5193908d93d5981f138ca9cc67b30/index.js#L424
Sergey
Izzzy
ойой
Izzzy
Андрей
Да это из другого файла перенес чисто меню, чтобы разобраться
Андрей
что именно
делал как в видеоуроке было
Андрей
всё неправильно
Sergey
как вам такое
Sergey
Izzzy
всё неправильно
У тебя при каждом сообщении в чате в бот добавляется новый слушатель события on('message')
Izzzy
Они накапливаются и все срабатывают разом
Андрей
Ну да, точно
Это тогда как то засунуть в один on?
или оставить вверху и он будет работать даже если уйти в функцию
Izzzy
Слушатель события должен быть один,
Если ты какую-то пошаговость добавляешь то
внутри слушателя ты должен определять что за пользователь, на какой стадии он находится и дальше уже работать в зависимости от стадии
Sergey
нахрена так делать?)))
Sergey
лучшая практика это импортить только то, что тебе нужно
const { resolve } = require('path')
Sergey
я тоже
но для ноды стараюсь писать в нативном коде
Ale
что-то в глобале?
Sergey
Ilnur
однако актуальненько XD
Anonymous
Sergey
Sergey
А он https://github.com/jorangreef
Anonymous
Anonymous
ничего себе у ucoz редизайн
Vlad
кому он нужен, лол
Korsar
эх, неплохо, вот только с разговорным "бегло и без пауз" как раз и есть проблема 😜
Denis
Внимание! вопрос: чем отличается аудит от профайлинга?
Anonymous
профайлинг - это замеры по времени выполнения, иногда еще и по занимаемым ресурсам в процессе выполнения. Аудит - ... При мне аудитом называли полную проверку исходных кодов программы на наличие малвари
Ilnur
почему только малвари?
Artur
может кто объяснить?
Автоматическое освобождение занятых объектом ресурсов. Типичный пример вот:
const dbConn = pool.getConnection().
// do work
dbConn.release() // <- забыл сделать release, утёк ресурс
А если бы была возможность освободить ресурс автоматически по уничтожению объекта dbConn, то всё было бы хорошо
Artur
В б-гомерзском php такое есть кстати
Anonymous
Artur
Anonymous
Добро пожаловать в 2017 год))
Anonymous
Artur
Это не то
Artur
Ты не можешь отследить момент когда у тебя из weakset/weakmap пропадает объект
Artur
Так вто идём взад, в тёмные века
Anonymous
Artur
Нет не подходит
Anonymous
Для того, чтобы уничтожить объект, достаточно потереть свои ссылки на него
Artur
А если надо что-то ещё сделать при уничтожении объекта?
Anonymous
После чего им займётся GC
Anonymous
Ну делай, кто тебе мешает)
Artur
О чём и речь. что надо об этом помнить. А если бы были деструкторы, то можно было бы спокойно забывать
Anonymous
Удаляешь ссылки и проводишь все остальные свои обряды
Александр
Izzzy
defer из Go подошел бы
Izzzy
Даже не деструктор
Artur
Делаешь работу, проводишь обряды
Александр
Сделать объект-менеджер и удалять объекты принудительно через него.
Artur