• Какую логику использовать для таймера?

    По содержательной части вашего вопроса, как я понял, вас интересует, почему модули в NodeJS – синглетоны. Они не синглетоны, но ведут себя похожим образом. Подробнее об этой проблеме вот здесь: https://medium.com/@lazlojuly/are-node-js-modules-...

    А «не говнокодить» прежде всего поможет качественная постановка задачи.
    Ответ написан
    Комментировать
  • Почему в nodejs внутри worker'a операции чтения файлов блокирующие?

    Если в машине есть один винчестер с одним блоком голов, который в один момент времени может читать только один файл, то даже 50 параллельных воркеров не ускорят задачу по чтению 50 файлов. На уровне контроллера i/o устройства они все равно встанут в очередь. Поэтому, наверное, главным образом libuv не делает как вы спрашиваете, потому что скорость чтения при вашем подходе не вырастет.

    Я упомянул libuv, потому что именно она лежит в основе NodeJS. Подробнее об этом здесь: https://nikhilm.github.io/uvbook/introduction.html
    Ответ написан
    1 комментарий
  • Как мыслить объектами?

    Парадокс: ООП родилось, чтобы приблизить мир кода к реальному миру. И вот человек из реального мира спрашивает, как мыслить ООП.
    Ответ написан
    6 комментариев
  • Какова роль интерфейсов в ООП?

    Дело нехитрое. Нужда в интерфейсах возникает, когда над кодом начинает работать более 1 человека. Себя, Матвей, вы контролировать можете, коллегу – уже в меньшей степени.
    Еще печальней дела обстоят, когда вы выпускаете код, который может быть расширен неизвестно кем, неизвестно с какой целью (фреймворки). Очевидно, вам захочется сообщить будущим пользователям вашего кода, как конкретно этим кодом следуе пользоваться. Именно эту задачу решают интерфейсы.

    Напоследок скажу вам, что ваше сознание не статично. Через 3 года Матвей тогдашний будет сильно отличаться от Матвея сегодняшего. И будущий Матвей будет чрезвычайно признателен Матвею сегодняшнему, если правила пользования его за 3 года страсть как разросшегося кода будут по-прежнему аккуратно систематизированы в том числе с помощью интерфейсов.
    Ответ написан
    Комментировать