Публикация
Мир роботов

262/335

Комикс Мир роботов: выпуск №262
Изображение пользователя agogin
#1514785agogin=59006151
Огонь вообще. Очень интересно
Изображение пользователя agogin
#1514790agogin=59003316
Тот самый дальний кордон куда Михалыч привёз какую то херотень, которая на 2-м VR уровне выглядит как метеорит нацеленный на землю.

Что там интересно? Дроп базы по условию?
Изображение пользователя SVlad
#1514792SVlad=59002649
Хм, похоже, и правда всё идёт к тому, что это не киберпанк-зомбиапокалипсис, а производственный роман про отлов легаси бага, приправленный буйной фантазией Озимова.
Изображение пользователя SVlad
#1514793SVlad=59002368
Хм, ну в начале мы имеем цикл, который по факту выполнится 2 раза, для i=1 и i=0. На втором проходе он выйдет - и это фикс Михалыча. А до этого был вечный цикл.
А на втором - попытка достучаться до сервера второй раз, если первый раз пришёл нулевой ответ.
И судя по имени индуса в первом блоке, просто кусок скопирован откуда-то и потом некорректно поправлен под нужды. Уверен, там на самом деле вообще один проход нужен.
Изображение пользователя itsnotrobots
#1514795itsnotrobotsАвтор=59001505
Есть ещё фича редакторов кода. В них можно посмотреть историю исправлений, в том числе вывести, кто писал какую строку. Часто можно видеть решение от одного человека, и сразу понятно, что оно не работает. Потом бывает исправление строками от другого человека. Иногда оно смешное.

Или ещё байка. Как-то раз у меня был коллега. Он писал код так, что каждый раз, когда у нас был баг, я точно знал, что это в его коде. Также он форматировал не так, как в остальном проекте. И я специально его не поправлял. Потому что по форматированию было удобно видеть, где надо искать косяк.
Отредактировано «itsnotrobots» 12.02.2023 19:32:58
Изображение пользователя ForNeVeR
#1514799ForNeVeR=59000610
Такой ли уж вечный тут был цикл? Разве он не закончится на переполнении? Или какая там в пыхе система типов?
Изображение пользователя agogin
#1514800agogin=59000429
#1514799
там от единицы вниз в отрицательную зону уходит, а не вверх до 10 как видимо задумывалось.
Изображение пользователя itsnotrobots
#1514805itsnotrobotsАвтор=58999179
Пожалуй, на переполнении он действительно закончится. Я подумаю на эту тему. Ну то есть, моя идея была в том, что это действительно бесконечный цикл :) Мне кажется, так ещё смешнее.
Отредактировано «itsnotrobots» 12.02.2023 20:16:21
Изображение пользователя SVlad
#1514810SVlad=58997141
https://www.php.net/manual/en/language.types.integer.php
If PHP encounters a number beyond the bounds of the int type, it will be interpreted as a float instead. Also, an operation which results in a number beyond the bounds of the int type will return a float instead.

В пыхе нет переполнения - превращаем во float и фигачим дальше. Там он рано или поздно или дойдёт до минус бесконечности и там и останется, так как -INF-1 == -INF, или вообще застрянет по дороге, когда шаг значений в float станет сильно больше 1 и число просто перестанет уменьшаться.
Изображение пользователя HJK
#1514818HJK=58995375
Оу, в PHP действительно PHP_INT_MIN -1 == PHP_INT_MIN а я решил, что это изящное решение как в С типа INT_MIN - 1 == INT_MAX.

Упс второй код что-то мне напоминает - у меня как то так доступ к БД был реализован. только еще сверху завернуто в автомат состояний с переменным временем для повторных попыток доступа. Через 10 лет теперь я сам не помню как это работает.
Отредактировано «HJK» 12.02.2023 21:17:20
Изображение пользователя SVlad
#1514819SVlad=58994715
> а я думал это изящное решение как в С типа INT_MIN - 1 == INT_MAX

На самом деле там undefined behavior.) Но вроде все компиляторы просто следуют тому, что происходит в целевом процессоре - а там обычно зацикливание.
Изображение пользователя HJK
#1514843HJK=58977360
>На самом деле там undefined behavior
Если правильно помню, там просто флаг в регистре выставляется и все - его можно игнорировать. Хотя интерпретаторы работают с виртуальной машиной, так что может быть что угодно да и компиляторы могут наоптимизировать.
Изображение анонимного пользователя
#1514855Anonymous=58968509
вот и настал этот день :)
я лучше понимаю комикс, чем комментарии к нему :)
Изображение пользователя itsnotrobots
#1514874itsnotrobotsАвтор=58949997
А здесь можно не понимать, это фансервис для программистов
Изображение пользователя SVlad
#1514894SVlad=58944414
> компиляторы могут наоптимизировать.

Могут именно потому, что в стандарте написано про undefined behavior. Чисто формально программа вы этом случае может хоть диск форматировать - undefined же.)
На практике всё таки происходят не столь разрушительные, но всё равно странные вещи:
https://avva.livejournal.com/3500861.html
Изображение пользователя itsnotrobots
#1514917itsnotrobotsАвтор=58940992
Какой интересный жеже вы залинковали. Я когда учился в институте, там работал чувак с логином avva. И поскольку тогда не было бесплатных емайлов, первый емайл который я использовал в моей жизни был его, он мне разрешил его где-то указать.
Отредактировано «itsnotrobots» 13.02.2023 12:19:45
Изображение пользователя HJK
#1514935HJK=58932656
>Могут именно потому, что в стандарте написано про undefined behavior. Чисто формально программа вы этом случае может хоть диск форматировать - undefined же.)

Вот поэтому в языках связанных с промышленным железом есть типы
SINT/USINT, INT/UINT, DINT/UDINT, LINT/ULINT. Может немного неоптимально, зато поведение предсказуемо.
Изображение вашего профиля
AnonymousЗарегистрироваться