Самая большая ошибка, которую вы когда-либо совершали [закрыто]


33

Как и вопрос, который я прочитал о сбое сервера, какая самая большая ошибка, которую вы когда-либо совершали на позиции, связанной с ИТ. Несколько примеров от друзей:

Мне нужно было поработать на производственном сайте, поэтому я решил скопировать действующую базу данных на бета-сайт. Довольно стандартно, но когда я зашел на бета-сайт, он все еще собирал устаревшую информацию. OOPS! Я скопировал бета-версию базы данных на живой сайт! Слава богу за резервные копии.

И для меня я создал форму для мероприятия, которое должно было быть проведено в течение определенного периода времени. Участники заполняли форму, чтобы получить шанс на победу, и мы отправляли организаторам мероприятия CSV из базы данных. Я вошел в базу данных и нашел ТОЛЬКО 1 ВХОД, МОЙ. После расследования кажется, что я забыл ключ автоинкремента, и из-за настройки сервера не было никакого способа восстановить потерянные данные.

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

Какая самая большая ошибка кодирования / ошибка когда-либо…


6
вопросы Гиннеса!
— Младший М

Почему этот вопрос был закрыт? Я чувствую необходимость добавить свою собственную большую ошибку: я отключил веб-сайт LIVE на три часа (т. Е. 500 HTTP-статус) после развертывания в Production после того, как мне было специально сказано НЕ ЗАВЕРШАТЬ ПРОИЗВОДСТВО. Хуже всего то, что я пытался скрыть ошибку, но клиент заметил и не был очень доволен.
— Мария Инес Парнисари

Легко для меня. Выплачено снятие инвестиций, но дважды переведено в центы. Выплачено 3 мил вместо 30к. Второе место - плохой SQL, где предложение. 4 тыс. Человек сообщили, что их инвестиции за 1–10 долларов за ночь выросли на 1800 долларов. Очевидно, что некоторые из этих клиентов пошли и потратили деньги. Выздоровел довольно быстро в финансовом отношении. Сломанная уверенность и вина никогда не исчезали. Как поправиться: взять на себя ответственность. Признай свою ошибку. Не вините больше ничего, даже если были факторы, способствующие этому. Это было встречено с пониманием и командными усилиями, чтобы исправить это. Клиент оценил честность.
— Reasurria

Ответы:


54

Выдача SQL UPDATE с «плохим» предложением WHERE, которое соответствует всему.

Извлеченный урок: всегда сначала выполняйте команду SELECT, чтобы увидеть, что изменится.


15
Или установите autocommit в false, чтобы вы могли увидеть, сколько строк будет затронуто.
— Евгений Брикман

2
О, я сделал это Очень противный ...
— Гленатрон

4
Ха-ха, я думаю, что каждый, у кого есть какой-то SQL-
— код за плечами,

3
Вот почему обновления должны быть сделаны на dev в первую очередь! Нет горячих исправлений непосредственно к продукту. И будьте очень благодарны за контрольные таблицы, если они у вас есть, когда вы делаете это.
— HLGEM

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

36

Опечатка-х

Потратил три солидных дня на этот кусок:

if($func == "remove")
{
    $p->comments[$index]->removed = true;
    $p->save();
}
else if($func == "approve");
{
    $p->comments[$index]->approved = true;
    $p->comments[$index]->removed = false;
    $p->save();
}

Видите ошибку? Это точка с запятой в конце else if. Я не мог понять, почему мои удаленные комментарии не были удалены. Вкопанный в базу данных, запрос AJAX, который я использовал, переменные POST, имел error_logи alerts везде . Закончилось переписывание метода, и это сработало. Затем я сделал различия с оригинальной версией и заметил точку с запятой.

Опечатки сложнее всего найти на языке, который не компилируется и не проверяется чем-то другим. Даже ошибки, подобные этой, будут затруднены на скомпилированном языке. Измените ==на, =и вдруг у вас есть назначение внутри if.


