48

Большой сюрреализм или яхта "Беда"

Кто в курсе, поймёт. Кто не в кусре, детали в комментах.

Где-то в недрах macOS:

Большой сюрреализм или яхта "Беда"

IT-юмор

7.5K постов53.3K подписчиков

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

21
долболед
Автор поста оценил этот комментарий

Сам программист. Для работы потребовалось срочно обновить xCode и macOs. При установке оси Big Sur на mac-mini вылетает непонятная ошибка. Наши технари видать уже в кусре и сказали, что надо переставить планку с памятью в другой слот. В общем, ребята из Apple удивили.

Иллюстрация к комментарию
Иллюстрация к комментарию
показать ответы
сын маминой подруги
Автор поста оценил этот комментарий

Я не знаю Objective C совсем, С++ знаю. Код из поста это не С++, предположил, что эппловский Objective C.

раскрыть ветку (1)
5
долболед
Автор поста оценил этот комментарий
Код из поста это не С++

Да неужели

https://onlinegdb.com/cWsKWOCoe

показать ответы
3
Автор поста оценил этот комментарий

Для полноты картины вместо камента надо вставить

throw std::logic_error("not implemented");

раскрыть ветку (1)
4
долболед
Автор поста оценил этот комментарий

Лучше так

Иллюстрация к комментарию
показать ответы
сын маминой подруги
Автор поста оценил этот комментарий

Ну ОК, забыл, за 10 лет простительно, такое считалось говнокодом (вынос метода вне класса), поэтому при разработке по сути не использовали.

раскрыть ветку (1)
4
долболед
Автор поста оценил этот комментарий

Чем плох вынос метода из класса?

показать ответы
3
Автор поста оценил этот комментарий

Да не, никакой паники. :) Просто сам было чуть не принял за чистую монету, потом засомневался.

раскрыть ветку (1)
6
долболед
Автор поста оценил этот комментарий

Ахуеть. Я и не думал, что код, состряпанный на коленке, может быть воспринят как реальный.

Иллюстрация к комментарию
показать ответы
сын маминой подруги
Автор поста оценил этот комментарий

Я думал реальный код из Object C.

Кстати, изначально говнокод, т.к. функция/метод реализуется одной строкой.

раскрыть ветку (1)
8
долболед
Автор поста оценил этот комментарий

Позвольте спросить, отличаете ли вы Objective C от других C-подобных языков или попросту решили выебнуться?

показать ответы
5
долболед
Автор поста оценил этот комментарий

Отрефакторил по результатам кодревью. Удалил лишние строки и поправил комменты.

Иллюстрация к комментарию
показать ответы
5
Автор поста оценил этот комментарий

@moderator, к посту есть вопросы. Добавьте это в пост, чтобы не вводить людей в заблуждение.

раскрыть ветку (1)
4
долболед
Автор поста оценил этот комментарий

Без паники. Добавил тэг "Юмор".

Иллюстрация к комментарию
показать ответы
5
Автор поста оценил этот комментарий

Так это реальный код установщика или ваши фантазии?

раскрыть ветку (1)
4
долболед
Автор поста оценил этот комментарий

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

показать ответы
1
Автор поста оценил этот комментарий
А рабочий код делают как-то по-другому??
раскрыть ветку (1)
1
долболед
Автор поста оценил этот комментарий

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

0
Автор поста оценил этот комментарий

Спасибо ) они были плавающие и незаметные, и не сильно мешали. Я их не то чтобы жёстко искал. Потом разобрался, конечно.

раскрыть ветку (1)
1
долболед
Автор поста оценил этот комментарий

Был как-то плавающий баг, приводящий к крашу. Забегу вперёд. Проблема крылась в обращении к сырому указателю на удалённый объект. Падало не сразу, через несколько секунд после обращения и то не всегда. Мучался, конечно, не год. Но за пару дней нервы поистрепались.


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

показать ответы
2
Автор поста оценил этот комментарий

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

Правда, я не знаю, есть ли double channel на маках, но, опять же, было бы странно, если нет.

раскрыть ветку (1)
1
долболед
Автор поста оценил этот комментарий
я плавающие глюки один раз год искал

Сочувствую

показать ответы
5
Автор поста оценил этот комментарий

Память - штука странная. У меня было несколько материнок, которые глючили, если память вставлена во второй слот. А то и не работали. При этом при вставке в первый слот или в оба (четыре, восемь) слота всё работало.

раскрыть ветку (1)
1
долболед
Автор поста оценил этот комментарий

Есть гипотеза, что это ради оптимизации. Типа память в первом слоте шустрей работает. Ну или всё таки просто косяк в драйверах.

показать ответы
0
Автор поста оценил этот комментарий

неподскажите неплохие курсы по изучению луа?) можно на английском

раскрыть ветку (1)
0
долболед
Автор поста оценил этот комментарий

Не, не подскажу

0
Автор поста оценил этот комментарий

вы серьёзно?? после обновления тоже вылетает всегда ошибка(

раскрыть ветку (1)
0
долболед
Автор поста оценил этот комментарий

Да, серьёзно.

показать ответы
Автор поста оценил этот комментарий
На это вроде варнинг обычно кидает типа redefinition)
раскрыть ветку (1)
0
долболед
Автор поста оценил этот комментарий

Только слабаки обращают внимание на варнинги. Настоящие суровые разработчики предпочитают фиксить свершившиеся краши.

показать ответы
0
Автор поста оценил этот комментарий
я пытаюсь понять код, зачем он там нужен, хоть какими то нелепыми обьяснениями
раскрыть ветку (1)
0
долболед
Автор поста оценил этот комментарий

Не с той стороны заходите. Код в посте особого смысла не имеет. Его цель - через язык C++ выразить забавную ситуацию с обновлением mac os.

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

Свободен слот или нет, не важно. Объект класса Slot существует априори. Он не может быть null. Но он может содержать, лио не содержать объект класса Memory. Следуя вашей логике должно быть slot.GeMemory() == null.

показать ответы
Автор поста оценил этот комментарий

Если в устройстве только один слот памяти, то данный код работать не будет...

раскрыть ветку (1)
0
долболед
Автор поста оценил этот комментарий

Вы случаем не причастны к релизу Big Sur ?

показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества