Оптимистический или оптимистичный: IIS 7.5 Detailed Error — 404.0

Содержание

Правдивая ложь оптимистичных интерфейсов / Хабр

Недавно опубликованная в Smashing Magazine статья Дениса Мишунова показалась нам очень интересной: она посвящена подходу, о котором многие до сих пор не задумываются, хотя он уже окружает нас в популярнейших сервисах. С разрешения автора и первоисточника мы решили перевести этот материал для хабрасообщества.

Три пользовательских интерфейса заходят в паб. Первый заказывает напиток, затем ещё несколько. Парой часов позже он просит счёт и покидает паб пьяным. Второй заказывает напиток, платит за него сразу же, заказывает ещё один, платит за него, продолжает в том же духе, и через пару часов покидает паб пьяным. А третий заходит в паб уже пьяным — он знает, как работают пабы, и достаточно эффективен, чтобы не терять время. Слышали об этом третьем? Его называют «оптимистичным UI».

Оптимистичный подход к UI не в том, чтобы смотреть на веб через розовые очки — по крайней мере, не только в этом.

В последнее время, обсуждая психологическую оптимизацию производительности на целом ряде конференций, посвящённых как фронтенду, так и UX, я заметил, как мало внимания в сообществе уделено теме оптимистичных интерфейсов. Даже сам термин «оптимистичный UI» не слишком хорошо определён. В этой статье мы разберёмся, на каких концепциях он основан, и посмотрим на примеры, а также разберёмся с его психологическим обоснованием.

Но прежде чем мы начнём, надо признать: «оптимистичным UI» нельзя назвать что-то конкретное. Скорее, это ментальная модель, стоящая за внедрением интерфейса. У оптимистичного UI есть своя история и своё логичное обоснование.

Однажды давным-давно

Когда-то давно — когда слово «tweet» применяли в основном к птицам, Apple была на грани банкротства, а люди помещали на свои визитки номера факсов — веб-интерфейсы были довольно аскетичными. И подавляющее большинство из них было лишено даже намёка на оптимизм. Взаимодействие с кнопкой, например, могло следовать по такому сценарию:

  1. Пользователь нажимает на кнопку.
  2. Кнопка меняет состояние на деактивированное.
  3. Запрос отправляется на сервер.
  4. Ответ от сервера направляется обратно на страницу.
  5. Страница перезагружается для отображения результатов ответа.

В 2016-м это может показаться очень неэффективным, но, как ни удивительно, тот же сценарий по-прежнему используется большим количеством веб-страниц и приложений, являясь неотъемлемым элементом взаимодействия для многих продуктов. Причина в том, что этот тип взаимодействия предсказуем и более-менее защищён от ошибок: пользователь знает, что действие было запрошено от сервера (деактивированное состояние кнопки намекает на это), и когда сервер отвечает, обновлённая страница явно свидетельствует об окончании взаимодействия «клиент-сервер-клиент». Проблемы с этим типом взаимодействия довольно очевидны:

  • Пользователь должен ждать. А мы уже знаем, что даже небольшая задержка во времени ответа негативно отражается на восприятии пользователем всего бренда, а не только конкретной страницы.
  • Каждый раз, когда пользователь получает ответ на свои действия, это происходит довольно деструктивно (загружается новая страница вместо обновления уже существующей), что изменяет контекст пользовательской задачи и может сбить с мысли. Пусть речь в этом случае не обязательно идёт о многозадачности, любое переключение мыслительного контекста неприятно. Так что, если только само действие не подразумевает неизбежную смену контекста (онлайн-платежи — хороший пример такой смены), переключение задаст негативный тон общению пользователя с системой.

Не-такие-уж-старые добрые времена

Затем появился так называемый Web 2.0, предоставив новые способы взаимодействия с веб-страницами. Их основой стали XMLHttpRequest и AJAX. Эти новые способы дополнились «спиннерами»: простейшей формой индикации прогресса, единственная задача которой — донести до пользователя, что система работает над какой-то операцией. Теперь нам не надо было перезагружать страницу после получения ответа от сервера, мы могли просто обновить часть уже отрендеренной страницы. Благодаря этому веб стал динамичнее, а пользовательское взаимодействие стало происходить более гладко. Типичное взаимодействие с кнопкой теперь могло выглядеть так:

  1. Пользователь нажимает на кнопку.
  2. Кнопка переключается в неактивный режим, и появляется какой-либо спиннер, чтобы показать, что система работает.
  3. Запрос отправляется на сервер.
  4. Ответ от сервера отправляется обратно на страницу.
  5. Визуальное состояние кнопки и страницы обновляются в соответствии со статусом ответа.

Эта новая модель взаимодействия справляется с одной из обозначенных выше проблем предыдущего метода: обновление страницы больше не сопровождается переключением с одного действия на другое, сохраняя для пользователя контекст и вовлекая его в процесс гораздо лучше, чем раньше.

Такой шаблон взаимодействия распространён повсеместно. Однако, одна проблема остаётся: пользователям по-прежнему нужно дожидаться ответа от сервера. Да, мы можем заставлять наши сервера работать быстрее, но как бы мы ни старались ускорить инфраструктуру, пользователям по-прежнему нужно ждать. А они этого, мягко говоря, не любят. Например, исследование показывает, что 78% потребителей ощущают негативные эмоции из-за медленных или ненадёжных сайтов. Более того, согласно опросу Harris Interactive для Tealeaf, 23% пользователей признаются, что проклинают свои мобильные устройства, 11% кричат на них, а целых 4% буквально швыряют их, столкнувшись с проблемами при совершении онлайн-транзакции. Временные задержки входят в число таких проблем.

Сегодня, даже когда во время ожидания вы показываете какой-то индикатор прогресса, если только вы не подошли к его созданию крайне оригинально, этого может быть попросту недостаточно. В целом люди привыкли к тому, что спиннеры свидетельствуют о медлительности системы. Они стали ассоциироваться с пассивным ожиданием, когда у пользователя нет другого выбора, кроме как ждать ответа сервера или полностью закрыть вкладку/приложение. Так что давайте попробуем еще улучшить это взаимодействие и посмотрим на концепцию оптимистичного UI.

Оптимистичный UI

Как уже было сказано, оптимистичный UI — не более чем способ обработки взаимодействия пользователя с интерфейсом. Чтобы понять его главные идеи, мы продолжим говорить о сценарии «пользователь нажимает на кнопку». Но принцип останется тем же для практически любого взаимодействия, которое вы захотите сделать “оптимистичным”. Как сообщает нам Oxford English Dictionary:

op-ti-mis-tic, adj. hopeful and confident about the future.

оптимистичный — полный надежд и уверенный в будущем

Давайте начнём с части про «уверенность в будущем».

Как вы думаете, как часто ли ваш сервер выдаёт ошибку в ответ на действие пользователя? Например, часто ли ваш API делает это при нажатии на кнопку? Или при клике по ссылку? Честно говоря, не думаю. Разумеется, это зависит от конкретного API, нагрузки на сервер, уровня обработки ошибок и других факторов, в которые вы как фронтенд-разработчик или UX-специалист можете совершенно не хотеть вникать. Но пока API стабильный и предсказуемый, а фронтенд корректно передаёт возможные действия с интерфейсом, количество ошибок в ответ на действия пользователя будет довольно низким. Я бы даже предположил, что оно не будет превышать 1-3%. Это значит, что в 97-99% случаев, когда пользователь нажимает кнопку на сайте, сервер ответит успешно и без ошибки. Это стоит проиллюстрировать:

