Для работы с Firebird DB в IDE Lazarus есть уже готовые компоненты. Используя их, можно успешно проводить sql-транзакции, отображать результат на стандартных визуальных компонентах.
воскресенье, 24 марта 2013 г.
среда, 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
Ярлыки:
создание бранча,
создание ветки,
bash,
checkout,
create branch,
fetch,
git,
heads,
origin,
pull,
push,
refs,
track
воскресенье, 10 марта 2013 г.
Firebird DB: создание простого primary key auto increment
Проблема
В Firebird по-умолчанию невозможен автоинкремент первичных ключей, как это, например, возможно в MySQL.Для реализации auto increment для первичного ключа будем использовать триггеры.
Ярлыки:
автоинкремент,
первичный ключ,
alter,
auto increment,
create table,
create trigger,
Firebird,
generator,
primary key,
SQL,
trigger
вторник, 5 марта 2013 г.
Javascript. Остановка setTimeout в рекурсивных функциях
Задача
Порой, для отслеживания каких-либо операций или событий по таймауту (например, содержимого тектового поля, которое, как известно, можно изменить в обход нативных обработчиков событий), применяют рекурсивные функции, вызываемые с помощью setTimeout (setInterval не подходит, так как технология использования setTimeout гарантированно позволяет выполнять определенные действия через равные промежутки времени, в то время, как setInterval не гарантирует равную величину временных промежутков. Подробнее.)
Ярлыки:
анонимная функция,
замыкание,
рекурсия,
clearTimeout,
closure,
javascript,
setInterval,
setTimeout
Подписаться на:
Сообщения (Atom)