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

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

Alex
23.05.2018
11:46:34

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, можно его и использовать как курсор

Alex
23.05.2018
12:05:23

Andrey ?
23.05.2018
12:06:03

Alex
23.05.2018
12:06:45

Google

Andrey ?
23.05.2018
12:06:59

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

Andrey ?
23.05.2018
12:09:09

Alex
23.05.2018
12:09:13
Т.е. вроде такого быть не должно)
Но только до завтрака я решаю по две-три проблемы, быть которых в принципе не должно ))
Пока есть идея пилить прямо, вот прям как в статье там выше написано.
И если вдруг курсоры начнут пухнуть, то делать, прости господи, сокращалку курсоров )))
Ну типа табличка, в которой с одной стороны короткие 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
точно вопрос для нод джс чата?)

Dmitry
23.05.2018
12:22:40
Отправляешь - не читает
Каеф
Рабопет верно

енот
23.05.2018
12:23:02

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

Dmitry
23.05.2018
12:24:45

Alex
23.05.2018
12:24:49

Юрий
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

Alexander
23.05.2018
12:36:00

Sol
23.05.2018
12:37:40

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

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

Alexander
23.05.2018
12:41:30

Hedint
23.05.2018
12:41:31

Sol
23.05.2018
12:45:30

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

Kendr
23.05.2018
13:03:51

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

Sol
23.05.2018
13:06:10

Google

K
23.05.2018
13:07:02
Ну представь библиотека к примеру, или любой паблик вайфай
Если есть предложения интересно выслушать будет в общем

Alex
23.05.2018
13:35:36
Весь вопрос в том, от чего ты пытаешь защититься

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

Dika
23.05.2018
14:07:02

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

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

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

Дмитрий
23.05.2018
14:33:29

Yurii
23.05.2018
14:33:58

Sergey
23.05.2018
14:34:02

Yuriy
23.05.2018
14:34:49
С джангой

Roman
23.05.2018
14:35:34

Веселый
23.05.2018
14:36:01

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