Иногда нет возможности запускать тесты из консольного приложения, что делает невозможным логгирование вывода стандартными средствами. Что бы, к примеру, запущенная после коммита процедура сборки/тестирования, в случае ошибки, бросила в почту разработчикам лог с непрошедшими тестами.
Для решения на скорую руку был набросан простенький класс (чуть более чем полностью слизанный с TextTestRunner), позволяющий логгировать все в файл - FileTestRunner
Проверен на D2009.
Краткие заметки по ит-шным темам, с которыми я сталкиваюсь. Чаще это вопросы работы с СУБД и прикладной разработки.
понедельник, 29 марта 2010 г.
среда, 24 марта 2010 г.
Упрощение CheckException в DUnit с помощью анонимных функций
К сожалению, для проверки функции на возврат исключения возможен только для процедуры типа:
TTestMethod = procedure of object;Легким движением руки(наследником или правкой оригинального класса) для свежих версий Delphi упрощаем написание таких тестов:
procedure CheckException(AMethod: TTestMethod; AExceptionClass: TClass; msg :string = '');
TTestProc2 = reference to procedure;
TTestCase2 = class(TTestCase)
public
procedure CheckException2(AMethod: TTestProc2; AExceptionClass: TClass; msg :string = '');
end;
Пример использования:
...
CheckException2(procedure begin DirDelete(TestDir); end, EInOutError);
понедельник, 8 марта 2010 г.
Разработка - это борьба с антивирусами
На днях, Касперский начал ругаться на один из пакетов нашей системы обновлений. В пакете (7z архив), от 11 сентября 2009 года лежал инсталятор сделанный InnosSetup, внутри которого и лежал якобы зараженный файл.
Беглый анализ этого яйца КБ на VirusTotal показал, что ругается только Касперский, на какой-то никому известный троян, что явно указывало на ложное срабатывание. Проблемы была отложена на неделю, в надежде что рассосется :)
Но практика показала, что даже ложные сигнатуры, как те вирусы, расползаются по мелким антивирусным компаниям безо всяких проверок. Через 2 недели уже 10-ток антивирусов определяли файл как зараженный! Но при этом среди них не было ни одной крупной компании.
Приятно был поражен, что после отправки комплейна в лабораторию Касперского, ложное срабатывание было подтверждено в течение часа (и это 8-го марта!).
Беглый анализ этого яйца КБ на VirusTotal показал, что ругается только Касперский, на какой-то никому известный троян, что явно указывало на ложное срабатывание. Проблемы была отложена на неделю, в надежде что рассосется :)
Но практика показала, что даже ложные сигнатуры, как те вирусы, расползаются по мелким антивирусным компаниям безо всяких проверок. Через 2 недели уже 10-ток антивирусов определяли файл как зараженный! Но при этом среди них не было ни одной крупной компании.
Приятно был поражен, что после отправки комплейна в лабораторию Касперского, ложное срабатывание было подтверждено в течение часа (и это 8-го марта!).
вторник, 2 марта 2010 г.
97 заметок архитекторам и разработчикам
Уж не знаю, откуда возник такой формат, но есть две замечательные серии статей, по 97 штук, с краткими заметками в области разработки и проектирования ПО. В оригинале они на английском, но есть частичный перевод от avl:
97 Things Every Programmer Should Know
97 Things Every Programmer Should Know
- оригинал - http://programmer.97things.oreilly.com/wiki/index.php/Edited_Contributions
- перевод - http://avl.livejournal.com/tag/97_things_programmer_should_know
- оригинал(уже недоступен) - http://97-things.near-time.net/wiki/97-things-every-software-architect-should-know-the-book
- перевод - http://avl.livejournal.com/tag/97_things_architect_should_know
- для печати - http://docs.google.com/View?id=ddcq7655_199dq3bwfv4
понедельник, 1 марта 2010 г.
MindTheBird! - УпомяниПроПтица!
Как многие помнят, я, в силу исторических причин, большой любитель, и более того фанат, такого замечательного продукта, как СУБД Firebird.
В скором времени, выходит его новая версия 2.5, в которой разработчики в очередной раз радуют нас множеством вкусностей:
А желающие принять более активное участи, могут заработать 500$ за работу с логотипом ФБ, или получить лицензию FastReport за привлечение новых участником.
В скором времени, выходит его новая версия 2.5, в которой разработчики в очередной раз радуют нас множеством вкусностей:
- новая промежуточная архитектура SuperClassic
- управление пользователями из SQL
- долгожданный многими ALTER VIEW
- автономные транзакции
- гетерогенные запросы к внешним базам FB через EXECUTE STATEMENT
- роль RDB$ADMIN
- трассировка работы
А желающие принять более активное участи, могут заработать 500$ за работу с логотипом ФБ, или получить лицензию FastReport за привлечение новых участником.
четверг, 18 февраля 2010 г.
Miranda + Skype
Будучи заядлым любителем такаого истинно правильного IM клиента как miranda, я ощущал жуткий дискомфорт, из-за того, что с некоторыми людьми приходилось общаться через родной клиент от Skype.
Последний я здорово уважаю за звук и конференции, и с удовольствием звоню через него, но IM в нем...
Да много удобнее иметь на флешке шифрованную базу Миранды с логами общения за последние 5 лет, чем по меньшей мере 3 разрозненные инсталяции Скайпа.
Но вот недавно, обновляя Миранду, в списке наиболее популярных заметил плагин-обертку, который позволяет дергать существующую инсталяцию скайпа через Миранду - рекомендую.
Последний я здорово уважаю за звук и конференции, и с удовольствием звоню через него, но IM в нем...
Да много удобнее иметь на флешке шифрованную базу Миранды с логами общения за последние 5 лет, чем по меньшей мере 3 разрозненные инсталяции Скайпа.
Но вот недавно, обновляя Миранду, в списке наиболее популярных заметил плагин-обертку, который позволяет дергать существующую инсталяцию скайпа через Миранду - рекомендую.
суббота, 13 февраля 2010 г.
Desktop-интерфес на html?
На днях, долго выбираемй мной домашний антивирус avast!, заполучил довольно симпатичный новый внешний вид(откровенно говоря старый был жутковат). Проходясь по UI в поисках возможности временного отключения резидентной защиты(кстати эта возможность появилась - правда не так удобно как в Касперском) я набрел на форму "О программе", где вычитал, что построен новый интерфейс с использованием библиотеки HTMLayout.
Вспоминая мучения во время разработки пользовательского интерфейса на Delphi - интересная это в общем штука, позволяет привнести в мир desktop разработки все прелести html/css:
Использует ее уже достаточно много крупных компаний, так что для приложений, требующих развитого UI, можно пробовать. Пока хорошей/популярной обертки для Delphi нет, но начало уже положено.
Подробнее, в интервью с разработчиком, можно почитать здесь
Вспоминая мучения во время разработки пользовательского интерфейса на Delphi - интересная это в общем штука, позволяет привнести в мир desktop разработки все прелести html/css:
HTMLayout – это, грубо говоря, веб-браузер, который Windows-программист может встроить в свою программу и, таким образом, построить интерфейс программы на базе DHTML
Использует ее уже достаточно много крупных компаний, так что для приложений, требующих развитого UI, можно пробовать. Пока хорошей/популярной обертки для Delphi нет, но начало уже положено.
Подробнее, в интервью с разработчиком, можно почитать здесь
Подписаться на:
Сообщения (Atom)
