Compare commits
125 Commits
868e1d1b54
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1885f6ec5f | ||
|
|
a5651c5e2b | ||
|
|
25cacdfbbc | ||
|
|
53e8eb039b | ||
|
|
428de2d72f | ||
|
|
334fb7984d | ||
|
|
74100ffd5b | ||
|
|
5b5ede3a07 | ||
|
|
9b11c9351d | ||
|
|
a3095fb735 | ||
|
|
ea63de4a52 | ||
|
|
cf5ad2305c | ||
|
|
350f70dae0 | ||
|
|
8654360715 | ||
|
|
2298bee312 | ||
|
|
3e4afe5f50 | ||
|
|
ec24cc679c | ||
|
|
ef5cf0ab0a | ||
|
|
83903449aa | ||
|
|
710588da6c | ||
|
|
8d11fc9614 | ||
|
|
09e3808118 | ||
|
|
e1c868624a | ||
|
|
4c28571c98 | ||
|
|
1d74143db4 | ||
|
|
da4571f6b5 | ||
|
|
771403b523 | ||
|
|
2e2ee8e2ac | ||
|
|
23f6e5c3d6 | ||
|
|
5828fdf2a2 | ||
|
|
c909bba8cc | ||
|
|
4378bc6532 | ||
|
|
b4b2e2fc8a | ||
|
|
d182cfc9fd | ||
|
|
dd457ac92a | ||
|
|
7d0dc42af3 | ||
|
|
ef9dc98cb2 | ||
|
|
fd715a5ec2 | ||
|
|
d485769fc5 | ||
|
|
6356e0aba7 | ||
|
|
5a6da54d26 | ||
|
|
94c023deab | ||
|
|
25cb8b93fe | ||
|
|
3197e35e76 | ||
|
|
c6730ad45d | ||
|
|
fb348b0fbf | ||
|
|
42dc7d8134 | ||
|
|
c99e12d3ff | ||
|
|
0c114560b0 | ||
|
|
a6c71cbbcc | ||
|
|
7057019807 | ||
|
|
5cf84d302c | ||
|
|
0ff4b2fa9a | ||
|
|
23577e8a76 | ||
|
|
cbbfc126ef | ||
|
|
b982cf5439 | ||
|
|
0a5b785f87 | ||
|
|
d42e8ad066 | ||
|
|
049d8d4b60 | ||
|
|
342cc08ac5 | ||
|
|
9a7b22c194 | ||
|
|
72434a90d5 | ||
|
|
e6cf63d700 | ||
|
|
08411b122f | ||
|
|
3af3f337ab | ||
|
|
362f1caa7a | ||
|
|
73d9b52cd4 | ||
|
|
96eba40f57 | ||
|
|
0febea824f | ||
|
|
1d482afd62 | ||
|
|
df446242d0 | ||
|
|
51d405f181 | ||
|
|
3b32360909 | ||
|
|
9aa8192c3c | ||
|
|
12de185284 | ||
|
|
0cbb944827 | ||
|
|
1f5763af8e | ||
|
|
b06fc66e12 | ||
|
|
36c6138974 | ||
|
|
343e38cbb9 | ||
|
|
1457675b85 | ||
|
|
1eae42a9c4 | ||
|
|
fadb88d719 | ||
|
|
967abbf747 | ||
|
|
61cc4b5e5e | ||
|
|
42c024bb8b | ||
|
|
bdb6af99a7 | ||
|
|
5e5ee5c1dd | ||
|
|
1d0d9bed26 | ||
|
|
bdd354e643 | ||
|
|
f532c94d0f | ||
|
|
1c513ed925 | ||
|
|
be1b4ba94f | ||
|
|
8a2e14ef7b | ||
|
|
9a402b4764 | ||
|
|
4c51531c1d | ||
|
|
548f8a616d | ||
|
|
fd4811ce21 | ||
|
|
d28c331e99 | ||
|
|
44dd3e53c9 | ||
|
|
d538dce32b | ||
|
|
44ec96acb5 | ||
|
|
14ce6c9823 | ||
|
|
851a66c72c | ||
|
|
122a0de6e7 | ||
|
|
7732c215c2 | ||
|
|
08d043fafb | ||
|
|
0b5b4b0bcf | ||
|
|
d9a3287a73 | ||
|
|
04c5f9679c | ||
|
|
1397bf84f8 | ||
|
|
0b3f8efb9b | ||
|
|
104edf8a12 | ||
|
|
51657a3654 | ||
|
|
1f3ab1c453 | ||
|
|
d31141241d | ||
|
|
20e9c86555 | ||
|
|
4dfbefe937 | ||
|
|
23b0fa497b | ||
|
|
8f9e5032e5 | ||
|
|
fa2dc0cbb0 | ||
|
|
4067ddc934 | ||
|
|
cd4128fc51 | ||
|
|
81455b6c8e | ||
|
|
0ca8b5f40f |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.obsidian/workspace.json
|
||||||
3
.obsidian/community-plugins.json
vendored
3
.obsidian/community-plugins.json
vendored
@@ -2,5 +2,6 @@
|
|||||||
"obsidian-full-calendar",
|
"obsidian-full-calendar",
|
||||||
"obsidian-icon-folder",
|
"obsidian-icon-folder",
|
||||||
"obsidian-git",
|
"obsidian-git",
|
||||||
"obsidian-smart-typography"
|
"obsidian-smart-typography",
|
||||||
|
"mermaid-tools"
|
||||||
]
|
]
|
||||||
2633
.obsidian/plugins/mermaid-tools/main.js
vendored
Normal file
2633
.obsidian/plugins/mermaid-tools/main.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
11
.obsidian/plugins/mermaid-tools/manifest.json
vendored
Normal file
11
.obsidian/plugins/mermaid-tools/manifest.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"id": "mermaid-tools",
|
||||||
|
"name": "Mermaid Tools",
|
||||||
|
"version": "1.3.0",
|
||||||
|
"minAppVersion": "1.4.0",
|
||||||
|
"description": "Improved Mermaid.js experience for Obsidian: visual toolbar with common elements & more",
|
||||||
|
"author": "dartungar",
|
||||||
|
"authorUrl": "https://dartungar.com",
|
||||||
|
"fundingUrl": "https://www.paypal.com/paypalme/dartungar",
|
||||||
|
"isDesktopOnly": false
|
||||||
|
}
|
||||||
149
.obsidian/plugins/mermaid-tools/styles.css
vendored
Normal file
149
.obsidian/plugins/mermaid-tools/styles.css
vendored
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
.mermaid-toolbar-container, .mermaid-toolbar-container * {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-top-row {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-elements-container {
|
||||||
|
padding-top: 1rem;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-element {
|
||||||
|
font-size: var(--font-ui-small);
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 2px 2px 2px 5px;
|
||||||
|
border-radius: 3px;
|
||||||
|
flex: 1 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-toolbar-element:hover {
|
||||||
|
background-color: var(--interactive-hover);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-element-category-header::before {
|
||||||
|
content: "▼ ";
|
||||||
|
font-size: 70%;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-element-category-header.collapsed::before {
|
||||||
|
content: "▶ ";
|
||||||
|
font-size: 70%;
|
||||||
|
padding-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-element-container {
|
||||||
|
padding-top: 6px;
|
||||||
|
border-bottom: var(--border-width) solid var(--color-base-35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-element-modal > div {
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-element-modal label {
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom Category Management Styles */
|
||||||
|
.mermaid-tools-category-management {
|
||||||
|
margin-bottom: 2rem;
|
||||||
|
padding: 1rem;
|
||||||
|
border: 1px solid var(--color-base-25);
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: var(--color-base-00);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-category-management h3 {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
color: var(--text-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-category-management button.mod-cta {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Edit Category Modal Styles */
|
||||||
|
.mermaid-tools-edit-category-modal {
|
||||||
|
min-width: 500px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-category-modal .setting-item {
|
||||||
|
padding: 8px 0;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-category-modal .setting-item-info {
|
||||||
|
flex-grow: 1;
|
||||||
|
margin-right: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-category-modal .setting-item-name {
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-category-modal .setting-item-description {
|
||||||
|
color: var(--text-muted);
|
||||||
|
font-size: var(--font-ui-smaller);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-category-modal input,
|
||||||
|
.mermaid-tools-edit-category-modal textarea {
|
||||||
|
width: 100%;
|
||||||
|
padding: 4px 8px;
|
||||||
|
border: 1px solid var(--color-base-30);
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: var(--color-base-00);
|
||||||
|
color: var(--text-normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mermaid-tools-edit-category-modal input:focus,
|
||||||
|
.mermaid-tools-edit-category-modal textarea:focus {
|
||||||
|
border-color: var(--color-accent);
|
||||||
|
outline: none;
|
||||||
|
box-shadow: 0 0 0 2px var(--color-accent-2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-button-container {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
gap: 10px;
|
||||||
|
margin-top: 20px;
|
||||||
|
padding-top: 16px;
|
||||||
|
border-top: 1px solid var(--color-base-25);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-button-container button {
|
||||||
|
padding: 6px 16px;
|
||||||
|
border: 1px solid var(--color-base-30);
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: var(--color-base-10);
|
||||||
|
color: var(--text-normal);
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: var(--font-ui-small);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-button-container button:hover {
|
||||||
|
background-color: var(--color-base-20);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-button-container button.mod-cta {
|
||||||
|
background-color: var(--color-accent);
|
||||||
|
color: var(--text-on-accent);
|
||||||
|
border-color: var(--color-accent);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-button-container button.mod-cta:hover {
|
||||||
|
background-color: var(--color-accent-hover);
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
"emojiStyle": "native",
|
"emojiStyle": "native",
|
||||||
"iconColor": null,
|
"iconColor": null,
|
||||||
"recentlyUsedIcons": [
|
"recentlyUsedIcons": [
|
||||||
|
"LiAntenna",
|
||||||
"LiAmbulance",
|
"LiAmbulance",
|
||||||
"LiActivitySquare",
|
"LiActivitySquare",
|
||||||
"LiAreaChart"
|
"LiAreaChart"
|
||||||
@@ -34,5 +35,6 @@
|
|||||||
},
|
},
|
||||||
"WORK & PROJECTS": "LiAreaChart",
|
"WORK & PROJECTS": "LiAreaChart",
|
||||||
"WORK & PROJECTS/Mol": "LiActivitySquare",
|
"WORK & PROJECTS/Mol": "LiActivitySquare",
|
||||||
"WORK & PROJECTS/Ulab": "LiAmbulance"
|
"WORK & PROJECTS/Ulab": "LiAmbulance",
|
||||||
|
"WORK & PROJECTS/UAS": "LiAntenna"
|
||||||
}
|
}
|
||||||
201
.obsidian/workspace.json
vendored
201
.obsidian/workspace.json
vendored
@@ -4,96 +4,39 @@
|
|||||||
"type": "split",
|
"type": "split",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "f34c42b92db22671",
|
"id": "6ce0f4672b59a07b",
|
||||||
"type": "tabs",
|
"type": "tabs",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": "80dbf49c3b165c4e",
|
"id": "b5daf62d6db275c6",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "Untitled.md",
|
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_entities.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": false
|
"source": false
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "Untitled"
|
"title": "status_entities"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "9a0992797db5b7bd",
|
"id": "5c58359e6dbf08fd",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "WORK & PROJECTS/Mol/Серверы/1С Бухгалтерия.md",
|
"file": "WORK & PROJECTS/UAS/Servers access.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": false
|
"source": false
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "1С Бухгалтерия"
|
"title": "Servers access"
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "9ae4fd909dea85a6",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "markdown",
|
|
||||||
"state": {
|
|
||||||
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_stages.md",
|
|
||||||
"mode": "source",
|
|
||||||
"source": false
|
|
||||||
},
|
|
||||||
"icon": "lucide-file",
|
|
||||||
"title": "status_stages"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "c5cf117b38b1d3b3",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "markdown",
|
|
||||||
"state": {
|
|
||||||
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_stage_logs.md",
|
|
||||||
"mode": "source",
|
|
||||||
"source": false
|
|
||||||
},
|
|
||||||
"icon": "lucide-file",
|
|
||||||
"title": "status_stage_logs"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "6abd4a7f411625cc",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "canvas",
|
|
||||||
"state": {
|
|
||||||
"file": "WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/entities flow.canvas",
|
|
||||||
"viewState": {
|
|
||||||
"x": -261.8429083675397,
|
|
||||||
"y": -22.59797481217118,
|
|
||||||
"zoom": -0.7971154328826511
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"icon": "lucide-layout-dashboard",
|
|
||||||
"title": "entities flow"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "85be3ef9c361c951",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "release-notes",
|
|
||||||
"state": {
|
|
||||||
"currentVersion": "1.9.14"
|
|
||||||
},
|
|
||||||
"icon": "lucide-book-up",
|
|
||||||
"title": "Release Notes 1.9.14"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"currentTab": 5
|
"currentTab": 1
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "vertical"
|
"direction": "vertical"
|
||||||
@@ -116,7 +59,7 @@
|
|||||||
"autoReveal": false
|
"autoReveal": false
|
||||||
},
|
},
|
||||||
"icon": "lucide-folder-closed",
|
"icon": "lucide-folder-closed",
|
||||||
"title": "Files"
|
"title": "Файловый менеджер"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -212,91 +155,85 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "outline",
|
"type": "outline",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "WORK & PROJECTS/Ulab/Доступы к точкам.md"
|
"file": "WORK & PROJECTS/UAS/Servers access.md",
|
||||||
|
"followCursor": false,
|
||||||
|
"showSearch": false,
|
||||||
|
"searchQuery": ""
|
||||||
},
|
},
|
||||||
"icon": "lucide-list",
|
"icon": "lucide-list",
|
||||||
"title": "Структура Доступы к точкам"
|
"title": "Структура Servers access"
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "c463341da3a7d6da",
|
|
||||||
"type": "leaf",
|
|
||||||
"state": {
|
|
||||||
"type": "git-view",
|
|
||||||
"state": {},
|
|
||||||
"icon": "git-pull-request",
|
|
||||||
"title": "Source Control"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"currentTab": 4
|
"currentTab": 3
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "horizontal",
|
"direction": "horizontal",
|
||||||
"width": 300,
|
"width": 300
|
||||||
"collapsed": true
|
|
||||||
},
|
},
|
||||||
"left-ribbon": {
|
"left-ribbon": {
|
||||||
"hiddenItems": {
|
"hiddenItems": {
|
||||||
"bases:Create new base": false,
|
"mermaid-tools:Open Mermaid Toolbar": false,
|
||||||
"switcher:Open quick switcher": false,
|
"switcher:Меню быстрого перехода": false,
|
||||||
"graph:Open graph view": false,
|
"graph:Граф": false,
|
||||||
"canvas:Create new canvas": false,
|
"canvas:Создать новый холст": false,
|
||||||
"daily-notes:Open today's daily note": false,
|
"daily-notes:Сегодняшняя заметка": false,
|
||||||
"templates:Insert template": false,
|
"templates:Вставить шаблон": false,
|
||||||
"command-palette:Open command palette": false,
|
"command-palette:Открыть палитру команд": false,
|
||||||
|
"bases:Создать новую базу": false,
|
||||||
"obsidian-full-calendar:Open Full Calendar": false,
|
"obsidian-full-calendar:Open Full Calendar": false,
|
||||||
"obsidian-git:Open Git source control": false
|
"obsidian-git:Open Git source control": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "85be3ef9c361c951",
|
"active": "5c58359e6dbf08fd",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"conflict-files-obsidian-git.md",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/План СИЛА.md",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Разработка - 08_2025.md",
|
"Без названия.md",
|
||||||
"WORK & PROJECTS/Mol/Документы ООО Моль-софт/Счета оплаты серверов/firdsvds_2025_11.pdf",
|
"WORK & PROJECTS/UAS/MAIL TRANSFER.md",
|
||||||
"WORK & PROJECTS/Mol/Документы ООО Моль-софт/Счета оплаты серверов/beget_2025_10.pdf",
|
"PERSONAL PROJECTS/VPS.md",
|
||||||
"WORK & PROJECTS/Mol/Deepseek API-key.md",
|
"PERSONAL PROJECTS/STREAMS/TEXT TEMPLATE.md",
|
||||||
"JRPG.md",
|
"PERSONAL PROJECTS/STREAMS/P2EP GOLD ZODIAC AOBA TV.md",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/Структура статусов.canvas",
|
"PERSONAL PROJECTS/STREAMS",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_stages.md",
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Шаблон договора 2024-2025.doc",
|
||||||
"WORK & PROJECTS/Mol/Серверы/1С Бухгалтерия.md",
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Оборудование.xlsx",
|
||||||
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/ОА ЛИМС.xlsx",
|
||||||
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/для ЛИМС.7z",
|
||||||
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Сотрудники.xlsx",
|
||||||
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Помещения.xlsx",
|
||||||
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/f92754ca-70d3-4753-ae10-3a29e541da4f.pdf",
|
||||||
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Act.xlsx",
|
||||||
|
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Account.xlsx",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/entities flow.canvas",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/entities flow.canvas",
|
||||||
"WORK & PROJECTS/Mol/Серверы/Jira - Service - Confluence - Crm.md",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/Структура статусов.canvas",
|
||||||
"WORK & PROJECTS/Mol/Серверы/VPN-FIREWALL-GATE (Cerberus).md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_stage_logs.md",
|
|
||||||
"WORK & PROJECTS/Mol/Серверы/git.moldev.ru.md",
|
|
||||||
"WORK & PROJECTS/Mol/Серверы/Supervisor/job_worker.md",
|
|
||||||
"Untitled.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_entities_logs.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Схема образца испытаний и заявки.canvas",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Структура таблиц. Основа + заказы.canvas",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_entities.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_basis_entities.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы/status_entities_types.md",
|
|
||||||
"2025-07-18.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Расчёт тарифов и списаний.canvas",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Расчёт тарифов и списаний.canvas",
|
||||||
"WORK & PROJECTS/Mol/Ideas/Все идеи для Моли.md",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/1.0/1.0.md",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Согласования и статусы",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/00001_Редактор_форм/Таблицы нумератора и документов.canvas",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Tariffs.md",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/00001_Редактор_форм/Архитектура редактора и генератора (Alfa + Mol).canvas",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Products.md",
|
"JRPG.md",
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Modules.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Billing_add_types.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации/Billing.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Система тарификации",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Нумератор/Нумератор_общая_схема.canvas",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Нумератор/numerator_counter_types.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Нумератор/numerator_counter_history.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Нумератор/numerator_counters.md",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Нумератор",
|
|
||||||
"WORK & PROJECTS/Mol/Серверы/Supervisor",
|
|
||||||
"WORK & PROJECTS/Mol/Серверы/PROXY_PASS",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/ТЗ динамических полей и ФИЗов.canvas",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/notifies.canvas",
|
|
||||||
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Websockets scheme.canvas",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Websockets scheme.canvas",
|
||||||
"WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/Формы импорта оборудования.zip",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Alfa Cloud/Alfa cloud prod.canvas",
|
||||||
"WORK & PROJECTS/Mol/Документы ООО Моль-софт/Счета оплаты серверов/Operation_Check_PJSC_Sberbank_17072025.pdf",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/notifies.canvas",
|
||||||
"PERSONAL PROJECTS/P2EP/cdRead.canvas",
|
"WORK & PROJECTS/Mol/Планы и диаграммы/СМК.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/00001_Редактор_форм/Описание первой версии.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Схема связей юрлиц и адресов.canvas",
|
||||||
|
"WORK & PROJECTS/UAS/Untitled.canvas",
|
||||||
|
"WORK & PROJECTS/UAS/Servers access.md",
|
||||||
|
"WORK & PROJECTS/UAS/Plan.md",
|
||||||
|
"WORK & PROJECTS/UAS/IP-TEL.png",
|
||||||
|
"WORK & PROJECTS/UAS/Access.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/Динамические поля Заявок (декомпозиция) 2026.02.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/pgo_to_groups.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/modules_to_dyn_controls.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/dynamic_controls_table.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/test logic.md",
|
||||||
|
"Untitled 1.md",
|
||||||
|
"PERSONAL PROJECTS/cloudflare temp mail.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/samplings table.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/pgo_to_groups.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/modules_to_dyn_controls.md",
|
||||||
|
"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/dynamic_controls_table.md",
|
||||||
|
"Untitled.md",
|
||||||
|
"WORK & PROJECTS/Mol/Серверы/1С Бухгалтерия.md",
|
||||||
"Структура объектов испытаний.png",
|
"Структура объектов испытаний.png",
|
||||||
"Схема связей юрлиц и адресов.png",
|
"Схема связей юрлиц и адресов.png",
|
||||||
"WORK & PROJECTS/img/Pasted image 20241212175419.png",
|
"WORK & PROJECTS/img/Pasted image 20241212175419.png",
|
||||||
|
|||||||
4
PERSONAL PROJECTS/P2EP/logo.canvas
Normal file
4
PERSONAL PROJECTS/P2EP/logo.canvas
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"nodes":[],
|
||||||
|
"edges":[]
|
||||||
|
}
|
||||||
127
PERSONAL PROJECTS/STREAMS/P2EP GOLD ZODIAC AOBA TV.md
Normal file
127
PERSONAL PROJECTS/STREAMS/P2EP GOLD ZODIAC AOBA TV.md
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
Отлично, у меня теперь достаточно информации. Вот подробный гайд по интересующим тебя частям игры.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## После Sky Museum и битвы с Tatsuya Sudou
|
||||||
|
|
||||||
|
После победы над Sudou тебе нужно посетить несколько мест: сначала загляни в Kismet Pub в Aoba (сцена), затем в Police Dept в Konan (ещё сцена). Потом поговори с дамой в Shiraishi (Hirasaka), чтобы узнать, где находится бывший парень Улалы, — и иди к нему в Parabellum (Aoba).
|
||||||
|
|
||||||
|
После этого открываются два данжа подряд — **GOLD** и **Club Zodiac**.
|
||||||
|
|
||||||
|
**GOLD (Gym):** Иди на север к двери Boxing Gym, затем на запад, потом на юго-восток к лестнице на 2F → на юг, восток, север к лестнице на 3F → на север, немного на запад к Women's Locker Room. Поговори с сотрудницей и получи Gym Key. Вернись к Boxing Gym и войди. Тебя ждёт босс — **Joker Ulala**. Она на уровне 20, даёт 2000 exp и 8000 yen. Тактика простая: атакуй и лечись. Важный совет из FAQ: когда Joker применяет заклинание Old Maid, оно случайно заставляет одного из твоих персонажей атаковать союзников. Единственный способ защититься — выбрать команду "Defend" для всех персонажей в тот ход.
|
||||||
|
|
||||||
|
**Club Zodiac:** Иди на запад, север, восток. Войдя внутрь, пройди через дверь у бара. Путь: север → восток → север → северо-запад → север до лестницы на 2F. Далее: восток, юг, восток, юг, восток, юг, восток к лестнице на 3F. Поднявшись, иди на запад, потом на север к двери Secret Casino. Пароль — **"Panther"** (можно узнать у мафиози в Staff Room, если сначала попробовать войти с неверным паролем). Босс — **Joker Noriko + 2 Ryuman**. Фокусируйся на слабостях каждого противника по очереди, не забывай защищаться от Old Maid.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Aoba Park (первый визит)
|
||||||
|
|
||||||
|
Данж делится на 3 зоны: Южная сторона (вход), Центральная зона (цель первого визита — Rest Area) и Северная сторона (цель второго визита — Concert Hall).
|
||||||
|
|
||||||
|
Перед входом поговори со стариком у парка — он расскажет слух о говорящих цветах. Распространи этот слух, чтобы открыть сайд-квест. Далее двигайся на восток, подбери White Bandana из ящика, поговори с синим цветком. Затем зигзагом на северо-запад, потом на восток. Говори с жёлто-зелёным цветком возле ворот, восточнее найдёшь сундук с Miracle Soda. Пройди через ворота в центральную часть. Иди на север, поговори с жёлтым цветком, затем снова через ворота.
|
||||||
|
|
||||||
|
Ищи Rest Area — она в западном углу второй зоны. Третью зону посещать необязательно, хотя там есть Trish's Fountain у северного края.
|
||||||
|
|
||||||
|
**Сайд-квест Idol's Ghost (Линда):** Если начал квест в Shiraishi Ramen, в парке встретишь именного врага Linda. После победы она дропает Linda's Bra. Важно: не жди конца данжа — сдай предмет сразу, иначе NPC в Shiraishi исчезнет.
|
||||||
|
|
||||||
|
**Редкий враг Nata:** В парке может появиться демон-персона Nata на уровне 39 (при средней партии ~24). Он сразу кастует Taru Kaja на себя, удваивая физатаку, и бьёт почти на 300 урона. Слаб только к Молнии (Lightning). Главная тактика — чередовать воскрешение союзников и атаки самыми мощными заклинаниями. За победу получишь его карточку Paopei.
|
||||||
|
|
||||||
|
**После парка — развилка:** Иди в Kuzunoha в Aoba и распространи слух о человеке в Parabellum. Если выберешь женщину — к тебе присоединится Ellen (Eriko/Ellie). Если мужчину — Nate (Nanjo). Затем иди в Parabellum (Aoba).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Бомбоубежище в Kasugayama (опциональный данж)
|
||||||
|
|
||||||
|
Bomb Shelter — опциональный данж, доступный через подземный склад школы Kasugayama High. По слуху, тот, кто войдёт, никогда не найдёт выход — но есть и другой слух о человеке, которому удалось выбраться с помощью зеркала. Данж разделён на 9 зон; каждая новая зона открывается после прохождения соответствующего основного данжа игры. Внутри карту можно использовать только после нахождения её в этой зоне.
|
||||||
|
|
||||||
|
Уже через несколько минут в зоне 2 найдёшь карту — она очень пригодится, так как зоны становятся всё более лабиринтными. Рядом с картой есть доска объявлений.
|
||||||
|
|
||||||
|
Слух для открытия зоны 2: услышать от Robin Goodfellow, распространить только через Minotaur. Прогресс в убежище напрямую завязан на прохождение основных данжей — после каждого нового данжа открывается следующая зона.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Sumaru TV (маршрут Ellie/Ellen)
|
||||||
|
|
||||||
|
Это основной данж, уникальный для маршрута Ellie в отличие от маршрута Nanjo. Данж необычный — цель не просто «дойти до конца».
|
||||||
|
|
||||||
|
**Завязка:** Партия идёт в Sumaru TV, чтобы найти fortune-teller Wang Long Chizuru, связанную с New World Order. При входе встретишь чёрного кота. После первой встречи с ним атмосфера меняется — всё вокруг становится чёрно-белым и музыка меняется. Ellen с её знаниями оккультизма понимает: Chizuru наложила проклятие, и единственный выход — пройти через 8 «врат» (студий с отметками Ba Gua) в правильном порядке.
|
||||||
|
|
||||||
|
**Сайд-квест Reiko Kashima:** Поговори с охранником в вестибюле — он расскажет слух о Reiko. Распространи слух в агентстве, и Reiko Kashima будет случайно появляться в данже. После победы над ней получишь её зонтик. Отдать его охраннику можно только после победы над боссом Joker Junko.
|
||||||
|
|
||||||
|
**Подготовка:** Перед заходом рекомендуется обеспечить Ellen персону Shaka (Hierophant). Он «силён против всего» (Strong Against All), включая иммунитет к Light и Dark — это очень ценно.
|
||||||
|
|
||||||
|
**Разгадка босс-раша:** Ближе к концу встретишь "Boy with Earring" — оказывается, это не тот, за кого себя выдаёт. Это чёрный кот в disguise, который трансформируется в демоническую форму — с ним нужно сразиться.
|
||||||
|
|
||||||
|
**Финальный босс (Joker Junko):** После восстановления нормальной атмосферы партия добирается до Wang Long Chizuru, которая ведёт своё шоу. Во время встречи Chizuru превращает Junko Kurosu (мать Jun) в Joker и уходит. Тебе придётся сражаться с Joker Junko.
|
||||||
|
|
||||||
|
**Тактика против Chizuru (если она появляется как промежуточный босс):** Chizuru использует дубликатов себя. Чтобы избавиться от клонов, нужно атаковать настоящую Chizuru одиночной физической атакой оружием — тогда все копии исчезнут. Обычные атаки по клонам не работают. Можно также использовать «Honeycomb» fusion (Shot + Shot + Shot) — физические атаки не встречают сопротивления Shikigami.
|
||||||
|
|
||||||
|
**Для Joker Junko** — используй Fusion Spells, держи Maya на лечении, и обязательно **защищайся всей партией** когда видишь заклинание Old Maid.
|
||||||
|
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
## Полная шпаргалка по персонам и Fusion Spells (GOLD → Sumaru TV)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Как призвать ключевые персоны
|
||||||
|
|
||||||
|
**Jack Frost** — аркан **Lovers (VI)**, нужно **72 карты Lovers**. Уникальность: единственная персона в игре, способная читать Atomic Bufula и запускать Fusion King Frost.
|
||||||
|
|
||||||
|
**Gandharva** — аркан **Star (XVII)**, нужно **92 карты Star**.
|
||||||
|
|
||||||
|
**Shaka** — аркан **Hierophant (V)**, нужно **87 карт Hierophant + материальная карта "Yuiga Dokuson"**. Карту Yuiga Dokuson выбиваешь из демона-персоны Shaka в бомбоубежище Kasugayama.
|
||||||
|
|
||||||
|
**Byakko** — аркан **Hermit (IX)**, нужно **132 карты Hermit**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Стоковые персоны Katsuya и Baofu
|
||||||
|
|
||||||
|
**Helios** (Katsuya, Justice XI, уровень 1) — Fire affinity, иммунитет к огню. Спеллы: Agi → Maha Agi (mutation). Важно: Maha Agi — обязательный финальный компонент Fusion **L'Oiseau d'Feu**. Уникален, повторно не призвать.
|
||||||
|
|
||||||
|
**Odysseus** (Baofu, Hanged Man XII, уровень 6) — Wind/Lightning immunity, уязвим к земле. Спеллы: Garu → Maha Garu (rank 8). Soothing Melody — mutation. Уникален, повторно не призвать.
|
||||||
|
|
||||||
|
Вывод: **оба стоковых персонажа уже несут нужные Fire и Wind спеллы для Fusion**, так что их менять необязательно — главное не сдавать в Velvet Room.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Апгрейд для Katsuya (~уровень 25)
|
||||||
|
|
||||||
|
**Mars** (Justice XI, уровень 25, 75 карт) — Fire affinity, резист к огню. Спеллы: Agilao, Straight Slash, Hama, **Media** (групповое лечение!), Twin Slash, Fire Storm (mutation). Лучшая совместимость: Katsuya и Tatsuya. Mars — прямой апгрейд Helios: даёт более сильный Fire + **Media**, что закрывает вопрос лечения для Katsuya.
|
||||||
|
|
||||||
|
### Апгрейд для Baofu (~уровень 24)
|
||||||
|
|
||||||
|
**Kabandha** (Hanged Man XII, уровень 24, 96 карт) — Water affinity, иммунитет к воде, уязвим к огню. Спеллы: Aques, Wall of Water, **Maha Aques**, Acid Rain (mutation). Return item — карта Maha Aques. Kabandha закрывает Water-часть Fusion цепочек (Vain Splash, Tidal Wave) вместо Odysseus, у которого воды нет вообще.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Итоговая шпаргалка Fusion Spells
|
||||||
|
|
||||||
|
| Fusion Spell | Эффект | Компоненты по порядку | Кто несёт |
|
||||||
|
| ------------------------------------- | --------------------------------------- | ------------------------------------- | ----------------------------------------------- |
|
||||||
|
| **L'Oiseau d'Feu** | Большой Fire урон по всем | Fire → Earth → **Maha Agi** | Helios/Mars (Fire) + любой Earth |
|
||||||
|
| **Cyclone Slash** | Большой Wind урон по всем | Wind → Water → **Maha Garu** | Nike/Odysseus (Wind) + Kabandha (Water) |
|
||||||
|
| **Maximum Tempest** | Большой Wind урон по всем | Wind → Water → **Maha Garula** | Nike rank 8 (Maha Garula) + Kabandha |
|
||||||
|
| **Ice Blast** | AoE Ice + 40% заморозка | Ice → Ice | Jack Frost (Bufula) + Jack Frost или другой Ice |
|
||||||
|
| **King Frost** ⭐ | Огромный Ice урон по всем (level-based) | **Atomic Bufula** → **Summon Spirit** | Jack Frost (уникально!) |
|
||||||
|
| **Fire Burst** | Fire + Sword по одному врагу | Fire → **Straight Slash** | Gandharva/Helios (Fire) + Mars (Straight Slash) |
|
||||||
|
| **Muzzle Shoot** | Огромный урон одному + заглушка | **Mafui** → Shot | Nike/Shaka (Mafui) + любой Shot |
|
||||||
|
| **Honeycomb** | Огромный урон по всем (физ.) | Shot → Shot → Shot | Трое с Shot-атаками |
|
||||||
|
| **Pantheon** | Большой Holy урон по всем | Holy → Almighty → **Hieros Glupaine** | Shaka (Holy Light/Nirvana) |
|
||||||
|
| **Status Fusions** (Sleep/Panic/etc.) | Высокий шанс статуса по всем | Status → Status → **Soothing Melody** | Odysseus или Gandharva (Soothing Melody) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Распределение по персонажам
|
||||||
|
|
||||||
|
|Персонаж|Персона|Аркан|Уровень|Роль в Fusion|
|
||||||
|
|---|---|---|---|---|
|
||||||
|
|**Katsuya**|Helios (старт) → **Mars**|Justice XI|1 → 25|Fire для L'Oiseau d'Feu и Fire Burst|
|
||||||
|
|**Baofu**|Odysseus (старт) → **Kabandha**|Hanged Man XII|6 → 24|Wind (Odysseus) или Water (Kabandha)|
|
||||||
|
|**Ellen**|Nike (старт)|Judgement XX|23|Wind AoE + Diarama + Mafui для Muzzle Shoot|
|
||||||
|
|**Ellen**|**Shaka**|Hierophant V|29|Holy + Lightning + Recarm (к Sumaru TV)|
|
||||||
|
|**Ulala/Ellen**|**Jack Frost**|Lovers VI|18|Ice Blast, King Frost, Atomic Bufula|
|
||||||
|
|**Maya**|**Gandharva**|Star XVII|23|Fire + Soothing Melody для Status Fusions|
|
||||||
|
|**Maya**|**Byakko**|Hermit IX|33|Ice/Water для цепочек + Do or Die|
|
||||||
20
PERSONAL PROJECTS/STREAMS/TEXT TEMPLATE.md
Normal file
20
PERSONAL PROJECTS/STREAMS/TEXT TEMPLATE.md
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
- слушаем музыку
|
||||||
|
- приветствуем всех, кто подключился к стриму, передаём привет всем, кто не с нами
|
||||||
|
- обезумевший провайдер прямо перед НГ и неясность с ютубом
|
||||||
|
- говорим спасибо всем, кто поддерживает перевод, включаем донаты ДА и БУСТИ
|
||||||
|
- разговариваем про статус перевода, титаническая работа, что мы долшли до точки, когда не стыдно показать. Говорим про редактуру (то, что практически весь сюжет, город и данжи вычитаны). Показываем, над чем работаем прямо сейчас и что осталась боёвка и общение с демонами, графика и казино. Ситуация с тестерами. Смотрим табличку перевода
|
||||||
|
- вспоминаем былые деньки, когда на стриме начинали переводить сюжет, я ещё не подозревал, что буду много раз всё переписывать. В тесте это выглядит как одно, а в игре по-другому.
|
||||||
|
- разбор ресурсов IS и EP. Импорт и экспорт сцен ивентов. Разбор данжей. Бесперпективность реверса исходников
|
||||||
|
- разговоры о ремейке PSP, статус разбора
|
||||||
|
- мысли о ремейке обеих частей и скриптовая ВМ, подход к разработке.
|
||||||
|
- начинаем играть (запуск MGS)
|
||||||
|
- запуск игры. Комментрируем каждую сцену.
|
||||||
|
- играем до 01:00, минимально отвечаем на чат, максимально отвечаем на донаты. цель - дойти до сцены с баофу и улалой
|
||||||
|
- максимальные комментарии о переводе
|
||||||
|
- перерыв 15 минут, включаем SA
|
||||||
|
- 5 после прихода развлекаемся в SA
|
||||||
|
- включаемся, даём комментарии о чате и плохом поведении.
|
||||||
|
- продолжаем играть и кайфовать до 4:00, отвечая на чат
|
||||||
|
- в конце благодарим всех ещё раз
|
||||||
|
- прощаемся
|
||||||
|
- слушаем музыку 10 минут
|
||||||
15
PERSONAL PROJECTS/VPS.md
Normal file
15
PERSONAL PROJECTS/VPS.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
95.81.100.45
|
||||||
|
|
||||||
|
root
|
||||||
|
shemet
|
||||||
|
ljuJdjh5ljuJdjh5
|
||||||
|
|
||||||
|
proto
|
||||||
|
ee7ad4edc55facbf89916f064ed56774c86b6f6e636f6e2e6e6c
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
tg://proxy?server=95.81.100.45&port=8443&secret=ee7ad4edc55facbf89916f064ed56774c86b6f6e636f6e2e6e6c
|
||||||
|
```
|
||||||
4
PERSONAL PROJECTS/cloudflare temp mail.md
Normal file
4
PERSONAL PROJECTS/cloudflare temp mail.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
|
||||||
|
**eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoic3NoZW1ldEBlcnppLm1lIiwiYWRkcmVzc19pZCI6MTAwMjk5NH0.hbbsksHhOrL1FNE9mJWcaDSPRc1kKWmZfOMbtusFcRE**
|
||||||
|
|
||||||
|
**https://em.bjedu.tech/?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZGRyZXNzIjoic3NoZW1ldEBlcnppLm1lIiwiYWRkcmVzc19pZCI6MTAwMjk5NH0.hbbsksHhOrL1FNE9mJWcaDSPRc1kKWmZfOMbtusFcRE**
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
nas_admin
|
|
||||||
aA1234567890
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Account.xlsx
Normal file
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Account.xlsx
Normal file
Binary file not shown.
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Act.xlsx
Normal file
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Act.xlsx
Normal file
Binary file not shown.
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Помещения.xlsx
Normal file
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Помещения.xlsx
Normal file
Binary file not shown.
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Сотрудники.xlsx
Normal file
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/_Сотрудники.xlsx
Normal file
Binary file not shown.
Binary file not shown.
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/ОА ЛИМС.xlsx
Normal file
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/ОА ЛИМС.xlsx
Normal file
Binary file not shown.
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Оборудование.xlsx
Normal file
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/Оборудование.xlsx
Normal file
Binary file not shown.
Binary file not shown.
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/для ЛИМС.7z
Normal file
BIN
WORK & PROJECTS/Mol/Документы для ТЗ ЛИМС/GRB/для ЛИМС.7z
Normal file
Binary file not shown.
@@ -11,6 +11,11 @@ if [ "$#" -ne 2 ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
sudo apt install fail2ban
|
||||||
|
sudo systemctl enable fail2ban
|
||||||
|
|
||||||
|
|
||||||
|
apt install sudo
|
||||||
hostnamectl set-hostname $1
|
hostnamectl set-hostname $1
|
||||||
adduser moluser
|
adduser moluser
|
||||||
usermod -aG sudo moluser
|
usermod -aG sudo moluser
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
| Функция | Изменения | | | | | | | | | | | | |
|
||||||
|
| --------------------- | --------------------------------------------- | --- | -------------------- | ------------------------------------------------------------------------------------ | --- | --------- | -------------------------------------------- | --- | ----------- | ---------------------- | --- | --------------- | ------------------------------------------------ |
|
||||||
|
| `processClassifier` | Централизована обработка всех классификаторов | | Обработка `+` и `-` | Теперь `-` **явно запрещает подгруппы**, `+` — разрешает (но по умолчанию и так `+`) | | Диапазоны | Полностью поддерживаются: `61-63`, `61-63+` | | Пустые поля | Безопасно пропускаются | | Логика подгрупп | Определяется по наличию `-` на конце (приоритет) |
|
||||||
|
|
||||||
|
|
||||||
|
| | |
|
||||||
|
| --- | --- |
|
||||||
|
| | |
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
|
||||||
|
|
||||||
|
- прописать в таблице “распределение данных” внутренние названия всех полей
|
||||||
|
- собрать миграцию данных опциональных полей для ПГО1 (таблица field_optionals)
|
||||||
|
- собрать миграцию данных ПГО1 для “пищевой продукции/биологических материалов”,
|
||||||
|
- доработать и протестировать API-запрос к бэку для возврата опциональных полей
|
||||||
|
- Фронтенд:
|
||||||
|
- сделать скрытыми все поля с лейблами кроме обязательных согласно таблице “распределение данных” (hidden). Возможно, придётся делать блоки поля с лейблом для удобства скрытия.
|
||||||
|
- сделать тег типа у каждого поля/лейбла – “основное”, “опциональное”, “пользовательское”
|
||||||
|
- Функционал показа для новой заявки:
|
||||||
|
- запрос при каждом изменении селектов “Тип ОИ” и “Группа ОИ” к API fields/optional, передавая group_id и object_type
|
||||||
|
- *доработка под тариф в будущем*
|
||||||
|
- после ответа от API отображать полученный список полей (меняем статус видимости)
|
||||||
|
- Переписать миграции для генерации информации тестовой информации не в полях, а в “details” связанных сущностей
|
||||||
|
- Функционал показа существующей заявки:
|
||||||
|
- Массив опциональных полей сразу же запрашивается на этапе формирования данных для фронта для каждой заявки (так мы сможем просто включать поля в БД после доработок)
|
||||||
|
- Все данные опциональных полей перемещаются в поле details сущностей согласно таблице “распределение данных” (на данном этапе либо к request, либо к incoming_object). Это очень простой json массив \[поле => значение\]
|
||||||
|
- Поля включаются так же, как и в новой заявке
|
||||||
|
- Следовательно все данные должны затянуться автоматически из массивов details и показаться в полях
|
||||||
|
|
||||||
|
- Параллельная подготовка бэкенда для распределения и отдачи данных из массивов details + доработка миграций, чтобы переместить динамические данные в details
|
||||||
|
- Подготовка бэкенда к функционалу сохранения динамических полей БЕЗ ВАЛИДАЦИИ (прототип мягкого сохранения)
|
||||||
|
- Фронтенд+бэкенд — обеспечение мягкого сохранения без валидации всех данных в правильные распределённые таблицы и details
|
||||||
|
- Система валидации динамических полей.
|
||||||
|
- Поля из обязательной валидации выпиливаются в опциональную.
|
||||||
|
- Прописываются правила валидации в БД полей через миграции (правила/сообщения)
|
||||||
|
- Движок валидации (принимаем список динамических полей и валидируем)
|
||||||
|
- Здесь каким-то образом надо обеспечить обратную связь с фронтом для подсветки неверных полей + сообщений
|
||||||
|
- Тестирование в комплексе
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"e22a16a2e6c53247","x":40,"y":-760,"width":360,"height":300,"type":"group"},
|
||||||
|
{"id":"7016561d48ff982b","type":"text","text":"Сервис OptionalFieldsService","x":95,"y":-652,"width":250,"height":60,"color":"3"},
|
||||||
|
{"id":"975525ee56508717","type":"text","text":"Сервис\nOrder / Request Service","x":-260,"y":-652,"width":250,"height":60},
|
||||||
|
{"id":"40c24af613dd3270","type":"text","text":"Frontend","x":95,"y":-940,"width":250,"height":60,"color":"5"},
|
||||||
|
{"id":"eaf8029d981c7fde","type":"text","text":"Динамические поля\n\\[\\[object types], \\[gpos\\]]","x":60,"y":-560,"width":320,"height":80},
|
||||||
|
{"id":"7fe6dcb37ae00f3a","type":"text","text":"Контроллер\nOptionalFieldsController","x":95,"y":-740,"width":250,"height":60},
|
||||||
|
{"id":"fdf86c47886dc7a7","type":"text","text":"Группы ОИ","x":380,"y":-270,"width":250,"height":60},
|
||||||
|
{"id":"346bf02d73932212","type":"text","text":"Классификатор продукции\n………..","x":130,"y":-70,"width":250,"height":60},
|
||||||
|
{"id":"a4a06647b44fa5ac","type":"text","text":"Окружающая среда\n……….\n","x":380,"y":-70,"width":250,"height":60},
|
||||||
|
{"id":"a440405c2d30e2c8","type":"text","text":"Производственная среда\n…….","x":630,"y":-70,"width":250,"height":60},
|
||||||
|
{"id":"9fcba45f24a17111","type":"text","text":"Типы ОИ (выбор с фронта)\n1. Продукция\n2. Биологические материалы\n3. Атмосферные\n…….","x":-120,"y":-330,"width":250,"height":180},
|
||||||
|
{"id":"311f4e1efdc5f6ae","type":"text","text":"Пакет Групп Испытаний\n(object group package)","x":380,"y":-420,"width":250,"height":60}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"0c924b9f022d82f3","fromNode":"fdf86c47886dc7a7","fromSide":"bottom","toNode":"346bf02d73932212","toSide":"top"},
|
||||||
|
{"id":"2cb09cda5fc0e2e2","fromNode":"fdf86c47886dc7a7","fromSide":"bottom","toNode":"a4a06647b44fa5ac","toSide":"top"},
|
||||||
|
{"id":"4e0c76341c80d465","fromNode":"fdf86c47886dc7a7","fromSide":"bottom","toNode":"a440405c2d30e2c8","toSide":"top"},
|
||||||
|
{"id":"96590a1f74f044b9","fromNode":"7016561d48ff982b","fromSide":"left","toNode":"975525ee56508717","toSide":"right"},
|
||||||
|
{"id":"375d4c396b3b4d13","fromNode":"975525ee56508717","fromSide":"top","toNode":"40c24af613dd3270","toSide":"left","label":"open"},
|
||||||
|
{"id":"abb0f5b93cbb514f","fromNode":"eaf8029d981c7fde","fromSide":"top","toNode":"7016561d48ff982b","toSide":"bottom"},
|
||||||
|
{"id":"15f10ef4cfa0bee3","fromNode":"9fcba45f24a17111","fromSide":"top","toNode":"eaf8029d981c7fde","toSide":"bottom"},
|
||||||
|
{"id":"8d095bac68164314","fromNode":"311f4e1efdc5f6ae","fromSide":"top","toNode":"eaf8029d981c7fde","toSide":"right"},
|
||||||
|
{"id":"69f142277df11fa4","fromNode":"fdf86c47886dc7a7","fromSide":"top","toNode":"311f4e1efdc5f6ae","toSide":"bottom","label":"m2m ogp to groups"},
|
||||||
|
{"id":"ee33053ddf3dc84e","fromNode":"7016561d48ff982b","fromSide":"top","toNode":"7fe6dcb37ae00f3a","toSide":"bottom"},
|
||||||
|
{"id":"ca97a1d860cb438f","fromNode":"7fe6dcb37ae00f3a","fromSide":"top","toNode":"40c24af613dd3270","toSide":"bottom","label":"ajax on change"}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"63bc932b6e788337","type":"group","x":-751,"y":-349,"width":431,"height":1549,"label":"Типы и хранение данных"},
|
||||||
|
{"id":"90e63a87b404a8ea","type":"group","x":-280,"y":-349,"width":520,"height":1089,"color":"4","label":"Ориентировочный workflow для MVP"},
|
||||||
|
{"id":"82c92d6f3a02a4a6","type":"group","x":280,"y":-349,"width":520,"height":1089,"color":"6","label":"workflow пользовательских полей"},
|
||||||
|
{"id":"65173e51537acb80","type":"text","text":"**Массив обязательных полей.**\nСюда попадают поля, которые не прописаны в БД, не имеют свойств и работают как сейчас.\n\n- Показываются всегда\n- Валидируются в обычном режиме\n- Сохраняются в обычном режиме в поля таблицы заявки/основания\n- Возможен перенос в массивы данных для удобства хранения/добавления","x":-731,"y":-329,"width":391,"height":309,"color":"1"},
|
||||||
|
{"id":"815f80b062c9109e","type":"text","text":"**Массив опциональных полей**\nМногие поля из текущей конфигурации должны перейти в категорию “опциональных”.\n- Поля созданы нами\n- Свойства каждого поля хранятся в БД -\n\t- наименование поля\n\t- внутреннее наименование для синхронизации с фронтедом\n\t- родительская сущность\n\t- привязка к тарифам\n\t- привязка к типу ОИ\n\t- привязка к типу исследований\n\t- привязка к ПГО / ФИЗ\n\t- свойства валидации Laravel Request\n\t\t- при сохранении\n\t\t- при отправке на согласование\n\t\t- текст ошибки для пользователя\n\t- доступность в документах\n\t\t- макрос/код в документах\n\t\t\t- внутренний код / наименование\n\t","x":-731,"y":0,"width":391,"height":620,"color":"4"},
|
||||||
|
{"id":"bb17e362d8091d58","type":"text","text":"**Массив пользовательских полей**\nНе входят в MVP.\nПоля, которые могут создавать и пользователи.\nВключают в себя всё вышеперечисленное, но хранятся ОТДЕЛЬНО и рендерятся на фронте отдельным модулем, потому имеют дополнительные свойства:\n- тип поля (текст, мульти/селект, число, файл, массив)\n- некий движок-конструктор получения данных для селектов\n- индекс отображения/положения в интерфейсе\n- связанное/зависимое поле для валидации\n- привязка к конкретной вкладке на фронте\n- упрощённая валидация (тип поступивших данных/обязательность)\n- данные хранятся в json родительской сущности.","x":-731,"y":640,"width":391,"height":540,"color":"6"},
|
||||||
|
{"id":"40b4c7cf09561259","type":"text","text":"**Инициализация фронтенда**\n\nНа фронтенде прописаны ВСЕ поля - и обязательные и необязательные. Так же прописано их положение в интерфейсе.\nСо связями и всем прочим. Таким образом мы сильно разгружаемся и ускоряемся.\nПо-умолчанию **все** опциональные поля скрыты.","x":-260,"y":-329,"width":480,"height":309},
|
||||||
|
{"id":"62eb2ec107a95275","type":"text","text":"**Для новой заявки**\n- при выборе всех нужных опций с сервера запрашивается **список доступных опциональных полей** для данной конфигурации. Просто перечисление того, что включать.\n\n**Для существующей заявки**\n- сразу при загрузке теми же модулями определяются настройки и прилетает уже готовый массив с разрешёнными полями (отдельно от данных). Поля включаются на фронте и в них заносятся данные.","x":-260,"y":20,"width":480,"height":340},
|
||||||
|
{"id":"367f62a87583684f","type":"text","text":"**При сохранении черновика**\n\n- на бэкенд летят все данные и все ОПЦИОНАЛЬНЫЕ поля фильтруются сохраняются в отдельные json-ы (в зависимости от родительской сущности)\n- Проходит мягкая валидация (для сохранения)\n\n**При отправке на согласование**\n\n- Происходит сохранение, но со сменой статуса и с другой валидацией каждого поля.","x":-260,"y":400,"width":480,"height":300},
|
||||||
|
{"id":"4bddbcfea022b3d9","type":"text","text":"**Инициализация фронтенда**\n\nЗдесь нам нужно внедрить **движок рендеринга динамических полей**.\nГрузим фронтенд + запрашиваем массив динамических полей для рендеринга.\nРендерим все обязятельные поля + скрытые опциональные + динамические","x":300,"y":-329,"width":480,"height":309},
|
||||||
|
{"id":"17c527dd91cc0731","type":"text","text":"**При сохранении черновика**\n\n- Работаем так же, как и в MVP, но сохраняем динамические поля в отдельный массив сущности с простейшей валидацией (чтобы не накидали мусора)\n\n**При отправке на согласование**\n\n- Работаем так же, как и в MVP, но сохраняем динамические поля в отдельный массив сущности с защитой от мусора + с нормальной валидацией (тип/обязательность).","x":300,"y":400,"width":480,"height":300},
|
||||||
|
{"id":"dfbf582f578a1414","type":"text","text":"**Для новой заявки**\n- Работаем так же, как и в MVP, но отображаем пользовательские пустые поля.\n\n**Для существующей заявки**\n- Работаем так же, как и в MVP, отображаем пользовательские пустые поля и загружаем в них данные из отдельного массива json сущности.","x":300,"y":20,"width":480,"height":340}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"4fc76ce9d4e61348","fromNode":"40b4c7cf09561259","fromSide":"bottom","toNode":"62eb2ec107a95275","toSide":"top"},
|
||||||
|
{"id":"a3b32f54a016fdba","fromNode":"62eb2ec107a95275","fromSide":"bottom","toNode":"367f62a87583684f","toSide":"top"},
|
||||||
|
{"id":"bf3b6cbb4d2b7d51","fromNode":"4bddbcfea022b3d9","fromSide":"bottom","toNode":"dfbf582f578a1414","toSide":"top"},
|
||||||
|
{"id":"88cf47bf897d2ba9","fromNode":"dfbf582f578a1414","fromSide":"bottom","toNode":"17c527dd91cc0731","toSide":"top"}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -10,8 +10,8 @@
|
|||||||
{"id":"4c9e712b802ea35e","type":"text","text":"### Подгрузка сохранённых данных\n\nЭту процедуру можно выполнять в предыдущем цикле обработки каждого поля\nСобираются все уникальные значения destination_table у текущих выбранных полей\nДелается выборка по таблицам destination_table по id открытого документа или destination_table.incoming_object.id\nУ выбранных объектов получаются json-массивы сохранённых данных из поля dynamic_data\nКаждое динамическое поле проверяется на соответствие и присутствие в сохранённых данных.\nЕсли данные присутствуют - динамическому полю добавляется поле “value” со значением из документа.\nТаким образом можно собирать данные, присвоенные в совершенно разных динамических полях заявки/документов. Пример сохранённых данных показан ниже","x":600,"y":-260,"width":600,"height":463},
|
{"id":"4c9e712b802ea35e","type":"text","text":"### Подгрузка сохранённых данных\n\nЭту процедуру можно выполнять в предыдущем цикле обработки каждого поля\nСобираются все уникальные значения destination_table у текущих выбранных полей\nДелается выборка по таблицам destination_table по id открытого документа или destination_table.incoming_object.id\nУ выбранных объектов получаются json-массивы сохранённых данных из поля dynamic_data\nКаждое динамическое поле проверяется на соответствие и присутствие в сохранённых данных.\nЕсли данные присутствуют - динамическому полю добавляется поле “value” со значением из документа.\nТаким образом можно собирать данные, присвоенные в совершенно разных динамических полях заявки/документов. Пример сохранённых данных показан ниже","x":600,"y":-260,"width":600,"height":463},
|
||||||
{"id":"d3bed003864f4b06","type":"text","text":"### Форматирование динамических полей\n\nКаждый элемент поля проходит проверку и подготавливается для отправки на фронтэнд.\nПроверяется каждое поле renderData и если есть ключ table, то делается выборка из соответствующей таблицы с параметрами и поле трансформируется в options с готовыми данными.\n\nКаждому полю на фронте присваивается свойство dynamic_control_id, чтобы обработать его данные при сохранении","x":-80,"y":-260,"width":600,"height":463},
|
{"id":"d3bed003864f4b06","type":"text","text":"### Форматирование динамических полей\n\nКаждый элемент поля проходит проверку и подготавливается для отправки на фронтэнд.\nПроверяется каждое поле renderData и если есть ключ table, то делается выборка из соответствующей таблицы с параметрами и поле трансформируется в options с готовыми данными.\n\nКаждому полю на фронте присваивается свойство dynamic_control_id, чтобы обработать его данные при сохранении","x":-80,"y":-260,"width":600,"height":463},
|
||||||
{"id":"36f032eaa8b89a57","type":"text","text":"### Содержание поля dynamic_data у таблиц с данными динамических полей.\n\n```json\n[\n\t{\n\t\t\"id\": \"3\",\n\t\t\"name: \"tn_ved\",\n\t\t\"value\" : \"3022 4433\"\n\t},\n\t{\n\t\t\"id\": \"7\",\n\t\t\"name: \"storage_conditions\",\n\t\t\"value\" : \"Пакет целлофановый\"\n\t},\n\t{\n\t\t\"id\": \"9\",\n\t\t\"name: \"trials_in_OA_range\",\n\t\t\"value\" : true\n\t},\n]\n```","x":-400,"y":283,"width":535,"height":517},
|
{"id":"36f032eaa8b89a57","type":"text","text":"### Содержание поля dynamic_data у таблиц с данными динамических полей.\n\n```json\n[\n\t{\n\t\t\"id\": \"3\",\n\t\t\"name: \"tn_ved\",\n\t\t\"value\" : \"3022 4433\"\n\t},\n\t{\n\t\t\"id\": \"7\",\n\t\t\"name: \"storage_conditions\",\n\t\t\"value\" : \"Пакет целлофановый\"\n\t},\n\t{\n\t\t\"id\": \"9\",\n\t\t\"name: \"trials_in_OA_range\",\n\t\t\"value\" : true\n\t},\n]\n```","x":-400,"y":283,"width":535,"height":517},
|
||||||
{"id":"4aefb6d2d59c1c9a","type":"file","file":"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/modules_to_dyn_controls.md","x":-960,"y":-1309,"width":760,"height":669},
|
{"id":"4aefb6d2d59c1c9a","type":"file","file":"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/modules_to_dyn_controls.md","x":-960,"y":-1309,"width":760,"height":669},
|
||||||
{"id":"330a5e6e96216ba6","type":"file","file":"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/pgo_to_groups.md","x":-1500,"y":-1206,"width":400,"height":464},
|
{"id":"330a5e6e96216ba6","type":"file","file":"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/pgo_to_groups.md","x":-1500,"y":-1206,"width":400,"height":464},
|
||||||
{"id":"68b998893332eba2","type":"text","text":"trials_type\n1 - Лабораторные\n2 - Выездные","x":-560,"y":-1440,"width":250,"height":103},
|
{"id":"68b998893332eba2","type":"text","text":"trials_type\n1 - Лабораторные\n2 - Выездные","x":-560,"y":-1440,"width":250,"height":103},
|
||||||
{"id":"3c06fbe8ba52b772","type":"text","text":"### Отправка данных на backend\n\nС фронтенда прилетают данные полей со свойством dynamic_control_id и value","x":-1120,"y":940,"width":600,"height":380},
|
{"id":"3c06fbe8ba52b772","type":"text","text":"### Отправка данных на backend\n\nС фронтенда прилетают данные полей со свойством dynamic_control_id и value","x":-1120,"y":940,"width":600,"height":380},
|
||||||
{"id":"2f8ebcf398e207de","type":"text","text":"### Формирование и сохранение массива данных\n\nДелается выборка полей id, name, destination_table из таблицы dynamic_control_id из массива всех полученных dynamic_control_id\n\nСобирается несколько массивов dynamic_data с группировкой по destination_table\nПроходя по каждой записи destination_table выбирается объект для записи из таблицы по текущему incoming_object_id (прилетает с фронтенда или создаётся при первичном сохранении).\nТекущий массив данных сохраняется в поле dynamic_data в таблицу destination_table","x":340,"y":940,"width":600,"height":380},
|
{"id":"2f8ebcf398e207de","type":"text","text":"### Формирование и сохранение массива данных\n\nДелается выборка полей id, name, destination_table из таблицы dynamic_control_id из массива всех полученных dynamic_control_id\n\nСобирается несколько массивов dynamic_data с группировкой по destination_table\nПроходя по каждой записи destination_table выбирается объект для записи из таблицы по текущему incoming_object_id (прилетает с фронтенда или создаётся при первичном сохранении).\nТекущий массив данных сохраняется в поле dynamic_data в таблицу destination_table","x":340,"y":940,"width":600,"height":380},
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
{"id":"2ec086ec8e32925e","type":"text","text":"Сформировать первичные данные таблиц pgo_to_groups, dynamic_controls_table и modules_to_dyn_controls, необходимые для отображения/сохранения данных по текущим данным. Для начала вручную. Можно задуматься о ТЗ редактора :)","x":-782,"y":1510,"width":1342,"height":70},
|
{"id":"2ec086ec8e32925e","type":"text","text":"Сформировать первичные данные таблиц pgo_to_groups, dynamic_controls_table и modules_to_dyn_controls, необходимые для отображения/сохранения данных по текущим данным. Для начала вручную. Можно задуматься о ТЗ редактора :)","x":-782,"y":1510,"width":1342,"height":70},
|
||||||
{"id":"ddb16308453a51d9","type":"text","text":"Продумать поддержку зависимости от объектов, глубже incoming_object (Испытания/протоколы)","x":-779,"y":1580,"width":1339,"height":60},
|
{"id":"ddb16308453a51d9","type":"text","text":"Продумать поддержку зависимости от объектов, глубже incoming_object (Испытания/протоколы)","x":-779,"y":1580,"width":1339,"height":60},
|
||||||
{"id":"e968c77fea8190c3","type":"text","text":"Валидация полей","x":-779,"y":1640,"width":1339,"height":60},
|
{"id":"e968c77fea8190c3","type":"text","text":"Валидация полей","x":-779,"y":1640,"width":1339,"height":60},
|
||||||
{"id":"b630f9de672de8d5","type":"file","file":"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/dynamic_controls_table.md","x":-40,"y":-1349,"width":1360,"height":749}
|
{"id":"b630f9de672de8d5","type":"file","file":"WORK & PROJECTS/Mol/Планы и диаграммы/Заказы/Динамические поля/dynamic_controls_table.md","x":-40,"y":-1349,"width":1360,"height":749}
|
||||||
],
|
],
|
||||||
"edges":[
|
"edges":[
|
||||||
{"id":"15a75fcef9b6166b","fromNode":"4aefb6d2d59c1c9a","fromSide":"right","toNode":"b630f9de672de8d5","toSide":"left"},
|
{"id":"15a75fcef9b6166b","fromNode":"4aefb6d2d59c1c9a","fromSide":"right","toNode":"b630f9de672de8d5","toSide":"left"},
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
sudo nano /etc/supervisor/conf.d/laravel-worker.conf
|
sudo nano /etc/supervisor/conf.d/laravel-worker.conf
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ a.dianova z2JeiSHVTP0sTlt6 Анна Дианова
|
|||||||
|
|
||||||
a.popov Js5hBS4LFogvztmb Александр Попов
|
a.popov Js5hBS4LFogvztmb Александр Попов
|
||||||
a.milekhin kbn9VN5NsY8R2md2 Алексей Милехин
|
a.milekhin kbn9VN5NsY8R2md2 Алексей Милехин
|
||||||
e.fastov sgwhd1x4WZFsllMt Евгений Фастов
|
e.fastov f8npfh4g6FmCSgt Евгений Фастов
|
||||||
a.belov dSfI95ynDhu2MdIj Алексей Белов
|
a.belov dSfI95ynDhu2MdIj Алексей Белов
|
||||||
|
|
||||||
Технические ящики:
|
Технические ящики:
|
||||||
|
|||||||
1
WORK & PROJECTS/UAS/Access.md
Normal file
1
WORK & PROJECTS/UAS/Access.md
Normal file
@@ -0,0 +1 @@
|
|||||||
|
https://docs.google.com/spreadsheets/d/1FxUbjgvve1TAB7D9m6PQzPMTLTqISFcWm-AwD7vdXPs/edit?gid=0#gid=0
|
||||||
42
WORK & PROJECTS/UAS/IP-TEL.canvas
Normal file
42
WORK & PROJECTS/UAS/IP-TEL.canvas
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"f689991edad4e65a","type":"group","x":-804,"y":-976,"width":1620,"height":840,"label":"Текущая реализация"},
|
||||||
|
{"id":"2c1ff1ebf7420c21","type":"group","x":1000,"y":-977,"width":1180,"height":840,"label":"Идеальная реализация"},
|
||||||
|
{"id":"5024f64a6ba16db7","type":"group","x":1840,"y":-680,"width":290,"height":223,"label":"Звонок клиенту"},
|
||||||
|
{"id":"238d605a8b2074b7","type":"group","x":1020,"y":-460,"width":290,"height":160,"label":"Звонок менеджеру"},
|
||||||
|
{"id":"6e675abef23a0340","type":"text","text":"Звонок на рабочий номер","x":-784,"y":-626,"width":250,"height":60},
|
||||||
|
{"id":"32e333e12b3bfde3","type":"text","text":"Менеджер (рабочий номер)","x":-514,"y":-956,"width":1010,"height":60},
|
||||||
|
{"id":"f985b4d29d61dfaa","type":"text","text":"Прямой звонок (перезвон клиенту без регистрации звонка)","x":476,"y":-596,"width":310,"height":59},
|
||||||
|
{"id":"51a98e4ebde07d7d","type":"text","text":"Менеджер (рабочий номер)","x":1245,"y":-957,"width":895,"height":57},
|
||||||
|
{"id":"563d3fc69bd1c6e9","type":"text","text":"Клиент","x":1245,"y":-217,"width":895,"height":50},
|
||||||
|
{"id":"23f5f2e623ab48f0","type":"text","text":"Звонок на рабочий номер","x":1040,"y":-440,"width":250,"height":60},
|
||||||
|
{"id":"27b59d7694d37fa8","type":"text","text":"звонок на городской номер","x":1040,"y":-380,"width":250,"height":60},
|
||||||
|
{"id":"910e026f4a0105db","type":"text","text":"SIP Rostelecom и запись (регистрация звонка в Amo)","x":1290,"y":-597,"width":415,"height":60},
|
||||||
|
{"id":"4e0f7ce27d4fbe95","type":"text","text":"Переадресация на рабочий номер и запись разг","x":1363,"y":-720,"width":270,"height":60},
|
||||||
|
{"id":"6f9381c1c2bca3cc","type":"text","text":"Исходящий звонок через Amo. Регистрация и запись","x":1860,"y":-537,"width":250,"height":60},
|
||||||
|
{"id":"806091c01daa1386","type":"text","text":"Прямой звонок (перезвон клиенту с рабочего номера)","x":1860,"y":-660,"width":250,"height":124},
|
||||||
|
{"id":"4a3d47301b019cc2","type":"text","text":"Переадресация на клиента","x":1568,"y":-300,"width":250,"height":60},
|
||||||
|
{"id":"5b9108063adf014b","type":"text","text":"Переадресация на рабочий номер и запись разг","x":-144,"y":-776,"width":270,"height":60},
|
||||||
|
{"id":"8ca3559c19c010ed","type":"text","text":"SIP Rostelecom и запись (регистрация звонка в Amo)","x":-216,"y":-596,"width":415,"height":60},
|
||||||
|
{"id":"fbe98880b989d9e4","type":"text","text":"Клиент","x":-483,"y":-216,"width":950,"height":50},
|
||||||
|
{"id":"4e9ff77f34077797","type":"text","text":"звонок на городской номер","x":-133,"y":-380,"width":250,"height":60}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"288e5470d1b556d2","fromNode":"fbe98880b989d9e4","fromSide":"left","toNode":"6e675abef23a0340","toSide":"bottom"},
|
||||||
|
{"id":"b495e47f561dde59","fromNode":"8ca3559c19c010ed","fromSide":"top","toNode":"5b9108063adf014b","toSide":"bottom"},
|
||||||
|
{"id":"b3c2560576ac04a6","fromNode":"5b9108063adf014b","fromSide":"top","toNode":"32e333e12b3bfde3","toSide":"bottom"},
|
||||||
|
{"id":"eddfa5fa36a80e83","fromNode":"32e333e12b3bfde3","fromSide":"right","toNode":"f985b4d29d61dfaa","toSide":"top"},
|
||||||
|
{"id":"b4c140cff1b2b9cb","fromNode":"f985b4d29d61dfaa","fromSide":"bottom","toNode":"fbe98880b989d9e4","toSide":"right"},
|
||||||
|
{"id":"539dd5bb701134f8","fromNode":"4e9ff77f34077797","fromSide":"top","toNode":"8ca3559c19c010ed","toSide":"bottom"},
|
||||||
|
{"id":"7cbd9a626fe5b96c","fromNode":"6e675abef23a0340","fromSide":"top","toNode":"32e333e12b3bfde3","toSide":"left"},
|
||||||
|
{"id":"67abe8500a220828","fromNode":"238d605a8b2074b7","fromSide":"top","toNode":"910e026f4a0105db","toSide":"left"},
|
||||||
|
{"id":"c87e6b38cf1bbbb2","fromNode":"563d3fc69bd1c6e9","fromSide":"left","toNode":"238d605a8b2074b7","toSide":"bottom"},
|
||||||
|
{"id":"daa277272b399000","fromNode":"4e0f7ce27d4fbe95","fromSide":"top","toNode":"51a98e4ebde07d7d","toSide":"bottom"},
|
||||||
|
{"id":"34128d87af54d7ee","fromNode":"4a3d47301b019cc2","fromSide":"bottom","toNode":"563d3fc69bd1c6e9","toSide":"top"},
|
||||||
|
{"id":"f1659e542a65b6e9","fromNode":"910e026f4a0105db","fromSide":"top","toNode":"4e0f7ce27d4fbe95","toSide":"bottom"},
|
||||||
|
{"id":"12bdbd3186049ed1","fromNode":"5024f64a6ba16db7","fromSide":"bottom","toNode":"4a3d47301b019cc2","toSide":"top"},
|
||||||
|
{"id":"998540e8da17b537","fromNode":"51a98e4ebde07d7d","fromSide":"bottom","toNode":"5024f64a6ba16db7","toSide":"top"},
|
||||||
|
{"id":"4c2ed6c08c4e4341","fromNode":"5024f64a6ba16db7","fromSide":"left","toNode":"910e026f4a0105db","toSide":"right"},
|
||||||
|
{"id":"81556705161be8c8","fromNode":"fbe98880b989d9e4","fromSide":"top","toNode":"4e9ff77f34077797","toSide":"bottom"}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
WORK & PROJECTS/UAS/IP-TEL.png
Normal file
BIN
WORK & PROJECTS/UAS/IP-TEL.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 200 KiB |
108
WORK & PROJECTS/UAS/MAIL TRANSFER.md
Normal file
108
WORK & PROJECTS/UAS/MAIL TRANSFER.md
Normal file
@@ -0,0 +1,108 @@
|
|||||||
|
Входящие gmail
|
||||||
|
```bash
|
||||||
|
./imapsync \
|
||||||
|
--host1 imap.gmail.com \
|
||||||
|
--port1 993 \
|
||||||
|
--ssl1 \
|
||||||
|
--user1 uralavtostroymiass@gmail.com \
|
||||||
|
--password1 'impj rmyc ecwl cqeq' \
|
||||||
|
--host2 localhost \
|
||||||
|
--user2 sales@1-agent.ru \
|
||||||
|
--password2 'sinkhrotsiklOtron6107' \
|
||||||
|
--ssl2 \
|
||||||
|
--gmail1 \
|
||||||
|
--folder "INBOX" \
|
||||||
|
--syncinternaldates \
|
||||||
|
--useuid \
|
||||||
|
--maxage 120
|
||||||
|
```
|
||||||
|
Входящие mail
|
||||||
|
```bash
|
||||||
|
./imapsync \
|
||||||
|
--host1 imap.mail.ru \
|
||||||
|
--user1 bid.group@mail.ru \
|
||||||
|
--password1 'YvabfX1ZfXeZfcmeKhPT' \
|
||||||
|
--ssl1 \
|
||||||
|
--host2 localhost \
|
||||||
|
--user2 info@bid-group74.ru \
|
||||||
|
--password2 'xp7h2vWGkM6Cny2' \
|
||||||
|
--ssl2 \
|
||||||
|
--exclude "&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-" \
|
||||||
|
--exclude "&BCEEPwQwBDw-" \
|
||||||
|
--exclude "Infected Items" \
|
||||||
|
--exclude "&BB0ENQQ2BDUEOwQwBEIENQQ7BEwEPQQwBE8- &BD8EPgRHBEIEMA-" \
|
||||||
|
--exclude "&BCcENQRABD0EPgQyBDgEOgQ4-" \
|
||||||
|
--exclude "Archive" \
|
||||||
|
--exclude "Junk" \
|
||||||
|
--syncinternaldates \
|
||||||
|
--useuid \
|
||||||
|
--search "ALL"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
тест папок через ssl
|
||||||
|
|
||||||
|
```bash
|
||||||
|
openssl s_client -connect imap.mail.com:993 -crlf -quiet
|
||||||
|
|
||||||
|
a LOGIN trest_zhanna@mail.ru 0SLrC2Re6DbRxNgELzeI
|
||||||
|
b LIST "" "*"
|
||||||
|
c LOGOUT
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Отправленные gmail
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./imapsync \
|
||||||
|
--host1 imap.gmail.com \
|
||||||
|
--port1 993 \
|
||||||
|
--ssl1 \
|
||||||
|
--user1 uralavtostroymiass@gmail.com \
|
||||||
|
--password1 'impj rmyc ecwl cqeq' \
|
||||||
|
--host2 localhost \
|
||||||
|
--user2 sales@1-agent.ru \
|
||||||
|
--password2 'sinkhrotsiklOtron6107' \
|
||||||
|
--ssl2 \
|
||||||
|
--gmail1 \
|
||||||
|
--folder "[Gmail]/&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-" \
|
||||||
|
--regextrans2 "s/\[Gmail\]\/&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-/Sent/" \
|
||||||
|
--syncinternaldates \
|
||||||
|
--useuid
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Отправленные mail
|
||||||
|
```bash
|
||||||
|
./imapsync \
|
||||||
|
--host1 imap.mail.ru \
|
||||||
|
--user1 bid.group@mail.ru \
|
||||||
|
--password1 'YvabfX1ZfXeZfcmeKhPT' \
|
||||||
|
--ssl1 \
|
||||||
|
--host2 localhost \
|
||||||
|
--user2 info@bid-group74.ru \
|
||||||
|
--password2 'xp7h2vWGkM6Cny2' \
|
||||||
|
--ssl2 \
|
||||||
|
--folder "&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-" \
|
||||||
|
--regextrans2 "s/&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-/Sent/" \
|
||||||
|
--syncinternaldates \
|
||||||
|
--useuid
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
uas-chel@mail.ru
|
||||||
|
ZCgyiYVlMRPYRDfaZj31
|
||||||
|
|
||||||
|
info@uralav.ru
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
bid.group@mail.ru
|
||||||
|
info@bid-group74.ru
|
||||||
|
YvabfX1ZfXeZfcmeKhPT
|
||||||
|
```
|
||||||
18
WORK & PROJECTS/UAS/Plan.md
Normal file
18
WORK & PROJECTS/UAS/Plan.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
- mail server
|
||||||
|
- счёт
|
||||||
|
- полная настройка
|
||||||
|
- почистить хостинг
|
||||||
|
- определить возможность интеграции файлового хранилища и документов в АСПРО + нужность ухода от гугл-таблиц
|
||||||
|
- перенос номеров ВАТС Ростелекома на другого провайдера и интеграция с АСПРО
|
||||||
|
- управление контентом передаём Саше
|
||||||
|
- разобраться с доменами и полностью с контентом (ждём бриф)
|
||||||
|
- интеграция с profitbase
|
||||||
|
- протестировать nextcloud
|
||||||
|
|
||||||
|
02.02 — 06.02
|
||||||
|
- БП работы с претензиями в Аспро
|
||||||
|
- почтовый сервер
|
||||||
|
- Узнать про корпоративные телефоны
|
||||||
|
- добавить камеру ezviz в приложение
|
||||||
|
- Сформировать ТЗ для сайтов на основе брифа Мадины
|
||||||
|
-
|
||||||
61
WORK & PROJECTS/UAS/Servers access.md
Normal file
61
WORK & PROJECTS/UAS/Servers access.md
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
|
||||||
|
# **62.109.11.45**
|
||||||
|
|
||||||
|
#### root
|
||||||
|
HQZr7Lr7ebS8YV00HyQv+
|
||||||
|
|
||||||
|
#### uasadmin
|
||||||
|
f,hfrflf,hf8
|
||||||
|
|
||||||
|
|
||||||
|
### **mysql**
|
||||||
|
#### root
|
||||||
|
Vw5hQ330KxObJBW
|
||||||
|
#### ncuser
|
||||||
|
7WQUJHV9kBr7kUO
|
||||||
|
nextcloud_db
|
||||||
|
|
||||||
|
#### mailuser
|
||||||
|
eVtwV69blrVXcho
|
||||||
|
|
||||||
|
### postgres
|
||||||
|
onlyoffice
|
||||||
|
MTV8LgdnUtZ1B79
|
||||||
|
|
||||||
|
### NextCloud
|
||||||
|
admin
|
||||||
|
LPNCM3SEdwnVj8c
|
||||||
|
|
||||||
|
### postfixadmin
|
||||||
|
#### setup password
|
||||||
|
9q8Vteep4DKLk9MloDZsiUndEuGg4yJ
|
||||||
|
|
||||||
|
https://mailadmin.1-agent.ru/
|
||||||
|
`admin@1-agent.ru`
|
||||||
|
aH8thcQ5gOJ99bzNGN3h
|
||||||
|
|
||||||
|
notify@1-agent.ru
|
||||||
|
neVospolnimost9901
|
||||||
|
|
||||||
|
YWRtaW5AMS1hZ2VudC5ydQ==
|
||||||
|
YUg4dGhjUTVnT0o5OWJ6TkdOM2g=
|
||||||
|
|
||||||
|
RCPT TO: <s0nic000@yandex.ru>
|
||||||
|
|
||||||
|
`AUTH PLAIN XDBhZG1pbkAxLWFnZW50LnJ1XDBhSDh0aGNRNWdPSjk5YnpOR04zaA==`
|
||||||
|
|
||||||
|
aH8thcQ5gOJ99bzNGN3h
|
||||||
|
|
||||||
|
|
||||||
|
swaks --to test-fsp4ilqyd@srv1.mail-tester.com \
|
||||||
|
--from admin@1-agent.ru \
|
||||||
|
--server mail.1-agent.ru \
|
||||||
|
--port 587 \
|
||||||
|
--tls \
|
||||||
|
--auth LOGIN \
|
||||||
|
--auth-user admin@1-agent.ru \
|
||||||
|
--auth-password "aH8thcQ5gOJ99bzNGN3h"
|
||||||
|
|
||||||
|
|
||||||
|
v.vedernikova@1-agent.ru
|
||||||
|
hCM6CVqSV0D1xVr7vDXY
|
||||||
18
WORK & PROJECTS/UAS/Untitled.canvas
Normal file
18
WORK & PROJECTS/UAS/Untitled.canvas
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"nodes":[
|
||||||
|
{"id":"720a8218c07a3e1d","type":"group","x":-640,"y":-760,"width":280,"height":190,"label":"Свободные домены"},
|
||||||
|
{"id":"b8bdf8a176ef28af","type":"text","text":"BID GROUP (Строит в Миассе) + перенаправление на сайт агентства и виджет\nbid-group74.ru","x":200,"y":-940,"width":400,"height":94,"color":"4"},
|
||||||
|
{"id":"904d9482cef0e037","type":"text","text":"Агентство (Уралавтострой и БИД) + виджет выбора квартир\nuralav.ru\n","x":-250,"y":-940,"width":380,"height":94,"color":"3"},
|
||||||
|
{"id":"de65ae8c19a7114f","type":"text","text":"Уралавтострой + перенаправление на сайт агентства и виджет\n????.ru","x":-680,"y":-940,"width":360,"height":94,"color":"1"},
|
||||||
|
{"id":"7a754acef3d80d6c","x":-185,"y":-760,"width":250,"height":60,"type":"text","text":"виджет выбора квартир ProfitBase"},
|
||||||
|
{"id":"99bc662973f79d25","type":"text","text":"трестуас.рф","x":-620,"y":-740,"width":240,"height":50,"color":"5"},
|
||||||
|
{"id":"401c41c7a7279d55","type":"text","text":"uralavtostroy.ru","x":-620,"y":-690,"width":240,"height":50,"color":"5"},
|
||||||
|
{"id":"5234020b450df41f","type":"text","text":"uas-chel74.ru","x":-620,"y":-640,"width":240,"height":50,"color":"5"}
|
||||||
|
],
|
||||||
|
"edges":[
|
||||||
|
{"id":"8494f027b21789c9","fromNode":"de65ae8c19a7114f","fromSide":"right","toNode":"904d9482cef0e037","toSide":"left"},
|
||||||
|
{"id":"0d25895daa32324c","fromNode":"b8bdf8a176ef28af","fromSide":"left","toNode":"904d9482cef0e037","toSide":"right"},
|
||||||
|
{"id":"2851fdbb7c7d4f06","fromNode":"904d9482cef0e037","fromSide":"bottom","toNode":"7a754acef3d80d6c","toSide":"top"},
|
||||||
|
{"id":"9022b3f46d9e264a","fromNode":"720a8218c07a3e1d","fromSide":"top","toNode":"de65ae8c19a7114f","toSide":"bottom"}
|
||||||
|
]
|
||||||
|
}
|
||||||
Binary file not shown.
29
Без названия.md
Normal file
29
Без названия.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant Encoder
|
||||||
|
participant File as "RLE File"
|
||||||
|
participant Decoder
|
||||||
|
Encoder->>File: write header (Type, Mode, ID, Size)
|
||||||
|
Encoder->>File: emit literal packet (count-1 + literals)
|
||||||
|
Encoder->>File: emit run packet (0x7D + N, byte or offset)
|
||||||
|
Encoder->>File: emit backref packet (0x7E + len, distance-1)
|
||||||
|
File->>Decoder: provide packet stream
|
||||||
|
Decoder->>Decoder: if control < 0x80 → copy (control+1) literals
|
||||||
|
Decoder->>Decoder: else → read param; if run → repeat byte; if backref → copy from output buffer
|
||||||
|
Decoder-->>File: produce decompressed bytes (output)
|
||||||
|
```
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
participant Encoder
|
||||||
|
participant File as "RLE File"
|
||||||
|
participant Decoder
|
||||||
|
Encoder->>File: write header (Type, Mode, ID, Size)
|
||||||
|
Encoder->>File: emit literal packet (count-1 + literals)
|
||||||
|
Encoder->>File: emit run packet (0x7D + N, byte or offset)
|
||||||
|
Encoder->>File: emit backref packet (0x7E + len, distance-1)
|
||||||
|
File->>Decoder: provide packet stream
|
||||||
|
Decoder->>Decoder: if control < 0x80 → copy (control+1) literals
|
||||||
|
Decoder->>Decoder: else → read param; if run → repeat byte; if backref → copy from output buffer
|
||||||
|
Decoder-->>File: produce decompressed bytes (output)
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user