Настройки консоли PostgreSQL

В названии слишком громко сказано. Настраивать будем не всю консоль, я только строку приглашения (PROMPT)
Зачем это нужно? Зачастую бывает что откртыто в разных окошках по несколько баз данных. Одна отладочная, другая боевая… И можно совершенно случайно запустить запрос не на той базе. Да, возможно это не совсем правильно держать постоянно открытой консоль боевой базы. Но лень двигатель прогресса. Поэтому возникает задача как-то обозначить где какая база. Легче всего это сделать через разное оформление строки приглашения (PROMPT), которую показывает psql.
Читать далее

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

Узнать структуру таблицы PostgreSQL

Иногда требуется узнать структуру таблицы в базе данных. Для MySQL существует куча вариантов. С PostgreSQL все чуть сложней.
Если есть pgphpadmin или другая утилита для администрирования базы, то там как правило можно просмотреть колонки их тип и прочие параметры. В консоли psql так же есть способ узнать информацию о таблице, но он не так очевиден.

SELECT column_name, column_default, data_type 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE table_name = 'my_table';

Этот запрос возвращает название колонки, ее значение по умолчанию и тип данных. Если этого недостаточно, то можно «поэкспериментировать» со столбцами из таблицы INFORMATION_SCHEMA.COLUMNS и добавить то что необходимо.

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

SH — получить директорию скрипта

Часто при написании shell скриптов на sh надо узнать директорию в которой собственно находится файл скрипта.
Один из рабочих способов:

SCRIPT_FILE=`readlink -e $0`
SCRIPT_FOLDER=`dirname $SCRIPT_FILE`
Оставить комментарий

Прозрачный слой

При сложной верстке случается что слои перекрывают друг друга. Визуальной прозрачности просто достичь с помощью CSS стилей.

background: none;

или

background: transparent;

Но при этом может возникнуть проблема с событиями мыши. Так в некоторых браузерах верхний слой «не пропускает» клики, либо перемещение курсора в нижний слой, где собственно и находятся обработчики. Одним из вариантов решения задачи может быть дублирование в верхнем слое обработчиков из нижнего. Но это не слишком правильно. Можно указать для слоя стиль

pointer-events: none;

И он станет «прозрачным» для курсора мыши.

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

Обработка изменений в поле input

При разработке пользовательского интерфейса часто надо отслеживать изменения в полях ввода «налету», средствами JavaScript.
Самый простой способ это отлавливать событие onkeyup и проверять содержимое поля. Событие возникает после нажатия любой клавиши на клавиатуре, когда значение в поле input или textarea уже изменилось.

Обработка keyup покрывает почти все возможне моменты. Но возникают проблемы при вставке текста из буфера обмена (с помощью мыши — клик правой кнопкой и выбор пункта «Вставить»), а также если пользователь выбрал значение из списка автодополнения, которое показывает браузер. В этом случае события keyup не происходит и алгоритм дает сбой.
Читать далее

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

Использование SVN при deploy

Часто возникает задача публикации (деплоя, deploy) файлов из SVN репозитория на сервере. Зачастую эта задача осложняется тем что SVN создает в каждой папке подкаталог .svn, который содержит кучу файлов. И этим файлам совсем не место на рабочем сервере.
Читать далее

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

Вложенные формы в HTML

Опять наткнулся на этот баг. Если есть на странице две вложенные формы, то при отправке внешней формы браузер отправляет поля, которые идут до внутренней формы. А остальные поля просто теряются.
Читать далее

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

Работа с PDF в Линукс

Заметка немного выходит за обычные рамки. Но это просто что-бы не забыть.
Принтера у меня своего нет. Но иногда надо что-то печатать. И почти всегда это несколько документов, в разных форматах и с разным количеством копий. Чтобы не тратить свое время в интернет кафе и сервисах печати объясняя что и как печатать я поступаю следующим образом.
Читать далее

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

Про SSH

SSH пользуются многие и возможно то что я здесь напишу это прописные истины но все же…
Для начала расскажу про подключение с использованием ключей RSA.
Читать далее

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

Не работает консоль Firebug на сайте Magento

При разработке модуля для магазина на Magento наткнулся на довольно забавный баг. При использовании в Javascript коде конструкций вид

console.debug('test')

в консоль Firebug ничего не выводилось. Сначала думал, что проблемы с Firefox или Firebug. Но простая проверка показала, что в другой вкладке и на другом сайт console.debug(…) работает нормально.
Поиск по интернету показал что это известная проблема сочетания «старых» версий Magento и новых версий Firebug
Читать далее

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