Задумайтесь на секунду: если мы на 97-99% уверены в успехе определённого ответа, то мы можем быть уверены и в будущем — ну, по крайней мере, в куда большей степени, чем кот Шрёдингера был уверен в своём. Следовательно, мы можем изменить весь сценарий взаимодействия с кнопкой на следующий:

  1. Пользователь нажимает на кнопку.
  2. Визуальное отображение кнопки немедленно меняется на «успешное».

И всё! По крайней мере, с точки зрения пользователя, больше тут ничего нет — ни ожидания, ни необходимости наблюдать неактивную кнопку, ни ещё одного раздражающего спиннера. Взаимодействие пользователя с системой происходит гораздо более гладко, без напоминания системы о себе.

С точки зрения разработчика, полный цикл выглядит следующим образом:

  1. Пользователь нажимает на кнопку.
  2. Визуальное состояние кнопки немедленно меняется на успешное.
  3. Запрос отправляется на сервер.
  4. Ответ сервера отправляется обратно на страницу.
  5. В 97-99% случаев мы уже знаем, что он успешный, так что не требуется отвлекать пользователя.
  6. Только в случае ошибки система даёт о себе знать. Не волнуйтесь об этом сейчас — до ошибок мы ещё дойдём.

Давайте посмотрим на примеры такого оптимистичного взаимодействия. Вам, вероятно, знакомы кнопки «like» вроде тех, что есть в Facebook и Twitter.

Всё начинается, разумеется, с нажатия на кнопку. Но обратите внимание на её визуальное состояние после этого. Оно моментально отображается как успешное!

Давайте посмотрим, что в этот момент происходит на вкладке «Network» в Developer Tools нашего браузера.

Вкладка показывает, что запрос к серверу был отправлен, но всё ещё находится в процессе обработки. Счётчик «лайков» ещё не был увеличен, а сменой цвета интерфейс уже явно сообщает пользователю об успехе, ещё до получения ответа от сервера.

После успешного отклика счётчик обновляется, но этот переход куда менее заметный, чем немедленная смена цвета. В результате для пользователя всё проходит гораздо более гладко: никто не вмешивался, ничего не пришлось ждать.

Другой пример оптимистичного взаимодействия — Facebook с его кнопкой «like». Это довольно схожий с предыдущим сценарий, за исключением того, что Facebook обновляет счётчик сразу же, вместе со сменой цвета кнопки, не дожидаясь ответа сервера.

Кое-что тут следует отметить. Если мы посмотрим на время ответа сервера, обнаружим, что оно чуть больше 1 секунды. Это достаточно долго, учитывая, что модель RAIL рекомендует 100 миллисекунд в качестве оптимального времени отклика на простой запрос пользователя. Однако пользователь в этом случае не ощущает никакого времени ожидания из-за оптимистичной природы взаимодействия. Это ещё один пример психологической оптимизации производительности.

Но давайте признаем: по-прежнему остаётся вероятность в 1-3%, что сервер выдаст ошибку. Или пользователь попросту в офлайне. Или, что ещё вероятнее, сервер выдаст ответ, который технически является успешным, но содержит информацию, которую надо дополнительно обработать на клиенте. В результате пользователь не получит индикации ошибки, но мы не можем считать это и успехом. Чтобы понять, что делать в таких случаях, нам прежде всего нужно рассмотреть, какие психологические принципы лежат в основе оптимистичных UI.

Психология, стоящая за оптимистичным UI

Я пока ни разу не слышал, чтобы кто-нибудь жаловался на вышеупомянутые оптимистичные взаимодействия в популярных соцсетях. Поэтому предположим, что оптимистичные UI работают. Но почему они работают с точки зрения пользователей? Просто потому что люди ненавидят ждать. Вот и всё! Можно переходить к следующей части статьи.

Но если вы всё ещё читаете, вероятно, вы хотите узнать, почему все-таки это так. Давайте рассмотрим чуть глубже психологическое обоснование этого подхода.

Оптимистичный UI состоит из двух базовых компонентов, заслуживающих нашего внимания:

  • Быстрый отклик на действия пользователя.
  • Обработка потенциальных ошибок сервера, сети и так далее.

Быстрый отклик на действия пользователя

Говоря об оптимистичном подходе к UI, мы подразумеваем оптимальное время отклика во взаимодействии пользователя с системой. И рекомендации для такого взаимодействия существуют ещё с далёкого 1968-го. Тогда Роберт Миллер опубликовал свою фундаментальную работу

«Response Time in Man-Computer Conversational Transactions»

(PDF), где выделил целых 17 различных типов отклика, которые пользователь может получить от компьютера. Один из них Миллер назвал «ответом на активацию контроля» — задержку между нажатием клавиши и визуальным откликом. Ещё тогда, в 1968-м, оно не должно было превышать 0.1-0.2 секунды. Да,

модель RAIL

не первой это предложила — совету уже около 50 лет. Миллер отмечает, однако, что даже эта небольшая временная задержка может быть слишком медленной для опытных пользователей. Это означает, что в идеале пользователь должен получать подтверждение своего действия в течение

100 миллисекунд

. Это близко к одному из самых быстрых бессознательных действий, которое способно совершить человеческое тело: к морганию. По этой причине 100-миллисекундный интервал обычно воспринимается как моментальный. «Большинство людей моргает около 15 раз в минуту, и каждое моргание длится в среднем 100-150 миллисекунд»,

говорит Дейвина Бристоу

из Института неврологии в Университетском колледже Лондона, добавляя, что это «означает, что в целом мы тратим не меньше 9 дней в год на моргание».

Из-за моментального визуального отклика (происходящего до того, как получен ответ), оптимистичный UI — один из примеров техник раннего завершения, используемых в психологической оптимизации производительности. Но тот факт, что люди любят интерфейсы, отвечающие в мгновение ока, не должен удивить большинство из нас. И его не так уж сложно достичь. Даже раньше мы деактивировали кнопки моментально после нажатия на них, и этого обычно было достаточно, чтобы продемонстрировать «система знает о действии пользователя». Но неактивный элемент интерфейса означает пассивное ожидание: пользователь ничего не может с ним сделать и не контролирует процесс. А это очень раздражает пользователя. Вот почему в оптимистичном UI мы пропускаем всю «неактивную» стадию целиком — мы сообщаем о положительном результате вместо того, чтобы заставлять пользователя ждать.

Обработка потенциальных ошибок

Давайте перейдём ко второму интересному психологическому аспекту оптимистического UI — обработке потенциальных ошибок. Существует большое количество информации и статей о том, как лучше всего обрабатывать ошибки в интерфейсах. И хотя позже в статье мы рассмотрим и это, главное в оптимистичном UI — не то, как мы обрабатываем ошибки, а то, когда мы это делаем.

Дело в том, что людям свойственно разбивать свою деятельность на подзадачи, зачастую называемые «train of thought», «flow of thought» (PDF) или просто «flow». Это состояние «потока» характеризуется пиком удовольствия, энергетического фокуса и максимальной концентрации. Пользователь в «потоке» полностью погружён в свою деятельность. Твит Тэмми Эвертс хорошо иллюстрирует это:

