Настройки консоли 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
Читать далее

Рубрика: Magento, Полезности | Метки: , | Оставить комментарий