efim360.ru Перейти к содержимому

efim360.ru

Мир вокруг IT
  • Главная
  • Транслит RuEn
  • Fetch
  • XMLHttpRequest
  • UI Events
  • DOM
    • Миксин ParentNode
    • Интерфейс Node
    • Интерфейс Document
    • Интерфейс Element
  • URI (RFC3986)
  • File API
  • Referrer Policy
  • Контакты
  • Search

efim360.ru

  • Search
  • Главная
  • Транслит RuEn
  • Fetch
  • XMLHttpRequest
  • UI Events
  • DOM
    • Миксин ParentNode
    • Интерфейс Node
    • Интерфейс Document
    • Интерфейс Element
  • URI (RFC3986)
  • File API
  • Referrer Policy
  • Контакты
PostgreSQL | Как целое число превратить в интервал минут?

В PostgreSQL интервалы можно умножать на целые числа при помощи обычного символа звёздочки. select 5 * '1 minute'::interval; Сначала нам нужно получить интервал одной минуты. Для этого мы создаём строку ‘1 minute’ и приводим её к типу interval. После этого мы можем умножать наше целое число на наш интервал одной […]

PostgreSQL | Как целое число превратить в интервал минут?

Сумма с приращением в PostgreSQL

Иногда нужно не просто считать сумму всех элементов столбца, а считать с приращением следующего и предыдущего значения суммирования. Это из категории задач на смещение значений. Представьте, что у вас есть последовательность чисел 1, 2, 5, 10. Их общая сумма будет равна 18. Но сумма с приращением будет выглядеть иначе = ( […]

PostgreSQL | Сумма с приращением (накоплением) | Нарастающий итог

PostgreSQL | Сколько секций (партиций) создано у таблицы?

Сколько дочерних таблиц создано у родительской таблицы в PostgreSQL? select count(*) from pg_inherits where inhparent = (select oid from pg_class where relname = 't_all_dp'); Сначала нам нужно получить OID нашей родительской таблицы из представления «pg_class«. Имя нашей таблицы хранится в столбце «relname«. Затем в представлении «pg_inherits» мы отбираем все записи, […]

PostgreSQL | Сколько секций (партиций) создано у таблицы?

relpersistence - p - PostgreSQL

Как узнать ведётся ли журнал действий над таблицей в PostgreSQL или нет? При переносе больших данных из одной таблицы в другую, для ускорения процесса обычно отключают ведение журнала для новой таблицы. Для отключения логирования используется команда: ALTER TABLE a.t_clients SET UNLOGGED; После переноса данных нужно вручную включить логирование на новой […]

PostgreSQL | Как проверить логируется ли таблица или нет?

PostgreSQL | Как изменить значение последовательности?

При переносе данных из таблицы в таблицу или при переводе таблицы в секционированную из обычной, возникает потребность в изменении последнего созданного значения для новой последовательности (SEQUENCE) если она участвовала в генерации целочисленных идентификаторов первичных ключей. alter sequence a.mytable_new_seq restart with 500228059; После этого можно будет увидеть сделанные изменения select * […]

PostgreSQL | Как изменить значение последовательности?

tuple_percent - 95 - PostgreSQL

Возможны две наиболее вероятные ситуации, когда точно нужно делать VACUUM FULL в PostgreSQL: Мы сильно меняем данные в таблицах и делаем много удалений (операций DELETE). Сотнями тысяч в сутки, и даже более. При этом место на диске не освободилось для операционной системы. Запросы начинают замедляться. Таблицы засоряются старыми ненужными страницами, […]

PostgreSQL | Когда нужно делать VACUUM FULL для таблицы или …

PostgreSQL | VACUUM FULL без блокировки таблицы

Именно таким поисковым запросом хочется описать суть проблемы с очисткой таблицы, для полного освобождения пустых и уже ненужных страниц данных для операционной системы. VACUUM FULL ВСЕГДА БЛОКИРУЕТ ТАБЛИЦУ ДАЖЕ ДЛЯ ЧТЕНИЯ (актуально на осень 2023)! Но проблему можно решить зайдя с другой стороны.   Какие предпосылки у такого рода запроса? […]

PostgreSQL | VACUUM FULL без блокировки таблицы

PostgreSQL | insert into пропускать в случае конфликта

Перенос данных между таблицами может иметь продолжительный период. Например если таблица весит пару сотен гигабайт, а хранилище работает на HDD дисках и эти диски читают другие приложения. В результате будет разумным перенести сначала более ценные записи таблицы, а уже потом все остальные. Под ценными данными каждый будет понимать что-то своё. Но […]

PostgreSQL | insert into пропускать в случае конфликта

Группировка с чередованием по признаку повторяемости значения - PostgreSQL

Часто на сайте нужно что-то подсветить или разукрасить. А иногда, для удобства восприятия человеком, нужно чередовать тематически схожие элементы. Например когда нужно цветами чередовать записи в HTML-таблице. Но нюанс заключается именно в том, что чередование происходит не между отдельными записями таблицы, а между группами записей под какое-то определённое условие. Пример […]

PostgreSQL | Чередование значения столбца на 0 или 1 в …

PostgreSQL | Два символа процента и один символ процента, в чём разница?

Как экранировать «остаток от деления» — символ процента? В коде для PostgreSQL можно увидеть последовательно два символа процента «%%«. Мы понимаем, что это может быть обычная строка с типом text или даже шаблон регулярного выражения. Но! Всё меняется, когда нам необходимо выполнить динамическую команду PostgreSQL с использованием оператора «остаток от деления», […]

PostgreSQL | Два символа процента и один символ процента, в …

Узнали дату последней работы процесса autovacuum для таблицы в PostgreSQL

PostgreSQL даёт возможность узнать дату последнего запуска «процесса автоматической очистки таблицы» (autovacuum) в базе данных. Для этого нужно обратиться к системному представлению, которое называется «pg_stat_user_tables«. В нём нас интересует столбец «last_autovacuum«. Для идентификации нужной таблицы нам понадобятся схема (столбец «schemaname«) и имя таблицы в этой схеме (столбец «relname«). Запрос будет […]

PostgreSQL | Когда последний раз запускался autovacuum для таблицы?

Таблица с OVER и двумя разделами партициями - PostgreSQL

Чтобы не натыкаться на возможные разновидности значений в столбцах, которые может использовать OVER нужно написать «OVER()«. Просто слово «OVER» и две круглые скобки после него «()«. В таком виде PostgreSQL будет проставлять нужный результат агрегирующей функции для всех записей (строк таблицы/строк запроса) с учётом какого-либо столбца. -- Пример таблицы № […]

PostgreSQL | OVER по всем записям (строкам) таблицы (запроса)

Нажали кнопки вверх и вниз в браузере и перехватили событие - JavaScript

Как узнать какая клавиша (кнопка) на клавиатуре была нажата на HTML-странице при помощи JavaScript? Само слово ‘keydown‘ обозначает именно нажатие. То есть событие на клиенте (в браузере) срабатывает в тот момент, когда фактически клавиша клавиатуры опустилась вниз. При этом если держать клавишу и не отпускать, то событие будет срабатывать с […]

JavaScript | Событие ‘keydown’

Использование JOIN LATERAL для нормальной ссылки на столбцы в подзапросе - PostgreSQL

ERROR: ОШИБКА: в элементе предложения FROM неверная ссылка на таблицу Когда пытаешься соединять различные таблицы в одну большую и информативную, то при работе с JOIN можно получить ошибку вида: ERROR: ОШИБКА: в элементе предложения FROM неверная ссылка на таблицу "rz" LINE 2: JOIN (SELECT * FROM a.t_d WHERE r = […]

PostgreSQL | Таблица присутствует в запросе, но сослаться на неё …

Сгруппировали элементы линий в динамической CSS-сетке в массив JavaScript

Свойство «grid-template-columns» указывает список дорожек для столбцов сетки, а свойство «grid-template-rows» указывает список дорожек для строк сетки. Эти свойства определяют в виде списка дорожек, разделенных пробелами, имена линий и функции определения размеров дорожек сетки. Свойство «grid-template-columns» в родительском блоке отвечает за то, сколько столбцов должно быть в сетке на HTML-странице. Если […]

JavaScript | Как получить элементы одной линии в блоке с …

Обновление на то же самое значение - триггер без ошибки - PostgreSQL

Как в PostgreSQL запретить любое обновление всех существующих ячеек определённого столбца таблицы? Возможно только удаление записи с ячейкой. В PostgreSQL по умолчанию при создании таблицы предусматривается возможность изменения (UPDATE) любых данных, на которые не наложены какие-либо ограничения. Есть базовые ограничения первичного ключа или внешнего ключа. Также из популярных может быть […]

PostgreSQL | Запрет обновления ячеек столбца таблицы

Получили все значения из генератора через next в JavaScript

Есть массив из чисел на 11 элементов: let arr = [1,2,3,4,5,6,7,8,9,10,11]; Мы хотим получить массив из массивов, так, чтобы вложенные массивы хранили в себе по три элемента оригинального массива, начиная с начала. Если элементов недостаточно в конце массива, то всё равно добавляем те что есть, в пределах до 3 штук. […]

JavaScript | Как разделить массив по 3 элемента?

Table 63- Names of months of the year - ECMAScript

Нам нужно получить строку даты и времени, где время представлено только часами и минутами — без секунд. Как это сделать? Создадим объект Даты (Date) в JavaScript, чтобы было от чего отталкиваться: let d = new Date() Теперь мы можем получить полную строку временной метки в виде строки: d.toLocaleString() '21.07.2023, 10:46:22' […]

JavaScript | Дата и время без секунд

Функция обработки отклонённого обещания с bind(), this и ещё двумя параметрами - JavaScript

Как вынести отдельно из методов then() или catch() функцию обработки отклонённого обещания (Promise Rejected) с поддержкой передачи нужного количества параметров при помощи bind()? Что нужно запомнить? Метод bind() всегда принимает первым параметром объект, в контексте которого будет вызвана функция. Если мы просто указываем ссылку на функцию в методах then() или […]

JavaScript | Передача параметров в функцию обработки отклонённого обещания

Использование функции COALESCE в PostgreSQL при выборке данных для замены NULL-значений

NULL-значения, которые база данных отдаёт на клиент могут не представлять никакой ценности для конечного пользователя. В большинстве случаев от них нужно избавляться. Если выбирать данные из таблиц с включением NULL-значений, тогда в остальной части приложения нужно будет делать эти проверки «на NULL» и производить подмены на что-то более внятное и […]

PostgreSQL | Как подменять NULL-значение при выборке данных через SELECT?

HTML-класс x-hovered когда курсор над кнопкой в Ext JS

Файл «app.js« var button1 = Ext.create('Ext.Button', { title: 'button1 title', //html: 'button1 html', text: 'btn1txt', width: 100, height: 50 }); var button2 = Ext.create('Ext.Button', { title: 'button2 title', //html: 'button2 html', text: 'btn2txt', width: 100, height: 50 }); var button3 = Ext.create('Ext.Button', { title: 'button3 title', //html: 'button3 html', text: […]

Ext JS | Панель с тремя кнопками

Визуальное отображение Панелей в Панели в Ext JS

Рассмотрим три Панели (Panel). Всё что нам нужно — это ключ «items» у родительского объекта Панели (Panel), который хранит в себе массив с другими Панелями. var panel_two = Ext.create('Ext.Panel', { title: 'panel_two title', html: 'panel_two html', width: 200, height: 100 }); var panel_three = Ext.create('Ext.Panel', { title: 'panel_three title', html: […]

Ext JS | Как вложить Panel в Panel?

JS-файл со скриптом приложения для Ext JS

Как создать простую таблицу в Ext JS? Нам понадобятся два файла: HTML JS   HTML файл Для простоты, наш HTML файл будет иметь один элемент DIV с идентификатором равным «simpsonsDiv«. <div id="simpsonsDiv"></div> В момент отрисовки контента «Ext JS» будет искать этот контейнер для отрисовки содержимого таблицы с ячейками.   JS […]

Ext JS | Таблица | Сетка с данными

VSC - File - Add Folder to Workspace

В редакторе VSC (Visual Studio Code) можно создавать рабочее пространство с определёнными наборами папок (директорий). В официальной документации это называется «Multi-root Workspaces«. Как это сделать? Переходим в самом верхнем меню «File > Add Folder to Workspace« В диалоговом окне выбираем нужную нам папку из проводника операционной системы Нажимаем кнопку «Add« После этого […]

VSC | Как добавить ещё одну папку в explorer?

Долгая синхронная функция на JavaScript

Когда нужны «Воркеры» (Worker threads) в NodeJS? Почему тормозит NodeJS? Лучше спрашивать не «Зачем нужны«, а «Когда нужны» Воркеры. NodeJS — это однопоточная среда. То есть на один процесс приходится один поток. И в какой-то внезапный момент времени этот поток может забиться и перестать быстро работать. Вот ты разработчик. Пишешь, […]

NodeJS | Воркеры. Рабочие потоки (Worker threads). Многопоточность.

PostgreSQL | Как сделать дамп структуры базы, без данных?

SQL-команда для создания дампа структуры базы, без данных pg_dump --schema-only my_super_database > /tmp/my_super_database.schema_only.dump Что тут что? pg_dump — это название утилиты(программы), которая делает дамп. —schema-only — это ключ, который говорит утилите pg_dump, что нужно выгружать только определения объектов (схемы), без данных. my_super_database — это ваше название базы данных, из которой […]

PostgreSQL | Как сделать дамп структуры базы, без данных?

Команда pm2 uninstall pm2-logrotate для отключения продвинутых журналов

Модуль «pm2-logrotate» может вызывать загрузку процессора для NodeJS приложения более 100 процентов. Из-за этого приложение начинает медленнее работать. Вычисления производятся дольше чем обычно. Если для вас в приоритете работа приложения, а не ведение логов (журналов), тогда модуль «pm2-logrotate» нужно отключить. pm2 uninstall pm2-logrotate При помощи этой команды вы отключите продвинутое […]

PM2 | Как отключить модуль pm2-logrotate?

Узнали версию установленного пакета jsdom в npm

В консоли Linux (в терминале) переходим в нужную директорию с файлами приложения, командой «cd«. Вводим команду: npm list jsdom После этого мы сможем увидеть установленную версию нашего npm пакета «jsdom«.

NodeJS | Как узнать версию пакета jsdom?

JavaScript | Как проверить существование заглавной буквы в строке?

Нам нужно регулярное выражение, которое просто говорит есть ли заглавная буква в строке или её там нет. Для этого нужно использовать дополнительный синтаксис шаблона для работы с пространством UNICODE. RegExp(/\p{Lu}/,'u').test("http://Forumserver.twoplustwo.com") true RegExp(/\p{Lu}/,'u').test("http://forumserver.twoplustwo.com") false Подробнее функционал дизъюнкции описан в публикации «JavaScript | Проверка на символ алфавита человеческого языка«.     Информационные […]

JavaScript | Как проверить существование заглавной буквы в строке?

JavaScript | Как разрешить Обещание извне (снаружи)?

И вот однажды ты можешь задаться именно этим вопросом: «Как вручную разрешить JavaScript Обещание (Promise), не прописывая заранее логику в функции исполнителя?». Всё что тебе нужно, это вытащить наружу функцию разрешения из функции исполнителя для конкретного объекта Обещания. Для этого нужно создать любой внешний контейнер, будь то имя переменной или […]

JavaScript | Как разрешить Обещание извне (снаружи)?

JavaScript | Как создать временную паузу внутри тела функции?

Как приостановить выполнение алгоритма функции на некоторое время? В JavaScript можно создавать «ждущие функции». Это такие функции, которые умеют останавливать свою работу в определённых местах своего тела, ожидая следующей команды (события) или результата Обещания. Одной из реализаций «ждущей функции» в JavaScript является использование ключевого слова «async» перед ключевым словом «function«. […]

JavaScript | Как создать временную паузу внутри тела функции?

VSC | Как напечатать символ табуляции?

Как в редакторе Visual Studio Code с клавиатуры ввести символ табуляции вместо четырёх пробелов? Удерживая клавишу ALT нужно на мини-клавиатуре с цифрами (NUMPAD) нажать последовательно клавиши «0», «9». После этого появится стрелочка, смотрящая вправо, вместо четырёх точечек.  

VSC | Как напечатать символ табуляции?

PostgreSQL | Как ускорить создание индекса?

Замедление из-за предложения CONCURRENTLY Создание индекса с использованием слова «CONCURRENTLY» ровно в два раза замедляет процесс. Почему? Потому что на создание такого индекса нужно будет затратить два последовательных сканирования всей таблицы. Если у вас есть возможность заблокировать таблицу на какое-то время, то можете смело создавать индекс без слова «CONCURRENTLY«. Имейте […]

PostgreSQL | Как ускорить создание индекса?

Все парные перестановки без одинаковых пар - JavaScript

Есть массив из чисел (идентификаторов), в котором значения элементов упорядочены по возрастанию: let arr = [1,2,3,4]; Мы хотим создать все возможные пары чисел и сложить их в новый массив: let new_arr = []; Делаем генерацию через цикл: for(let x of arr){ for(let y of arr){ new_arr.push([x,y]) } } В первом […]

JavaScript | Как сгенерировать все возможные пары чисел из массива …

Получили русские слова из текста в виде массива - JavaScript

Текст в массив слов при помощи JavaScript Представим себе такую задачу. У нас есть текст на HTML-странице (в документе). Мы хотим получить этот текст силами JavaScript, а потом достать из текста слова и разложить их как элементы массива. Мы знаем, что слова в текстах отделяются друг от друга пробелами (минимальное […]

JavaScript | Как записать слова из текста в массив, без …

Перехват отклонённого обещания методом then() - JavaScript

Работая с JavaScript или NodeJS важно понимать как себя ведут «Отклонённые Обещания». Я говорю о таких объектах Promise, где в переданной функции «Исполнитель» была вызвана функция отклонения — reject(). То есть когда ветвление алгоритма привело нас к reject(), а не к resolve(). Называть функцию «Исполнитель» мы можем как угодно (здесь […]

JavaScript | Promise rejected | Отклонённое Обещание

Переполнили стек вызовов функций рекурсией - JavaScript

Самый простой способ — это использовать рекурсивную функцию с гарантированным условием выхода через 100000 итераций. Функция вызывает сама себя. function f(x){ x > 100000 ? console.log('Готово') : f(x+1) } f(1) Мы используем «Условный Оператор» для возвращения из функции результата. Результат работы — Ошибка «RangeError: Maximum call stack size exceeded» : […]

JavaScript | Как переполнить стек вызовов функций?

Проверили символ на принадлежность к букве алфавита - JavaScript

Как проверить, является ли символ строки буквой какого-либо алфавита любого человеческого языка? В какой-то момент работы с регулярными выражениями появляются задачи по определению принадлежности символа строки к букве какого-то языка. Причём хочется анализировать любые строки, без акцента на какой-то конкретный язык. Ведь в современных публикациях в сети интернет легко можно […]

JavaScript | Проверка на символ алфавита человеческого языка

ECMAScript | Шаблон базовой многоязычной плоскости (BMP pattern)

Basic Multilingual Plane (BMP) — Базовая многоязычная плоскость. Встречается в подразделе «Pattern Semantics» у раздела «RegExp (Regular Expression) Objects«. В общем нужно знать то, что есть два вида написания шаблона регулярного выражения в JavaScript: BMP pattern Unicode pattern Примечание 2 Например, рассмотрите шаблон, выраженный в исходном тексте как один символ […]

ECMAScript | Шаблон базовой многоязычной плоскости (BMP pattern)

Знак доллара при перестановках захватов в replace - JavaScript

Знак доллара «$» в JavaScript может использоваться в разных ситуациях. Самое простое — им можно называть имена переменных.   Глобальный объект и ключ знак доллара в свойстве, объявленный через var JavaScript позволяет задавать имена переменных, используя в качестве первого символа знак доллара — «$«. В результате, если мы объявляем переменную […]

JavaScript | Что означает знак доллара?

Безопасное обращение к объекту constructor вместо оператора typeof - JavaScript

Оглавление Введение Где можно найти документацию по работе оператора typeof из JavaScript? typeof — это зарезервированное слово в JavaScript Оператор typeof и примитивные значения в JavaScript? Главная особенность работы оператора typeof в JavaScript Оператор typeof и функция в JavaScript? constructor.name вместо typeof   Введение Полезность или бесполезность оператора typeof в […]

JavaScript | Оператор typeof

Оператор сравнения с оператором typeof - JavaScript

Введение Прежде чем проверять существование имени переменной, нужно чётко понимать разницу между способами объявления этой переменной. Если говорить точнее, то нужно различать способы регистрации нового идентификатора привязки. Я говорю о таких словах как var, let, const. Учитывайте то, что только слово var является зарезервированным словом, а слова let и const не […]

JavaScript | Как проверить существование переменной?

Удалили свойство с символьным ключом - JavaScript

Оглавление Вступление к публикации Как удалить собственное свойство объекта с строковым ключом JavaScript? Как удалить собственное свойство объекта с символьным ключом JavaScript? Как удалить наследованное свойство объекта JavaScript? Какое собственное свойство объекта JavaScript нельзя удалить? Код в строгом режиме и удаление собственного свойства объекта JavaScript Как использовать логические ответы оператора […]

JavaScript | Как удалить свойство объекта?

Отцентровали блок DIV внутри другого блока DIV силами JavaScript

Как отцентровать блок DIV внутри другого DIV по вертикали и горизонтали силами JavaScript? Идея именно в том, чтобы сделать это при помощи языка программирования JavaScript, а не через HTML-разметку или CSS-разметку. Так как мы работаем с JavaScript, то нас будут интересовать объекты интерфейсов прикладного программирования, которые встроены в браузер. Они […]

JavaScript | Как выровнять HTML-элемент DIV по центру родительского блока?

Создали HTML-элемент DIV фиксированного размера силами JavaScript

Когда мы переходим на уровень языка программирования JavaScript с уровня HTML, то все манипуляции для динамического формирования разметки ложатся на знание прикладных интерфейсов программирования и их объекты (классы объектов). Многие начинающие разработчики приходят к JavaScript из обычной вёрстки HTML. Это значит, что они уже касались стандарта, который отвечает за стилевое […]

JavaScript | Как создать HTML-элемент DIV фиксированного размера в пикселях?

Функция не дошла до выполнения return из-за throw - JavaScript

Оператор return относится к операторам «внезапного завершения» функции. Это значит, что кроме return существуют другие операторы, которые могут внезапно завершить выполнение функции. Список операторов «внезапного завершения» по стандарту ECMAScript: break continue return throw Пример функции, которая завершается из-за оператора throw перед оператором return. function f_throw(){ throw(10); return 20; }; Скриншот […]

JavaScript | Как выполнение функции может не дойти до return?

Получили дату в 13 числовом формате методом parse() в JavaScript

У нас есть число из 13 цифр. let number13 = 1646944886676; Это число является кодом UTC, который символизирует некую временную дату. Аббревиатура UTC расшифровывается как Coordinated Universal Time (Всемирное Координированное Время). Мы хотим получить какую-то внятную строку, по которой можно понять год, месяц, день, час и минуту, которые символизирует эта […]

JavaScript | UTC дату из 13 цифр в обычный человеческий …

Сколько временных файлов и какого общего размера было создано - PostgreSQL

SQL-команда, при помощи которой можно получить информацию о количестве созданных временных файлов, а также о их суммарном общем размере. select sum(temp_files) as temp_files, pg_size_pretty(sum(temp_bytes)) as temp_size from pg_stat_database; В результате можем получить что-то подобное:   Мы используем встроенное системное представление «pg_stat_database«. Оно содержит по одной строке со статистикой уровня базы […]

PostgreSQL | Сколько временных файлов и какого общего размера было …

PostgreSQL | Как получить следующее значение существующего идентификатора?

Какой первичный ключ таблицы является «следующим» для «текущего» в PostgreSQL? Очень часто приложения (сайты) с клиентской стороны требуют формирования страниц пагинаций или кнопок «следующая страница» / «предыдущая страница». Как правило они оформляются с адресами, в которые входит значение текущего идентификатора. Это число (первичный ключ) берётся из таблицы и просто транслируется […]

PostgreSQL | Как получить следующее значение существующего идентификатора?

800 миллионов байт в мегабайтах - PostgreSQL

В PostgreSQL для создания индекса таблицы (и её столбцов) предусмотрен оператор CREATE INDEX. Создать индекс можно как по одному столбцу, так и по нескольким. Создавая индексы по нескольким столбцам важно соблюдать последовательность столбцов. Разная последовательность столбцов в индексе, может давать разный результат по обработке запросов на выборку данных через оператор […]

PostgreSQL | Как создать индекс?

Навигация по записям

    • 1
    • 2
    • …
    • 36
  • Предыдущие записи Предыдущие записи

© 2023 efim360.ru – Все права защищены

Работает на WP – Разработан в Тема Customizr