В сети продолжительность таких периодов активности обычно гораздо короче. Давайте вернёмся к работе Роберта Миллера. В типах ответов, которые он перечисляет, есть такие:

  • Ответ списком информации на простой запрос
  • Ответ в графической форме на сложный запрос
  • Ответ на «Система, ты меня понимаешь?»

Все их он увязывает с одним и тем же 2-секундным интервалом, в течение которого пользователь должен получить соответствующий тип ответа. Не забираясь глубже, отметим, что этот интервал также зависит от

рабочей памяти

человека (промежуток времени, в течение которого человек может удерживать определённое количество информации в голове и, что важнее, производить действия с этой информацией). Для нас, разработчиков и UX-специалистов, это означает, что в течение 2 секунд после взаимодействия с элементом интерфейса пользователь будет в «потоке» и сосредоточен на ответе, которого ожидает. Если сервер выдаёт ошибку в течение этого промежутка времени, пользователь, можно сказать, всё ещё будет в «диалоге» с интерфейсом. Это похоже на диалог между двумя людьми, в котором вы говорите что-то, а другой человек мягко возражает вам. Представьте, если бы собеседник долгое время кивал в знак согласия (эквивалент успешного ответа в UI), а затем в итоге сказал «нет». Было бы странно, правда? Так что оптимистичный UI должен сообщать об ошибке пользователю в течение 2 секунд «потока».

Вооруженные психологическими знаниями об обработке ошибок в оптимистичном UI, давайте наконец доберёмся до этих 1-3% отказов.

Пессимистическая сторона оптимистичного подхода к UI

Самое распространённое заявление об оптимистичном UI, которое я слышал, заключается в том, что это антипаттерн — если угодно, обман пользователей. Вероятно, если подходить к вопросу сугубо формально, то так оно и есть. Тем не менее, я считаю это техникой предсказания или выражения надежды. (Помните определение слова «оптимистичный»? Вот мы и добрались до «полный надежд» в нём.) Разница между «обманом» и «выражением надежды» в том, как вы обходитесь с этими 1-3% ответов с ошибкой. Давайте посмотрим на то, как оптимистичная кнопка «like» у Twitter ведёт себя в офлайне.

Сначала, в соответствии с оптимистичным UI-паттерном, кнопка переключается на состояние успеха сразу после нажатия — опять же, без ожидания, в точности как если бы пользователь находился в онлайне.

Но поскольку пользователь в офлайне, запрос завершается неудачей.

Поэтому информация об ошибке должна быть донесена до пользователя настолько быстро, насколько возможно. Опять же, обычно для этого у нас не больше 2 секунд, пока пользователь находится в «потоке». Twitter сообщает об этом самым ненавязчивым способом из возможных — просто возвращая кнопку в первоначальное состояние.

Сознательный читатель тут может сказать, что при обработке ошибок можно зайти дальше, прямо уведомляя пользователя о том, что его запрос не мог быть отправлен или случилась ошибка. Это бы сделало систему максимально прозрачной. Но тут есть уловка — или, скорее, ряд сложностей:

  • Любое уведомление, неожиданно показанное на экране, меняет контекст задач пользователя, заставляя его анализировать причину отказа, скорее всего представленную в сообщении об ошибке.
  • Как и любое другое сообщение об ошибке или уведомление, это сообщение должно направлять пользователя в новом контексте, предоставляя ему информацию, на основании которой можно совершать действия.
  • Такая информация, в свою очередь, задаёт ещё один контекст.

Тут мы уже все можем согласиться, что ситуация становится слишком сложной. Несмотря на то, что такая обработка ошибок была бы уместной, например, для большой формы на сайте, для такого простого действия, как нажатие лайка, это слишком — как в отношении необходимой технической разработки, так и в отношении рабочей памяти пользователей.

Так что, да, в оптимистичном UI мы должны быть «прозрачны» в отношении ошибок и должны сообщать о них как можно скорее, чтобы наш оптимизм не превращался в обман. Но наши действия в таком случае должны соответствовать контексту. Для неудавшегося лайка простого возвращения кнопки в исходное состояние, скорее всего, будет достаточно — ну, конечно, кроме случая, когда вы лайкаете статус своей второй половины, тогда системе лучше бы работать всегда.

Экстремальный пессимизм

Может возникнуть такой вопрос: что произойдёт, если пользователь закроет вкладку браузера уже после отображения успеха, но до того, как запрос вернётся с сервера? Самым неприятным случаем было бы, если бы он закрыл её даже до того, как запрос отправился на сервер. Но если только пользователь не чрезвычайно ловкий или обладает способностью замедлять время, это вряд ли возможно.

Если оптимистичный UI используется правильно, и этот тип взаимодействия применяется только к тем элементам, которые никогда не ждут ответа сервера дольше 2 секунд, тогда пользователю потребовалось бы успеть закрыть вкладку в течение этих 2 секунд. Это не слишком сложно сделать нажатием клавиш; однако, как мы знаем, в 97-99% этих случаев запрос был бы успешным вне зависимости от того, открыта ли вкладка (ответ просто не был бы возвращён клиенту).

Так что проблема может возникнуть только для тех 1-3%, которые получили ошибку сервера. Как много людей спешат закрыть вкладку за 2 секунды? Если только они не участвуют в конкурсе по закрыванию вкладок на скорость, вряд ли их число будет значительным. Но если вы считаете, что это в вашем конкретном случае это может иметь значение и привести к негативным последствиям, тогда используйте инструменты для анализа пользовательского поведения; если вероятность такого сценария достаточно высока, то ограничьте оптимистичное взаимодействие исключительно не-критическими элементами.

Я намеренно не стал упоминать случаи, в которых ответ сервера искусственно задержан — это обычно не входит в область интересов оптимистичного UI. Теперь, когда мы потратили более чем достаточно времени на пессимистическую сторону вещей, давайте подведём небольшой итог, касающийся правильного использования оптимистичного UI.

Практические правила

Я искренне надеюсь, что эта статья помогла вам понять некоторые главные принципы, на которых основан оптимистичный подход к UI. Возможно, вам захочется попробовать его в своём следующем проекте. В таком случае, вот некоторые вещи, на которые стоит обратить внимание перед началом:

  • Прежде всего убедитесь, что ваш API надёжен и возвращает предсказуемые результаты. Это чрезвычайно важно.
  • Интерфейс должен находить потенциальные ошибки и проблемы до того, как запрос отправится на сервер. Ещё лучше — полностью избавиться от чего-либо, что может привести к ошибке с API. Золотое правило: чем проще UI-элемент, тем проще будет сделать его оптимистичным.
  • Применяйте оптимистичные паттерны только к простым «бинарным» элементам, от которых не ожидается ничего, кроме ответа об успехе или неудаче. Скажем, если кнопка предполагает варианты ответа сервера «да», «нет» и «может быть» (каждый из которых может означать успех в некоторой степени), то такую кнопку лучше оставить без оптимистичного паттерна.
  • Знайте время ответа своего API. Это критично. Если вы знаете, что для какого-то конкретного запроса время ответа никогда не оказывается ниже 2 секунд, то для начала займитесь работой над API. Как мы уже выяснили, оптимистичный UI работает лучше всего для времени ответа менее 2 секунд. Выход за эти пределы может привести к неожиданным результатам и большому количеству недовольных пользователей. Я предупредил.
  • Оптимистический UI — это не только про нажатия на кнопки. Этот подход может быть применён к различным событиям в жизненном цикле страницы, включая её загрузку. Например,skeleton screens следуют тому же принципу: вы надеетесь, что сервер ответит успешно, и заполнит плейсхолдеры, показываемые пользователю как можно раньше.

