@proRuby

Страница 1438 из 1594
Anton
17.09.2018
11:50:04
Разные вещи же

Tim
17.09.2018
11:55:28
поцоны, всё хотел спросить

чё вы делаете с ответами со сторонних апи?

сохраняете как-нибудь? не сохраняете? почему?

Google
Tim
17.09.2018
11:55:57
если сохраняете, то куда и как

Zamira
17.09.2018
11:56:37
Мы только логгируем в отдельный лог файл

Tim
17.09.2018
11:56:39
я как то к определённому мнению по этому поводу не пришёл, но склоняюсь ближе к тому, что надо все ответы со сторонних апи сохранять

Zamira
17.09.2018
11:57:07
В формате запрос - ответ

Tim
17.09.2018
11:57:08
вплоть до того чтобы создавать сущность дублирующую штуку со стороннего сервиса

и типа в ней json поле ответ

в принципе да, надо и запрос хранить, хорошая идея

в реляционной?

а связи указываете?

ну типа, user_id который делал запрос и т.д.

Tim
17.09.2018
11:59:10
Логи же есть
ну просто в хранении ответов профит я вижу не только в том чтобы отдебажить что-то

Google
Zamira
17.09.2018
11:59:21
Логи, потом в эластик загнать для поиска

Vasiliy
17.09.2018
11:59:24
зависит от апи - от платежек храню жсон в БД

Tim
17.09.2018
11:59:28
а ещё в том что сегодня нам надо только A, а завтра понадобится B

Fedor
17.09.2018
11:59:35
Не понял

Tim
17.09.2018
11:59:40
и так можно будет для всех старых запросов его автоматически зафетчить

Vasiliy
17.09.2018
12:00:08
ну так данные протухнуть могут же

Tim
17.09.2018
12:00:13
ну например, от сервиса приходит джейсончик { a: 'a', b: 'b' }

сегодня нам нужно только response[:a]

а завтра мы решаем что и response[:b]

Zamira
17.09.2018
12:00:45
Полностью сохраняйте в том виде, в котором приходит ответ

А не только часть

Смысл частями хранить?

Tim
17.09.2018
12:00:59
ну так данные протухнуть могут же
могут, но так же как и уже сохранённые

Fedor
17.09.2018
12:01:04
Ну так в логе сервера у тебя будет запрос со всеми параметрами и ответ полный

И все

Tim
17.09.2018
12:01:16
ну это парсить сложнее

Fedor
17.09.2018
12:01:17
Зачем логи задним числом править?

Tim
17.09.2018
12:01:21
плюс матчить с юзерами

Fedor
17.09.2018
12:01:36
Не вижу проблем

Tim
17.09.2018
12:01:44
ну я и не предлагаю править, а предлагаю более удобный способ их парсить

Google
Fedor
17.09.2018
12:02:11
Авторизация по токену, сразу создается uid запоса, который везде в логе есть

И все

Tim
17.09.2018
12:02:50
хорошо, а дальше просто файл парсить?

какие преимущества у этого перед созданием отдельной сущности?

условно, с полями json_b request, json_b response, user_id

и какие у этого могут быть подводные камни

Fedor
17.09.2018
12:06:33
Полнотекстовый поиск дико медленный

То что ты предлагаешь называется кибана

Работает на базе эластика, куда скармливаются текстовые логи

Anton
17.09.2018
12:08:09
Tim
17.09.2018
12:08:52
мб есть гем какой-нибудь для всего этого удобный?

Anton
17.09.2018
12:09:08
хотя ответы от платежного гейта храним в бд и работаем с ними потом из пг

трасировкой?
я статью пишу про это сейчас

Tim
17.09.2018
12:09:46
про логирование ответов со сторонних сервисов?

Anton
17.09.2018
12:10:06
про трасировку

Tim
17.09.2018
12:12:48
а про гем не знаешь?

может его имеет смысл запилить

Anton
17.09.2018
12:13:00
так написать и все

это 2 строки

Google
Anton
17.09.2018
12:25:49
логгирование параметров, логирование ответов. нафига крутить гем на это?

+ фарадей умеет это из коробки как мидлеваре

Tim
17.09.2018
12:29:07
ну я думал про таблицы + их привязку к классам условно SomethingRequest и SomethingResponse

ну типа пишешь в консоли `rails generate_third_party_loggable_entity something references:user Создаётся модель SomethingLog. Дальше создаёшь классы где-то внутри кода SomethingRequest и SomethingResponse`

Admin
ERROR: S client not available

Tim
17.09.2018
12:31:23
чёто у меня разметка поехала

Vasiliy
17.09.2018
12:31:27
ты чето усложняешь себе жизнь

Tim
17.09.2018
12:34:16
а, нет, модель SomethingResponseLog, далее делаешь так class SomethingResponse < LoggableResponse def initialize(request) @request = request # я предпочитаю такое делать в lazy моде end def to_h ... end

потом у инстанса something_response вызываешь метод log

Tim
17.09.2018
12:35:24
который в модель SomethingResponseLog запишет to_h у респонса и реквеста

так зачем это?
можно будет дёргать user.something_response_logs

и внутри их получать недостающие данные условно

при чём в класс модели, SomethingResponseLog, можно будет делегировать логику определения логов

типа def error? response['errors'] end

Тогда ошибки можно будет найти user.something_response_logs.select(&:error?)

Roman
17.09.2018
12:40:05
лучше уж сразу в elasticsearch кидать или influxdb, чтобы можно было метрики доставать и удобно читать

Tim
17.09.2018
12:40:09
для юзера

et
17.09.2018
12:41:53
это наверное от требований больше зависит, если тебе нужны логи ради логов, то проще в файл писать, а если ты подразумеваешь дльнейшуюю работу с ними как с моделями, то имеет смысл сделать как ты говоришь

Tim
17.09.2018
12:46:23
ок, хорошо

Google
Tim
17.09.2018
12:47:01
а с точки зрения этики/безопасности?

wi11son
17.09.2018
13:24:24
Широ?

Tim
17.09.2018
13:24:47
wi11son
17.09.2018
13:29:05
Хотел его поздравить

Silent Bob
17.09.2018
13:51:39
Такой вопрос - Hash#deep_merge штука хорошая , но тут я столкнулся с тем, что содержимое определенных рутовых ключей дип мержить не надо (надо просто мержить), а все остальные надо дип мержить. Может кто-то уже решал подобное?

Anton
17.09.2018
14:28:07
Хотел его поздравить
тут его вроде нет

mr.Serj
17.09.2018
16:56:07
потому что jwt не сверяется с базой
Храню вайт лист и если распапсился нормально - валидирую остальными полями из бд и ни в чем себе не отказываю

Реально не совсем понятно как жвт с отзывом и сроком жизни управлять на клиентах с постоянным хранением этого токена.

rabbitkate
17.09.2018
17:29:48
всем привет. подскажите пожалуйста, в чем может быть ошибка? когда запускаю файлы с расширением .feature в RubyMine, появляется ошибка Error running 'file.feature': Feature file 'C' doesnt exist

rabbitkate
17.09.2018
17:36:44


Страница 1438 из 1594