All streams
Search
Write a publication
Pull to refresh
-1
0
Send message

То есть сначала вы узнали об эксперименте, проверили его и выяснили, что его не было. Формально это и есть критическое мышление: взяли мысль и проверили её на достоверность. Но дальше вы утверждаете, что существовали другие эксперименты с похожим результатом, только названные иначе. Что это меняет?

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

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

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

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

А если по резюме откликнулись в почту и сбросили вам ссылку на Яндекс диск, где лежат 2 ворд файла, один код, где всё классы по порядку записаны на 40+ страниц, а второй это вопросы, где лежит список вопросов по коду с заметкой что ответ должен быть днём в ВС. Напомню что прислали в сб вечером и поставили уже сразу какие то условия, как будто заранее договорились с человеком о том что ему придут вопросы на которые ему нужно ответить за определённое время. Один из вопросов спрашивает какие классы и функции есть в подключённых пространствах имён, притом что таких пространств имён подключено несколько. Вопрос, какова длина портянки должна быть чтобы перечислить всё классы в пространстве имен и указать их функции? Мне просто интересно это нормальное явление в таком формате относится к людям, что даже на гитхаб залить проект было сложно, ещё и сроки, как будто человек каждую секунду просматривает почту чтобы уловить ответ работодателей с hh.ru в тот же момент.

У меня такое было только 1 раз когда я ковырял cuda ядра для распараллеливания вычислений на видеокарте, там просто вылетала ошибка краша памяти через определенное время работы и то даже в этот момент я понимал что проблема была в коде который идет на видеокарте

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

Не мой код, так что не ко мне вопросы) я только его из памяти восстановил как запомнил

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

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

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

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

Да, только я на своем игровом движке тоже асинхронное программирование использовал и знаю какие моменты могут возникнуть если lock не поставить перед изменениями данных и там довольно тривиально такие вещи отслеживаются. Когда значение должно быть одно, а валяется там другое значение значит произошла перезапись из другого потока, следовательно смотрим где данная переменная используется и изменяется, и проверяем стоит ли lock чтобы данные корректно записались или нет. Так что даже "фазы луны" можно отследить.

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

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

Повторил специально для Гуру здесь сидящих тот же самый тестовый код, тут 3 ошибки на мой взгляд, если назовете 2 которые назвал я, то значит вы автоматом считаем провалили собеседование как и я. Если укажите на ту самую ошибку то видно я где то знания упускаю, а вас точно бы взяли. Результаты оглашу позже

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

То есть вы лучше знаете что от меня требовали на собеседовании на котором вас не было? На Хабре как я понимаю это распространённая практика делать выводы о том о чем понятия не имеешь, все же гуру. Так вот повторю в который раз мне HR менеджер сказал что я не нашел ошибку, так что никаких догадок или двойных толкований тут быть просто не может. А то что у них в вакансии про асинхронное программирование не было пунктика к требованию кандидату еще один звоночек.

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

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

Сегодня только на собеседовании спрашивали мол вот код использует асинхронное программирование мол найдите ошибку, ответил по коду мол что идёт и никакой ошибки не вижу. Потом через какое то время hr менеджер сообщает что само собой я не подхожу так как не нашёл ошибки и вообще меня всячески к ней подталкивали. Возникает закономерный вопрос, почему я должен искать ошибку по коду который при мне даже не удосужились запустить? Меня брали на работу по ASP NET Core или в качестве аналога VS чтобы я ошибки тупо по коду искал без компилятора и заменял им среду разработки?

К одним я уже устраивался на работу, мол тестовое задание было написать контролёры в формате REST API, требовались знания по ASP NET Core, а реально потом в работе пришлось ковырять монструозное BBOM на WPF которое напрямую цеплялась к базам своих клиентов. Хочется спросить, что с вами не так? Требуются одни, тестовое задание другое и не относится к тому чем реально придётся заниматься.

Information

Rating
Does not participate
Registered
Activity