Как мы увидели, оптимистичный подход к UI не является ни каким-то новшеством, ни продвинутой техникой. Это просто ещё один способ, помогающий вам управлять восприятием производительности своего продукта. Базируясь на психологических аспектах, оптимистичный UI, при правильном применении, может помочь в создании позитивного и более сглаженного взаимодействия пользователя с вашей системой, требуя от вас при этом минимальных ресурсов. Но чтобы добиться от этой техники максимальной эффективности и не обманывать пользователей, нам необходимо понимать принципы ее работы.

Ссылки


  • “Response Time in Man-Computer Conversational Transactions” (PDF), Robert B. Miller, Fall Joint Computer Conference, 1968
  • “Introducing RAIL: A User-Centric Model for Performance”, Paul Irish, Paul Lewis, Smashing Magazine, 2015
  • “Mobile Web Stress: The Impact of Network Speed on Emotional Engagement and Brand Perception,” Tammy Everts, Radware Blog, 2013
  • Applications of Flow in Human Development and Education, Mihaly Csikszentmihalyi, 2014
  • “Mobile Design Details: Avoid the Spinner,” Luke Wroblewski, 2013
  • “Why Performance Matters, Part 2: Perception Management,” Denys Mishunov, Smashing Magazine, 2015

Автор этой статьи (и её иллюстраций!) Денис Мишунов 11 декабря выступит в Москве на конференции HolyJS с кейноутом о том, как «запускать дебаггер» для себя самого. Летом на петербургской HolyJS он рассказывал о психологическом восприятии производительности, и тогда его выступление попало в топ-3 наиболее понравившихся зрителям — так что и в этот раз стоит ожидать, что будет интересно.

Оптимистичный — понятие и значение


Рассмотрим что означает понятие и значение слова оптимистичный .

Оптимистичный это — 1. При лицо То же, что: оптимистический.

Оптимистичный это — Проникнутый оптимизмом. Оптимистично (наречие) смотреть на жизнь.

-ая, -ое; -чен, -чна, -чно.

То же, что оптимистический.

Все три рассказа {А. П. Чехова} — удивительно оптимистичны. Луначарский, Журнальные заметки.


Часть речи


Имя прилагательное (полное)

Словоформы


оптимистичного, оптимистичному, оптимистичным, оптимистичном, оптимистичная, оптимистичной, оптимистичную, оптимистичною, оптимистичное, оптимистичные, оптимистичных, оптимистичными

Синонимы wiki


весело, веселый, бодро, жизнерадостно, оптимистически, неунывающе, мажорно, жизнелюбивый, бодряческий, мажорный, оптимистический, жизнерадостный, жизнеутверждающий, неунывающий, бодрый, жовиальный, проникнутый оптимизмом, сверхоптимистичный

См. также

… первый взгляд , человеческие отношения — способ общения с другими людьми Если вы настроены оптимистично и ждете радостных встреч , окружающим передается ваш положительный настрой , позитивный взгляд … (Психология семейных отношений)

… различные цвета на поведение онлайн покупателей (исследование проводилось в в Северной Америке ): Желтый : Оптимистичный и молодежный Обычно используется для привлечения внимания к витрине Красный : Цвет энергии Усиливает … (Интернет маркетинг , SEO, SMO, монетизация , )

… Lock (Грубая блокировка ) Implicit Lock (Скрытая блокировка ) Optimistic Offline Lock (Оптимистичная блокировка ) Паттерн проектирования Optimistic Offline Lock Описание Optimistic Offline Lock … (Проектирование веб сайта или программного обеспечения)

… себя спокойно , непринужденно Обязательно смотрите собеседнику в глаза , отвечайте на вопросы уверенно , оптимистично Отвечая на вопросы , не уклоняйтесь от темы Остерегайтесь двусмысленных толкований вашей точки … (Риторика)

… бога , расскажи ему о своих планах Скорее всего , месяц срок излишне оптимистичный , но мы будем стараться Спасибо всем тем, кто поддержал статьи «плюсами »; Я понимаю … (Логика мышления)

… »; расписания В программостроении уже стало банальностью то, что разработчики без достаточного основания называют слишком оптимистичные сроки среди руководителей даже распространено неписаное правило : умножать на 2 оценку … … в 50-100 раз мне пришлось наблюдать проект , который вместо первоначально слишком оптимистично запланированных шести месяцев растянулся на три года хотя , если бы он был адекватно оценен … (Управление разработкой программных IT проектов)



Синонимы к слову «Оптимистичный»

живой

актуальный, беспокойный,…

[Подробнее]

смешной

анекдотичный, веселый,…

[Подробнее]

озорной

баловливый, баловной,…

[Подробнее]

беззаботный

бездумный, беззаботливый,…

[Подробнее]

кучерявый

беззаботный, веселый,…

[Подробнее]

бескручинный

беззаботный, веселый,…

[Подробнее]

беспечальный

беззаботный, веселый,…

[Подробнее]

счастливый

безоблачный, благодатный,…

[Подробнее]

радостный

бескручинный,…

[Подробнее]

бодрый

бодренький, бодрехонький,…

[Подробнее]

бравурный

бодрый, бодрящий, веселый,…

[Подробнее]

резвый

бойкий, борзый, быстрый,…

[Подробнее]

оживленный

бойкий, веселый,…

[Подробнее]

веселешенький

веселехонький, веселый

[Подробнее]

веселехонький

веселешенький, веселый

[Подробнее]

веселенький

веселый

[Подробнее]

неунывавший

веселый

[Подробнее]

превеселый

веселый

[Подробнее]

шебутной

веселый

[Подробнее]

игривый

веселый, вольный,…

[Подробнее]

праздничный

веселый, выходной,…

[Подробнее]

смешливый

веселый, дурашливый,…

[Подробнее]

развеселый

веселый, жизнерадостный,…

[Подробнее]

отрадный

веселый, жизнерадостный,…

[Подробнее]

юморной

веселый, жизнерадостный,…

[Подробнее]

забавный

веселый, забавен,…

[Подробнее]

шутливый

веселый, забавный, игривый,…

[Подробнее]

шуточный

веселый, забавный,…

[Подробнее]

нескучный

веселый, интересный,…

[Подробнее]

радужный

веселый, иридирующий,…

[Подробнее]

ликующий

веселый, лучезарный,…

[Подробнее]

улыбчивый

веселый, усмешливый

[Подробнее]

полнокровный

деятельный,…

[Подробнее]

жовиальный

жизнерадостный

[Подробнее]

Значение слова «Оптимистичный» в 10 онлайн словарях Даль, Ожегов, Ефремова и др.

Морфологические и синтаксические свойстваПравить

