Обучение/Помощь новичкам | Как правильно?
Как правильно? (Открытое голосование)
Другой вариант (2 чел. - 50 %)
1 вариант (1 чел. - 25 %)
4 вариант (1 чел. - 25 %)
2 вариант (0 чел. - 0 %)
3 вариант (0 чел. - 0 %)
Всего проголосовало: 4 чел.
А если хочется больше ответов в таких направлениях советую посетить software architecture конференцию
На самом деле нагрузки не значительно больше если нет моментов где выборка идёт сотен записей и в обернутом виде, читаемость от этого стает лучше и масштабирование возможно, а когда оно размазано по всему проекту то достаточно сложно вносить изменения в будущем.
Например если вдруг какой-то из модулей свитчается к примеру на clickhouse (Так как работает с большими данными и надо менять технологию запросов, допустим модуль typeahead)
Так вот когда есть репозитории и сервисы и правильно используются DTO то это сделать достаточно легко изменив лишь репозиторий откуда подгружать данные даже больше можно делать a/b тестирование такой фичи, а когда оно все работает в mvp стайл то придётся кучу всего переписывать и костылить для внедрение нового
Да и нет смысла съезжать с мускла, т.к. производительность у него норм, получше даже чем на postgre, плюс только mysql на всех хостингах есть. Так что не нужен ORM нам, простым честным ракам. Да и в ентерпрайзе ORM не нужен, точнее нужен, но только для того чтобы генерить индусский код, тоесть увеличивать свою зарплату путем увеличения количества строк кода. Ну ты понел)
________
посл. ред. 02.09.2023 в 13:32; всего 3 раз(а); by Something
А если хочется больше ответов в таких направлениях советую посетить software architecture конференцию
upd.
Плюс есть еще такое понятие как преждевременная оптимизация). Нет, я конечно не против преждевременной оптимизации, но только если она не в ущерб производительности :D
________
посл. ред. 02.09.2023 в 13:38; всего 1 раз(а); by Something
Лучше бы не за архитектуру трепались, а о расширении функционала и повышении производительности. Тем более что для каждого приложения архитектура будет своя, а если городить универсальную, то будет тормозное говно)
upd.
Плюс есть еще такое понятие как преждевременная оптимизация). Нет, я конечно не против преждевременной оптимизации, но только если она не в ущерб производительности :D
Архитектура сильно связана с производительностью и расширениям функционала. Принимать это или нет твоё дело) но скажу на опыте что видел много разных подходов и той где достаточно хорошо все продумано и соответствует допустим clean architecture или DDD работа идёт более стабильно и нет факапов сильных
________
посл. ред. 02.09.2023 в 13:41; всего 1 раз(а); by Scammer
Архитектура для каждого своя это правда но есть паттерны которые годами делали и придумывали и полно бест практик)
Архитектура сильно связана с производительностью и расширениям функционала. Принимать это или нет твоё дело) но скажу на опыте что видел много разных подходов и той где достаточно хорошо все продумано и соответствует допустим clean architecture или DDD работа идёт более стабильно и нет факапов сильных
________
посл. ред. 02.09.2023 в 13:48; всего 2 раз(а); by Something
Лучше бы не за архитектуру трепались, а о расширении функционала и повышении производительности. Тем более что для каждого приложения архитектура будет своя, а если городить универсальную, то будет тормозное говно)
upd.
Плюс есть еще такое понятие как преждевременная оптимизация). Нет, я конечно не против преждевременной оптимизации, но только если она не в ущерб производительности :D
А зайти в репу и посмотреть или же по статистике узнать куда потерялись драгоценные секунды процессорного времени будет проще, проще внедрять или заменять модули, допиливать что-то.
Даже пример как будет выглядить две реализации (старая и новая) так чтоб провести a/b тестирование на ней в варианте где все размазано и там где следуют паттернам
Вот эти паттерны и бест-практис - это и есть максимально сложная архитектура, типа под все случаи жизни, лол, которую пихают куда не надо с целью сгенерить побольше кода)). На выходе получается примитивнейшее, малофункциональное, но крайне тормозное говно). Причем еще и дорогое). Я конечно понимаю что надо разводить бизнес на деньги, но не ценой собственных страданий же.) Тот же MVC например зародился в Windows вроде еще в 70-х, и примерно тогда же устарел. А его до сих пор пихают в говносайты. Ну не абсурд?)
Но с таким утверждением можно писать линейный код как это было 200х годах =)
MVC по сей день подходит для малых проектов.
Но с таким утверждением можно писать линейный код как это было 200х годах =)
О преждевременной оптимизации никто не говорит, но когда задача постает узнать где тормиз система и проревьювить запросы в базу, то даже blackfire не поможет))
А зайти в репу и посмотреть или же по статистике узнать куда потерялись драгоценные секунды процессорного времени будет проще, проще внедрять или заменять модули, допиливать что-то.
Даже пример как будет выглядить две реализации (старая и новая) так чтоб провести a/b тестирование на ней в варианте где все размазано и там где следуют паттернам
Не знаю как такое загуглить, поэтому пишу здесь. Допустим у меня название таблицы находится в переменной. Есть обертка для подготовленных запросов. Как правильно прописать?
php
# Так?
db::fetchAssoc("SELECT * FROM `$table`");
# Или
db::fetchAssoc("SELECT * FROM `?`", $table);
# Или даже так?
db::fetchAssoc("SELECT * FROM ?", $table);
# 4 вариант
db::fetchAssoc("SELECT * FROM $table");$db::fetchAssoc("SELECT * FROM $table");
Второй вариант, с использованием знака вопроса вместо переменной и передачей переменной как параметра, является более безопасным способом, так как предотвращает SQL-инъекции. Рекомендуется использовать второй вариант для обеспечения безопасности вашей базы данных.
$db::fetchAssoc("SELECT * FROM ?", [$table]);