пятница, 31 октября 2014 г.

Копирование БД Postgres

#!/bin/sh
# Этот скрипт копирует БД mycooldb на локальный хост разработчика.
#------------------------------------ 
 
# определяем IP машины, с которой подключился пользователь "cooluser"
vmhost=`netstat -tapen | grep "sshd: cooluser" | head -n1 | awk '{split($5, a, ":"); print a[1]}'`
savebase="/home/cooluser"
dumpname="temp_postgres.dump"
savepath=$savebase"/"$dumpname
#------------------------------------ 
 
# Сохраняем полный дамп базы "mycooldb".
sudo -u postgres pg_dump -Fc -C -c mycooldb > $savepath
# Восстанавливаем базу на локальном хосте разработчика.
# Если база уже существует, удаляем её целиком. Иначе могут быть проблемы с восстановлением.
if psql  -U postgres -h $vmhost -lqt | cut -d \| -f 1 | grep -w 'mycooldb'; then
    dropdb -U postgres -h $vmhost mycooldb
fi
# Создаём пустую базу.
createdb -U postgres -h $vmhost mycooldb
# Заполняем её.
pg_restore -U postgres -h $vmhost --single-transaction --disable-triggers -Fc -d mycooldb $dumpname
# Удаляем временный файл.
rm $savepath

среда, 18 июня 2014 г.

Подчёркивания в приватных методах и свойствах - плохо

Не следует использовать подчёркивания в начале имени для приватных методов и свойств.


$this->_myPrivateMethod($this->_myPrivateVar);

Когда требуется изменить видимость, например, сделать какой-то метод публичным, то приходится изменять его имя во всём коде. Целая куча переименований - следовательно, есть высокая вероятность появления проблем.

Не используя подчёркивания, мы делаем код более защищённым. Да и просто красиво.

суббота, 10 мая 2014 г.

Заменить белый цвет на прозрачность в Photoshop

Понадобилось заменить белый цвет на прозрачность в фотошопе.

Сделать это встроенными средствами фотошопа нереально. Есть десятки способов, но ни один не даёт идеального результата.

Единственный рабочий способ - использование плагина Kill White. Увы, он работает только в старых версиях Photoshop, не в СС. Но хоть так.

воскресенье, 19 января 2014 г.

Книга Рихтера

Оставлю здесь, чтобы не потерять.

Великолепная книга Джеффри Рихтера рассказывает об использовании потоков, семафоров и прочих интересных для программиста вещей. Для программистов C++, разрабатывающих приложения под Windows.

Самое главное, подробно рассказывается, как всё устроено на уровне операционной системы. Что такое "процесс", как процессы взаимодействуют, как обрабатываются исключения, как организована память, и так далее.

Джеффри Рихтер
WINDOWS
ДЛЯ ПРОФЕССИОНАЛОВ
Создание эффективных Win32-приложений
с учетом специфики
64-разрядной версии Windows
(четвёртое издание)

richter-programming-windows.pdf