падежед. ч.мн. ч.
муж. р.ср. р.жен. р.
Им.оптимисти́чныйоптимисти́чноеоптимисти́чнаяоптимисти́чные
Рд.оптимисти́чногооптимисти́чногооптимисти́чнойоптимисти́чных
Дт.оптимисти́чномуоптимисти́чномуоптимисти́чнойоптимисти́чным
Вн.   одуш.оптимисти́чногооптимисти́чноеоптимисти́чнуюоптимисти́чных
неод.оптимисти́чныйоптимисти́чные
Тв.оптимисти́чнымоптимисти́чнымоптимисти́чной оптимисти́чноюоптимисти́чными
Пр.оптимисти́чномоптимисти́чномоптимисти́чнойоптимисти́чных
Кратк. формаоптимисти́ченоптимисти́чнооптимисти́чнаоптимисти́чны

оп—ти—мис—ти́ч—ный

Прилагательное, тип склонения по классификации А. Зализняка — 1*a.

Корень: -оптим-; суффиксы: -ист-ичн; окончание: -ый[Тихонов, 1996].

ПроизношениеПравить

БиблиографияПравить

Для улучшения этой статьи желательно:
  • Добавить пример словоупотребления для значения с помощью {{пример}}
  • Добавить гиперонимы в секцию «Семантические свойства»
ТолкованиеПереводОПТИМИСТИЧНЫЙОПТИМИСТИЧНЫЙОПТИМИСТИ́ЧНЫЙ, -ая, -ое; -чен, -чна. Проникнутый оптимизмом. Оптимистично (нареч.) смотреть на жизнь.|сущ.оптимистичность, -и, жен.

Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова.1949-1992.

Синонимы: Антонимы:

Смотреть что такое «ОПТИМИСТИЧНЫЙ» в других словарях:

  • оптимистичный — см. жизнерадостный Словарь синонимов русского языка. Практический справочник. М.: Русский язык. З. Е. Александрова. 2011. оптимистичный прил., кол во синонимов: 11 …   Словарь синонимов

  • оптимистичный — ая, ое. optimiste. То же, что оптимистический. БАС 1. Лекс. БАС 1: оптимисти/чный …   Исторический словарь галлицизмов русского языка

  • Оптимистичный — прил. 1. соотн. с сущ. оптимизм, оптимист, связанный с ними; оптимистический 1.. 2. Свойственный оптимизму, характерный для него; оптимистический 2.. 3. Проникнутый оптимизмом; оптимистический 3.. Толковый словарь Ефремовой. Т. Ф. Ефремова …   Современный толковый словарь русского языка Ефремовой

  • оптимистичный — оптимистичный, оптимистичная, оптимистичное, оптимистичные, оптимистичного, оптимистичной, оптимистичного, оптимистичных, оптимистичному, оптимистичной, оптимистичному, оптимистичным, оптимистичный, оптимистичную, оптимистичное, оптимистичные,… …   Формы слов

  • оптимистичный — пессимистичный …   Словарь антонимов

  • оптимистичный — оптимист ичный; кратк. форма чен, чна …   Русский орфографический словарь

  • оптимистичный — кр.ф. оптимисти/чен, оптимисти/чна, чно, чны; оптимисти/чнее …   Орфографический словарь русского языка

  • оптимистичный — ая, ое; чен, чна, чно; = Оптимистический. О. вывод. О. конец книги. О ые планы на будущее. ◁ Оптимистично, нареч. О. смотреть на жизнь. О. оценивать события. Оптимистичность, и; ж. О. натуры …   Энциклопедический словарь

  • оптимистичный — оптимизм …   Словарь-тезаурус синонимов русской речи

  • оптимистичный — ая, ое; чен, чна, чно см. тж. оптимистично, оптимистичность = оптимистический Оптимисти/чный вывод. Оптимисти/чный конец книги …   Словарь многих выражений

Книги

  • Далекая Радуга (аудиокнига MP3), Аркадий и Борис Стругацкие. «Далекая Радуга» — это повесть, по существу завершившая целый этап в творчестве авторов, большой цикл о мире Полдня — солнечный, радостный, в чем-то наивно-оптимистичный. Здесь еще звенит… Подробнее  Купить за 222 рубаудиокнига
  • Тени в раю, Ремарк Эрих Мария. Они вошли в американский рай как тени. Люди, обожженные огнем Второй мировой. Беглецы со всех концов Европы, утратившие прошлое. Невротичная красавица манекенщица ициничный, крепко пьющий… Подробнее  Купить за 209 руб
  • Тени в раю, Эрих Мария Ремарк. Они вошли в американский рай, как тени. Люди, обожженные огнем Второй мировой. Беглецы со всех концов Европы, утратившие прошлое. Невротичная красавица манекенщицаи циничный, крепко пьющий… Подробнее  Купить за 189 рубэлектронная книга
Другие книги по запросу «ОПТИМИСТИЧНЫЙ» >>
  • Главная
  • Все словари
  • Значение слова «Оптимистичный»

В словаре Ожегова

ОПТИМИСТИЧНЫЙ, -ая, -ое; -чен, -чна. Проникнутый оптимизмом. Оптимистично (нареч.) смотреть на жизнь. || сущ оп-тимистичность, -и, ж.

В словаре Ефремовой

Ударение: оптимисти́чный прил.

  1. То же, что: оптимистический.

В словаре Синонимы 4

веселый, жизнелюбивый, жизнерадостный, жизнеутверждающий, мажорный, неунывающий, оптимистический

В словаре Полная акцентуированная парадигма по А. А. Зализня

