diff --git a/.drone.yml b/.drone.yml
index 88835409..3783de76 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -17,7 +17,7 @@ steps:
- name: build site
# https://hub.docker.com/r/library/docker
pull: always
- image: docker.struchkov.dev/quartz:develop
+ image: docker.struchkov.dev/quartz:v.4.4.7
environment:
GITHUB_SSH:
from_secret: GITHUB_SSH
@@ -66,6 +66,6 @@ steps:
# drone sign --save upagge/digital-garden
---
kind: signature
-hmac: 136d4effa27f318fb6ff0cf16bc1bf7b20b428610832f7bdd8224c164a804e69
+hmac: fd5326b43706588aa4b35e24e551954df3dba6fc88e94c462ab91b9384ba0d6d
...
diff --git a/dev/Mapped Diagnostic Context.md b/dev/Mapped Diagnostic Context.md
new file mode 100644
index 00000000..e029a9a6
--- /dev/null
+++ b/dev/Mapped Diagnostic Context.md
@@ -0,0 +1,39 @@
+---
+aliases:
+ - MDC
+tags:
+ - maturity/π±
+date: 2025-02-24
+---
+MDC β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ
, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ThreadLocal, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ Π½Π°Π±ΠΎΡ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ [[fundamental/ΠΠΎΡΠΎΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΠ‘|ΠΏΠΎΡΠΎΠΊΡ]] Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² Π·Π°ΠΏΠΈΡΠΈ Π»ΠΎΠ³Π°.
+
+ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ MDC ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π»ΠΎΠ³ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΡΠΎΡΠ°, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈ. ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΠΎΡΡΠ»Π΅Π΄ΠΈΡΡ ΡΠ΅ΠΏΠΎΡΠΊΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΎΡΠ½ΠΎΡΡΡΠΈΡ
ΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠΈΠΈ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ ΠΈ Π°Π½Π°Π»ΠΈΠ· ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
+
+**ΠΠ°ΡΠ΅ΠΌ Π½ΡΠΆΠ΅Π½ MDC**
+- **Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°:** ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ MDC Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ Π»ΠΎΠ³Π° ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, request ID, user ID). ΠΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π±ΡΡΡΡΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΈ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ.
+- **ΠΠ½Π°Π»ΠΈΠ· Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
:** Π [[../../../wiki/zero/00 ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°|ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°Ρ
]] Π·Π°ΠΏΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ MDC ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ.
+- **Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΠΈΡΠΊ Π»ΠΎΠ³ΠΎΠ²:** Π‘ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠΌΠΈ Π»ΠΎΠ³ΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΈ ΠΈΡΠΊΠ°ΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ Π·Π½Π°ΡΠΈΠΌΡΠΌ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ, ΡΡΠΊΠΎΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠΎΠ².
+
+**ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ MDC**
+- **ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°:** Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²ΡΠΎΠ΄Π΅ `MDC.put(key, value)` ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ Π»ΠΎΠ³Π°, Π΅ΡΠ»ΠΈ Π»ΠΎΠ³Π³Π΅Ρ Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° ΠΈΡ
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
+- **ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°:** ΠΠ΅ΡΠΎΠ΄Ρ `MDC.get(key)` ΠΈ `MDC.remove(key)` ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π²Π°ΠΆΠ½ΠΎ Π΄Π»Ρ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΡ ΡΡΠ΅ΡΠ΅ΠΊ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ².
+- **ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π»ΠΎΠ³Π³Π΅ΡΠ°ΠΌΠΈ:** ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π»ΠΎΠ³ΠΈΡΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Logback, Log4j ΠΈΠ»ΠΈ SLF4J, ΠΈΠΌΠ΅ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ MDC. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°Ρ Π»ΠΎΠ³ΠΎΠ² ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°Π» ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· MDC.
+
+**ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π½ΡΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ**
+- **ΠΡΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΏΠΎΡΠΎΠΊΡ:** ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ MDC ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅ΡΠ΅Π· ThreadLocal, Π΅Π³ΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Ρ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ. Π Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, Π³Π΄Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ MDC ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ.
+ - [[java/quarkus/ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Quarkus|ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Quarkus]]
+- **Π ΡΡΠ½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅:** Π§ΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΈ ΡΡΠ΅ΡΠ΅ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΈΡΠ°ΡΡ MDC ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ `try-finally`.
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../meta/zero/00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-24]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/NanoId.md b/dev/NanoId.md
new file mode 100644
index 00000000..f8630919
--- /dev/null
+++ b/dev/NanoId.md
@@ -0,0 +1,32 @@
+---
+aliases:
+tags:
+ - maturity/π±
+date: 2024-10-30
+---
+NanoID β ΡΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
[[ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ|ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²]], ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΊΠ°ΠΊ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° [[Universal Unique IDentifier|UUID]]. ΠΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡΡ, Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠΎΠΉΠΊΠΎΡΡΡΡ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ NanoID, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π°Π»ΡΠ°Π²ΠΈΡ ΠΈΠ· Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅.
+
+**ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ NanoID**
+- ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ NanoID Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄Π»ΠΈΠ½ΠΎΠΉ 21 ΡΠΈΠΌΠ²ΠΎΠ», ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ
ΠΊΠΎΡΠΎΡΠ΅ UUID (36 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²) ΠΏΡΠΈ ΡΡ
ΠΎΠΆΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ.
+- ΠΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ NanoID ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ UUID, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ
Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
+- ΠΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠΎΠΉΠΊΠΎΡΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π΄ΡΡΠ³ΠΈΡ
Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², NanoID ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π», ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌ Π΄Π»Ρ Π·Π°Π΄Π°Ρ, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΠΈ.
+- ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π°Π»ΡΠ°Π²ΠΈΡ ΠΈ Π΄Π»ΠΈΠ½Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
+
+NanoID ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π΄Π»Ρ:
+- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² Π² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
ΠΈ API.
+- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΠΌΠΈ, Π½ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ.
+- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡ.
+- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ².
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../meta/zero/00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2024-10-30]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+- ΠΠΎΡΡ Π΄Π»Ρ Java [GitHub - aventrix/jnanoid: A unique string ID generator for Java.](https://github.com/aventrix/jnanoid)
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/Time-Sorted Identifier.md b/dev/Time-Sorted Identifier.md
new file mode 100644
index 00000000..73d09f4f
--- /dev/null
+++ b/dev/Time-Sorted Identifier.md
@@ -0,0 +1,31 @@
+---
+aliases:
+ - TSID
+tags:
+ - maturity/π±
+date: 2024-10-30
+---
+TSID (Time-Sorted Identifier) β ΡΡΠΎ ΡΠΈΠΏ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ [[ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ|ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°]], ΠΊΠΎΡΠΎΡΡΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΠ½ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΊΡ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΌΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ Π΄Π»Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ ΠΈ [[../meta/zero/00 HighLoad|Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ]].
+
+**ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ TSID:**
+- Π£Π½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΡ. ΠΠ°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΉ, Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΡΡΠ΅Π΄Π°Ρ
.
+- Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΡΡΡΡΠΊΡΡΡΠ΅ TSID ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π² Ρ
ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠΏΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π»ΠΎΠ³Π°ΠΌΠΈ.
+- ΠΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ [[Universal Unique IDentifier|UUID]], TSID Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΡΡΠΎ ΡΠ½ΠΈΠΆΠ°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈ ΠΊΠ°Π½Π°Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
.
+- ΠΡΡΠΎΠΊΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ TSID ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π±ΡΡΡΡΠΎ ΠΈ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎΡ ΡΠΈΠΏ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ Π΄Π»Ρ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΡ
ΡΠΈΡΡΠ΅ΠΌ.
+
+**ΠΠ»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Ρ TSID:**
+- [[Universal Unique IDentifier|Universal Unique IDentifier]] β ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π½ΠΎ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ.
+- [[NanoId]] β ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΎ Π±Π΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../meta/zero/00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**:: [[ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ]]
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2024-10-30]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+- [The best UUID type for a database Primary Key - Vlad Mihalcea](https://vladmihalcea.com/uuid-database-primary-key/)
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/Universal Unique IDentifier.md b/dev/Universal Unique IDentifier.md
index a4c55ec2..81027c92 100644
--- a/dev/Universal Unique IDentifier.md
+++ b/dev/Universal Unique IDentifier.md
@@ -4,9 +4,6 @@ aliases:
tags:
- maturity/π±
date: 2023-11-12
-zero-link:
-parents:
-linked:
---
**UUID (Universal Unique IDentifier)** β ΡΡΠΎ 128-Π±ΠΈΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ 122 Π±ΠΈΡΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ 6 Π±ΠΈΡ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΎ:
- 4 Π±ΠΈΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΈ UUID;
@@ -135,13 +132,13 @@ UUID V7 ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΏΠΎΠ² Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ,
***
## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
**ΠΠ±Π»Π°ΡΡΡ**:: [[../meta/zero/00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
-**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**:: [[ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ|ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ]]
**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
**ΠΠ²ΡΠΎΡ**::
**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2023-11-12]]
### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
- [ID-Π±Π°ΡΡΠ»: UUID vs Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ / ΠΠ°Π»Π΅Π½ΡΠΈΠ½ Π£Π΄Π°Π»ΡΡΠΎΠ² - YouTube](https://www.youtube.com/watch?v=Xr_SNd9LIng&t=1762s)
- [ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ UUID Π² Java. ΠΡΠ΅ Π²Π΅ΡΡΠΈΠΈ](https://github.com/f4b6a3/uuid-creator)
-- [[../../../_inbox/ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ|ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ]]
+- [[database/other/ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ|ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ]]
### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
diff --git a/dev/database/other/ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ.md b/dev/database/other/ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ.md
new file mode 100644
index 00000000..57c22520
--- /dev/null
+++ b/dev/database/other/ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ.md
@@ -0,0 +1,51 @@
+---
+aliases:
+ - Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ
+ - sequence
+tags:
+ - maturity/π±
+date: 2025-02-18
+---
+ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ β ΡΡΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ [[../../../meta/zero/00 Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
|Π±Π°Π· Π΄Π°Π½Π½ΡΡ
]], ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ.
+
+ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ==ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.== Π ΡΠ°Π·Π½ΡΡ
Π‘Π£ΠΠ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π·:
+- **Sequences** (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `CREATE SEQUENCE` Π² PostgreSQL, Oracle);
+- **Auto-increment fields** (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `AUTO_INCREMENT` Π² MySQL, `IDENTITY` Π² SQL Server);
+- **Π’Π°Π±Π»ΠΈΡΡ-ΡΡΠ΅ΡΡΠΈΠΊΠΈ** (ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ±, Π΅ΡΠ»ΠΈ Π‘Π£ΠΠ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π½Π°ΠΏΡΡΠΌΡΡ).
+
+ΠΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ ΠΠ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ.
+
+**ΠΠ»ΡΡΡ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°**
+- **Π‘ΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΡ**. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π·Π°ΠΏΠΈΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ.
+- **ΠΠ΅Π³ΠΊΠΎ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΠΈ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡΠΉ**. Π§ΠΈΡΠ»ΠΎΠ²ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ, ΡΠ΅ΠΌ Π΄Π»ΠΈΠ½Π½ΡΠ΅ [[../../Universal Unique IDentifier|UUID]].
+- **ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ²**. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»ΡΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π±ΡΡΡΡΠ΅Π΅ Π² [[../ΠΠ½Π΄Π΅ΠΊΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
|ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ
]], ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½ΠΎΠ²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΠΊΠΎΠ½Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°, Π° Π½Π΅ Π² ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ (Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ [[../../fundamental/structure/B-tree|B-Π΄Π΅ΡΠ΅Π²ΡΠ΅Π²]]).
+- **ΠΡΠΎΡΠ΅ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ**. Π Π»ΠΎΠ³Π°Ρ
Π»Π΅Π³ΡΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΈΡ
ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ.
+
+**ΠΠΈΠ½ΡΡΡ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°**
+- **ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ**. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌ ΠΎΡΠ΅Π½ΠΈΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΊΠ°Π·ΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅.
+- **ΠΠ΅Π³ΠΊΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° Π·Π°ΠΏΠΈΡΠ΅ΠΉ**. ΠΠ½Π°Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½Π΅ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
+- **ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ**. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ
Π΅ΡΡΡ Π³ΡΠ°Π½ΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `BIGINT` Π² PostgreSQL ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ `9,223,372,036,854,775,807` Π·Π°ΠΏΠΈΡΠ΅ΠΉ).
+- **ΠΠ΅ Ρ
ΡΠ°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ**. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ UUID, Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡ
ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π».
+
+ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΡΡΠ»ΠΎΠΆΠ½ΠΈΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ ID, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ:
+- [[../../Universal Unique IDentifier|UUID]]. ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΡΡΠΈ, Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ².
+- **Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠ΅ ID**. ΠΠΌΠ΅ΡΡΠΎ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠ΅ ΡΠΈΡΠ»Π°.
+- **ΠΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ID**. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· Ρ
Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (`SHA-256`) ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (`Base62`).
+- **Salted-ΠΊΠ»ΡΡΠΈ**. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΡΠΈΠΊΡΠ° ΠΊ ΡΠΈΡΠ»Π°ΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `ORD-1001`).
+### ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ° Π² UUID
+
+
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../../meta/zero/00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**:: [[../../ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ|ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ]]
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-18]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/database/other/ΠΠΈΠ³ΡΠ°ΡΠΈΡ Ρ UUID Π½Π° Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ.md b/dev/database/other/ΠΠΈΠ³ΡΠ°ΡΠΈΡ Ρ UUID Π½Π° Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ.md
new file mode 100644
index 00000000..ea0db46e
--- /dev/null
+++ b/dev/database/other/ΠΠΈΠ³ΡΠ°ΡΠΈΡ Ρ UUID Π½Π° Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ.md
@@ -0,0 +1,108 @@
+---
+aliases:
+tags:
+ - maturity/π±
+date: 2025-02-18
+---
+Π ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ [[../../Universal Unique IDentifier|UUID]] Π½Π° [[ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ]]
+
+ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΈ Π°Π½Π°Π»ΠΈΠ· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ
+- ΠΠ΅Ρ Π»ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ
ΡΠ°Π±Π»ΠΈΡΠ°Ρ
Π²Π½Π΅ΡΠ½ΠΈΡ
ΠΊΠ»ΡΡΠ΅ΠΉ (FK), ΡΡΡΠ»Π°ΡΡΠΈΡ
ΡΡ Π½Π° ΡΡΠ°ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ UUID.
+- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, API, ΡΠΊΡΠΈΠΏΡΡ: Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π»ΠΈ ΠΎΠ½ΠΈ ΡΠ²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ°ΡΡΠΉ ΡΠΈΠΏ ΠΊΠ»ΡΡΠ° ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°Ρ.
+
+Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ°
+- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ Ρ ΡΠΈΠΏΠΎΠΌ `BIGINT` (ΠΈΠ»ΠΈ `BIGSERIAL`, Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ PostgreSQL).
+- ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ:
+
+```sql
+CREATE SEQUENCE your_table_id_seq;
+```
+
+ΠΠ°Π·Π½Π°ΡΡΡΠ΅ ΡΡΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ `DEFAULT`, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π²ΡΡΠ°Π²ΠΊΠ΅ Π½ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ:
+
+```sql
+ALTER TABLE your_table
+ ALTER COLUMN temp_id SET DEFAULT nextval('your_table_id_seq');
+```
+
+Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ `NOT NULL` (Π΅ΡΠ»ΠΈ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ Π² Π½Π΅ΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ²):
+
+```sql
+ALTER TABLE your_table
+ ALTER COLUMN temp_id SET NOT NULL;
+```
+
+ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ (Π±ΡΠΊΡΠΈΠ»). ΠΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΡΡΠΎΠ±Ρ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
+```sql
+UPDATE your_table
+ SET temp_id = nextval('your_table_id_seq');
+```
+
+> [!WARNING]
+> ΠΡΠ»ΠΈ Π²Π°ΠΆΠ΅Π½ ΠΏΠΎΡΡΠ΄ΠΎΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎ Π΄Π°ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ.
+
+ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ
+- Π£Π΄Π°Π»ΠΈΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠ»ΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ Π½Π° ΡΡΠ°ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ-ΠΊΠ»ΡΡ.
+- Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΡΠ°ΡΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ:
+
+```sql
+ALTER TABLE your_table DROP COLUMN old_uuid_column;
+```
+ΠΈΠ»ΠΈ:
+```sql
+ALTER TABLE your_table RENAME COLUMN old_uuid_column TO uuid_backup;
+```
+
+ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ `temp_id` Π² `id`:
+```sql
+ALTER TABLE your_table
+ RENAME COLUMN temp_id TO id;
+```
+
+ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ:
+```sql
+ALTER TABLE your_table
+ ADD CONSTRAINT your_table_pkey PRIMARY KEY (id);
+```
+
+- ΠΡΠ»ΠΈ Π±ΡΠ»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΡΠ°ΡΡΠΉ UUID, ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΡ
ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅, ΡΡΡΠ»Π°ΡΡΠΈΠ΅ΡΡ Π½Π° Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ.
+- ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: ΡΠ°ΠΌ, Π³Π΄Π΅ ΡΠ°Π½ΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°Π»ΡΡ UUID, ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ»ΠΎ. ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠΉΡΠ΅ ΡΡ
Π΅ΠΌΡ, DTO, ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ Ρ. ΠΏ.
+### ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ Liquibase
+ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Ρ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΎΠΌ
+```xml
+
+
+
+
+
+```
+
+ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ
+```xml
+
+ UPDATE your_table SET temp_id = nextval('your_table_id_seq');
+
+```
+
+Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΎΠ³ΠΎ UUID ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°
+```xml
+
+
+
+
+
+
+```
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../../meta/zero/00 Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
|00 Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-18]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/database/ΠΠ½Π΄Π΅ΠΊΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.md b/dev/database/ΠΠ½Π΄Π΅ΠΊΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.md
index 02c92c74..03cb9b06 100644
--- a/dev/database/ΠΠ½Π΄Π΅ΠΊΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.md
+++ b/dev/database/ΠΠ½Π΄Π΅ΠΊΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.md
@@ -5,6 +5,7 @@ aliases:
- ΠΈΠ½Π΄Π΅ΠΊΡΡ
- ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- ΠΈΠ½Π΄Π΅ΠΊΡΠ°
+ - ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ
tags:
- maturity/π±
date: 2024-10-11
diff --git a/dev/devops/other/ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π² Gitea.md b/dev/devops/other/ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π² Gitea.md
new file mode 100644
index 00000000..c366316d
--- /dev/null
+++ b/dev/devops/other/ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π² Gitea.md
@@ -0,0 +1,27 @@
+---
+aliases:
+ - ΡΠ°ΠΌΠΎΠ΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ Gitea
+tags:
+ - maturity/π±
+date: 2025-02-05
+---
+```shell
+gitea doctor check
+```
+
+```shell
+docker exec -it gitea su git -c "gitea doctor check"
+```
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../../meta/zero/00 Gitea|00 Gitea]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-05]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/devops/other/ΠΡΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Gitea.md b/dev/devops/other/ΠΡΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Gitea.md
new file mode 100644
index 00000000..3d199fd9
--- /dev/null
+++ b/dev/devops/other/ΠΡΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Gitea.md
@@ -0,0 +1,80 @@
+---
+aliases:
+tags:
+ - maturity/π±
+ - content/problem
+date: 2025-02-04
+---
+Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΌΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ (ΠΡΠΎΡΠ΅ΡΡΠΎΡ:Β 2 coreΒ ΠΠ°ΠΌΡΡΡ:Β 4 GbΒ Β Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅:Β 60 Gb) Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠ΅Π½Π° Gitea ΡΡΠ°Π» ΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ².
+
+```
+top -o %CPU -b -n 1 | head -20
+```
+
+CΡΠ΄Ρ ΠΏΠΎ top, ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Π΅ΠΌ CPU ΡΠ²Π»ΡΠ΅ΡΡΡ Gitea, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 22,7% CPU ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ 61,6% ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π’Π°ΠΊΠΆΠ΅ ΡΠ²ΠΈΠ΄Π΅Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² git, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Ρ Gitea Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΠΈ ΠΎΠ½ΠΈ ΡΠΎΠΆΠ΅ Π½Π°Π³ΡΡΠΆΠ°ΡΡ CPU.
+
+Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» Π»ΠΎΠ³ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°
+
+```
+docker logs --tail 50 gitea
+```
+
+ΠΠΎ Π»ΠΎΠ³Π°ΠΌ ΡΠ²ΠΈΠ΄Π΅Π», ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ **ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² (slow GET)**, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ:
+1. ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² ΠΈ blame (ΠΈΡΡΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²)
+2. ΠΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΡ
+3. Π Π°Π±ΠΎΡΠΎΠΉ Ρ RSS ΠΈ raw-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
+4. ΠΠ°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π° ΠΏΠΎΠΈΡΠΊ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
+
+ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ 404-ΠΎΡΠΈΠ±ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° ΡΠ°ΡΡΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ.
+
+ΠΠ°Π»Π΅Π΅ Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΠ» Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Gitea
+
+```
+docker exec -it gitea top -b -n 1
+```
+
+Gitea Π°ΠΊΡΠΈΠ²Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Git, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ read-tree, rev-list, cat-file, check-attr ΠΈ batch-check. ΠΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Gitea Π»ΠΈΠ±ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ, Π»ΠΈΠ±ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌ:
+- read-tree β Π§ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
+- log -1 β ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π΄Π»Ρ ΡΠ°ΠΉΠ»Π°.
+- cat-file --batch β ΠΠΎΡΡΡΠΏ ΠΊ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»ΠΎΠ².
+
+ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ:
+1. [[Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Gitea|Π€ΠΎΠ½ΠΎΠ²ΡΠΌΠΈ Π·Π°Π΄Π°ΡΠΈ Gitea]].
+2. **ΠΠ°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ** β Π΅ΡΠ»ΠΈ ΠΊΡΠΎ-ΡΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Gitea ΡΠ΅ΡΠ΅Π· UI. ΠΠΎ Ρ ΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Git Ρ
ΠΎΡΡΠΈΠ½Π³, Π½ΠΈΠΊΡΠΎ ΠΊΡΠΎΠΌΠ΅ ΠΌΠ΅Π½Ρ ΠΈΠΌ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ.
+3. **ΠΠ°ΠΏΡΠΎΡΡ ΠΎΡ Π±ΠΎΡΠΎΠ²** - ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠ°ΡΡΠ΅ΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Gitea Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ.
+4. **Webhooks ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠΌΠΈ** β Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ΅ΡΠ²ΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ Gitea. ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»Π° ΡΠΎΠ»ΡΠΊΠΎ Ρ Drone CI, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ΄ Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΊΡΡ Π½Π°Π³ΡΡΠ·ΠΊΡ.
+
+
+
+ΠΠ΅ΡΠ΅Π΄ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠΈΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌ, Ρ ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ²Π΅ΡΡΠΈ [[ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π² Gitea|ΡΠ°ΠΌΠΎΠ΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ Gitea]]. ΠΠΎ Π²ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π±ΡΠ»ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΠΉΠ΄Π΅Π½Ρ.
+## ΠΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ
Π·Π°Π΄Π°Ρ
+Π― ΡΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² [[Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Gitea|ΡΠΎΠ½ΠΎΠ²ΡΡ
Π·Π°Π΄Π°ΡΠ°Ρ
Gitea]]. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, ΡΡΠΎ Ρ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² Π·Π΅ΡΠΊΠ°Π», ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ³ΠΈΠ²Π°Π»ΠΈΡΡ Ρ GitHub. Π’Π°ΠΊ ΡΡΠΎ ΠΌΠΎΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³: ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² Gitea. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠΌ, ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠ°Π½Π΅Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² UI.
+
+```
+curl -X GET "http://localhost:3000/api/v1/admin/cron" -H "Authorization: token YOUR_ACCESS_TOKEN"
+```
+
+ΠΠ°Π»Π΅Π΅ Ρ ΠΎΡΠΊΠ»ΡΡΠΈΠ» ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ΅ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΡΡΠ°Π²ΠΈΠ» ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΠ΅. Π Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ.
+
+ΠΠ΄Π½Π°ΠΊΠΎ ΡΠΏΡΡΡΡ ΡΠ°Ρ Gitea ΡΠ½ΠΎΠ²Π° ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ»Π° CPU (41,2%) ΠΈ ΠΏΠ°ΠΌΡΡΡ (13,7%). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ½ΠΎΠ²Π° Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½ ΠΏΡΠΎΡΠ΅ΡΡ git (17,6% CPU), ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Gitea Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡΠΌΠΈ. Π₯ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² ΡΡΠΎ Π²ΡΠ΅ΠΌΡ Π½Π΅ Π±ΡΠ»ΠΎ.
+## ΠΠ°ΠΏΡΠΎΡΡ ΠΎΡ Π±ΠΎΡΠΎΠ²
+ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ» ΡΡΠΎ ΠΌΠΎΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ Git Ρ
ΠΎΡΡΠΈΠ½Π³, ΡΠ°ΠΊ ΡΡΠΎ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ. ΠΠΎ ΠΎΠ½ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ, ΠΈ Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ», ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΏΠ°ΡΡΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ»ΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ°.
+
+Π― ΡΠ΅ΡΠΈΠ» ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΡ Π³ΠΈΠΏΠΎΡΠ΅Π·Ρ.
+
+
+
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../../meta/zero/00 Gitea|00 Gitea]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-04]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/devops/other/ΠΡΠΎΠ²Π΅ΡΠΊΠ° get Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Gitea.md b/dev/devops/other/ΠΡΠΎΠ²Π΅ΡΠΊΠ° get Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Gitea.md
new file mode 100644
index 00000000..cb7cb39c
--- /dev/null
+++ b/dev/devops/other/ΠΡΠΎΠ²Π΅ΡΠΊΠ° get Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Gitea.md
@@ -0,0 +1,68 @@
+---
+aliases:
+tags:
+ - maturity/π±
+date: 2025-02-05
+---
+ΠΡΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² Gitea ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΡΡ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ 8 ΡΠ°ΡΠΎΠ².
+
+```shell
+docker logs gitea --since "8h" | grep "router: completed GET" | awk '{print $NF}' | sort | uniq -c | sort -nr | head -20
+```
+
+ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°:
+```
+grep: (ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄): Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ
+ 6933 repo/view_home.go:314(repo.Home)
+ 1332 repo/commit.go:44(repo.RefCommits)
+ 860 :1(WebNotFound)
+ 824 repo/download.go:111(repo.SingleDownload)
+ 805 repo/blame.go:42(repo.RefBlame)
+ 531 context/repo.go:401(context.RepoAssignment)
+ 88 repo/issue_list.go:750(repo.Issues)
+ 56 repo/commit.go:279(repo.Diff)
+ 23 repo/commit.go:410(repo.RawDiff)
+ 21 auth/auth.go:179(auth.SignIn)
+ 9 repo/download.go:123(repo.SingleDownloadOrLFS)
+ 9 feed/render.go:11(feed.RenderBranchFeed)
+ 7 repo/milestone.go:244(repo.MilestoneIssuesAndPulls)
+ 6 misc/misc.go:36(misc.RobotsTxt)
+ 5 repo/find.go:19(repo.FindFiles)
+ 4 repo/compare.go:708(repo.CompareDiff)
+ 3 repo/milestone.go:34(repo.Milestones)
+ 1 web/goget.go:20(web.goGet)
+ 1 repo/treelist.go:17(repo.TreeList)
+ 1 repo/repo.go:469(repo.Download)
+```
+
+- **repo/view_home.go:314(repo.Home) β 6933 Π·Π°ΠΏΡΠΎΡΠΎΠ²**
+ - ΠΠ»Π°Π²Π½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΠΎΠ±Π·ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ², README).
+ - ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ ΡΠ°ΡΡΡΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈΠ»ΠΈ Π±ΠΎΡΠ°ΠΌΠΈ.
+- **repo/commit.go:44(repo.RefCommits) β 1332 Π·Π°ΠΏΡΠΎΡΠΎΠ²**
+ - ΠΡΠΎΡΠΌΠΎΡΡ ΡΠΏΠΈΡΠΊΠ° ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ² Π² ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
+ - ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ°ΠΌΠΈ.
+- **\:1(WebNotFound) β 860 ΠΎΡΠΈΠ±ΠΎΠΊ 404**
+ - ΠΡΠΎ-ΡΠΎ (ΠΈΠ»ΠΈ ΡΡΠΎ-ΡΠΎ) Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ.
+ - ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ:
+ - ΠΠΎΡΡ, ΡΠΊΠ°Π½ΠΈΡΡΡΡΠΈΠ΅ ΡΠ°ΠΉΡ (ΠΏΠΎΠΈΡΠΊ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ).
+ - ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ ΠΏΠΎ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ.
+ - ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ°ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΌΠ°Π½Π½ΡΠ΅ URL).
+- **repo/download.go:111(repo.SingleDownload) β 824 Π·Π°ΠΏΡΠΎΡΠΎΠ²**
+ - ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
+ - ΠΡΠ»ΠΈ ΡΡΠΎ **LFS-ΡΠ°ΠΉΠ»Ρ**, ΡΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ **ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ**, ΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° CPU ΠΈ ΡΠ΅ΡΡ.
+- **repo/blame.go:42(repo.RefBlame) β 805 Π·Π°ΠΏΡΠΎΡΠΎΠ²**
+ - ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΉΠ»Π΅ (git blame).
+ - ΠΡΠ΅Π½Ρ ΡΡΠΆΡΠ»Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**::
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-05]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/devops/other/Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Gitea.md b/dev/devops/other/Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Gitea.md
new file mode 100644
index 00000000..c2d14de6
--- /dev/null
+++ b/dev/devops/other/Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Gitea.md
@@ -0,0 +1,90 @@
+---
+aliases:
+tags:
+ - maturity/π±
+date: 2025-02-04
+---
+ΠΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
Π·Π°Π΄Π°Ρ (cron-Π·Π°Π΄Π°Ρ), ΠΊΠΎΡΠΎΡΡΠ΅ Gitea Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ:
+### ΠΠ°Π΄Π°ΡΠ° `start_schedule_tasks`
+ΠΠ°Π΄Π°ΡΠ° `start_schedule_tasks` Π² Gitea ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° **Π·Π°ΠΏΡΡΠΊ Π²ΡΠ΅Ρ
Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΠΎΠ½ΠΎΠ²ΡΡ
Π·Π°Π΄Π°Ρ**, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ½Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ **ΠΊΠ°ΠΆΠ΄ΡΡ ΠΌΠΈΠ½ΡΡΡ**.
+
+### ΠΠ°Π΄Π°ΡΠ° `update_mirrors`
+- ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² Π·Π΅ΡΠΊΠ°Π»Π°Ρ
(mirror repositories) ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΡ
.
+- ΠΡΠ»ΠΈ Ρ ΡΠ΅Π±Ρ Π΅ΡΡΡ Π·Π΅ΡΠΊΠ°Π»Π° ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ.
+### ΠΠ°Π΄Π°ΡΠ° `repo_health_check`
+- ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π° ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΡ).
+- ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎ, ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π½Π΅ Π±ΡΠ΄Π΅Ρ, Π½ΠΎ Π² Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ βΠ±ΠΈΡΡΠ΅β ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ.
+### ΠΠ°Π΄Π°ΡΠ° `check_repo_stats`
+- ΠΠ΅ΡΠ΅ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΊΠΎΠ½ΡΡΠΈΠ±ΡΡΡΠΎΡΠΎΠ².
+### ΠΠ°Π΄Π°ΡΠ° `archive_cleanup`
+- Π£Π΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π°ΡΡ
ΠΈΠ²Ρ (.zip, .tar.gz), ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π².
+- ΠΠ΅Π· ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
+### ΠΠ°Π΄Π°ΡΠ° `deleted_branches_cleanup`
+- Π£Π΄Π°Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π²Π΅ΡΠΊΠ°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ.
+- ΠΠ΅Π· ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
+### ΠΠ°Π΄Π°ΡΠ° `cleanup_packages`
+- ΠΡΠΈΡΠ°Π΅Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠ· Gitea Package Registry.
+- ΠΡΠ»ΠΈ ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡ Gitea Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Docker-ΠΎΠ±ΡΠ°Π·ΠΎΠ², Maven-ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²), ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½Π°Π²ΡΠ΅Π³Π΄Π°.
+
+### ΠΠ°Π΄Π°ΡΠΈ `stop_zombie_tasks` ΠΈ `stop_endless_tasks`
+- ΠΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°Π²ΠΈΡΠ»ΠΈ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ.
+- ΠΡΠ»ΠΈ Π² Gitea Π·Π°Π²ΠΈΡΠ½Π΅Ρ ΠΏΡΠΎΡΠ΅ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Git-ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ), ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ°ΡΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ Π½Π°Π²ΡΠ΅Π³Π΄Π° ΠΈ ΠΆΡΠ°ΡΡ ΡΠ΅ΡΡΡΡΡ.
+### ΠΠ°Π΄Π°ΡΠ° `cleanup_hook_task_table`
+- Π£Π΄Π°Π»ΡΠ΅Ρ ΡΡΠ°ΡΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ
ΡΠΎΠ±ΡΡΠΈΡΡ
.
+- ΠΡΠ»ΠΈ Ρ ΡΠ΅Π±Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈ ΠΈΠ·-Π·Π° Π½Π΅Π½ΡΠΆΠ½ΡΡ
Π»ΠΎΠ³ΠΎΠ².
+### ΠΠ°Π΄Π°ΡΠ° `git_gc_repos`
+- ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ git gc (ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ°) Π΄Π»Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π², ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
ΡΠ°Π·ΠΌΠ΅Ρ.
+- ΠΡΠ»ΠΈ ΡΡ ΡΠ°ΡΡΠΎ ΠΏΡΡΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎ.
+### ΠΠ°Π΄Π°ΡΠ° `gc_lfs`
+- Π£Π΄Π°Π»ΡΠ΅Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈΠ· Git LFS (Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ).
+- ΠΡΠ»ΠΈ Ρ ΡΠ΅Π±Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ Git LFS, ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΡΠ΅ΠΌ Π½ΡΠΆΠ½ΠΎ.
+
+## ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ
+ΠΠ»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ
+
+```shell
+nano /data/gitea/conf/app.ini
+```
+
+```toml
+[cron]
+ENABLED = false
+
+[cron.cleanup_packages]
+ENABLED = true
+SCHEDULE = @midnight
+
+[cron.archive_cleanup]
+ENABLED = true
+SCHEDULE = @midnight
+
+[cron.deleted_branches_cleanup]
+ENABLED = true
+SCHEDULE = @midnight
+
+[cron.cleanup_hook_task_table]
+ENABLED = true
+SCHEDULE = @midnight
+
+[cron.git_gc_repos]
+ENABLED = true
+SCHEDULE = @midnight
+```
+
+```
+docker restart gitea
+```
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../../meta/zero/00 Gitea|00 Gitea]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-04]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².md b/dev/efficiency/ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².md
similarity index 98%
rename from dev/ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².md
rename to dev/efficiency/ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².md
index f9dc03f7..0e792b4c 100644
--- a/dev/ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².md
+++ b/dev/efficiency/ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².md
@@ -1,5 +1,8 @@
---
-aliases:
+aliases:
+ - ΡΠ΅Π½ΠΈΠΎΡ
+ - ΠΌΠΈΠ΄Π»
+ - Π΄ΠΆΡΠ½
tags:
- maturity/π±
date: 2024-10-22
@@ -29,7 +32,7 @@ date: 2024-10-22
Π‘Π°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΈΠ½ΡΠΎΡΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΡΡΠ°ΡΠ΅Π³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΌΠΈΠ΄Π»Π°, ΡΠΈΠ½ΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ
Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ, Π²ΡΠ±ΠΈΡΠ°Ρ Π½Π°ΠΈΠ»ΡΡΡΠΈΠ΅ ΠΏΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ»Ρ Π½Π΅Π³ΠΎ Π²Π°ΠΆΠ΅Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ, ΠΈ ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡ ΠΏΡΡΠΈ Π΅Π³ΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ΅ΡΡΡΡΠΎΠ².
***
## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
-**ΠΠ±Π»Π°ΡΡΡ**:: [[../meta/zero/00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../meta/zero/00 ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2024-10-22]]
diff --git a/dev/efficiency/ΠΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠ΅ΡΠ²ΠΈΡΡ.md b/dev/efficiency/ΠΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠ΅ΡΠ²ΠΈΡΡ.md
new file mode 100644
index 00000000..a77dc725
--- /dev/null
+++ b/dev/efficiency/ΠΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ Π·Π° ΡΠ΅ΡΠ²ΠΈΡΡ.md
@@ -0,0 +1,58 @@
+---
+aliases:
+tags:
+ - maturity/π±
+date: 2025-02-13
+---
+Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅ Π΅ΡΡΡ Π΄Π²Π° ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ
: ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±Π°Π»Π°Π½Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π²Π·Π°ΠΈΠΌΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ
. ==Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² "Π½ΠΈΡΠ΅ΠΉ" ΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π»Π΅Π³Π°ΡΠΈ.==
+
+- **Π‘ΡΠ°ΡΡΠΈΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ** β ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ maintainer-Π°, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ΄-ΡΠ΅Π²ΡΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ [[ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²|ΡΠ΅Π½ΠΈΠΎΡ]] ΠΈΠ»ΠΈ ΠΊΡΠ΅ΠΏΠΊΠΈΠΉ [[ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²|ΠΌΠΈΠ΄Π»]].
+- **ΠΠ»Π°Π΄ΡΠΈΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ** β ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ Π·Π°ΠΌΠ΅Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ [[ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²|Π΄ΠΆΡΠ½]] ΠΈΠ»ΠΈ [[ΠΡΠ΅ΠΉΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²|ΠΌΠΈΠ΄Π»]], ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π±ΠΈΡΠ°Π΅Ρ Π½Π° ΡΠ΅Π±Ρ ΡΡΡΠΈΠ½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΡΠΈΡΡΡ Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ.
+
+**ΠΠ±ΡΠΈΠ΅ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ
:**
+- ΠΠ°ΠΏΠΎΠ»Π½ΡΡΡ [[Π‘hangelog ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²|changelog]] Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅.
+- ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
Π²ΡΡΡΠ΅ΡΠ°Ρ
Π΄Π»Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΏΠ»Π°Π½ΠΎΠ² ΠΏΠΎ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°.
+- Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°.
+
+**ΠΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ:**
+- ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ.
+- ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ΄-ΡΠ΅Π²ΡΡ.
+- ΠΠΎΠ½ΡΡΠ»ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°.
+
+**ΠΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ:**
+- Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΊΠΎΠ΄-ΡΠ΅Π²ΡΡ ΠΌΠ»Π°Π΄ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ.
+- ΠΠ΅ΡΠΆΠΈΡΡ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ Π² ΡΠ΅ΡΠ²ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅Π²ΡΡ
+
+**ΠΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΌΠ»Π°Π΄ΡΠ΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ:**
+- ΠΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ Π² Π΅Π³ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅.
+- ΠΠΎΠΌΠΎΠ³Π°ΡΡ Π² ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄-ΡΠ΅Π²ΡΡ.
+- Π£ΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
+- ΠΠΎΠ½ΡΡΠ»ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ Π²ΠΎΠΏΡΠΎΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°.
+
+**ΠΠΎΠ½ΡΡΠΎΠ»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅**
+- ΠΠ»Π°Π΄ΡΠΈΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π½Π°Π·Π½Π°ΡΠ°Π΅Ρ Π½Π° ΡΠ΅Π²ΡΡ ΡΡΠ°ΡΡΠ΅Π³ΠΎ, ΡΡΠ°ΡΡΠΈΠΉ β ΠΌΠ»Π°Π΄ΡΠ΅Π³ΠΎ.
+- ΠΡΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π½Π΅ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ Π·Π° ΡΠ΅ΡΠ²ΠΈΡ, ΡΠΎ ΡΠ΅Π²ΡΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΡΡΠ°ΡΡΠΈΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅Π²ΡΡ ΠΌΠ»Π°Π΄ΡΠ΅ΠΌΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌΡ.
+- ΠΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ ΠΊΠΎΠ΄-ΡΠ΅Π²ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ
Π·Π° ΡΠ΅ΡΠ²ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Ρ
Π°ΠΎΡΠΈΡΠ½ΡΡ
Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ.
+- Π ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·Π½ΠΎΠ³Π»Π°ΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΡΠΈΠΌ ΠΈ ΠΌΠ»Π°Π΄ΡΠΈΠΌ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡΠΎΠΌ ΠΈ/ΠΈΠ»ΠΈ ΡΠ΅Ρ
Π»ΠΈΠ΄ΠΎΠΌ.
+
+**ΠΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ**
+- ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΠΈΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ»Π°Π΄ΡΠ΅Π³ΠΎ Π½Π° ΡΡΡ ΡΠΎΠ»Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠΈΡΠΊ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠ°.
+- ΠΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΠΈ.
+- Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
+
+**ΠΡΠΈΠ½ΡΡΠΈΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ°**
+- Π Π΅ΡΠ΅Π½ΠΈΡ ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ
ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π½Π° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡΡ
Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ.
+- Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠ΅Π³ΠΎ ΠΎΡΠ³Π°Π½Π° Π²ΡΡΡΡΠΏΠ°Π΅Ρ ΡΠ΅Ρ
Π»ΠΈΠ΄ ΠΈ/ΠΈΠ»ΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΠΎΡ.
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../meta/zero/00 ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-13]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/efficiency/Π‘hangelog ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².md b/dev/efficiency/Π‘hangelog ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².md
new file mode 100644
index 00000000..398e48ab
--- /dev/null
+++ b/dev/efficiency/Π‘hangelog ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².md
@@ -0,0 +1,113 @@
+---
+aliases:
+ - changelog
+tags:
+ - maturity/π±
+date: 2025-02-13
+---
+Changelog (ΠΆΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ) β ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ Π½ΠΎΠ²ΡΡ
ΡΠΈΡ. ΠΡΠΎ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΌΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π±ΡΠ΄ΡΡΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΎ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°, ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Ρ
Π°ΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΏΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΡΡ Π² Π³Π»ΡΠ±ΠΈΠ½Π°Ρ
ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² ΠΈΠ»ΠΈ ΡΡΡΠ½ΡΡ
ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΉ.
+
+Changelog β ΡΡΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΆΡΡΠ½Π°Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ΅ΡΠ²ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅. Π₯ΠΎΡΠΎΡΠΈΠΉ Ρhangelog ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° ΡΡΠΈ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
Π²ΠΎΠΏΡΠΎΡΠ°:
+1. **Π§ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ?** (Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π΄Π΅ΠΏΡΠ΅ΠΊΠ΅ΠΉΡΠ΅Π½Ρ)
+2. **ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ?** (ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ΅ΡΠ΅Π½Ρ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ ΡΡΠΎΡΠ»ΠΈ)
+3. **ΠΠ°ΠΊ ΡΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ?** (ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ, Π΅ΡΡΡ Π»ΠΈ [[../other/Backward compatibility|backward compatibility]])
+
+**ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ?**
+- **ΠΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΡΡΡ**. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ, DevOps-ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ Π²Π»ΠΈΡΠ΅Ρ Π½Π° ΠΈΡ
ΡΠ°Π±ΠΎΡΡ.
+- **ΠΡΡΠΎΡΠΈΡ ΡΠ°Π·Π²ΠΈΡΠΈΡ**. Changelog ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
+- ΠΠ±ΡΠ°ΡΠ½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. ΠΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²Π΅ΡΡΠΈΠΉ.
+- **ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΈ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ°ΠΌΠΈ**. Π₯ΠΎΡΠΎΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ changelog ΡΠΏΡΠΎΡΠ°Π΅Ρ Π°Π΄Π°ΠΏΡΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΊ Π½ΠΎΠ²ΡΠΌ Π²Π΅ΡΡΠΈΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΠΆΠΈΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°.
+
+**ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ**
+- **Π‘Π»Π°Π±Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Ρ
Π°ΠΎΡ**. ΠΡΠ»ΠΈ changelog Π²Π΅Π΄Π΅ΡΡΡ Π½Π΅ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°Ρ Π½Π΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅Π½, ΠΎΠ½ ΡΠ΅ΡΡΠ΅Ρ ΡΠ²ΠΎΡ ΠΏΠΎΠ»ΡΠ·Ρ.
+- **ΠΠ·Π±ΡΡΠΎΡΠ½ΠΎΡΡΡ**. ΠΡΠ»ΠΈ changelog ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΏΠΎΡΠΎΠΊ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ, ΠΏΠΎΠ½ΡΡΠ½ΡΡ
ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ.
+- **ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½Π°Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ**. Π€ΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° Β«ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π±Π°Π³ΠΈΒ» ΠΈΠ»ΠΈ Β«Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΒ» Π½Π΅ Π΄Π°Π΅Ρ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
+
+**Π’ΠΈΠΏΠΎΠ²Π°Ρ ΡΡΡΡΠΊΡΡΡΠ°**
+- **ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ API**. ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ API:
+ - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ: Π½ΠΎΠ²ΡΠ΅ ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ, Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²/ΠΎΡΠ²Π΅ΡΠΎΠ².
+ - ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ: ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°ΠΊΡΠΎΠ² API, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΡΠ²Π΅ΡΠΎΠ², ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ API.
+ - Π£Π΄Π°Π»Π΅Π½ΠΎ: ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΠΈ API, ΡΠ΄Π°Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²/ΠΎΡΠ²Π΅ΡΠΎΠ².
+ - ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ (rate-limiting, Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΈ Ρ. Π΄.).
+- **ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ**. Π€ΠΈΠΊΡΠΈΡΡΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π²ΡΠ·ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° ΠΈ Π·Π°ΡΠ΅ΠΌ. Π‘ΡΠ΄Π° Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ API.
+ - ΠΠ°ΡΠ°Π»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ.
+ - ΠΠ΅ΡΠ΅ΡΡΠ°Π»ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ
+ - ΠΠ·ΠΌΠ΅Π½Π΅Π½Π° ΡΡ
Π΅ΠΌΠ° Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ
+ - billing ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ REST-Π·Π°ΠΏΡΠΎΡΠ°.
+- **ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ**. Π€ΠΈΠΊΡΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π²Π»ΠΈΡΡΡΠΈΠ΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ:
+ - ΠΠΎΠ²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
+ - ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
+ - ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠΈΡ-ΡΠ»Π°Π³ΠΎΠ².
+ - ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ
ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ².
+- **ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±Π°Π³ΠΎΠ²**. Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ, Π²Π»ΠΈΡΡΡΠΈΡ
Π½Π° ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ:
+ - ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠΊΡΡ, Π²ΡΠ·ΡΠ²Π°Π²ΡΠΈΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
+ - ΠΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΡΠ°ΡΡΠ΅ΡΠΎΠ², Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ.
+ - ΠΠ°Π³ΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡΠΌΠΈ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ.
+ - ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ, ΠΈΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
+- **ΠΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»**. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠΈΠΊΡΠΈΡΡΡΡΡΡ Π²ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅:
+ - **ΠΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΠΈ**. ΠΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²ΠΈΡΠ°.
+ - **ΠΠΎΠ²ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ**, ΠΏΠΎΡΠ²ΠΈΠ²ΡΠΈΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
+ - **ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΡΡ
ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΉ**.
+- **Π’Π΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ**. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π²Π»ΠΈΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π° API, Π½ΠΎ Π²Π°ΠΆΠ½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ:
+ - ΠΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
+ - Π Π΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠΊΠ° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ.
+ - Π£Π»ΡΡΡΠ΅Π½ΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½ΠΎΠ²ΡΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π»ΠΎΠ³ΠΎΠ², Π½ΠΎΠ²ΡΠ΅ ΠΌΠ΅ΡΡΠΈΠΊΠΈ).
+ - ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ.
+ - ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² CI/CD, ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ Π΄Π΅ΠΏΠ»ΠΎΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π΅.
+- **Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ**. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π° Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ, Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠΊΠΎΠ² ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²:
+ - Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ API ΠΈ ΠΈΡ
Π·Π°ΠΌΠ΅Π½Ρ.
+ - Π£Π΄Π°Π»ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
+ - Π€ΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ.
+- **ΠΠ΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ**. Π§ΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ:
+ - ΠΠ°ΠΏΡΡΠΊ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
+ - ΠΡΠΈΡΡΠΊΠ° ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ° ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ².
+ - ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
+ - Π ΡΡΠ½ΠΎΠΉ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
+
+**ΠΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ changelog?**
+1. **Π‘ΠΎΠ±Π»ΡΠ΄Π°ΠΉΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ**
+2. **Changelog Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ**
+ 1. ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΠΏΠΎΡΠΎΠΌ ΡΠ±ΡΠ°Π»ΠΈ Π΄ΠΎ ΡΠ΅Π»ΠΈΠ·Π°, ΡΡΠΎΠ³ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
+ 2. ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡΡΠΎΡΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β changelog ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
+3. **ΠΠΈΡΠΈΡΠ΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ**. ΠΠ°ΡΠ° ΡΠ΅Π»Π΅Π²Π°Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ ΡΡΠΎ Π»ΡΠ΄ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½Ρ Π² Π²Π°Ρ ΡΠ΅ΡΠ²ΠΈΡ.
+ 1. ΠΠ·Π±Π΅Π³Π°ΠΉΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΆΠ°ΡΠ³ΠΎΠ½Π°, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ.
+ 2. ΠΠΏΠΈΡΡΠ²Π°ΠΉΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΈΡ
ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ Ρ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΡ.
+ 3. Π£ΠΊΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ: ΡΡΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ ΠΈ ΠΏΠΎΡΠ΅ΠΌΡ.
+4. Π€ΠΈΠΊΡΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ
+ 4. ΠΠ΅ ΠΏΡΠΎΡΡΠΎ Β«ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ APIΒ», Π° Β«ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ API Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π½ΠΎΠ²ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²Π»ΠΈΡΡΡΠΈΡ
Π½Π° XΒ».
+ 5. ΠΠΎΠ±Π°Π²Π»ΡΠΉΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΈΠΊΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
+5. **ΠΠ±Π½ΠΎΠ²Π»ΡΠΉΡΠ΅ changelog ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅Π»ΠΈΠ·ΠΎΠΌ, Π° Π½Π΅ ΠΏΠΎΡΠ»Π΅.** Changelog Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π° Π½Π΅ ΠΏΠΎΡΡΡΠ°ΠΊΡΡΠΌ-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ.
+6. **Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠΉΡΠ΅ Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ.**
+ 1. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, [[../other/Π‘Π΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²Π΅ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅|Semantic Versioning]]).
+ 2. ΠΡΠ»ΠΈ Π²ΡΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΏΠ°ΡΡ, changelog Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π° Π½Π΅ Π²ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΡΡ.
+
+**ΠΡΠΎΡΠ΅ΡΡ Π²Π΅Π΄Π΅Π½ΠΈΡ changelog**
+Π§ΡΠΎΠ±Ρ changelog Π±ΡΠ» ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅ΡΡΠΈΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°:
+5. **Changelog ΡΠΈΠΊΡΠΈΡΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ**
+ 1. Π changelog Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΡΠ»ΠΈ Π² ΡΠ΅Π»ΠΈΠ·
+ 2. ΠΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠΎ-ΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ Π΄ΠΎ Π²ΡΠΏΡΡΠΊΠ° Π²Π΅ΡΡΠΈΠΈ, ΡΠΎ ΡΡΠΎ **Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ»Π΅Π΄ΠΎΠ² Π² changelog**. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² SNAPSHOT-Π²Π΅ΡΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ API, Π° ΠΏΠΎΡΠΎΠΌ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π΄ΠΎ ΡΠ΅Π»ΠΈΠ·Π°, ΡΠΎ Π·Π°ΠΏΠΈΡΡ ΠΎ Π½Π΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ, Π° Π½Π΅ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° Β«ΡΠ΄Π°Π»ΠΈΠ»ΠΈ APIΒ».
+6. **Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΡ, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² changelog**. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΡΡΡΡΡ β ΠΊΠ°ΠΆΠ΄Π°Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π² changelog, Π° Π½Π΅ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ
.
+7. **Π Π΅Π²ΡΡΠ²Π΅Ρ ΠΎΠ±ΡΠ·Π°Π½ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² changelog**.
+ - ΠΡΠΎΠ²Π΅ΡΠΊΠ° changelog ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎΠΉ ΡΠ°ΡΡΡΡ code review, ΠΊΠ°ΠΊ ΠΈ ΡΠ°ΠΌ ΠΊΠΎΠ΄.
+ - ΠΠ°ΠΏΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎΠΉ, ΠΎΡΡΠ°ΠΆΠ°ΡΡ ΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΏΡΠΎΡΡΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ.
+ - Π Π΅Π²ΡΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π½Π΅ Π²ΠΎΡΠ΅Π΄ΡΠΈΠ΅ Π² ΡΠ΅Π»ΠΈΠ·.
+
+**ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ**
+- ΠΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ±ΠΎΡ changelog Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ PR-ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ, Π½ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π² ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΉ changelog ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ changelog ΠΈΠ· commit history (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Conventional Commits) ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΆΠ΅ΡΡΠΊΠΎΠΉ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Ρ.
+- ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ°ΡΡΠΎ Π·Π°Π΄Π°ΡΡ Π²ΠΎΠΏΡΠΎΡΡ ΠΏΠΎ changelog, ΡΡΠΎ ΡΠΈΠ³Π½Π°Π», ΡΡΠΎ Π΅Π³ΠΎ ΡΡΠΎΠΈΡ Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅.
+- ΠΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎΡΡΡ changelog, Π΄Π°Π²Π°Ρ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, Π½Π΅ ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°Π²ΡΠΈΠΌ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
+- Changelog ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΈΡ
Π²ΡΠΏΡΡΠΊΠ°.
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../meta/zero/00 ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-13]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/fundamental/structure/B-tree.md b/dev/fundamental/structure/B-tree.md
index a0bef8d2..c6458071 100644
--- a/dev/fundamental/structure/B-tree.md
+++ b/dev/fundamental/structure/B-tree.md
@@ -1,5 +1,6 @@
---
-aliases:
+aliases:
+ - B-Π΄Π΅ΡΠ΅Π²ΡΠ΅Π²
tags:
- maturity/π±
date: 2024-01-29
diff --git a/dev/java/quarkus/ΠΠΎΠ½ΡΠ΅ΠΊΡΡΡ Π² Quarkus ΠΈ Vert.x.md b/dev/java/quarkus/ΠΠΎΠ½ΡΠ΅ΠΊΡΡΡ Π² Quarkus ΠΈ Vert.x.md
new file mode 100644
index 00000000..96bc09da
--- /dev/null
+++ b/dev/java/quarkus/ΠΠΎΠ½ΡΠ΅ΠΊΡΡΡ Π² Quarkus ΠΈ Vert.x.md
@@ -0,0 +1,64 @@
+---
+aliases:
+tags:
+ - maturity/π±
+date: 2025-02-24
+---
+ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΌΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π²Ρ
ΠΎΠ΄ΡΡΠΈΠ΅ HTTP-Π·Π°ΠΏΡΠΎΡΡ. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠ°, Π²ΠΊΠ»ΡΡΠ°Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:
+- ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
,
+- Π²ΡΠ·ΠΎΠ²Ρ Π²Π½Π΅ΡΠ½ΠΈΡ
API,
+- Π·Π°ΠΏΠΈΡΡ Π»ΠΎΠ³ΠΎΠ²,
+- ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ Π² Kafka ΠΈΠ»ΠΈ RabbitMQ.
+
+Π ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ
Π²ΡΠ΅ ΠΏΡΠΎΡΡΠΎ: Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊ [[../../fundamental/ΠΠΎΡΠΎΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΠ‘|ΠΏΠΎΡΠΎΠΊΡ]], ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ, ΠΈ ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
+
+ΠΠΎ Π² Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Π·Π°Π΄Π°ΡΠ° ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, Π³Π΄Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΎΡ Π½Π°ΡΠ°Π»Π° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°, Π² Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. Π ΠΈΡΠΎΠ³Π΅:
+- **ΠΠΎΡΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ** β ΠΎΠ΄Π½Π° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ. ΠΠ°Π½Π½ΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ, ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ.
+- **ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ** β Π΅ΡΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΡΠΎΡΠ° Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π»ΠΎΠ³ΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ, ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π½Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ.
+- **ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΌΠΎΠ³ΡΡ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ** β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π½ΡΠΆΠ½Ρ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Β«ΠΏΠΎΡΠ΅ΡΡΡΡΡΡΒ» ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ.
+
+Π ΡΠ°ΠΊΠΈΡ
ΡΡΠ»ΠΎΠ²ΠΈΡΡ
Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ: ==ΠΊΠ°ΠΊ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ?== ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠ°ΠΊ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ ΠΊΠΎΠ΄Π°?
+
+ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² [[../../../meta/zero/00 Quarkus|Quarkus]] ΠΈ Vert.x ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Ρ
ΡΠ°Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΡ
ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ΅ΡΠ°Π΅Ρ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΠΈΡ
ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
+
+==Π Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠ»ΡΡΠ°Π΅Π² Quarkus ΠΈ Vert.x Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ==, Π½ΠΎ Π΅ΡΠ»ΠΈ Π²Π°Ρ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ°Π·Π½ΡΡ
ΠΏΠΎΡΠΎΠΊΠ°Ρ
, ΡΡΠΎΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ [[ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Quarkus|Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΡ
ΠΎΡΠΈΠ±ΠΎΠΊ]] ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠΉ.
+
+Π Quarkus ΠΈ Vert.x Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ²ΠΎΡ ΡΠΎΠ»Ρ.
+## ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
+ΠΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ β ΡΡΠΎ ΡΠ°ΠΌΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΡΡ
ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°.
+
+ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°:
+- ΠΠ½ ΠΎΠ±ΡΠΈΠΉ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
.
+- ΠΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π² Π½Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π½Ρ Π² Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ.
+- ΠΡΠ±Π°Ρ ΠΏΠΎΠΏΡΡΠΊΠ° ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ `UnsupportedOperationException`.
+
+
+> [!DANGER] ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
+> ΠΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ
Π΄Π°Π½Π½ΡΡ
Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π»ΡΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ **ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΈΠ»ΠΈ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ**.
+## ΠΠ±ΡΡΠ½ΡΠΉ (ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ) ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
+ΠΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ:
+- ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ [[../../architecture/Event Loop|event loop]],
+- Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, MDC),
+- ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ
ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ event loop.
+
+ΠΠΎΠ³Π΄Π° Π²Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΠ΅ HTTP-Π·Π°ΠΏΡΠΎΡ ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· Kafka, Quarkus Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
+
+ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, ΡΡΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ.
+## ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
+ΠΠ±ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ event loop. ΠΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ Π²ΡΡ
ΠΎΠ΄ΠΈΡ Π·Π° Π΅Π³ΠΎ ΠΏΡΠ΅Π΄Π΅Π»Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΠΎΡΠΎΠΊΡ), ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡΡΡ.
+
+Π Π΅ΡΠ΅Π½ΠΈΠ΅ β ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. ΠΡΠΎ ΠΊΠΎΠΏΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ².
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../../meta/zero/00 Quarkus|00 Quarkus]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-24]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/java/quarkus/ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Quarkus.md b/dev/java/quarkus/ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Quarkus.md
new file mode 100644
index 00000000..fe91f5d6
--- /dev/null
+++ b/dev/java/quarkus/ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Quarkus.md
@@ -0,0 +1,56 @@
+---
+aliases:
+tags:
+ - maturity/π±
+ - content/problem
+date: 2025-02-24
+---
+Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ», ΡΡΠΎ ΠΏΡΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ΅ΡΡΠ»Π°ΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠ°Ρ ΡΠ΅ΡΠ΅Π· [[../../Mapped Diagnostic Context|MDC]].
+
+ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄Π΅Π» ΠΊΠ°ΠΊ-ΡΠΎ ΡΠ°ΠΊ:
+
+```java
+Unis.voidItem()
+ .chain(() -> mailService.process(msg));
+```
+
+**ΠΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ:**
+- **ΠΠΎΡΠ΅ΡΡ MDC:** MDC Ρ
ΡΠ°Π½ΠΈΡΡΡ Π² ThreadLocal, Π° Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ. ΠΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Π΄Π°Π½Π½ΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π² MDC, ΡΠ΅ΡΡΠ»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ°Π½Π½ΡΠΌΠΈ, ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ»ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΡ.
+- **ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ:** ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΠ·ΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΡΠ²Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΌΠΎΠ³Π»ΠΎ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠΎΡΡΠΎΡΠ½ΠΈΡΠΌ Π³ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠΌ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ.
+- ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° [[../../architecture/Event Loop|event loop]]: ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ `mailService.process` Π²ΡΠΏΠΎΠ»Π½ΡΠ» Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΠ΄, ΡΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
+
+Π‘ΡΠΎΠΈΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π±Ρ Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΡΡΡΠΏΠ°Π» ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ [[../../../meta/zero/00 Quarkus|Quarkus]] (gRPC, GraphQL, Kafka), ΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΠΎΡΡ Π±Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ Π±Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ·ΠΎΠ² ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π»ΡΡ ΡΠ΅ΡΠ΅Π· `org.apache.camel.Processor`, ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΠΉ ΠΏΠΎ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
+
+ΠΠ½Π°Π»ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΡΠΎΠ΅ΡΡΡ Π² ΠΏΠΎΡΠ΅ΡΠ΅ MDC ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ. Π ΡΡΠ»ΠΎΠ²ΠΈΡΡ
Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ·ΠΎΠ²Ρ, ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· Camel, Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΡ
, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ.
+
+==Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΡΠ²Π½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π³ΠΎ.== ΠΠΎΠ΄ Π±ΡΠ» ΠΈΠ·ΠΌΠ΅Π½ΡΠ½ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
+
+```java
+final Context duplicateContext = Context.newInstance(
+ VertxContext.getOrCreateDuplicatedContext(vertx.getDelegate())
+);
+Unis.voidItem()
+ .emitOn(duplicateContext::runOnContext)
+ .chain(() -> mailService.process(msg));
+```
+
+**ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π°:**
+- **Π‘ΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ MDC:** ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Π²ΠΊΠ»ΡΡΠ°Ρ MDC), ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°ΠΆΠ΅ ΠΏΡΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ.
+- **ΠΠ·ΠΎΠ»ΡΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:** ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ, ΠΈΡΠΊΠ»ΡΡΠ°Ρ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ².
+- Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ [[../../architecture/Event Loop|event loop]]: ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ `mailService.process` ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΡΡΠΎΡΠΌΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠ½ΠΈΠ·ΠΈΡΡ Π½Π΅Π³Π°ΡΠΈΠ²Π½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ event loop.
+
+Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠΈ Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Apache Camel, ΠΈ Quarkus Π½Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠΌ Π½Π°ΠΏΡΡΠΌΡΡ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../../meta/zero/00 Quarkus|00 Quarkus]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-24]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/other/Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ Π² MacOS.md b/dev/other/Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ Π² MacOS.md
new file mode 100644
index 00000000..dd5cdc60
--- /dev/null
+++ b/dev/other/Π‘ΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ Π² MacOS.md
@@ -0,0 +1,44 @@
+---
+aliases:
+tags:
+ - maturity/π±
+ - content/problem
+date: 2025-02-11
+---
+Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΆΠ΅ΡΡΠΊΠΈΠΉ Π΄ΠΈΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΏΠ΅ΡΠ΅ΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠΊΠ°ΠΏΠΈΡΡΡ Π½Π° MacOS. ΠΠΎΠ΄ Π±ΡΠΊΠ°ΠΏΠΎΠΌ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΡΠΎ Π±ΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ.
+
+ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ `rsync` :
+
+```shell
+rsync -av --delete /ΠΏΡΡΡ/ΠΊ/ΠΏΠ΅ΡΠ²ΠΎΠΉ_ΠΏΠ°ΠΏΠΊΠ΅/ /ΠΏΡΡΡ/ΠΊΠΎ/Π²ΡΠΎΡΠΎΠΉ_ΠΏΠ°ΠΏΠΊΠ΅/
+```
+
+> [!WARNING]
+> Π ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ (/ΠΏΡΡΡ/ΠΊ/ΠΏΠ΅ΡΠ²ΠΎΠΉ_ΠΏΠ°ΠΏΠΊΠ΅/) Π΅ΡΡΡ **ΡΠ»ΡΡ /**. ΠΡΠΎ Π²Π°ΠΆΠ½ΠΎ: rsync Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ **ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅** ΠΏΠ°ΠΏΠΊΠΈ, Π° Π½Π΅ ΡΠ°ΠΌΡ ΠΏΠ°ΠΏΠΊΡ.
+
+**Π Π°Π·Π±ΠΎΡ ΡΠ»Π°Π³ΠΎΠ²:**
+- -a β Π°ΡΡ
ΠΈΠ²Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ (ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠ°Π²Π°, Π΄Π°ΡΡ, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΏΡ.)
+- -v β ΡΠ΅ΠΆΠΈΠΌ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (ΠΌΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ, Π΅ΡΠ»ΠΈ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²)
+- --delete β ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π΅ΡΠ»ΠΈ ΠΈΡ
Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ
+
+ΠΡΠ»ΠΈ Ρ
ΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΡ
ΠΎΠΉ ΠΏΡΠΎΠ³ΠΎΠ½:
+
+```shell
+rsync -av --delete --dry-run ~/Documents/source/ ~/Documents/backup/
+```
+
+ΠΠ½ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ΠΎ, Π½ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Ρ.
+
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**:: [[../../meta/zero/00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°|00 Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°]]
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-11]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
diff --git a/dev/ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ.md b/dev/ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ.md
new file mode 100644
index 00000000..74146f96
--- /dev/null
+++ b/dev/ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠ½ΠΎΡΡΠΈ.md
@@ -0,0 +1,39 @@
+---
+aliases:
+ - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ
+ - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°
+ - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²
+tags:
+ - maturity/π±
+date: 2025-02-18
+---
+ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ (ID) β ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΠ½ ΠΈΠ³ΡΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΡΠΎΠ»Ρ Π² [[architecture/ΠΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ°|Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΠ΅]], ΡΠ²ΡΠ·ΡΠ²Π°Ρ ΡΡΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Ρ ΠΈΡ
ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ΠΈΠ΅.
+
+**Π’ΠΈΠΏΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ²**
+- [[database/other/ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ|ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ]]
+- [[Universal Unique IDentifier|UUID]]
+- [[Time-Sorted Identifier]]
+- [[NanoId|NanoId]]
+- Π₯Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ
+- ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ. ΠΠ½ΠΎΠ³Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΡΡΠΈ:
+ - UUID + ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ (Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ).
+ - ΠΡΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ID (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ORD-20240218-1234 Π΄Π»Ρ Π·Π°ΠΊΠ°Π·ΠΎΠ²).
+ - Π₯Π΅Ρ-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ([[cryptography/SHA-256|SHA-256]], Base62), ΡΡΠΎΠ±Ρ ΡΠΊΡΡΡΡ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠ΅ ID.
+***
+## ΠΠ΅ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
+**ΠΠ±Π»Π°ΡΡΡ**::
+**Π ΠΎΠ΄ΠΈΡΠ΅Π»Ρ**::
+**ΠΡΡΠΎΡΠ½ΠΈΠΊ**::
+**Π‘ΠΎΠ·Π΄Π°Π½Π°**:: [[2025-02-18]]
+**ΠΠ²ΡΠΎΡ**::
+### ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ
+-
+
+### ΠΠΎΡΠ΅ΡΠ½ΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ
+
+
+- [[Universal Unique IDentifier]]
+- [[ΠΠ²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ Π² ΠΠ]]
+- [[Time-Sorted Identifier]]
+
+
diff --git a/meta/zero/00 Gitea.md b/meta/zero/00 Gitea.md
new file mode 100644
index 00000000..a8cba922
--- /dev/null
+++ b/meta/zero/00 Gitea.md
@@ -0,0 +1,17 @@
+---
+aliases:
+ - Gitea
+tags:
+ - type/zero-link
+date: 2025-02-04
+title: Gitea
+---
+- [[../../dev/devops/other/Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Gitea|Π€ΠΎΠ½ΠΎΠ²ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Gitea]]
+
+
+ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°:
+- [[../../dev/devops/other/ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π² Gitea|ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ° Π² Gitea]]
+- [[../../dev/devops/other/ΠΡΠΎΠ²Π΅ΡΠΊΠ° get Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Gitea|ΠΡΠΎΠ²Π΅ΡΠΊΠ° get Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Gitea]]
+
+Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
+- [[../../dev/devops/other/ΠΡΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Gitea|ΠΡΡΠΎΠΊΠΎΠ΅ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Gitea]]
\ No newline at end of file
diff --git a/meta/zero/00 HighLoad.md b/meta/zero/00 HighLoad.md
index 187bf8bc..1e3b459d 100644
--- a/meta/zero/00 HighLoad.md
+++ b/meta/zero/00 HighLoad.md
@@ -11,6 +11,7 @@ aliases:
- Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌ
- ΡΠΈΡΡΠ΅ΠΌ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ
- Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ
+ - Π²ΡΡΠΎΠΊΠΎΠ½Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
---
## Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ HighLoad?
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΡΠΎΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ β ΡΡΠΎ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ²Π½ΠΎ Π½Π΅ highload, Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ, Π²ΡΠΎΠ΄Π΅ Π±Ρ, ΡΠΏΡΠ°Π²ΠΈΡΡΡ. ΠΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊΠΈ, ΡΠΎ ΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΡΠΏΠΈΡΡ highload.
diff --git a/meta/zero/00 Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
.md b/meta/zero/00 Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
.md
index 100d359b..97c08415 100644
--- a/meta/zero/00 Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
.md
+++ b/meta/zero/00 Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
.md
@@ -10,6 +10,7 @@ aliases:
- Π Π΅Π»ΡΡΠΈΠΎΠ½Π½Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
- Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
- Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
+ - Π±Π°Π· Π΄Π°Π½Π½ΡΡ
linked:
- "[[../../../../_inbox/00 In-memory Π‘ΡΠΠ|00 In-memory Π‘ΡΠΠ]]"
---