This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 670" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Сравнение двух Windows-окружений</title>
|
||||
<desc id="desc">Два одинаковых запуска проекта дают два очищенных снимка окружения. Сравнение выделяет различие в пути, первом кандидате бинарника или кодовой странице. Затем выполняется один обратимый опыт в новом PowerShell и повторяется исходная команда.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="#1b1622"/>
|
||||
<stop offset="1" stop-color="#09131c"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="decision" x1="0" y1="0" x2="1" y2="0">
|
||||
<stop offset="0" stop-color="#f0ad5e"/>
|
||||
<stop offset="1" stop-color="#f87965"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" markerWidth="11" markerHeight="11" refX="8" refY="5.5" orient="auto">
|
||||
<path d="M0,0 L9,5.5 L0,11 Z" fill="#f3b56a"/>
|
||||
</marker>
|
||||
<style>
|
||||
.card { fill: #2a2338; stroke: #7e628f; stroke-width: 2; }
|
||||
.check { fill: #132c34; stroke: #3c8d87; stroke-width: 2; }
|
||||
.label { fill: #fff8f2; font-family: Arial, sans-serif; font-size: 22px; font-weight: 700; }
|
||||
.copy { fill: #e6d8d1; font-family: Arial, sans-serif; font-size: 16px; }
|
||||
.small { fill: #d4beb4; font-family: Arial, sans-serif; font-size: 14px; }
|
||||
.code { fill: #ffcb89; font-family: "Courier New", monospace; font-size: 15px; }
|
||||
.line { fill: none; stroke: #f3b56a; stroke-width: 3; marker-end: url(#arrow); }
|
||||
</style>
|
||||
</defs>
|
||||
<rect width="720" height="670" rx="28" fill="url(#background)"/>
|
||||
<text x="46" y="56" class="label">«Работает на моей машине» → сравнимые данные</text>
|
||||
<text x="46" y="84" class="copy">Одна исходная команда, один снимок на машину, одна проверяемая гипотеза.</text>
|
||||
|
||||
<rect x="48" y="124" width="270" height="122" rx="16" class="card"/>
|
||||
<text x="72" y="162" class="label">Машина A</text>
|
||||
<text x="72" y="192" class="code">commit + command</text>
|
||||
<text x="72" y="218" class="small">snapshot A, пути очищены</text>
|
||||
|
||||
<rect x="402" y="124" width="270" height="122" rx="16" class="card"/>
|
||||
<text x="426" y="162" class="label">Машина B</text>
|
||||
<text x="426" y="192" class="code">commit + command</text>
|
||||
<text x="426" y="218" class="small">snapshot B, пути очищены</text>
|
||||
|
||||
<path d="M183 246 V290 H300 V304" class="line"/>
|
||||
<path d="M537 246 V290 H420 V304" class="line"/>
|
||||
|
||||
<rect x="210" y="320" width="300" height="102" rx="18" fill="url(#decision)"/>
|
||||
<text x="244" y="360" fill="#25150e" font-family="Arial, sans-serif" font-size="24" font-weight="700">Compare-Object</text>
|
||||
<text x="244" y="390" fill="#382114" font-family="Arial, sans-serif" font-size="15">PATH · кандидат · версия · консоль</text>
|
||||
|
||||
<path d="M360 422 V456" class="line"/>
|
||||
|
||||
<rect x="48" y="474" width="190" height="126" rx="16" class="check"/>
|
||||
<text x="70" y="512" class="label">Различие</text>
|
||||
<text x="70" y="542" class="code">старый node.exe</text>
|
||||
<text x="70" y="570" class="small">или кодовая страница</text>
|
||||
|
||||
<rect x="264" y="474" width="190" height="126" rx="16" class="check"/>
|
||||
<text x="286" y="512" class="label">Опыт</text>
|
||||
<text x="286" y="542" class="code">$env:Path</text>
|
||||
<text x="286" y="570" class="small">только новый сеанс</text>
|
||||
|
||||
<rect x="480" y="474" width="192" height="126" rx="16" class="check"/>
|
||||
<text x="502" y="512" class="label">Повтор</text>
|
||||
<text x="502" y="542" class="code">npm run build</text>
|
||||
<text x="502" y="570" class="small">исходная команда</text>
|
||||
|
||||
<path d="M238 537 H252" class="line"/>
|
||||
<path d="M454 537 H468" class="line"/>
|
||||
<text x="48" y="640" class="small">Нет изменения — проверить лог, файл или право доступа.</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,70 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 680" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Как Windows PowerShell выбирает команду</title>
|
||||
<desc id="desc">PowerShell получает блок окружения процесса с PATH и PATHEXT. Get-Command с параметром All показывает alias, функции и приложения в порядке выбора. Where.exe отдельно показывает файлы. Кодовая страница проверяется отдельной веткой.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="#151126"/>
|
||||
<stop offset="1" stop-color="#07141e"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" markerWidth="11" markerHeight="11" refX="8" refY="5.5" orient="auto">
|
||||
<path d="M0,0 L9,5.5 L0,11 Z" fill="#8c9eff"/>
|
||||
</marker>
|
||||
<style>
|
||||
.card { fill: #211f3b; stroke: #5a65aa; stroke-width: 2; }
|
||||
.file { fill: #132b36; stroke: #317c88; stroke-width: 2; }
|
||||
.label { fill: #f6f5ff; font-family: Arial, sans-serif; font-size: 22px; font-weight: 700; }
|
||||
.copy { fill: #d2d7f2; font-family: Arial, sans-serif; font-size: 16px; }
|
||||
.small { fill: #b5c2e1; font-family: Arial, sans-serif; font-size: 14px; }
|
||||
.code { fill: #aebdff; font-family: "Courier New", monospace; font-size: 15px; }
|
||||
.teal { fill: #8de2d6; font-family: "Courier New", monospace; font-size: 15px; }
|
||||
.line { fill: none; stroke: #8c9eff; stroke-width: 3; marker-end: url(#arrow); }
|
||||
.dash { fill: none; stroke: #58bcb3; stroke-width: 2.5; stroke-dasharray: 8 7; marker-end: url(#arrow); }
|
||||
</style>
|
||||
</defs>
|
||||
<rect width="720" height="680" rx="28" fill="url(#background)"/>
|
||||
<text x="46" y="56" class="label">Разрешение имени команды</text>
|
||||
<text x="46" y="84" class="copy">Поиск бинарника и отображение текста — два разных пути.</text>
|
||||
|
||||
<rect x="232" y="118" width="256" height="82" rx="16" class="card"/>
|
||||
<text x="258" y="153" class="label">PowerShell-процесс</text>
|
||||
<text x="258" y="180" class="code">node --version</text>
|
||||
|
||||
<rect x="58" y="266" width="232" height="136" rx="16" class="card"/>
|
||||
<text x="80" y="304" class="label">Блок среды</text>
|
||||
<text x="80" y="334" class="code">PATH</text>
|
||||
<text x="80" y="360" class="code">PATHEXT</text>
|
||||
<text x="80" y="386" class="small">унаследован от родителя</text>
|
||||
|
||||
<rect x="430" y="266" width="232" height="136" rx="16" class="card"/>
|
||||
<text x="452" y="304" class="label">Кодовая страница</text>
|
||||
<text x="452" y="334" class="code">chcp</text>
|
||||
<text x="452" y="360" class="code">OutputEncoding</text>
|
||||
<text x="452" y="386" class="small">читаемость вывода</text>
|
||||
|
||||
<path d="M319 200 V236 H174 V254" class="line"/>
|
||||
<path d="M400 200 V236 H546 V254" class="dash"/>
|
||||
|
||||
<rect x="48" y="470" width="192" height="138" rx="16" class="file"/>
|
||||
<text x="70" y="508" class="label">Get-Command</text>
|
||||
<text x="70" y="536" class="teal">alias / function</text>
|
||||
<text x="70" y="560" class="teal">cmdlet / app</text>
|
||||
<text x="70" y="588" class="small">порядок PowerShell</text>
|
||||
|
||||
<rect x="264" y="470" width="192" height="138" rx="16" class="file"/>
|
||||
<text x="286" y="508" class="label">where.exe</text>
|
||||
<text x="286" y="536" class="teal">node.exe</text>
|
||||
<text x="286" y="560" class="teal">node.cmd</text>
|
||||
<text x="286" y="588" class="small">файлы в PATH</text>
|
||||
|
||||
<rect x="480" y="470" width="192" height="138" rx="16" class="file"/>
|
||||
<text x="502" y="508" class="label">Проверка</text>
|
||||
<text x="502" y="536" class="teal">путь + версия</text>
|
||||
<text x="502" y="560" class="teal">текст вывода</text>
|
||||
<text x="502" y="588" class="small">одна гипотеза</text>
|
||||
|
||||
<path d="M174 402 V446 H144 V458" class="line"/>
|
||||
<path d="M174 402 V446 H360 V458" class="line"/>
|
||||
<path d="M546 402 V446 H576 V458" class="dash"/>
|
||||
<path d="M240 540 H252" class="line"/>
|
||||
<path d="M456 540 H468" class="line"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,69 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 640" role="img" aria-labelledby="title desc">
|
||||
<title id="title">Минимальный снимок окружения Windows</title>
|
||||
<desc id="desc">Проект запускает PowerShell. Из процесса извлекаются путь PATH, расширения PATHEXT, кандидаты команд, версии и кодовая страница. Проверенные поля сохраняются в JSON, а секреты исключаются.</desc>
|
||||
<defs>
|
||||
<linearGradient id="background" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0" stop-color="#101b2d"/>
|
||||
<stop offset="1" stop-color="#07101d"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="accent" x1="0" y1="0" x2="1" y2="0">
|
||||
<stop offset="0" stop-color="#45d0c2"/>
|
||||
<stop offset="1" stop-color="#6aa4ff"/>
|
||||
</linearGradient>
|
||||
<marker id="arrow" markerWidth="11" markerHeight="11" refX="8" refY="5.5" orient="auto">
|
||||
<path d="M0,0 L9,5.5 L0,11 Z" fill="#79aaff"/>
|
||||
</marker>
|
||||
<style>
|
||||
.card { fill: #15263d; stroke: #365b82; stroke-width: 2; }
|
||||
.soft { fill: #102035; stroke: #284d72; stroke-width: 1.5; }
|
||||
.label { fill: #f4f8ff; font-family: Arial, sans-serif; font-size: 22px; font-weight: 700; }
|
||||
.copy { fill: #c5d7eb; font-family: Arial, sans-serif; font-size: 16px; }
|
||||
.small { fill: #a8c0dc; font-family: Arial, sans-serif; font-size: 14px; }
|
||||
.code { fill: #81e4d8; font-family: "Courier New", monospace; font-size: 15px; }
|
||||
.line { fill: none; stroke: #79aaff; stroke-width: 3; marker-end: url(#arrow); }
|
||||
</style>
|
||||
</defs>
|
||||
<rect width="720" height="640" rx="28" fill="url(#background)"/>
|
||||
<text x="48" y="58" class="label">Минимальный снимок запуска</text>
|
||||
<text x="48" y="86" class="copy">Не копия компьютера, а проверяемый путь команды.</text>
|
||||
|
||||
<rect x="48" y="128" width="230" height="108" rx="16" class="card"/>
|
||||
<text x="72" y="168" class="label">Проект</text>
|
||||
<text x="72" y="198" class="code">npm run build</text>
|
||||
<text x="72" y="220" class="small">одна исходная команда</text>
|
||||
|
||||
<rect x="442" y="128" width="230" height="108" rx="16" class="card"/>
|
||||
<text x="466" y="168" class="label">PowerShell</text>
|
||||
<text x="466" y="198" class="code">process scope</text>
|
||||
<text x="466" y="220" class="small">текущий сеанс</text>
|
||||
<path d="M278 182 H430" class="line"/>
|
||||
|
||||
<rect x="48" y="302" width="182" height="142" rx="16" class="soft"/>
|
||||
<text x="70" y="340" class="label">Путь</text>
|
||||
<text x="70" y="370" class="code">PATH</text>
|
||||
<text x="70" y="398" class="code">PATHEXT</text>
|
||||
<text x="70" y="424" class="small">порядок папок</text>
|
||||
|
||||
<rect x="269" y="302" width="182" height="142" rx="16" class="soft"/>
|
||||
<text x="291" y="340" class="label">Команды</text>
|
||||
<text x="291" y="370" class="code">Get-Command</text>
|
||||
<text x="291" y="398" class="code">--version</text>
|
||||
<text x="291" y="424" class="small">кандидаты и вывод</text>
|
||||
|
||||
<rect x="490" y="302" width="182" height="142" rx="16" class="soft"/>
|
||||
<text x="512" y="340" class="label">Консоль</text>
|
||||
<text x="512" y="370" class="code">chcp</text>
|
||||
<text x="512" y="398" class="code">OutputEncoding</text>
|
||||
<text x="512" y="424" class="small">только наблюдение</text>
|
||||
|
||||
<path d="M557 236 V280 H139 V290" class="line"/>
|
||||
<path d="M557 236 V290 H360" class="line"/>
|
||||
<path d="M557 236 V290 H581" class="line"/>
|
||||
|
||||
<rect x="144" y="510" width="432" height="84" rx="18" fill="url(#accent)"/>
|
||||
<text x="175" y="548" fill="#06101c" font-family="Arial, sans-serif" font-size="25" font-weight="700">environment-snapshot.json</text>
|
||||
<text x="175" y="574" fill="#0a2030" font-family="Arial, sans-serif" font-size="15">версии, пути, кандидаты; секреты исключены</text>
|
||||
<path d="M139 444 V482 H352 V498" class="line"/>
|
||||
<path d="M360 444 V498" class="line"/>
|
||||
<path d="M581 444 V482 H368 V498" class="line"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
Reference in New Issue
Block a user