@prophp7

Страница 632 из 1387
Evgeniy
21.09.2017
14:44:38
потому что eav в реляционной бд это антипатерн

в любой другой бд пожалуйста но не в реляционной

имхо

Борис
21.09.2017
14:46:49
Давай посмотрим на magento (я не фанат, но работал довольно долго). На нем куча магазинов, притом весьма больших (не уверен на 100% некогда проверять, но amazon, alibaba когда-то точно были на них, может сейчас чего поменялось) Так вот там миллионы товаров на EAV. Да больно, да кривовато, но алльтеров на лету там нету. Плюс все фильтры и поиски не трогают EAV. EAV только хранение + выборка по айдишникам. Работает стабильно. И универсально (я про динамическое добавление товаров).

Google
Борис
21.09.2017
14:48:36
Они там даже чет на оптимизировали. Создали типы полей, так что в той самой призентации половина проблем была решена.

Alexander
21.09.2017
14:48:59
в случае EAV, если нужно добавить поиск по какому-то из полей, то можно это поле добавить в таблицу и обновить данные. в целом это не трудозатратно

а для простого отображения можно вполне использовать EAV

Борис
21.09.2017
14:50:03
Они хранили в одной таблице value только одного типа. Этакие примитивы. eav_value_date, eav_value_int, eav_value_bool, eav_value_string, eav_value_text и это выглядело приемлимо.

Evgeniy
21.09.2017
14:53:44
суть проблемы что у каждого товара (не типа) а именно строки в таблице entity может быть разный набор атрибутов

а то что ты говоришь это проблема value и добавляя каждый тип к value ты дополнительно будешь потом джойнить везде эти таблицы

особенно если сразу не угадал с тем какие типы тебе понадабятся сразу

ты будешь или сериализовать и десериализовать в text поле value

или будешь добавлять новый value_newType таблицу

и во все запросы(которые используют value_*) которые ты раньше написал будешь ее джойнить (ну или sub query)

но объяснять это все равно что это все равно что спорить на тему singleton

или active record

кто то понимает какие проблемы это может принести, кому то это удобно

Google
Alexander
21.09.2017
15:13:38
так-то у паттернов и антипаттернов есть какие-то пределы разумного использования и в некоторых случаях анитпаттерны могут быть применимы

Alexander
21.09.2017
15:50:46
я видел эти библиотеки. там половину нужно писать свое. ни тебе системы команд ни fsm из коробки
Система комманд из коробки есть, а вот FSM (если это Finite-state machine) - надо самому пилить, да

Serge
21.09.2017
15:51:35
Всем привет. Ребят, кто подскажет best practices, при логировании информации о операциях в приложении. К примеру пользователь делает депозит, и надо в его личном кабенете отображать в истории операцию. Делать всё в одной транзакции, начисление депозита и запись в историю, или можно принебречь?

Виктор
21.09.2017
16:09:14
Какова тогда ценность вашего логирования, если на этапе записи в историю, что то пошло не так?

Serge
21.09.2017
16:09:29
ну я тоже об этом думал)

Sergey
21.09.2017
16:23:11
то есть транзакция в которой инфа кто откуда и куда, сколько и чего. И балансы ты считаешь уже по факту.

можешь на тему event sourcing глянуть как самое близкое из разжованного

Serge
21.09.2017
16:38:14
т.е. что-то вроде: после успешной транзакции идёт запись в "лог"?

Evgeniy
21.09.2017
16:42:17
транзакция и есть лог в твоем понимание слова лог

хранится информация о движение денег (зачисление денег и списание) а баланс это итого по этому "логу"(операциям)

Serge
21.09.2017
16:47:49
блин, у меня сейчас к сожалению нет времени запилить такую штуку))

мне нужно сделать попроще

Sergey
21.09.2017
16:49:17
это и есть попроще

ну то есть серьезно

примитивный лэджер пишется за день

если ты не хочешь через пару месяцев объяснять клиенту почему балансы и записи в логах не сходятся между собой... то этот вариант будет проще

Serge
21.09.2017
16:54:55
ну на самом деле это хайп проект и по всей видимости там особо не надо 100% точности

просто время поджимает, боюсь что не успею)

