Pull to refresh

Comments 29

А меня есть тоже пара уроков, вынесенных из аварий в космосе и в самолетостроении. Данные уроки больше для разработчиков электроники, а не только софта:


  • Всегда имей "Черный ящик" — т.е. еще до того, как система или устройство разработано и запущено, предусмотри систему сбора данных на случай сбоев или отказов для возможности пост-анализа. Пусть это будет простой лог файл или буффер — но обязательно предусмотри. Не рассчитывай, что тебе кто-то расскажет, как все было. Когда твое устройство накроется, а ты не будешь знать почему — это поможет.


  • Это тоже из космоса: Никогда не пытайся решить проблему (или фиксить баг) на обум, т.е. пока ты не докопаешься до причины. Потрать 1-2-3 дня на выяснение, даже если ты уверен, что решение займет минуты.
    Слишком часто я видел уверенных программистов, которые смотрят на проблему и говорят мне:
    — А, я догадываюсь в чем проблема, счас пофиксю за 5 минут.



Прихожу на следующий день:
— Пофиксил?
— Нет, не сработало, счас работаю над вторым вариантом
— Сколько времени надо?
— Да, не больше 5 минут.


На следующий день:
— Пофиксил?
— Нет. Этот вариант тоже не сработал, но у меня есть…
— Стоп! Теперь предлагаю я. Что ты сделал, чтобы лучше диагностировать дефект? Ты пробовал его воспроизвести в этой ситуации?
— Нет.
— А в этой?
— Нет, это займет 5 часов на написание теста, а у нас нет времени…
— Да, но я знаю, что через 5 часов мы будем знать больше о дефекте, чем до этого. Поэтому делай. И я даю тебе еще целый день на то, чтобы ты добавил отладочные порты, а не жду от тебя фикс..


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

Как же приятно было читать этот комент! Мне уже казалось что я один так считаю. За 10 лет опыта в разработке электроники, я работал всего в одной конторе(из 5), которая вываливала максимум диагностической информации и на это выделялось отдельное время. У всех остальных нет времени на то, чтобы это сделать. и потом тратятся месяцы, на то, что можно было бы пофиксить за часы, если бы предварительно было заложена неделя на добавление хоть какого-то логирования.
На каждом митинге, где я упоминал про необходимость логов, на меня смотрели как на фрика и крутили пальцем у виска, «да какие логи! на это нету времени! просто не будь рукожопом!» и другие сказки о мифических единорогах-ниженерах, которые делают всё с первого раза и никогда не ошибаются.
Ну я тоже всегда так делаю. Но я-то как раз по первому образованию — инженер-ракетчик :-)
ни НАСА не знали об испытании

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

Это в шестом своём полёте, на МКС в 2003 году, он был командиром экипажа.
А в 1997 — бортинженер-2 на Мире.

Действительно. Что-то я напутал.

UFO just landed and posted this here

История с Волыновым напоминает ещё историю с катастрофой Ту-104, командир которого во время падения передавал в эфир показания приборов — самому́ ему это не помогло, но переданные сведения помогли потом исправить другие экземпляры той же модели.

Ещё одно правило, почерпнутое «из космоса» — когда работаешь на удалённой системе и вносишь изменения в конфиги, продумай автоматический откат к текущему состоянию в случае, если что-то пойдёт не так

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

Только не забывай её выключать, когда работаешь с удалённой. А то при попытке связи с "Луной-3" ответы имитатора из соседнего здания приняли. Хорошо, время было, и успели его выключить.

не зря одно из правил админа: через терминал удаленного доступа все сервера кажутся одинаковыми

Вот прямо рекомендую цветовую маркировку. В настройках терминала поменять черный дефолтный цвет фона на какой-нибудь другой. И к этому еще расположение терминалов на рабочих столах: на первом столе — боевые сервера, на втором — тестовые, и т.д. Банально, требует некоторой дисциплины — но помогает!
+100.
Как-то раз по-ошибке набрал halt не на локальной машине, а в консоли, подключенной по ssh к удалённому контроллеру.

Пришлось ехать на другой конец города, включать.

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

А тут уже, кажется, кашу маслом не испортишь! :-) И в баше цвет, и имя хоста в заголовок окна. И строгая рекомендация иметь открытым только один прод (хочешь другой — закрой тот, открой этот — или хотя бы сверни!). Разные названия БД у разных клиентов. Рекомендация не цепляться к проду через pgadmin, а только через psql (так фон будет разный, а pgadmin везде одинаковый). Но общий смысл один — увеличить дистанцию (цветовую, пространственную, временную) между окнами в разные серверы. А то да, страшновато…
И не запускать там обновление системы пока там работает архивация.
из примет:
удаленно настраивать фаервол - к дальней дороге.
Очень любопытные параллели — спасибо за нестандартный подход.
Спасибо, очень интересно. Из космического добавлю «Фобос»: ни когда не ленись прогнать программу с изменениями на стенде-имитаторе, какими бы ни банальными они ни казались.
Измученный разработчик библиотеки, работавший ночью, пропустил всего один пробел

Чего стоило этого бедному разработчику!
UFO just landed and posted this here
Интересно, что Волынов после такого фактически падения смог восстановится и добиться возвращение в отряд космонавтов. И даже полетел в космос ещё раз.
Лучше пока статью не читать — много фактических ошибок в переводе, которые меняют смысл (переводчик не связывался со мной, как автором для вычитки). Сейчас отправлю список ошибок автору.

«Люди, ЗНАВШИЕ меня лично»

Они слишком много знали
Перевод исправили — теперь всё ОК

Книга Чертока Ракеты и люди очень информативна в этом плане. Как они ракеты испытывали. А еще мемуары Грабина. Про испытания пушек

UFO just landed and posted this here
Sign up to leave a comment.