@nodejs_ru

Страница 2054 из 2748
Alex
23.05.2018
11:45:16
Мы тут начали интегрироваться с замечательным stripe.com. И вот надо пару методов его прокинуть через наш api. А stripe как раз токен возвращает. И это ой как не дружит с нашим skip/limit-ом.

Andrey ?
23.05.2018
11:46:10
Не совсем ясно как пагинировать по токену, если есть какие-то еще действия кроме «страница назад», «страница вперёд»

Или там токен просто как идентификатор выступает и есть какой-то номер страницы?

Google
Roman
23.05.2018
11:46:38
тут да же, вопрос к бизнесу, устроит ли их отсутствие циферок

Andrey ?
23.05.2018
11:46:43
Например какие?
Например циферки)

Переход к последней странице

Alex
23.05.2018
11:47:13
А, да это пофигу, как по мне )) Ну как минимум наш бизнес это устраивает )

Oleg
23.05.2018
11:47:44
а токен на фронте в юрле? как страница при релоаде страницы то себя вести будет

Alex
23.05.2018
11:47:45
Но доводы разумные. У нас инфинит скролл, и я как-то даже не подумал про эти вещи

а токен на фронте в юрле? как страница при релоаде страницы то себя вести будет
можно в урл, можно в какой-нибудь локалсторадж положить. В урл, наверное, правильнее - его можно расшарить

Вопрос в том, откуда токен этот брать, и чего с ним дальше делать.

Я много гуглил в прошлые дни, и нагугли среди прочего вот это: https://mixmax.com/blog/api-paging-built-the-right-way Подход выглядит интересным. Курсор - есть, но хранить его не надо на сервере

Если в двух словах, то нужен sortable unique immutable key - как минимум в монге такой есть искоробки. В реляционках - хз насчёт sortable, но наверное тоже да.

Ну и дальше, если запрос без явно указанной сортировки, то надо применить сортировку по id, и этот id последнего элемента из порции данных и есть курсор.

Andrey ?
23.05.2018
11:55:00
Alex
23.05.2018
11:56:33
А если с явно указанной сортировкой, то надо первичную сортировку по этому ключу, вторичную по id, а в качестве курсора будет сортируемое поле из последнего элемента + id. Тогда при следующем запросе можно построить запрос так, чтобы предыдущие порции просто отпали.

Google
Alex
23.05.2018
11:59:32
В монге айдишники сортируемые ровно до того момента, как монга обрастает кластером, не?
Хз, мы шардирование сейчас не пользуем. Реплика сет вроде без проблем. Но вопрос прикольный, да

Andrey ?
23.05.2018
12:00:07
В монге вроде как айдишники префиксуются в зависимости от машины

(но я не эксперт по монге, у меня постгрес)

Т.е. в рамках одной машины они, по сути, автоинкрементные, но как оно согласуется по шардам - вопрос

И по репликам тоже

Alex
23.05.2018
12:01:50


Собственно поэтому их можно не синхронизировать никак и писать с разных машин

Andrey ?
23.05.2018
12:02:29
Ну, собственно вот)

Собственно поэтому их можно не синхронизировать никак и писать с разных машин
Но в таком случае - они фактически перестают быть сортируемыми

Alex
23.05.2018
12:02:48
Но если время ок, то они монотонно растут

Первые 4 байта же - время.

Andrey ?
23.05.2018
12:03:28
Т.е. если у тебя несколько записей имеют одинаковый таймштамп, и одна из них имеет больший(меньший) айдишник в отличие от другой, то ты все равно пропустишь запись

В данном случае меньший, ибо lt

Хотя, там надо смотреть КАК ИМЕННО монга сортирует по ним

Если по таймштампу - то, опять же, вопрос - а не потеряется ли. А если по всему 12-байтному числу, то точно потеряется ¯\_(ツ)_/¯

В случае, когда есть 100%-сортируемый id, можно его и использовать как курсор

Andrey ?
23.05.2018
12:06:03
эту часть я бы отнёс к невероятным исходам ?
Если в принципе маловероятно несколько записей с одинаковым таймштампом - вай не юзать таймштамп в качестве курсора?

Alex
23.05.2018
12:06:45
В случае, когда есть 100%-сортируемый id, можно его и использовать как курсор
Положим, что он сортируемый на 100%. Проблема в том, что при разной сортировке, последовательность - разная. Т.е. id может быть курсором только при сортировке по id

Google
Alex
23.05.2018
12:07:00
А, ну да, понял суть
А теперь самый баттхёрт! Курсором может быть конструкция вида id_my-sortable-field. Но чего делать, если значение этого поля, допустим, пара килобайт?))) Ну вот решил я индекс на текстовое поле положить)))

