Боб Салливан - Эффект плато. Как преодолеть застой и двигаться дальше

Тут можно читать онлайн Боб Салливан - Эффект плато. Как преодолеть застой и двигаться дальше - бесплатно полную версию книги (целиком) без сокращений. Жанр: foreign-psychology, издательство Манн Иванов Фербер, год 2014. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Эффект плато. Как преодолеть застой и двигаться дальше
  • Автор:
  • Жанр:
  • Издательство:
    Манн Иванов Фербер
  • Год:
    2014
  • Город:
    Москва
  • ISBN:
    978-5-91657-994-9
  • Рейтинг:
    4/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Боб Салливан - Эффект плато. Как преодолеть застой и двигаться дальше краткое содержание

Эффект плато. Как преодолеть застой и двигаться дальше - описание и краткое содержание, автор Боб Салливан, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Эффект плато – эта пугающая формула «после каждого успеха приходит застой», понимание того, что ваши усилия больше не приносят результата, – мощный закон природы, который касается каждого из нас. Прочитав эту книгу, вы поймете, как узнать плато и преодолеть стагнацию в любой сфере своей жизни – от диеты и физических упражнений до ситуации на работе или в личной жизни.
Авторы рассказывают, как спортсмены, ученые, врачи, музыканты и целые компании по всему миру учатся справляться с плато, то есть отключать силу, которая побуждает людей «привыкать» к определенным вещам. В книге вы найдете восемь элементов плато и правила, которые позволят избежать попадания на безрадостную равнину и совершить прорыв.
На русском языке публикуется впервые.

Эффект плато. Как преодолеть застой и двигаться дальше - читать онлайн бесплатно полную версию (весь текст целиком)

Эффект плато. Как преодолеть застой и двигаться дальше - читать книгу онлайн бесплатно, автор Боб Салливан
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Затем он попробовал цифру «5»… И – ура! – игра ее приняла!

Цифра «5» представляет в данном случае немалый интерес. Тестеры программных продуктов называют его пограничным значением {28}, поскольку оно лишь немного превышает максимально допустимое значение (пограничное), которое была готова принять программа (в данном случае «4»). Частая ошибка в программировании состоит в «ошибке на одно значение» при создании логики программы {29}. К примеру, программист мог намереваться написать код, означавший: «Значение параметра должно быть меньше пяти».

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

В большинстве языков программирования разница между этими формулами состоит в одном-единственном нажатии на клавишу.

Итак, теперь игра шла на неизведанной территории, в систему было введено непредвиденное значение пять. Затем Хью снова переключил свое внимание на сенсорный экран и нажал кнопку «+», которая, к его «ботаническому» восторгу, позволила увеличить значение до «6»! Возможно, логика, которая прежде не позволяла ему ввести значение выше предельного, формулировалась так: «При значении, равном четырем, не увеличивать». В данном случае значение составляло не четыре, а пять, поэтому нажатие кнопки «+» позволило успешно повысить его до шести. Хью открыл упаковку арахиса и принялся нажимать кнопку «+» до тех пор, пока значение не достигло 127. Тут он решил остановиться и поразмышлять.

Число 127 играет особую роль в компьютерных науках. По сути, это своего рода плато. С технической точки зрения это два в седьмой степени минус единица (27 − 1). В некоторых случаях это максимальное значение, с которым может справиться определенная система. Чтобы понять, почему это так, подумайте о ситуациях, когда вы используете для счета собственные пальцы. Давайте предположим, что вы считаете привычным образом, то есть ваши выпрямленные шесть пальцев означают цифру «6». Если, используя этот метод, вы попытаетесь посчитать более чем до десяти, то столкнетесь с проблемой – количество ваших пальцев ограниченно. Дети обычно стараются запомнить, что уже прошли этот цикл один раз, и затем вновь начинают выпрямлять пальцы, но первый из них означает уже не 1, а 11. Однако представьте себе, что вам нужно отправить кому-то фотографию ваших пальцев. В этом случае вы не можете показать на фотографии 12 или 13, потому что на картинке это будет выглядеть как два или три. Эта проблема возникает, поскольку на уровне десяти мы достигли предельного значения для пальцев, а добавляя к нему что-то еще, мы сталкиваемся с тем, что специалисты по компьютерным наукам называют целочисленным переполнением. Иными словами, мы попытались сохранить больше информации, чем можно. При использовании пальцев, для того чтобы посчитать до 11, мы, доходя до максимального значения (10), «возвращаемся» к минимальному значению – в случае с пальцами это означает 1. Такая же проблема возникает и в программах, где для хранения числа используется набор так называемых бинарных переключателей («вкл/выкл»). Когда число превышает совокупную емкость переключателей, программа просто перегружает значение до минимально допустимого. Представьте себе, что вы считаете от 1 до 100, но при этом видите только последнюю цифру в каждом числе. Может показаться, что вы движетесь от 0 до 9, а затем вдруг опять к 0. Когда подобное явление происходит в области программирования, оно способно привести к всевозможным проблемам.

