Aleksand
какая?
документ - массив объектов, каждая строка - объект в котором завернуты все нужные тебе данные, при чтении срезается открывающие и закрывающие [] и построчно можно читать и писать в любую позицию в файле без чтения в память всего файла и без парсинга лишних данных
Aleksand
[ {"data": [{}]}, ... {"data": [{}]} ]
Zaur
ну вот я так и подумал, только без [ ] в начале и в конце. Клиент загрузит эту не json-строку добавит скобки и пропарсит как ему надо.
Zaur
и файл отдавать nginx-м как статику
Zaur
скобки помогут распарсить его обычным парсером, сохранив валидный json
ну если парсить нужно только на клиенте, тогда зачем мне на сервере хранить валидный json (пытаюсь понять какие есть плюсы от этого)
Zaur
да, сервер только записывает в этот файл)
Алексей
а клиенту валидность не нужна? или проблемы клиента шерифа не волнуют?
Zaur
а клиенту валидность не нужна? или проблемы клиента шерифа не волнуют?
клиент добавил скобки в начало и конец и пропасил как валидный json )
Zaur
зачем на сервере делать то что может сделать клиент )
Алексей
то есть каждая добавка данных будет приводить в конечном виде к увеличению вложенности json, который будет парсить клиент? я правильно понимаю?
Zaur
нет, увеличение вложенности не будет, будут добавляться только новые item-ы в глобальный массив
Zaur
итоговый json - это [{}, {}, ..., {}] в файл планируется добавлять только {}, {}, ... {}, Клиент после загрузки удалил последнюю запятую, добавил скобок [] в начало и конец и получил валидный json
Алексей
если ставить запятую перед добавляемыми данными, клиенту и удалять ничего не надо будет
Алексей
> var b = JSON.parse('[,1,2,3]') SyntaxError: Unexpected token , in JSON at position 1
при добавлении куска данных можно же определять, пустой файл, или в нём что-то есть
Zaur
смысл в том, чтобы не делать дополнительных проверок на сервере
Zaur
хотя, пустой файл быть не может, а проверка на существование файла все равно будет. Поэтому да, можно запятую в начале ставить)
Aleksand
да, сервер только записывает в этот файл)
я имел ввиду проект "написал-забыл")
Zaur
я имел ввиду проект "написал-забыл")
что то я все равно не понял к чему ты)
Егор
Aleksand
что то я все равно не понял к чему ты)
проект который не требует развития и поддержки, один раз написал - работает и ладно
Aleksand
не, это не такой проект )
тогда лучше делать валидный json, сам потом споткнешься об это
Zaur
ок, как тогда без загрузки всего файла добавить в конец массива новый объект?
Zaur
Врайтлайн?
историю читал? вроде обсуждали как в json массив добавить записи без загрузки всего массива
Anonymous
Что читать про Ноду, чтобы хотя бы примерно представлять, что это, как оно работает и что со всем этим великолепием можно сделать?
Nikolay
Если жс конечно шаришь
Zaur
Что читать про Ноду, чтобы хотя бы примерно представлять, что это, как оно работает и что со всем этим великолепием можно сделать?
я смотрел http://learn.javascript.ru/screencast/nodejs, вроде немного устарело, но мне для старта сильно помогло.
Safort
я смотрел http://learn.javascript.ru/screencast/nodejs, вроде немного устарело, но мне для старта сильно помогло.
Илья надумывает обновление подкастов либо по ноде, либо по вебпаку.
Zaur
где можно проголосовать за ноду? ))) он очень понятно рассказывает
Safort
где можно проголосовать за ноду? ))) он очень понятно рассказывает
У него в твиттере было) Точно не помню, но кажется все, кто отписывался, были за ноду.
GG
Нет, про js он уже все рассказал. Теперь хотелось бы от него послушать best practic architecture aplication in node js
Sergey
Промисы: введение, шпаргалка по API, применение, пример собственной реализации — https://www.promisejs.org/
Anonymous
флаг -g
Anonymous
Sergey @sergeysova подскажите почему так?
Sergey
npm кеширует пакеты
Sergey
-g не влияет на это
Dmitry
Да точно забыли про npm init и он ставит пакет как глобальный
Sergey
если забыл он не будет ставить глобально
Sergey
он установит в текущую директорию с варнингом
Sergey
не надо выдумывать
Sergey
но он установит в .npm и оттуда скопирует в директорию установки
Dmitry
Какая версия npm? Было упомянуто?
Sergey
3, 4, 5
Dmitry
К, консоли нет под рукой. Второй вариант был это dedupe, но в любом случае node_modules не должен быть пустым. Может в package.json что-то необычное?
Алексей
походу все намного проще
Алексей
я тестировал на слабом vds с 512 мб оперативы
Dmitry
Должно на все хватать... что-то тяжелое ставили ?
Dmitry
Если не хватило памяти или других ресурсов, должно закончится ошибкой. А что с файловой системой? Место есть?
Алексей
Алексей
пики, это когда я запускал npm
Stepan
у меня кстати было такое недавно что билд гулпа падал потому что тупо оперативка кончалась на серваке с 4гб, а тут 512мб, все может быть)
Алексей
так что сборка на сервере это дорого :)
Dmitry
--verbose ?
Алексей
Никита
гугли npm-f3-install.sh
Никита
это не ссылка это файл)
Dmitry
Добавьте к npm install что бы понять на чем фейлится
Stepan
так что сборка на сервере это дорого :)
ну учитывая что это дженкинс сервер то как бы и вариантов нет)))
Dmitry
А вообще этот баг был в старой версии npm npm install -g npm
Алексей
Добавьте к npm install что бы понять на чем фейлится
вот, кстати, спасибо, не знал, а то по дефолту как то не информативно инстал идет, 1 строчка бегает
Алексей
npm verb afterAdd /home/alex/.npm/indexof/0.0.1/package/package.json written Killed ..........] | fetchMetadata: verb afterAdd /home/alex/.npm/indexof/0.0
Dmitry
Вроде теперь есть куда копать
Stepan
дженкинс?
CI/CD сервак. там собственно все и собирается и проверяется у нас
Алексей
Вроде теперь есть куда копать
копать-ся в кармане :))
Алексей
или забить на сборку пакетов на сервере, собирать на локалке и закидывать на продакшн
Dmitry
Если бинарников нету в пакетах то да, но вообще плохая идея
Dmitry
Если ОС и архитектуры одинаковые - можно рискнуть
Dmitry
Обновление npm помогло? Что-то изменило?