Evgeny
> При отсутствии резервной копии, сервер загружается с базовой операционной системой, выбранной при установке сервера. Окнорм
Michael
Хм, диски без рейда! Это не про бекапы
так рейды разные бывают же, я думал вы про зеркальный
Матрос
товарищи, что делать чтобы уменьшить связность в модулях? у меня есть app.js, в который должен собираться db.js (там подключения) и entity.js(в котором активная бизнес-сущность). в entity.js есть пара функций которые используют именутый db.js. Как сделать так чтоб не надо было require('db') в entity??? Ну и вообще как в подобных ситуациях люди поступают в плане best practices
IM
самое простое module.exports = db => {}
Матрос
а если не самое простое?)
IM
вариант с dependency injection https://github.com/jeffijoe/awilix
Матрос
глянул, спс
Матрос
костыль
Матрос
IoC поверх нативного IoC
Матрос
и 126 звезд
Матрос
говорят можно подписать один модуль на события другого. но это как-то странно
Anton
ну если нужно совсем уменьшить связность компонентов. попробуй подход как в vert.x там компонеты общаются между собой чисто через единую шину сообщений и напрямую другу друга не использует. что-то вроде модели акторов, может и на ноде подобное есть
Матрос
у меня была мясль шину ввести в дело. останавливает пока что то что как мне кажется это оверхэд. особенно если учесть что у меня модулей меньше 10 штук и все маленькие) но если ничего не останется сдеаю шину с pub/sub'ом. Была еще мысль прикрутить к этому MobX, но я не знаю
IM
насчет акторов - есть senecajs например. но там дичайший оверхед.
Anton
ну и то все эти акторы и подобноя модель, это когда у тебя уже какая-то кластеризованная хреновина. имхо нет смысла запариваться об этом, если это какой-то одиночный сервис. ну связаны модули, да и ху с ним
Ulad🧑‍💻
Может кто знает как в mongoose достать 10 записей, кроме последней созданой, пока сделал так .find() .sort('-createdAt') .limit(10) Но не придумаю, как исключить последний созданный элемент
Ulad🧑‍💻
Ну вот я тоже только так подумал: достать 11 элементов и вырезать первый
Матрос
Так это ж вроде для тестов, не?
Матрос
Ой, сорян, поздно пришло. Это я про Сенеку js
Матрос
Отлично, теперь всё завязано на шину
Ну так это норм. Забыл как это называется то ли посредник, то ли медиатор. Снижает связность как раз
Матрос
И где это я подогнал если это он и есть?
Матрос
Аргументируйте)
Smooth Operator
Связанность кода зависимостями и связанность работающих совместно сущностей
Матрос
Ну так тут и есть связанность работающих вместе сущностей. Хотя связаны они не должны быть, т.к. сущность entity имеет отношение лишь к слою доменной логики а остальное вообще в слое служб.
Матрос
Может чушь спорол но надеюсь мысль донести смог
Матрос
Связанность кода зависимостями и связанность работающих совместно сущностей
Ну и я собственно плохо понимаю чем они отличаются если учесть что паттерн посредник работает применительно к ООП и дизайну в принципе
Матрос
Поясните если неправ
Smooth Operator
Зависимость от и совместная работа с
Матрос
Теперь понял
Матрос
Вечер после работы. Тупка
Матрос
Тут собственно о зависимости речи и не шло вроде как
Матрос
Если мы про шину
special agent
Ребят, привет! Кто-нибудь слышал про https://github.com/keithwhor/nodal и может ли что-нибудь рассказать?
Smooth Operator
Если мы про шину
Я про проблему которую решают этой шиной выше
Дима
Шина может включать в себя большой набор подходов
Матрос
Я про проблему которую решают этой шиной выше
Вы думаете шина не является адекватным решением этой проблемы? И разве то что все становятся завязаны на шине а не на друг друге не является частным случаем посредника?
Дима
Начиная от примитивных pub/sub и заканчивая контрактами
Матрос
Начиная от примитивных pub/sub и заканчивая контрактами
Сама идея-то по сути посредник ведь. А дальше простор для творчества никто не отменял)))
Дима
>Сама идея-то по сути посредник ведь Нет
Smooth Operator
Я считаю то что есть сейчас, и DI адекватными решениями
Матрос
Тогда я тупой)))
Матрос
DI да, согласен
Smooth Operator
А когда DI назвали костылем, я орнул немножко
Матрос
Но в общем-то о di речи не шло
Матрос
Я говорю чуть-чуть до DI
Матрос
Понятно там может быть монга, тарантул, постгре и вообще
Дима
Тогда я тупой)))
Развитие идеи взаимодействия примерно такое callback -> event based —> pub/sub -> observer -> contract
Дима
Причём в контрактах такой мощный концепт, что назвать его "связанностью" язык не поворачивается)
Матрос
Вот привязались все к связанности))) это просто "низкоуровневое" понятие, говорящее что А связано каким-то образом с Б) и все))
Матрос
Развитие идеи взаимодействия примерно такое callback -> event based —> pub/sub -> observer -> contract
Ну вот я и думаю сделать шину "pub/sub" или таки mobx (observer). Контракты мне ни к чему, это уже почти SOA
Ulad🧑‍💻
Может кто знает какую Ci беслпатную для деплоя nodejs проектов. Shipitfiles раньше использовал, но подабилось больше возможностей, так как преокт теперь делиться на api/client
Ulad🧑‍💻
TravisCI только для open source бесплатная вроде, или я ошибаюсь?
Vitaly
не уверен
Vladimir
CircleCi точно бесплатный есть уровень
Ulad🧑‍💻
Ну в Circle ci только видел уровень деплоя пуша на сервер репу, или я ошибаюсь?
Ulad🧑‍💻
Мне надо асеты сделать, конфиг подтянуть и тд
Serhii
Codeship.com
Victor
Всем привет! Меня зовут Виктор, работаю фронтенд разработчиком и осваиваю ноду. Сейчас пишу скрипт для автоматизации сборки. С удивлением обнаружил, что writeFileSync на самом деле не пишет файл синхронно, а только останавливает выполнение скрипта. Здесь описано, почему - http://www.daveeddy.com/2013/03/26/synchronous-file-io-in-nodejs/ . Знает ли уважаемое сообщество, способ заставить Ноду все-таки записать файл синхронно, т.е. чтобы код продолжил выполняться только после того, как файл действительно появился на файловой системе?
Victor
мне приходит в голову только проверять при помощи existsSync по таймеру, не появился ли файл на диске и тогда резолвить промис. Но не хочется так делать 1) из эстетических соображений 2) кто-то уже такое написал
Evgeny
Если у вас там есть промис - можно делать не синхронно же?
Evgeny
Ну или, если вам хочется странного - делайте как в статье указано в конце - фопен, фврайт
Григорий
Всем привет, подскажите какой нибудь хостинг для ноды. Мне так для эксперементов, если есть может дешёвые какие или бесплатные ? За ранее спасибо !
Dima
Heroku
Dima
Можно бесплатно
Григорий
Heroku
Спасибо попробую
Sergey
не юзал flow
Nurik
Всем привет. Как создать буфер нулевого размера ? Юзаю node 6.*
Nurik
Вот что нужно var data = Buffer.from([0]); req .on('readable',function(){ var chunk = req.read(); data = Buffer.concat([data,chunk]); }) .on('error',function(){ res.statusCode = 500; res.end('Server error. Error while reading body from request'); }) .on('end',function(){ fs.writeFile(uploadDir,data,function (err) { if(err){ res.end('Unable to upload file to ' + uploadDir); } else{ res.end('Successfully uploaded'); } }); });
Nurik
Пока не работает.
Khangeldy
Тут ноль не размер походу. Это двойчный код
Khangeldy
Кто сталкивалься шрифт не показывает во вкладке networks. Ни ошибки него
Khangeldy
должны быть 5 шрифтов
Sergey
гугл фонт?