{ "main": { "id": "5324373015726ba8", "type": "split", "children": [ { "id": "7285c3349cfcdac4", "type": "tabs", "children": [ { "id": "44e5aceda7b172df", "type": "leaf", "pinned": true, "state": { "type": "terminal:terminal", "state": { "terminal:terminal": { "cwd": "/home/ada/Documents/Vaults/SecondBrain", "focus": false, "profile": { "args": [ "--login" ], "executable": "/usr/bin/zsh", "followTheme": true, "name": "ZSH", "platforms": { "darwin": false, "linux": true }, "pythonExecutable": "python3", "restoreHistory": true, "rightClickAction": "copyPaste", "successExitCodes": [ "0", "SIGINT", "SIGTERM" ], "terminalOptions": { "fontFamily": "FiraCode Nerd Font Mono", "documentOverride": null }, "type": "integrated", "useWin32Conhost": false }, "profileSourceId": "7004edff-76db-412f-95d3-5fd8e180d055", "serial": { "columns": 109, "data": "\u001b[2m• \u001b[0mНашёл три файла в \u001b[36m00 Inbox\u001b[0m: Kyocera FS-1020MFP, Ruby-итераторы и Ruby-знания. Сейчас читаю их и ищу близкие\r\n существующие заметки, чтобы не плодить дубли.\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m В случае ошибок на принтере Kyocera FS-1020MFP.md\u001b[2m, \u001b[0mИтераторы для обработки массивов Ruby.md\u001b[2m, \u001b[0mBase\r\n Note.md\u001b[2m, \u001b[0mЗнания Ruby.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172minE\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'ruby|итератор|kyocera|принтер|printer'\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ 421:| `90 Library/Programming/Ruby - массивы.md` | Ruby - массивы | seed | knowledge | programming, ruby\r\n\u001b[0m \u001b[2m|\r\n … +12 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m443:| `99 System/Archive/Ruby - массивы.md` | Ruby - массивы | seed | concept | — |\r\n\u001b[0m \u001b[2m444:| `99 System/Archive/Ruby - основы языка.md` | Ruby - основы языка | seed | concept | — |\r\n\r\n\u001b[31;22m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput without permissionDecision:allow\r\n\r\n\u001b[31;1m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput without permissionDecision:allow\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Ruby - массивы.md\u001b[2m, \u001b[0mRuby - основы языка.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mcommand\u001b[38;2;205;214;244m find \u001b[38;2;166;227;161m'00 Inbox'\u001b[38;2;205;214;244m -type f -name \u001b[38;2;166;227;161m'*.png'\u001b[38;2;205;214;244m -print\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mcommand\u001b[38;2;205;214;244m find . -name \u001b[38;2;166;227;161m'Pasted image 20260526203807.png'\u001b[38;2;205;214;244m -o -name \u001b[38;2;166;227;161m'Pasted image 20260526203848.png'\r\n\u001b[39;2m └ ./99 System/Cache/Pasted image 20260526203807.png\r\n\u001b[0m \u001b[2m./99 System/Cache/Pasted image 20260526203848.png\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mДля Ruby уже есть две близкие заметки: \u001b[36mRuby - основы языка\u001b[0m и \u001b[36mRuby - массивы\u001b[0m. Черновики выглядят как\r\n дополнения к ним, а не как отдельные темы; проверю изображения, чтобы понять, есть ли там важный текст для\r\n переноса.\r\n\r\n\u001b[2m• \u001b[0mViewed Image\r\n\u001b[2m └ 99 System/Cache/Pasted image 20260526203807.png\r\n\r\n• \u001b[0mViewed Image\r\n\u001b[2m └ 99 System/Cache/Pasted image 20260526203848.png\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"90 Library/HomeLab\"\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ 4 matches in 1F:\r\n\r\n … +4 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 284: | `90 Library/HomeLab/Проблемы дистрибутивов.md` | Проблемы дистрибутивов | seed...\r\n\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"90 Library/Other\"\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ 3 matches in 1F:\r\n\r\n … +3 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 420: | `90 Library/Other/Сканер отпечатка пальцев.md` | Сканер Отпечатка Пальцев | pr...\r\n\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mR\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"^source:\"\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Programming'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Other'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m|\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mhead\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172m40\r\n\u001b[39;2m └ 90 Library/Programming/Ruby On Rails/Rails credentials edit не открывает редактор.md:11:source: \"[[99\r\n\u001b[0m \u001b[2mSystem/Archive/Rails credentials edit не открывает редактор|Rails credentials edit не открывает\r\n … +3 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m90 Library/Programming/Ruby - массивы.md:10:source: \"[[Ruby - массивы]]\"\r\n\u001b[0m \u001b[2m90 Library/Programming/Ruby - основы языка.md:10:source: \"[[Ruby - основы языка]]\"\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mПлан ingest:\r\n\r\n \u001b[94m1. \u001b[36m00 Inbox/В случае ошибок на принтере Kyocera FS-1020MFP.md\r\n\u001b[0m - Создать новую заметку: \u001b[36m90 Library/Other/Kyocera FS-1020MFP — ошибки.md\r\n\u001b[0m - Шаблон: \u001b[36mBase Note.md\r\n\u001b[0m - Тип: \u001b[36mguide\u001b[0m, статус: \u001b[36mseed\r\n\u001b[0m - Связи: пока без автоссылок, близких заметок в индексе не нашёл.\r\n \u001b[94m2. \u001b[36m00 Inbox/Знания Ruby.md\r\n\u001b[0m - Дополнить существующую \u001b[36m90 Library/Programming/Ruby - основы языка.md\r\n\u001b[0m - Добавить: \u001b[36m||=\u001b[0m, falsey-значения, предикаты, логические операторы, \u001b[36m<=>\u001b[0m, альтернативные условия, строки.\r\n - Статус заметки сменить на \u001b[36mprocessing\u001b[0m, обновить \u001b[36mupdated\u001b[0m.\r\n \u001b[94m3. \u001b[36m00 Inbox/Итераторы для обработки массивов Ruby.md\r\n\u001b[0m - Дополнить существующую \u001b[36m90 Library/Programming/Ruby - массивы.md\r\n\u001b[0m - Добавить: \u001b[36meach\u001b[0m, \u001b[36meach_index\u001b[0m, пример поиска min/max и индексов.\r\n - Текст с картинок вынести кодом, сами картинки не переносить в Library.\r\n - Статус заметки сменить на \u001b[36mprocessing\u001b[0m, обновить \u001b[36mupdated\u001b[0m.\r\n \u001b[94m4. \u001b[0mПосле правок:\r\n - Переместить три исходника в \u001b[36m99 System/Archive/\u001b[0m.\r\n - Обновить \u001b[36mINDEX.md\u001b[0m.\r\n\r\n Подтверди, и я выполню.\r\n\r\n\u001b[2m─ Worked for 1m 06s ─────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n\u001b[48;5;239;22m\u001b[109X\r\n\u001b[1;2m› \u001b[22;22mДа, давай\r\n\r\n\u001b[0m\u001b[109X\r\n\u001b[2m• \u001b[0mПриступаю к правкам: две Ruby-заметки дополню на месте, для Kyocera создам отдельный guide. Затем перенесу\r\n исходники в архив и регенерирую индекс по frontmatter.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mR\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"^source:\"\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m . \u001b[38;2;148;226;213m|\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mhead\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172m80\r\n\u001b[39;2m └ ./.trash/copilot/copilot-custom-prompts/Clip Web Page.md:20:source: \"\"\r\n\u001b[0m \u001b[2m./90 Library/Finance/Инвестиции/Дивидендный портфель.md:12:source:\r\n … +43 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m./.stversions/90 Library/01 Admin/Nginx Proxy Manager под path~20260523-090050.md:12:source: \"[[Лайфхак\r\n\u001b[0m \u001b[2mдля NPM. Как проксировать не на поддомен а на под путь]]\"\r\n\r\n\u001b[31;22m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput without permissionDecision:allow\r\n\r\n\u001b[31;1m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput without permissionDecision:allow\r\n\r\n\u001b[31;1m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput without permissionDecision:allow\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Гайд на научников.md\u001b[2m, \u001b[0mСканер отпечатка пальцев.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mcommand\u001b[38;2;205;214;244m find \u001b[38;2;166;227;161m'99 System/Archive'\u001b[38;2;205;214;244m -maxdepth 1 -type f -name \u001b[38;2;166;227;161m'Итераторы для обработки массивов Ruby.md'\r\n\u001b[39;2m │ \u001b[38;2;205;214;244;22m-print\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mcommand\u001b[38;2;205;214;244m find \u001b[38;2;166;227;161m'99 System/Archive'\u001b[38;2;205;214;244m -maxdepth 1 -type f -name \u001b[38;2;166;227;161m'В случае ошибок на принтере Kyocera\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mFS-1020MFP.md'\u001b[38;2;205;214;244m -print\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mcommand\u001b[38;2;205;214;244m find \u001b[38;2;166;227;161m'99 System/Archive'\u001b[38;2;205;214;244m -maxdepth 1 -type f -name \u001b[38;2;166;227;161m'Знания Ruby.md'\u001b[38;2;205;214;244m -print\r\n\u001b[39;2m └ (no output)\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mАрхивных файлов с такими именами нет, конфликтов при переносе не будет. Меняю только три целевые заметки и\r\n индекс.\r\n\r\n\u001b[2m• \u001b[0mEdited 3 files (\u001b[32m+263\u001b[0m \u001b[31m-6\u001b[0m)\r\n\u001b[2m └ \u001b[0m90 Library/Other/Kyocera FS-1020MFP — ошибки.md (\u001b[32m+44\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;147;153;178m---\u001b[98X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: seed\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\u001b[38;2;205;214;244mtype: guide\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mtags:\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m other\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m printer\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m kyocera\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244mcreated: 2026-05-26\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-05-26\r\n\u001b[39m \u001b[2m10 \u001b[32;22m+\u001b[38;2;205;214;244mtitle: Kyocera FS-1020MFP — ошибки\r\n\u001b[39m \u001b[2m11 \u001b[32;22m+\u001b[38;2;205;214;244msource: \"[[В случае ошибок на принтере Kyocera FS-1020MFP]]\"\r\n\u001b[39m \u001b[2m12 \u001b[32;22m+\u001b[38;2;147;153;178m---\r\n\u001b[39m \u001b[2m13 \u001b[32;22m+\r\n\u001b[39m \u001b[2m14 \u001b[32;22m+\u001b[38;2;147;153;178m#\u001b[38;2;243;139;168m \u001b[38;2;148;226;213mKyocera FS-1020MFP — ошибки\r\n\u001b[39m \u001b[2m15 \u001b[32;22m+\r\n\u001b[39m \u001b[2m16 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mE-0008: Cover open\r\n\u001b[39m \u001b[2m17 \u001b[32;22m+\r\n\u001b[39m \u001b[2m18 \u001b[32;22m+\u001b[38;2;205;214;244mПричина: открыта крышка.\r\n\u001b[39m \u001b[2m19 \u001b[32;22m+\r\n\u001b[39m \u001b[2m20 \u001b[32;22m+\u001b[38;2;205;214;244mЧто сработало: закрыть заднюю откидную крышку. Никаких кнопок нажимать не понадобилось.\r\n\u001b[39m \u001b[2m21 \u001b[32;22m+\r\n\u001b[39m \u001b[2m22 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mE-0001: Non-genuine toner\r\n\u001b[39m \u001b[2m23 \u001b[32;22m+\r\n\u001b[39m \u001b[2m24 \u001b[32;22m+\u001b[38;2;205;214;244mПричина: принтер видит неоригинальный картридж.\r\n\u001b[39m \u001b[2m25 \u001b[32;22m+\r\n\u001b[39m \u001b[2m26 \u001b[32;22m+\u001b[38;2;205;214;244mЧто сработало: зажать \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mMode Select\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m + \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mStop/Reset\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m на 3+ секунды.\r\n\u001b[39m \u001b[2m27 \u001b[32;22m+\r\n\u001b[39m \u001b[2m28 \u001b[32;22m+\u001b[38;2;205;214;244mВажно: нужна именно \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mMode Select\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, а не зелёная кнопка \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mStart\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m. Комбинация \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mStart\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m + \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mStop\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m не помогл\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mа.\r\n\u001b[39m \u001b[2m29 \u001b[32;22m+\r\n\u001b[39m \u001b[2m30 \u001b[32;22m+\u001b[38;2;205;214;244mПосле сброса на экране появилось \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m01\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m. Это не ошибка, а нормальный режим готовности: количество копий\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m по умолчанию равно 1.\r\n\u001b[39m \u001b[2m31 \u001b[32;22m+\r\n\u001b[39m \u001b[2m32 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mE-0017: Not connected\r\n\u001b[39m \u001b[2m33 \u001b[32;22m+\r\n\u001b[39m \u001b[2m34 \u001b[32;22m+\u001b[38;2;205;214;244mЭто не аппаратная ошибка, а отвалившийся USB.\r\n\u001b[39m \u001b[2m35 \u001b[32;22m+\r\n\u001b[39m \u001b[2m36 \u001b[32;22m+\u001b[38;2;205;214;244mЧто сделать:\r\n\u001b[39m \u001b[2m37 \u001b[32;22m+\r\n\u001b[39m \u001b[2m38 \u001b[32;22m+\u001b[38;2;205;214;244m1\u001b[38;2;147;153;178m.\u001b[38;2;205;214;244m Нажать \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mStop/Reset\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m39 \u001b[32;22m+\u001b[38;2;205;214;244m2\u001b[38;2;147;153;178m.\u001b[38;2;205;214;244m Подключить USB-кабель.\r\n\u001b[39m \u001b[2m40 \u001b[32;22m+\u001b[38;2;205;214;244m3\u001b[38;2;147;153;178m.\u001b[38;2;205;214;244m Проверить драйвер.\r\n\u001b[39m \u001b[2m41 \u001b[32;22m+\r\n\u001b[39m \u001b[2m42 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mКоротко\r\n\u001b[39m \u001b[2m43 \u001b[32;22m+\r\n\u001b[39m \u001b[2m44 \u001b[32;22m+\u001b[38;2;205;214;244mГлавная рабочая комбинация для сброса ошибки картриджа: \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mMode Select\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m + \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mStop/Reset\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, удерживать 3+ с\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mекунды.\r\n\u001b[0m\u001b[109X\r\n\u001b[2m └ \u001b[0m90 Library/Programming/Ruby - массивы.md (\u001b[32m+78\u001b[0m \u001b[31m-3\u001b[0m)\r\n \u001b[2m 1 \u001b[0m \u001b[38;2;147;153;178m---\r\n\u001b[39;48;5;52m \u001b[2m 2 \u001b[31;22m-\u001b[38;2;205;214;244;2mstatus: seed\u001b[88X\r\n\u001b[39;48;5;22;22m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: processing\u001b[82X\r\n\u001b[0m \u001b[2m 3 \u001b[0m \u001b[38;2;205;214;244mtype: knowledge\u001b[85X\r\n\u001b[0m \u001b[2m ⋮\r\n\u001b[0m \u001b[2m 7 \u001b[0m \u001b[38;2;205;214;244mcreated: 2026-05-17\r\n\u001b[39;48;5;52m \u001b[2m 8 \u001b[31;22m-\u001b[38;2;205;214;244;2mupdated: 2026-05-17\u001b[81X\r\n\u001b[39;48;5;22;22m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-05-26\u001b[81X\r\n\u001b[0m \u001b[2m 9 \u001b[0m \u001b[38;2;205;214;244mtitle: Ruby - массивы\u001b[79X\r\n\u001b[39;48;5;52m \u001b[2m 10 \u001b[31;22m-\u001b[38;2;205;214;244;2msource: \"[[Ruby - массивы]]\"\u001b[72X\r\n\u001b[39;48;5;22;22m \u001b[2m 10 \u001b[32;22m+\u001b[38;2;205;214;244msource:\u001b[93X\r\n\u001b[39m \u001b[2m 11 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \"[[Ruby - массивы]]\"\r\n\u001b[39m \u001b[2m 12 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \"[[Итераторы для обработки массивов Ruby]]\"\r\n\u001b[0m \u001b[2m 13 \u001b[0m \u001b[38;2;147;153;178m---\u001b[97X\r\n\u001b[0m \u001b[2m ⋮\r\n\u001b[0m \u001b[2m 99 \u001b[0m \u001b[38;2;147;153;178m```\r\n\u001b[39;48;5;22m \u001b[2m100 \u001b[32;22m+\u001b[100X\r\n\u001b[39m \u001b[2m101 \u001b[32;22m+\u001b[38;2;205;214;244m## Итераторы\r\n\u001b[39m \u001b[2m102 \u001b[32;22m+\r\n\u001b[39m \u001b[2m103 \u001b[32;22m+\u001b[38;2;205;214;244m`each` перебирает элементы массива:\r\n\u001b[39m \u001b[2m104 \u001b[32;22m+\r\n\u001b[39m \u001b[2m105 \u001b[32;22m+\u001b[38;2;205;214;244m```ruby\r\n\u001b[39m \u001b[2m106 \u001b[32;22m+\u001b[38;2;205;214;244mary.each { |item| block }\r\n\u001b[39m \u001b[2m107 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m108 \u001b[32;22m+\r\n\u001b[39m \u001b[2m109 \u001b[32;22m+\u001b[38;2;205;214;244mПример:\r\n\u001b[39m \u001b[2m110 \u001b[32;22m+\r\n\u001b[39m \u001b[2m111 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m112 \u001b[32;22m+\u001b[38;2;205;214;244marr\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244meach \u001b[38;2;203;166;247mdo\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;235;160;172mx\u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m113 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m x \u001b[38;2;148;226;213m>\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m&&\u001b[38;2;205;214;244m x \u001b[38;2;148;226;213m%\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m5\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\r\n\u001b[39m \u001b[2m114 \u001b[32;22m+\u001b[38;2;205;214;244m arr_out \u001b[38;2;148;226;213m<<\u001b[38;2;205;214;244m x\r\n\u001b[39m \u001b[2m115 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m116 \u001b[32;22m+\u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m117 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m118 \u001b[32;22m+\r\n\u001b[39m \u001b[2m119 \u001b[32;22m+\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244meach_index\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m перебирает индексы:\r\n\u001b[39m \u001b[2m120 \u001b[32;22m+\r\n\u001b[39m \u001b[2m121 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m122 \u001b[32;22m+\u001b[38;2;205;214;244mary\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244meach_index \u001b[38;2;147;153;178m{\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;235;160;172mindex\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m block \u001b[38;2;147;153;178m}\r\n\u001b[39m \u001b[2m123 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m124 \u001b[32;22m+\r\n\u001b[39m \u001b[2m125 \u001b[32;22m+\u001b[38;2;205;214;244mПохожий проход по индексам:\r\n\u001b[39m \u001b[2m126 \u001b[32;22m+\r\n\u001b[39m \u001b[2m127 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m128 \u001b[32;22m+\u001b[38;2;147;153;178m(\u001b[38;2;250;179;135m0\u001b[38;2;148;226;213m...\u001b[38;2;205;214;244marr\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244msize\u001b[38;2;147;153;178m)\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244meach \u001b[38;2;203;166;247mdo\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;235;160;172mi\u001b[38;2;147;153;178m|\r\n\u001b[39m \u001b[2m129 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m arr\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mi\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m>\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m&&\u001b[38;2;205;214;244m arr\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mi\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m%\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m5\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\r\n\u001b[39m \u001b[2m130 \u001b[32;22m+\u001b[38;2;205;214;244m arr_out \u001b[38;2;148;226;213m<<\u001b[38;2;205;214;244m arr\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mi\u001b[38;2;147;153;178m]\r\n\u001b[39m \u001b[2m131 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m132 \u001b[32;22m+\u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m133 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m134 \u001b[32;22m+\r\n\u001b[39m \u001b[2m135 \u001b[32;22m+\u001b[38;2;147;153;178m###\u001b[38;2;249;226;175m \u001b[38;2;148;226;213mПоиск минимума, максимума и индексов\r\n\u001b[39m \u001b[2m136 \u001b[32;22m+\r\n\u001b[39m \u001b[2m137 \u001b[32;22m+\u001b[38;2;205;214;244mИмперативный вариант:\r\n\u001b[39m \u001b[2m138 \u001b[32;22m+\r\n\u001b[39m \u001b[2m139 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m140 \u001b[32;22m+\u001b[38;2;205;214;244ma \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;243;139;168mgets\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mchomp\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244msplit\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mmap \u001b[38;2;147;153;178m{\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;235;160;172mi\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m i\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mto_i\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m}\r\n\u001b[39m \u001b[2m141 \u001b[32;22m+\u001b[38;2;243;139;168mp\u001b[38;2;205;214;244m a\r\n\u001b[39m \u001b[2m142 \u001b[32;22m+\r\n\u001b[39m \u001b[2m143 \u001b[32;22m+\u001b[38;2;205;214;244mmax \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m min \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m0\u001b[38;2;147;153;178m]\r\n\u001b[39m \u001b[2m144 \u001b[32;22m+\u001b[38;2;205;214;244mmaxi \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m mini \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\r\n\u001b[39m \u001b[2m145 \u001b[32;22m+\r\n\u001b[39m \u001b[2m146 \u001b[32;22m+\u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m i \u001b[38;2;148;226;213min\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m1\u001b[38;2;148;226;213m...\u001b[38;2;205;214;244ma\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244msize\r\n\u001b[39m \u001b[2m147 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m a\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mi\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m>\u001b[38;2;205;214;244m max\r\n\u001b[39m \u001b[2m148 \u001b[32;22m+\u001b[38;2;205;214;244m max \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mi\u001b[38;2;147;153;178m]\r\n\u001b[39m \u001b[2m149 \u001b[32;22m+\u001b[38;2;205;214;244m maxi \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m i\r\n\u001b[39m \u001b[2m150 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m151 \u001b[32;22m+\r\n\u001b[39m \u001b[2m152 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m a\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mi\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m<\u001b[38;2;205;214;244m min\r\n\u001b[39m \u001b[2m153 \u001b[32;22m+\u001b[38;2;205;214;244m min \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mi\u001b[38;2;147;153;178m]\r\n\u001b[39m \u001b[2m154 \u001b[32;22m+\u001b[38;2;205;214;244m mini \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m i\r\n\u001b[39m \u001b[2m155 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m156 \u001b[32;22m+\u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m157 \u001b[32;22m+\r\n\u001b[39m \u001b[2m158 \u001b[32;22m+\u001b[38;2;243;139;168mputs\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Максимальное число: \u001b[38;2;147;153;178m#{\u001b[38;2;205;214;244mmax\u001b[38;2;147;153;178m}\u001b[38;2;166;227;161m, индекс: \u001b[38;2;147;153;178m#{\u001b[38;2;205;214;244mmaxi\u001b[38;2;147;153;178m}\u001b[38;2;166;227;161m\"\r\n\u001b[39m \u001b[2m159 \u001b[32;22m+\u001b[38;2;243;139;168mputs\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Минимальное число: \u001b[38;2;147;153;178m#{\u001b[38;2;205;214;244mmin\u001b[38;2;147;153;178m}\u001b[38;2;166;227;161m, индекс: \u001b[38;2;147;153;178m#{\u001b[38;2;205;214;244mmini\u001b[38;2;147;153;178m}\u001b[38;2;166;227;161m\"\r\n\u001b[39m \u001b[2m160 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m161 \u001b[32;22m+\r\n\u001b[39m \u001b[2m162 \u001b[32;22m+\u001b[38;2;205;214;244mЧерез методы массива:\r\n\u001b[39m \u001b[2m163 \u001b[32;22m+\r\n\u001b[39m \u001b[2m164 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m165 \u001b[32;22m+\u001b[38;2;205;214;244ma \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;243;139;168mgets\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mchomp\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244msplit\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mmap \u001b[38;2;147;153;178m{\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m|\u001b[38;2;235;160;172mi\u001b[38;2;147;153;178m|\u001b[38;2;205;214;244m i\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mto_i\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m}\r\n\u001b[39m \u001b[2m166 \u001b[32;22m+\u001b[38;2;243;139;168mp\u001b[38;2;205;214;244m a\r\n\u001b[39m \u001b[2m167 \u001b[32;22m+\r\n\u001b[39m \u001b[2m168 \u001b[32;22m+\u001b[38;2;205;214;244mmax \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mmax\r\n\u001b[39m \u001b[2m169 \u001b[32;22m+\u001b[38;2;205;214;244mmin \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mmin\r\n\u001b[39m \u001b[2m170 \u001b[32;22m+\u001b[38;2;205;214;244mmaxi \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mindex\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mmax\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m171 \u001b[32;22m+\u001b[38;2;205;214;244mmini \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mindex\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mmin\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m172 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[0m\u001b[109X\r\n\u001b[2m └ \u001b[0m90 Library/Programming/Ruby - основы языка.md (\u001b[32m+141\u001b[0m \u001b[31m-3\u001b[0m)\r\n \u001b[2m 1 \u001b[0m \u001b[38;2;147;153;178m---\r\n\u001b[39;48;5;52m \u001b[2m 2 \u001b[31;22m-\u001b[38;2;205;214;244;2mstatus: seed\u001b[88X\r\n\u001b[39;48;5;22;22m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;205;214;244mstatus: processing\u001b[82X\r\n\u001b[0m \u001b[2m 3 \u001b[0m \u001b[38;2;205;214;244mtype: knowledge\u001b[85X\r\n\u001b[0m \u001b[2m ⋮\r\n\u001b[0m \u001b[2m 7 \u001b[0m \u001b[38;2;205;214;244mcreated: 2026-05-17\r\n\u001b[39;48;5;52m \u001b[2m 8 \u001b[31;22m-\u001b[38;2;205;214;244;2mupdated: 2026-05-17\u001b[81X\r\n\u001b[39;48;5;22;22m \u001b[2m 8 \u001b[32;22m+\u001b[38;2;205;214;244mupdated: 2026-05-26\u001b[81X\r\n\u001b[0m \u001b[2m 9 \u001b[0m \u001b[38;2;205;214;244mtitle: Ruby - основы языка\u001b[74X\r\n\u001b[39;48;5;52m \u001b[2m 10 \u001b[31;22m-\u001b[38;2;205;214;244;2msource: \"[[Ruby - основы языка]]\"\u001b[67X\r\n\u001b[39;48;5;22;22m \u001b[2m 10 \u001b[32;22m+\u001b[38;2;205;214;244msource:\u001b[93X\r\n\u001b[39m \u001b[2m 11 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \"[[Ruby - основы языка]]\"\r\n\u001b[39m \u001b[2m 12 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m-\u001b[38;2;205;214;244m \"[[Знания Ruby]]\"\r\n\u001b[0m \u001b[2m 13 \u001b[0m \u001b[38;2;147;153;178m---\u001b[97X\r\n\u001b[0m \u001b[2m ⋮\r\n\u001b[0m \u001b[2m 70\r\n\u001b[48;5;22;22m \u001b[2m 71 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mЗначения по умолчанию\u001b[76X\r\n\u001b[39m \u001b[2m 72 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 73 \u001b[32;22m+\u001b[38;2;205;214;244mДля присваивания значения по умолчанию часто используют \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m||=\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m:\r\n\u001b[39m \u001b[2m 74 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 75 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m 76 \u001b[32;22m+\u001b[38;2;205;214;244ma \u001b[38;2;148;226;213m||=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'что-то'\r\n\u001b[39m \u001b[2m 77 \u001b[32;22m+\u001b[38;2;147;153;178m# то же самое, что:\r\n\u001b[39m \u001b[2m 78 \u001b[32;22m+\u001b[38;2;205;214;244ma \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a \u001b[38;2;148;226;213m||\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'что-то'\r\n\u001b[39m \u001b[2m 79 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m 80 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 81 \u001b[32;22m+\u001b[38;2;205;214;244mЭто работает из-за того, что в Ruby только \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mnil\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m и \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mfalse\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m считаются falsey. Все остальные значения,\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22m включая \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, пустую строку и пустой массив, в условиях считаются truthy.\r\n\u001b[39m \u001b[2m 82 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 83 \u001b[32;22m+\u001b[38;2;205;214;244mОграничение: \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m||=\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m не подходит, если \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mfalse\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m — допустимое сохранённое значение.\r\n\u001b[39m \u001b[2m 84 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 85 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mПредикаты\r\n\u001b[39m \u001b[2m 86 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 87 \u001b[32;22m+\u001b[38;2;205;214;244mВ Ruby проверки часто оформляют методами-предикатами с \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m?\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m на конце:\r\n\u001b[39m \u001b[2m 88 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 89 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m 90 \u001b[32;22m+\u001b[38;2;250;179;135m0\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mzero? \u001b[38;2;147;153;178m# => true\r\n\u001b[39m \u001b[2m 91 \u001b[32;22m+\u001b[38;2;250;179;135m1\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mzero? \u001b[38;2;147;153;178m# => false\r\n\u001b[39m \u001b[2m 92 \u001b[32;22m+\u001b[38;2;250;179;135m2\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mpositive? \u001b[38;2;147;153;178m# => true\r\n\u001b[39m \u001b[2m 93 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 94 \u001b[32;22m+\u001b[38;2;250;179;135m8\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244meven? \u001b[38;2;147;153;178m# => true\r\n\u001b[39m \u001b[2m 95 \u001b[32;22m+\u001b[38;2;250;179;135m8\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244modd? \u001b[38;2;147;153;178m# => false\r\n\u001b[39m \u001b[2m 96 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 97 \u001b[32;22m+\u001b[38;2;166;227;161m''\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mempty? \u001b[38;2;147;153;178m# => true\r\n\u001b[39m \u001b[2m 98 \u001b[32;22m+\u001b[38;2;166;227;161m'wow'\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mempty? \u001b[38;2;147;153;178m# => false\r\n\u001b[39m \u001b[2m 99 \u001b[32;22m+\r\n\u001b[39m \u001b[2m100 \u001b[32;22m+\u001b[38;2;205;214;244msomething\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mnil?\r\n\u001b[39m \u001b[2m101 \u001b[32;22m+\u001b[38;2;205;214;244mitems\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244many?\r\n\u001b[39m \u001b[2m102 \u001b[32;22m+\u001b[38;2;205;214;244mitems\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mempty?\r\n\u001b[39m \u001b[2m103 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m104 \u001b[32;22m+\r\n\u001b[0m \u001b[2m105 \u001b[0m \u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mУправляющие конструкции\u001b[74X\r\n\u001b[0m \u001b[2m ⋮\r\n\u001b[0m \u001b[2m134\r\n\u001b[48;5;22;22m \u001b[2m135 \u001b[32;22m+\u001b[38;2;147;153;178m###\u001b[38;2;249;226;175m \u001b[38;2;148;226;213mАльтернативные условия\u001b[74X\r\n\u001b[39m \u001b[2m136 \u001b[32;22m+\r\n\u001b[39m \u001b[2m137 \u001b[32;22m+\u001b[38;2;205;214;244mТернарный оператор:\r\n\u001b[39m \u001b[2m138 \u001b[32;22m+\r\n\u001b[39m \u001b[2m139 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m140 \u001b[32;22m+\u001b[38;2;205;214;244mv \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m3\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m4\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m1\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\r\n\u001b[39m \u001b[2m141 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m142 \u001b[32;22m+\r\n\u001b[39m \u001b[2m143 \u001b[32;22m+\u001b[38;2;205;214;244mПостфиксный \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mif\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m используют для коротких выражений:\r\n\u001b[39m \u001b[2m144 \u001b[32;22m+\r\n\u001b[39m \u001b[2m145 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m146 \u001b[32;22m+\u001b[38;2;205;214;244mdo_something \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m num\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mzero?\r\n\u001b[39m \u001b[2m147 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m148 \u001b[32;22m+\r\n\u001b[39m \u001b[2m149 \u001b[32;22m+\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244munless\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m выполняет блок, если условие ложно:\r\n\u001b[39m \u001b[2m150 \u001b[32;22m+\r\n\u001b[39m \u001b[2m151 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m152 \u001b[32;22m+\u001b[38;2;203;166;247munless\u001b[38;2;205;214;244m something\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mzero?\r\n\u001b[39m \u001b[2m153 \u001b[32;22m+\u001b[38;2;205;214;244m do_something\r\n\u001b[39m \u001b[2m154 \u001b[32;22m+\u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m155 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m156 \u001b[32;22m+\r\n\u001b[39m \u001b[2m157 \u001b[32;22m+\u001b[38;2;205;214;244mСложные условия внутри \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244munless\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m лучше не писать: \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244munless a && b\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m читается хуже явного \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mif\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m.\r\n\u001b[39m \u001b[2m158 \u001b[32;22m+\r\n\u001b[39m \u001b[2m159 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mЛогические операторы\r\n\u001b[39m \u001b[2m160 \u001b[32;22m+\r\n\u001b[39m \u001b[2m161 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m162 \u001b[32;22m+\u001b[38;2;243;139;168mtrue\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m&&\u001b[38;2;205;214;244m \u001b[38;2;243;139;168mfalse\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => false\r\n\u001b[39m \u001b[2m163 \u001b[32;22m+\u001b[38;2;243;139;168mfalse\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m||\u001b[38;2;205;214;244m \u001b[38;2;243;139;168mtrue\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => true\r\n\u001b[39m \u001b[2m164 \u001b[32;22m+\u001b[38;2;148;226;213m!\u001b[38;2;243;139;168mtrue\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => false\r\n\u001b[39m \u001b[2m165 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m166 \u001b[32;22m+\r\n\u001b[39m \u001b[2m167 \u001b[32;22m+\u001b[38;2;205;214;244mСравнение с логическими значениями строгое:\r\n\u001b[39m \u001b[2m168 \u001b[32;22m+\r\n\u001b[39m \u001b[2m169 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m170 \u001b[32;22m+\u001b[38;2;243;139;168mtrue\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m1\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => false\r\n\u001b[39m \u001b[2m171 \u001b[32;22m+\u001b[38;2;243;139;168mfalse\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;243;139;168mnil\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => false\r\n\u001b[39m \u001b[2m172 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m173 \u001b[32;22m+\r\n\u001b[39m \u001b[2m174 \u001b[32;22m+\u001b[38;2;205;214;244mЛогические операторы возвращают не обязательно \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mtrue\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m или \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mfalse\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, а последнее вычисленное значение:\r\n\u001b[39m \u001b[2m175 \u001b[32;22m+\r\n\u001b[39m \u001b[2m176 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m177 \u001b[32;22m+\u001b[38;2;250;179;135m0\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m&&\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'one'\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => \"one\"\r\n\u001b[39m \u001b[2m178 \u001b[32;22m+\u001b[38;2;243;139;168mnil\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m&&\u001b[38;2;205;214;244m \u001b[38;2;243;139;168mfalse\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => nil\r\n\u001b[39m \u001b[2m179 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m180 \u001b[32;22m+\r\n\u001b[39m \u001b[2m181 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mОператор \u001b[38;2;147;153;178m`\u001b[38;2;148;226;213m<=>\u001b[38;2;147;153;178m`\r\n\u001b[39m \u001b[2m182 \u001b[32;22m+\r\n\u001b[39m \u001b[2m183 \u001b[32;22m+\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m<=>\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m называют spaceship-оператором. Он возвращает \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m-1\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m0\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m или \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m1\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m и часто используется при сортир\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mовке:\r\n\u001b[39m \u001b[2m184 \u001b[32;22m+\r\n\u001b[39m \u001b[2m185 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m186 \u001b[32;22m+\u001b[38;2;250;179;135m1\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m<=>\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m1\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => 0\r\n\u001b[39m \u001b[2m187 \u001b[32;22m+\u001b[38;2;250;179;135m2\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m<=>\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m1\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => 1\r\n\u001b[39m \u001b[2m188 \u001b[32;22m+\u001b[38;2;250;179;135m1\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m<=>\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m2\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => -1\r\n\u001b[39m \u001b[2m189 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m190 \u001b[32;22m+\r\n\u001b[39m \u001b[2m191 \u001b[32;22m+\u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mСтроки\r\n\u001b[39m \u001b[2m192 \u001b[32;22m+\r\n\u001b[39m \u001b[2m193 \u001b[32;22m+\u001b[38;2;205;214;244mКонкатенация:\r\n\u001b[39m \u001b[2m194 \u001b[32;22m+\r\n\u001b[39m \u001b[2m195 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m196 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'H'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'e'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'x'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'l'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'e'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m't'\r\n\u001b[39m \u001b[2m197 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'H'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'e'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'x'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'l'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'e'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m't'\r\n\u001b[39m \u001b[2m198 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m199 \u001b[32;22m+\r\n\u001b[39m \u001b[2m200 \u001b[32;22m+\u001b[38;2;205;214;244mИнтерполяция работает только в двойных кавычках:\r\n\u001b[39m \u001b[2m201 \u001b[32;22m+\r\n\u001b[39m \u001b[2m202 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m203 \u001b[32;22m+\u001b[38;2;205;214;244mgreeting \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"hello \u001b[38;2;147;153;178m#{\u001b[38;2;243;139;168mname\u001b[38;2;147;153;178m}\u001b[38;2;166;227;161m\"\r\n\u001b[39m \u001b[2m204 \u001b[32;22m+\u001b[38;2;205;214;244mline_feed \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"one line\u001b[38;2;245;194;231m\\n\u001b[38;2;166;227;161manother one\"\r\n\u001b[39m \u001b[2m205 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m206 \u001b[32;22m+\r\n\u001b[39m \u001b[2m207 \u001b[32;22m+\u001b[38;2;205;214;244mПолезные методы:\r\n\u001b[39m \u001b[2m208 \u001b[32;22m+\r\n\u001b[39m \u001b[2m209 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m210 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'ruby'\r\n\u001b[39m \u001b[2m211 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mupcase \u001b[38;2;147;153;178m# => \"RUBY\"\r\n\u001b[39m \u001b[2m212 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168minclude?\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m'ru'\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m213 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mcapitalize \u001b[38;2;147;153;178m# => \"Ruby\"\r\n\u001b[39m \u001b[2m214 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mlength \u001b[38;2;147;153;178m# => 4\r\n\u001b[39m \u001b[2m215 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m216 \u001b[32;22m+\r\n\u001b[39m \u001b[2m217 \u001b[32;22m+\u001b[38;2;205;214;244mСрезы:\r\n\u001b[39m \u001b[2m218 \u001b[32;22m+\r\n\u001b[39m \u001b[2m219 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m220 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'ruby'\r\n\u001b[39m \u001b[2m221 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m1\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => \"u\"\r\n\u001b[39m \u001b[2m222 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;147;153;178m[\u001b[38;2;148;226;213m-\u001b[38;2;250;179;135m1\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => \"y\"\r\n\u001b[39m \u001b[2m223 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m0\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m2\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => \"ru\"\r\n\u001b[39m \u001b[2m224 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m0\u001b[38;2;148;226;213m..-\u001b[38;2;250;179;135m2\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => \"rub\"\r\n\u001b[39m \u001b[2m225 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;147;153;178m[\u001b[38;2;148;226;213m-\u001b[38;2;250;179;135m4\u001b[38;2;148;226;213m..\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => \"ruby\"\r\n\u001b[39m \u001b[2m226 \u001b[32;22m+\u001b[38;2;243;139;168mname\u001b[38;2;147;153;178m[\u001b[38;2;245;194;231m/\u001b[38;2;166;227;161mru\u001b[38;2;245;194;231m/\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m# => \"ru\"\r\n\u001b[39m \u001b[2m227 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m228 \u001b[32;22m+\r\n\u001b[39m \u001b[2m229 \u001b[32;22m+\u001b[38;2;205;214;244mПример маскирования номера карты:\r\n\u001b[39m \u001b[2m230 \u001b[32;22m+\r\n\u001b[39m \u001b[2m231 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m232 \u001b[32;22m+\u001b[38;2;203;166;247mdef\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mprepare_card_for_display\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mnum\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m233 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"**\u001b[38;2;147;153;178m#{\u001b[38;2;205;214;244mnum\u001b[38;2;147;153;178m[\u001b[38;2;148;226;213m-\u001b[38;2;250;179;135m4\u001b[38;2;148;226;213m..\u001b[38;2;147;153;178m]}\u001b[38;2;166;227;161m\"\r\n\u001b[39m \u001b[2m234 \u001b[32;22m+\u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m235 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m236 \u001b[32;22m+\r\n\u001b[0m \u001b[2m237 \u001b[0m \u001b[38;2;147;153;178m##\u001b[38;2;250;179;135m \u001b[38;2;148;226;213mЦиклы\u001b[92X\r\n\r\n\u001b[39;2m─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mОсновные заметки обновлены. Переношу исходники в \u001b[36m99 System/Archive/\u001b[0m, затем пересоберу \u001b[36mINDEX.md\u001b[0m, чтобы\r\n появились новые пути и статусы.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mmv\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/Знания Ruby.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'99 System/Archive/Знания Ruby.md'\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mmv\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/Итераторы для обработки массивов Ruby.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'99 System/Archive/Итераторы для обработки\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mмассивов Ruby.md'\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mmv\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/В случае ошибок на принтере Kyocera FS-1020MFP.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'99 System/Archive/В случае ошибок на\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mпринтере Kyocera FS-1020MFP.md'\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[31;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpython3\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mc\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mfrom pathlib import Path\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mfrom collections import defaultdict, Counter\r\n\u001b[39;2m │ … +101 lines\r\n └ zsh:103: unmatched \"\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mКоманда регенерации индекса упала на кавычках shell, файлы не затронула. Вынесу короткий скрипт во\r\n временный файл и запущу его, чтобы не рисковать кривым quoting.\r\n\r\n\u001b[2m• \u001b[0mAdded /tmp/regenerate_secondbrain_index.py (\u001b[32m+124\u001b[0m \u001b[31m-0\u001b[0m)\r\n\u001b[48;5;22m \u001b[2m 1 \u001b[32;22m+\u001b[38;2;203;166;247mfrom\u001b[38;2;205;214;244m collections \u001b[38;2;203;166;247mimport\u001b[38;2;205;214;244m Counter\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m defaultdict\u001b[56X\r\n\u001b[39m \u001b[2m 2 \u001b[32;22m+\u001b[38;2;203;166;247mfrom\u001b[38;2;205;214;244m pathlib \u001b[38;2;203;166;247mimport\u001b[38;2;205;214;244m Path\r\n\u001b[39m \u001b[2m 3 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 4 \u001b[32;22m+\u001b[38;2;205;214;244mroot \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mPath\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\".\"\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 5 \u001b[32;22m+\u001b[38;2;205;214;244mskip_dirs \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m{\u001b[38;2;166;227;161m\".trash\"\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\".obsidian\"\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\".git\"\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\".smart-env\"\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\".stversions\"\u001b[38;2;147;153;178m}\r\n\u001b[39m \u001b[2m 6 \u001b[32;22m+\u001b[38;2;205;214;244mindex_name \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"INDEX.md\"\r\n\u001b[39m \u001b[2m 7 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 8 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 9 \u001b[32;22m+\u001b[38;2;203;166;247mdef\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mclean_scalar\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mvalue\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 10 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mreturn\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mvalue\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m()\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m'\"'\u001b[38;2;147;153;178m)\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"'\"\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 11 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 12 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 13 \u001b[32;22m+\u001b[38;2;203;166;247mdef\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mparse_frontmatter\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mtext\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 14 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mnot\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mtext\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstartswith\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"---\u001b[38;2;245;194;231m\\n\u001b[38;2;166;227;161m\"\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 15 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mreturn\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m{}\r\n\u001b[39m \u001b[2m 16 \u001b[32;22m+\u001b[38;2;205;214;244m end \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mtext\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mfind\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"\u001b[38;2;245;194;231m\\n\u001b[38;2;166;227;161m---\"\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m4\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 17 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m end \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m-\u001b[38;2;250;179;135m1\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 18 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mreturn\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m{}\r\n\u001b[39m \u001b[2m 19 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 20 \u001b[32;22m+\u001b[38;2;205;214;244m data \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m{}\r\n\u001b[39m \u001b[2m 21 \u001b[32;22m+\u001b[38;2;205;214;244m current \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;250;179;135mNone\r\n\u001b[39m \u001b[2m 22 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m line \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mtext\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m4\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244mend\u001b[38;2;147;153;178m]\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250msplitlines\u001b[38;2;147;153;178m():\r\n\u001b[39m \u001b[2m 23 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mnot\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mline\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m()\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mor\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mline\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mlstrip\u001b[38;2;147;153;178m()\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstartswith\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"#\"\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 24 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mcontinue\r\n\u001b[39m \u001b[2m 25 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mline\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstartswith\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\" - \"\u001b[38;2;147;153;178m)\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mand\u001b[38;2;205;214;244m current\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 26 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mdata\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250msetdefault\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mcurrent\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[])\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mclean_scalar\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mline\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m4\u001b[38;2;147;153;178m:]))\r\n\u001b[39m \u001b[2m 27 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mcontinue\r\n\u001b[39m \u001b[2m 28 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\":\"\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mnot\u001b[38;2;205;214;244m \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m line\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 29 \u001b[32;22m+\u001b[38;2;205;214;244m current \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;250;179;135mNone\r\n\u001b[39m \u001b[2m 30 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mcontinue\r\n\u001b[39m \u001b[2m 31 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 32 \u001b[32;22m+\u001b[38;2;205;214;244m key, value \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mline\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250msplit\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\":\"\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m1\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 33 \u001b[32;22m+\u001b[38;2;205;214;244m key \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mkey\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m()\r\n\u001b[39m \u001b[2m 34 \u001b[32;22m+\u001b[38;2;205;214;244m value \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mvalue\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m()\r\n\u001b[39m \u001b[2m 35 \u001b[32;22m+\u001b[38;2;205;214;244m current \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m key\r\n\u001b[39m \u001b[2m 36 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 37 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m value \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 38 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mdata\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mkey\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[]\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m key \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"tags\"\u001b[38;2;205;214;244m \u001b[38;2;203;166;247melse\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\r\n\u001b[39m \u001b[2m 39 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247melif\u001b[38;2;205;214;244m value \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"[]\"\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 40 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mdata\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mkey\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[]\r\n\u001b[39m \u001b[2m 41 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247melif\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mvalue\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstartswith\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"[\"\u001b[38;2;147;153;178m)\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mand\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mvalue\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mendswith\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"]\"\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 42 \u001b[32;22m+\u001b[38;2;205;214;244m inner \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mvalue\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m1\u001b[38;2;147;153;178m:\u001b[38;2;148;226;213m-\u001b[38;2;250;179;135m1\u001b[38;2;147;153;178m]\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m()\r\n\u001b[39m \u001b[2m 43 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mdata\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mkey\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[\u001b[38;2;137;180;250mclean_scalar\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mx\u001b[38;2;147;153;178m)\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m x \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m \u001b[38;2;137;180;250minner\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250msplit\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\",\"\u001b[38;2;147;153;178m)\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mx\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstrip\u001b[38;2;147;153;178m()]\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m inner \u001b[38;2;203;166;247melse\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[]\r\n\u001b[39m \u001b[2m 44 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247melse\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 45 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mdata\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mkey\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mclean_scalar\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mvalue\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 46 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 47 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mreturn\u001b[38;2;205;214;244m data\r\n\u001b[39m \u001b[2m 48 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 49 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 50 \u001b[32;22m+\u001b[38;2;203;166;247mdef\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mfmt\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mvalue\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 51 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m value \u001b[38;2;203;166;247mis\u001b[38;2;205;214;244m \u001b[38;2;250;179;135mNone\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mor\u001b[38;2;205;214;244m value \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mor\u001b[38;2;205;214;244m value \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[]:\r\n\u001b[39m \u001b[2m 52 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mreturn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"—\"\r\n\u001b[39m \u001b[2m 53 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;250;179;135misinstance\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mvalue\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mlist\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 54 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mreturn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\", \"\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mjoin\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mvalue\u001b[38;2;147;153;178m)\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m value \u001b[38;2;203;166;247melse\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"—\"\r\n\u001b[39m \u001b[2m 55 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mreturn\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mstr\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mvalue\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 56 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 57 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 58 \u001b[32;22m+\u001b[38;2;205;214;244mnotes \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[]\r\n\u001b[39m \u001b[2m 59 \u001b[32;22m+\u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m path \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m \u001b[38;2;250;179;135msorted\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mroot\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mrglob\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"*.md\"\u001b[38;2;147;153;178m),\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mkey\u001b[38;2;148;226;213m=\u001b[38;2;203;166;247mlambda\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mp\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mstr\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mp\u001b[38;2;147;153;178m)):\r\n\u001b[39m \u001b[2m 60 \u001b[32;22m+\u001b[38;2;205;214;244m rel \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mpath\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mrelative_to\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mroot\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 61 \u001b[32;22m+\u001b[38;2;205;214;244m parts \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m rel\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mparts\r\n\u001b[39m \u001b[2m 62 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m rel\u001b[38;2;148;226;213m.\u001b[38;2;205;214;244mname \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m index_name\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 63 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mcontinue\r\n\u001b[39m \u001b[2m 64 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;250;179;135many\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mpart \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m skip_dirs \u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m part \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m parts\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m 65 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mcontinue\r\n\u001b[39m \u001b[2m 66 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 67 \u001b[32;22m+\u001b[38;2;205;214;244m fm \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mparse_frontmatter\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mpath\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mread_text\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mencoding\u001b[38;2;148;226;213m=\u001b[38;2;166;227;161m\"utf-8\"\u001b[38;2;147;153;178m))\r\n\u001b[39m \u001b[2m 68 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mnotes\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\r\n\u001b[39m \u001b[2m 69 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m{\r\n\u001b[39m \u001b[2m 70 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"path\"\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mstr\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mrel\u001b[38;2;147;153;178m),\r\n\u001b[39m \u001b[2m 71 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"section\"\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mparts\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m0\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m parts \u001b[38;2;203;166;247melse\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 72 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"title\"\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mfmt\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mfm\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mget\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"title\"\u001b[38;2;147;153;178m)),\r\n\u001b[39m \u001b[2m 73 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"status\"\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mfmt\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mfm\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mget\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"status\"\u001b[38;2;147;153;178m)),\r\n\u001b[39m \u001b[2m 74 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"type\"\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mfmt\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mfm\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mget\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"type\"\u001b[38;2;147;153;178m)),\r\n\u001b[39m \u001b[2m 75 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"tags\"\u001b[38;2;147;153;178m:\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mfmt\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mfm\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mget\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"tags\"\u001b[38;2;147;153;178m)),\r\n\u001b[39m \u001b[2m 76 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m}\r\n\u001b[39m \u001b[2m 77 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 78 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 79 \u001b[32;22m+\u001b[38;2;205;214;244mby_section \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mdefaultdict\u001b[38;2;147;153;178m(\u001b[38;2;203;166;247mlist\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 80 \u001b[32;22m+\u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m note \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m notes\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m 81 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mby_section\u001b[38;2;147;153;178m[\u001b[38;2;235;160;172mnote\u001b[38;2;147;153;178m[\u001b[38;2;166;227;161m\"section\"\u001b[38;2;147;153;178m]]\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mnote\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 82 \u001b[32;22m+\r\n\u001b[39m \u001b[2m 83 \u001b[32;22m+\u001b[38;2;205;214;244mstatus_counts \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mCounter\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mnote\u001b[38;2;147;153;178m[\u001b[38;2;166;227;161m\"status\"\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m note \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m notes\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m 84 \u001b[32;22m+\u001b[38;2;205;214;244mlines \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[\r\n\u001b[39m \u001b[2m 85 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"---\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 86 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"generated: 2026-05-26\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 87 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161mf\"total: \u001b[38;2;147;153;178m{\u001b[38;2;250;179;135mlen\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mnotes\u001b[38;2;147;153;178m)}\u001b[38;2;166;227;161m\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 88 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"---\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 89 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 90 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"# Vault Index\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 91 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 92 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Служебный файл для LLM-агента. Не редактировать вручную.\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 93 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 94 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"## Статистика\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 95 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 96 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"| Параметр | Значение |\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 97 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"|----------|----------|\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 98 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161mf\"| Всего заметок | \u001b[38;2;147;153;178m{\u001b[38;2;250;179;135mlen\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mnotes\u001b[38;2;147;153;178m)}\u001b[38;2;166;227;161m |\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m 99 \u001b[32;22m+\u001b[38;2;147;153;178m]\r\n\u001b[39m \u001b[2m100 \u001b[32;22m+\r\n\u001b[39m \u001b[2m101 \u001b[32;22m+\u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m status \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m \u001b[38;2;250;179;135msorted\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mstatus_counts\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m102 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mlines\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161mf\"| status: \u001b[38;2;147;153;178m{\u001b[38;2;205;214;244mstatus\u001b[38;2;147;153;178m}\u001b[38;2;166;227;161m | \u001b[38;2;147;153;178m{\u001b[38;2;235;160;172mstatus_counts\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mstatus\u001b[38;2;147;153;178m]}\u001b[38;2;166;227;161m |\"\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m103 \u001b[32;22m+\r\n\u001b[39m \u001b[2m104 \u001b[32;22m+\u001b[38;2;137;180;250mlines\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mextend\u001b[38;2;147;153;178m(\r\n\u001b[39m \u001b[2m105 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[\r\n\u001b[39m \u001b[2m106 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m107 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"## Заметки\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m108 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m109 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Формат: `путь` | title | status | type | tags\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m110 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m,\r\n\u001b[39m \u001b[2m111 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m]\r\n\u001b[39m \u001b[2m112 \u001b[32;22m+\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m113 \u001b[32;22m+\r\n\u001b[39m \u001b[2m114 \u001b[32;22m+\u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m section \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m \u001b[38;2;250;179;135msorted\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mby_section\u001b[38;2;147;153;178m):\r\n\u001b[39m \u001b[2m115 \u001b[32;22m+\u001b[38;2;205;214;244m items \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mby_section\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244msection\u001b[38;2;147;153;178m]\r\n\u001b[39m \u001b[2m116 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mlines\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161mf\"### \u001b[38;2;147;153;178m{\u001b[38;2;205;214;244msection\u001b[38;2;147;153;178m}\u001b[38;2;166;227;161m (\u001b[38;2;147;153;178m{\u001b[38;2;250;179;135mlen\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mitems\u001b[38;2;147;153;178m)}\u001b[38;2;166;227;161m)\"\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m117 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mlines\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m118 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mfor\u001b[38;2;205;214;244m note \u001b[38;2;203;166;247min\u001b[38;2;205;214;244m items\u001b[38;2;147;153;178m:\r\n\u001b[39m \u001b[2m119 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mlines\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\r\n\u001b[39m \u001b[2m120 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161mf\"| `\u001b[38;2;147;153;178m{\u001b[38;2;235;160;172mnote\u001b[38;2;147;153;178m[\u001b[38;2;166;227;161m'path'\u001b[38;2;147;153;178m]}\u001b[38;2;166;227;161m` | \u001b[38;2;147;153;178m{\u001b[38;2;235;160;172mnote\u001b[38;2;147;153;178m[\u001b[38;2;166;227;161m'title'\u001b[38;2;147;153;178m]}\u001b[38;2;166;227;161m | \u001b[38;2;147;153;178m{\u001b[38;2;235;160;172mnote\u001b[38;2;147;153;178m[\u001b[38;2;166;227;161m'status'\u001b[38;2;147;153;178m]}\u001b[38;2;166;227;161m | \u001b[38;2;147;153;178m{\u001b[38;2;235;160;172mnote\u001b[38;2;147;153;178m[\u001b[38;2;166;227;161m'type'\u001b[38;2;147;153;178m]}\u001b[38;2;166;227;161m | \u001b[38;2;147;153;178m{\u001b[38;2;235;160;172mnote\u001b[38;2;147;153;178m[\u001b[38;2;166;227;161m'tags\r\n\u001b[39m \u001b[2m \u001b[38;2;166;227;161;22m'\u001b[38;2;147;153;178m]}\u001b[38;2;166;227;161m |\"\r\n\u001b[39m \u001b[2m121 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m122 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mlines\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"\"\u001b[38;2;147;153;178m)\r\n\u001b[39m \u001b[2m123 \u001b[32;22m+\r\n\u001b[39m \u001b[2m124 \u001b[32;22m+\u001b[38;2;137;180;250mPath\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mindex_name\u001b[38;2;147;153;178m)\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mwrite_text\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\"\u001b[38;2;245;194;231m\\n\u001b[38;2;166;227;161m\"\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mjoin\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mlines\u001b[38;2;147;153;178m)\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mrstrip\u001b[38;2;147;153;178m()\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"\u001b[38;2;245;194;231m\\n\u001b[38;2;166;227;161m\"\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mencoding\u001b[38;2;148;226;213m=\u001b[38;2;166;227;161m\"utf-8\"\u001b[38;2;147;153;178m)\r\n\u001b[0m\u001b[109X\r\n\u001b[31;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpython3\u001b[38;2;205;214;244m /tmp/regenerate_secondbrain_index.py\r\n\u001b[39;2m └ Traceback (most recent call last):\r\n\u001b[0m \u001b[2m File \"/tmp/regenerate_secondbrain_index.py\", line 67, in \r\n … +3 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\r\n\u001b[0m \u001b[2mAttributeError: 'str' object has no attribute 'append'\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mСкрипт нашёл YAML-список не только в \u001b[36mtags\u001b[0m; поправляю парсер списков и запускаю повторно.\r\n\r\n\u001b[2m• \u001b[0mEdited /tmp/regenerate_secondbrain_index.py (\u001b[32m+3\u001b[0m \u001b[31m-1\u001b[0m)\r\n \u001b[2m25 \u001b[0m \u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;137;180;250mline\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mstartswith\u001b[38;2;147;153;178m(\u001b[38;2;166;227;161m\" - \"\u001b[38;2;147;153;178m)\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mand\u001b[38;2;205;214;244m current\u001b[38;2;147;153;178m:\r\n\u001b[39;48;5;52m \u001b[2m26 \u001b[31;22m-\u001b[38;2;205;214;244;2m \u001b[38;2;137;180;250mdata\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250msetdefault\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mcurrent\u001b[38;2;147;153;178m,\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[])\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mclean_scalar\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mline\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m4\u001b[38;2;147;153;178m:]))\u001b[30X\r\n\u001b[39;48;5;22;22m \u001b[2m26 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mif\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mnot\u001b[38;2;205;214;244m \u001b[38;2;250;179;135misinstance\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mdata\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mget\u001b[38;2;147;153;178m(\u001b[38;2;205;214;244mcurrent\u001b[38;2;147;153;178m),\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mlist\u001b[38;2;147;153;178m):\u001b[46X\r\n\u001b[39m \u001b[2m27 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mdata\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mcurrent\u001b[38;2;147;153;178m]\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;147;153;178m[]\r\n\u001b[39m \u001b[2m28 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;235;160;172mdata\u001b[38;2;147;153;178m[\u001b[38;2;205;214;244mcurrent\u001b[38;2;147;153;178m]\u001b[38;2;148;226;213m.\u001b[38;2;137;180;250mappend\u001b[38;2;147;153;178m(\u001b[38;2;137;180;250mclean_scalar\u001b[38;2;147;153;178m(\u001b[38;2;235;160;172mline\u001b[38;2;147;153;178m[\u001b[38;2;250;179;135m4\u001b[38;2;147;153;178m:]))\r\n\u001b[0m \u001b[2m29 \u001b[0m \u001b[38;2;205;214;244m \u001b[38;2;203;166;247mcontinue\u001b[81X\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpython3\u001b[38;2;205;214;244m /tmp/regenerate_secondbrain_index.py\r\n\u001b[39;2m └ (no output)\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[36;22mINDEX.md\u001b[0m пересобран. Проверяю итоговый diff и наличие исходников в архиве, чтобы поймать ошибки до\r\n финального отчёта.\r\n\r\n\u001b[31;1m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput without permissionDecision:allow\r\n\r\n\u001b[31;1m•\u001b[0m PreToolUse hook (failed)\r\n error: PreToolUse hook returned updatedInput without permissionDecision:allow\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m git diff\u001b[38;2;147;153;178m --\u001b[38;2;235;160;172mname-status\r\n\u001b[39;2m └ M .obsidian/workspace.json\r\n\u001b[0m \u001b[2mD 00 Inbox/В случае ошибок на принтере Kyocera FS-1020MFP.md\r\n … +6 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m--- Changes ---\r\n\r\n └ 99 System/Archive/Знания Ruby.md\r\n\u001b[0m \u001b[2m99 System/Archive/Итераторы для обработки массивов Ruby.md\r\n\u001b[0m \u001b[2m99 System/Archive/В случае ошибок на принтере Kyocera FS-1020MFP.md\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mcommand\u001b[38;2;205;214;244m find \u001b[38;2;166;227;161m'00 Inbox'\u001b[38;2;205;214;244m -maxdepth 1 -type f -print\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mnE\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'Kyocera FS-1020MFP|Ruby - основы языка|Ruby - массивы|Знания Ruby|Итераторы для обработки\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mмассивов Ruby|В случае ошибок на принтере'\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ 419:| `90 Library/Other/Kyocera FS-1020MFP — ошибки.md` | Kyocera FS-1020MFP — ошибки | seed | guide |\r\n\u001b[0m \u001b[2mother, printer, kyocera |\r\n … +9 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m458:| `99 System/Archive/Итераторы для обработки массивов Ruby.md` | Итераторы для обработки массивов\r\n\u001b[0m \u001b[2mRuby | seed | concept | — |\r\n\u001b[0m \u001b[2m?? \"99 System/Archive/Знания Ruby.md\"\r\n\u001b[0m \u001b[2m?? \"99 System/Archive/Итераторы для обработки массивов Ruby.md\"\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m INDEX.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m git diff\u001b[38;2;147;153;178m --\u001b[38;2;235;160;172mstat\u001b[38;2;148;226;213m --\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Programming/Ruby - основы языка.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Programming/Ruby -\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mмассивы.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Other/Kyocera FS-1020MFP — ошибки.md'\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ 90 Library/Programming/Ruby - массивы.md | 81 ++++++++++++++-\r\n\u001b[0m \u001b[2m 90 Library/Programming/Ruby - основы языка.md | 144 +++++++++++++++++++++++++-\r\n\u001b[0m \u001b[2m INDEX.md | 22 ++--\r\n\u001b[0m \u001b[2m 3 files changed, 232 insertions(+), 15 deletions(-)\r\n\r\n\u001b[32;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m git diff\u001b[38;2;148;226;213m --\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ INDEX.md | 22 +++++++++++++---------\r\n\u001b[0m \u001b[2m 1 file changed, 13 insertions(+), 9 deletions(-)\r\n … +57 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m | `99 System/Archive/КР - Хопфилд.md` | КР - Хопфилд | seed | concept | — |\r\n\u001b[0m \u001b[2m +13 -9\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Ruby - основы языка.md\u001b[2m, \u001b[0mKyocera FS-1020MFP — ошибки.md\u001b[2m, \u001b[0mRuby - массивы.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m git diff\u001b[38;2;147;153;178m --\u001b[38;2;235;160;172mcheck\u001b[38;2;148;226;213m --\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Programming/Ruby - основы языка.md'\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Programming/Ruby -\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mмассивы.md'\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └\r\n\r\n\u001b[48;5;239;22m\u001b[109X\r\n\u001b[1;2m› \u001b[22;22mМожешь чуть побольше про тернарный оператор добавить инфы, а то не совсем понимаю\r\n\r\n\u001b[0m\u001b[109X\r\n\u001b[2m• \u001b[0mПлан: расширю только раздел \u001b[36mТернарный оператор\u001b[0m в \u001b[36m90 Library/Programming/Ruby - основы языка.md\u001b[0m: синтаксис,\r\n смысл возврата значения, 2-3 коротких примера и ограничение по читаемости. \u001b[36mINDEX.md\u001b[0m трогать не нужно,\r\n frontmatter не меняется.\r\n\r\n\u001b[2m• \u001b[0mEdited 90 Library/Programming/Ruby - основы языка.md (\u001b[32m+36\u001b[0m \u001b[31m-2\u001b[0m)\r\n \u001b[2m136\r\n\u001b[48;5;52;22m \u001b[2m137 \u001b[31;22m-\u001b[38;2;205;214;244;2mТернарный оператор:\u001b[81X\r\n\u001b[39;48;5;22;22m \u001b[2m137 \u001b[32;22m+\u001b[38;2;205;214;244mТернарный оператор — короткая форма \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mif/else\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m, когда нужно выбрать одно из двух значений:\u001b[11X\r\n\u001b[39m \u001b[2m138 \u001b[32;22m+\r\n\u001b[39m \u001b[2m139 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m140 \u001b[32;22m+\u001b[38;2;205;214;244mcondition \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m value_if_true \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m value_if_false\r\n\u001b[39m \u001b[2m141 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m142 \u001b[32;22m+\r\n\u001b[39m \u001b[2m143 \u001b[32;22m+\u001b[38;2;205;214;244mПример:\r\n\u001b[39m \u001b[2m144 \u001b[32;22m+\r\n\u001b[39m \u001b[2m145 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m146 \u001b[32;22m+\u001b[38;2;205;214;244mage \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m20\r\n\u001b[39m \u001b[2m147 \u001b[32;22m+\u001b[38;2;205;214;244mstatus \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m age \u001b[38;2;148;226;213m>=\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m18\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'adult'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'minor'\r\n\u001b[39m \u001b[2m148 \u001b[32;22m+\u001b[38;2;147;153;178m# => \"adult\"\r\n\u001b[39m \u001b[2m149 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m150 \u001b[32;22m+\r\n\u001b[39m \u001b[2m151 \u001b[32;22m+\u001b[38;2;205;214;244mОбычный \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mif/else\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m для того же случая:\r\n\u001b[39m \u001b[2m152 \u001b[32;22m+\r\n\u001b[39m \u001b[2m153 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m157 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247melse\r\n\u001b[39m \u001b[2m158 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'minor'\r\n\u001b[39m \u001b[2m159 \u001b[32;22m+\u001b[38;2;205;214;244m \u001b[38;2;203;166;247mend\r\n\u001b[39m \u001b[2m160 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m161 \u001b[32;22m+\r\n\u001b[39m \u001b[2m162 \u001b[32;22m+\u001b[38;2;205;214;244mТернарный оператор удобен, когда обе ветки короткие и возвращают простые значения:\r\n\u001b[0m \u001b[2m163\u001b[102X\r\n\u001b[0m \u001b[2m164 \u001b[0m \u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39;48;5;52m \u001b[2m140 \u001b[31;22m-\u001b[38;2;205;214;244;2mv \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m3\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m==\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m4\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m1\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\u001b[82X\r\n\u001b[39;48;5;22;22m \u001b[2m165 \u001b[32;22m+\u001b[38;2;205;214;244mmessage \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m user\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mnil?\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'Гость'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m user\u001b[38;2;148;226;213m.\u001b[38;2;243;139;168mname\u001b[59X\r\n\u001b[39m \u001b[2m166 \u001b[32;22m+\u001b[38;2;205;214;244mprice \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m discount \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m base_price \u001b[38;2;148;226;213m*\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\u001b[38;2;147;153;178m.\u001b[38;2;250;179;135m9\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m base_price\r\n\u001b[39m \u001b[2m167 \u001b[32;22m+\u001b[38;2;147;153;178m```\r\n\u001b[39m \u001b[2m168 \u001b[32;22m+\r\n\u001b[39m \u001b[2m169 \u001b[32;22m+\u001b[38;2;205;214;244mЕсли логика занимает несколько строк, лучше использовать обычный \u001b[38;2;147;153;178m`\u001b[38;2;205;214;244mif/else\u001b[38;2;147;153;178m`\u001b[38;2;205;214;244m. Вложенные тернарные опер\r\n\u001b[39m \u001b[2m \u001b[38;2;205;214;244;22mаторы тоже лучше не писать: они быстро становятся нечитаемыми.\r\n\u001b[39m \u001b[2m170 \u001b[32;22m+\r\n\u001b[39m \u001b[2m171 \u001b[32;22m+\u001b[38;2;205;214;244mПлохой вариант:\r\n\u001b[39m \u001b[2m172 \u001b[32;22m+\r\n\u001b[39m \u001b[2m173 \u001b[32;22m+\u001b[38;2;147;153;178m```\u001b[38;2;205;214;244mruby\r\n\u001b[39m \u001b[2m174 \u001b[32;22m+\u001b[38;2;205;214;244mresult \u001b[38;2;148;226;213m=\u001b[38;2;205;214;244m a \u001b[38;2;148;226;213m>\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'positive'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m a \u001b[38;2;148;226;213m<\u001b[38;2;205;214;244m \u001b[38;2;250;179;135m0\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m?\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'negative'\u001b[38;2;205;214;244m \u001b[38;2;148;226;213m:\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'zero'\r\n\u001b[0m \u001b[2m175 \u001b[0m \u001b[38;2;147;153;178m```\u001b[97X\r\n\r\n\u001b[39;2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Ruby - основы языка.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m git diff\u001b[38;2;147;153;178m --\u001b[38;2;235;160;172mcheck\u001b[38;2;148;226;213m --\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library/Programming/Ruby - основы языка.md'\r\n\u001b[39;2m └\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mДобавил расширение в \u001b[36m90 Library/Programming/Ruby - основы языка.md:129\u001b[0m: синтаксис тернарного оператора,\r\n пример с \u001b[36mage\u001b[0m, эквивалент через обычный \u001b[36mif/else\u001b[0m, типовые случаи применения и предупреждение про вложенные\r\n тернарники.\r\n\r\n Проверил \u001b[36mgit diff --check\u001b[0m по файлу, проблем с пробелами нет.\r\n\r\n\u001b[2m─ Worked for 2m 40s ─────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n\u001b[48;5;239;22m \u001b[108X\r\n\u001b[1m›\u001b[22m \u001b[2mExplain this codebase\r\n\u001b[0m * Restored history at Fri May 29 2026 07:34:49 GMT+0300 (Москва, стандартное время)\u001b[48;5;239m\r\n\u001b[0m\u001b[2X\u001b[2C\u001b[38;2;246;226;183mgpt-5.5 high fast\u001b[39;2m · \u001b[38;2;171;223;167;22m~/Documents/Vaults/SecondBrain\u001b[57X\r\n\u001b[38;5;76m❯\u001b[0m \u001b[32mgemini\r\n\u001b[0m󰖟 Proxy enabled (127.0.0.1:2080)\r\n\r\n \u001b[38;5;74m▝\u001b[38;5;110m▜\u001b[38;5;140m▄\u001b[38;5;139m \u001b[38;5;174m \u001b[0m \u001b[38;5;231;1mGemini CLI\u001b[38;5;248;22m v0.43.0\r\n\u001b[0m \u001b[38;5;74m \u001b[38;5;110m \u001b[38;5;140m▝\u001b[38;5;139m▜\u001b[38;5;174m▄\r\n\u001b[0m \u001b[38;5;74m \u001b[38;5;110m▗\u001b[38;5;140m▟\u001b[38;5;139m▀\u001b[38;5;174m \u001b[0m \u001b[38;5;231;1mSigned in with Google\u001b[38;5;248;22m /auth\r\n\u001b[0m \u001b[38;5;74m▝\u001b[38;5;110m▀\u001b[38;5;140m \u001b[38;5;139m \u001b[38;5;174m \u001b[0m \u001b[38;5;231;1mPlan:\u001b[22m Gemini Code Assist in Google One AI Pro\u001b[38;5;248m /upgrade\r\n\r\n\r\n\u001b[38;5;229mℹ MCP issues detected. Run /mcp list for status.\r\n\u001b[38;5;217m✕ Automatic update failed. Please try updating manually:\r\n\r\n\u001b[0m \u001b[38;5;217mnpm install -g @google/gemini-cli@0.44.1\r\n\r\n\u001b[39;48;5;60m \r\n \u001b[38;5;183m> /quit\u001b[39m \r\n\u001b[38;5;102;49m│\u001b[0m \u001b[38;5;147mWall Time:\u001b[0m \u001b[38;5;231m9.1s\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;147mAgent Active:\u001b[0m \u001b[38;5;231m1.4s\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;248m» API Time:\u001b[0m \u001b[38;5;231m1.4s \u001b[38;5;248m(100.0%)\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;248m» Tool Time:\u001b[0m \u001b[38;5;231m0s \u001b[38;5;248m(0.0%)\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;231;1mModel Usage\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;248;1mModel\u001b[0m \u001b[38;5;248;1mReqs\u001b[0m \u001b[38;5;248;1mInput Tokens\u001b[0m \u001b[38;5;248;1mCache Reads\u001b[0m \u001b[38;5;248;1mOutput Tokens\u001b[0m \u001b[38;5;102m│\r\n│\u001b[0m \u001b[38;5;102m───────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[38;5;102m│\r\n\u001b[0m󰖟 Proxy enabled (127.0.0.1:2080)\r\nWARNING: failed to clean up stale arg0 temp dirs: Permission denied (os error 13)\r\n\u001b[2m╭───────────────────────────────────────────────────────────────╮\r\n│ \u001b[36;1;22m✨ Update available!\u001b[0m \u001b[1m0.133.0 -> 0.134.0\u001b[22;2m │\r\n│ \u001b[0mSee \u001b[36;4mhttps://github.com/openai/codex\u001b[0m for installation options.\u001b[2m │\r\n│ │\r\n\r\n╭───────────────────────────────────────────────────╮\r\n│ >_ \u001b[1;22mOpenAI Codex\u001b[22;2m (v0.133.0) │\r\n│ │\r\n│ model: \u001b[0mgpt-5.5 high \u001b[35mfast\u001b[39;2m \u001b[36;22m/model\u001b[39;2m to change │\r\n│ directory: \u001b[0m~/Documents/Vaults/SecondBrain\u001b[2m │\r\n╰───────────────────────────────────────────────────╯\r\n\r\n\u001b[0m \u001b[1mTip:\u001b[0m Use /init to create an AGENTS.md with project-specific guidance.\r\n\r\n\u001b[2m• \u001b[0mService tier set to default\r\n\r\n\u001b[48;5;239m\u001b[109X\r\n\u001b[1;2m› \u001b[22;22mingest\r\n\r\n\u001b[0m\u001b[109X\r\n\u001b[2m• \u001b[0mСначала проверю \u001b[36mINDEX.md\u001b[0m, входящие файлы и доступные шаблоны, затем дам план ingest и остановлюсь на\r\n подтверждении перед правками.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpwd\r\n\u001b[39;2m └ /home/ada/Documents/Vaults/SecondBrain\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m INDEX.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m ls\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mla\u001b[38;2;205;214;244m 99\u001b[38;2;245;194;231m\\ \u001b[38;2;205;214;244mSystem/Template\r\n\u001b[0m \u001b[2mStudy Item.md 396B\r\n\u001b[0m \u001b[2mTravel Item.md 272B\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m ls\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mla\u001b[38;2;205;214;244m 00\u001b[38;2;245;194;231m\\ \u001b[38;2;205;214;244mInbox\r\n\u001b[39;2m └ Команды для деплоя с помощью Capistrano.md 1.0K\r\n\u001b[0m \u001b[2mМИАД_Л1.pdf 1.4M\r\n\u001b[0m \u001b[2mМИАД_Л2.pdf 1.2M\r\n\u001b[0m \u001b[2mМИАД_Л3_нечеткий_вывод.pdf 1.6M\r\n\u001b[0m \u001b[2mМИАД_Л4_иерархии.pdf 1.8M\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m ls\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mla\r\n\u001b[39;2m └ .claude/\r\n\u001b[0m \u001b[2m.git/\r\n … +16 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mGEMINI.md 329B\r\n\u001b[0m \u001b[2mINDEX.md 71.0K\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mВ \u001b[36m00 Inbox/\u001b[0m нашёл один markdown по Capistrano и четыре PDF-лекции МИАД. Сейчас быстро проверю содержание и\r\n близкие заметки, чтобы не предложить дубли.\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Команды для деплоя с помощью Capistrano.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m read \u001b[38;2;166;227;161m'99 System/Template/Study Item.md'\r\n\u001b[39;2m └ ---\r\n\u001b[0m \u001b[2mtags: []\r\n … +20 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m## Связанные Ссылки\r\n\u001b[0m \u001b[2m- [[StudyTracker|📁 Трекер обучения]]\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m read \u001b[38;2;166;227;161m'99 System/Template/Base Note.md'\r\n\u001b[39;2m └ ---\r\n\u001b[0m \u001b[2mstatus: seed\r\n … +4 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mtitle:\r\n\u001b[0m \u001b[2m---\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Capistrano|deploy|деплой|МИАД|нечет|иерарх|дискриминант|кластер|фактор\"\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ 17 matches in 1F:\r\n\r\n … +17 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 375: | `90 Library/Math/Теория нечетких множеств/Функция принадлежности.md` | Функ...\r\n\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m INDEX.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mf\u001b[38;2;205;214;244m 1\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172ml\u001b[38;2;205;214;244m 2\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л1.pdf'\u001b[38;2;205;214;244m -\r\n\u001b[39;2m └ Математические методы в задачах финансового\r\n\u001b[0m \u001b[2mмониторинга\r\n … +19 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 2\r\n\u001b[0m \r\n\r\n \u001b[2mмониторинга\r\n … +18 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 2\r\n\u001b[0m \r\n\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mf\u001b[38;2;205;214;244m 1\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172ml\u001b[38;2;205;214;244m 2\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л2.pdf'\u001b[38;2;205;214;244m -\r\n\u001b[39;2m └ Математические методы в задачах финансового\r\n\u001b[0m \u001b[2mмониторинга\r\n … +16 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 2\r\n\u001b[0m \r\n\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mf\u001b[38;2;205;214;244m 1\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172ml\u001b[38;2;205;214;244m 2\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л3_нечеткий_вывод.pdf'\u001b[38;2;205;214;244m -\r\n\u001b[39;2m └ Математические методы в задачах финансового\r\n\u001b[0m \u001b[2mмониторинга\r\n … +14 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 2\r\n\u001b[0m \r\n\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mSearch\u001b[0m *.md\u001b[2m in \u001b[0mMath\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Capistrano|Puma|puma:install|sudoers|Solid Queue|Sidekiq|deploy\"\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'90 Library'\u001b[38;2;205;214;244m INDEX.md\r\n\u001b[39;2m └ 9 matches in 4F:\r\n\r\n … +15 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 428: | `90 Library/Programming/Ruby On Rails/Sidekiq - основа работы.md` | Sidekiq...\r\n └ 7F 2D:\r\n\r\n\u001b[0m \u001b[2m./ Ruby - массивы.md Ruby - основы языка.md\r\n\u001b[0m \u001b[2mRuby On Rails/ API импорт в Rails через runner.md Active Storage.md Rails credentials edit не открывает\r\n\u001b[0m \u001b[2mредактор.md Ruby On Rails.md Sidekiq - основа работы.md\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mf\u001b[38;2;205;214;244m 1\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172ml\u001b[38;2;205;214;244m 8\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л4_иерархии.pdf'\u001b[38;2;205;214;244m -\r\n\u001b[39;2m └ Математические методы в задачах финансового\r\n\u001b[0m \u001b[2mмониторинга\r\n … +88 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 8\r\n\u001b[0m \r\n\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mf\u001b[38;2;205;214;244m 1\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172ml\u001b[38;2;205;214;244m 8\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л1.pdf'\u001b[38;2;205;214;244m -\r\n\u001b[39;2m └ Математические методы в задачах финансового\r\n\u001b[0m \u001b[2mмониторинга\r\n … +101 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 8\r\n\u001b[0m \r\n\r\n\r\n\u001b[2m•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Sidekiq - основа работы.md\u001b[2m, \u001b[0mRuby On Rails.md\u001b[2m, \u001b[0mТеория нечетких множеств.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mf\u001b[38;2;205;214;244m 1\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172ml\u001b[38;2;205;214;244m 6\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л2.pdf'\u001b[38;2;205;214;244m -\r\n\u001b[39;2m └ Математические методы в задачах финансового\r\n\u001b[0m \u001b[2mмониторинга\r\n … +61 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2mиспользуем 𝑥𝑅𝑦 или (𝑥, 𝑦) ∈ 𝑅. 6\r\n\u001b[0m \r\n\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mf\u001b[38;2;205;214;244m 1\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172ml\u001b[38;2;205;214;244m 6\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л3_нечеткий_вывод.pdf'\u001b[38;2;205;214;244m -\r\n\u001b[39;2m └ Математические методы в задачах финансового\r\n\u001b[0m \u001b[2mмониторинга\r\n … +58 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 6\r\n\u001b[0m \r\n\r\n\r\n\u001b[2m─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mПлан ingest, без правок пока:\r\n\r\n \u001b[94m1. \u001b[36m00 Inbox/Команды для деплоя с помощью Capistrano.md\r\n\u001b[0m - Шаблон: \u001b[36mBase Note.md\r\n\u001b[0m - Куда: \u001b[36m90 Library/Programming/Ruby On Rails/Capistrano deploy через systemd.md\r\n\u001b[0m - Связи: \u001b[36m[[Ruby On Rails]]\u001b[0m, \u001b[36m[[Sidekiq - основа работы]]\r\n\u001b[0m - Источник после обработки: \u001b[36m99 System/Archive/\r\n\u001b[0m \u001b[94m2. \u001b[36m00 Inbox/МИАД_Л1.pdf\r\n\u001b[0m - Не создавать дубль: тема уже частично покрыта в \u001b[36m90 Library/Math/Теория нечетких множеств/\r\n\u001b[0m - Дополнить существующие заметки про нечёткое множество, функцию принадлежности, логические операции\r\n - Связи: \u001b[36m[[Теория Нечетких Множеств]]\u001b[0m, \u001b[36m[[Функция принадлежности]]\u001b[0m, \u001b[36m[[Определение нечеткого множества]]\r\n\u001b[0m \u001b[94m3. \u001b[36m00 Inbox/МИАД_Л2.pdf\r\n\u001b[0m - Создать: \u001b[36m90 Library/Math/Теория нечетких множеств/Нечеткие отношения.md\r\n\u001b[0m \u001b[94m4. \u001b[36m00 Inbox/МИАД_Л3_нечеткий_вывод.pdf\r\n\u001b[0m - Создать: \u001b[36m90 Library/Math/Теория нечетких множеств/Нечеткий вывод.md\r\n\u001b[0m - Шаблон: \u001b[36mBase Note.md\r\n\u001b[0m - Связи: \u001b[36m[[Теория Нечетких Множеств]]\u001b[0m, \u001b[36m[[Лингвистическая переменная]]\u001b[0m если будет создана как отдельная\r\n заметка; иначе без неё\r\n \u001b[94m5. \u001b[36m00 Inbox/МИАД_Л4_иерархии.pdf\r\n\u001b[0m После подтверждения:\r\n\r\n - обработаю источники;\r\n - перемещу исходники в \u001b[36m99 System/Archive/\u001b[0m;\r\n - добавлю \u001b[36msource\u001b[0m в frontmatter;\r\n - обновлю \u001b[36mINDEX.md\u001b[0m.\r\n\r\n Подтверди: выполнять этот план?\r\n\r\n\u001b[2m─ Worked for 1m 18s ─────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n\u001b[48;5;239;22m\u001b[109X\r\n\u001b[1;2m› \u001b[22;22mДелай\r\n\r\n\u001b[0m\u001b[109X\r\n\u001b[2m• \u001b[0mПринял. Сначала извлеку текст из PDF во временные файлы и дочитаю релевантные куски, потом внесу точечные\r\n правки и обновлю индекс.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mmkdir\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mp\u001b[38;2;205;214;244m /tmp/secondbrain-ingest\r\n\u001b[39;2m └ (no output)\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m Определение нечеткого множества.md\u001b[2m, \u001b[0mФункция принадлежности.md\u001b[2m, \u001b[0mЛогические операции над нечеткими\r\n множествами.md\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m ls\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mla\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'99 System'\r\n\u001b[39;2m └ Archive/\r\n\u001b[0m \u001b[2mCache/\r\n\u001b[0m \u001b[2mTemplate/\r\n\r\n─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mПо содержанию видно, что Л1 пересекается с уже существующими заметками; там достаточно дозаполнить \u001b[36msource\u001b[0m и\r\n пару недостающих тезисов, а новые отдельные заметки нужны для отношений, вывода и МАИ.\r\n\r\n\u001b[32;1m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л2.pdf'\u001b[38;2;205;214;244m /tmp/secondbrain-ingest/miad_l2.txt\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л1.pdf'\u001b[38;2;205;214;244m /tmp/secondbrain-ingest/miad_l1.txt\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л3_нечеткий_вывод.pdf'\u001b[38;2;205;214;244m /tmp/secondbrain-ingest/miad_l3.txt\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mpdftotext\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mlayout\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m'00 Inbox/МИАД_Л4_иерархии.pdf'\u001b[38;2;205;214;244m /tmp/secondbrain-ingest/miad_l4.txt\r\n\u001b[39;2m └ (no output)\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Содержание|Этап|парн|Саати|приоритет|согласован|индекс|альтернатив|матриц|собствен\"\u001b[38;2;205;214;244m /tmp/\r\n\u001b[39;2m │ \u001b[38;2;205;214;244;22msecondbrain-ingest/miad_l4.txt\r\n\u001b[39;2m └ 110 matches in 18F:\r\n\r\n … +78 lines (ctrl + t to view transcript)\r\n\r\n\u001b[0m \u001b[2m... +68\r\n └ 23 matches in 2F:\r\n\r\n … +25 lines (ctrl + t to view transcript)\r\n\u001b[0m \u001b[2m 0:\r\n\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Содержание|Терминология|Алгебраические|оператор|преимуществ|Недостатки|Теорема|прям|\r\n\u001b[39;2m │ \u001b[38;2;166;227;161;22mкосвен\"\u001b[38;2;205;214;244m /tmp/secondbrain-ingest/miad_l1.txt\r\n\u001b[39;2m └ 38 matches in 4F:\r\n\r\n … +36 lines (ctrl + t to view transcript)\r\n\r\n\u001b[0m \u001b[2m... +10\r\n\r\n\u001b[32;1;22m•\u001b[0m \u001b[1mRan\u001b[0m \u001b[38;2;137;180;250mrtk\u001b[38;2;205;214;244m grep\u001b[38;2;147;153;178m -\u001b[38;2;235;160;172mn\u001b[38;2;205;214;244m \u001b[38;2;166;227;161m\"Содержание|Лингвист|нечетк.*перем|продукц|Мамдани|Сугено|этап|дефаз|фаз|импликац|вывод\"\u001b[38;2;205;214;244m /\r\n\u001b[39;2m │ \u001b[38;2;205;214;244;22mtmp/secondbrain-ingest/miad_l3.txt\r\n\u001b[39;2m └ 66 matches in 4F:\r\n\r\n … +36 lines (ctrl + t to view transcript)\r\n\r\n\u001b[0m \u001b[2m... +38\r\n\r\n•\u001b[0m \u001b[1mExplored\r\n\u001b[22;2m └ \u001b[36;22mRead\u001b[0m miad_l1.txt\u001b[2m, \u001b[0mmiad_l4.txt\u001b[2m, \u001b[0mmiad_l2.txt\u001b[2m, \u001b[0mmiad_l3.txt\r\n\r\n\u001b[2m─────────────────────────────────────────────────────────────────────────────────────────────────────────────\r\n\r\n• \u001b[0mСейчас внесу изменения: создам 4 новые заметки, дозаполню 3 существующие по Л1, добавлю новые ссылки в MOC\r\n и Rails MOC. Затем перемещу источники и пересоберу \u001b[36mINDEX.md\u001b[0m.\r\n\r\n•\u001b[1C\u001b[1mW\u001b[0mo\u001b[2mrking\u001b[1C(1m 22s • esc to interrupt)\r\n\r\n\u001b[48;5;239;22m \u001b[108X\r\n\u001b[1m›\u001b[22m \u001b[2mFind and fix a bug in @filename\r\n\u001b[22m \r\n\u001b[0m\u001b[2X\u001b[2C\u001b[38;2;246;226;183mgpt-5.5 high\u001b[39;2m · \u001b[38;2;171;223;167;22m~/Documents/Vaults/SecondBrain\u001b[62X\u001b[2A\u001b[45D\u001b[0m", "rows": 31, "scrollLine": -1 } } }, "pinned": true, "icon": "terminal", "title": "Terminal: ⠧ SecondBrain" } }, { "id": "df1bd513cd92a47d", "type": "leaf", "state": { "type": "markdown", "state": { "file": "AGENTS.md", "mode": "preview", "source": false, "backlinks": false }, "icon": "lucide-file", "title": "AGENTS" } }, { "id": "1040e2dbdf162887", "type": "leaf", "state": { "type": "markdown", "state": { "file": "AGENTS.md", "mode": "source", "source": false, "backlinks": false }, "icon": "lucide-file", "title": "AGENTS" } }, { "id": "9400008114670d00", "type": "leaf", "state": { "type": "markdown", "state": { "file": "90 Library/HomeLab/Infrastructure — ada-dev.md", "mode": "preview", "source": false, "backlinks": false }, "icon": "lucide-file", "title": "Infrastructure — ada-dev" } }, { "id": "6c2844bb20623fd4", "type": "leaf", "state": { "type": "markdown", "state": { "file": "AGENTS.md", "mode": "preview", "source": false, "backlinks": false }, "icon": "lucide-file", "title": "AGENTS" } }, { "id": "98b697a77d37adeb", "type": "leaf", "state": { "type": "markdown", "state": { "file": "AGENTS.md", "mode": "preview", "source": false, "backlinks": false }, "icon": "lucide-file", "title": "AGENTS" } } ] } ], "direction": "vertical" }, "left": { "id": "a9c2d5e65288011a", "type": "split", "children": [ { "id": "383cca303cf4b57d", "type": "tabs", "children": [ { "id": "27e6486165131cfa", "type": "leaf", "state": { "type": "file-explorer", "state": { "sortOrder": "alphabetical", "autoReveal": true }, "icon": "lucide-folder-closed", "title": "Files" } }, { "id": "66079465678173e5", "type": "leaf", "state": { "type": "search", "state": { "query": "tag:#gym", "matchingCase": false, "explainSearch": false, "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical" }, "icon": "lucide-search", "title": "Search" } }, { "id": "c2541ce190da912e", "type": "leaf", "state": { "type": "bookmarks", "state": {}, "icon": "lucide-bookmark", "title": "Bookmarks" } }, { "id": "673ce6e6c09cfc9c", "type": "leaf", "state": { "type": "tag", "state": { "sortOrder": "frequency", "useHierarchy": true, "showSearch": false, "searchQuery": "" }, "icon": "lucide-tags", "title": "Tags" } } ] } ], "direction": "horizontal", "width": 242.5 }, "right": { "id": "38c591aa0966839e", "type": "split", "children": [ { "id": "86a193b1d3159ff8", "type": "tabs", "dimension": 44.97282608695652, "children": [ { "id": "753db948dab04823", "type": "leaf", "pinned": true, "state": { "type": "calendar", "state": {}, "pinned": true, "icon": "lucide-ghost", "title": "calendar" } }, { "id": "394fb6e28d09b8f3", "type": "leaf", "state": { "type": "all-properties", "state": { "sortOrder": "frequency", "showSearch": false, "searchQuery": "" }, "icon": "lucide-archive", "title": "All properties" } }, { "id": "e51be669e29cd994", "type": "leaf", "state": { "type": "backlink", "state": { "file": "03 Journal/2026/03 - March/31.03.26 - Tuesday.md", "collapseAll": false, "extraContext": false, "sortOrder": "alphabetical", "showSearch": false, "searchQuery": "", "backlinkCollapsed": false, "unlinkedCollapsed": true }, "icon": "links-coming-in", "title": "Backlinks for 31.03.26 - Tuesday" } }, { "id": "86ea4ddeaafff092", "type": "leaf", "state": { "type": "outgoing-link", "state": { "file": "90 Library/02 DevOps/Контейнеризация/Docker/Docker - Дополнительные знания.md", "linksCollapsed": false, "unlinkedCollapsed": true }, "icon": "links-going-out", "title": "Outgoing links from Docker - Дополнительные знания" } }, { "id": "a0ffd3bace615787", "type": "leaf", "state": { "type": "outline", "state": { "file": "90 Library/11 Machine Learning/Обратное распространение ошибки.md", "followCursor": false, "showSearch": false, "searchQuery": "" }, "icon": "lucide-list", "title": "Outline of Обратное распространение ошибки" } }, { "id": "d0b123940c0cc598", "type": "leaf", "state": { "type": "file-properties", "state": { "file": "00 Inbox/Git.md" }, "icon": "lucide-info", "title": "File properties for Git" } }, { "id": "de69f2d686f1c18c", "type": "leaf", "state": { "type": "excalidraw-sidepanel", "state": {}, "icon": "excalidraw-icon", "title": "Excalidraw Sidepanel" } } ], "currentTab": 6 }, { "id": "953ae0f10eedfdc6", "type": "tabs", "dimension": 55.02717391304348, "children": [ { "id": "294b81fcbc79c560", "type": "leaf", "pinned": true, "state": { "type": "graph", "state": {}, "pinned": true, "icon": "lucide-git-fork", "title": "Graph view" } }, { "id": "ecfba1f8b8cc0897", "type": "leaf", "state": { "type": "git-view", "state": {}, "icon": "git-pull-request", "title": "Source Control" } } ], "currentTab": 1 } ], "direction": "horizontal", "width": 261.5, "collapsed": true }, "left-ribbon": { "hiddenItems": { "switcher:Open quick switcher": false, "graph:Open graph view": false, "canvas:Create new canvas": false, "daily-notes:Open today's daily note": false, "templates:Insert template": false, "command-palette:Open command palette": false, "markdown-importer:Open format converter": false, "random-note:Open random note": false, "audio-recorder:Start/stop recording": false, "bases:Create new base": false, "omnisearch:Omnisearch": false, "templater-obsidian:Templater": false, "obsidian-git:Open Git source control": false, "obsidian-excalidraw-plugin:New drawing": false, "terminal:Open terminal": false } }, "active": "44e5aceda7b172df", "lastOpenFiles": [ "AGENTS.md", "00 Inbox/МИАД_Л1.pdf", "00 Inbox/МИАД_Л2.pdf", "00 Inbox/МИАД_Л3_нечеткий_вывод.pdf", "00 Inbox/МИАД_Л4_иерархии.pdf", "90 Library/Programming/Ruby - основы языка.md", "90 Library/Programming/Ruby - массивы.md", "99 System/Archive/В случае ошибок на принтере Kyocera FS-1020MFP.md", "99 System/Archive/Итераторы для обработки массивов Ruby.md", "99 System/Archive/Знания Ruby.md", "90 Library/Other/Kyocera FS-1020MFP — ошибки.md", "00 Inbox/Знания Ruby.md", "00 Inbox/Итераторы для обработки массивов Ruby.md", "99 System/Cache/Pasted image 20260526204029.png", "99 System/Cache/Pasted image 20260526203848.png", "99 System/Cache/Pasted image 20260526203807.png", "99 System/Archive/Работа с API для проекта Attendance Mephi.md", "90 Library/Programming/Ruby On Rails/API импорт в Rails через runner.md", "90 Library/HomeLab/Infrastructure — ada-dev.md", "00 Inbox/Работа с API для проекта Attendance Mephi.md", "INDEX.md", "00 Inbox/Hello.md", "00 Inbox/Подготовка Speaking.md", "99 System/Archive/Подготовка Speaking.md", "99 System/Archive/Налоги - СР2.md", "99 System/Archive/Налоги - Организационные моменты.md", "99 System/Archive/РИАС - база.md", "99 System/Archive/31, 32 - Налоги 1.md", "99 System/Archive/OSINT - Зачет.md", "00 Inbox/Подготовка Speaking.sync-conflict-20260522-220847-23DMR5O.md", "00 Inbox/Подготовка Speaking.sync-conflict-20260522-185359-23DMR5O.md", "00 Inbox/Подготовка Speaking.sync-conflict-20260522-215348-23DMR5O.md", "99 System/Cache/Pasted image 20260521134256.png", "99 System/Cache/Pasted image 20260521134238.png", "99 System/Cache/Pasted image 20260521134228.png", "99 System/Cache/Pasted image 20260521134207.png", "99 System/Cache/Pasted image 20260521133832.png", "99 System/Cache/Pasted image 20260521133824.png", "99 System/Cache/Pasted image 20260521133344.png", "raw_files_3.txt", "raw_links_3.txt", "raw_links_2.txt", "raw_links.txt", "all_links.tmp", "all_links.txt", "00 Inbox/Untitled.canvas" ] }