Ловили Вы себя на мысли когда-нибудь, все ли дома у той жизнерадостной особы, которая сидит в дальнем конце Вашего офиса? Или почему Ваш сосед постоянно улыбается Вам, даже в самый хмурый день? Факт — существуют люди, которые всегда находят что-то светлое в самых мрачных обстоятельствах. Все мы живем в одном и том же мире, но внутри этого мира каждый из нас создает свой собственный маленький мир. Наш маленький мир создается из идей и верований. Эти идеи и верования дают нам возможность встретиться с большим миром, в котором мы живем. Некоторые люди создают мир негативности, саморазрушительных идей и самооблагающих ограничений. Другие живут в мире веры, они с оптимизмом смотрят на жизнь и верят буквально в сверхъестественные чудеса. Жизнь полна вызовов, однако их можно истолковывать по-разному. Некоторые смотрят на них, как на препятствия, в то время как другие видят в них безграничные возможности. Нет таких людей на земле, которые бы не встречались с трудными временами и печальным концом, с тем, когда кажется, что все потеряно, нет денег, друзей, нет новых идей, вдохновения, нет надежды или веры, нет сил двигаться дальше. Однако среди этих проблем оптимисты держатся уверенно и выходят из затруднительного положения победителями. Они стойкие, у них есть убеждения, вера, энтузиазм и храбрость. Оптимистичные люди — это те люди, которые предвкушают лучшие обстоятельства в своей жизни, в жизни других и в жизни окружающего их мира. Они выражают мысли победы, мысли о преодолении препятствий, и куда бы они ни шли, они несут залог успеха, победы и силы. Они отказываются верить в неудачу, но знают, что подобно другим могут допускать ошибки. Они обращают свои ошибки в опыт и прокладывают путь к превосходству. Критики и скептики могут прилагать усилия, чтобы разочаровать их, но они принимают только созидательный критицизм и идут вперед по жизни, обращая проблемы в возможности. Сама суть оптимизма как раз и состоит в том, КАК человек относится к отрицательным переживаниям. Когда неприятность случается у пессимиста, он, скорее всего, впадает в состояние безнадежности и растерянности, причитая на каждом шагу: «О! Все пропало, все плохо… и так всегда…». Как посмотрит на ситуацию оптимист? Он решит: «Что ж, не повезло в этот раз, прокол, надо извлечь уроки и в следующий раз поступить по-другому». При таком подходе оптимист ощущает в себе больше силы и веры в будущем управлять обстоятельствами. Скажу иначе. Оптимист управляЕТ обстоятельствами, пессимист управляЕМ обстоятельствами. Хорошо известно, что при оптимистическом настроении и отношении к жизни люди здоровее, дольше живут, лучше и моложе выглядят внешне, более везучие в жизни. Они намного лучше спят, меньше имеют вредных привычек, ведут активный образ жизни и реже впадают в депрессию. Как же стать оптимистом? Вот некоторые рецепты. 1. Постоянно создавайте оптимистический образ о хороших событиях, которые имели место благодаря Вашим усилиям. Не надо ложной скромности. Не говорите: «Мне просто повезло». Вместо этого скажите: «Я потрудился усердно, дело сделано хорошо и я горжусь собой». 2. Принимайте реальность такой, какая она есть. Оптимизм не подразумевает, что жизненные тяготы Вас не касаются. Научитесь оценивать ситуацию объективно. Можете сказать: «Да, мне пришлось трудно» или «Я поступил, как считал нужным». Потом добавьте: «При всех моих стараниях и небольшой доле везения у меня остались неплохие шансы». 3. Обращайте трудности себе на пользу. Некоторым людям удается, несмотря на массу неприятностей, выглядеть оптимистично. В них живет уверенность, которая говорит: «В следующий раз я сумею как можно лучше воспользоваться тем, что у меня есть». Даже, если придется заново поставить цель и отказаться от надежд, которые Вы питали ранее, это стоит того! 4. Научитесь больше доверять своим представлениям о самом себе. Если сослуживец на работе из зависти бросил унизительное: «Ты никудышный менеджер и у тебя никогда не получится справиться с этой задачей!», то Вы, скорее всего, проигнорируете подобные выпады. А как Вы смотрите на самоуничижительные реплики типа: «Какой я никудышный работник. Все у меня валится из рук». Эти реплики, обращенные к собственной персоне, такие же необоснованные, как и предыдущее броское заявление сослуживца. 5. Не давайте места пессимистичным мыслям. Как только Вы их обнаружите, сразу гоните от себя. Не позволяйте им укорениться в Вашем мозгу. Несколько следующих действенных методик помогут Вам бороться с неприятными мыслями. Наденьте себе на запястье резинку и оттягивайте ее всякий раз, когда у Вас появляется негативная мысль. Кому-то более действенным покажется с силой хлопнуть в ладоши и громко заорать: «Стоп! Нет — пессимизму!». 6. Найдите человека, у которого обстоятельства хуже, нежели у Вас. Попробуйте помочь ему. Подлинное чувство удовлетворения, которое сопряжено с самоотдачей, способно облегчить Вашу собственную боль. Как можно больше и чаще проводите время с теми людьми, которые возвышают Вашу веру, с людьми, положительно настроенными к жизни. Верно сказано, что с кем поведешься — от того и наберешься. Нет личного контакта — читайте их истории. Невероятно полезно! А Вы, мой читатель, КАК именно Вы смотрите на мир? Позитивный ли Вы человек при любых обстоятельствах? Статья опубликована в выпуске 3.08.2007 Обновлено 22.07.2020

Толковый словарь дает следующие определения словам «оптимизм» и «пессимизм»:

Оптимизм (от латин. Optimus — «лучший») — склонность во всем в жизни видеть хорошие стороны, верить в успех и в благополучный исход чего-нибудь.

Пессимизм — это мрачный, безрадостный взгляд на жизнь, склонность видеть всё в мрачном свете; унылое настроение.

Какая точка зрения на мир лучше?

Чем опасен излишний оптимизм

Мало кто задумывается, что чрезмерно радужный взгляд на мир может быть еще более опасным и неприятным для самого оптимиста, нежели мрачное восприятие реальности хроническим пессимистом.

Нередко оптимизм идет рука об руку с добротой и нежеланием создавать конфликтные ситуации, спорить, отстаивать свою точку зрения. Это означает, что такой человек, будучи обиженным либо по чужой вине оказавшись в неприятной ситуации, вместо того чтобы требовать компенсации от того, кто виноват, все простит. И, если в быту это повредит только самому оптимисту и его семье («Залили соседи? Зачем же с ними ругаться, за свой счет все восстановим»), то на работе может вылиться в серьезные неприятности для всей организации.

Оптимист, в отличие от пессимиста, может недооценить ситуацию, понадеявшись на хороший исход, и если случится что-то неприятное, растеряется.

Пессимист готов к беде, и потому имеет план на самый плохой вариант развития событий, а вот оптимист оказывается лицом к лицу с несчастьем, о возможности которого даже не думал — ему просто в голову не приходило, что все может быть так плохо!

У пессимизма есть положительные стороны

Кто такой пессимист, по мнению большинства? Неудачник, у которого из-за дурного характера и вечного недовольства нет друзей.

Это верно лишь для самых упорных, самых «идейных» пессимистов, хрестоматийным отображением которых можно считать механика по имени Филидор Зеленый из рассказов Кира Булычева об Алисе Селезневой. Его бессмертные фразы: «Добром это не кончится!» и «А ведь я предупреждал!» можно назвать отображением самой негативной стороны пессимистического взгляда.

Третья сторона медали — идеальное ребро

У реализма множество значений: для кого-то это обозначает сухого дельца, который методично высчитывает, как выгодно оценить данную ситуацию, а другие считают, что лучше интересная крайность, чем скучная ровная середина. На самом же деле, быть реалистом означает осознавать, что любая ситуация может развернуться как в хорошем, так и в неудачном направлении; что жизнь многогранна и не дает готовых ответов; нельзя постоянно ожидать бед, но и надеяться только на радости тоже не следует, чтобы не обмануться.

Реалист смотрит на ситуацию ровно и разумно, принимает решения исходя из фактического положения дел. Он не утешает себя тем, что «завтра будет лучше», но и не портит себе настроение мыслями о неприятностях, которые могут последовать за удачей.

Реализм позволяет трезво оценивать окружающих, свои поступки, не перегибать палку при принятии решений, дает возможность проявить гибкость в зависимости от ситуации: реалист, не будучи привязанным к той или иной крайности, имеет возможность выбирать тип собственной реакции.

Там, где для пессимиста в стакане почти нет воды, и мысленно он умирает от жажды, боясь сделать глоток; а для оптимиста воды еще много, и он умрет, допив воду одним глотком; реалист же четко рассчитает, как быстро он может позволить себе опустошить стакан, чтобы не остаться в дураках.

Оптимист и пессимист — где гарантия счастья?

Значение слова «оптимист» никоим образом не относится к слову «оптимальный», и это следует четко осознавать: да, люди с доброжелательным взглядом на мир приятны, их любят, но это не значит, что они всегда все делают правильно или счастливы больше, чем остальные.

