JQGrid Free: вставка html в ячейку

Свободная редакция слегка отличается от не свободной. А потому вставка кода HTML в ячейку осуществляется несколько по иному:

                    {name:'deleted',       index:'deleted',fixed:true,width:15,search: false,editable:false,
                        formatter: function(cellvalue, options, rowobject){
                            if (cellvalue==true){
                                return '<i class="fas fa-times"></i>'; 
                            } else {
                                return "";
                            };
                            
                      }},  

Получается что то вроде:

PostgreSQL: расстояние между двумя координатами в метрах

Можно добавить функцию вида:

CREATE OR REPLACE FUNCTION public.distance(
	lat1 double precision,
	lon1 double precision,
	lat2 double precision,
	lon2 double precision)
    RETURNS double precision
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLARE
    R integer = 6371e3; -- Метры
    rad double precision = 0.01745329252;

    f1 double precision = lat1 * rad;
    f2 double precision = lat2 * rad;
    df double precision = (lat2-lat1) * rad;
    dl double precision = (lon2-lon1) * rad;

    a double precision = sin(df/2) * sin(df/2) + cos(f1) * cos(f2) * sin(dl/2) * sin(dl/2);
    c double precision = 2 * atan2(sqrt(a), sqrt(1-a));    
BEGIN                                                     
    RETURN R * c;        
END
$BODY$;

PostGree: удаление всех таблиц в БД

Самый простой способ, в консоли зайти в БД и выполнить скрипт:

DO $$ DECLARE
    r RECORD;
BEGIN
    FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema()) LOOP
        EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
    END LOOP;
END $$;

Автоматическое увеличение номера билда на переносе скрипта с dev в prod

Задача: при переносе ряда скриптов с dev сервера на prod сервер, автоматически увеличивать номер сборки, дабы можно было идентифицировать, с какой версии начались потенциальные проблемы у пользователей

Решение: т.к. перенос скриптов из ветки dev в ветку prod происходит скриптом на bash, то просто допишем сей функционал, в виде что-то вроде:

read version</var/www/www-root/data/www/fewrfwer.ru/version.txt;
((version++))
echo $version>/var/www/www-root/data/www/fewrfwer.ru/version.txt;
D=$(date  +%Y-%m-%d)
T=$(date +%H:%M:%S)
echo "$D" "$T" " выпущена версия $version" >> /var/www/www-root/data/www/fewrfwer.ru/hist_version.txt;

Итого имеем в файле versions.txt — текущий номер сборки, а в файле дату и время формирования новой сборки. Ну собственно этого достаточно, например для того чтобы понять когда была внесена например ошибка, а далее уже дело техники..

JavaScript: добавить лидирующий 0 к числу

Задача: добавить к числу лидирующий 0, если число однозначное, и не добавлять соответственно, если двухзначное.

Решение: есть два способа, старый, работающий во всех браузерах, и новый — для браузеров 2018 года и новее.

Способ 1:

function pad(value) {
    return ("0"+value).slice(-2);
}

Способ 2:

function pad(value) {
    return value.tostring().padstart(2, 0);
}

1 16 17 18 19 20 56