8
Вот где такие инструменты, как Resharper, действительно могут окупить себя - он выделил бы это как предупреждение и попросил бы удалить его.
— Яаков Эллис

24
Название является (предназначенным) каламбуром? : o
— Agos

3
@Rogue Coder: разница между одинарными и двойными кавычками исчезающе мала. Неправильное время тратить мозговые циклы, беспокоясь об этом. Смотрите тест в нижней части phpbench.com
— Джори Себрехтс

2
@ back2dos: Errr ... верно. Итак, вы рекомендуете отказаться от всех упомянутых языков в пользу haXe? Что-то, что впервые появилось в 2005 году? Вперед с этим.
— Джош К

10
Спасибо за аргумент в пользу стиля One True Brace. +1
— Эсвальд

28

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


1
Когда я только начинал, у меня тоже была такая мысль. Тогда я узнал, что других людей гораздо больше, чем чего-либо другого. Вот почему я сейчас пытаюсь написать лучший код (с комментариями), который я могу.

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

23

Моей самой большой ошибкой было думать, что программирование - это легкие деньги ...


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

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

4
@johnc то же самое можно сказать о большинстве профессий. Я, честно говоря, не понимаю людей, которые ходят в университет, чтобы "изучать программирование". Я начал, когда мне было 14 лет с K & R. Я поступил в университет, чтобы "изучать электронику" - но угадайте, что я все равно оказался программистом. Самые лучшие музыканты учили себя. Самые лучшие программисты учили себя. Такова жизнь.
— пп.

брат аминь, аминь
— Misters

23

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

Чтобы быть справедливым, мой работодатель должен разделить часть вины все же. У них была единственная копия этой базы данных, хранящаяся на Mac SE (да, это было давно), которую они предоставили мне (совершенно новый сотрудник, первая работа после окончания колледжа) в качестве моей рабочей станции и никогда даже не думали делать резервную копию.

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


15
Уч. Примечание для себя: всегда делайте резервную копию: даже если она уже должна быть.
— Крами восстановил Монику

1
@Karmii: Лучший совет, руки вниз.
— Крис

@Kramii - Рад, что я усвоил этот урок в начале своей карьеры.
— JohnFx

Вас не уволили?
— Матеин Улхак,

3
Там было достаточно вины, чтобы обойти. В то время я был еще ребенком и, вероятно, был более наивным, чем предполагал бы сегодня, предполагая, что настоящая компания сделает что-нибудь настолько глупое, как размещение единственной копии БД на моем рабочем столе. Опыт показывает, что глупо переоценивать готовность моего работодателя даже в большой компании.
— JohnFx

15

когда phpmyadmin спросил:

"Вы собираетесь УНИЧТОЖИТЬ полную базу данных! Вы действительно хотите DROP DATABASE xxx?"

Я нажал Enter.


26
Отличный пример того, когда защитное программирование помогло бы предотвратить серьезные проблемы. Если вы делаете что-то, что может привести к серьезным последствиям, например, к удалению таблиц / баз данных, ответ пользователя по умолчанию - «Нет», так что они должны АКТИВНО согласиться на действие.
— Хьюго

6
@Гюго: +1. У меня был профессор в Uni (бывший системный администратор Unix / database), который говорил: «Когда ты делаешь что-то серьезное, всегда убирай руки от клавиатуры и садись на них около десяти секунд и думай о том, что должно произойти».
— Бобби Столы

1
@Hugo: я иду дальше - «Вы собираетесь УДАЛИТЬ полную базу данных! Если вы действительно хотите DROP DATABASE xxx, наберите DELETE:»
— Лорен Печтел

3
@Hugo @Loren Pechtel - «Вы собираетесь УНИЧТОЖИТЬ полную базу данных! При поиске в сети вашего логина обнаружилось многократное появление« lol », и поэтому в этом действии отказано. Пожалуйста, обратитесь к администратору или научитесь общаться».
— детально

15

