All streams
Search
Write a publication
Pull to refresh
65
1.7
Вадим Румянцев @vadimr

Разработчик аппаратно-программных комплексов

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

Я как-то немного по другому поводу общался с одной известной американской IT корпорацией, в процессе чего выяснил, что, по их мнению, наличие у их фирмы сертификата ISO 9001 освобождает их от необходимости проводить сквозной выходной технический контроль продукции. А тут вообще информационная безопасность.
Насколько вообще методически корректно весовые коэффициенты, полученные на партиях против самого себя, распространять на игру с другими противниками? Это же буквально означает, что программа оценивает только такую технику игры, которой сама владеет.
Вот есть, к примеру, грузовик, сев за руль которого, любой может задавить десяток-другой людей. Значит ли это, что при проектировании грузовика нарушены требования безопасности? На мой взгляд, нет, это говорит только о том, что безопасность — это, в первую очередь, работа с людьми, в основном профилактическая, а не с техническими средствами защиты.
Если заработать таким образом, то можно сесть. И сдерживающим фактором выступает именно это, а не технические средства защиты компьютера главбуха.
Рациональные основания для такого желания представить тоже сложно. Если пользователь делает что-то противозаконное, то ему, по идее, нужно утаивать сам факт посещения сайта, чего https не обеспечивает. А если нет, тогда какой смысл скрывать свои действия от провайдера?
https даёт вам (при условии отсутствия ошибок и эксплуатируемых уязвимостей) две вещи: уверенность в том, что вы общаетесь именно с тем хостом, который себя заявил, и недоступность вашего диалога для прослушивания посередине. Насколько это увеличивает вашу безопасность – вопрос, зависимый от многих других обстоятельств.

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

Настолько ли важно пользователю вообще различать малозначимые для него сайты vasya1.com и vasya2.com, чтобы защищать аутентичность одного из них – вопрос дискутируемый. Поэтому массовая миграция не содержащих критичной информации сайтов на https не вполне объяснима с рациональных позиций.
Куча лирических размышлений, и даже не написано, по какому классу защиты и кем сертифицирована описанная система.
Препроцессор является частью языка Си. А в языке Си нет другого способа экспортировать определение типа в другой модуль, кроме как включить в него текст этого определения через препроцессор.

В языках, реализующих управление модулями (Ада, Модула, Delphi) эта проблема перекомпиляции носит более ограниченный характер, так как перекомпилируются только модули, непосредственно включающие изменённый модуль или включающие зависящие от него интерфейсы. А в языках с динамической типизацией, вроде Smalltalk, вообще изменение типа используемого объекта – не повод что-либо перекомпилировать, кроме его собственной реализации.
Си устроен так, что компилятор не знает ни о каких изменениях типов, а просто текстуально подставляет макровставки из заголовочных файлов по #include. Поэтому изменение заголовочного файла влечёт повторную компиляцию всех исходных модулей, в которых он используется, причём даже независимо от того, в каком именно месте он был изменён, и используется ли в этих модулях изменённое место.

Про “часто” никто не писал. В цитате, которую Вы комментируете, написано “могут”.
Если вы исправили какой-нибудь .h файл нижнего уровня в большом сишном проекте (например, включающий определения базовых типов), то перекомпилироваться будет всё и долго. Хотя это недостаток конкретно языка Си с его повсеместными иерархическими макроподстановками, а не вообще компилируемых языков.
Непонятно самое интересное – вы установили QNX в реальном режиме, или VMware Workstation поддерживает защищённый режим 286?
Ну на уровне открытого кода как бы и нет проблем с вопросом. Эти решения хорошо известны и более-менее неплохо описаны. А вот если вы захотите, например, почитать про архитектуру современных оптимизирующих компиляторов IBM, тот увидите только самые общие тезисы в каком-нибудь IBM Sys. J. Примерно в духе статей того же Терехова.
Про практические вопросы мало пишут, как правило, это интеллектуальная собственность заказчика работ.
Посмотрел – вот ещё такую книжку нашёл: http://www.twirpx.com/file/714408/ Я её, правда, не читал, но у авторов учился в институте.
Я знаю, что, например, Терехов (который Ланит-Терком) этим вопросом много занимается, в том числе и книжки пишет. Наверняка, и другие коллективы есть.

Что касается аналога gcc или clang, то ведь это и не нужно. Обычно народ делает просто свою собственную ветку gcc, в которой добавляет кодогенератор под свою архитектуру.
Во многих реальных ресурсоёмких задачах основная вычислительная нагрузка приходится на реализацию нескольких стандартных операций. Условно говоря, если эльбрусовцы наваяли оптимизированную библиотеку матричных и векторных функций на ассемблере, то во многих прикладных областях этого вполне достаточно, чтобы обеспечить производительность, близкую к максимальной.

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

Помнится, в 90-е годы Виталий Мирянов в одиночку и без финансирования написал одну из самых популярных сред разработки под OS/2, Virtual Pascal. Вполне сравнимая задача.
Вообще, на профильной программистской специальности, написание простейшего компилятора — это курсовая работа.
Тогда это просто, фактически, аренда производственного помещения с хорошей инфраструктурой. Что, безусловно, имеет смысл в ряде случаев.

А по второму вопросу – ну, окажется банк в очереди на взыскание долгов по банкротству дц, но как это поможет его операционной деятельности?

Information

Rating
1,430-th
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

Project Manager, Software Architect
Lead