сomorsiс
стой
сomorsiс
https://github.com/joshuaslate/mkrn-starter
сomorsiс
этот смотрел?
сomorsiс
хотя да, это же в гугле есть
Vadim
-
Ivan
https://github.com/joshuaslate/mkrn-starter
лол у человека в гите лежит .vscode и нет package.json
Ivan
сразу в топку
сomorsiс
package.json'ы есть
сomorsiс
просто он отдельно под сервер и отдельно под фронт
Ivan
ну и кому это нужно?
сomorsiс
что именно?
Anonymous
лол у человека в гите лежит .vscode и нет package.json
может человек сразу для тебя дебаг настроил )))
Nick
привет кто знает как прописать утилиту? node index.js —PATTERN=\.mkv —TYPE=F —MIN-SIZE=4G —DIR=/Users/Vasy/Downloads
Nick
для работы с файлами
from
освободил 12 GB тока что через rm -rf */node_modules 😎
Alexander
Народ, а нет ли более изящного способа присвоить значение одной переменной другой без референса? Сейчас делаю так var foo = JSON.parse(JSON.stringify(bar)); но, может есть способ красивее?
Igor
camelCase и ничего кроме camelCase
Вкусовщина. Snake case тоже норм
Alexander
_.cloneDeep
мерси, заюзал.
Dmitry
а every поддерживает асинхронный каллбак?
Алексей
Вкусовщина. Snake case тоже норм
Нет. Не в случае JS. Вся стандартная библиотека и подавляющее большинство нестандартных пакетов используют camelCase, а используя snake_case код превращается в мешанину стилей.
Igor
Ну и что? Если человеку так удобнее пусть пишет так. Или код не сработает?😂
Алексей
Не, ну можно и коллбэк хэлл сделать и код даже работать будет. И удобно очень, всякие промисы изучать не надо.
Igor
Не вижу вообще связи
Dmitrii
да с либой async коллбэки не так страшны как их описывают)
Алексей
Зачем, когда есть async/await?
V
Чтобы в телеге этот вопрос задали
V
Естественно
?
Зачем, когда есть async/await?
зачем в ноде или зачем вообще?
Алексей
Я про то, что не надо забивать асинхронные гвозди камнем, когда у вас есть молоток
?
кстати, как-то можно из коробки обпромисифаить все сразу в одну строчку или птичку в конфигурации какой-то?
Dmitrii
зачем использовать deprecated?
не надо использовать, раньше ее использовали, когда небыло современных стандартов. Где кстати инфо по поводу что она deprecated_?
Алексей
util.promisify
?
Я про то, что не надо забивать асинхронные гвозди камнем, когда у вас есть молоток
ну как сказать я вот давеча подкаст слушал нодовский за асинки как раз там подымались интересыне темы
Алексей
правда он не всё-всё промисифицирует
?
util.promisify
я понимаю чт промисифай, можно ли его применить сразу ко всему апи а не обворачивать отдельно?
Алексей
по моему нет
Алексей
но есть bluebird
?
так вот там вопрос был элементарный - какой-нить fs.exist есть, но как-то не айс что оно сделает throw если файла нету
?
(бзв я себе об это как раз ногу отстрелил недавно)
?
try { if (await fs.exist(path){ lala } catch (e) { // not exist } в принципе согласен что калечно
?
const exist = await fs.exist(path) - так ок выглядит
Cenator 🐈
Ну и что? Если человеку так удобнее пусть пишет так. Или код не сработает?😂
Неиллюзорный шанс что тимлид палкой будет пиздить за такое
?
всмсле не айс? ращве с коллбэками не надо было ошибки хэндлить?
не ну тут вопрос в другом - отсутствие файла это не ошибка а предсказуемый валидный результат - там в подкасте речь шла как раз о том что не все там так легко в апи лихо на асинк авейт лоб в лоб меняется
?
асинк авейт это ок но в меру и с умом
Dmitrii
exist это вообще антипаттернт в большенстве случаев
Dmitrii
надо делать сразу операцию и хэндлить ENOENT
?
всмсле не айс? ращве с коллбэками не надо было ошибки хэндлить?
не совсем надо было - ниче страшного не было если файла нет, ну да эррор но не throw ведь который потенциально к реджектед промис/апп креш приведет
Алексей
я понимаю чт промисифай, можно ли его применить сразу ко всему апи а не обворачивать отдельно?
Самый "лучший" подход который видел function requirePromise(modName, fnName) { return require('util').promisify(require(modName)[fnName]); } const stat = requirePromise('fs', 'stat'); const writeFile = requirePromise('fs', 'writeFile'); const appendFile = requirePromise('fs', 'appendFile');
?
т е нода с коллбеками толерантна к ошибками вроде как, в случае с промисами как я понял со слов авторов это чуть более чревато крешем
Алексей
Наврятли будет
?
Вот тут немного не понимаю в чем проблема, в чем здесь отличие от callback версии?
если в коллбек прилетит еррор и его никак не похендлить и просто заигнорить апка не закрешится, в случае с промисами если там явно в кеч не завернуть и что-то внутри выстрелило/зареджектилось то апка упадет с анхендлд реджекшен
Dmitrii
это уже стиль хэндлинга ошибок разный просто
?
просто с коллбеками независимо от наличия эррора человек напишет коллбек хендлящий удачное выполнение, в случае с промисами - это обязательное требование хендлить ошибку иначе все упадет
?
это уже стиль хэндлинга ошибок разный просто
речь не о стиле хендлинга а о том что будет если его нет
Dmitrii
в коллбэках он есть по умолчанию просто
Dmitrii
т.к ошибка приходит параметром
Dmitrii
его не может не быть
Igor
Неиллюзорный шанс что тимлид палкой будет пиздить за такое
Чувак только начал js учить при чем тут тимлид
?
неборабатывать error в callback нельзя, это нужно всегда делать
нужно, но если этого не сделать, то нода не загнется, разве нет?
Cenator 🐈
Чувак только начал js учить при чем тут тимлид
Раз начал, то надо правильно учиться
?
в случае с асинк авейт - выстрелит throw и в случае отсутствия кетча все упадет
Алексей
Алексей
Не упавшее приложение != рабочее
?
Ничего хорошего от этого не будет :)
ну это уже другой вопрос но это был комент на тему толрантности ноды к ошибкам
?
да, приложение будет полунерабочее вероятно
Dmitrii
в случае с асинк авейт - выстрелит throw и в случае отсутствия кетча все упадет
в случае с коллбэком у тебя неявный кэтч на другом уровне который передает ошибку параметром
?
я ж не говорю что это хорошо или плохо, а только о том что нода толерантна к этому (пока что)
Алексей
Так толерантности нет. Просто где-то легче забыть обработать, гдето сложнее :)
?
Так толерантности нет. Просто где-то легче забыть обработать, гдето сложнее :)
ну как нет если скрипт не грохнется и будет спокойно работать дальше хотя лучше бы ему возможно было упасть, это и есть толерантность к ошибкам
?
ошибка есть но пофиг пляшем :3
Igor
Раз начал, то надо правильно учиться
Snake case не будет корректно работать?