vault backup: 2026-05-02 23:05:27

This commit is contained in:
Dmitry
2026-05-02 23:05:28 +03:00
parent c7d9f6216e
commit c5e773353b
16 changed files with 531 additions and 19 deletions
+28 -18
View File
@@ -13,13 +13,23 @@
"state": {
"type": "markdown",
"state": {
"file": "00 Inbox/Git.md",
"file": "CLAUDE.md",
"mode": "source",
"source": false,
"backlinks": false
},
"icon": "lucide-file",
"title": "Git"
"title": "CLAUDE"
}
},
{
"id": "b0bcb98708e9e19e",
"type": "leaf",
"state": {
"type": "graph",
"state": {},
"icon": "lucide-git-fork",
"title": "Graph view"
}
}
]
@@ -248,6 +258,22 @@
},
"active": "30ac73a39bce2e4c",
"lastOpenFiles": [
"01 Library/02 DevOps/Основные команды git.md",
"00 Inbox/Git.md",
"00 Inbox/Archive/Шаблонизатор Helm.md",
"00 Inbox/Archive/УИР.md",
"00 Inbox/Archive/Основные команды git.md",
"00 Inbox/Archive/Обратное распространение ошибки - вывод.md",
"00 Inbox/Archive/Введение в сетевую безопасность.md",
"00 Inbox/Archive/Gitlab.md",
"00 Inbox/Archive/Git.md",
"00 Inbox/Archive",
"01 Library/08 Study/УИР.md",
"01 Library/11 Machine Learning/Обратное распространение ошибки - вывод.md",
"01 Library/04 Networking/Введение в сетевую безопасность.md",
"01 Library/02 DevOps/Kubernetes/Шаблонизатор Helm.md",
"01 Library/02 DevOps/Gitlab.md",
"01 Library/02 DevOps/Git.md",
"00 Inbox/Шаблонизатор Helm.md",
"00 Inbox/Основные команды git.md",
"00 Inbox/Обратное распространение ошибки - вывод.md",
@@ -265,28 +291,12 @@
"01 Library/03 Math/Статистика/Временные ряды/Автокорреляционная (ACF) и частная автокорреляционная (PACF) функции.md.tmp.254945.1777751726019",
"01 Library/Контакты/Игорь Прохоров.md",
"01 Library/Контакты",
"01 Library/04 Networking/Networking - MOC.md",
"01 Library/04 Networking/Networking - MOC.md.tmp.254945.1777751691344",
"01 Library/10 Finance/Налоги/Налогообложение в России.md.tmp.254945.1777751687081",
"01 Library/04 Networking/Router-on-a-Stick/Router-on-a-Stick.md.tmp.254945.1777751650349",
"01 Library/03 Math/Статистика/Кластерный анализ/Постановка задачи Кластерного анализа.md.tmp.254945.1777751645984",
"01 Library/01 Admin/CA и NGINX.md",
"CODEX.md",
"02 Projects/Наука/Статьи/Статья с Виноградовой.md",
"00 Inbox/Gitlab.md",
"00 Inbox/Git.md",
"00 Inbox/УИР.md",
"99 System/Cache/Pasted image 20260430153712.png",
"99 System/Cache/Pasted image 20260430152221.png",
"99 System/Cache/generated-forest.png",
"99 System/Archive/Подготовка к защите ЛР2.md",
"99 System/Archive/Анализ типа фин. устойчивости.md",
"01 Library/02 DevOps/Kubernetes/Kubernetes.md",
"00 Inbox/PV, PVC.md",
"01 Library/02 DevOps/Kubernetes/PV, PVC.md",
"01 Library/02 DevOps/Kubernetes/Deployment и ReplicaSet.md",
"00 Inbox/Deployment и ReplicaSet.md",
"01 Library/02 DevOps/Kubernetes/Алгоритм выбора лидера Lease.md",
"99 System/Cache/Pasted image 20260429091836.png",
"99 System/Cache/Pasted image 20260429090930.png",
"99 System/Cache/Pasted image 20260429090816.png",
+85
View File
@@ -0,0 +1,85 @@
---
status: seed
type: concept
tags:
- devops
- git
- vcs
created: 2025-12-17
updated: 2026-05-02
title: Git
---
# Git
**Git** — распределённая система контроля версий, разработанная Линусом Торвальдсом в 2005 году.
Git используется для управления историей изменений исходного кода, командной разработки и организации процессов доставки ПО. В [[DevOps - основы]] Git относится к базовым инструментам контроля версий.
## Зачем нужен Git
- хранит историю изменений проекта;
- позволяет работать с ветками и объединять изменения;
- поддерживает распределённую модель разработки;
- помогает проводить code review и восстановление предыдущих состояний кода;
- интегрируется с платформами вроде [[Gitlab]] и CI/CD.
## Преимущества
### Производительность
Git оптимизирован для локальных операций: большинство действий выполняется без обращения к удалённому серверу. История проекта хранится как набор объектов, связанных с содержимым файлов и метаданными версий.
### Безопасность
Git использует хеширование объектов, что помогает контролировать целостность истории изменений. Это защищает проект от незаметной подмены данных в истории.
### Гибкость
Git поддерживает разные модели разработки: от простой работы в одной ветке до сложных процессов с релизными, функциональными и hotfix-ветками.
## Базовые сущности
- **commit** — зафиксированное состояние изменений;
- **branch** — ветка разработки;
- **merge** — объединение веток;
- **diff** — сравнение изменений между состояниями проекта.
Практические команды вынесены в заметку [[Основные команды git]].
## GitFlow
**GitFlow** — модель ветвления, где используются основные ветки и временные ветки для разработки функциональности.
Основные ветки:
- `main` — официальная история релизов;
- `release` — подготовка готового функционала к выпуску;
- `develop` — основная ветка разработки;
- `feature` — разработка отдельной функциональности.
Когда в `develop` накоплен достаточный объём изменений, создаётся `release`-ветка. После тестирования она сливается в `main` и обратно в `develop`.
![[Pasted image 20260430152221.png|597]]
Недостатки GitFlow:
- не всегда хорошо сочетается с CI/CD;
- избыточен для проектов с частыми релизами;
- может усложнять историю слияний.
## Trunk Based Development
**Trunk Based Development (TBD)** — модель разработки, где основная работа ведётся вокруг одной главной ветки, называемой `trunk`.
Идея TBD: чаще интегрировать изменения в основную ветку, уменьшать долгоживущие ветки и поддерживать возможность выпуска релиза в любой момент.
![[Pasted image 20260430153712.png]]
TBD лучше сочетается с CI/CD-процессами, потому что уменьшает риск крупных конфликтов слияния и ускоряет обратную связь от сборок и тестов.
## Связанные заметки
- [[Основные команды git]]
- [[Gitlab]]
- [[DevOps - основы]]
+53
View File
@@ -0,0 +1,53 @@
---
status: seed
type: concept
tags:
- devops
- git
- cicd
created: 2025-12-17
updated: 2026-05-02
title: Gitlab
---
# Gitlab
**Gitlab** — веб-платформа для управления репозиториями, командной разработкой и CI/CD-процессами поверх [[Git]].
Gitlab можно использовать как облачный сервис или развернуть на собственном сервере.
## Возможности
Gitlab позволяет:
- создавать, изменять и удалять репозитории;
- управлять пользователями и правами доступа;
- проводить code review;
- настраивать проверки качества кода;
- автоматизировать сборку, тестирование и доставку через CI/CD;
- отслеживать задачи, релизы, метрики и состояние приложений.
## Gitlab в DevOps
В [[DevOps - основы]] Gitlab относится к инструментам CI/CD и командной разработки.
Gitlab помогает связать несколько процессов:
- управление исходным кодом через [[Git]];
- review изменений;
- автоматическое тестирование;
- релизный цикл;
- проверки безопасности;
- наблюдаемость и сбор метрик.
## Работа с кодом
Gitlab поддерживает разные модели управления исходным кодом: GitFlow, Trunk Based Development и другие.
Основная работа ведётся через проекты, репозитории, ветки, коммиты и merge request. Практические операции с локальным репозиторием описаны в [[Основные команды git]].
## Связанные заметки
- [[Git]]
- [[Основные команды git]]
- [[DevOps - основы]]
@@ -0,0 +1,92 @@
---
status: seed
type: guide
tags:
- devops
- kubernetes
- helm
created: 2025-12-17
updated: 2026-05-02
title: Шаблонизатор Helm
---
# Шаблонизатор Helm
**Helm** — менеджер пакетов и шаблонизатор для развёртывания приложений в [[Kubernetes]].
Helm помогает описывать, устанавливать, обновлять и удалять приложения через готовые или собственные Helm charts.
## Зачем нужен Helm
Helm позволяет:
- искать готовые charts;
- устанавливать приложения в Kubernetes;
- обновлять релизы;
- удалять приложения;
- переиспользовать шаблоны манифестов;
- параметризовать установку через values.
## Helm chart
**Helm chart** — пакет с шаблонами Kubernetes-манифестов, значениями по умолчанию и метаданными приложения.
Chart можно:
- найти в публичном chart-репозитории;
- создать самостоятельно под своё приложение.
## Базовый workflow
Добавить chart-репозиторий:
```sh
helm repo add bitnami https://charts.bitnami.com/bitnami
```
Обновить индекс репозиториев:
```sh
helm repo update
```
Найти chart:
```sh
helm search repo bitnami
```
Установить приложение:
```sh
helm install my-mysql bitnami/mysql
```
Посмотреть доступные параметры:
```sh
helm show values istio/base
```
Установить или обновить значения через `--set`:
```sh
helm install istiod istio/istiod --set requests.cpu=300m
```
Посмотреть установленные релизы:
```sh
helm list
```
Обновить релиз:
```sh
helm upgrade istiod istio/istiod --set requests.cpu=600m
```
## Связанные заметки
- [[Kubernetes]]
- [[DevOps - основы]]
@@ -0,0 +1,72 @@
---
status: seed
type: guide
tags:
- devops
- git
- cli
created: 2025-12-17
updated: 2026-05-02
title: Основные команды git
---
# Основные команды git
Эта заметка — краткий справочник по базовым командам [[Git]].
## Создание и получение репозитория
- `git init` — создать новый Git-репозиторий в текущем проекте.
- `git clone` — создать локальную копию удалённого репозитория.
## Работа с ветками
- `git branch` — показать, создать или удалить ветки.
- `git checkout` — переключиться на ветку, файл или коммит.
- `git merge` — слить одну ветку в другую.
- `git rebase` — перебазировать ветку поверх другой ветки.
## Работа с изменениями
- `git status` — показать состояние рабочего каталога.
- `git add` — добавить изменения в индекс.
- `git commit` — зафиксировать проиндексированные изменения.
- `git restore` — откатить изменения или убрать их из индекса.
- `git revert` — создать новый коммит, отменяющий выбранный старый коммит без переписывания истории.
## Работа с удалённым репозиторием
- `git push` — отправить локальные коммиты в удалённый репозиторий.
- `git pull` — получить изменения из удалённого репозитория и сразу объединить их с локальной веткой.
Платформы вроде [[Gitlab]] используют эти операции как основу для командной разработки, merge request и CI/CD.
## Merge и rebase
`git merge` и `git rebase` решают одну задачу: переносят изменения из одной ветки в другую. Разница в том, как они меняют историю.
### Merge
`git merge` создаёт слияние веток без переписывания уже существующих коммитов. Это безопасный вариант для публичных веток.
![](https://legacy.merionet.ru/images/devops/images/3756/img_04.png)
### Rebase
`git rebase` переносит коммиты текущей ветки поверх другой ветки и помогает получить более линейную историю.
![](https://legacy.merionet.ru/images/devops/images/3756/img_03.png)
> [!important] Золотое правило rebase
> Не выполнять `git rebase` над публичной веткой, если её уже используют другие разработчики.
## Когда выбирать merge или rebase
- Если нужно сохранить полную историю и не переписывать публичные коммиты — использовать `git merge`.
- Если нужна чистая линейная история в локальной или личной ветке — использовать `git rebase`.
## Связанные заметки
- [[Git]]
- [[Gitlab]]
- [[DevOps - основы]]
@@ -0,0 +1,74 @@
---
status: seed
type: concept
tags:
- networking
- security
- infosec
created: 2025-12-17
updated: 2026-05-02
title: Введение в сетевую безопасность
---
# Введение в сетевую безопасность
**Сетевая безопасность** — часть информационной безопасности, которая защищает сетевую инфраструктуру, передаваемые данные и доступ к сетевым ресурсам.
Сетевая безопасность связана с архитектурой сети, политиками доступа, сегментацией, мониторингом и защитой от атак. В контексте сети рядом лежат темы [[Сегментация сети]], [[VPN]] и [[Networking - MOC]].
## CIA: базовая модель безопасности
Информационная безопасность описывает состояние защищённости информации, при котором обеспечиваются:
- **конфиденциальность** — информация недоступна неавторизованным пользователям;
- **целостность** — информация не искажена и не подменена;
- **доступность** — система и данные доступны легитимным пользователям.
## Идентификация, аутентификация, авторизация
- **Идентификация** — присвоение субъектам и объектам уникальных идентификаторов.
- **Аутентификация** — проверка подлинности пользователя или системы.
- **Авторизация** — проверка прав доступа к объектам и операциям.
## Принципы защиты
Для повышения уровня безопасности полезны следующие принципы:
- **простота** — меньше лишних технологий и механизмов, меньше поверхность атаки;
- **безопасные настройки по умолчанию** — доступ запрещён, если он явно не разрешён;
- **полная опосредованность** — каждое обращение к ресурсу проходит проверку прав;
- **минимизация полномочий** — субъект получает только необходимые права;
- **разделение ответственности** — разные части системы получают разные зоны ответственности и доступы.
## Уязвимость, угроза и атака
> [!info] Уязвимость
> **Уязвимость** — слабое место системы, которое может позволить нарушить её безопасность.
Примеры уязвимостей:
- ошибка в программе;
- слабый пароль;
- неправильные права доступа;
- небезопасная конфигурация сети.
**Угроза** — набор обстоятельств и действий, которые потенциально могут привести к нарушению безопасности.
**Атака** — реализованная угроза.
## Поиск уязвимостей
Поиск уязвимостей включает регулярное тестирование системы и анализ её состояния. Для автоматизации применяются сканеры уязвимостей, например OpenVAS и Nessus.
Сканирование обычно строится так:
1. Инструмент отправляет запросы к целевой системе.
2. По ответам формируется информационный отпечаток.
3. Отпечаток сравнивается с базой известных уязвимостей.
4. Формируется отчёт с найденными проблемами.
## Связанные заметки
- [[Networking - MOC]]
- [[Сегментация сети]]
- [[VPN]]
+47
View File
@@ -0,0 +1,47 @@
---
status: seed
type: knowledge
tags:
- study
- research
created: 2025-12-17
updated: 2026-05-02
title: УИР
---
# УИР
**УИР** — учебно-исследовательская работа.
Тема: анализ предметной области и существующих решений в сфере контроля посещаемости в вузах.
## Фокус исследования
Работа должна описать:
- предметную область контроля посещаемости;
- типовые процессы учёта посещаемости в вузах;
- существующие технические решения;
- ограничения и риски таких решений;
- критерии сравнения подходов.
## Возможные направления анализа
- ручной учёт посещаемости;
- электронные журналы;
- QR-коды и одноразовые коды;
- RFID/NFC-карты;
- биометрические методы;
- интеграция с LMS или внутренними системами вуза.
## Вопросы для раскрытия
- Кто является пользователем системы: студент, преподаватель, администратор?
- Как подтверждается факт присутствия?
- Какие ошибки и злоупотребления возможны?
- Какие персональные данные обрабатываются?
- Какие требования к безопасности и доступности системы важны?
## Связанные заметки
Явных устойчивых связей пока нет.
@@ -0,0 +1,79 @@
---
status: seed
type: concept
tags:
- machine-learning
- neural-networks
- backpropagation
created: 2025-12-17
updated: 2026-05-02
title: Обратное распространение ошибки - вывод
---
# Обратное распространение ошибки - вывод
Эта заметка фиксирует математический вывод градиента для алгоритма [[Обратное распространение ошибки]]. Общий контекст нейронных сетей находится в [[Нейронные сети]].
## Обозначения
> [!note] Обозначения
> $x_{j}$ — $j$-й вход
> $w_{ij}^{(1)}$ — вес от входа $j$ к скрытому нейрону $i$
> $w_{li}^{(2)}$ — вес от скрытого нейрона $i$ к выходу $l$
> $S_{i}^{(1)}$ — взвешенная сумма на входе нейрона $i$ в первом слое
> $u_{i}$ — выход нейрона $i$ первого слоя после активации
> $S_{l}^{(2)}$ — взвешенная сумма на входе нейрона $l$ во втором слое
> $y_{l}$ — выход нейрона $l$ второго слоя
> $d_{l}$ — истинное значение
> $F$ — функция активации
## Прямой проход
$$
\begin{align*}
S_{i}^{(1)} &= \sum\limits_{j=1}^{n}w_{ij}^{(1)}x_{j} \\
u_{i} &= F(S_{i}^{(1)}) \\
y_{l} &= F(S_{l}^{(2)}) \\
E &= \frac{1}{2}\sum\limits_{l=1}^{m}(y_{l}-d_{l})^{2}
\end{align*}
$$
## Обратный проход для выходного слоя
Для веса $w_{li}^{(2)}$ используется правило цепочки:
$$
\begin{align*}
\frac{dE}{dw_{li}^{(2)}} &=
\frac{dE}{dy_{l}}
\cdot
\frac{dy_{l}}{dS_{l}^{(2)}}
\cdot
\frac{dS_{l}^{(2)}}{dw_{li}^{(2)}}
\end{align*}
$$
Компоненты производной:
$$
\frac{dE}{dy_l}=y_l-d_l
$$
$$
\frac{dy_l}{dS_l^{(2)}}=F'(S_l^{(2)})
$$
$$
\frac{dS_l^{(2)}}{dw_{li}^{(2)}}=u_i
$$
Итог:
$$
\frac{dE}{dw_{li}^{(2)}}=(y_l-d_l)F'(S_l^{(2)})u_i
$$
## Связанные заметки
- [[Обратное распространение ошибки]]
- [[Нейронные сети]]
+1 -1
View File
@@ -55,7 +55,7 @@ Vault — второй мозг владельца. Claude — соавтор `0
1. Создать заметку в `01 Library/` по подходящему шаблону
2. Доработать черновик: расширить, уточнить формулировки, структурировать
3. `status: seed`, заполнить frontmatter, проставить [[wikilinks]]
4. Переместить исходник в `00 Inbox/Archive/`
4. Переместить исходник в `99 /Archive/`
5. После завершения: показать список предложенных связей с существующими заметками, которые не были добавлены автоматически
## Workflow: Wiki