Sergey_K
Ну к примеру
Sergey_K
Целостность
Sergey_K
Типа удалил заказ и должен удалиться адрес в таблице адресов
Anonymous
вот по этой технологии счас ускоряю все подряд что там прежние програмеры написали на этом сайте до меня. наверно не дураки были.
Sergey_K
В модх это два запроса
Sergey_K
И куча муйни внутри классов связей
Sergey_K
А в большой системе это был бы тупо триггер
iWatchYouFromAfar
В модх это два запроса
Да, я с этим познакомился когда через API решил удалять по крону неактивных юзеров, пришлось в две таблицы лезть
Sergey_K
Который работает в сотни раз быстрее
Sergey_K
Я триггеры сделал
Sergey_K
Теперь у меня в заказе меняется что-то, а в остальные таблицы отстреливается автоматом, протэто даже помнить не нужно
Sergey_K
В коде
Pavel
Ребята как в fenom проверить переменную на пустоту ?
iWatchYouFromAfar
iWatchYouFromAfar
доки читайте
Sergey_K
Плюс важно то, что если все падает, то транзакция откатится полностью
Pavel
Спасибо
Pavel
Sergey_K
А у тебя при косяке в коде все останется наполовину
iWatchYouFromAfar
Sergey_K
Sql так работает
Sergey_K
Сам
Sergey_K
Транзакции называется
iWatchYouFromAfar
но ты говоришь что ты триггеры внедрил в modx
iWatchYouFromAfar
я так понимаю ты на своих разработках это внедрил?
Sergey_K
Триггеры пишутся в БД
Sergey_K
В этом у многих страх
Anonymous
не страх
Anonymous
а сложность поддержки в жизненном цикле
Anonymous
из-за того, что они в БД пишутся
Sergey_K
Ну нет сложностей, если это документировать.
Sergey_K
Плюс
Sergey_K
В триггеры кладут базовые операции без сложной логики
Sergey_K
Типа удалил заказ - удалить запись адреса.
Sergey_K
Плюс этого - намного быстрее, намного проще. Все связи элементарные ими можно реализовать и не тащить в модх.
Sergey_K
Плюсом
Sergey_K
Вьюхи
Anonymous
ну удалить адрес после заказа можно и без тригеров, если это innodb или другой движок, который поддерживает каскадные запросы
Sergey_K
Каскадные запросы это, по сути, и есть те же триггеры
iWatchYouFromAfar
Anonymous
ну я тут с Сергеем на одной волне отчасти
Anonymous
у меня был курс в универе по устройство баз данных
Sergey_K
Просто братцы
Anonymous
вдоль и поперек их изучали, включая как внутри устроены
Sergey_K
Вот вам еще пример
Sergey_K
Форма заказа в гребаном ЭкстЖиэс
Sergey_K
Там нет вывода емейла.
Sergey_K
Гемор
Sergey_K
Почему не сделать View? С названием ms2_orders
Sergey_K
Все.
Sergey_K
Там забить все нужные поля от адреса до емейла и даты оплаты
Sergey_K
И все. Префиксов не надо даже знать.
Sergey_K
И даже если кулхацкер войдет в твою систему
Sergey_K
И будет знать имя таблицы и, О БОЖЕ, иметь доступ
Sergey_K
Он ничего не похерит
Sergey_K
Потому что это View. Туда ничего нельзя записать.
Sergey_K
Плюс вьюхи круто кэшируются, а значит очень быстрые (почти везде).
Sergey_K
Более того, во вьюхи любой юзер сможет добавлять свои поля ил ЛЮБОЙ таблицы.
Anonymous
на питоне есть работа в фоне типа отдельный поток-вот если из него читать базу и формировать файл как надо-там такой же синтаксис как в пхп в принципе. а запускать его из пхп или по крону. потом забирать когда готов. может и не будет тормозить. не знаю. просто мысли.
Anonymous
Anonymous
может и на пхп есть многопоточность, но я не в курсе. на питоне точно есть. он типа системный язык в линуксе.
Sergey_K
Anonymous
советую погуглить хотя бы статьи на тему task queue, тулы типа rabbitmq и прочее
iWatchYouFromAfar
Артур оч топит за питон
Anonymous
да уже гуглил. очередь задач на пхп. это не на питоне-2строки
Anonymous
Sergey_K
системный язык в линуксе c++
iWatchYouFromAfar
причем он тут один про питон говорит
Sergey_K
насколько я помню
Anonymous
а то, что в дистрибутиве стоит питон - не делает его системным
Anonymous
в маке тоже питон установлен по умолчанию
Anonymous
Anonymous
на пхп надо целую либу тащить и ставить компостером.
Anonymous
как-то два года на джанге ваял проекты
Anonymous
я тоже :) но там нет работы.
iWatchYouFromAfar
Anonymous
по питону я курсы прошел. знаю его больше раза в три. но все что есть в пхп есть и там тоже.
Anonymous
эти два языка появились примерно в одно и то же время