Не уверен, что это была моя «самая большая ошибка», но определенно запомнилась. В первую или две недели моей новой работы мне было поручено сделать небольшое «улучшение возможностей», которое включало изменение порядка сортировки некоторых элементов на одной из самых популярных страниц сайта. Я не был слишком знаком с базой кода, но быстро нашел соответствующий Comparator и добавил вызовы к нескольким безвредно выглядящим методам внутри метода compareTo, не слишком задумываясь об этом. Код протестирован локально и в QA без проблем и запущен.

В тот же день у меня был один на один с моим боссом, и с широкой улыбкой на лице он поздравил меня с тем, что я получил мою первую "особенность" в прямом эфире так скоро после присоединения. Мы оба посмотрели, как он зашел на соответствующую страницу, чтобы увидеть эту функцию в действии. Загрузка страницы заняла 47 секунд. Мое сердце замерло. Он обновил страницу: 53 секунды. Его улыбка исчезла. Я вернулся к своему столу и провел долгий вечер отладки и установки критических исправлений на сайт.

Оказалось, что одним из безвредных методов, которые я добавил, был вызов удаленной службы, который привел по крайней мере к одному обращению к БД. В каждом сравнении звонить. Итак, на странице, где сортировалось более 2000 элементов, я делал ~ 6000 (nlogn) посещений БД. Уч.


Был ли удар по БД очевиден в вашем коде или это произошло в каком-то методе / свойстве, которое вы вызывали?
— ДБКК

Удар по БД был фактически скрыт за методом, который выглядел как простой метод получения: я добавил вызов myObj.getFoo () в метод CompareTo. JavaDoc в соответствующем подклассе отметил возможность попадания в БД, но JavaDoc в интерфейсе myObj (на что я обращал внимание при написании кода) не упомянул ничего подобного. В любом случае, я думаю, что это явная демонстрация (а) неадекватного тестирования от моего имени и (б) того, что может произойти, если вы не будете следовать правилам именования.
— Евгений Брикман

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

15

Я сделал это:

rm -rf /bin

(На самом деле, я не сделал этого точно . Это было бы глупо и непростительно. Я сделал это более тонким, окольным путем, что привело к выполнению этой команды.)

Излишне говорить, что система Unix была непригодна для использования после этого момента, и ее пришлось переустанавливать. Я был начинающим сисадмином в то время, и старший парень, наблюдавший за мной, понимал.

Некоторое хорошее пришло из опыта. Я узнал, как составлять список каталогов без использования команд / bin.

echo *


11

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

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

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

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

Вскоре телефон зазвонил в офисе клиента ...

До сих пор это была единственная ошибка, из-за которой я подал в отставку.


+1 для реальных данных, значительно превышающих выборочные данные :-(
— nakedfanatic

ИМО, это один из худших> _ <
— sevenseacat

7

Однажды я использовал перекрестное соединение без фильтра. Отлично работал на тестовой базе данных с небольшой долей данных. Когда он был развернут, в среднем в запросе было ~ 60 миллионов строк.


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

7

Я разбил лазерный сканер за 100 000 $.

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

Когда последняя цифра была 0, она была опущена, поэтому ось Z была в 10 раз дальше.

Хиллариус последовал


6

«Нам нужно сделать переписать».

С другой стороны, это было пятилетнее приложение VB6.


5

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


17
Менеджеров редко увольняют за такие вещи. Чтобы добраться до уровня менеджера, вы должны очень хорошо прикрывать тыл; Вы, вероятно, стали козлом отпущения в ту минуту, когда покинули компанию. Может быть, вы могли бы справиться с этим по-другому, но не пытайтесь извиниться за это.
— Марк Рэнсом

если бы он все испортил, вас бы обвинили и уволили (или, по крайней мере, вы бы несчастны, пока не ушли с позором).
— jwenting

4

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

В середине его демонстрации, когда я выполнял какую-то работу с базой данных, я внес изменения в оперативную базу данных и обновил каждый вопрос опроса в каждом опросе до того же текста, что-то вроде «Это тестовый вопрос» из-за недостатка в ГДЕ. Мой коллега и я боролись за резервное копирование и съежились, надеясь, что он не демонстрировал этот раздел сайта прямо сейчас, а ждал письма со всеми заглавными буквами, которые с благодарностью никогда не появлялись.

Хорошей стороной было то, что босс, наконец-то, пришел в разработку.


3

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

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

Еще через 10 минут я заметил, что избранные элементы по какой-то причине менялись случайным образом. В этот момент меня осенило, что происходит. В интрасети используется проверка подлинности Windows, и некоторые функции (такие как выбор изображений новостей и рекомендуемые элементы) были закодированы для ответа на запросы HTTP GET. Средство проверки ссылок использовало мою аутентификацию и сканировало страницы администратора, лояльно выполняло свою работу и следило за всеми найденными ссылками, включая такие, как

/admin/displayItems/icon_update.asp?image=eastereggs.jpg&itemID=3174


7
Похоже, именно так многие люди узнают, когда уместно использовать GET и когда уместно использовать POST
— Oli

Согласен, я собирался начать работу по перестройке интранета, и это решительно поставило правильное использование GET и POST на первое место по требованиям. ASP MVC также помогает сделать это простым и интуитивно понятным.
— Чао

1
не совсем ваша ошибка, но тем не менее хорошая история :-)
— Дин Хардинг

