Как стать автором
Обновить
3
0
Максим Титов @titovmaxim

Разработчик ПО для аналитического оборудования

Отправить сообщение

Прискорбно. Если все хреново в принципе, тема статьи не в кассу.

throw... Мы же в C++. Отлов на внешнем уровне вроде как является обязательным с точки зрения здравого смысла.

Андрей. У Вас очень хорошие статьи, читаю с удовольствием. Но вот лично меня терзают сомнения, стоит ли публиковать такое. В том смысле, что если человек этого не понимает, то так писать просто не следует. А стоит пользоваться функциями выделения из (своей или чужой) библиотеки, которая, во-первых, сделаем проверку. Но важнее, что вернет shared. Еще раз - если с умом и этого не требуется, то можно и руками, но редко. Итого имеем выделение и освобождение без проблем. Может у меня параноя, но я все Cuda'вское так же выделяю с кастомными делитерами через shared. Включая даже stream. Просто что бы забыть об их управлении. И это в мега нагруженном Cuda коде. Коментарий для начинающих, естественно.

Нда. Обленились люди. Если хоть раз видел отладчик в жизни, понимаешь, что можно просто поставить бряки. Не только на код, но и на доступ к памяти по определьным адресам. И не нужно полагаться на стандартные обфуксакторы и пр. Первым делом делается явная проверка, для частных людей. Она работает, но легко выпиливатся. Ее цель формальная. Далее хотя бы делается развязка кода общения с ключом и кода запрашивающего. Минимальная крипта. В случае маленьких обменов и тривиальной хватит. Т.е. факт запроса есть, а кто запросил и что сделал с результатом не ловится. Ну и по результатам немного что-то делаем, без явного последствия. Это уже болезненно. А если сверху статистику от ключа с неизвестным распределением и обычный обфускатор, то, скорее всего, ваше ПО не насколько нужно. Все перечисленное "свое" пишется за день. Пробовал. Работает отлично

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

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

А историй про то, как и от чего пытались лечить детей даже пересказывать не буду. Когда после их вредительских диагнозов приходил к врачам на пару уровней выше, не единожды слышал: "Ну мы же, блин, их этому учили. Эх...".

Все, что описано выше правда. Но не имеет никакого смысла пока не начать думать как описано выше 🤣 Поскольку для таких задач CPU уже странно использовать, то мы упираемся примерно в те же вопросы, нет уже на уровне GPU. И то, что описано как "хитрое" есть как должное. Любой алгоритм на GPU начинается с выбора паттерна доступа к памяти. Очень часто там и заканчивается 🤣

Стекло аморфно. Из этого вытекает две проблемы. Первой вытекает именно текучесть 🤣 В достаточно старых храмах, которым далеко не сотни тысяч лет, остекление утолщено к низу вследствие течения. Да, там есть нагрузка. Но даже в тонких пластинах, думаю, эффект может сыграть из-за очень малого размера областей интереса (битов). Эффект номер два - кристаллизация, которая, конечно, идёт медленно из-за низкой текучести, но идет. Из-за этого в тех же храмах остекление мутнеет. Так что со временем хранения, мне кажется, они погорячились. Но это, скорее всего, и не нужно в таких масштабах.

И да. Есть собственная система реактивная, для Qt и Qml, ибо плакать хочется от дефолтной реализации. И все на shared. Без этой всякой ерунды с parent. И без всяких signal/slot , поскольку бесит писать десятки строк в никуда.

Проблема вообще мало понятная. Когда пишешь, нужно думать. Хоть малечко. Большие проекты. Все на C++. Один раз в жизни посмотрел на память. Ничего интересного не увидел. Обычные sbared, вкупе с UI weak , иногда. Чего сложного?

Абсолютно согласен. Почти 30 лет назад звали туда учиться, после результатов олимпиад. Не поехал, чему несказанно рад. В этом году имел удовольствие собеседовать 3 человека из данного вуза по IT профилю. Результаты такие же, как у выпускников ИТМО. Такие же, как после любого ВУЗа. Если человек умен, ВУЗ ему поможет (немного). Не более того. Сын сейчас учится в другом, тоже не безызвестном заведении. Я даже не берусь оценивать - сам плюется.