Счастье — это такое невесомое понятие, что никакой самый положительный взгляд на жизнь не даст гарантий по получению этой самой вещи в личное распоряжение в оплату за улыбку, добродушие и способность расценивать неприятности как нечто положительное.

В то же время постоянное ожидание неудач, железная готовность к ним и план на самые страшные случаи жизни точно так же не гарантируют, что подложенная со всех сторон соломка убережет от бед.

Используемые источники:
  • https://ru.m.wiktionary.org/wiki/оптимистичный
  • https://dic.academic.ru/dic.nsf/ogegova/140218
  • https://glosum.ru/%d0%97%d0%bd%d0%b0%d1%87%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d0%bb%d0%be%d0%b2%d0%b0-%d0%9e%d0%bf%d1%82%d0%b8%d0%bc%d0%b8%d1%81%d1%82%d0%b8%d1%87%d0%bd%d1%8b%d0%b9
  • https://shkolazhizni.ru/psychology/articles/7217/
  • https://headlife.ru/optimist-i-pessimist/

Оптимистическая и пессимистическая блокировка — программирование

Я понимаю разницу между оптимистической и пессимистической блокировкой. Может ли кто-нибудь объяснить мне, когда я буду использовать один из них вообще?

И меняется ли ответ на этот вопрос в зависимости от того, использую ли я хранимую процедуру для выполнения запроса?

Но просто для проверки оптимистический означает «не блокировать таблицу во время чтения», а пессимистический означает «заблокировать таблицу во время чтения».

ОТВЕТЫ

Ответ 1

Оптимистическая блокировка — это стратегия, в которой вы читаете запись, обратите внимание на номер версии (другие методы для этого включают даты, временные метки или контрольные суммы/хэши) и убедитесь, что версия не изменилась, прежде чем вы записываете запись. Когда вы записываете запись, вы фильтруете обновление в версии, чтобы убедиться, что оно атомарно. (т.е. не обновлялся между тем, когда вы проверяете версию и записываете запись на диск) и обновляйте версию за один раз.

Если запись загрязнена (т.е. другая версия для вас), вы прерываете транзакцию, и пользователь может ее повторно запустить.

Эта стратегия наиболее применима к системам с большими объемами и трехуровневыми архитектурами, где вы не обязательно поддерживаете соединение с базой данных для своей сессии. В этой ситуации клиент не может фактически поддерживать блокировки базы данных, поскольку соединения берутся из пула, и вы не можете использовать одно и то же соединение из одного доступа к следующему.

Пессимистическая блокировка — это когда вы блокируете запись для своего эксклюзивного использования, пока не закончите с ней. Он имеет гораздо лучшую целостность, чем оптимистическая блокировка, но требует, чтобы вы были осторожны с вашим дизайном приложения, чтобы избежать Deadlocks. Для использования пессимистической блокировки вам необходимо либо прямое подключение к базе данных (как это обычно бывает в двухуровневом клиентском сервере) или внешнем доступный идентификатор транзакции, который может использоваться независимо от соединения.

В последнем случае вы открываете транзакцию с TxID, а затем повторно соединяете с использованием этого идентификатора. СУБД поддерживает блокировки и позволяет вам выбрать сеанс обратно через TxID. Так распределены транзакции с использованием двухфазных протоколов фиксации (например, XA или COM + транзакции).

Ответ 2

Оптимистическая блокировка используется, когда вы не ожидаете много столкновений. Обычная операция обходится дешевле, но если коллизия ДЕЙСТВИТЕЛЬНО произойдет, вы заплатите более высокую цену за ее разрешение при отмене транзакции.

Пессимистическая блокировка используется, когда ожидается коллизия. Транзакции, которые нарушают синхронизацию, просто блокируются.

Чтобы выбрать правильный механизм блокировки, вы должны оценить количество операций чтения и записи и составить соответствующий план.

Ответ 3
Оптимистичный предполагает, что ничего не изменится, пока вы его читаете.

Пессимистический предполагает, что что-то будет и так блокирует его.

Если не важно, чтобы данные были полностью прочитаны, используйте оптимистичный. Вы можете получить нечетное «грязное» чтение — но это гораздо менее вероятно приведет к взаимоблокировкам и т.д.

Большинство веб-приложений отлично справляются с грязными чтениями — в редких случаях данные не точно совпадают с следующей перезагрузкой.

Для точных операций с данными (как и во многих финансовых транзакциях) пессимистично. Очень важно, чтобы данные были точно прочитаны, без каких-либо изменений — лишние затраты на блокировку стоят того.

О, и сервер Microsoft SQL по умолчанию блокирует блокировку страницы — в основном, строку, которую вы читаете, и несколько сторон. Блокировка строк более точная, но намного медленнее. Часто стоит устанавливать транзакции на чтение или блокировку, чтобы избежать блокировок при чтении.

Ответ 4

В дополнение к уже сказанному следует сказать, что оптимистичная блокировка имеет тенденцию улучшать concurrency за счет предсказуемости. Пессимистическая блокировка имеет тенденцию уменьшать concurrency, но более предсказуема.

Вы платите свои деньги и т.д.

Ответ 5

Я бы подумал о еще одном случае, когда пессимистическая блокировка была бы лучшим выбором.

Для оптимистической блокировки каждый участник модификации данных должен согласиться с использованием такого типа блокировки. Но если кто-то изменяет данные, не заботясь о столбце версии, это испортит всю идею оптимистической блокировки.

Ответ 6

Есть в основном два самых популярных ответа. Первый в основном говорит

Для Optimistic требуется трехуровневая архитектура, в которой вы не обязательно поддерживаете соединение с базой данных для своего сеанса, тогда как Pessimistic Locking — это когда вы блокируете запись для своего эксклюзивного использования до тех пор, пока не закончите с ней. У него гораздо лучшая целостность, чем у оптимистической блокировки, вам нужно либо прямое соединение с базой данных.

Другой ответ

Оптимистическое (управление версиями) быстрее из-за отсутствия блокировок, но (пессимистическое) блокирование работает лучше, когда конкуренция высока, и лучше предотвращать работу, чем отбрасывать ее и начинать заново.

или же

Оптимистическая блокировка работает лучше всего при редких столкновениях

Как это написано на этой странице.

Я создал свой ответ, чтобы объяснить, как «сохранить соединение» связано с «низкими коллизиями».

Чтобы понять, какая стратегия лучше для вас, подумайте не о транзакциях в секунду, которые имеет ваша БД, а о продолжительности одной транзакции. Обычно вы открываете trasnaction, Performa Operation и закрываете транзакцию. Это короткая, классическая транзакция, которую ANSI имела в виду, и она прекрасно подходит для блокировки. Но как реализовать систему бронирования билетов, когда многие клиенты бронируют одни и те же номера/места одновременно?

Вы просматриваете предложения, заполняете форму множеством доступных опций и актуальными ценами. Это занимает много времени, и варианты могут устареть, все недействительные цены между вами начали заполнять форму и нажать кнопку «Я согласен», потому что не было блокировки данных, к которым вы обращались, и кто-то другой, более проворный, вмешался меняются все цены и вам нужно перезапустить с новыми ценами.

