Evgeny
> При отсутствии резервной копии, сервер загружается с базовой операционной системой, выбранной при установке сервера.
Окнорм
Матрос
товарищи, что делать чтобы уменьшить связность в модулях? у меня есть 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
ну и то все эти акторы и подобноя модель, это когда у тебя уже какая-то кластеризованная хреновина. имхо нет смысла запариваться об этом, если это какой-то одиночный сервис. ну связаны модули, да и ху с ним
Smooth Operator
Ulad🧑💻
Может кто знает как в mongoose достать 10 записей, кроме последней созданой, пока сделал так
.find()
.sort('-createdAt')
.limit(10)
Но не придумаю, как исключить последний созданный элемент
Cenator 🐈
Ulad🧑💻
Ну вот я тоже только так подумал: достать 11 элементов и вырезать первый
Матрос
Так это ж вроде для тестов, не?
Матрос
Ой, сорян, поздно пришло. Это я про Сенеку js
IM
Smooth Operator
Матрос
И где это я подогнал если это он и есть?
Матрос
Аргументируйте)
Smooth Operator
Связанность кода зависимостями и связанность работающих совместно сущностей
Матрос
Ну так тут и есть связанность работающих вместе сущностей. Хотя связаны они не должны быть, т.к. сущность entity имеет отношение лишь к слою доменной логики а остальное вообще в слое служб.
Матрос
Может чушь спорол но надеюсь мысль донести смог
Матрос
Поясните если неправ
Smooth Operator
Зависимость от и совместная работа с
Матрос
Теперь понял
Матрос
Вечер после работы. Тупка
Матрос
Тут собственно о зависимости речи и не шло вроде как
Матрос
Если мы про шину
special agent
Ребят, привет! Кто-нибудь слышал про https://github.com/keithwhor/nodal и может ли что-нибудь рассказать?
Дима
Шина может включать в себя большой набор подходов
Дима
Начиная от примитивных pub/sub и заканчивая контрактами
Матрос
Дима
>Сама идея-то по сути посредник ведь
Нет
Smooth Operator
Я считаю то что есть сейчас, и DI адекватными решениями
Матрос
Тогда я тупой)))
Матрос
DI да, согласен
Smooth Operator
А когда DI назвали костылем, я орнул немножко
Матрос
Но в общем-то о di речи не шло
Матрос
Я говорю чуть-чуть до DI
Матрос
Понятно там может быть монга, тарантул, постгре и вообще
Дима
Тогда я тупой)))
Развитие идеи взаимодействия примерно такое
callback -> event based —> pub/sub -> observer -> contract
Дима
Причём в контрактах такой мощный концепт, что назвать его "связанностью" язык не поворачивается)
Матрос
Вот привязались все к связанности))) это просто "низкоуровневое" понятие, говорящее что А связано каким-то образом с Б) и все))
Ulad🧑💻
Может кто знает какую Ci беслпатную для деплоя nodejs проектов. Shipitfiles раньше использовал, но подабилось больше возможностей, так как преокт теперь делиться на api/client
Vitaly
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
Можно бесплатно
Григорий
Vitaly
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
гугл фонт?