Просмотр сообщений в: Касса-онлайн

Тестовая таблица

create table pg_temp.test(
   id serial primary key,
   title text,
   author_id int,
   created date
);
insert into pg_temp.test (title, author_id, created)
select md5(random()::text),(100*random())::int,now() - '1 day'::interval * (random()::int * 100 + 100)
from generate_series(1,10)

DOCKER

запустить Докер-контейнер

$ docker run container_name

список всех запущенных контейнеров

$ docker ps

список всех контейнеров

$ docker ps -a

остановить контейнер

$ docker stop container_name

удалить контейнер

$ docker rm container_name|container_id

удалить много контейнеров

$ docker rm $(docker ps -a -q -f status=exited)

Эта команда удаляет все контейнеры, у которых статус exited. Флаг -q возвращает только численные ID, а флаг -f фильтрует вывод на основе предоставленных условий. Последняя полезная деталь — команде docker run можно передать флаг --rm, тогда контейнер будет автоматически удаляться при завершении. Это очень полезно для разовых запусков и экспериментов с Докером.

Запустить Докер и сделать порты публичными, открепить терминал от запущенного контейнера.

$ docker run -d -P conteiner_name



Проверка, входит ли узел дерева Cement (code=5) в Construction Material/Fixtures(code=1)

WITH RECURSIVE sub_category(code, name, parent_code, level) AS (
	SELECT code, name, parent_code, 1 FROM goods_category WHERE code=5 /* код проверяемого элемента */
	UNION ALL 
	SELECT c.code, c.name, c.parent_code, level+1
	FROM goods_category c, sub_category sc
	WHERE c.code = sc.parent_code  
) 
SELECT CASE WHEN exists(SELECT 1 FROM sub_category WHERE code=2 /*код корня поддерева, куда проверяется вхождение*/)
	THEN 'true' 
	ELSE 'false' 
	END

Путь к узлу от корня

WITH RECURSIVE sub_category(code, name, parent_code, level) AS (
	SELECT code, name, parent_code, 1 FROM goods_category WHERE code=5 /* код узла */
	UNION ALL 
	SELECT c.code, c.name, c.parent_code, level+1
	FROM goods_category c, sub_category sc
	WHERE c.code = sc.parent_code  
)
SELECT code, name, parent_code, (SELECT max(level) FROM sub_category) - level AS distance FROM sub_category;


Выборка поддерева по заданному узлу

WITH RECURSIVE sub_category(code, name, parent_code, level) AS (
	SELECT code, name, parent_code, 1 FROM goods_category WHERE code=1 /* код заданного узла поддерева */
	UNION ALL 
	SELECT c.code, c.name, c.parent_code, level+1
	FROM goods_category c, sub_category sc
	WHERE c.parent_code = sc.code  
)
SELECT code, name, parent_code, level FROM sub_category;


Файл автокомплитов sublime-text для Webix

Создать файл с именем webix.sublime-completions и поместить его в /home/здесь имя пользователя/.config/sublime-text-3/Packages/User (если вы в linux)

{
   "scope": "source.js",

   "completions":
   [
      { "trigger": "console", "contents": "console.log(\"$1\",$0);" },
      { "trigger": "message", "contents": "webix.message({type:'error', text:'$1'});" },
      { "trigger": "text", "contents": "{ view:\"text\", name:\"$1\", label:\"\" }" },
      { "trigger": "combo", "contents": "{ view:\"combo\", name:\"$1\", label:\"\", options:[]}" },
      { "trigger": "richselect", "contents": "{ view:\"richselect\", name:\"$1\", label:\"\" , options:[]}"},
      { "trigger": "button", "contents": "{ view:\"button\", label:\"$1\", click: () => {} }"  },
      { "trigger": "form", "contents": "{ view:\"form\", elements:[\n\t\"$1\"\n] }" },
      { "trigger": "cols", "contents": "{ cols:[\n\t$1\n] }" },
      { "trigger": "rows", "contents": "{ rows:[\n\t$1\n] }" },
      { "trigger": "getservice", "contents": "this.app.getService('$1').getValue();" },
      { "trigger": "setservice", "contents": "this.app.setService('$1',{\n\tgetValue: () => {\n\t\t\n\t}\n});" },
      { "trigger": "waitSave", "contents": "waitSave(() => {\n\t\n}).then((obj) => {\n\tconsole.log(obj);\n});" },
      { "trigger": "callEvent", "contents": "this.app.callEvent(\"$1\", []);" },
      { "trigger": "on", "contents": "this.on(this.app, \"eventName\", () => {\n\tdo_somethin();\n});" },
      { "trigger": "loadBranch", "contents": "loadBranch($1,null,\"server/\")\n.then( (data) => {\n\t\n});" },
      { "trigger": "ajax", "contents": "webix.ajax().get(\"server/.php\",{\n\tcmd:\"set_\",\n\tparam: param\n}).then((data) => {\n\tconsole.log(\"data\", data.json()); \n});" }
   ]
}



Страницы:12