воскресенье, 24 марта 2013 г.

Lazarus. Подключение к Firebird DB

Для работы с Firebird DB в IDE Lazarus есть уже готовые компоненты. Используя их, можно успешно проводить sql-транзакции, отображать результат на стандартных визуальных компонентах.

среда, 13 марта 2013 г.

TDD with PhpStorm. Class 'PHPUnit_TextUI_ResultPrinter' not found

Обновившись на новую версию PhpStorm обнаружил, что мои unittest отваливаются с ошибкой
PHP Fatal error:  Class 'PHPUnit_TextUI_ResultPrinter' not found
Перерыв Интернеты в поисках решения, в итоге нашел следующие команды, которые помогли:
pear channel-discover pear.symfony.com
pear install pear.symfony.com/Yaml
pear install --alldeps pear.phpunit.de/PHPUnit
Вполне возможно, достаточно последней команды:)

понедельник, 11 марта 2013 г.

GIT. Создание ветки

В своей работе при создании очередной ветки в GIT использую простой bash-скрипт:
#!/bin/bash

if [ $# -lt 1 ] || [ $# -gt 2 ]; then
 echo 1>&2 Usage: $0 [-c] branch_name
 exit 127
fi

if [ $# -eq 2 ] && [ $1 == "-c" ]; then
 BNAME='HEAD'
 NAME=$2
else
 BNAME='master'
 NAME=$1
fi

git pull
git push origin ${BNAME}:refs/heads/$NAME
git fetch origin
git checkout --track -b $NAME origin/$NAME

воскресенье, 10 марта 2013 г.

Firebird DB: создание простого primary key auto increment

Проблема

В Firebird по-умолчанию невозможен автоинкремент первичных ключей, как это, например, возможно в MySQL.

Для реализации auto increment для первичного ключа будем использовать триггеры.

вторник, 5 марта 2013 г.

Javascript. Остановка setTimeout в рекурсивных функциях

Задача

Порой, для отслеживания каких-либо операций или событий по таймауту (например, содержимого тектового поля, которое, как известно, можно изменить в обход нативных обработчиков событий), применяют рекурсивные функции, вызываемые с помощью setTimeout (setInterval не подходит, так как технология использования setTimeout гарантированно позволяет выполнять определенные действия через равные промежутки времени, в то время, как setInterval не гарантирует равную величину временных промежутков. Подробнее.)