Этот коммит содержится в:
Ihar Hancharenka 2024-05-03 10:39:45 +03:00
родитель 5381b792f7
Коммит d1bbe8417f
16 изменённых файлов: 251 добавлений и 24 удалений

Просмотреть файл

@ -53,7 +53,7 @@ Geopolitics
https://boosty.to/den_club/posts/f198877e-c804-4ca3-8948-808f6aec3a46
2024
DayClub - Zakaznoe Fuflo 15:00 of 1:55:01
DayClub - Zakaznoe Fuflo 45:00 of 1:55:01
https://boosty.to/den_club/posts/d2dcfcfa-01ea-4216-a3ba-a08edab16a49
! AUKUS is very rich for usefull iskopaemye
DayCenter - SecretSocietiesAndVatican - Lection 11 - Intelligence of Vatican 36:00 of 1:44:58

Просмотреть файл

@ -4,7 +4,7 @@ SciencePRO - Smirnov - About Efremov of 4 parts
https://nday.club/faces/d-meleshin
2024
NDay - Melyoshin - Listov - Ivan Efremov Against Sex Revolution 5:00 of 1:01:21
NDay - Melyoshin - Listov - Ivan Efremov Against Sex Revolution 25:00 of 1:01:21
https://nday.club/video/ivan-efremov-protiv-seksualnoy-revolyucii-
2023
ConceptualSenses - Suchkov - Hour of Bull Prophetity of 54:56

Просмотреть файл

@ -1,5 +1,5 @@
2024
Fillipovskiy13 - Why TW is so Important for ZH of 1:27:15
Fillipovskiy13 - Why TW is so Important for ZH 39:00 of 1:27:15
https://www.youtube.com/watch?v=lI_fj1vF8qY
2023
DayTV - Shishkin - Krupnov - Dying ZH of 47:28

11
os/editors/neovim/dist/nvchad/cfg/cfg.txt поставляемый
Просмотреть файл

@ -23,17 +23,6 @@ lua/
https://github.com/search?q=language%3Alua+config.lua&type=repositories
https://github.com/NvChad/NvChad/issues/1868
https://github.com/NvChad/NvChad/issues/1868#issuecomment-1502940186
custom/configs/overrides.lua
https://github.com/NvChad/NvChad/issues/2020
lua/custom/abc.lua
Current line and column in status line
https://github.com/NvChad/NvChad/issues/1562
https://github.com/NvChad/NvChad/issues/863
https://github.com/NvChad/ui/issues/121
samples
https://github.com/creativenull/dotfiles/blob/main/config/nvim/init.lua
https://github.com/creativenull/dotfiles/blob/main/config/nvim/init.lua#L70

1
os/editors/neovim/dist/nvchad/cfg/keymap.txt поставляемый Обычный файл
Просмотреть файл

@ -0,0 +1 @@
https://github.com/NvChad/NvChad/issues/2020

7
os/editors/neovim/dist/nvchad/cfg/lsp.txt поставляемый Обычный файл
Просмотреть файл

@ -0,0 +1,7 @@
https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#lua_ls
https://luals.github.io/#neovim-install
https://github.com/LuaLS/lua-language-server/releases
https://github.com/LuaLS/lua-language-server/releases/download/3.8.3/lua-language-server-3.8.3-linux-x64.tar.gz
https://github.com/williamboman/mason.nvim/issues/995

4
os/editors/neovim/dist/nvchad/cfg/samples.txt поставляемый Обычный файл
Просмотреть файл

@ -0,0 +1,4 @@
https://docs.rockylinux.org/ru/books/nvchad/template_chadrc/
https://github.com/nightn/custom-NvChad/tree/main
https://github.com/nightn/custom-NvChad/blob/main/chadrc.lua

57
os/editors/neovim/dist/nvchad/cfg/statusline.txt поставляемый Обычный файл
Просмотреть файл

