|
|
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
fkthat На самом деле таких многовековых залежей говнокода, как в энтерпрайзе нет больше, наверное, нигде. По моей практике, самые залежи говнокода в интеграторах (ну, вернее у клиентов интеграторов), в первую очередь в госструктурах и на внедрениях всяких САПов. Энтерпрайз по крайней мере пишет для себя, и в нём работают люди, которые будут много лет поддерживать и развивать именно то, что написали. А в интеграторах подход откатил - сдал - ушёл - забыл, заинтересованность в качестве решения отрицательная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 16:44 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
fkthat Misha_E в том числе и код web страницы.... Это образец эталонной архитектуры? Что ж тут тролли то все какие слабенькие? Это образец (в понимании одного из вендоров) того как оно называется - Application Express. Надеюсь перевод не нужен.При чем судя по гуглу , многим этого в "освободите от вендор лока"(пострессе) не хватет и люди ставят Oracle XE и из него DBLINK. Чудны дети твои,Боженька... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 16:47 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
Кстати, про APEX я пожалуй соглашусь, что это попытка посадить на vendor lock. Ровно как и предыдущее подёргивание в этом направлении - Oracle Forms - оно не для того, чтобы удобно и хорошо разрабатывать приложения, а для того, чтобы дебилы, которые умеют только PL/SQL, всю жизнь только на нём и оставались - с соответствующим влиянием на рынок рабочей силы и, соответственно, рынок платформ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 16:50 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
softwarer Кстати, про APEX я пожалуй соглашусь, что это попытка посадить на vendor lock. Ровно как и предыдущее подёргивание в этом направлении - Oracle Forms - оно не для того, чтобы удобно и хорошо разрабатывать приложения, а для того, чтобы дебилы, которые умеют только PL/SQL, всю жизнь только на нём и оставались - с соответствующим влиянием на рынок рабочей силы и, соответственно, рынок платформ. Ага и существовал он до Ноды,Джанги и других. Тогда еще лочить не от кого было , тока если от мелкософта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 16:52 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
>Dimitry Sibiryakov, сегодня, 14:14 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325462&msg=22139758][22139758] >И Вы не знаете про существование UPDATE...RETURNING. < Где? Здесь нет. И что сиё даёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 17:22 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев >Dimitry Sibiryakov, сегодня, 14:14 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325462&msg=22139758][22139758] >И Вы не знаете про существование UPDATE...RETURNING. < Где? Здесь нет. И что сиё даёт? Предположу что человек имел ввиду это - http://firebirdsql.su/doku.php?id=returning ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 17:24 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
Misha_E и люди ставят Oracle XE Я хорошо помню времена, когда MS SharePoint по энтерпрайзам разлетался, как пирожки в голодный год. А сказать почему? МС платила партнерам бешенный по сравнению с другими продуктами процент за его впаривания своим клиентам. А у меня после работы тогда с ним до сих пор от одного упомминания приступы тахикардии начинаются. Я тогда случайно пообщался с одним человеком из МС, который одно время участвовал в его разработке и он мне рассказывал, что этим (его разработкой) регулярно занималась куча случайных людей, т.е. если в МС какое-то время какого-нибудь девелопера было нечем занять, то его по-дефолту отправляли в команду шейрпойнта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 17:30 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев >hVostt, сегодня, 12:32 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325462&msg=22139641][22139641] >Это и без ХП реализуется. В общем, как обычно, вы просто не умеете работать с БД. < Покажите как надо. Приведите код пожалуйста. Но по моему мнению, пользователь должен точно знать, что он меняет. Поэтому Ваш код для меня не приемлен. Вы меня совершенно не слышите, или не хотите услышать, или (что печально) не способны воспринимать информацию Возьмём ещё раз мой пример, в котором ничего не меняется с точки зрения клиента: Код: c# 1. 2. 3. В репозиторий можно добавить поддержку оптимистичной блокировки: Этот код выполнит следующие запросы: Код: sql 1. 2. 3. Теперь, репозиторий выбросит специальное исключение, если не удалось обновить запись из-за нарушения номер ревизии (под которым можно сохранять инкремент изменений, или штамп времени). Вот так можно ловить исключение: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. Очень упрощённый пример метода Save репозитория: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 17:43 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев, А теперь, когда я уже вам кода тут понаписал. Может вы соизволите наконец объяснить, зачем вам ХП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 17:45 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев Дополню по этой части, чтоб вопросов небыло, а то я всё пытаюсь на концептуальном уровне разговаривать, но с вами не получается: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 18:23 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
>hVostt, сегодня, 17:45 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325462&msg=22139917][22139917] >...Может вы соизволите наконец объяснить, зачем вам ХП? < Мне нужно текущее состояние сущности после операций изменения для представления клиенту. Клиент работает со списком сущностей в гриде. Корректирует нужную и выполняет UPDATE. В результате отображаемое состояние сущности может не изменится (в случае ок) или изменится на текущее её состояние в базе + отображение состояние не штатной ситуации. Привожу пример фрагмента кода приложения. Он одинаков и для MS SQL и PostgreSQL. Код есть шаблон для всех подобных операций с сущностями. wsp - класс, отвечающий за работу с базой данных. Для MS SQL свой, для PostgreSQL - свой. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 18:39 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев btc_ Сохранить _Click "Ой, всё" (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 19:05 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев Мне нужно текущее состояние сущности после операций изменения для представления клиенту. Нет не нужно. У вас оптимистичная блокировка. ВМоисеев Привожу пример фрагмента кода приложения. Он одинаков и для MS SQL и PostgreSQL. Код есть шаблон для всех подобных операций с сущностями. Ну и посмотрите на свой код внимательно. Кроме этого кода, у вас ещё есть код в БД в виде ХП. По сути у вас очень много дублирующегося мусора. Это, извините, говнокод (даже не смотря на качество и стиль кода). ВМоисеев Клиент работает со списком сущностей в гриде. Корректирует нужную и выполняет UPDATE. В результате отображаемое состояние сущности может не изменится (в случае ок) или изменится на текущее её состояние в базе + отображение состояние не штатной ситуации. Ну и при чём тут ХП, опять же? Описанное вами поведение не правильно с точки зрения UX, но если забить на это, то никто не мешает сделать запрос актуальных данных при необходимости. Короче, я так и не услышал ответ на вопрос, зачем вам ХП. Ладно бы, у вас вся логика в ХП была сосредоточена, но тут и на клиенте логика и в БД логика, говнокод размазан по двум разным системам. Просто рай для сопровождения и развития. Зачем? Только не говорите, что это всё ради экономии на лишнем запросе? Эта экономия нафиг никому не упёрлась, она не нужна и откровенно вредна. Очередная преждевременная оптимизация . Уже, простите, блевать тошнит. Когда же вы уже научитесь... работать, а не фигнёй страдать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 19:09 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
>hVostt, сегодня, 19:09 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325462&msg=22139994][22139994] >Это, извините, говнокод (даже не смотря на качество и стиль кода). < Что сказать, если одеть любителя желудей во фрак, мало что меняется. Не понимает он вкус моих апельсинов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 19:29 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
hVostt даже не смотря на качество и стиль кода писать вот так: Код: c# 1. это не стиль, а говностиль. У него Enter на клавиатуре выломан там что ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 21:03 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
hVostt и на клиенте логика и в БД логика, говнокод размазан по двум разным системам. Просто рай для сопровождения и развития. Надо еще для полного комплекта по паре-тройке триггеров на каждую таблицу навесить, надобавлять вычисляемых полей и во вьюхи с аггрегацией позаворачивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2020, 21:12 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев Что сказать, если одеть любителя желудей во фрак, мало что меняется. Не понимает он вкус моих апельсинов. Я понял, что с вами не имеет смысла серьёзно ни о чём дискутировать. Так же не имеет смысла приводить вам какой-то код, непонятно зачем вы его просите, если вы его воспринимаете как баран, глядя на новые ворота. Вместо адекватного ответа на заданный вопрос вы несёте какую-то дичь, упражняетесь в литературной эквилибристике, видимо ошиблись форумом, вам нужно в гуманитарный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 16:44 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
fkthat hVostt и на клиенте логика и в БД логика, говнокод размазан по двум разным системам. Просто рай для сопровождения и развития. Надо еще для полного комплекта по паре-тройке триггеров на каждую таблицу навесить, надобавлять вычисляемых полей и во вьюхи с аггрегацией позаворачивать. Я думаю, если бы ВМоисееву кто-то в своё время показал ещё и триггеры, то логика была бы ещё размазана и по триггерам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 16:46 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
fkthat писать вот так: Код: c# 1. это не стиль, а говностиль. У него Enter на клавиатуре выломан там что ли? Да, тут все печально, каждая строка кода вызвает слёзы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 16:47 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
hVostt Я думаю, если бы ВМоисееву кто-то в своё время показал ещё и триггеры, то логика была бы ещё размазана и по триггерам 1. Название его хранимой процедуры вызывает ощущение, что она либо переделана из триггера, либо играет его роль. Я это ещё тогда отметил. 2. В триггерах нет ничего плохого. Разумеется, при уместном использовании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 19:23 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
>softwarer, вчера, 03:52 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325462&msg=22139430][22139430] >...это будет явно эффективнее Вашего чуда. < Сделал так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 23:43 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
ВМоисеев Сделал так: Даже не знаю, смеяться или плакать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2020, 23:51 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
softwarer 2. В триггерах нет ничего плохого. Разумеется, при уместном использовании. Конечно, как можно сказать и про любой другой инструмент :) Но зачастую ХП и триггеры так применяют, что хочется назвать их злом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 00:17 |
|
||
|
Взаимодействие клиентов с БД.
|
|||
|---|---|---|---|
|
#18+
softwarer ВМоисеев Сделал так: Даже не знаю, смеяться или плакать. Если бы на ревью в моей команде попал вот такой код, это был бы скорее всего скандал. Выясняли бы, не заболел ли автор какой-нибудь серьёзной болезнью, а если нет, то кто его такого нанял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2020, 00:21 |
|
||
|
|

start [/forum/topic.php?fid=33&msg=39962336&tid=1547103]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 180ms |

| 0 / 0 |
