суббота, 26 сентября 2009 г.

Полезное про базы данных


Наткнулся на интересную статью "Индексы в MySQL: многоколоночные индексы против комбинированных индексов". Очень интересное сравнение скорости выполнения запроса в зависимости от типа индексов в базе данных. В частности:
"В большинстве случаев использование комбинированных индексов по нескольким колонкам является лучшим решением, если вы используете AND между подобными колонками в WHERE. Использование пересечения индексов в принципе улучшает производительность, но она всё равно значительно хуже, чем при использовании комбинированных ключей. В случае, если Вы используете OR между колонками Вам потребуется иметь по индексу на каждой из колонок, чтобы MySQL смог найти их пересечения, а комбинированные индексы не могут использоваться в таких запросах."
P.S.: интересно, как с этим дело обстоит в MS Sql...


четверг, 24 сентября 2009 г.

SourceMonitor

Если вас не устраивает цена NDepend ($400+) и уговорить ее работать не удалось - то вот еще одна программа для анализа кода - SourceMonitor







Пользуйтесь :)


среда, 23 сентября 2009 г.

Нет слов :)

Это невообразимо! У меня нет слов чтобы корректно прокомментировать эту ситуацию:

SVN является продвинутым средством для организации совместной разработки десятков, а то и сотен разработчиков. В силу особенностей архитектуры, SVN хранит в каждой директории проекта свои метафайлы, аккуратно сложенные в скрытую директорию .svn. В одном из файлов под названием entries находится список всех файлов и директорий, расположенных в той же папке, что и .svn. Так же там находится информация о расположении репозитория, размере файлов, даты их изменения и логины пользователей, работающих над проектом. Уже не плохо, правда? Объясню, получается, если проект разрабатывается с помощью SVN, то заглянув по адресу draftcopy.ru/.svn/entries мы увидим файловую структуру корня проекта с авторами, последними изменениями, ссылкой на основную ветку репозитория итп.

Но можно пойти и далее. В той же папке .svn находится директори text-base, в которой лежат последние версии всех файлов, находящихся в репозитории. Картину дополняет так же и то, что файлы имеют не стандартное расширение (например .php), которое позволяет их сразу отправить на интерпретатор, а дополнительное расширение .svn-base, благодаря которому файл отдается запросившему его человеку «как есть», т.е. голый исходный код!

Для зоны .RU:
Просканировано доменов: 2253388
Уязвимых: 3320

XAML Power Toys

Как пишут - обновились XAML Power Toys. Это расширение для Visual Studio 2008, облегчающее создание XAML кода для WPF и Silverlight приложений. Скачать и прочитать подробнее можно здесь. Рекомендую обратить внимание на видео ролики внизу страницы - из них многое будет понятнее.

P.S.: однако я по прежнему считаю что xaml - это тупиковый путь. По крайней мере - в своей текущей реализации. Слишком ущербен GUI-редактор, а набивать все что надо текстом - мазохизм.

понедельник, 21 сентября 2009 г.

Особенности восстановления Vista на ноуте

Недавно поучаствовал в процессе восстановления ОС Windows Vista Home Basic на ноуте. В один прекрасный момент система начала терять сетевое подключение - т.е. пакеты просто переставали ходить через сетевую карту. Правда, как выяснилось несколько позже, причиной такого странного поведения был антивирус Касперского, фильтр пакетов которого банально глючил. Но поскольку на момент возникновения проблемы об этом еще никто не знал - было принято решение использовать диск восстановления ОС.

Итак, вставляем диск - загружаемся, восстанавливаем ОС, вставляем второй диск с драйверами - вообщем, процесс занял где-то около часа. (Как выяснилось - ноут принадлежал к первому поколению ноутов с ОС Vista, поэтому для восстановления и использовалось два диска вместо одного).

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

Итого Windows Update насчитал 87 обновлений на 278 Мб объемом. Казалось бы - ну что тут страшного?

Процесс установки обновлений занял более 4 часов.

Так что берегитесь старых ноутов - их починка может занять неопределенно-долгое время :)