@ -0,0 +1,57 @@
Current line and column in status line
https://github.com/NvChad/NvChad/issues/1562
https://github.com/NvChad/NvChad/issues/863
https://github.com/NvChad/ui/issues/121
~/.local/share/nvim/lazy/
base46/lua/base46/integrations/statusline/default.lua
colors only
ui/lua/nvchad/stl/default.lua
...
M.cursor = "%#St_pos_sep#" .. sep_l .. "%#St_pos_icon# %#St_pos_text# %p %% "
M.ui = {
theme = "onedark",
-- theme = "gruvchad",
statusline = {
overriden_modules = function()
-- local st_modules = require "nvchad_ui.statusline.default"
local fn = vim.fn
-- local sep_l = "->"
local sep_l = "-->"
return {
cursor_position = function()
-- local line = vim.fn.line "."
-- local col = vim.fn.virtcol "."
-- -- lets store current logs
-- local cp = st_modules.cursor_position()
-- return cp .. string.format("%3d:%-2d", line, col)
local line = fn.line "."
local col = fn.virtcol "."
local chad = string.format(" %d:%d", line, col) .. " │ "
-- default cursor_position module
local left_sep = "%#St_pos_sep#" .. sep_l .. "%#St_pos_icon#" .. " "
local current_line = fn.line "."
local total_line = fn.line "$"
local text = math.modf((current_line / total_line) * 100) .. tostring "%%"
text = string.format("%4s", text)
text = (current_line == 1 and "Top") or text
text = (current_line == total_line and "Bot") or text
local result = left_sep .. "%#St_pos_text#" .. chad .. text .. " "
return result
end,
}
end,
},
}

1
os/editors/neovim/dist/nvchad/cfg/themes.txt поставляемый Обычный файл
Просмотреть файл

@ -0,0 +1 @@
https://nvchad.com/themes/

1
os/editors/neovim/dist/nvchad/cfg/ui.txt поставляемый Обычный файл
Просмотреть файл

@ -0,0 +1 @@
https://nvchad.com/docs/config/nvchad_ui/

Просмотреть файл

@ -13,3 +13,4 @@ https://nvchad.com/news/v2.5_release/
# Some users have plugins.lua instead of plugins dir/ so move it in the plugins dir
[ -e lua/plugins.lua ] && mv lua/plugins.lua lua/plugins/myplugins.lua
...
https://nvchad.com/news/v2.0_release/

8
os/editors/neovim/dist/nvchad/nvchad.txt поставляемый
Просмотреть файл

@ -21,3 +21,11 @@ https://docs.rockylinux.org/books/nvchad/nvchad_ui/plugins_manager/
https://github.com/NvChad/nvcommunity
NvChad community repo for sharing plugin configurations
:Nvdash
dashboard
https://nvchad.com/docs/features/#dashboard
themes
mappings
...
:NvCheatsheet

50
os/editors/neovim/plugins/manager/mason.txt Обычный файл
Просмотреть файл

@ -0,0 +1,50 @@
https://github.com/williamboman/mason.nvim
https://github.com/williamboman/mason.nvim/tree/main/doc
https://github.com/williamboman/mason.nvim/blob/main/doc/mason.txt
https://github.com/williamboman/mason.nvim/blob/main/doc/reference.md
:h
lsp
mason-help-guide, mason.nvim
mason-commands
mason-debugging
mason-settings
mason-default-settings
mason-how-to-use-packages
LSP: `lspconfig` & `mason-lspconfig.nvim`
:LspLog
~/.local/state/nvim/lsp.log
:LspInfo
:Mason
open mason ui window
:MasonInstall
lua-language-server
lua-language-server@v3.0.0
https://github.com/williamboman/mason.nvim/issues/995
:MasonInstall --target=linux_x64_gnu lua-language-server
:MasonUpdate
:MasonLog
~/.local/state/nvim/mason.log
:checkhealth mason
~/.local/share/nvim/mason
bin
lua-language-server@ -> ~/.local/share/nvim/mason/packages/lua-language-server/lua-language-server
packages/
lua-language-server/
libexec/log/
service.log
...
share/mason-schemas/lsp/
lua-language-server.json@ -> ~/.local/share/nvim/mason/packages/lua-language-server/mason-schemas/lsp.json
mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 1. Remaining: 59. Limit: 60. Reset: Fri 03 May 2024 09:29:17 AM +03.
Install and authenticate via gh-cli to increase rate limit.
to-look
https://www.reddit.com/r/neovim/comments/15qxb2l/is_there_a_way_to_make_setting_up_lsps_only_very/
:LspConfig

Просмотреть файл

