Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересно Програмёр ты писал когда-нибудь распределённые системы?! сидят два оператора с твоей таблицей в 65к ячеек и потихоньку вносят изменения... как вариант - один удалил строку а второй пытается внести туда изменения... или один обновил данные, а второй, невидя этого, перезаписал туда старые данные... предложи вариант решения? ;) авторно и это за денёк думаю можно освоить в полной мере... добрый совет ;) не актуально в рамках данного топика по сути )) тут вот какое дело, если один оператор удалил поставку, то другой уж точно её править не будет ))) Это не логично и говорит об нарушении организации :) Ну, это моё мнение... А вообще должна быть кнопочка "обновить", которая позволит загрузить все новые правки с сервера... Если я стараюсь записать строку, которой уже нету - я должен получить сообщение об ошибке... Что бы избежать жуткого переплетания работы (не знаю, мне так удобнее по крайней мере, да и прогать легче, ещё никто не жаловался), можно все изменения в базе писать единной транзакцией.. То есть, внизу сделать кнопочку "сохранить изменения на сервере"... пока мы меняем данные (добавляем/удаляем ячейки, меняем тексты) все запросы (в виде логированных изменений) скапливаются где-то... а когда жмём кнопочку - данные действия переводятся в запросы и выполняются (отправляются в базу)... если какой-то запрос заканчивается ошибкой - пользователю можно предложить например отказаться от изменения данных (которые не могут быть изменены), или предпринять другие действия (например добавить (в данном случае вернуть) отсутствующий столбец, строку или таблицу)... Кстати, перед записью надо повторно валидировать данные :) ведь они могут измениться (то есть кто-то мог изменить тип столбца)... И при провале валидации предлагать пользователю поправить значения этих полей. А какой Вы предложите вариант решения? (мало ли, может я и не прав... если так, то поясните) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 17:31 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
http://dr-magic.blogspot.com/2010/01/3.html - шеф всё уже давно украдено до нас! автор если какой-то запрос заканчивается ошибкой - пользователю можно предложить например отказаться от изменения данных (которые не могут быть изменены) О как! То есть сервер сам толкнёт клиента? авторНикаких проблем с правкой строк/залипаний логики не наблюдал. кстати, расскажи, какие действия ты предпринимал для того, что бы два пользователя не могли править одновременно одно и тоже поле? Интересно послушать... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 18:01 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересно, Второй вопрос видимо адресуется мне? Первое цитирование Программеру, а второе это моя реплика. По своей реплике могу ответить,что такие запреты в VB+Ms SQL server очень просто отловить. свойство — LockType. Это свойство определяет тип блокировок, которые будут наложены на записи на источнике, помещенные в Recordset. Можно использовать следующие значения: adLockReadOnly — записи в Recordset будут доступны только на чтение, вы не сможете их изменять. Это значение используется по умолчанию. adLockPessimistic — наиболее надежный с точки зрения целостности данных вид блокировки. Вы можете изменять записи в Recordset, но при начале изменения записи она блокируется на источнике таким образом, что другие пользователи не смогут обратиться к ней ни на чтение, ни на запись, пока вы не вызовете методы Update() или CancelUpdate(). adLockOptimistic — это значение позволяет выиграть в производительности за счет проигрыша в надежности обеспечения целостности данных. Запись на источнике блокируется только на время выполнения метода Update(). Остальные пользователи могут одновременно с вами читать и изменять данные на источнике. adLockBatchOptimistic — то же самое, что обычное оптимистичное, но вместо немедленного обновления по одной записи используется пакетное обновление. В ситуации, когда изменяется большое число записей, такое решение позволяет выиграть в производительности. Вот это свойство и не позволяет двум пользователям одновременно править одно поле. Это в VBA. Это как раз тот случай когда сервер толкнет клиента. Это в моих старых проектах на VBA. Мои проекты в формате VBA+ADP как раз и предполагают,что очень много event и процессов с клиентской части будут мониториться серверной частью. Это фишка ADP. По первой реплике вам сможет ответить Программер . Вроде как наши ответы в принципе перекликаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 18:17 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересно http://dr-magic.blogspot.com/2010/01/3.html - шеф всё уже давно украдено до нас! автор если какой-то запрос заканчивается ошибкой - пользователю можно предложить например отказаться от изменения данных (которые не могут быть изменены) О как! То есть сервер сам толкнёт клиента? Вы меня видимо не поняли... зачем сервер толкнёт клиента (в принципе я даже не знаю как, ведь на то он сервер, что бы его клиенты толкали)... А предложить клиенту отказаться от изменений по нажатию кнопки "сохранить изменения в базе". То есть, он нажал, сервер начал обработку... в случае возникновения ошибок, запомнил их... сверил с действиями, повлекшими ошибки и обработал причину ошибок, на основании этого отправляет клиенту возможные варианты решения проблемы... js это выводит клиенту, тот предпринимает одно из предложенных действия и даёт "перезапрос"... сервер снова его выполняет... если появляются ошибки, снова спрашивает как поступить с несохранёнными данными... и так пока не сохранит данные :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 18:18 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
авторRecordset !!! так вот этот самый Recordset тебе придётся самостоятельно реализовать для решения подобного рода коллизий ;) если вдруг подобное решение тебе покажется громоздким или оч сложным, тебе придёт в голову, что править строку можно не напрямую в общей таблице с данными, а выбрав её последнюю версию непосредственно запросом на страницу правки записи!!! и залочить ОДНУ единственную строку от других! а не все строки таблицы! Програмёр ОМГ! теория обновления данных по ЭНТЕР при изменении в отдельно взятом инпуте, вероятно разрушилась? как и теория перехода по ячейкам таблицы с кучей инпутов стрелочками! Следущая на очереди - <span> в каждом диве или ячейке таблицы? ;) хорошо! как в таблицу из 65к ячеек получить изменённые др пользователем данные? авторкнопочка "обновить" ? ;) как часто её будет нужно нажимать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 18:45 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
Програмёрпросто интересно http://dr-magic.blogspot.com/2010/01/3.html - шеф всё уже давно украдено до нас! пропущено... О как! То есть сервер сам толкнёт клиента? Вы меня видимо не поняли... зачем сервер толкнёт клиента (в принципе я даже не знаю как, ведь на то он сервер, что бы его клиенты толкали)... Именно так и толкнет:) Если вы разрабатываете проект в формате ADP, то много процессов, которые делает пользователь на клиентской части приложения мониторятся сервером. На сервере хранятся основные обработчики событий (да да!), а в клиентской части есть так называемые системные таблицы,которые в обычном режиме пользователь не видит. Информация в них скрыта постороннему глазу и генериться автоматически при создании проекта ADP + MS SQL server. За счет взаимопроникновения клиентской и серверной части друг в друга связка ADP и позволяет интерактивный обмен не только на уровне Клиент->Сервер, но и Сервер->Клиент. Могу уточнить,когда происходит проверка возможности редактирования записи на форме,в строке,таблице. Она происходит обычно на событие "текущая запись". Это когда вы переходите в таблице на новую строку клиентская часть отправляет запрос на сервер, который проверяет,никто ли сейчас не правит текущую строку, если правит-то locked, если не правит-то соответственно unlocked. В базовом варианте настройки (про наших баранов с лочкой записей) такой механизм по умолчанию действует на следующем уровне - выскакивает не ошибка, а msgbox ( ну то бишь alert либо echo если берем web) который говорит, что за это время текущая запись была изменена другим пользователем, выберите действия которые вы хотите осуществить , оставить свои правки в строке, или принять изменения ,внесенные другим пользователем Механизм работы клиент сервер конечно идентичен с веб, да и вообще по концепции. Просто майкрософт добавил немного трэша, и сделал незаметными глазу процессы клиент-сервер, за счет увеличения объема скрытых процессов,выполняемых клиентской стороной. Преимущество- не надо париться с диалогами с серверной частью. Недостаток-Рост процессов,выполняемых клиентской частью, рост кэша за счет постоянно висящих линкованных временных таблиц в памяти приложения. Так поэтому то я пытаюсь подружиться и с php и с JS) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 18:51 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
Название топика- краткость сестра таланта уже потеряла свою актуальность :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 18:58 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
авторМеханизм работы клиент сервер конечно идентичен с веб, да и вообще по концепции. ну попробуй заставить веб-сервер без запроса клиента прислать тебе данные!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 19:10 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересноавторRecordset !!! так вот этот самый Recordset тебе придётся самостоятельно реализовать для решения подобного рода коллизий ;) если вдруг подобное решение тебе покажется громоздким или оч сложным, тебе придёт в голову, что править строку можно не напрямую в общей таблице с данными, а выбрав её последнюю версию непосредственно запросом на страницу правки записи!!! и залочить ОДНУ единственную строку от других! а не все строки таблицы! Програмёр ОМГ! теория обновления данных по ЭНТЕР при изменении в отдельно взятом инпуте, вероятно разрушилась? как и теория перехода по ячейкам таблицы с кучей инпутов стрелочками! Следущая на очереди - <span> в каждом диве или ячейке таблицы? ;) хорошо! как в таблицу из 65к ячеек получить изменённые др пользователем данные? авторкнопочка "обновить" ? ;) как часто её будет нужно нажимать? Ваш вариант так и не был озвучен :) Если Вы решили подержать его на последок - уже начинаете передерживать... Начинает складываться впечатление что его или нету, или он уступает одному из озвученных... Расскажите, как бы Вы это решали. По поводу Энтер - ничего не разрушилось, я всего лишь предложил альтернативу, которая позволила бы так часто не пересекать работу двух операторов... Один сохранил изменения, второй после него попробовал сохранить конфликтирующие данные, запрос отвалился... первый продолжает что-то менять... снова сохранил... всё ок... второй всё исправил, сохранил... первый попробовал сохранить, у него конфликт... исправил, сохранил... А теперь представляете, если несколько операторов одновременно и у них каждое второе поле в конфликте?.. Это как в гитхабе... Вы работаете в своей ветке... когда работу закончили - слили в мастер, если наткнулись на конфликт - решили и закомитили результирующий вариант... А теперь представляете, если бы Вам пришлось решать конфликты по каждому коммиту? ... а теперь представляете, если Вы конфликт решили, а на сервере уже новый коммит появился... и Вы снова конфликт решаете... так его можно решать 2 месяца )) будете не рады такой системе и быстренько с неё спрыгните. Итак, ждём Ваш вариант :) просветляйте нас пожалуйста... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 22:30 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
То есть сформулировать мою идею можно так: я предложил избавиться от процесса прямой записи в базу и просто "сливать" изменения на основной сервер... как в гите... только вместо своей ветки, Вы создаёте временную таблицу (виртуально... просто в сессию нотируете свои изменения)... когда Вы решаете, что всё готово - вливаете в основную таблицу свои правки, если возникают конфликты, процесс вливания отменяется, Вам предлогается решить конфликт, после чего Вы можете повторить вливание... Вроде всё просто, а принцип уже давно изучен и уже используется очень удачно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 22:38 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересноавторМеханизм работы клиент сервер конечно идентичен с веб, да и вообще по концепции. ну попробуй заставить веб-сервер без запроса клиента прислать тебе данные!!! Предлагаете топикстартеру освоить какой-нибудь Message_Queuing? Или пилить самому - ради опыта :) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2013, 23:32 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
BagaBaga, Давайте не будем передергивать))) топикстартер просто переползает с десктопа на веб. И опыт в практическом программировании в сумме зачастую перекрывает срок, с которого у некоторых участников данного форума начались проявляться вторичные половые признаки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 00:05 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
Сергей ЛаловBagaBaga, Давайте не будем передергивать))) топикстартер просто переползает с десктопа на веб. И опыт в практическом программировании в сумме зачастую перекрывает срок, с которого у некоторых участников данного форума начались проявляться вторичные половые признаки. Хм... :) А в чём Вы видите проблему такого перехода? :) Проблемы обычно бывают при переходе в обратную сторону... Ну разве только привыкнуть к структуре клиент-сервер, но в принципе, любое приложение работающее с основным ресурсом в сети работает по такому принципу... разница лишь в том, что браузер не удерживает соединение после окончания загрузки страницы (то есть по сути связь односторонняя, а для двусторонней уже приходится играться) :) Не знаю... это как создание gui под уже давно написанное консольное приложение )) Только приложение - это серверная часть, а gui - клинтская (js, html, css). Если у Вас огромный опыт разработки, Вам это должно быть как 2 пальца.... ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 00:23 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
авторПредлагаете топикстартеру освоить какой-нибудь Message_Queuing? Или пилить самому - ради опыта :) ? хотел ему подкинуть идею о том, что если бы так легко переносились десктоп приложения с их контролами на веб, то, вероятнее всего, кто-то уже придумал бы необходимый ему (похожий на MS Access) грид! хотя, конечно может и запилить! ;) авторИтак, ждём Ваш вариант :) http://wiki.apache.org/couchdb/HTTP_Document_API почитай - зачем нужны "_revisions" ;) авторВроде всё просто, а принцип уже давно изучен и уже используется очень удачно :) уверен, что не тобою! это называется Recordset в десктопе! в веб всё это можно организовать даже на клиенте http://htmlbook.ru/html5/storage Вопрос один - ЗАЧЕМ? ради того что бы затянуть на клиента 40к строк из таблицы БД и вкорячить в супер-грид??? кнопочка "обновить" ПыСЫ - эта кнопочка уже есть во всех броузерах - "Reload current page" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 00:23 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересноавторПредлагаете топикстартеру освоить какой-нибудь Message_Queuing? Или пилить самому - ради опыта :) ? хотел ему подкинуть идею о том, что если бы так легко переносились десктоп приложения с их контролами на веб, то, вероятнее всего, кто-то уже придумал бы необходимый ему (похожий на MS Access) грид! хотя, конечно может и запилить! ;) авторИтак, ждём Ваш вариант :) http://wiki.apache.org/couchdb/HTTP_Document_API почитай - зачем нужны "_revisions" ;) авторВроде всё просто, а принцип уже давно изучен и уже используется очень удачно :) уверен, что не тобою! это называется Recordset в десктопе! в веб всё это можно организовать даже на клиенте http://htmlbook.ru/html5/storage Вопрос один - ЗАЧЕМ? ради того что бы затянуть на клиента 40к строк из таблицы БД и вкорячить в супер-грид??? кнопочка "обновить" ПыСЫ - эта кнопочка уже есть во всех броузерах - "Reload current page" Ну так Вы просто прокоментили мой вариант, что да, это есть и это можно запилить... Но я ведь это и говорил... о чём Вы тогда спорили? :) По поводу запилить логику на клиенте - интересно... а как клиент будет с сервера получать инфу о том, что были измененены определённые поля?... Вообщем, возможно конечно так можно сделать (думаю не без гемора), но я бы не стал... Пояснение в прошлом сообщении (сервер - логика, клиент - интерфейс)... А я и не предлагал 40к строк тянуть... Фильтры для того и обсуждались, что бы не тянуть лишнего... и именно по той причине я и советовал фильтровать всё на уровне базы (и сортировать тоже)... То есть если нам нужна выборка из трёх полей, по значению одного из полей и отсортировано в порядке возрастания второго из полей, так мы в итоге именно это и дёрним из базы... и получится например 200 строк из трёх столбцов по возрастанию второго поля :) Так о чём же Вы спорили, когда говорили, что фигня это всё (когда угнетали мой вариант )? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 00:33 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 00:38 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
авторТак о чём же Вы спорили, когда говорили, что фигня это всё (когда угнетали мой вариант )? какой вариант?! сохранить все сделанные пользователем изменения и одним махом отправить их в БД? обрыв соединения?! три часа внесения изменений насмарку! неа ;) авторА я и не предлагал 40к строк тянуть... 14755439 - за тебя предложили... мне трудно с тобою разговаривать - ты всё это как-то нащупываешь\придумываешь, вместо того, что бы сесть и попробывать сделать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 00:47 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
Ребят, спасибо за ссылки! Вовсю штудирую. Спор на самом деле не о чем. Действительно сейчас смотрю что более понятней, фреймворки готовые действительно более проще к восприятию. Сделаю грид, выложу. Из плагинов пожалуй все таки заберу себе привязку календаря и маску ввода для типов данных ввода даты и чисел типа плавающих с точкой с запятой. Про отношения типа клиент сервер как смогу так и реализую на уровне строк, набора записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 01:13 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересноавторТак о чём же Вы спорили, когда говорили, что фигня это всё (когда угнетали мой вариант )? какой вариант?! сохранить все сделанные пользователем изменения и одним махом отправить их в БД? обрыв соединения?! три часа внесения изменений насмарку! неа ;) авторА я и не предлагал 40к строк тянуть... 14755439 - за тебя предложили... мне трудно с тобою разговаривать - ты всё это как-то нащупываешь\придумываешь, вместо того, что бы сесть и попробывать сделать! Ну так я же предлагаю разные варианты, которые понятное дело могут иметь свои минусы, которые сам и описываю... Пожалуйста, хотите что бы при обрыве данные об изменениях не терялись - пишите не в сессию, а во временную таблицу :) Это не суть важно... об обрыве соединения как таковом не задумывался, так как обойти несложно.... Однако, по Вашим словам есть какой-то механизм, который позволяет избавиться от всех возможных минусов (такой себе идеал), однако Вы его не рассказываете... Что же мы тогда обсуждаем... То есть сейчас ощущение, что Вы не помочь стараетесь, а просто бракуете то, что я предлагаю, вместо того, что бы потритить 10 минут и написать сюда метод решения, который я и сам возможно признаю лучше своих и буду пользовать в будущем... Но пока ничего не написали, лучшие варианты решения вопроса остаются мои (пока они единственные, так что в любом случае лучшие ) Сергей Лалов, учитывая что Вы решили использовать готовые фреймворки для решения задачи, вопрос снимается? )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 08:43 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
ПрограмёрПожалуйста, хотите что бы при обрыве данные об изменениях не терялись - пишите не в сессию, а во временную таблицу :) Это не суть важно... об обрыве соединения как таковом не задумывался, так как обойти несложно.... обрыв соединения с БД в бэкенде, во временную не записалось =) блин, для веба сходу можно придумать минимум 3 варианта, как не допустить коллизий. разной степени замороченности, но так или иначе решающих проблему. просто интересно а по поводу сервер сам пнет, если надо будет, то пнет клиента в ответ на его запрос =) каким образом, сам думай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 14:17 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
Програмёр мне просто интересно было посмотреть - делал ли ты в реальной жизни нечто подобное - исходя из того, что для тебя это "часик подумать"... оказалось - НЕТ!!! ничего подобного ты не делал, тк. придумываешь на ходу и думаешь уже не один час! авторкоторый позволяет избавиться от всех возможных минусов от всех возможных минусов избавиться помогает один способ - не притрагиваться к клавиатуре... ;) 1. на клиента тянется минимальное кол-во строк 2. эдит строки с нового запроса 3. _revisions Karbafos вот ты и подумай!!! http://en.wikipedia.org/wiki/Push_technology ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 14:46 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересно Програмёр мне просто интересно было посмотреть - делал ли ты в реальной жизни нечто подобное - исходя из того, что для тебя это "часик подумать"... оказалось - НЕТ!!! ничего подобного ты не делал, тк. придумываешь на ходу и думаешь уже не один час! авторкоторый позволяет избавиться от всех возможных минусов от всех возможных минусов избавиться помогает один способ - не притрагиваться к клавиатуре... ;) 1. на клиента тянется минимальное кол-во строк 2. эдит строки с нового запроса 3. _revisions Karbafos вот ты и подумай!!! http://en.wikipedia.org/wiki/Push_technology Ой, ладно не делал... Делал... revisions не использовал (сорри, читать лень :) там много, дак ещё и по-английски, приходится напрягаться)... По поводу push технологии - делал. Захватывал соединение сервером, так делал на сайте, который сейчас разрабатываю. Использовал в модуле работы с письмами... То есть, мне нужен был моментальный отклик с сервера о том, что кто-то отправил письмо, что бы 2 оператора не отправили одному и тому же человеку письма с одинаковым содержанием :)... Но, как я говорил, это неправильная структура работы. Потом мы доработали на сайте систему очереди обработки заказов и от захвата соединения сервером отказались (как ни как, а держать 20-30 открытых постоянно соединений - это не круть). Ведь теперь у нас работа операторов не пересекается... То есть, если один оператор работает с заказом, то другому этот заказ не покажится как приоритетный... А значит другой оператор не возьмёт заказ на обработку. Насчёт думаю больше часа ))... Не думаю... Я на каждое письмо отвечаю сразу после прочтения, без раздумий... Вы мне указываете на проблему - я сразу пишу ответ как её избежать... Так что в общей сложности я думал минут наверное.... 10 :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 15:57 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
KarbafosПрограмёрПожалуйста, хотите что бы при обрыве данные об изменениях не терялись - пишите не в сессию, а во временную таблицу :) Это не суть важно... об обрыве соединения как таковом не задумывался, так как обойти несложно.... обрыв соединения с БД в бэкенде, во временную не записалось =) блин, для веба сходу можно придумать минимум 3 варианта, как не допустить коллизий. разной степени замороченности, но так или иначе решающих проблему. просто интересно а по поводу сервер сам пнет, если надо будет, то пнет клиента в ответ на его запрос =) каким образом, сам думай. Обрыв соединения во время работы с БД... данные не сохранились... какая разница? ))) То есть, Вам будет легче, если они не сохранятся в основную таблицу, чем если они же не сохранятся во временную? Не понимаю фишки )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 16:00 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
автор(как ни как, а держать 20-30 открытых постоянно соединений - это не круть) а прыгать в гриде по 100к ячеек, вызывая при этом запрос сервера на версионность ячейки в текущий момент и, при нажатии ЭНТЕР посылать запрос на обновление данных - это круть!!! авторОбрыв соединения во время работы с БД... данные не сохранились... какая разница? ))) То есть, Вам будет легче, если они не сохранятся в основную таблицу, чем если они же не сохранятся во временную? Не понимаю фишки )) фишка в обновлении одной единственной строки (которая не обновилась при разрыве)! и обновлении большой таблицы данных, над исправлениями в которой ты потратил 3 часа!!! ты как из ДС - кнопочка "обновить"!!! вроде что-то делал, а элементарных вещей незнаешь или "не задумывался" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 16:48 |
|
||
|
небольшой вопрос по краткости-сестре таланта)
|
|||
|---|---|---|---|
|
#18+
просто интересноавтор(как ни как, а держать 20-30 открытых постоянно соединений - это не круть) а прыгать в гриде по 100к ячеек, вызывая при этом запрос сервера на версионность ячейки в текущий момент и, при нажатии ЭНТЕР посылать запрос на обновление данных - это круть!!! авторОбрыв соединения во время работы с БД... данные не сохранились... какая разница? ))) То есть, Вам будет легче, если они не сохранятся в основную таблицу, чем если они же не сохранятся во временную? Не понимаю фишки )) фишка в обновлении одной единственной строки (которая не обновилась при разрыве)! и обновлении большой таблицы данных, над исправлениями в которой ты потратил 3 часа!!! ты как из ДС - кнопочка "обновить"!!! вроде что-то делал, а элементарных вещей незнаешь или "не задумывался" 1. Я не говорил, что при переходе между ячейками надо запрашивать версионность... А если даже и нужно было, удерживание соединения сервером - это то же самое... Сервер может ответить только единожды, после чего соединение закрывается (как помним в целях безопасности мы не можем создавать keep-alive соединения). Потому перезапрос будет происходить даже при push запросах. 2. На то и делаются транзакции )) При обрыве соединения мы получим ошибку, а изменения применены не будут никакие, после возобновления связи мы делаем перезапрос на запись и вносим все изменения одним разом.... Намного хуже, если мы в базу сохранили 100 полей, а сто первое не сохранилось... Потом оператор, который обрабатывает заказ дальше, не знает, что последняя позиция обновлена не была, и обрабатывает её старое значение... в итоге косяк. Так лучше думаете? 3. За ссылки спасибо, чуть позже почитаю... Уехать надо )) Завтра утром постараюсь прокоментировать то, что вычитаю :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2013, 17:04 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38383008&tid=1463452]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 446ms |

| 0 / 0 |