3

До сих пор моей единственной ошибкой, вызывающей скручивание желудка, увеличение частоты сердечных сокращений, внезапно становящейся горячим и зудящим, был запуск запроса UPDATE без предложения WHERE. К счастью, за последние 15 минут была резервная копия, и данные менялись не очень часто, что означало, что я смог полностью восстановить данные в течение 10 минут, и никто не знал.

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


1
Разве вы, ребята, не ошибаетесь в БД, не называете откат?
— Jé Queue

@Xepoch, это помогает, только если вы начали транзакцию
— CaffGeek

1
@ Чад, разве мы не должны предполагать, что все вызовы данных должны быть неявно транзакционными?
— Jé Queue

2
@Xepoch, никогда не думай.
— CaffGeek

1
@Char, у меня есть личное предпочтение поддерживать все взаимодействия с БД внутри транзакций. Те, кто этого не делают, несут риск или имеют деловые дела, которым все равно. Предположение спецификации и MANDATE - это то, что мы начнем и будем поддерживать проекты кода с транзакционным управлением БД.
— Jé Queue

3

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

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

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


8
Блин ... Я хочу работать над роботами! Все, что я делаю весь день - это создаю паршивые сайты.
— Дэн Рэй

2

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

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


2

Случайно удалите производственную базу данных вместо версии для разработчиков. Я не видел, на каком сервере я работал. К счастью, последняя резервная копия была сделана 4 часа назад, и пользователь не внес много изменений в систему, поэтому нет большой потери данных.


У меня был сотрудник сделать это. Только он думал, что он сбрасывает свою локальную копию, а не обычную. Мы все работали, а потом услышали, как он сказал: «О, ШУ **» Это был веселый день.
— Тианна

2

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


не моя ошибка, но связанная. Компания я работал был одним из своих веб - серверов скомпрометированы, давая доступ взломщик корня к серверу управления версиями (DMZ Whazda?), Где он быстро выполнил «гт -r /»
— jwenting

2

Использование ==вместо equalsсравнения строк в Java


13
Это самая большая ошибка, которую вы когда-либо совершали?
— Крис

Это гораздо большая проблема в Java, где ==есть сравнительное сравнение. В C # ==выполняется сравнение значений в строках, как и в случае с .Equals() тем, что есть некоторые различия, см. Ответ Джона Скита здесь: stackoverflow.com/questions/3678792/…
— Тим Гудман,

2
@Tim: это до сих пор не объясняет, как это было «самой большой ошибкой, которую вы когда-либо совершали» ... Еще немного контекста о последствиях, по крайней мере, было бы неплохо ...
— Дин Хардинг

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

@Dean: Это была не самая большая ошибка, которую я когда- либо совершал ... Я просто разъяснял разницу в поведении здесь с C # против Java
— Тим Гудман

1

Я сказал своему директору, что тот факт, что он старше и имеет больше лет опыта, чем у меня, не означает, что я буду его уважать. Единственное, что я бы уважал, это СПОСОБНОСТЬ. Мне не пришлось сталкиваться с последствиями такого жалкого заявления, возможно, потому что я был младшим программистом, чем. Оглядываясь назад, это кажется моей ошибкой. Где был мой здравый смысл \ смирение ?? :-(


2
Я частично согласен с вами, только потому, что у кого-то больше опыта (в годах), не значит, что он лучший программист. Есть много программистов, которые могут написать «xx лет опыта» в своем резюме, но понятия не имеют, что они делают.
— Бобби

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

Чтобы было ясно, ошибка не имела такого отношения. Ошибка в том, чтобы сказать, что у вас такое отношение.
— Дэн Рэй

Я хотел сказать это многим людям за эти годы.
— Reasurria

1

Это случилось с коллегой в этом месяце.

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

Стоимость: месячная оплата SMS-трафика.


это дешево! :)
— jwenting

1

По запросу менеджера я скопировал /etc/sudoersс одной машины на другую (хотя это не решило бы проблему под рукой, но это не относится к делу). К сожалению, я обычно sudoперемещал скопированный файл на место, не замечая, что его владелец и права были полностью неверны. В тот момент ни у кого не было открытой оболочки root, никто не мог sudo, и никто не мог войти в систему как root, потому что его оболочка была установлена ​​в /bin/false. И машина была в удаленном хранилище данных ...


1

Я хотел создать файлы метаданных для каждого файла в каталоге (то есть для каждого файла somedir/foo.binя хотел бы создать файл somedir/foo.bin.meta). По какой-то глупой причине я решил создать файлы, открыв и закрыв поток файлов через Python:

for fn in os.listdir(path):
    open(os.path.join(path, fn), 'w').close()

По какой-то еще более глупой причине я подумал, что было бы разумно протестировать этот скрипт в каталоге на моем жестком диске с несколькими гигабайтами личных данных. Только после его запуска я понял, что на самом деле я забыл изменить имя файла до его передачи openи что я только что обрезал каждый файл в этом каталоге (ой).

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


1

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

Aaaaanyway, я сделал (незначительные) изменения в программном обеспечении. Я мог бы подождать, пока окно службы изменит его, но подумал: «Эй, перезапуск службы займет одну минуту, зачем беспокоиться. Фортуна любит смелых». Поэтому я перезапустил его, к сожалению, поток был заблокирован, поэтому я не смог его заменить. Начиная паниковать, я решаю быстро перезагрузить машину (я в удаленном режиме). К сожалению, в панике я нажимаю «установить обновления и выключение» вместо этого: P

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

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


1

Argh, 11 вечера, закрытие лаборатории, быстро, быстро ...

$ enscript -o midterm.hs midterm.hs
$ submit midterm.hs
Error: submission is empty

Боже, нет! FFS. Я имел ввиду PS ты ****!


Извиняюсь за языковой стиль, он нужен для аутентичности.
— Orbling

0

Некоторое время назад, когда я кодировал JS, я не смог различить «1» (один) и «1» «маленький L». Даже когда я печатал этот ответ, в редакторе оба выглядят почти одинаково!


Почему голосование против?
— Гопи

0

Я создал язык шаблонов сайтов , в ранней версии которого все параметры HTTP были неявно расширены как переменные. Это означало, что вы можете написать URL-адрес как:

page.vis? body = <body> <p> О, дорогой </ p> </ body>

И это будет делать именно то, что выглядит, как это делает.

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


0

Определенно неудача TSQL - слишком много операторов TSQL в одном окне редактора. Я немного устал, и люди перебивали меня влево и вправо, и я дал команду, которая обновила 47 000 записей адреса, города, штата и почтового индекса. Если бы это было исправлено примерно через 25 минут.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.