Ariane-5G - как потерять миллионы всего за 40 секунд. Компьютер убийца.
Ғылым және технология
Привет друзья. В этом видео мы расскажем историю ещё одного компьютера убийцы, на этот раз ошибка в коде уничтожила только технику. Но вот стоимость этой аварии была просто огромной.
- Заходите в наш магазин и покупайте DIY-электронику, а также все для 3-д печати! У нас нет донатов и это реальный способ поддержать канал, чтобы мы и дальше радовали вас новыми видосами!
amperka.ru/?...
Краткое содержание:
00:00 Интро
00:42 Ariane-5
01:38 Запуск Ariane-5
02:27 Расследование аварии
04:04 Виды ИНС
06:36 Хитрости предстартовой подготовки
07:45 Навигация в новой ракете
08:17 Где спряталась ошибка
09:59 Повторяем ошибку на современной системе
11:04 Выводы
Музыка:
filmmusic.io/song/6838-darkties
filmmusic.io/song/7412-cyborg...
filmmusic.io/song/6866-pumpki...
filmmusic.io/song/5717-terrib...
filmmusic.io/song/4656-flower...
Пікірлер: 482
Проц с ядром: - системная ошибка, оверхед пула, кернел паник! Помогите! Логгер: - я просто запишу это, ок
@deeznucz8639
2 жыл бұрын
Логгер: чувак с камерой из мемов
@wentysss
2 жыл бұрын
У логгера так то больше и нет задач, кроме как записывания состояния машины
Эту историю читал лет 12 назад, в каком-то компьютерном журнале. Заголовок был, что-то "Самая дорогая программная ошибка". Спасибо, освежил память.
Покрывайте код тестами. Покрывайте код тестов тестами. Покрывайте код тестов тестов тестами... (спустя несколько тысяч итераций) * переполнение стека *
@user-dv1nc2xo2w
2 жыл бұрын
:)
@dred77780
2 жыл бұрын
Жиза)))))
@stanislavk1546
2 жыл бұрын
Стэка мозга
@dimasokolru
2 жыл бұрын
Сюда нельзя вставить изображение, но думаю что все видели картинки из серии «unit tests passed, integration failed». И здесь тоже, отдельно взятые тесты не помогли бы совсем, от слова «никак». А так, вообще говоря, если для тестов нужны свои тесты, то все эти тесты написаны неправильно.
@NoiroStar
2 жыл бұрын
Кстати я вот буквально недавно думал что чем больше ты масштабируешь и уточняешь тесты, тем больше они начинают походить на копию приложения, которое покрывается тестами. Потому что я уже не знаю что сложнее - эндпоинты на беке который я тестирую, или интерсепторы которые я всё больше усложняю в сайпресе.
Жду когда ты соберёшь процессор. В оном из роликов ты обещал попробовать. Спасибо за 300 лайков.
@user-uc1hb6fo3r
2 жыл бұрын
+
@Chertolet1217
2 жыл бұрын
+
@user-ft4lw1lk9f
2 жыл бұрын
Согласен но у меня видео вышло 15 мин назад а твой комментарий 20 мин назад. Как?
@UbijcaSmerti2005
2 жыл бұрын
На макетке из транзисторов?
@LNLGv-ig8fb
2 жыл бұрын
Как он тебе его соберет
Отличный выпуск Выпуски на ракетную тематику усиливают желание увидеть новую ракету в вашем исполнении
@150_Pounds_Of_Toxic_Substance
2 жыл бұрын
мне во время просмотра пришло письмо от гикбрейнса!
@Partizanex
2 жыл бұрын
Неее пусть соберут генератор водорода кислорода работающий на солнечных Панелях.
Тоже программист и такие ситуации случаются очень часто: когда видишь ошибку и понимаешь, что код на все 100% должен работать правильно, но он почему-то этого не делает.
@Red.Igroman_bot.2.0
2 жыл бұрын
А почему такая уверенность, что он должен работать? Вы же помните, что у вас 16-bit и есть пределы. Если посмотреть на ситуацию в целом со стороны, то я бы никогда не посчитал полностью универсальным код, который рассчитан для работы при отклонениях не на все 360x180 градусов. Я бы добавил туда комментарий: # проверь штатный угол отклонения ракеты перед переносом кода. Ладно бы ещё величина переменной была бесконечной: например, высота орбиты в метрах, тут уж точно можно только взять некоторый запас, дальше которого ракета физически улететь не сможет, и записать в комментарии в коде, что при переносе его на новую ракету нужно проверять, не увеличить ли битность переменной согласно новым техническим характеристикам.
@aronarinkin8779
2 жыл бұрын
@@Red.Igroman_bot.2.0 комментарии наше всё
@dazbjaxnoname7611
2 жыл бұрын
@@Red.Igroman_bot.2.0 Вы явно НЕ программист. Во первых - вы уже знаете проблему, поэтому и советуете. Во вторых - проблема не в коде, а в отказе от тестов перед запуском. В третьих - вот код ошибки( переполнение в E_BH - для справки) P_M_DERIVE(T_ALG.E_BH) := UC_16S_EN_16NS (TDB.T_ENTIER_16S * ((1.0/C_M_LSB_BH) * G_M_INFO_DERIVE(T_ALG.E_BH))) G_M_INFO_DERIVE(T_ALG.E_BH)) - именно та функция которая брала 64 бита вещественного и превращала в 16 бит со знаком действительное. Кстати - если вы не в курсе, то весь этот код не использовался вообще. Тоесть в 5-й версии, он не был нужен.
Кстати норм заход для рекламы курсов тестировщиков был бы (:
@akazanova
2 жыл бұрын
Или для KSP 2
@Hbyh66_ug67
2 жыл бұрын
Любишь смотреть рекламу? 🤦🏻♂️
@arbuzno
2 жыл бұрын
@@Hbyh66_ug67 Нет, просто отмечает подходящее для неё место в шуточной форме
1:29 лайк за KSP)
@lonegall
2 жыл бұрын
Как раз собирался это писать. Лайк.
5:20 вместо МегаГерц (MHz) написано МиллиГерц (mHz). Монтажеру привет.
@TheRealNisem
2 жыл бұрын
мощный проц)) надежный как швейцарские часы))
Ошибку устранили... вместе с тем, кто её допустил)
@jetspaser5935
2 жыл бұрын
Мне кажется, такое только в нашей необъятной практикуют. Там все таки человеческий фактор сработал. Много, очень много людей допустило ошибку...
@alexanderXpetrov
2 жыл бұрын
У боинга вроде была история, когда была плавающая проблема в софте, которая отлавливалась только в полете, создавая очень стремную ситуацию для всех кто на борту. Её долго не могли пофиксить. В конце концов организовали демо полет для инженеров, которые бысренько пофиксили её, когда почуствовали на себе ее последствия)
@Red.Igroman_bot.2.0
2 жыл бұрын
Надеюсь, устранили окончательно, т.е. сделали возможной работу на любых углах отклонения вплоть до 180° (просто потому что здесь физически существует предел этого параметра)? А то окажется, что следующая ракета летит ещё круче и переменная снова не рассчитана на такие значения.
Ну, это просто супер! Рассказ про чью-то маленькую ошибку, которая обошлась очень дорого, и Антон на первых же кадрах говорит - знакомьтесь, Ариан-5, а показывает - Ариан-6 !!! Браво! )
7:40 аааааааа! Кто так строит? Лёха ты же инжинер.
@Rodogor_Hoenhaym
2 жыл бұрын
он так видит.
@user-sm9ro4zd2b
2 жыл бұрын
@@Rodogor_Hoenhaym но это не оправдание. Строить надо по нормальному.
@Rodogor_Hoenhaym
2 жыл бұрын
@@user-sm9ro4zd2b нормальный инженёр, нормально построил.
@robert1330
2 жыл бұрын
Да ладно гироскопов побольше и как струна полетит)
@user-sm9ro4zd2b
2 жыл бұрын
@@robert1330 это гиродины.
16 бит хватит каждому
@Thor_Odinssen
2 жыл бұрын
Ну что, битами померяемся?🤣
@gACZXC6ASDASD
2 жыл бұрын
Мне и 8 заголову
@user-su4is5je7y
2 жыл бұрын
а 512 битный процессор в 83 году на ВМФ СССР не хочешь?
@lava_frai
2 жыл бұрын
@@gACZXC6ASDASD юзаю 4x битный 😎👍
@ledle3949
2 жыл бұрын
@@user-su4is5je7y а поподробнее можно?
Мне аж захотелось в KSP поиграть
@timoshkaarmata8094
2 жыл бұрын
да кстати
@user-in1hy8dt2y
2 жыл бұрын
Мне тоже
Вот это я понимаю дебагинг кода)
Как у классика поётся: нельзя обосраться, но мы обосрались...
Очень здорово, что не просто рассказал, но и наглядно показал как ведёт себя эта "особенность" в компиляторе.
"Покрывайте свой код тестами", самое важное в этом видео.
@ZALMAN_AKILOV
2 жыл бұрын
Все ведь тестами не покрыть, производительность упадет. Там и так овер дофига параметров нужно вычислять.
@denispleshakov9437
2 жыл бұрын
@@ZALMAN_AKILOV вообще то здесь речь идет об интеграционном тестировании, которое выполняется перед релизом продукта, а не проверках в рантайме. Они никак не влияют на производительность, потому что существуют отдельно от продукта.
@Uni-Coder
2 жыл бұрын
@@ZALMAN_AKILOV Производительность упадёт... гм... во время тестирования. Какая неожиданность
@ZALMAN_AKILOV
2 жыл бұрын
@@Uni-Coder спасибо огромное, учту в будущем, а то пишу и не тестирую совсем, вот я дэбил
@natteft6593
Жыл бұрын
не экономьте на быдлокодерах
неплохо неплохо)) KSP одобряем)
А меня научили: перед делением в коде проверь знаменатель на ноль, даже если нуля там не будет никогда в жизни. А вот если не проверишь - то ноль обязательно проскочит.
@rawil6751
2 жыл бұрын
А это не сильно нагрузит систему?
@ChronosPauL
2 жыл бұрын
@@rawil6751 деление грузит намного сильнее, чем проверка условия
@dmitryvodolazsky
2 жыл бұрын
Угу, а потом окажется, что не ноль, но достаточно малое число в знаменателе -- тоже даёт переполнение. И твоя проверка была ни о чём. Полностью корректная работа с ошибками возможна только при реализации подсистемы обработки исключений (типа try-throw-catch). Более простые варианты всегда имеют грабли или сильно неэффективны, а если расширять функциональность до полного подавления граблей, то в итоге почти та же схема обработки по сути и получится.
@ChronosPauL
2 жыл бұрын
@@dmitryvodolazsky проверять double на ноль - надо быть альтернативно одаренным. А когда среднее или СКО считаешь - вполне рабочая схема. И не надо к мелочам докапываться, я указал принцип: даже там где нуля быть не должно, он может появиться
@dmitriibannikovasx
2 жыл бұрын
ахахах) Даже если знаменатель - константа, отличная от 0?
Кадры из ксп вставил, это мы одобряем
@Vlad_BY
2 жыл бұрын
Ксп это что ? Подскажи если не сложно. Поиск по фото херню выдает индийскую. Не смотрел, интересно.
@user-tx2ni2ge3g
2 жыл бұрын
@@Vlad_BY Игра Kerbal space program
Ура! Компьютер убийца продолжается!
Интересный контент. Спасибо за выпуск. Не знал про такую аварию.
Классный выпуск, почаще бы такое, очень интересно
За KSP респект конечно
Ещё один рассказ, где все произошло из-за переполнения переменной. Топ1 баг!
@user-bo7yz7wb1h
2 жыл бұрын
А как весело отлавливать такие ошибки. Спасибо производителям потребительского железа за вагон оперативки. Можно без зазрения совести везде использовать double
@brusherru
2 жыл бұрын
@@user-bo7yz7wb1h однажды и дабл может переполниться :-Р
@user-wm8ei7tu4t
2 жыл бұрын
@@user-bo7yz7wb1h а потом калькулятор гиг ОЗУ жрёт
Спасибо! Теперь есть то что смотреть перед сном
Только вот в этом примере, поведение при переполнении это скорее особенность поведения языка, а не процессора. Точнее даже компиляторат Попробуй тот же раст, и там будет совсем все по другому
@INshadow08
2 жыл бұрын
даже в C# для проверки переполнения есть `checked`
@natteft6593
Жыл бұрын
@@INshadow08 ещё один недоязык
Спасибо за видео! Было очень интересно)
5:21 - MHZ..., а не миллиГерц
@oleg__9479
2 жыл бұрын
Мегагерц
@oleg__9479
2 жыл бұрын
Мхз мегагерц
Интересно Ариан 6 :) тоже сразу запустят с полезным грузом "Ну всё-же работало на 5 версии".
Выпуск просто огонь, амперкины вы как всегда отличная команда.
Отличный видос жду еще таких)
Спасибо за видео.Коммент в поддержку!
Я на кружке делаю всяких роботов на конкурсы. Мне дали задание: перенести программу с одного робота с какой-то штукой на подобие радара на другого. Я перенёс без изменений, ведь на моём она работала нормально. Но я не учёл, что у меня стоит Ардуино Уно, а там- Мини. Естественно там по-другому были воткнуты провода. Я включаю робота с новой программой, начинаю им управлять. Левая и правая гусеница работали нормально. Потом я начинаю вращать"Радар"... Робот начал хрустеть и передачу на радаре разломало к чёрту. Вот ещё один урок: всегда проверяйте пины на платах, пожалуйста.
1:33 ksp
нужно подобные ошибки в курс собирать и преподавать в университете, с более подробным разбором, а курс назвать, как не стать говнокодером
Я один подумал что 5G это то самое 5G?
@mentter
2 жыл бұрын
Ага
@jecovseva2257
Жыл бұрын
Да 😂
2:03 дорогой же фейерверк вышел.
Вся суть ошибки Машины должны быть безопасны для человека. Переполнение буфера для переменной: Машины должны убивать человека!
@alexgordon4634
2 жыл бұрын
Беспилотные такси - игра в рулетку(с одним боевым патроном)
Леха, мы не эту ракету ждали! Но всеравно интересно. Есть ещё идеи по вжмванию после большого П?
Можем спать спокойно, Арнольд грохнул Скайнет )
@chaoskrl
2 жыл бұрын
Поправка: Скайнет выбрал не тот тип переменной и грохнулся сам.
@dalipot2747
2 жыл бұрын
@@chaoskrl В этой вселенной Скайнет сделал харакири)
@chaoskrl
2 жыл бұрын
@@ssh7437 Этот точно сам развалился. Имел фатальный недостаток и кучу мелких багов.
@chaoskrl
2 жыл бұрын
@@ssh7437 Не, мой батя в конце 70-х это предсказывал. Только, поскольку был глубоко советским человеком, смотрел на это под другим углом, что мол "маленькая штучка моё" постепенно одерживала верх над идеей коммунизма.
@chaoskrl
2 жыл бұрын
@@ssh7437 да он и цитировал эту фразу "маленькая штучка моё" из какой-то советской классики. В этих "окнах" я так понял, что это лженаука какая-то, но у СССР были и чисто объективные причины, чтобы развалиться... Например, гиперцентрализация, которая сейчас и у ГОРФ есть.
Лайк за нарезку из KSP)) порадовал
Очень интересно 👍
Безусловно лайк!
Лехина ракета обошлась дешевле…
@akaruiakarui9893
2 жыл бұрын
А если не видно разницы..)
Чтоб "Протон" совершил подобный кульбит, так серьёзно не заморачивались - хватило пару штифтов спилить при установке датчиков угловой скорости ))
Привет создателям софта для Боинг 737MAX
@Noname-fl4cf
2 жыл бұрын
Там нету так таковой ошибки, код работает так как написан без багов, там как бы сказать... Недоработка.
@user-eq3wk6qs3m
2 жыл бұрын
@@Noname-fl4cf От этого только страшнее. 2 самолета упало, погибло 315 человек.
@alexlinde6695
2 жыл бұрын
Там другое - там знак обратной связи поменялся на противоположный, и девайс ушел носом в землю, а должен был наоборот. Все-таки программерам таких вещей ДОЛЖНЫ читать основы ТАР, даже если это индусы.
@Noname-fl4cf
2 жыл бұрын
@@alexlinde6695 там просто был неисправен датчик угла атаки, а великие программисты из боинга не учли ситуацию что он может быть неисправен и давать неверные данные. При этом ПО брало данные только с 1го датчика, даже если остальные были исправны. Датчик показывал что нос задрат - ПО пыталось его опустить, хотя это было не так. А пилоты не предприняли неправильные действия по устранению проблемы + это был в обоих случаях взлет и как следствие низкая высота
оп, на 5 минуте Амперка говорит 12-33 мегагерц а обозначил в ролике как mHz, то есть милигерцы. Ай-яй-яй, вот из-за таких вот мелочей ракеты и разбиваются. ))))
@AmperkaRuOfficial
2 жыл бұрын
Блин. Точно. Столько раз смотрел и не видел...
! Ждём от Амперки - сборка простого процессора на простых транзисторах !
Думал сначала, про аппарат для лучевой терапии расскажешь, про ракету не слышал ранее, благодарю.
@AmperkaRuOfficial
2 жыл бұрын
уже было )
круто , продолжай.....
Спасибо за ксп амперка!... Кстати для ксп есть адд-он Kos он добавляет возможность программировать корабли на бэйсике
классный разбор.
Подскажите пожалуйста кадры из какого фильма использовались в моменте с 9:13
7:40 Бедные кербонафты, остались на орбите Кербина навсегда.
Читал байки про программистов еще во времена FIDOnet в районе 1996-2000 годов. Эта история там была. И еще несколько историй, в которых ошибки программистов привели к различным потерям. Найти бы тот текстик...
Из-за казалосьбы такой мелочи. Познавательно 😊👍
огонь выпуск
Статический анализатор кода мог бы найти эту ошибку
запуск... установка тяги двигателей 80... высота: 1000 м Ошибка совместимости! Переполнение переменной! Диагностика установка положение ракеты: 90* Аварийное завершение работы 1 модуля... Аварийное завершение работы 2 модуля...
Технобайки. Лучшая рубрика 👍👍👍👍👍❗❗❗❗👍👍❗❗❗
Так у нас почти так же недавно ракету угробили при запуске с Восточного. Код ориентации исправно работал на Байконуре десятки лет. А запустили с восточного - стал крутить ракету не в ту сторону. Детская ошибка в коде стоила много лямов.
Не по колокольчику а по зову сердца)))
Ну,если франция,то Ариан,а не эриан :) у французов все по-человечески.
legacy код - он такой. когда его писали были свои ТЗ и ограничения, т.е. условия, в которых он работает. может ввести в заблуждение, что он будет всегда работать во всех условиях, если он долго эксплуатировался и всегда работал корректно (в пределах условий ТЗ). на эти грабли многие наступают.
1:55 - физика ksp))) Кто понял тот понял...
инфа стухла лет 20 тому назад. расскажи про новые баги-убийцы!
Вот почему мне запуски любых ракет кажется как начало 3 мировой...
Аххаах видос серьёзный но геймплей где балуются в KSP
Технобайки это конечно хорошо, но где рука терминатора? А где законченный проект робота с Интро? Обещали закончить. А вообще может устроите конкурс кто лучше сделает данного робота?(награду естественно вам придумать)
лайк, но видеоряд отвлекает и вообще бессмысленно вставлен 🤔
О Лёха вернулся
Ничего не понятно. Но очень интересно 😀спасибо
Было бы символичнее, если бы не поместившееся число затёрло адрес возврата на стеке
Вот что значит говнокод на 500 миллиардов зелёных! 1.Ракета 💥 2.Ученые😵 3.Увидели говнокод 🗿
@maksim5225
2 жыл бұрын
При том что программист наверняка сделал всё по тз. Там наверное так и написано было "нужно 16 бит". Вот к чему приводит, когда люди делают отдельную часть и им не дают даже думать где и как она будет находится в большом проекте. А ведь к этому стремится наше общество. Каждая пчёлка делает свою маленькую работу не понимая куда весь рой движется. Что то политикой запахло. Ну да ладно.
Ну так C и С++ не контролируют неявное преобразование типа, оно всё равно будет сведено к явному на этапе компиляции, разве что для отдельных случаев будет выдан варнинг у некоторых компиляторов в некоторых случаях (также из-за перегрузки функций C++ рекомендуется следить за типом операндов операций и аргументов функций вручную, иначе может быть вызвана не та функция с тем же именем). Явное преобразование - обычная операция в C и С++, её корректность не контролируется ни во время компиляции, ни во время исполнения. Переполнение - не совсем корректный термин для операции преобразования плавающего в целое. У плавающего своё переполнение, у целого своё. Конкретно при преобразовании double в uint16, вначале произойдёт преобразование в самое длинное целое (long например), а затем старшие биты будут просто отброшены. Вообще именно так (отброс старших битов) и может завершится самая обычная операция с целым (мультипликативная, аддитивная). И в стандарте многих языков это не является ошибкой! Целочисленное переполнение часто не контролируется вообще. Можно настроить компилятор на генерацию исключения отдельно. (В тоже время плавающее переполнение - всегда ошибка.) Есть ещё способ преобразовать плавающее в целое - изъятие мантиссы с отбросом экспоненты по маске в побитовой операции из союза (union) в составе double и 64-битного целого. Но такой способ не является универсальным, ибо нужно точно знать низкоуровневый формат плавающего, а он в стандарте языка не задан и варьируется у ЭВМ. Здесь вообще невозможно переполнение, по сути - это тот же отброс битов. Поэтому для корректного преобразования рекомендуется воспользоваться функциями, часто самописными, чтобы гарантировать обработку ошибок. Что же до неконтролируемости целочисленного переполнения, то оно бывает и полезно. А именно - такое поведение в мультипликативной операции есть по сути аж две операции подряд - умножение и остаток от деления на (длину максимального целого + 1). И в 32-битных генераторах псевдослучайных чисел формула R[i]=(R[i-1]*M)%L сокращается до R[i]=R[i-1]*M, где R[] - последовательность псевдослучайных целых, M - множитель последовательности, L - длина цикла последовательности (константы L и M подбираются особо и зависят друг от друга, для L=2^31 существует не так много приемлемых M, одно из которых, 65539, даёт в прошлом весьма распространённый алгоритм RANDU).
лайк за Kerbal Space Programm ))))
Разрабатывайте сначала тесты, а потом код :) Test driven development
«Техника попала на тот свет»! Новое слово Амперки в теологии ))
4:10 Я не видел не разу не на одном смартфоне ни одного гироскопа, только датчики притяжения.
произошел шиндовс хас стоппед воркинг!!!
Интересно)
Так в чем был баг? Это из разряда - пришел баг с работы домой, весь грустный грустный. Жена спрашивает его, что случилось, дорогой? А баг и отвечает - ты прикинь, эти уроды что придумали... Издали какие то документы... Теперь я не баг... Я фича..
А зачем Kerbal space program на задний план лепить? Кто не знает, загуглите, это может перевернуть вашу жизнь)
в этом замешен ИИ или иллюминаты... стоп... они же заодно!
Очень странно, почему они не использовали MISRA. Решили, что авось пронесёт?
"Ракета против Лехи. The phantom pain"
То чувство когда смотришь это видео в перерыве между написанием тестов)
Громкое название - "Компьютер - убийца" Ну так дело было не в бобине... Тут скорее "Инженеры - тупицы".
@IreneRadix
2 жыл бұрын
Кликбейт) Но вообще я бы сказала, что мне всё равно очень нравится рубрика, ибо меня мотивирует, что другие прогеры и инженеры тож косячат) Помогает не впадать в депрессняк, если у меня что-то не получается
@IreneRadix
2 жыл бұрын
Собственно, к счастью, по-другому компьютеры пока убивать не могут
@AmperkaRuOfficial
2 жыл бұрын
@@IreneRadix ну нееееее kzread.info/dash/bejne/lmd5sMSjhbfcYKw.html и kzread.info/dash/bejne/eWGIxqt_f6vJh7w.html
@IreneRadix
2 жыл бұрын
@@AmperkaRuOfficial , смотрела. Там тоже ошибки программистов, хотя последствия страшнее P.S. Естественно, программировать что-то важное типа компов на самолётах, ракетах, медицинских приборах и.т.п. я не пойду
Крутое видео я тебя смотрю уже 2 года так держать
11:00 Чтобы компилятор выдавал предупреждения о "стремных" преобразованиях, нужно включить расширенные предупреждения в части преобразований. В gcc за это отвечает опция -Wconversion . В данном случае gcc честно предупреждает, что здесь результат преобразования может оказаться неожиданным. Да и вообще стоит включать -Wextra и -pedantic для пущей строгости. )
@mrkotyuk
2 жыл бұрын
мне вообще интересно зачем он gcc использовал, есть же прям предназначеный для винды msvc...
Симуляцию делали в Кербал?)
При использовании С++ можно включить что при даунсазинге автомачтиески проверяются границы и выдается эксепшн
Леша, ты на 3d today fest поедешь?
Где видео про float?
Расскажи как падают самолеты с четырехкратным резервированием вычислительных блоков. Из за плохих контактов. Или из за чего происходят аварии под управлением автопилотов.
я когда переписываю свою программу часто использую куски кода старой, как итог надо переписывать еще раз
А они автопилоты на машины ставят. )
@dmitryvodolazsky
2 жыл бұрын
Человек всё равно глючнее. Уж слишком у него был безалаберный программист, лепил "как получается" и "из того что было".
Всё хорошо и интересно, только она не Эриан, а ариАн. И разработка преимущественно французская...