Найти тему
IT для гуманитариев

Работа в IT - это опасно

Пишу эту статью не с целью напугать новичков, а чтобы призвать к бдительности. Старинная народная мудрость гласит «семь раз SELECT, один раз UPDATE». И не зря.

Может статься, в конторе, в которую вы устроитесь работать будет царить такой бардак, что у вас (новичка) будет полный доступ к базе данных на продакшене. И вы «случайно» возьмёте и удалите оттуда все данные. Говорят, удаление нужных данных - это как боевое крещение для айтишника, и все через него проходят (я проходила). Но еще говорят, что дурак учится на своих ошибках, а умный - на чужих.

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

Во-вторых - если речь идёт о базе данных, и вы как раз собираетесь в ней выполнить руками UPDATE или DELETE - остановитесь. Подумайте, что вы сейчас хотите сделать и зачем? Почему вы собираетесь менять вручную данные на проде? Что вас привело к такому решению? Может, не надо? Может, лучше у кого-то спросить, как решить проблему по-другому? Дальше, если это вас всё-таки не остановило - вспомните о такой штуке как транзакция - и выполняйте скрипт внутри неё, чтобы можно было потом изящным движением руки полностью откатить изменения. После изменения или удаления строк выполните SELECT и проверьте, что все ок, и только тогда закрывайте транзакцию. Для тех, кто в танке - транзакция открывается волшебной командой BEGIN; И откатывается с помощью ROLLBACK.

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

Часто ошибки происходят от того, что человеку банально лень разбираться с инструментом, который он использует. Так что если вы сейчас собираетесь выполнить команду в командной строке (извините за эвфемизм) - убедитесь, что вы понимаете, что эта команда делает и как работает - не удалит ли она нужный файл, не перезатрёт ли данные. Почитайте документацию - и только потом действуйте. На моей памяти юные падаваны ухитрялись даже удалить коммиты из git-а, потому что не стали затруднять себя чтением документации и не до конца понимали, что конкретно делает та или иная команда гита. Оказывается, даже гит - это опасно. Будьте аккуратнее с гитом. Не действуйте наугад. Мир технологий - это мир знаний и логики, а не Хогвартс, тут нужно разбираться, что и как работает.

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