rewrite 2026-09 and 2027 articles for reader-facing quality
Build and deploy / deploy (push) Successful in 18s
Build and deploy / deploy (push) Successful in 18s
This commit is contained in:
@@ -1 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="720" viewBox="0 0 1200 720" role="img" aria-labelledby="title desc"><title id="title">Матрица ограничений и опровержимости runtime trade-off</title><desc id="desc">Таблица связывает четыре именованных класса ограничений с будущим evidence и стоп-сигналами. Нижняя красная строка запрещает скрытую конфигурацию benchmark и результат-победитель.</desc><rect width="1200" height="720" fill="#f7fafc"/><style>text{font-family:Arial,sans-serif;fill:#172033}.h{font-size:29px;font-weight:700}.s{font-size:20px;font-weight:700}.b{font-size:16px}.head{fill:#1f5f8b}.cell{fill:#fff;stroke:#8aa8be;stroke-width:2}.warn{fill:#fff0f0;stroke:#bd3f3f;stroke-width:3}</style><text x="55" y="54" class="h">Runtime trade-off: ограничение → evidence → falsification</text><rect x="55" y="95" width="1090" height="65" class="head"/><g fill="#fff" font-family="Arial" font-size="19" font-weight="700"><text x="80" y="135" fill="#fff">Ограничение</text><text x="350" y="135" fill="#fff">Механизм вопроса</text><text x="670" y="135" fill="#fff">Нужный future evidence</text><text x="940" y="135" fill="#fff">Стоп-сигнал</text></g><g class="b"><rect x="55" y="160" width="1090" height="90" class="cell"/><text x="80" y="205">Latency</text><text x="350" y="195">граница операции</text><text x="350" y="220">и budget</text><text x="670" y="205">полная config</text><text x="940" y="205">не тот путь</text><rect x="55" y="250" width="1090" height="90" class="cell"/><text x="80" y="295">Ownership</text><text x="350" y="285">lifecycle и API</text><text x="350" y="310">boundary</text><text x="670" y="295">contract provenance</text><text x="940" y="295">скрытый alias</text><rect x="55" y="340" width="1090" height="90" class="cell"/><text x="80" y="385">Delivery</text><text x="350" y="375">compiler, runtime,</text><text x="350" y="400">packaging</text><text x="670" y="385">target и flags</text><text x="940" y="385">несовместимость</text><rect x="55" y="430" width="1090" height="90" class="cell"/><text x="80" y="475">Observability</text><text x="350" y="465">допустимый input</text><text x="350" y="490">и доступ</text><text x="670" y="475">согласованный owner</text><text x="940" y="475">нет provenance</text></g><rect x="55" y="550" width="1090" height="105" rx="10" class="warn"/><text x="85" y="592" class="s">Сейчас: benchmark = not-run; configuration/result = not-collected</text><text x="85" y="625" class="b">Скрытая конфигурация, неназванное ограничение и заявленный winner возвращают fail-closed stop.</text></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 720" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Матрица границы D и C API</title>
|
||||
<desc id="desc">Таблица связывает атрибут безопасности D, проверку указателя и длины, владельца памяти и допустимый интерфейс C.</desc>
|
||||
<rect width="1200" height="720" fill="#f7fafc"/><style>text{font-family:Arial,sans-serif;fill:#172033}.head{font-size:29px;font-weight:700}.label{font-size:18px;font-weight:700}.body{font-size:16px}.header{fill:#1f5f8b}.cell{fill:#fff;stroke:#8aa8be;stroke-width:2}.warn{fill:#fff0f0;stroke:#bd3f3f;stroke-width:3}</style>
|
||||
<text x="55" y="54" class="head">D и C: ограничение → проверка → безопасный интерфейс</text>
|
||||
<rect x="55" y="95" width="1090" height="65" class="header"/><text x="80" y="135" fill="#fff" class="label">Уровень</text><text x="330" y="135" fill="#fff" class="label">Что проверяем</text><text x="650" y="135" fill="#fff" class="label">Кто владеет правилом</text><text x="945" y="135" fill="#fff" class="label">Ошибка</text>
|
||||
<g class="body"><rect x="55" y="160" width="1090" height="95" class="cell"/><text x="80" y="212" class="label">@safe</text><text x="330" y="200">ограниченные операции</text><text x="330" y="226">и типы данных</text><text x="650" y="212">компилятор + тест</text><text x="945" y="212" fill="#991b1b">довериться C</text>
|
||||
<rect x="55" y="255" width="1090" height="95" class="cell"/><text x="80" y="307" class="label">@trusted</text><text x="330" y="295">pointer, length, lifetime</text><text x="330" y="321">до вызова</text><text x="650" y="307">автор wrapper</text><text x="945" y="307" fill="#991b1b">слишком большой scope</text>
|
||||
<rect x="55" y="350" width="1090" height="95" class="cell"/><text x="80" y="402" class="label">@system</text><text x="330" y="390">raw pointer и ABI</text><text x="330" y="416">вручную</text><text x="650" y="402">review + sanitizer</text><text x="945" y="402" fill="#991b1b">нет контракта</text>
|
||||
<rect x="55" y="445" width="1090" height="95" class="cell"/><text x="80" y="497" class="label">slice</text><text x="330" y="485">capacity и диапазон</text><text x="330" y="511">вместе с данными</text><text x="650" y="497">граница D</text><text x="945" y="497" fill="#991b1b">length извне</text></g>
|
||||
<rect x="55" y="580" width="1090" height="78" rx="10" class="warn"/><text x="85" y="617" class="label" fill="#991b1b">СТОП: pointer, length или lifetime не имеют доказанного контракта</text><text x="85" y="642" class="body" fill="#991b1b">Не расширять @trusted; вернуть данные к boundary.</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Reference in New Issue
Block a user