Email or username:

Password:

Forgot your password?
Moana Rijndael 🍍🍕

Я искренне не понимаю, зачем сохранять в базу то, что можно пересчитать на лету :blobfoxgooglyholdingitsheadinitshands:

Например, одновременно сумму сделки в деньгах, цену покупки, последнюю известную цену, PNL в деньгах и PNL в процентах

ЗАЧЕМ. Последние два можно пересчитать из первых трёх на лету, когда они понадобятся

А вот согласованное обновление всей этой хуйни — тот ещё гемор

12 comments
Inex Code

@mo нормальные формы баз данных это, кажется, то что обязательно спрашивают и в собесах, и даже при поступлении в магу...

Moana Rijndael 🍍🍕

@inex при условии, что в вашем криптостартапе из ~трех~ двух фрилансеров есть собесы :blobcatgooglytrash:

Moana Rijndael 🍍🍕

...и эта моделька кажется протекла в API, поэтому я не могу просто взять и подсунуть property вместо поля

сссука

Moana Rijndael 🍍🍕

Я читаю его код местами, чтобы понять, как он юзает эту модельку, и такая

:blobcatwhat:​:blobfoxwhaaaat:​:whaaat:

Окей, допустим мы вычитаем сумму из PNL в момент покупки, делая его отрицательным, и потом прибавляем в момент продажи. Это странно, но в этом есть _какая-то_ логика

Но ведь PNL надо обновлять в реалтайме! Как он это сделал...?

При получении новой цены из API биржи, в вебсокет отправляется сумма потраченных денег (отрицательное число) + текущая цена. Нет, не два поля. Именно a+b

oku_yama_old

@mo Это какая-то шляпа.
Но вообще в целом нужно смотреть, может ли хранение величины сэкономить время на вычисления. И целесообразно ли оно.
Примерно как можно хранить название товара, категории и всякое по одному разу в разных таблицах,
но тогда вывод корзины требует многоступенчатые лефт-джойны.

Moana Rijndael 🍍🍕

@oku_yama_old мы не настолько нагружены (мы даже не релизнулись блин), чтобы устраивать денормализацию БД

oku_yama_old

@mo По идее, можно не делать отдельную логику на тестовый сервер, если она потом малость поляжет при тысяче запросов в минуту.
Ну это так, пример был.

Moana Rijndael 🍍🍕

@oku_yama_old учитывая, что человек складывает деньги с ценой, я сомневаюсь, что это было дофига осознанное решение :blobcatgooglyholdingitsheadinitshands:

oku_yama_old

@mo Ну вот в данном случае какая-то шляпа.

oku_yama_old

@mo Бывает что копаешься в чьём-то древнем коде, и мысли:
1. Что за сумеречный гений это сочинял?
2. Что именно триггерит ошибку?
3. Почему между ошибками оно вообще работало?

Moana Rijndael 🍍🍕

@oku_yama_old жиза, правда иногда бывает что этот сумеречный гений это я

oku_yama_old

@mo Мы с тобой одной крови, ты и я.

Go Up