Nikita
Но это, не то чтобы я кому-то советовал делать так же, если вы не понимаете, зачем оно вам ;-)
Yan👀
Я вот так в лог пишу: https://github.com/ChALkeR/whiner/blob/master/index.js
а чем тебе пино от твоего коллеги по ctc не угодил? :)
Nikita
Ух, pino умудрились обойти bole по скорости. Хотя не то, чтобы это было мне сильно важно
Nikita
Не умеет ;-)
Yan👀
в депсах биндингов как у тебя не вижу так что полагаю что не умеет)
Yan👀
а ну ты уже нашел)
Yan👀
а обогнал bole потому что он в фастифай в депсы пино сунул)
Yan👀
вот и обогнал
Nikita
а обогнал bole потому что он в фастифай в депсы пино сунул)
Лол. Надо посмотреть чем они там реально отличаются.
Nikita
Но мб вытащу bole и вставлю pino, хз.
Yan👀
https://github.com/rvagg/bole/pull/10
Yan👀
вон сам автор бола делал бенчи
Nikita
Емнип, я просто не смотрел на pino тогда. Или он был ещё не готов.
Михаил Макарычев
https://github.com/devslaw/TypeScript-Node.js-REST-example
Неужели кто-то реально так пишет? Прям классы слздают для роутов, основного приложения и пр.?
Pauline
и я
Михаил Макарычев
сишарперы и жависты
Круто. Жаль, не видел такого никогда раньше (сам на шарпе пишу)
Sergey
а я вот видел
Михаил Макарычев
а здесь что забыл?
Ну я на шарпе и ноде пишу
Vint
И это ад. У меня сейчас такое же по наследству. Только логика раз в N сложнее, поэтому ад вдвойне.
Vint
Не делайте так никогда. В js по крайней мере.
Михаил Макарычев
Pauline
всё читаемо
Sergey
не вижу смысла в классах для роутов
Vint
Если не городить наследование, то всё норм должно быть
Ну там в примере уже наследование есть. И как бы классы для этого и есть, иначе зачем? Хотя... У меня в проекте есть классы с двумя статическими методами, например. Это вообще под какой водкой было придумано?
Pauline
удобно писать класс с методами и стейтом
Vint
классы для методов инстанса а не для наследования-only
Нет. Изначально люди просто не догадываются, что в Ноде есть модули. Изолированные.
Sergey
или я посыл не понял?
Vint
Немного не понял. В модулях сделать нельзя, конечно же. Но когда класс ради класса, а инстанс ради инстанса - это лишние сложности. Пример с роутами очень показательный в этом плане.
Михаил Макарычев
на модулях ты сможешь сделать методы инстанса?
Как я понял, он говорит, что эти два варианта идентичны: //1 class foo { constructor(a) { this.a = a; } foo() { ++this.a } } //2 let a = 0; function foo() { ++a; }
Vint
Классы очень хорошо существуют без наследования. Удобно хранить состояния
Так я не против классов. Я лишь прошу не устраивать ООПизацию всего и вся. Если это где-то задел на будущее и ради общего стайла в проекта - подумать и отказаться. Будущее наступит, но половина классов так и не вырастет.
Vint
Как я понял, он говорит, что эти два варианта идентичны: //1 class foo { constructor(a) { this.a = a; } foo() { ++this.a } } //2 let a = 0; function foo() { ++a; }
Не совсем так. Но в этом конкретном примере представь, что такой класс у тебя будет использоваться ровно один раз в проекте (я даже не про синглтон). Или один раз на один запрос. Зачем здесь класс?
Михаил Макарычев
Не совсем так. Но в этом конкретном примере представь, что такой класс у тебя будет использоваться ровно один раз в проекте (я даже не про синглтон). Или один раз на один запрос. Зачем здесь класс?
В таком случае, думаю, не нужны. Я и сам против ООП головного мозга. По возможности надо везде функции юзать, конечно А синглтон - это вообще зло
Vint
Но и здесь классы не нужны, достаточно модуля, который выполняется один раз и кешируется. В этом и прелесть.
Alexey
Все уже забывают, что в этом языке, по факту, нет классов? Пример выше сделали, потому что могли
Alexey
var counter = 0; function hybrid() { if (!(this instanceof hybrid)){ return counter++; } else { this.counter = 0; hybrid.prototype.next = function() { this.counter++; } } }
Alexey
Вот вам пример
Alexey
Это называется «Потому что могу»
Alexey
Alexey
Сейчас почитываю о Go, решили они проблему с классами, конечно. С пробелами и табуляцией. Здорово на самом деле
Igor
Викторина глупых вопросов. Как передать элемент массива в конфигурационном файле другом элементу? например: db:{ user:"login", password:"pass" }, sequelize:{ database: db.database, username: db.username, password: db.password, }
Alexey
Проблему? А что там было?
Их там просто нет. Нет там проблем
Alexey
А какие проблемы с классами
Я к слову. Нет там проблем
Sergey
А где есть?
Alexey
А где есть?
В этом обсуждении, выше
Alexey
Давай, чувак. Напиши «В каком обсуждении?»
Sergey
Не вижу там проблем, просто разные взгляды на ООП
Igor
Не совсем понятен вопрос. Что в итоге нужно получить?
получается что у меня есть настройки БД и чтобы из не дублировать я хотел передать их как переменные
Vint
получается что у меня есть настройки БД и чтобы из не дублировать я хотел передать их как переменные
Не вижу там массива, во-первых. Во-вторых - не дублируй в самом конфиге, зачем? Тебе достаточно одной секции db, а в нужных местах подключаешь конфиг и юзаешь эту секцию.
Илья | 😶☮️🐸
Здравствуйте, возможно ли закрыть выполнение всех промисов в приложении ? Например, закрытие сокета-> закрытие всех promise
Dmitry
http://evennode.com подскажите, кто сталкивался закидываю проет, но он не качает пакеты node_modules, в чем дело???
Михаил Макарычев
А какие проблемы с классами
В C++ есть множественное наследование, например
Илья | 😶☮️🐸
Не дожидаться reject или resolve
Илья | 😶☮️🐸
Что в твоём понимание "закрытие промисов"?
Eldar
Не дожидаться reject или resolve
Ну технически оборвать текущие промисы кажется нельзя. Однако ты можешь сделать условие, в зависимости от которого будет выполняться или не выполняться результат этих промисов.
Eldar
const processDataStatus = true; somePromise .then(function(){ if (processDataStatus) { ... yourLogic } }); function disableThat() { processDataStatus = false; } disableThat();
Cenator 🐈
Всем fluture js