добавлены книги для будущего прочтения: 2026-03-05 21:38:17
This commit is contained in:
parent
fc1364e8c1
commit
18113deee3
@ -61,5 +61,5 @@ version: 1.0.0
|
||||
|
||||
```
|
||||
|
||||
**Статус:** `Запланировано` | `В процессе` | `Прочитано` | `Заброшена`
|
||||
**Статус:** `Запланировано` | `Хочу прочитать` | `В процессе` | `Прочитано` | `Заброшена`
|
||||
**Формат:** `Бумажная` | `Электронная` | `Аудио`
|
||||
|
||||
262
Knowledges/.obsidian/workspace.json
vendored
262
Knowledges/.obsidian/workspace.json
vendored
@ -1,262 +0,0 @@
|
||||
{
|
||||
"main": {
|
||||
"id": "ca9084539d3057c8",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "0765916286c4fc4a",
|
||||
"type": "tabs",
|
||||
"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: ✳ Claude Code"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "e46d33cc1e1f788c",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "b19195bb2f6c722b",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "b95025b8278ca4e8",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical",
|
||||
"autoReveal": true
|
||||
},
|
||||
"icon": "lucide-folder-closed",
|
||||
"title": "Файловый менеджер"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d558f7b68df9aec7",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
},
|
||||
"icon": "lucide-search",
|
||||
"title": "Search"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "54a22a44c3a03988",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {},
|
||||
"icon": "lucide-bookmark",
|
||||
"title": "Bookmarks"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 440.5
|
||||
},
|
||||
"right": {
|
||||
"id": "44a01af629a7fdfc",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "4dac830b54c8aa6f",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "b56d7c6abf7fd065",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "Библиотека/Книги/Компьютерные сети. Принципы, технологии, протоколы.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": false
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "Обратные ссылки для Компьютерные сети. Принципы, технологии, протоколы"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7f6489c394a8e4b1",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "Библиотека/Книги/Компьютерные сети. Принципы, технологии, протоколы.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "Исходящие ссылки из Компьютерные сети. Принципы, технологии, протоколы"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b9d3f2689d1fda87",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-tags",
|
||||
"title": "Теги"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "d7e40b6533b3df38",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "Библиотека/Книги/Список книг.md",
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "Структура Список книг"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "80747ccaab27e735",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "git-view",
|
||||
"state": {},
|
||||
"icon": "git-pull-request",
|
||||
"title": "Source Control"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 4
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 588.5
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"switcher:Меню быстрого перехода": false,
|
||||
"graph:Граф": false,
|
||||
"canvas:Создать новый холст": false,
|
||||
"daily-notes:Сегодняшняя заметка": false,
|
||||
"templates:Вставить шаблон": false,
|
||||
"command-palette:Открыть палитру команд": false,
|
||||
"bases:Создать новую базу": false,
|
||||
"obsidian-git:Open Git source control": false,
|
||||
"terminal:Open terminal": false
|
||||
}
|
||||
},
|
||||
"active": "a8a70f482a4ef196",
|
||||
"lastOpenFiles": [
|
||||
"Библиотека/Книги/Современные операционные системы.md",
|
||||
"Библиотека/Книги/Список книг.md",
|
||||
"Библиотека/Книги/Рефакторинг кода на JavaScript.md",
|
||||
"Библиотека/Книги/Чистая архитектура.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",
|
||||
"Библиотека/Книги/covers/herding-cats.jpg",
|
||||
"Библиотека/Книги/covers/linux-cli.jpg",
|
||||
"Библиотека/Книги/covers/pro-git.jpg",
|
||||
"Библиотека/Книги/covers/linux-cli.png",
|
||||
"Библиотека/Книги/covers/pro-git.png",
|
||||
"Шаблоны/course_template.md.md",
|
||||
"Библиотека/AI Tools/System Prompts.md",
|
||||
"Библиотека/AI Tools/Agents.md",
|
||||
"Библиотека/AI Tools/Skills.md",
|
||||
"Библиотека/AI Tools/Coding.md",
|
||||
"Библиотека/AI Tools/MCP.md",
|
||||
"Библиотека/AI Tools/Без названия",
|
||||
"Библиотека/AI Tools",
|
||||
"Библиотека/Pet проекты",
|
||||
"Шаблоны/book_template.md.md",
|
||||
"IT/Принципы/Принцип открытости-закрытости.md",
|
||||
"IT/Принципы/Принцип подстановки Лисков.md",
|
||||
"IT/Рефакторинг/Рефакторинг.md",
|
||||
"Untitled.base",
|
||||
"Библиотека/Книги/covers",
|
||||
"Шаблоны",
|
||||
"Библиотека/Туториалы",
|
||||
"Библиотека/Курсы",
|
||||
"Библиотека/Фильмы",
|
||||
"Библиотека/Книги"
|
||||
]
|
||||
}
|
||||
@ -32,7 +32,7 @@ Knowledges/
|
||||
|
||||
Frontmatter поля: `Тип`, `Статус`, `Название`, `Автор` (список), `Количество страниц`, `Прогресс`, `Формат`, `Обложка`, `Начата`, `Закончена`, `Оценка` (1-10), `Сложность` (1-10), `Теги` (список), `Категории` (список), `Источник`, `Ссылка`
|
||||
|
||||
- **Статус:** `Запланировано` | `В процессе` | `Прочитано` | `Заброшена`
|
||||
- **Статус:** `Запланировано` | `Хочу прочитать` | `В процессе` | `Прочитано` | `Заброшена`
|
||||
- **Формат:** `Бумажная` | `Электронная` | `Аудио`
|
||||
- Обложки: `Библиотека/Книги/covers/<slug>.jpg`
|
||||
|
||||
|
||||
BIN
Knowledges/Библиотека/Книги/covers/building-microservices.jpg
Normal file
BIN
Knowledges/Библиотека/Книги/covers/building-microservices.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
BIN
Knowledges/Библиотека/Книги/covers/enterprise-patterns.jpg
Normal file
BIN
Knowledges/Библиотека/Книги/covers/enterprise-patterns.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
BIN
Knowledges/Библиотека/Книги/covers/mythical-man-month.jpg
Normal file
BIN
Knowledges/Библиотека/Книги/covers/mythical-man-month.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 183 KiB |
57
Knowledges/Библиотека/Книги/Мифический человеко-месяц.md
Normal file
57
Knowledges/Библиотека/Книги/Мифический человеко-месяц.md
Normal file
@ -0,0 +1,57 @@
|
||||
---
|
||||
Тип: Книга
|
||||
Статус: Хочу прочитать
|
||||
Название: Мифический человеко-месяц, или Как создаются программные системы
|
||||
Автор:
|
||||
- Фредерик Брукс
|
||||
Количество страниц: 368
|
||||
Прогресс: 0
|
||||
Формат: Бумажная
|
||||
Обложка: Библиотека/Книги/covers/mythical-man-month.jpg
|
||||
Начата:
|
||||
Закончена:
|
||||
Оценка:
|
||||
Сложность:
|
||||
Теги:
|
||||
- it
|
||||
- programming
|
||||
- management
|
||||
Категории:
|
||||
- разработка программного обеспечения
|
||||
Источник:
|
||||
Ссылка:
|
||||
---
|
||||
|
||||
![[covers/mythical-man-month.jpg]]
|
||||
|
||||
# Мифический человеко-месяц, или Как создаются программные системы
|
||||
|
||||
## 📖 О книге
|
||||
Классический труд Фредерика Брукса об управлении проектами в области разработки программного обеспечения, основанный на его пятидесятилетнем опыте руководства проектами IBM System/360 и OS/360. Книга представляет собой сборник эссе, в которых последовательно обсуждаются ключевые проблемы разработки крупных программных систем: планирование сроков, организация командной работы, управление сложностью, обеспечение концептуальной целостности. Несмотря на то что книга была написана более 45 лет назад, она остаётся актуальной, поскольку фундаментальные человеческие факторы в разработке ПО остаются неизменными — методологии меняются, а ошибки повторяются.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Ключевые идеи
|
||||
- **Закон Брукса:** добавление новых людей в опаздывающий проект задерживает его ещё больше — новые участники требуют времени на введение в курс дела, увеличивают число коммуникационных связей и отвлекают опытных разработчиков
|
||||
- **Концептуальная целостность:** для создания хорошей системы необходимо отделить архитектуру от реализации; один главный архитектор или небольшая группа должны контролировать концепцию продукта ради пользователя
|
||||
- **Эффект второй системы:** вторая система, которую проектирует инженер, — самая опасная; после успеха первого проекта разработчик стремится реализовать все отложенные идеи, что приводит к перегруженной и неудачной системе
|
||||
- **Нет серебряной пули:** не существует единственного инструмента, метода или технологии, способного кардинально повысить производительность разработки — сложность программного обеспечения сущностна, а не случайна
|
||||
- **Девять женщин не выносят ребёнка за месяц:** задачи с жёсткими последовательными зависимостями не ускоряются простым увеличением числа исполнителей
|
||||
|
||||
---
|
||||
|
||||
## 💬 Важные цитаты
|
||||
> Если проект не укладывается в сроки, то добавление рабочей силы задержит его ещё больше.
|
||||
|
||||
> Вторая система — самая опасная для человека, который её проектирует.
|
||||
|
||||
> Не существует никакого серебряного снаряда. Нет ни одной разработки — ни в технологии, ни в методах управления, — которая сама по себе обещала бы хотя бы на порядок улучшить производительность, надёжность, простоту в течение одного десятилетия.
|
||||
|
||||
---
|
||||
|
||||
## 💡 Как применить в моих проектах
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Связанные заметки
|
||||
58
Knowledges/Библиотека/Книги/Создание микросервисов.md
Normal file
58
Knowledges/Библиотека/Книги/Создание микросервисов.md
Normal file
@ -0,0 +1,58 @@
|
||||
---
|
||||
Тип: Книга
|
||||
Статус: Хочу прочитать
|
||||
Название: Создание микросервисов. 2-е издание
|
||||
Автор:
|
||||
- Сэм Ньюмен
|
||||
Количество страниц: 624
|
||||
Прогресс: 0
|
||||
Формат: Бумажная
|
||||
Обложка: Библиотека/Книги/covers/building-microservices.jpg
|
||||
Начата:
|
||||
Закончена:
|
||||
Оценка:
|
||||
Сложность:
|
||||
Теги:
|
||||
- it
|
||||
- programming
|
||||
- microservices
|
||||
- architecture
|
||||
- distributed-systems
|
||||
Категории:
|
||||
- архитектура
|
||||
- разработка программного обеспечения
|
||||
Источник:
|
||||
Ссылка:
|
||||
---
|
||||
|
||||
![[covers/building-microservices.jpg]]
|
||||
|
||||
# Создание микросервисов. 2-е издание
|
||||
|
||||
## 📖 О книге
|
||||
Одна из главных книг по микросервисной архитектуре. Сэм Ньюмен охватывает весь жизненный цикл микросервисов: от декомпозиции монолита и проектирования границ сервисов до межсервисного взаимодействия, тестирования, развёртывания и мониторинга. Второе издание значительно расширено — добавлены главы про saga-паттерн, event-driven архитектуру, service mesh и современные подходы к CI/CD. Книга подходит для архитекторов, бэкенд-разработчиков и тех, кто переходит с монолита на микросервисы.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Ключевые идеи
|
||||
- **Границы сервисов через bounded context**: декомпозиция по бизнес-доменам (DDD) даёт более стабильные границы, чем техническое разделение
|
||||
- **Loose coupling, high cohesion**: сервисы должны быть максимально независимы друг от друга, но внутренне связны — это основной критерий хорошей архитектуры
|
||||
- **Saga для распределённых транзакций**: вместо двухфазного коммита — цепочка локальных транзакций с компенсирующими действиями при сбое
|
||||
- **Независимое развёртывание**: каждый сервис должен деплоиться отдельно без координации с другими — это ключевое преимущество микросервисов
|
||||
- **Observability как основа**: логи, метрики и трейсинг — не опция, а обязательная часть архитектуры; без них микросервисы неуправляемы
|
||||
|
||||
---
|
||||
|
||||
## 💬 Важные цитаты
|
||||
> «Микросервисы — это не цель. Это инструмент для достижения других целей: независимого развёртывания, масштабируемости команд, технологической гибкости.»
|
||||
|
||||
---
|
||||
|
||||
## 💡 Как применить в моих проектах
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Связанные заметки
|
||||
- [[Высоконагруженные приложения. Программирование, масштабирование, поддержка]]
|
||||
- [[Чистая архитектура]]
|
||||
@ -0,0 +1,61 @@
|
||||
---
|
||||
Тип: Книга
|
||||
Статус: Хочу прочитать
|
||||
Название: Шаблоны корпоративных приложений. Исправленное издание
|
||||
Автор:
|
||||
- Мартин Фаулер
|
||||
Количество страниц: 544
|
||||
Прогресс: 0
|
||||
Формат: Бумажная
|
||||
Обложка: Библиотека/Книги/covers/enterprise-patterns.jpg
|
||||
Начата:
|
||||
Закончена:
|
||||
Оценка:
|
||||
Сложность:
|
||||
Теги:
|
||||
- it
|
||||
- programming
|
||||
- architecture
|
||||
- patterns
|
||||
Категории:
|
||||
- архитектура
|
||||
- разработка программного обеспечения
|
||||
Источник:
|
||||
Ссылка:
|
||||
---
|
||||
|
||||
![[covers/enterprise-patterns.jpg]]
|
||||
|
||||
# Шаблоны корпоративных приложений. Исправленное издание
|
||||
|
||||
## 📖 О книге
|
||||
Создание корпоративных систем — дело далеко не простое: по мере роста сложности затраты на разработку растут экспоненциально. Мартин Фаулер совместно с группой экспертов выделил более сорока часто встречающихся архитектурных приёмов и оформил их в виде типовых решений (паттернов). Книга охватывает расслоение приложений, организацию бизнес-логики, объектно-реляционное отображение, паттерны представления данных в Web (MVC), управление параллельными заданиями и стратегии распределённых вычислений. Каждый паттерн сопровождается примерами на Java и C#. Несмотря на возраст, принципы, изложенные в книге, остаются актуальными — технологии меняются, а фундаментальные проблемы проектирования корпоративного ПО нет.
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Ключевые идеи
|
||||
- **Расслоение архитектуры**: разделение приложения на слои (Presentation, Domain, Data Source) снижает связность и упрощает сопровождение — каждый слой знает только о соседнем
|
||||
- **Паттерны организации бизнес-логики**: Transaction Script, Domain Model и Table Module — три кардинально разных подхода, выбор между которыми определяет всю дальнейшую архитектуру
|
||||
- **Объектно-реляционное отображение**: несоответствие между объектной и реляционной моделями (impedance mismatch) — одна из главных сложностей корпоративных приложений; паттерны (Data Mapper, Active Record, Row Data Gateway) помогают её контролировать
|
||||
- **Паттерны представления в Web**: MVC и Page Controller vs Front Controller — выбор определяет, насколько легко тестировать и расширять UI-слой
|
||||
- **Осторожность с распределёнными объектами**: удалённый вызов дорог, поэтому интерфейсы между сервисами должны быть «грубозернистыми» — принцип, актуальный и для современных микросервисов
|
||||
|
||||
---
|
||||
|
||||
## 💬 Важные цитаты
|
||||
> «Создание компьютерных систем — дело далеко не простое. По мере того как возрастает их сложность, процессы конструирования соответствующего программного обеспечения становятся всё более трудоёмкими, причём затраты труда растут экспоненциально.»
|
||||
|
||||
> «Несмотря на эволюцию технологий — от Smalltalk через CORBA до Java и .NET, — глобальные принципы решения распространённых проблем проектирования остаются неизменными.»
|
||||
|
||||
> «Первое правило распределённых объектов гласит: не распределяйте объекты без крайней необходимости.»
|
||||
|
||||
---
|
||||
|
||||
## 💡 Как применить в моих проектах
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Связанные заметки
|
||||
- [[Чистая архитектура]]
|
||||
- [[Паттерны объектно-ориентированного проектирования]]
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
Тип: Книга
|
||||
Статус: Запланировано # Запланировано | В процессе | Прочитано | Заброшена
|
||||
Статус: Запланировано # Запланировано | Хочу прочитать | В процессе | Прочитано | Заброшена
|
||||
Название:
|
||||
Автор: []
|
||||
Количество страниц:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user