Вместо этого вы можете заблокировать все параметры по мере их чтения. Это пессимистичный сценарий. Вы видите, почему это отстой. Ваша система может быть отключена одним клоуном, который просто начинает бронирование и курит. Никто не может зарезервировать что-либо, прежде чем он закончит. Ваш денежный поток падает до нуля. Вот почему оптимистические оговорки используются в реальности. Те, кто слишком долго бездельничает, должны возобновить бронирование по более высоким ценам.

При таком оптимистичном подходе вы должны записать все данные, которые вы прочитали (как в моем повторном чтении), и прийти к точке фиксации с вашей версией данных (я хочу покупать акции по цене, указанной в этой цитате, а не по текущей цене).). На этом этапе создается транзакция ANSI, которая блокирует БД, проверяет, ничего не изменилось и фиксирует/прерывает вашу операцию. IMO, это эффективная эмуляция MVCC, которая также связана с Optimistic CC и также предполагает, что ваша транзакция перезапускается в случае сбоя, то есть вы сделаете новое резервирование. Транзакция здесь включает в себя решения пользователя.

Я далек от понимания того, как реализовать MVCC вручную, но я думаю, что длительные транзакции с возможностью перезапуска — ключ к пониманию предмета. Поправь меня, если я где-нибудь ошибаюсь. Мой ответ был мотивирован этой главой Алексея Кузнецова.

Ответ 7

В большинстве случаев оптимистичная блокировка более эффективна и обеспечивает более высокую производительность. Выбирая между пессимистичной и оптимистичной блокировкой, рассмотрите следующее:

  • Пессимистическая блокировка полезна, если есть много обновлений и относительно высокие шансы пользователей, пытающихся обновить данные на одном и том же время. Например, если каждая операция может обновлять большое количество (банк может добавлять процентные доходы к каждому счет в конце каждого месяца), и запускаются два приложения такие операции в то же время, у них будут конфликты.

  • Пессимистическая блокировка также более подходит для приложений, содержащих небольшие таблицы, которые часто обновляются. В случае с этими так называемыми «горячими точками» конфликты настолько вероятны, что оптимистичная блокировка тратит усилия на откат противоречивых транзакций.

  • Оптимистическая блокировка полезна, если возможность конфликтов очень низкий — существует много записей, но относительно мало пользователей, или очень мало обновлений и в основном операций чтения.

Ответ 8

Одним из вариантов использования оптимистической блокировки является то, чтобы ваше приложение использовало базу данных, чтобы один из ваших потоков/хостов «требовал» задачи. Это метод, который мне пригодится на регулярной основе.

Лучший пример, который я могу придумать, — это очередь задач, реализованная с использованием базы данных, с несколькими потоками, требующими одновременных задач. Если задание имеет статус «Доступно», «Заявлено», «Завершено», запрос db может сказать что-то вроде «Установить статус =» Заявлено «, где status =» Доступно «. Если несколько потоков пытаются изменить статус таким образом, все, кроме первого потока, будут терпеть неудачу из-за грязных данных.

Обратите внимание, что это прецедент, включающий только оптимистическую блокировку. Таким образом, в качестве альтернативы высказыванию «Оптимистическая блокировка используется, когда вы не ожидаете многих коллизий», ее также можно использовать там, где вы ожидаете коллизий, но хотите добиться успеха только одной транзакции.

Optimistic — Оптимистический — запомнить слово. Визуализация.

ПредложениеПеревод
That’s an overly optimistic view.Это чересчур оптимистичный взгляд.
If I remember correctly, you were quite optimistic at that time.Если память меня не подводит, Вы были в то время довольно оптимистичным.
The meeting ended on an optimistic note.Встреча окончилась на оптимистической ноте.
I wouldn’t be so optimistic if I were in your position.На твоём месте я бы так не радовался.
The delegation added that if all donors followed that example and made similar percentage increases, UNFPA could effectively implement the most optimistic MYFF scenario.Делегация добавила, что если все доноры последуют ее примеру и увеличат свои взносы на аналогичную долю, то ЮНФПА сможет эффективно выполнить наиболее оптимистичный сценарий МФР.
There are a number of elements underlying this optimistic projection.Столь оптимистичный прогноз вытекает из ряда факторов.
I am ready for a serious and fruitful dialogue with President Bill Clinton, who today gave an optimistic forecast of our interaction.Я готов к серьезному и результативному диалогу с Президентом Биллом Клинтоном, который сегодня дал оптимистический прогноз нашего взаимодействия.
We thus remain optimistic with regard to completion.Таким образом, мы сохраняем оптимизм в отношении перспектив завершения работы.
Although downside risks exist, prospects for the further strengthening of regional growth in the immediate future are optimistic.Хотя еще существуют скрытые дестабилизирующие факторы, перспективы дальнейшей активизации роста в регионе в ближайшем будущем вызывают оптимизм.
He was optimistic for the future implementation of the Convention in Estonia.Он выражает оптимизм относительно будущего осуществления Конвенции в Эстонии.
Defenders remained optimistic, however, aware of their crucial role in building peace.Однако, осознавая свою решающую роль в миростроительстве, правозащитники сохраняют оптимизм.
Despite this situation, we cannot but be somewhat more optimistic than we were this time last year.Несмотря на эту ситуацию, мы не можем не испытывать несколько больший оптимизм, чем год назад.
He was optimistic that greater use would ultimately be made of article 14 procedures.Он испытывает оптимизм в связи с тем, что в конечном счете можно будет более широко использовать процедуры по статье 14.
He was cautiously optimistic that some progress would be made in that area, but emphasized that contributions from traditional donors could not be replaced.Он проявил осторожный оптимизм в отношении того, что в этой области будет достигнут определенный прогресс, однако подчеркнул, что взносы от традиционных доноров заменить нельзя.
Despite such disappointing facts, however, we would like to remain optimistic and hopeful.Несмотря на такие огорчительные факты, хочется, однако, сохранять оптимизм и надежду.
At the beginning of this year many of us felt optimistic and cherished new hopes for further progress on the road towards peace.В начале этого года многие из нас испытывали оптимизм и лелеяли надежду на дальнейшее продвижение по пути в направлении мира.
Frankly speaking, Judge Lachs was overly optimistic.Если говорить откровенно, судья Ляхс был слишком большим оптимистом.
The delegation considered both resource scenarios to be too optimistic.По мнению этой делегации, оба сценария в отношении ресурсов являются чрезмерно оптимистичными.
Another delegation characterized the 2000-2003 income projections for the private sector as rather optimistic.Представитель другой делегации охарактеризовал прогнозы в отношении поступлений на 2000 — 2003 годы от частного сектора как довольно оптимистичные.
Some were optimistic; others were neutral or feared «catastrophic» implications.Некоторые относятся к ним с оптимизмом, а другие — нейтрально или со страхом ожидая «катастрофических» последствий.
That may be an optimistic view.Возможно, это слишком оптимистический взгляд на вещи.
But an emphasis on policy decisions suggests a more optimistic outlook.Если же делать ударение на принятии неверных стратегических решений, вырисовывается более оптимистичная перспектива.
I am optimistic that we can get this plague under control.Я не теряю оптимизма, что нам удастся взять под контроль эту проблему.
I’m optimistic things might change.Я оптимистически надеюсь, что всё может измениться.

Слово optimistic — English for me