From 8bde2c9c1aff5179f2c43668d14d44e67d67aadc Mon Sep 17 00:00:00 2001 From: Ihar Hancharenka Date: Sun, 26 May 2024 09:21:25 +0300 Subject: [PATCH] m --- db/sql/postgres/feature/sectioning.txt | 49 +++++++++++++++++++ .../observability/grafana/docs/articles.txt | 2 + media/video/editors/handbrake.txt | 9 ++++ .../politics/clubs/isborsk/malinetskiy.txt | 3 ++ .../politics/clubs/streetoftruth/devyatov.txt | 2 + os/shells/fuzzyfinders/fzf/docs/articles.txt | 2 + .../dp-patterns/step-builder.txt | 2 + .../microservice/patterns/antipatterns.txt | 1 + pl/cross/tools/diff/delta-rs.txt | 1 + pl/cross/tools/diff/diff-so-fancy.txt | 1 + pl/go/features/types/generics.txt | 2 + pl/java/libfws/io/net/proto/dns/dnsjava.txt | 3 ++ .../boot/test/features/test-context.txt | 2 + pl/java/libfws/spring/messaging/kafka.txt | 4 ++ pl/rs/features/types/traits/articles.txt | 1 + .../chrome/devtools/perf-analysis.txt | 2 + science/ai/offline-local/tabby.txt | 5 ++ 17 files changed, 91 insertions(+) create mode 100644 media/video/editors/handbrake.txt create mode 100644 pl/cross/methodologies/dp-patterns/step-builder.txt create mode 100644 pl/cross/tools/diff/delta-rs.txt create mode 100644 pl/cross/tools/diff/diff-so-fancy.txt create mode 100644 pl/java/libfws/spring/boot/test/features/test-context.txt create mode 100644 pl/web/browsers/chrome/devtools/perf-analysis.txt create mode 100644 science/ai/offline-local/tabby.txt diff --git a/db/sql/postgres/feature/sectioning.txt b/db/sql/postgres/feature/sectioning.txt index d0119717e..c93da7973 100644 --- a/db/sql/postgres/feature/sectioning.txt +++ b/db/sql/postgres/feature/sectioning.txt @@ -1,2 +1,51 @@ pg_pathman https://habrahabr.ru/company/oleg-bunin/blog/336610/ + +********************************************************************** +Секционирование - разбиение одной большой таблицы на более мелкие сегменты (секции). Само секционирование прозрачно для пользователя и приложения, работающего с PostgreSQL. Для них таблица кажется как и раньше целой. + +Существует несколько подходов к секционированию: + +1️⃣ Наследование таблиц. + +При создании таблицы, мы указываем ей, что она наследуется от другой (родительской) таблицы. Здесь у нас получается две таблицы, но данные в них связаны между собой. + +2️⃣ Декларативное наследование. + +Это более продвинутый и гибки вид секционирования. Таблица объявляется секционированной декларативно, а само секционирование настраивается согласно определенному методу (о методах ниже). + +Механизм секционирования эволюционирует с каждой версией PostgreSQL. Декларативное секционирование появилось в 10й версии PostgreSQL, до этого было только наследование таблиц, и получило большое развитие в 11й версии. В 12й и следующих версиях PostgreSQL механизм декларативного секционирование продолжил развиваться и улучшаться. + +Секционирование таблиц лучше применять на этапе проектирования базы данных, потому что потом это сделать будет гораздо сложнее. + +На сколько должна быть большой таблица, чтобы задуматься о секционировании? Если вы считаете, что у вас в базе будет таблица, чей объём превышает объём оперативной памяти сервера, то тут уже можно начать думать о ее секционировании. На небольших таблицах секционирование может оказаться избыточным или не приносить ощутимых преимуществ. + +➕ Плюсы секционирования: + +✅ Самое очевидное преимущество секционирования состоит в том , что мы можем, например, секцию таблицы с какими-то архивными данными положить на более медленные диски, а секцию с оперативными данными на более быстрые. Т.е. мы можем секции таблицы поместить в разные табличные пространства, в зависимости от данных, хранящихся в них; + +✅ Ускорение массовой загрузки или удаления данных. Мы можем добавлять отдельные секции таблицы или удалять их с помощью команд ATTACH/DETACH, что позволит значительно ускорить данные операции; + +✅ Повышение производительности запросов. Если выбираемые в запросе данные попадут в одну секцию таблицы, то PostgreSQL не придется их искать по всей таблице, что может существенно повысить производительность запроса. + +➖ Минусы секционирования: + +✅ Усложнение структуры базы данных. Каждая секция таблицы для PostgreSQL будет считаться отдельной таблицей, хотя она и является частью одной логической таблицы; + +✅ Преобразовать существующую таблицу в секционированную и наоборот нельзя. Однако, можно добавить обычную или секционированную таблицу в качестве секции, или удалить секцию и превратить ее в обычную таблицу. + +Методы декларативного секционирования: + +✅ Секционирование по диапазонам. + +Таблица секционируется по «диапазонам», которые не пересекаются друг с другом. Например, это могут быть диапазоны дат, или идентификаторы первичного ключа. Границы каждого диапазона считаются включающими нижнее значение и исключающими верхнее. Т.е., если для первой секции задан диапазон значений от 1 до 10, а для второй — от 10 до 20, то значение 10 относится ко второй секции, а не к первой. + +✅ Секционирование по списку. + +Таблица секционируется по определенному списку значений, в котором явно указывается какие значения должны относиться к определённой секции. + +✅ Секционирование по хешу. + +Таблица секционируется по определённым модулям (modulus) и остаткам (remainder), которые указываются для каждой секции. Каждая секция содержит строки, для которых хеш-значение ключа разбиения, делённое на модуль, равняется заданному остатку. + +Это краткое введение в секционирование таблиц в PostgreSQL. В будущих постах будем погружаться в эту тему глубже и переходить к практике. diff --git a/devops/observability/grafana/docs/articles.txt b/devops/observability/grafana/docs/articles.txt index 804faaf07..8819c2bce 100644 --- a/devops/observability/grafana/docs/articles.txt +++ b/devops/observability/grafana/docs/articles.txt @@ -1,3 +1,5 @@ +2024 +https://habr.com/ru/companies/bimeister/articles/779768/ 2023 https://habr.com/ru/companies/karuna/articles/771134/ https://habr.com/ru/companies/ozontech/articles/774712/ diff --git a/media/video/editors/handbrake.txt b/media/video/editors/handbrake.txt new file mode 100644 index 000000000..82323f033 --- /dev/null +++ b/media/video/editors/handbrake.txt @@ -0,0 +1,9 @@ +https://handbrake.fr/ +https://handbrake.fr/features.php + +https://github.com/HandBrake/HandBrake + +https://handbrake.fr/docs/ + +2024 +https://9to5linux.com/handbrake-1-8-video-transcoder-adds-gtk4-port-on-linux-ffmpeg-7-0-support diff --git a/nontech/politics/clubs/isborsk/malinetskiy.txt b/nontech/politics/clubs/isborsk/malinetskiy.txt index 6ace28678..37c27c35d 100644 --- a/nontech/politics/clubs/isborsk/malinetskiy.txt +++ b/nontech/politics/clubs/isborsk/malinetskiy.txt @@ -1,6 +1,9 @@ Georkiy Gennadievich vice-president of RU nano-techno society +2023 +Horoscope - Malinetskiy - Savvateev of 1:39:56 + https://www.youtube.com/watch?v=plX6bsMnzkE 2022 NDay - Peretolchin - Malinetskiy - New Reality, Selforganisation and Control of the Future of 23:32 of 57:17 https://nday.club/video/rozhdenie-elity-novogo-mira diff --git a/nontech/politics/clubs/streetoftruth/devyatov.txt b/nontech/politics/clubs/streetoftruth/devyatov.txt index f4b43b8e6..148b2d3d5 100644 --- a/nontech/politics/clubs/streetoftruth/devyatov.txt +++ b/nontech/politics/clubs/streetoftruth/devyatov.txt @@ -24,6 +24,8 @@ https://vk.com/muzejkonstruirovaniyabudushchego https://vk.com/video/@muzejkonstruirovaniyabudushchego 2024 +AlexeyNovitskiyChannel - Novitskiy - Devyatov - New Epoch Int-Signs of 52:58 + https://www.youtube.com/watch?v=p8Kkj2wEyTU TruthInstitute - Devyatov - About our Victory in WW of 39:50 https://www.youtube.com/watch?v=jBm2qT20xXw !!! diff --git a/os/shells/fuzzyfinders/fzf/docs/articles.txt b/os/shells/fuzzyfinders/fzf/docs/articles.txt index 57cdefa45..989e80d3c 100644 --- a/os/shells/fuzzyfinders/fzf/docs/articles.txt +++ b/os/shells/fuzzyfinders/fzf/docs/articles.txt @@ -9,3 +9,5 @@ https://www.redhat.com/sysadmin/fzf-linux-fuzzy-finder 2021 https://seb.jambor.dev/posts/improving-shell-workflows-with-fzf/ https://habr.com/ru/company/skillfactory/blog/550470/ +2019 +https://www.freecodecamp.org/news/fzf-a-command-line-fuzzy-finder-missing-demo-a7de312403ff/ diff --git a/pl/cross/methodologies/dp-patterns/step-builder.txt b/pl/cross/methodologies/dp-patterns/step-builder.txt new file mode 100644 index 000000000..eefbb42f1 --- /dev/null +++ b/pl/cross/methodologies/dp-patterns/step-builder.txt @@ -0,0 +1,2 @@ +2024 +https://habr.com/ru/articles/816471/ diff --git a/pl/cross/methodologies/microservice/patterns/antipatterns.txt b/pl/cross/methodologies/microservice/patterns/antipatterns.txt index 59f14fbd8..228fb24f7 100644 --- a/pl/cross/methodologies/microservice/patterns/antipatterns.txt +++ b/pl/cross/methodologies/microservice/patterns/antipatterns.txt @@ -1,5 +1,6 @@ 2024 https://blog.bitsrc.io/10-microservice-anti-patterns-278bcb7f385d + https://nuancesprog.ru/p/21085/ 2021 https://habr.com/ru/post/556090/ ! entity service diff --git a/pl/cross/tools/diff/delta-rs.txt b/pl/cross/tools/diff/delta-rs.txt new file mode 100644 index 000000000..07c3d05ed --- /dev/null +++ b/pl/cross/tools/diff/delta-rs.txt @@ -0,0 +1 @@ +delta-rs diff --git a/pl/cross/tools/diff/diff-so-fancy.txt b/pl/cross/tools/diff/diff-so-fancy.txt new file mode 100644 index 000000000..193999165 --- /dev/null +++ b/pl/cross/tools/diff/diff-so-fancy.txt @@ -0,0 +1 @@ +https://github.com/so-fancy/diff-so-fancy diff --git a/pl/go/features/types/generics.txt b/pl/go/features/types/generics.txt index f6c693985..93efe2de0 100644 --- a/pl/go/features/types/generics.txt +++ b/pl/go/features/types/generics.txt @@ -1,5 +1,7 @@ https://go.dev/doc/tutorial/generics +2024 +https://habr.com/ru/articles/817003/ 2023 GoFunc - Gorkun - What is Behind Go Generics 0:00 of 38:04 https://www.youtube.com/watch?v=GS91ZUJt6r8 diff --git a/pl/java/libfws/io/net/proto/dns/dnsjava.txt b/pl/java/libfws/io/net/proto/dns/dnsjava.txt index c73f18fec..44a626bdd 100644 --- a/pl/java/libfws/io/net/proto/dns/dnsjava.txt +++ b/pl/java/libfws/io/net/proto/dns/dnsjava.txt @@ -1,5 +1,8 @@ https://github.com/dnsjava/dnsjava +https://www.javadoc.io/doc/com.discoverydns/ddns-dnsjava/latest/index.html +2024 +https://habr.com/ru/companies/productradar/articles/815931/ 2023 https://coderambling.com/2023/09/dns-response-in-java/ https://coderambling.com/2023/09/java-dns-requests/ diff --git a/pl/java/libfws/spring/boot/test/features/test-context.txt b/pl/java/libfws/spring/boot/test/features/test-context.txt new file mode 100644 index 000000000..82858bc9f --- /dev/null +++ b/pl/java/libfws/spring/boot/test/features/test-context.txt @@ -0,0 +1,2 @@ +2024 +https://habr.com/ru/companies/tinkoff/articles/816051/ diff --git a/pl/java/libfws/spring/messaging/kafka.txt b/pl/java/libfws/spring/messaging/kafka.txt index 9aff4fa55..6c8c69058 100644 --- a/pl/java/libfws/spring/messaging/kafka.txt +++ b/pl/java/libfws/spring/messaging/kafka.txt @@ -28,6 +28,10 @@ public class MyBean { WRITER$.write(this, SpecificData.getEncoder(out)); } +testing +2024 +https://habr.com/ru/companies/alfastrah/articles/816057/ + batching https://stackoverflow.com/questions/58492689/how-to-send-batched-data-with-spring-kafka-producer 2020 diff --git a/pl/rs/features/types/traits/articles.txt b/pl/rs/features/types/traits/articles.txt index 3a98aed2b..18e23effa 100644 --- a/pl/rs/features/types/traits/articles.txt +++ b/pl/rs/features/types/traits/articles.txt @@ -1,4 +1,5 @@ 2024 +https://habr.com/ru/articles/741458/ https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html 2023 https://priver.dev/blog/rust/traits/ diff --git a/pl/web/browsers/chrome/devtools/perf-analysis.txt b/pl/web/browsers/chrome/devtools/perf-analysis.txt new file mode 100644 index 000000000..e8c35e360 --- /dev/null +++ b/pl/web/browsers/chrome/devtools/perf-analysis.txt @@ -0,0 +1,2 @@ +2024 +https://blog.jiayihu.net/comprenhensive-guide-chrome-performance/ diff --git a/science/ai/offline-local/tabby.txt b/science/ai/offline-local/tabby.txt new file mode 100644 index 000000000..15aae68b1 --- /dev/null +++ b/science/ai/offline-local/tabby.txt @@ -0,0 +1,5 @@ +https://tabby.tabbyml.com/ + +https://github.com/TabbyML/tabby + +https://tabby.tabbyml.com/docs/quick-start/installation/docker/