diff --git a/Knowledges/.obsidian/workspace.json b/Knowledges/.obsidian/workspace.json index e4f366e..935bd47 100644 --- a/Knowledges/.obsidian/workspace.json +++ b/Knowledges/.obsidian/workspace.json @@ -4,81 +4,52 @@ "type": "split", "children": [ { - "id": "9d3653d1b092bda0", - "type": "split", + "id": "0765916286c4fc4a", + "type": "tabs", "children": [ { - "id": "00ed27b7e981dd5e", - "type": "tabs", - "dimension": 69.37269372693727, - "children": [ - { - "id": "5f180c1384d356a5", - "type": "leaf", - "state": { - "type": "markdown", - "state": { - "file": "Библиотека/Книги/Профессиональный TypeScript.md", - "mode": "preview", - "source": true + "id": "a8a70f482a4ef196", + "type": "leaf", + "pinned": true, + "state": { + "type": "terminal:terminal", + "state": { + "terminal:terminal": { + "cwd": "/Users/ksv741/Obsidian/Knowledges", + "focus": false, + "profile": { + "args": [ + "--login" + ], + "executable": "/bin/zsh", + "followTheme": true, + "name": "", + "platforms": { + "darwin": true + }, + "pythonExecutable": "python3", + "restoreHistory": false, + "rightClickAction": "copyPaste", + "successExitCodes": [ + "0", + "SIGINT", + "SIGTERM" + ], + "terminalOptions": { + "documentOverride": null + }, + "type": "integrated", + "useWin32Conhost": true }, - "icon": "lucide-file", - "title": "Профессиональный TypeScript" + "serial": null } - } - ] - }, - { - "id": "0765916286c4fc4a", - "type": "tabs", - "dimension": 30.627306273062732, - "children": [ - { - "id": "a8a70f482a4ef196", - "type": "leaf", - "pinned": true, - "state": { - "type": "terminal:terminal", - "state": { - "terminal:terminal": { - "cwd": "/Users/ksv741/Obsidian/Knowledges", - "focus": false, - "profile": { - "args": [ - "--login" - ], - "executable": "/bin/zsh", - "followTheme": true, - "name": "", - "platforms": { - "darwin": true - }, - "pythonExecutable": "python3", - "restoreHistory": false, - "rightClickAction": "copyPaste", - "successExitCodes": [ - "0", - "SIGINT", - "SIGTERM" - ], - "terminalOptions": { - "documentOverride": null - }, - "type": "integrated", - "useWin32Conhost": true - }, - "serial": null - } - }, - "pinned": true, - "icon": "terminal", - "title": "Terminal: ksv741@MacBook-Pro-Sergey:~/Obsidian/Knowledges" - } - } - ] + }, + "pinned": true, + "icon": "terminal", + "title": "Terminal: ✳ Claude Code" + } } - ], - "direction": "horizontal" + ] } ], "direction": "vertical" @@ -98,7 +69,7 @@ "type": "file-explorer", "state": { "sortOrder": "alphabetical", - "autoReveal": false + "autoReveal": true }, "icon": "lucide-folder-closed", "title": "Файловый менеджер" @@ -223,8 +194,7 @@ } ], "direction": "horizontal", - "width": 588.5, - "collapsed": true + "width": 588.5 }, "left-ribbon": { "hiddenItems": { @@ -241,30 +211,33 @@ }, "active": "a8a70f482a4ef196", "lastOpenFiles": [ - "Библиотека/Книги/Профессиональный TypeScript.md", + "Библиотека/Книги/Современные операционные системы.md", + "Библиотека/Книги/Список книг.md", "Библиотека/Книги/Рефакторинг кода на JavaScript.md", - "Библиотека/Книги/covers/refactoring-js.jpg", + "Библиотека/Книги/Чистая архитектура.md", + "Библиотека/Книги/covers/clean-architecture.jpg", + "Библиотека/Книги/covers/modern-os.jpg", + "CLAUDE.md", + "Библиотека/Книги/Git для профессионалов.md", + "Библиотека/Книги/Чистый код.md", + "Библиотека/Книги/Совершенный код.md", + "Библиотека/Книги/Профессиональный TypeScript.md", "Библиотека/Книги/Компьютерные сети. Принципы, технологии, протоколы.md", + "Библиотека/Книги/Командная строка Linux.md", + "Библиотека/Книги/Как пасти котов.md", "Библиотека/Книги/Грокаем алгоритмы.md", + "Библиотека/Книги/Высоконагруженные приложения. Программирование, масштабирование, поддержка.md", + "Библиотека/Книги/covers/refactoring-js.jpg", "Библиотека/Книги/covers/professional-typescript.jpg", "Библиотека/Книги/covers/grokking-algorithms.jpg", "Библиотека/Курсы/Тиндер на Java.md", "Библиотека/Курсы/Микросервисы на практике - сервис продажи билетов.md", "Без названия.canvas", - "Библиотека/Книги/Высоконагруженные приложения. Программирование, масштабирование, поддержка.md", - "Библиотека/Книги/Как пасти котов.md", - "Библиотека/Книги/Командная строка Linux.md", - "Библиотека/Книги/Совершенный код.md", - "Библиотека/Книги/Список книг.md", - "Библиотека/Книги/Чистый код.md", - "Библиотека/Книги/Git для профессионалов.md", "Библиотека/Книги/covers/herding-cats.jpg", "Библиотека/Книги/covers/linux-cli.jpg", "Библиотека/Книги/covers/pro-git.jpg", "Библиотека/Книги/covers/linux-cli.png", "Библиотека/Книги/covers/pro-git.png", - "Библиотека/Книги/covers/code-complete.jpg", - "Библиотека/Книги/covers/clean-code.jpg", "Шаблоны/course_template.md.md", "Библиотека/AI Tools/System Prompts.md", "Библиотека/AI Tools/Agents.md", @@ -278,11 +251,8 @@ "IT/Принципы/Принцип открытости-закрытости.md", "IT/Принципы/Принцип подстановки Лисков.md", "IT/Рефакторинг/Рефакторинг.md", - "Библиотека/Туториалы/Wireguard.md", "Untitled.base", - "Без названия.md", "Библиотека/Книги/covers", - "IT/Алгоритмы/Алгоритм Диффи — Хеллмана (Diffie–Hellman).md", "Шаблоны", "Библиотека/Туториалы", "Библиотека/Курсы", diff --git a/Knowledges/Библиотека/Книги/covers/clean-architecture.jpg b/Knowledges/Библиотека/Книги/covers/clean-architecture.jpg new file mode 100644 index 0000000..a051565 Binary files /dev/null and b/Knowledges/Библиотека/Книги/covers/clean-architecture.jpg differ diff --git a/Knowledges/Библиотека/Книги/covers/modern-os.jpg b/Knowledges/Библиотека/Книги/covers/modern-os.jpg new file mode 100644 index 0000000..0dd5275 Binary files /dev/null and b/Knowledges/Библиотека/Книги/covers/modern-os.jpg differ diff --git a/Knowledges/Библиотека/Книги/covers/refactoring-js.jpg b/Knowledges/Библиотека/Книги/covers/refactoring-js.jpg index 99d83c0..bf1d9f0 100644 Binary files a/Knowledges/Библиотека/Книги/covers/refactoring-js.jpg and b/Knowledges/Библиотека/Книги/covers/refactoring-js.jpg differ diff --git a/Knowledges/Библиотека/Книги/Рефакторинг кода на JavaScript.md b/Knowledges/Библиотека/Книги/Рефакторинг кода на JavaScript.md index 7b1d268..94cbcde 100644 --- a/Knowledges/Библиотека/Книги/Рефакторинг кода на JavaScript.md +++ b/Knowledges/Библиотека/Книги/Рефакторинг кода на JavaScript.md @@ -7,7 +7,7 @@ Количество страниц: 448 Прогресс: 448 Формат: Электронная -Обложка: _assets/img/Pasted image 20241113230057.png +Обложка: Библиотека/Книги/covers/refactoring-js.jpg Начата: "2024" Закончена: "2024" Оценка: "10" @@ -24,7 +24,7 @@ Ссылка: --- -![[Pasted image 20241113230057.png]] +![[covers/refactoring-js.jpg]] # Рефакторинг кода на JavaScript. Улучшение проекта существующего кода diff --git a/Knowledges/Библиотека/Книги/Современные операционные системы.md b/Knowledges/Библиотека/Книги/Современные операционные системы.md new file mode 100644 index 0000000..5528350 --- /dev/null +++ b/Knowledges/Библиотека/Книги/Современные операционные системы.md @@ -0,0 +1,59 @@ +--- +Тип: Книга +Статус: Прочитано +Название: Современные операционные системы. 4-е изд. +Автор: + - Эндрю Таненбаум + - Херберт Бос +Количество страниц: 1120 +Прогресс: 1120 +Формат: Бумажная +Обложка: Библиотека/Книги/covers/modern-os.jpg +Начата: +Закончена: "2023" +Оценка: "8" +Сложность: "10" +Теги: + - it + - programming + - os + - systems +Категории: + - программирование + - операционные системы +Источник: +Ссылка: +--- + +![[covers/modern-os.jpg]] + +# Современные операционные системы. 4-е изд. + +## 📖 О книге +Фундаментальный учебник Эндрю Таненбаума и Херберта Боса — один из главных академических трудов по теории и устройству операционных систем. Книга охватывает всё: управление процессами и потоками, управление памятью и файловыми системами, ввод/вывод, безопасность. В 4-м издании добавлены главы про Android, Windows 8.1, виртуализацию, многоядерные системы и облачные вычисления. Написана строго и академично — лёгкого чтения не обещает. + +--- + +## 🧠 Ключевые идеи +- Процессы и потоки — базовые абстракции ОС; межпроцессное взаимодействие строится на разделяемой памяти, семафорах и передаче сообщений +- Управление памятью: виртуальная память, страничная организация, алгоритмы замещения страниц (LRU, NRU, рабочий набор) +- Планировщики CPU: round-robin, приоритетное планирование, многоуровневые очереди — каждый алгоритм решает свой класс задач +- Файловые системы: иерархия директорий, индексные узлы (inode), журналирование, RAID +- Безопасность ОС: модели разграничения доступа, переполнение буфера, механизмы защиты ядра + +--- + +## 💬 Важные цитаты +> «Хорошей операционной системой является та, которая создаёт иллюзию наличия большого числа процессоров, бесконечного объёма памяти и надёжных устройств хранения данных.» + +> «Разница между теорией и практикой на практике значительно больше, чем в теории.» + +--- + +## 💡 Как применить в моих проектах + + +--- + +## 🔗 Связанные заметки +- [[Командная строка Linux]] diff --git a/Knowledges/Библиотека/Книги/Чистая архитектура.md b/Knowledges/Библиотека/Книги/Чистая архитектура.md new file mode 100644 index 0000000..827f03f --- /dev/null +++ b/Knowledges/Библиотека/Книги/Чистая архитектура.md @@ -0,0 +1,58 @@ +--- +Тип: Книга +Статус: Прочитано +Название: Чистая архитектура. Искусство разработки программного обеспечения +Автор: + - Роберт Мартин +Количество страниц: 352 +Прогресс: 352 +Формат: Бумажная +Обложка: Библиотека/Книги/covers/clean-architecture.jpg +Начата: +Закончена: "2023" +Оценка: "8" +Сложность: +Теги: + - it + - programming + - architecture + - clean-code +Категории: + - разработка программного обеспечения + - архитектура +Источник: +Ссылка: +--- + +![[covers/clean-architecture.jpg]] + +# Чистая архитектура. Искусство разработки программного обеспечения + +## 📖 О книге +Книга Роберта Мартина о принципах построения хорошей программной архитектуры. Автор объясняет, что архитектура — это не про фреймворки и инструменты, а про разделение ответственностей и управление зависимостями. В центре — принципы SOLID, компонентная архитектура и «кричащая архитектура», где структура проекта отражает его предметную область, а не технологический стек. + +--- + +## 🧠 Ключевые идеи +- **Главная цель архитектуры** — минимизировать человеческие усилия на создание и поддержку системы, а не просто заставить её работать +- **Зависимости должны смотреть внутрь** (Dependency Rule): код бизнес-логики не должен зависеть от фреймворков, БД или UI — только наоборот +- **SOLID на уровне компонентов**: принципы стабильных зависимостей (SDP) и стабильных абстракций (SAP) — архитектурный аналог принципов классового дизайна +- **Фреймворки — это детали**: Spring, Rails, Django — инструменты, а не основа архитектуры; их нужно держать на периферии +- **Разделение на слои**: Entities → Use Cases → Interface Adapters → Frameworks & Drivers — каждый слой знает только о слоях внутри себя + +--- + +## 💬 Важные цитаты +> «Цель архитектуры программного обеспечения — уменьшить человеческие трудозатраты на создание и сопровождение системы.» + +> «Хорошая архитектура делает систему простой для понимания, разработки, сопровождения и развёртывания.» + +--- + +## 💡 Как применить в моих проектах + + +--- + +## 🔗 Связанные заметки +- [[Чистый код]]