Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2019 November 12

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
Terry Sahaidak
крім того бекендер вирішив абсолютно всі дані тримати в neo4j, звичайні запити без вложеності відпрацьовували не дуже, на постгрісі то саме відпрацьовує в 20 раз швидше на тому ж залізі)
Печаль 😢  А мне так в жопе крутило))
Язык запросов у них достаточно удобный да и с джоинами парится не нужно
источник

V

Vitaly in NodeUA - JavaScript and Node.js in Ukraine
ребята, а кто как отлавливает ошибки в рест апи на експрессе? на каждую ошибку делать return res.send норм практика? или мб есть альтернативы?
источник

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
Vitaly
ребята, а кто как отлавливает ошибки в рест апи на експрессе? на каждую ошибку делать return res.send норм практика? или мб есть альтернативы?
НЕеет
источник

V

Vitaly in NodeUA - JavaScript and Node.js in Ukraine
Sasha Zmts
НЕеет
мб, в  двух словах расскажешь?
источник

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
next(error)

И дальше ловишь глобально
источник

V

Vitaly in NodeUA - JavaScript and Node.js in Ukraine
Sasha Zmts
next(error)

И дальше ловишь глобально
кльово, спасибо.
источник

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
Vitaly
кльово, спасибо.
Вот пример https://github.com/sahat/hackathon-starter/blob/master/app.js#L241
Но пример херовый. Но хоть какой пример :)
источник

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
Вот пример чуть получше https://github.com/zmts/supra-api-nodejs/blob/master/core/lib/Server.js#L67
Но не факт) Можно и лучше
источник

V

Vitaly in NodeUA - JavaScript and Node.js in Ukraine
Sasha Zmts
next(error)

И дальше ловишь глобально
только хотел попросить пример:) как ты уже дал два, спасибо!
источник

KN

Konstantin Nosov in NodeUA - JavaScript and Node.js in Ukraine
Alexander
На чтение там тоже достаточно все печально начинает быть, если есть хоть немного данных.
Мы использовали neo4j, в целом есть ньюансы. Начнем с того что сам язык запросов не самый очевидный. Активно neo4j используется к примеру в confluence, потому что там тоже java и есть адекватный orm, который реализует кеширование в том числе. В случае затыков с перфомансом помогает кеш в редисе если с нео к примеру сайт взаимодействует.
Так же у нас есть проект с автогенерацией рест интерфейса по данным из neo4j, он не должен быстро работать, но должен обрабатывать мышкой созданные в интерфейсе пользователя структуры. Работает очень хорошо. Применений у neo4j  много, но адекватно его применять не ко всем задачам.
источник

AS

Alex Shubin in NodeUA - JavaScript and Node.js in Ukraine
Vitaly
ребята, а кто как отлавливает ошибки в рест апи на експрессе? на каждую ошибку делать return res.send норм практика? или мб есть альтернативы?
Вообще очень крутая вещь сторонний логгер ошибок типа bugsnag или sentry. Очень рекомендую. Есть интеграции с джирой и тому подобными сервисами.
источник

V

Vitaly in NodeUA - JavaScript and Node.js in Ukraine
Alex Shubin
Вообще очень крутая вещь сторонний логгер ошибок типа bugsnag или sentry. Очень рекомендую. Есть интеграции с джирой и тому подобными сервисами.
Спасибо, почитаю о них )
источник

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
Konstantin Nosov
Мы использовали neo4j, в целом есть ньюансы. Начнем с того что сам язык запросов не самый очевидный. Активно neo4j используется к примеру в confluence, потому что там тоже java и есть адекватный orm, который реализует кеширование в том числе. В случае затыков с перфомансом помогает кеш в редисе если с нео к примеру сайт взаимодействует.
Так же у нас есть проект с автогенерацией рест интерфейса по данным из neo4j, он не должен быстро работать, но должен обрабатывать мышкой созданные в интерфейсе пользователя структуры. Работает очень хорошо. Применений у neo4j  много, но адекватно его применять не ко всем задачам.
Спасибо😊
источник

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Neo4j это мать всех тормозов
И вправду Оо
Попробовал сделать один инсерт
Без фреймворка один js файл
Макбук 2015 15
insert: 19.940ms
[
 Record {
   identity: Integer { low: 368, high: 0 },
   labels: [ 'Test' ],
   properties: {
     firstName: 'Roscoe',
     lastName: 'Schmidt',
     jobDescriptor: 'Forward',
     ip: '68.96.92.61',
     iban: 'MK54977O9Z7120NK235',
     jobArea: 'Accountability',
     birth: 'Thu May 30 2019 22:15:30 GMT+0300 (Eastern European Summer Time)',
     bitcoinAddress: '1X9IZQYWX878WWILU48EM6S1S54AHD5E7',
     job: 'Global Infrastructure Developer',
     email: 'Stephany.Hackett34@yahoo.com'
   }
 }
]
источник

SZ

Sasha Zmts in NodeUA - JavaScript and Node.js in Ukraine
Хотя не все так плохо
100 items: 46.255ms
1000 items: 178.847ms
10000 items: 1549.108ms
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
источник

TS

Terry Sahaidak in NodeUA - JavaScript and Node.js in Ukraine
Sasha Zmts
Хотя не все так плохо
100 items: 46.255ms
1000 items: 178.847ms
10000 items: 1549.108ms
Якщо не батчити, там все дуже погано))
источник

Y

Yakov in NodeUA - JavaScript and Node.js in Ukraine
)))
источник

Y

Yakov in NodeUA - JavaScript and Node.js in Ukraine
Тимур, откройте секрет, сколько раз за день хочется матюкнуться глядя на чей то код, отзыв, идею ? )
источник

AS

Andrey Saenko in NodeUA - JavaScript and Node.js in Ukraine
А что общество думает про это
https://www.arangodb.com/
источник