@ -1,13 +1,3 @@
dnf
Skipping packages with conflicts:
(add '--best --allowerasing' to command line to force their upgrade):
qt6-qtbase x86_64 6.7.0-3.fc40 updates 4.1 M
qt6-qtbase-gui
...
Skipped:
qt6-qtbase-6.7.0-3.fc40.x86_64
qt6-qtbase-gui-6.7.0-3.fc40.x86_64
https://wiki.archlinux.org/title/PulseAudio
https://wiki.gentoo.org/wiki/PulseAudio
https://habr.com/ru/articles/106806/

Просмотреть файл

@ -173,3 +173,119 @@ SELECT * FROM pg_stat_io WHERE io_context IN ('bulkread', 'bulkwrite') AND (read
В общем, вариантов запросов к представлению много, все зависит от вашей задачи. Расследование проблем с операциями ввода/вывода всегда было важной задачей для администратора PostgreSQL. С новым представлением pg_stat_io теперь очень легко и быстро можно получить как общую картину по операциям чтения и записи, так отдельно по определенному процессу или контексту.
*****************************************
В PostgreSQL, операция Seq Scan (https://t.me/pg_guru/544) (последовательное сканирование) и Index Scan (https://t.me/pg_guru/146) (сканирование индекса) - это два основных метода доступа к данным, которые используются для выполнения запросов.
✅ Seq Scan (Последовательное сканирование):
В этом методе PostgreSQL сканирует таблицу последовательно, от начала до конца, чтобы найти строки, удовлетворяющие условиям запроса.
Seq Scan подходит для таблиц с небольшим количеством строк или когда PostgreSQL считает, что использование индексов для доступа к данным неэффективно из-за большого количества строк или других факторов.
📌 Этот метод может быть медленным для больших таблиц, поскольку требует полного сканирования всей таблицы.
✅ Index Scan (Сканирование индекса):
В этом методе PostgreSQL использует индекс для поиска строк, соответствующих условиям запроса.
Индекс Scan может быть значительно более быстрым, чем Seq Scan, особенно для запросов, которые выбирают небольшое количество строк из большой таблицы.
📌 Однако использование индексов не всегда эффективно, особенно если выбираемые данные включают большую часть таблицы или если индекс имеет низкую кардинальность (т.е. много строк с одинаковыми значениями в индексе).
Иногда PostgreSQL может выбрать Sequential Scan, даже если индекс существует, если он считает, что Sequential Scan будет более эффективным.
✅ Вывод команды EXPLAIN в PostgreSQL может показать, какой из этих методов использовался для выполнения запроса, а также другие детали, такие как, какие индексы использовались, и оценки стоимости операции.
Помимо Seq Scan и Index Scan, PostgreSQL поддерживает и другие методы доступа к данным, которые могут использоваться для выполнения запросов. Некоторые из них включают:
✅ Bitmap Index Scan (Сканирование битовой карты индекса):
Этот метод используется, когда несколько индексов объединяются для выполнения запроса с использованием операции битовой карты.
PostgreSQL создает битовую карту для каждого индекса, указывая, какие строки удовлетворяют условиям запроса, а затем объединяет их, чтобы определить, какие строки соответствуют всем условиям запроса.
✅ Bitmap Heap Scan (Сканирование битовой карты кучи):
Этот метод используется после Bitmap Index Scan для получения фактических строк из таблицы.
PostgreSQL использует битовую карту, чтобы определить, какие строки получить из таблицы.
✅ TID Scan (Сканирование по идентификатору строки):
Этот метод используется, когда PostgreSQL уже знает идентификаторы (TID) строк, которые нужно получить.
Обычно это происходит в результате других операций сканирования или операций слияния.
✅ Index Only Scan (Только сканирование индекса):
Этот метод используется, когда все запрошенные столбцы могут быть получены непосредственно из индекса, без обращения к фактическим строкам таблицы.
📌 Это более эффективно, чем обычное сканирование индекса, так как PostgreSQL может избежать обращения к данным таблицы.
✅ Nested Loop (Вложенный цикл):
Этот метод используется для выполнения соединений между таблицами.
PostgreSQL сканирует одну таблицу и использует результаты сканирования для поиска соответствующих строк в другой таблице.
✅ Hash Join (Хэш-соединение):
Этот метод используется для выполнения соединений между таблицами, основываясь на хэшировании значений соединяемых столбцов.
PostgreSQL хэширует значения из одной таблицы и использует их для быстрого поиска соответствующих значений в другой таблице.
✅ Эти методы используются в различных сценариях выполнения запросов и могут быть комбинированы PostgreSQL в различные способы для оптимизации выполнения запросов. Вывод команды EXPLAIN позволяет увидеть, какие методы использовались PostgreSQL для выполнения конкретного запроса.
*****************************************
Рассмотрим более подробно метод доступа к данным Index Only Scan (только сканирование индекса).
✅ Другие методы доступа к данным в PostgreSQL которые используются для выполнения запросов мы рассмотрели ранее (https://t.me/pg_guru/697). 
✅ Index Only Scan (только сканирование индекса) - это оптимизация запроса в PostgreSQL, которая позволяет выполнять запросы, используя только индексы, без необходимости обращаться к фактическим данным таблицы. Это особенно полезно в случаях, когда все необходимые столбцы для выполнения запроса уже содержатся в индексе.
Вот как это работает:
📌 Предпосылки:
Для того чтобы использовать Index Only Scan, PostgreSQL должна иметь доступ к индексу, который покрывает все столбцы, используемые в запросе, включая столбцы, которые возвращаются в результирующем наборе данных.
📌 План выполнения запроса:
Планировщик запросов PostgreSQL решает, следует ли использовать Index Only Scan или нет, основываясь на статистике и стоимости доступа к данным. Если PostgreSQL решает, что Index Only Scan более эффективен, он будет использован.
📌 Использование индекса:
Когда выполняется Index Only Scan, PostgreSQL анализирует предикаты запроса и определяет, какие строки данных нужно извлечь. Затем он использует индекс, чтобы найти соответствующие строки данных, не обращаясь к самим данным в таблице.
📌 Получение данных из индекса:
После того как PostgreSQL находит соответствующие записи в индексе, он извлекает только необходимые столбцы из индекса, а не обращается к данным в самой таблице. Это делает выполнение запроса более эффективным, так как нет необходимости загружать дополнительные данные из таблицы.
📌 Ограничения:
Важно отметить, что Index Only Scan не всегда возможен. Например, если запрос включает столбцы, которые не были включены в индекс, или если таблица содержит большое количество обновлений, которые могут привести к несоответствиям индекса и данных, то PostgreSQL может решить, что Index Only Scan не является подходящим.
✅ В целом, Index Only Scan является мощным инструментом оптимизации запросов в PostgreSQL, который может значительно улучшить производительность при правильном использовании.
Для примера предположим, у нас есть таблица users с колонками id, name и age, и у нас есть индекс по колонке age.
CREATE TABLE users (
  id SERIAL PRIMARY KEY,
  name VARCHAR(100),
  age INTEGER
);
CREATE INDEX idx_age ON users(age);
Теперь допустим, мы хотим выбрать имена пользователей и их возраст, которые старше 30 лет. Мы можем написать запрос следующим образом:
SELECT name, age
FROM users
WHERE age > 30;
Если PostgreSQL решает использовать Index Only Scan, то он может извлечь имена и возраст пользователей, используя только индекс idx_age, не обращаясь к данным в таблице users.
✅ Важно помнить, что использование Index Only Scan зависит от множества факторов, включая статистику данных, размер таблицы, а также текущие нагрузки на базу данных.
✅ PostgreSQL автоматически принимает решение о том, следует ли использовать метод Index Only Scan для выполнения запроса или нет, на основе статистики данных и стоимости доступа к ним. Это решение принимается оптимизатором запросов PostgreSQL в процессе составления плана выполнения запроса.
✅ Оптимизатор запросов PostgreSQL анализирует доступные индексы, статистику данных и другие факторы, чтобы решить, какие методы выполнения запроса будут наиболее эффективными. Если оптимизатор определяет, что использование Index Only Scan будет более эффективным, чем другие методы, то он будет выбран.
✅ В целом, хотя разработчик может влиять на выбор метода выполнения запросов в PostgreSQL, чаще всего лучшие результаты достигаются путем оптимизации структуры данных и индексов, а также написанием эффективных запросов, а не явным указанием определенных методов выполнения запросов.
*****************************************

Просмотреть файл

@ -1,4 +1,6 @@
2024
PointOfGather - Pechenkin - Masalovich - IT 2:00 of 20:36
https://www.youtube.com/watch?v=eIX02QXBNq0
PointOfGather - Trotskaya - Masalovich - 04.29 - Carlson and Durov of 37:26
https://www.youtube.com/watch?v=ZuJtnitJ8g0
PointOfGather - Kaskov - Masalovich - InfoWar by Digital Methods of 31:57