Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 November 29

Ш

Шима in NodeUA - JavaScript and Node.js in Ukraine
Всем привет. Подскажите пожалуйста где можно посмотреть много примеров колбек функций... Не могу понять как они правильно строятся и применяются. Уже несколько месяцев бьюсь об стенку и не могу пробить. С асинк эвэйт уже больше разобрался чем с колбеками(((😭
источник

V

Vitaliy in NodeUA - JavaScript and Node.js in Ukraine
Шима
Всем привет. Подскажите пожалуйста где можно посмотреть много примеров колбек функций... Не могу понять как они правильно строятся и применяются. Уже несколько месяцев бьюсь об стенку и не могу пробить. С асинк эвэйт уже больше разобрался чем с колбеками(((😭
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Шима
Всем привет. Подскажите пожалуйста где можно посмотреть много примеров колбек функций... Не могу понять как они правильно строятся и применяются. Уже несколько месяцев бьюсь об стенку и не могу пробить. С асинк эвэйт уже больше разобрался чем с колбеками(((😭
В доке ноды :) Не знаю как сейчас, а раньше там всё было на колбеках
Ещё в исходниках какого-нибудь экспресса
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Сергей
Хорошо, но не все так просто. У каждого многоугольника есть метод расчета площади. У квадрата и прямоугольника это оптимизированные варианты, чтоб сэкономить вычислительные ресурсы: сторона в квадрате и длина на ширину. А вот для пятиугольника и выше хотелось бы использовать универсальную формулу и что может быть лучше, чем просто унаследовать метод от базового класса "многоугольник" ?
Это перекликается с вопросом Елены о том, что же делать, если двадцать методов схожи, а один - нет
Использование композиции вместо наследования решит проблему?
источник

MZ

Mike Zhukov in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Это перекликается с вопросом Елены о том, что же делать, если двадцать методов схожи, а один - нет
Использование композиции вместо наследования решит проблему?
Конечно решит - специфичный интерфейс, который будет у всех кого надо свой, а остальные - переиспользуемые.
источник

MZ

Mike Zhukov in NodeUA - JavaScript and Node.js in Ukraine
А к "классической" иерархии наследования можно прийти в таком случае если окажется что определённые интерфейсы почти всегда юзаются группами и из них можно соорудить абстрактный класс.
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Это перекликается с вопросом Елены о том, что же делать, если двадцать методов схожи, а один - нет
Использование композиции вместо наследования решит проблему?
А проблемы нету. Это у правильных многоугольников есть,  с их оптимальностями (в т.ч. отсутствие избыточных длин сторон). А у неправильного - зафигачил свойство: массив вершин с координатами в порядке обхода, вычислил длины,  вычислил периметр,  площадь и это все одни и теже методы,  которые можно наследовать от класса "неправильный многоугольник". Через агрегацию можно,  но зачем?  Чтоб через год убедиться,  что классическое наследование подходит и переписать туеву кучу кода?
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
А не,  код переписывать сильно не придется,  методы теже,  просто расчет дилегируют внутри, но все равно смысл?
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Сергей
А не,  код переписывать сильно не придется,  методы теже,  просто расчет дилегируют внутри, но все равно смысл?
Встречный вопрос - а зачем оптимизировать, если метод базового класса (пускай мы действительно вынесли вычисление площади в базовый класс) работает?

Следующий вопрос - у круга тоже есть площадь. И он тоже является фигурой с методом draw
Но очевидно, что для него площадь надо вычислять совсем иначе. Так может, оставить реализацию потомкам? Template method вполне подойдёт. Или даже лучше, factory method, который возвращает объект, умеющий считать площадь и какую-нибудь ещё специфику, типа периметра
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Встречный вопрос - а зачем оптимизировать, если метод базового класса (пускай мы действительно вынесли вычисление площади в базовый класс) работает?

Следующий вопрос - у круга тоже есть площадь. И он тоже является фигурой с методом draw
Но очевидно, что для него площадь надо вычислять совсем иначе. Так может, оставить реализацию потомкам? Template method вполне подойдёт. Или даже лучше, factory method, который возвращает объект, умеющий считать площадь и какую-нибудь ещё специфику, типа периметра
Вопрос зачем оптимизировать лучше задать геймдевам,  причем 3d. А круг не наследует от класса "неправильный выпуклый многогоугольник", у них с овалами уже свои терки))
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Сергей
Вопрос зачем оптимизировать лучше задать геймдевам,  причем 3d. А круг не наследует от класса "неправильный выпуклый многогоугольник", у них с овалами уже свои терки))
Но класса неправильный выпуклый многоугольник нет, есть геометрическая фигура
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Но класса неправильный выпуклый многоугольник нет, есть геометрическая фигура
Алексей,  это ж не смешно.  Ну так сделай. Но если не хочешь,  тогда делай одиноковую реализацию методов в каждом хреноугольнике.
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Сергей
Алексей,  это ж не смешно.  Ну так сделай. Но если не хочешь,  тогда делай одиноковую реализацию методов в каждом хреноугольнике.
Перестал понимать о чём речь, да и шутить не пытался
Предлагаю всё-таки разобраться с паттерном мост
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Перестал понимать о чём речь, да и шутить не пытался
Предлагаю всё-таки разобраться с паттерном мост
Ну ок, я попозже.
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
ID:0
Долгожданное видео выйдет в воскресенье в 6:00
https://youtu.be/RS8x73z4csI
YouTube
"Node.js Middleware – никогда больше!" Тимур Шемсединов
Видео с онлайн-конференции JavaScript fwdays'20 autumn, которая прошла 22 сентября 2020 года.

Описание доклада:
Почему приложение работает нестабильно, происходит утечка памяти и процесс часто вылетает? Почему вам сложно найти ошибку и нужно долго делать откладку? Почему правки занимают все больше и больше времени, а модули трудно свести вместе? Вы уже догадывались, что с мидлварами что-то не так, но не знаете как без них? Решение есть!

Страница доклада и презентации:
https://fwdays.com/event/javascript-fwdays-2020/review/nodejs-middleware

Больше докладов и видео по теме конференции:
https://fwdays.com/event/javascript-fwdays-2020

Fwdays более 10 лет занимается организацией масштабных конференций для разработчиков таких направлений: JavaScript, .Net, Python, Data Science, PHP, QA, Highload, Architecture, DevOps, Databases.

Больше информации про актуальные события:
https://fwdays.com/events

Подписывайтесь, чтобы первыми узнавать про старт продаж билетов по самой выгодной цене:
Facebook: https://www.fa…
Готовлю текстовую расшифровку на хабре
источник
2020 November 30

RD

Rodion D in NodeUA - JavaScript and Node.js in Ukraine
Здравствуйте. Коллеги, кто нибудь знает есть ли способы использовать валидацию экспреса на полях formidable?
источник

DK

Dmitriy Kupriyanov in NodeUA - JavaScript and Node.js in Ukraine
Доброй ночи!
Кто-то знает как вернуть Promise в  emit?
emitter.emit Returns: <boolean>
https://nodejs.org/api/events.html#events_emitter_emit_eventname_args
А мне вот промис нужен. Думаю возможно ли это?
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Dmitriy Kupriyanov
Доброй ночи!
Кто-то знает как вернуть Promise в  emit?
emitter.emit Returns: <boolean>
https://nodejs.org/api/events.html#events_emitter_emit_eventname_args
А мне вот промис нужен. Думаю возможно ли это?
Там возвращается истина, если событие имеет подписчиков, и ложь в ином случае. Любопытно, а что будет означать возврат промиса?
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Dmitriy Kupriyanov
Доброй ночи!
Кто-то знает как вернуть Promise в  emit?
emitter.emit Returns: <boolean>
https://nodejs.org/api/events.html#events_emitter_emit_eventname_args
А мне вот промис нужен. Думаю возможно ли это?
Возможно, только в этом случае вам не ивент эмитер нужен (точнее не тот, что идет из коробки). Вам нужен либо async iterable, либо async emitter.
Я как-то для своих поделок писал вот такое: https://github.com/SkeLLLa/mqee. Еще как пример из того, что вам подойдет - https://github.com/sindresorhus/emittery.
источник

R

Roman in NodeUA - JavaScript and Node.js in Ukraine
Юзер зарегался в систему и теперь хочет удалить свой аккаунт, каких прав будет достаточно для безопасного удаления?
источник