Alex
23.05.2018
12:09:13
Т.е. вроде такого быть не должно) Но только до завтрака я решаю по две-три проблемы, быть которых в принципе не должно ))

Увольняться :D
Не, эт не спортивно )

Пока есть идея пилить прямо, вот прям как в статье там выше написано. И если вдруг курсоры начнут пухнуть, то делать, прости господи, сокращалку курсоров ))) Ну типа табличка, в которой с одной стороны короткие id, а с другой - длинные, трёхкилобайтные параметры )))

Юрий
23.05.2018
12:19:56
Привет, друзья! не подскажете ли, как мне отправить пост запросом невалидный json? JSON.parse его не читает

Dmitry
23.05.2018
12:20:24
Хех

Пофиксить жсон?)

Юрий
23.05.2018
12:21:23
нужно именно невалидный) для тестирования. с пхп проблем нет, уходит в любом формате, битый не битый, пофиг. а как это сделать через node.js

енот
23.05.2018
12:22:15
скажите, socket.io-client к питоновскому бэку как законнектить?

Oleg
23.05.2018
12:22:35
точно вопрос для нод джс чата?)

енот
23.05.2018
12:23:02
точно вопрос для нод джс чата?)
ну клиент будет на vue, vue на ноде в дев-режиме, так что чобы нет?)

Oleg
23.05.2018
12:24:04
Юрий
23.05.2018
12:24:12
Отправляешь - не читает
так не отправляет. т.е. у меня есть json.json файлик. если он битый, то через require его не подключить, если считать через fs, то либо отправлять текстом, либо парсить. Но JSON.parse ломается.

Google
енот
23.05.2018
12:24:14
Alex
23.05.2018
12:24:18
Юрий
23.05.2018
12:30:50
ок, спасибо! вроде завелось

Sol
23.05.2018
12:33:20
подскажите, вот есть запрос на jquery: $.ajax({ type: 'GET', url: '/api/datalist', data: {'par': {'art': 0, 'list': [{'a':'no1', 'b': 1}, {'a':'no2', 'b': 2}] }} }) как он должен выглядеть в ноде через request? мне непонятно как передаётся поле data

Sol
23.05.2018
12:37:40
типо body чтоле?
body для POST, а тут GET

Ibragimov
23.05.2018
12:38:13
Как создать объект с помощью цикл в node.js

Dmitry
23.05.2018
12:40:10
Что сделать?

Alexander
23.05.2018
12:41:30
body для POST, а тут GET
ну тогда в query получается пиши

K
23.05.2018
13:03:27
Ребята, вопрос вот есть, как определять еденичность браузера среди многих других с одного того же ip?

Yaroslav
23.05.2018
13:03:53
id коннекта, может есть какое-то

Kendr
23.05.2018
13:03:54
Юзер-огент

K
23.05.2018
13:04:20
Думаю юзер-агент хешить + ип, но если с одного ип сидят 2е с последней версией хрома то у них одинаковые юа, не ?

Это для обходов флуда на апи со всяких непонятных адресов, понятно отсеивать сразу если нет ЮА, но если есть, его могут свапать и продолжать пытаться флудить, считай костыли на тип X-RateLimit

Google
K
23.05.2018
13:07:02
Ну представь библиотека к примеру, или любой паблик вайфай

Если есть предложения интересно выслушать будет в общем

Alex
23.05.2018
13:35:36
Это для обходов флуда на апи со всяких непонятных адресов, понятно отсеивать сразу если нет ЮА, но если есть, его могут свапать и продолжать пытаться флудить, считай костыли на тип X-RateLimit
при наколенном изготовлении я бы остановился только на кукисах. понятное дело, что их можно подделать, перенести, подобрать Но: a) их можно подписать б) это прямо и предсказуемо Всё, что дальше - это уже глубокое погружение во всякий фингерпринтинг и behavior modeling.

Весь вопрос в том, от чего ты пытаешь защититься

Саня
23.05.2018
14:05:49
кто-нибудь использует что-нибудь для runtime проверки типов?

flow-runtime хвалят, но хотелось бы для typescript

Саня
23.05.2018
14:21:56
io-ts
его надо явно прописывать же? и на продакшене не отключишь..

vitalii
23.05.2018
14:32:06
Парни , кто юзал facebook ботов , есть вопрос . Подключил страницу к dialogflow , бот пашет . Как теперь подключить ноду к гребанному боту , чтобы отслеживать сообщения и менять их если нужно .

Егор
23.05.2018
14:33:03
всем привет, подскажите какое-то универсальное решение для создания админ панели.

Yurii
23.05.2018
14:33:58
Node js, js, html, css
троллинг засчитан)

Веселый
23.05.2018
14:36:01
С джангой
слишком толсто

Егор
23.05.2018
14:36:28
красиво шутите

Страница 2054 из 2748