добавлены книги для будущего прочтения: 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), `Теги` (список), `Категории` (список), `Источник`, `Ссылка`
|
Frontmatter поля: `Тип`, `Статус`, `Название`, `Автор` (список), `Количество страниц`, `Прогресс`, `Формат`, `Обложка`, `Начата`, `Закончена`, `Оценка` (1-10), `Сложность` (1-10), `Теги` (список), `Категории` (список), `Источник`, `Ссылка`
|
||||||
|
|
||||||
- **Статус:** `Запланировано` | `В процессе` | `Прочитано` | `Заброшена`
|
- **Статус:** `Запланировано` | `Хочу прочитать` | `В процессе` | `Прочитано` | `Заброшена`
|
||||||
- **Формат:** `Бумажная` | `Электронная` | `Аудио`
|
- **Формат:** `Бумажная` | `Электронная` | `Аудио`
|
||||||
- Обложки: `Библиотека/Книги/covers/<slug>.jpg`
|
- Обложки: `Библиотека/Книги/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