diff --git a/db/sql/postgres/tools/replication/wal2json.txt b/db/sql/postgres/tools/replication/wal2json.txt new file mode 100644 index 000000000..0c27874e2 --- /dev/null +++ b/db/sql/postgres/tools/replication/wal2json.txt @@ -0,0 +1,98 @@ +https://github.com/eulerto/wal2json +************************************************** +πŸ€– ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ записи WAL Π² JSON (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ wal2json). + +ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΠΌ Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½ΡŽΡŽ Ρ‚Π΅ΠΌΡƒ логичСского дСкодирования Π² PostgreSQL. Π’ этой Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ посмотрим Π½Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ wal2json. + +Wal2json - это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для PostgreSQL, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Write-Ahead Log (WAL) Π² ΡƒΠ΄ΠΎΠ±ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½ для систСм Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π°. + +ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ: + +* ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ WAL-записСй Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚; +* Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ; +* Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (INSERT, UPDATE, DELETE)! +* Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Π²Ρ‹Π²ΠΎΠ΄ схСмы Ρ‚Π°Π±Π»ΠΈΡ†; +* ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π°. + +ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ GitHub Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ: + +➑️ https://github.com/eulerto/wal2json + +Установка wal2json: + +1️⃣ УстанавливаСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для сборки Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ: + +# sudo apt-get install postgresql-server-dev-XX make gcc + +Π—Π΄Π΅ΡΡŒ XX - ваша вСрсия PostgreSQL. + +2️⃣ Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π΅ΠΌ исходный ΠΊΠΎΠ΄ wal2json: + +# git clone https://github.com/eulerto/wal2json.gitcd wal2json + +3️⃣ Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΈ устанавливаСм: + +# make && make install + +4️⃣ ДобавляСм wal2json Π² shared_preload_libraries Π² postgresql.conf: + +shared_preload_libraries = 'wal2json' + +ПослС этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ слуТбу PostgreSQL. + +5️⃣ Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π² Π½ΡƒΠΆΠ½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…: + +CREATE EXTENSION wal2json; + +ИспользованиС wal2json: + +1️⃣ Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ слот Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: + +SELECT * FROM pg_create_logical_replication_slot('wal2json_slot', 'wal2json'); + +2️⃣ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ измСнСния: + +SELECT * FROM pg_logical_slot_get_changes('wal2json_slot', NULL, NULL); + +ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π°: + +{ + "change": [ + { + "kind": "insert", + "schema": "public", + "table": "users", + "columnnames": ["id", "name", "email"], + "columntypes": ["integer", "character varying(100)", "character varying(255)"], + "columnvalues": [1, "John Doe", "john@example.com"] + } + ] +} + +Wal2json ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для настройки Π²Ρ‹Π²ΠΎΠ΄Π°: + +SELECT * FROM pg_logical_slot_get_changes( + 'wal2json_slot', + NULL, + NULL, + 'include-pk', '1', + 'pretty-print', '1', + 'include-schemas', '0' +); + +Π’. Π΅. ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΡ‹ Ρ…ΠΎΠ΄ΠΈΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² нашСм Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΌ JSON. + +Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, установка, настройка ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π½Π΅ прСдставляСт особых слоТностСй, Π½ΠΎ возмоТности Π΅Π³ΠΎ примСнСния ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²: + +* ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами; +* Аудит: Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для соотвСтствия трСбованиям; +* Бинхронизация Π΄Π°Π½Π½Ρ‹Ρ…: РСпликация Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΈΠ»ΠΈ поисковыС систСмы; +* ВосстановлСниС Π΄Π°Π½Π½Ρ‹Ρ…: Анализ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ восстановлСния. + +Подводя ΠΈΡ‚ΠΎΠ³, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ wal2json - это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с измСнСниями Π΄Π°Π½Π½Ρ‹Ρ… Π² PostgreSQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ JSON-интСрфСйс ΠΊ WAL. Он ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…. + +Π—Π° Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ΄Π΅ΠΌ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. + +На этом всС! Π”ΠΎ связи! + +#pgext diff --git a/hw/comp/monitor/lg.txt b/hw/comp/monitor/lg.txt index 1aae0c0d0..b825673b5 100644 --- a/hw/comp/monitor/lg.txt +++ b/hw/comp/monitor/lg.txt @@ -17,10 +17,10 @@ https://www.777555.by/product/325167-lg-ultrawide-38wn95c-w/ 32" https://catalog.onliner.by/display?mfr%5B0%5D=lg&diagonal%5Bfrom%5D=315&diagonal%5Bto%5D=32&resolution%5Bfrom%5D=3840x2160&order=price%3Adesc -! want smart +! my smart https://www.lg.com/ru/monitors/lg-32sr85u-w https://5element.by/products/809529-monitor-lg-32sr85u-w/characteristics - 2195 bin, 627$ + 1955 bin, 627-638$ 900006912999 https://www.777555.by/product/1524905-lg-myview-smart-monitor-32sr85u-w/ 2263 bin, 643$, 2024y, 4k, 60Hz, 400 kd/m2 diff --git a/hw/comp/my.txt b/hw/comp/my.txt index fd3fcc238..5e72bec52 100644 --- a/hw/comp/my.txt +++ b/hw/comp/my.txt @@ -59,3 +59,10 @@ https://catalog.onliner.by/display/iiyama/g4380uhsub1 42" https://catalog.onliner.by/display/ktcplay/g42p5g42p5p ! 4256 bin ???? y, 600 kd +32" +https://5element.by/products/809529-monitor-lg-32sr85u-w#description +! my, 1955 bin, 2024y, 4k 60Hz, IPS, 400 kd +https://catalog.onliner.by/display/lg/32uq850vw +! 2873 bin, 3840x2160 4k 60 Hz, IPS, 400 kd +https://catalog.onliner.by/display/samsung/ls32dm801uuxdu +! 2945 bin, 2024y, 400 kd diff --git a/nontech/politics/people/kedmi-jakob.txt b/nontech/politics/people/kedmi-jakob.txt index f7f26b174..81e5ef2d8 100644 --- a/nontech/politics/people/kedmi-jakob.txt +++ b/nontech/politics/people/kedmi-jakob.txt @@ -5,6 +5,9 @@ PoliticsTodayRUUSUA aurora https://www.youtube.com/playlist?list=PLtnoA8Ys77oSEYxYWccdahDdsrc_B3QM1 +2025 +OlegBesedin - Kedmi - UA Disappearing of 37:38 + https://www.youtube.com/watch?v=bd3IJVzN1dE 2024 LawAndOrder - Kedmi - 04.02 of 1:03:16 https://www.youtube.com/watch?v=XHz_XZ63s9w diff --git a/pages/pages.txt b/pages/pages.txt index 07bf876b5..d0a6fa945 100644 --- a/pages/pages.txt +++ b/pages/pages.txt @@ -22,6 +22,9 @@ set up explorer Zhitinskiy +course +https://www.coursera.org/ + try librewolf https://www.librechat.ai/docs/features diff --git a/science/algo/docs/people/kulikov.txt b/science/algo/docs/people/kulikov.txt new file mode 100644 index 000000000..4e8d8deaf --- /dev/null +++ b/science/algo/docs/people/kulikov.txt @@ -0,0 +1,21 @@ +https://alexanderskulikov.github.io/ +https://math-cs.spbu.ru/people/kulikov-a-s/ +https://www.lektorium.tv/speaker/2678 + https://stepik.org/course/217/promo + +Proofs, ChatGPT and Python + https://stepik.org/course/193192/promo +Kulikov Pevzner + https://cogniterra.org/course/24/promo + https://www.coursera.org/specializations/data-structures-algorithms + +2014 +https://www.youtube.com/playlist?list=PLG67RuYa9mGme3R7_u384wPOFx4SzT-5u +https://www.youtube.com/playlist?list=PL_622KRNv4cwQ42blWuBg116eP67DHJkr +https://www.youtube.com/playlist?list=PLBmETFttPL1OHGBTpJ6o-bOzuhE3Og2Ld +https://www.youtube.com/playlist?list=PL-_cKNuVAYAUhJ1CdU0wiEDQj58E51Zn- +https://www.youtube.com/playlist?list=PLtWKktkq8nT6fLitiR0ckMLCuEpwR94Nq +for NP-hard +https://www.youtube.com/playlist?list=PLlb7e2G7aSpSJlQG4gWGzOLFTARcmsZ7m +https://www.youtube.com/playlist?list=PL-_cKNuVAYAXtq19o2pZvLev0wgeGBqXW +https://www.youtube.com/playlist?list=PL-_cKNuVAYAWpKLONs_YYrEwH7KrSPn9u