Warning! Work on site is still in progress

Logging Gotcha January 21, 2012

Любое мало-мальски уважающее себя приложение не обходится без логгирования. Конечно, ведь иначе работа аппликухи в продакшне превращается в черный ящик. Современные библиотеки позволяют сохранять информацию на различных уровнях логгирования. В проектах, в которых я участвовал, обычно используется четыре уровня логгирования: ERROR -- сюда выводится информация о критичных ошибках в системе. WARN -- используется для вывода не критичных, но все же некорректных сиптомов неправльной работы приложения INFO -- используется для вывода интересных событий происходлящих в системе DEBUG -- детальныая информация о...

Microbenchmarking with Caliper January 09, 2012

Бывает, что перед нами, разработчиками, возникает проблема выбора той или иной реализации алгоритма или структуры данных подходящей для решения текущей задачи. Чаще всего, конечно, можно воспользоваться гуглом, задать вопрос на stackoverflow, но в некоторых ситуациях ничего не остается, кроме как провести эксперименты самому. Такая инженерная практика именуется microbenchmarking. Суть микробенчмаркинга в измерении производительности (загрузки процессора, памяти или операций с сетью, диском) небольших кусков кода для того, чтобы понять какой код лучше подходит для текущего сценария. Стоит заметить, что микробенчмаркинг и...

To GWT or not to GWT May 14, 2011

Прошло время, когда web-разработка заключалась в обработке HTTP запросов и рендеринге соответсвующей html странички. Сейчас, куда не плюнь, везде требуется Rich UI. У java разработчика есть выбор: либо писать rich ui на javascript'e, либо воспользоватся GWT платформой, и писать на родимой жаве. В последнее время мне удалось поработать с GWT, итак за и против. За GWT: Не нужно учить javascript. Если вы гуру и не одну собаку съели педаля на жабе и принципиально не хотите учить javascript, то gwt в...

ZooKeeper Intro May 11, 2011

Любое распределенное приложение не может обойтись без центрального сервиса, который координирует процессы в нем. Реализовывать координацию можно, однако разработка отказоустйчивой системы координации без deadlock'ов и race conditions -- задача не из тревиальных. Проект Apache ZooKeeper призван избавить нас от решения этой проблемы. ZooKeeper -- это распределенный, open-source сервис координнации для расспределенных приложений. Он предоставляет низкоуровневый API, с помощью которого приложения могут реализовать высокоуровневые сервисы для координации и синхронизации процессов в расспредеелнной системе. API ZooKeeper'a черезвычайно прост. Распределенные процессы могут координироваться...

Не бойтесть автоматизировать April 03, 2011

Использование автоматизированных тестов на selenium в качестве приемочных тестов становится распространненой тенденцией в индустрии разработки программного обеспечения. Об этом свидельствует успех прошедшей недавно конференции Selenium Camp, на которой Ваш покорный слуга выступал докладчиком. Отчасти этому способствует активная пропоганда от agile сообщества, отчасти наличием success stories от гигантов индустрии, таких как, например, Google, который является главным конрибьютером в новую, вторую, версию селениума. Однако, нужны ли нам автоматизированные тесты, если у нас в команде есть группа тестировщиков или QA-инженеров, способных обеспечить качество...

Новинки JUnit. Категории March 23, 2011

В последнее время во всех проектах где я принимаю участие не обходится без автоматизированного тестирования. Везде есть unit тесты, плюс разработку часто сопровождают попытки покрыть код тестами на Selenium. Первый вопрос который стоит перед командой при написании автоматизированных тестов -- как мы будем запускать тесты? Точнее -- какой фреймворк для тестирования нам выбрать? Если мы программируем на Java, выбор не велик. JUnit или TestNG. Помню, когда мы начинали заниматься функциональными тестами на нашем последнем проекте, мы долго решали что же...

About Me

Software Development Enthusiast

Contacts

E-Mail mkhadikov at gmail.com
twitter mairbek