Помните ли вы о «проблеме 2000 года» {30}? Возможно, что лично вы были на какой-то безумной вечеринке, когда год на календаре изменился с 1999-го на 2000-й, однако некоторые ученые-компьютерщики провели эту ночь в подвалах своих домов с запасами продуктов питания. Они сильно беспокоились о том, что произойдет со старыми компьютерными системами (работающими в банках и компаниях, занимающихся организацией воздушного трафика), когда двузначное описание года (99) внезапно изменится на 00. К счастью, миллениум не привел к апокалипсису. Однако этого нельзя было сказать о развлекательной системе, которой пользовался Хью в самолете.

Почему число 127 настолько важно для некоторых программ? Подобно числу 10 для наших пальцев, оно считается пограничным значением . Обычная математика говорит нам, что результат сложения 1 и 127 (1 + 127) должен быть равен 128. Однако порой в компьютерной математике результат оказывается равным минус 128 , то есть минимальному значению, которое могут удерживать бинарные переключатели. Иными словами, это все равно что выпрямленный палец, означающий 11, однако выглядящий как один.

Как только Хью увидел число 127 на экране самолетной развлекательной системы, он понял, что у него есть отличный шанс вызвать целочисленное переполнение системы. Затем, исключительно в интересах науки, он нажал кнопку «+» еще один раз. Внезапно на экране на какой-то момент показалось число 128, а затем экран погас.

Тут же выключился экран сидевшего рядом с ним пассажира.

Погасли экраны и у пассажиров перед ним и за ним.

Через секунду выключилась вся развлекательная система в самолете.

После нескольких минут ворчания некоторых пассажиров бесстрастный бортпроводник перегрузил систему, и все вернулось к нормальному состоянию. А Хью приземлился с новыми знаниями о «Тетрисе» (и числе 127).

Как мог производитель упустить из виду эту проблему?

Вполне возможно, что игра тестировалась тысячи раз, а потом и использовалась десятки тысяч раз, и проблема не проявилась. Однако она существовала, причем всегда. Мы, как люди, написавшие немало программ, вполне понимаем, почему традиционные методы тестирования программ не замечали эту проблему. Тестеры склонны идти по пути, прописанному в документе, называемом спецификацией. В этих документах обычно пишется что-то типа «При входном значении системы, равном A, мы ожидаем получить результат B». Затем проводятся тесты, предполагающие ввод A и проверку, появляется ли на выходе B. Зачастую такие тесты кодифицируются для того, чтобы их можно было проводить почти автоматически. К примеру, для ввода A инструкция выглядит как «Нажмите маленькую кнопку со значком принтера», а исход B был описан как «Из принтера должно выйти несколько листов бумаги с напечатанным на них документом». Существует также тестирование в свободной форме, часто называемое исследовательским {31}, при котором тестеры думают и действуют как обычные пользователи. Привычные пути работы тестеров проводят к тому, что они упускают из виду редко встречающиеся, но потенциально разрушительные проблемы. В случае развлекательной системы на борту самолета типичный пользователь должен был ограничиться нажатием огромных кнопок «+» и «−» на экране, однако оказалось, что система содержит ужасную ошибку, способную остановить всю работу.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Боб Салливан читать все книги автора по порядку

Боб Салливан - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Эффект плато. Как преодолеть застой и двигаться дальше отзывы


Отзывы читателей о книге Эффект плато. Как преодолеть застой и двигаться дальше, автор: Боб Салливан. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x