1. книги
  2. Книги о компьютерах
  3. Иван Бевуч

Пузыри. Айти для детей и их родителей

Иван Бевуч
Обложка книги

Автор начал работать в IT в 2008 году. Видел отрасль с разных сторон, видел много смешного и грустного. Видел, как системы создавались и как они разваливались на части… И теперь готов поделиться этим всем с вами, чтобы вы тоже понимали, как оно было, есть и будет. Эта книга поможет приподнять занавес магического мира айти и проникнуть за кулисы. Для всех, кому интересно это по разным причинам. Тем, кто уже все знает сам, эта книга тоже будет полезна, потому что всего не знает никто.

Автор: Иван Бевуч

Жанры и теги: Книги о компьютерах

Оглавление

Купить книгу

Приведённый ознакомительный фрагмент книги «Пузыри. Айти для детей и их родителей» предоставлен нашим книжным партнёром — компанией ЛитРес.

Купить и скачать полную версию книги в форматах FB2, ePub, MOBI, TXT, HTML, RTF и других

Пузырь безопасности

— Борис Николаевич, к вашему Антону претензий нет. Даты — это очень и очень важно. Но обозначенную «Проблему-2000» вы так и не раскрыли в ходе лекции.

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

— Что кроме нее?

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

— Специалиста по ИБ?

— Специалиста по общению с ИБ.

— Если бы я был японцем, я бы сказал:

Каждый диалог

С вами сердце скорбью

Наполняет мне.

Лекция от 29.10.2019

— Всем ку! Мы в прошлый раз разглагольствовали целую лекцию про даты, а «Проблема-2000» опять мимо. Давайте быстренько. На дворе рубеж третьего десятилетия двадцать первого века. Те, кто писал программы в начале девяностых прошлого века, особо не думали о проблемах календарей. Сотрудники передовых многомиллиардных корпораций не думали о том, что их детища проживут пять-десять лет и перешагнут рубеж тысячелетия. Что уж говорить о сотрудниках более мелких продуктовых компаний. Хотя официально рубеж вроде бы перешагнулся с 00 на 01, а не с 99 на 00, но именно смена с 99 на 00 грозила всему миру. Из-за этого отвратительного мученичества с датами, а также еще и из-за крайне невысокой производительности компьютеров того времени считать биты было необходимостью. На один символ два бита. Еще два бита на каждый разделитель. А выкидывание двух лишних символов из каждой даты («19») позволяло сэкономить четыре бита и чуть-чуть сократить трудоемкость операций над ними. Сделали и забыли, другие тоже сделали и забыли, третьи… Четвертые поставили ПО и решили больше не обновляться, пятые поставили, но больше обновлений не прилетало от шестых, потому что они закрылись и разбежались. И вот в какой-то момент времени оказывается, что компьютеров на планете десятки миллионов, на каждом десятки программ, компьютеры замешаны уже практически во всех сегментах человеческого бизнеса… И большая часть экземпляров используемого ПО, то есть сотни миллионов инсталляций, считает, что после 1999 года идет 1900-й. Точнее, после 99 идет 100, что могло запросто считаться и как 19100.

— Возникала натуральная квантовая неопределенность. Каждая программа могла умереть или жить дальше при начале 2000 года. И только позиция наблюдателя, который посмотрит в программный код, могла внести ясность в эту неопределенность. Это, конечно, шутка, квантовой неопределенностью тут и не пахнет. Обычная такая, неквантовая… Человечество спохватилось своевременно, что-то обновили разработчики, что-то поменяли пользователи: подкрутили в исходниках, где это было возможно, либо перешли на новые системы, где нет. Также некоторым системам было индифферентно, какой на дворе год, хоть 1601-й, хоть 2038-й. Калькулятор и пасьянс «Косынка» будут служить вам верой и правдой вне зависимости от года. Человечество преодолело проблему малой кровью.

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

— При этом не стоит забывать, что «Проблема-2000» была не только в 2000. Она случалась каждый год, но в сильно меньших масштабах. Вот представьте, разработчик ПО добавляет выбор года из списка на экран. Неважно, на какой, просто выбор года из списка. В техническом задании сказано — «год должен быть этот и предыдущий». Разработчик доблестно выполняет требование, прописывая ручками номер «этого» и номер «предыдущего». На этапе тестирования это проходит незамеченным… Как минимум потому, что с таким разработчиком наверняка там будет огромный перечень других, более наглядных ошибок. Заказчик получает свое ПО, начинает пользоваться, все довольны (чаще нет). И вот Рождество (у бездуховных), Новый год (у православных), шампанское, мандарины, каникулы. Все возвращаются в рабочий ритм в начале января, идут в систему, чтобы ввести первый заказ в новом году, а система говорит: «Ничего не знаю, такого года не существует, он не похож ни на тот, который был этот, ни уж точно на предыдущий».

Слова «этот» и «предыдущий» Борис Николаевич выделил в монологе и интонацией, и жестикуляцией.

— Где-то год не использовался в явном виде, а хранился в неявном. Там особо одаренные также могли зацементировать «1997» или «2018», а дальше осталось только дождаться нового года. У которого будет тот же номер, если верить системе. Честно признаюсь, лично я раза два-три встречал Новый год, переживая… Когда в 00:15—00:30 страх брал верх и я лез проверять, работает ли та или иная система. Не начудили ли мои архаровцы. Обычно это связано было с проверкой систем, которые в эксплуатацию запускались в декабре. Один раз точно я был не уверен в себе, в том, что сам не забыл все сделать по-человечески. Но в моих случаях, к счастью, все работало. Зато примеров, в которых январь оборачивался колоссальным факапом, я слышал несколько, а в целом по планетке их была не одна тысяча явно.

Солнце вновь поддалось собственной орбите и перестало мешать лекции. Борис Николаевич с облегчением продолжил:

— По моим ощущениям любой, кто имел опыт, связанный с разработкой ПО… Я говорю про ПО, которое потом будут использовать несколько других человек. Ваши лабы в институте, к сожалению, не в счет. Так вот, любой может вспомнить одну или несколько подобных историй, связанных с датами и временем29. Поэтому про даты речь и шла на прошлой лекции — даты как хороший пример проблем, возникающих из-за неявности требований, недальновидности разработчиков и невнимательности проверяющих за ними. Да, с годами технологии меняются, некоторые вещи становятся проще, но в целом глобальная проблема никуда не денется. Любая система может сломаться тогда, когда этого никто не ожидает — именно по этим причинам. Запомните, это важно.

Аудитория активно запоминала.

— Один мой хороший знакомый поведал мне как-то историю на близкую тему… На самом деле это был я много лет назад, но я подписывал соглашение о неразглашении, поэтому буду все отрицать, и вы ничего не докажете. В одной крупной-крупной межгалактической корпорации… шел проект по разработке и внедрению небольшого мобильного клиента для руководства небольшой, по меркам корпорации, организации. Мобильный клиент должен был аккумулировать данные из нескольких систем и выводить их в виде понятных и простых отчетов с графиками и анимацией. Было две проблемы — сотрудники местной службы информационной безопасности были настоящими небожителями и по власти своей уступали разве что некоторым богам Олимпа. Зевсу уступали, Гере возможно, Дионису — точно не уступали, но речь не об этом. Вторая проблема была в том, что данные, которые нужны были для отрисовки нескольких страниц с отчетами были очень и Очень Конфиденциальными. Даже гриф был такой — «ОК». А перед входом в заводоуправление был расположен целый нефтепровод с надписью: «В БЕЗОПАСНОСТИ НЕТ МЕЛОЧЕЙ», что, несомненно, ненавязчиво намекало на то, что требования безопасности придется выполнить. Все. Целиком. Полностью.

— Дашборд выглядел примерно так, как на схеме. История с проектом длилась достаточно долго. Более чем достаточно долго. От момента, когда технологии реализации были утверждены, до момента, когда пользователям принесли планшет, на котором были искомые графики, прошло около двух с половиной лет. Сама система была разработана за три-четыре месяца ближе к концу этого срока. А все остальное время было потрачено на написание, согласование, правку, согласование, правку, согласование, сожжение, написание с нуля, согласование, самоубийство аналитика, поиск нового, написание, согласование, правки, согласование, сожжение, написание, согласование, правки, согласование, самосожжение второго аналитика. И еще на пару лекций можно было бы расписывать хронологию. Вкратце суть всех этих итераций была в том, чтобы ни одна живая душа в мире не подумала, что ИБэшники работают недостаточно качественно. Поэтому легкий, простой и понятный интерфейс пользователя превратился в нечто монстровое, тяжелое, громоздкое. И главное — совсем никому не нужное. Для каждого входа в приложение пользователям приходилось лично ходить к ИБэшникам и просить одноразовый пароль. Мобильное приложение, которое должно было позволять получать доступ к данным в любой точке мира, могло работать, только если в этой точке мира был отдел информационной безопасности того самого завода. Это требования ИБ, к их большому сожалению, так реализовано и не было, но все остальные были. В итоге вместо велосипеда пользователи получили велосипед, даже два, на которые была надета танковая броня, с башней и пулеметами. Безопасники довольны, но едет агрегат не очень быстро.

— Еще был важный момент — информационные технологии вообще развиваются с огромной скоростью. Вы же помните, что мы тут про историю ИТ говорим. А сравнительно новое направление мобильных технологий кричит им с горизонта: «С ручника-то снимитесь». Даже операционные системы мобильных устройств: год с момента выхода — актуальная, еще год — как-то работает, но ты бы обновился. После двух лет — это окаменелый, кхм, след динозавра, в который наступил мамонт, перед тем как оставить свой собственный. Оставить след на головах тех, кто потребовал зафиксировать конкретные версии операционных систем и разных фреймворков за два с половиной года до начала эксплуатации… Столько лет прошло, а я все еще чувствую скопление негативной энергии «Ять» возле основания позвоночника…

Профессор Соснин задумчиво глядел в окно. Потом подошел к ноутбуку и что-то вбил в поисковую строку браузера.

— Я погуглил, что является основанием позвоночника, но так и не разобрался и на всякий случай уточню — я имел в виду нижнюю часть оного.

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

— Кульминация этой истории произошла несколько позже. Счастливые пользователи, у которых появился такой удобный танк на педальной тяге, несколько обалдели. И от безопасного удобства, и от удобной безопасности. А еще они обалдели, потому что за 30 месяцев все уже поменялись по пять раз. Но как-то с горем пополам начали пользоваться. И вроде бы уже привыкли даже. Тем более что сами понимали — в безопасности нет мелочей, и если ИБ сказали, значит, так надо. У нас даже для Приемо-Сдаточных Испытаний по Информационной Безопасности термин тогда появился: «ПэСэИ по_ИБэ»… Золотые были деньки…

Борис Николаевич погрузился в сладкие воспоминания, пока аудитория хихикала над очередной шуткой «категории b».

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

Зал ожидал окончания истории.

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

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

Примечания

29

Если нет, то мне стыдно за тебя, товарищ.

Вам также может быть интересно

а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ э ю я