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

Однажды мне уже надоело играть в какую-то игрушку в ожидании мамы. Я аккуратно выключил системный блок и монитор и стал её ждать. Минут через 10 я устал ждать маму и уже очень хотел домой. Чтобы ускорить процесс ухода домой когда мама придёт, я решил выполнить стандартные процедуры перед уходом: прошёл по всем компьютерам и проверил, выключены ли они. А потом нужно было выключить общий рубильник.

Рубильник обесточивал компьютерные розетки в классе. Ещё в кабинете была отдельная лаборантская. В ней тоже стоял компьютер. Проводка была спроектирована правильно, и рубильник выключал компьютерные розетки в лаборантской тоже.

Рубильник
Рубильник

Я взял стул, подставил его к шкафчику, открыл дверцу, дотянулся до рубильника и нажал кнопку. В этот момент я услышал крик, полный ужаса. Крик раздавался из лаборантской. Увлёкшись игрой я не заметил, что в лаборантской сидел парень и что-то долго и упорно набирал на компьютере. Оказалось, что он более получаса усердно трудился и ни разу не сохранялся. Соответственно, результаты его трудов постигла печальная участь — они бесследно исчезли.

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

***

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

Turbo Pascal
Turbo Pascal

Написать программку, решающую какую-то задачку было сложнее, чем просто перепечатать текст с листочка. Надо было всё продумать, придумать названия переменных, объявить их, придумать алгоритм, имплементировать его в коде. Сначала мы нажимали «Alt» + «F9» и программа радостно и успешно компилировалась. Затем мы её запускали через «Ctrl» + «F9». Далее бывало всякое. В том числе и бесконечный цикл из-за кривой реализации алгоритма или ошибок в коде. В таких случаях спасал «Ctrl» + «Break». Но спасал он не всех. Некоторые ребята перед запуском почему-то не сохранялись. Поэтому они очень не хотели нажимать «Ctrl» + «Break», ведь он приводил к закрытию Турбо-Паскаля и потере всего написанного кода. Иногда они сидели и наивно ждали, что проблема разрешится сама. Но этого не происходило, вынуждая их всё же закрывать среду программирования и своими же руками уничтожать плоды умственных трудов.


Перед тем, как запустить какой-то процесс, который может привести к зависанию компьютера или неожиданной перезагрузке, сохраните все несохранённые документы.

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

Если вы пишете код, то залейте его заодно в репозиторий. Вдруг вы видитесь с вашим жёстким диском в его здоровом состоянии в последний раз?! Таким образом, просто сохранение на локальной машине вам мало чем поможет. А если есть удалённый репозиторий, то стоит воспользоваться его прямым назначением. Естественно, не нарушая правила коммитов в репозиторий (работоспособный и проверенный код, покрытый тестами, заливается в отдельную ветку для каждой отдельной таски).


То же можно сказать и про бэкапы важных данных — необходимо о них не забывать.

We back up our data on sticky notes because sticky notes never crash
We back up our data on sticky notes because sticky notes never crash

Например, люди почему-то уверенны, что флэшки — это надёжный носитель для хранения важной информации. Слышал про историю одного товарища, который часто работал на разных компьютерах и всюду таскал свои документы на любимой флэшке. Этот товарищ писал научную работу для получения президентского гранта. К сожалению, он не был знаком с основами работы с важными документами. У него не было ни одной резервной копии. Единственная копия данных была на флэшке. И если со сломавшегося жёсткого диска обычно можно восстановить данные тем или иным образом, то с «убитой» флэшки это сделать зачастую невозможно. Тем более что винчестеры обычно стоят внутри компьютеров и не теряются, а флэшки — запросто. (Хотя, внешние диски, ноутбуки и прочие устройства типа MP3-плееров и смартфонов тоже подвержены риску потери.) В итоге он потерял и свою научную работу, и возможность получить грант.

Надёжные резервные копии

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