Позволю себе не согласится. Не знаю конкретно насчет танков, но писал достаточно много игр на ассемблере для ZX Spectrum. Намного больше этой. И знаете, там был далеко не говнокод. Да, глобальные переменные, но все четко структурировано, вполне предсказуемо и даже отлаживаемо. При крайне ограниченных ресурсах. Многим современным писателям и не снилось такое. Если что, сейчас занимаюсь разработкой сложного спец. софта для аналитического оборудования, могу оценить умения современных разработчиков. Часто просто страшно смотреть.

P.S. Пример одной из игр. https://www.youtube.com/watch?v=EWBqVuqhPGc

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

Медицинская и промышленные томографии - две абсолютно разные темы. Они абсолютно не взаимозаменяемы из-за разных ТТХ.

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

Я бы сказал с точностью наоборот. После них на VS работать просто пытка

Попробуйте IDE Jetbrains. В них можно переключfnm antialiasing no/subpixel/greyscale отдельно для UI, отдельно для области редактирования просто в настройках, не трогая всю систему

Попробовал на рабочей диаграмме. Очень классно! Руки зачесались применить для презентации. Спасибо.

Зачем супер? Если сильно не замарачиваться, то проще скользащего окна + std::multiset сложно что-то придумать. Кода примерно столько же, как сейчас, плюс учет границ почти бесплатно. На больших окнах и 10К картинках для томографии (16 бит) реальные тесты давали что-то вроде 1.5 минуты против 2 часов наивной реализации.

Аргументация - вещь замечательная. В нашем сложном мире можно аргументированно утверждать почти все, что угодно. Это очень удобная штука, которой пользуются все высококвалифицированные продажники. Есть 100-500 факторов, влияющих на определенный процесс. Выбирают 1-2-3 и апелируют в ним. Какой вклад они дают среди всех прочих - мало кому извество. Но звучит убидительно. Например - без кальция кости становятся хрупкими. Да, не поспоришь. После определенного возраста кальций вымывается. Да. Вывод - кушайте кальций, желательно с витиманов D, что бы лучше усваивался. Логично. Но. Тесты на огромной выборке показали, что это не работает. Нужна физическая активность, иначе данный кальций не будет работать так, как задумано. Это очень простой пример, когда логичные рассуждения не приводят к желаемому результату. И тесты это подтверждают.

Мне вообще удивительно, как грамотные специалисты IT ведутся на подобные рассуждения. Даже в своем собственном коде мы порой проводим много времени что бы понять, почему очевидно правильная вещь работает не так, как положено. Когда понимаем, становится понятно, что мы что-то не учли. Это нормально. Но, после этого, любые разумные и логичные рассуждения не подтвержденные реальными тестами, становятся мало информативными.

Я "over 40". Всегда старался отмечать, насколько эффективно соображаю. В молодости, слава богу не был обделен этими способностями, все давалось легко. А вот когда за 40... Ничего не изменилось, где-то даже стало лучше. Вероятнее всего тут помогает опыт, но это не точно. Главное, что при наличии заинтересованности, сокрость обработки информации и вникание в новое стала, субъективно, даже выше, чем в 20. Проблема даже в обратном, что бы остановиться и отдохнуть.

Мне кажется, все зависит от желания и тренировки. На личном примере я не вижу затормаживания в скорости соображения и обучаемости. Возможно гены. Но те негативные примеры, которые я вижу вокруг, связаны с образом жизни людей. Если 10 тел не учиться ничему новому, просто забудешь, как это делается. Независимо от физиологии.

На том же Z80 (ZX-Spectrum, к примеру) двух стековых регистров не было. Но никто не мешал, скажем, читать через POP из памяти, а писать в фиксированный адрес ячейки, что бы без всяких ++. Да, процедуру нужно было разворачивать «руками» для каждой ячейки экрана. Благо, что их было не так много. Зато максимально быстро, на Z80 быстрее сделать было нельзя.
1

Информация

В рейтинге
Не участвует
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность