|
|
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
LSVЭто реальный вопрос или стёб ? Реальный. Просто "в лоб" записывать значение в таблицу крайне нежелательно, т.к. это может серьезно нарушить бизнес логику (не говоря уже о халатности или злом умысле). Примеры, надеюсь не нужны ?Давай пример как нарушить логику, если произвольные запросы запрещены, и права у юзеров только на определенные запросы к вебсервису. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:15:47 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Hello, Lsv! You wrote on 19 мая 2017 г. 13:15:03: Lsv> Просто "в лоб" записывать значение в таблицу крайне нежелательно, т.к. это может серьезно нарушить бизнес логикуцЫрк. с конями. на дротЕ. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:16:43 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
LSV, запись в лоб в таблицу ничем не отличается от записи в лоб через процедуру -- в последнем случае лишь больше геморроя появляется для программиста по написанию лишней прослойки. Это для случаев, когда у нас простая система с записью/сохранением данных без всякой сложной логики и сторонними сервисами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:21:31 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDi, причем разницы нет даже на уровне прав доступа в общем случае (что для выполнения запроса из процедуры, что для выполнения запроса напрямую -- одни и те же права нужны будут). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:23:30 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
rgreatДавай пример как нарушить логику, если произвольные запросы запрещены, и права у юзеров только на определенные запросы к вебсервису. Ну вот о том и печь, что доступ есть не к таблице в БД, а запросам вебсервиса. Я же говорю о том, что EntityDac напрямую работает с таблицами и это мне не нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:23:51 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiJaDi, причем разницы нет даже на уровне прав доступа в общем случае (что для выполнения запроса из процедуры, что для выполнения запроса напрямую -- одни и те же права нужны будут). Если дать доступ к процедуре, то доступ к таблице давать не нужно. По крайней мере это применимо для MS SQL сервера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:25:41 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Hello, Aji! You wrote on 19 мая 2017 г. 13:47:06: Aji> EntityDac напрямую работает с таблицами и это мне не нравится.любой DAC работает напрямую. потому что он DAC. а вот концепция ORM подразумевает работу с данными только через жопу. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:48:40 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Мимопроходящийа вот концепция ORM подразумевает работу с данными только через жопу. Очень емкое замечание:) И очень похожее не правду:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 13:51:21 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
JaDiзапись в лоб в таблицу ничем не отличается от записи в лоб через процедуру -- в последнем случае лишь больше геморроя появляется для программиста по написанию лишней прослойки. Это для случаев, когда у нас простая система с записью/сохранением данных без всякой сложной логики и сторонними сервисами. .... причем разницы нет даже на уровне прав доступа в общем случае (что для выполнения запроса из процедуры, что для выполнения запроса напрямую -- одни и те же права нужны будут)1. Будет отличаться тем, что в случае с ХП можно выполнить много проверок и сделать сколь угодно сложные действия в одной транзакции. И это никак не лишняя прослойка. Это мощная возможность. 2. Чушь. Права на ХП никак не связаны с правами на таблицу. И в ХП есть возможность делать только дозволенные действия. В отличии от прямого доступа к таблице, где ковыряй чо хош. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 14:20:58 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
По идее ORM возможно будет неплох когда тебе надо дать некий API сторонним разработчикам к своей БД. Выдал им ORM с классами работы с твоей БД и свободны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 14:22:11 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Вы слишком многого хотите -- ORM это генерация простых рутинных запросов по работе с данными, которые покрывает 90% всех потребностей типичного бизнес-приложения. Сложную логику оставляйте для процедур -- никто вам не запрещает их использовать вместе с ORM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 14:27:10 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Hello, Jadi! You wrote on 19 мая 2017 г. 15:53:30: Jadi> покрывает 90% всех потребностей типичного бизнес-приложения.уровня автоматизации пивного ларька. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 15:53:52 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Мимопроходящий, Для тех, кто не умеет пользоваться представлениями (view) -- да, ORM дальше ларька использовать не смогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 16:13:16 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Короче, тут каждый лучше других знает, что такое ORM, но в новом проекте никто использовать не собирается и завешенных проектов с ORM ни у кого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 16:16:10 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Любую АСУ можно построить без использования ORM, View и Stored Procedure. Хотя я ни в коем случае не говорю что они не нужны или бесполезны в общем случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2017, 16:18:42 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Использовал ORM, но на Java (Hibernate). По мере использования и освоения ORM подхода (да, она требует времени на освоение и немалого) впечатления менялись: сперва восторг (хотя сперва на самом деле скептически отнесся), т.к. работать с готовой объектной моделью при написании бизнес-логики куда приятнее, чем постоянно что-то подгружать, конвертировать и т.п. Далее было понимание, что не все так радужно, есть немало проблем. Впрочем, большинство из них решались освоением нюансов этого самого Hibernate. В итоге: ORM вполне рабочий и полезный подход, но, конечно, надо учитывать потребности проекта. Владея этим подходом и хорошим фреймворком, его реализующим, можно гораздо быстрее получить рабочее решение, что для бизнеса, как правило, очень важно. Причем, вопреки распространенному мнению, производительности можно добиться весьма неплохой. ORM фреймворки обычно пишут люди, знающие SQL и общие принципы работы СУБД на таком уровне, на котором далеко не каждый программист знает. Плюс как правило из коробки идет кэширование. Но, по крайней мере в случае с Хибернейтом (а скорее всего не только с ним), для этого нужно знать как его правильно готовить, в т.ч. саму объектную модель. А это все куда больший объем информации, чем надо знать без ORM. К тому же, ORM не избавляет от необходимости как минимум кому-то в команде хорошо знать SQL и СУБД на хорошем уровне. В общем, если цель - знать поменьше, то ORM не лучший выбор. Для т.н. high-load проектов я бы тоже не стал использовать ORM. Не только потому, что выжать самые оптимальные запросы будет сложно, но и потому, что в таких проектах скорее всего будут еще кэши на key-value хранилищах и идиллии с объектной моделью все равно не получится. В остальных случаях как минимум стоит рассмотреть возможность использования ORM подхода. Другое дело, есть ли хорошие ORM фреймворки для Delphi. Тут не подскажу, хотя лично мне симпатичен mORMot, т.к. его разработчик зарекомендовал себя хорошо. Плюс в комплекте средства для создания REST API. По поводу "защиты" БД, торчащей в интернет, посредством оборачивания INSERT'ов и UPDATE'ов в хранимки - весьма сомнительная защита. Тут и в самих хранимках легко ошибиться, скажем, подставив аргумент в запрос и получив возможность SQL-инъекции (привет проблемы 10-летней давности). И права можно не верно задать. И просто на эксплойт нарваться, позволяющий лазить по БД куда вроде бы не положено. В общем, такой БД я бы никаких серьезных данных не доверил. Сервер БД должен быть доступен исключительно внутри сети бакенда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 03:26:42 |
|
||
|
Есть ли смысл начниать новый проект на базе ORM?
|
|||
|---|---|---|---|
|
#18+
Есть такой продукт, как PowerDesigner, который по концептуальной модели формирует кучу триггеров, индексов и констрейнов и прочего добра на уровне ДБ. Дать это написать программеру процедур это - адЪ. Прогер может и "пролюбить" кое что. Не вижу чем это чем лучше ОРМ. Пользовал и то и другое. В двух словах: процедуры - пролетают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2017, 04:16:33 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39456086&tid=2042281]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
20ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 324ms |

| 0 / 0 |