Google
Sergey
21.09.2017
17:01:24
я повторюсь, хайп не хайп, если тебе надо автолог + лэджер

это самый простой и надежный способ

если поджимает время можешь например не заморачиваться и делать балансы тупо как select sum + union где чел отправитель и получатель

один sql запрос

и будет у тебя лэджер в одну табличку в базе

> и по всей видимости там особо не надо 100% точности ты это с клиентом обсуждал?

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

Serge
21.09.2017
17:03:19
=)

ребята работали с говнокодом в виду h-script

с супер глобальным пременными и прочей хренью

по-моему там леджера тоже нет, но их это устраивает

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

Sergey
21.09.2017
17:05:44
так себе оправдание

Serge
21.09.2017
19:07:30
да я как бы и не оправдываюсь

текущая модель транзакционна и баланс 100% будет правильным

спасибо, посмотрю)

Evgeniy
21.09.2017
19:50:14
да что за день то такой

один eav это стильно молодежно делаем так ведь magento так делает (да и не только магенту)

другой не хочет хранить инфу по операциям по счету

осталось зайти еще кому нибудь и сказать синглетон это модно молодежно и пишет на public static чтобы все методы такими были)

Google
Dmitriy
21.09.2017
19:52:40
1. Ты слишком категоричен

2. Пиши свои логические мысли в одно сообщение (чтобы не было по 5+ а оказывается что только от тебя)

Serge
21.09.2017
19:53:23
я не сказал что не хочу хранить, я думаю как лучше реализовать, т.к. это мой первый опыт работы с финансами

Dmitriy
21.09.2017
19:54:49
мои 2+ логически разделены

Valentin
21.09.2017
19:55:22
А я EAV юзаю в маленьком магазине и радуюсь жизни, при чем там джоинов ещё больше изза таблиц переводов, но зато гибко и удобно

Evgeniy
21.09.2017
19:56:28
удобно же делать синглтон ?
всегда их делаю в любой непонятной ситуации

Evgeniy
21.09.2017
19:56:45
keep calm, make singleton

Jimm
21.09.2017
19:56:48
над сложным дерьмом

Dmitriy
21.09.2017
19:57:03
https://gist.github.com/ostashevdv/6f5b6ad74a5d5bb72bd1

Evgeniy
21.09.2017
19:57:14
пбуличный интерфейс это удобно, разве нет?
ты перепутал фасад, синглетоны?

Jimm
21.09.2017
19:57:30
public static упомянули ведь

синглтоны по определению не статик, значит речь о фасаде

Evgeniy
21.09.2017
19:58:29
синглтоны по определению не статик, значит речь о фасаде
public static function getInstance() но да он сам по себе не статик это лучше чем все статик)

Jimm
21.09.2017
20:00:44
гораздо лучше, только смысл может оставаться тем же

некий тонкий интерфейс над сложным фуконциалом, он либо в вие синглтона существует, либо фасада, давая по сути одни и те же фишки

виде*

Google
Jimm
21.09.2017
20:01:46
не всегда, но в некоторых ситуациях

Anton
22.09.2017
02:49:08
Есть ли смысл обфусцировать PHP код? Если зловред добирается до серверов, забирает себе БД и исполняемый проект. Просмотрев проект - он увидит все алгоритмы шифрования/сохранения в бд.

Anton
22.09.2017
02:54:53
Нет, обфускация не поможет.
А как тогда защититься от подобной угрозы? Скидывать всё на безопасников? Пусть занимаются доступами к серваку?

Andrey
22.09.2017
02:56:04
Даже если ты всё обфусцируешь, то люди просто вытащат твой код, который отвечает за расшифровку и выполнят его.

Так что смысла заморачиватться с этим нет.

WEB
22.09.2017
05:47:17
Добрый день , кто занимался подключением qiwi на wordress woocommerce ?

Sergey
22.09.2017
06:15:56
привет, кто-нибудь может рассказать, чем в php отличаются псевдотипы от типов?

Александр
22.09.2017
06:18:11
Псевдотип Callback/callable - Функции обратного вызова

Danil
22.09.2017
06:18:45
http://php.net/manual/ru/language.pseudo-types.php что тут непонятного?

Aleh
22.09.2017
06:19:04
Фу, переводы на русский

Страница 632 из 1387