Блог Сергея Попова

Серия web-кастов "Введение в unit-тестирование". Теория, практика, MSTest, Moles, Pex.







На web-сайте TechDays опубликована моя серия web-кастов «Введение в unit-тестирование», подготовленная для DevCon’11 Pre-Conference Online Track.

Введение в unit-тестирование (11 мин.)

http://www.techdays.ru/videos/3597.html

Это вводный web-каст, он посвящен, в первую очередь, теоретическим вопросам:

  1. Что понимается под unit-тестированием?
  2. Как устроен unit-тест?
  3. Какие плюсы разработчики получают от применения unit-тестирования?
  4. Как unit-тестирование влияет на стоимость внесения изменений в проект?
  5. Какие ограничения есть у unit-тестирования?
Читать дальше...

А еще в Visual Studio есть External Tools...







Забавно, но я долгое время считал, что возможность запуска сторонних приложений из Visual Studio не заслуживает внимания. Серьезная интеграция требует разработки plugin, и точка!

Как оказалось, я был неправ. Есть множество сценариев, когда External Tools позволит быстро расширить возможности Visual Studio.

Как раз вчера мой хороший знакомый задал вопрос – как сделать аналог команды Open Containing Folder из пакета PowerCommands for Visual Studio 2010, но для вызова Far Manager, а не Windows Explorer? В оригинале эта команда доступна в контекстном меню Solution Explorer, она открывает Windows Explorer и устанавливает курсор на файл, для которого она была вызвана.

Моя первая идея (нет ничего проще – нужно скачать PowerCommands.vsix из Visual Studio Gallery, распаковать его, разобрать на части Reflector’ом, обложиться руководствами по расширению Visual Studio и быстро написать аналог) понимания не нашла – написание plugins для Visual Studio (если это не расширения редактора) по-прежнему остается весьма нетривиальной задачей, и если нет опыта, то даже при наличии примеров и пошаговых руководств ее решение займет не меньше, чем полдня – если не целый день!

Еще немного подумав, я решил, что для этих целей вполне подойдет механизм External Tools! И, действительно, создание «команды» Open Containing Folder in FAR заняло у меня не более получаса.

Давайте посмотрим, как это можно сделать.

Читать дальше...

Консольные окна-зомби, или как перезагрузить Windows без дурацких вопросов







Вчера я уже не первый раз столкнулся с забавной проблемой в Windows Server 2008 – после выхода из FAR Manager у меня осталось висеть консольное окно-«зомби».

Такое окно обладает поистине замечательным свойство – его нельзя закрыть. Кроме того, если у вас появилось такое окно, перезагрузить Windows у вас не получится – все ваши попытки будут заканчиваться появлением в Event Log сообщения The attempt by user ***\*** to restart/shutdown computer *** failed. На фоне этого отсутствие соответствующего процесса в списке задач кажется такой мелочью.. ;-)

Читать дальше...

Run as administrator из командной строки







Вчера я некоторое время потратил на то, чтобы запустить скрипт из командной строки от имени администратора. Мне нужен был эквивалент right-click > «Run as administrator»:

Читать дальше...

Работаем с jQuery Templates. Часть третья, jQuery Templates Plus







Две недели назад я рассказал об основных возможностях плагина jQuery Templates и обещал на этом не останавливаться. Обещания надо выполнять, поэтому сегодня я расскажу о дополнительных функциях, не вошедших в основной код плагина.

Дополнительные функции плагина включают:

  1. Набор команд, существенно упрощающих изменение отрендеренных шаблонов при изменении связанных с ними данных;
  2. Событие rendered, которое вызывается после того, как отрендеренный шаблон добавляется в структуру документа.

Код дополнительных функций вынесен в файл jquery.tmplPlus.js, поэтому для их использования вы должны добавить ссылку на этот файл:

<script src="Scripts/jquery-1.5.js" type="text/javascript"></script>
<script src="Scripts/jquery.tmpl.js" type="text/javascript"></script>
<script src="Scripts/jquery.tmplPlus.js" type="text/javascript"></script>
Читать дальше...

Как ускорить работу IE9 с ASP.NET Development Server







Итак, как вы наверное уже в курсе, вчера вышел Internet Explorer 9 Release Candidate:

И все вроде бы в нем хорошо, вот только скорость, с которой открывается приложение, запущенное на ASP.NET Development Server, мне категорически не понравилась!

Подумав, я пришел к выводу, что дело в IPv6 (раньше такая же проблема наблюдалась в Firefox). Проведенный тест показал, что все так и есть. Я не смог найти в IE9 опцию, отключающую использование IPv6, поэтому пошел другим путем, явно указав в файле hosts IP-адрес для localhost:

ie9rc-localhost

Как видно на приведенных ниже видеороликах, после «отключения» IPv6 приложение стало открываться в 5 раз быстрее, 0.19 секунд вместо 1.07.

  • Запуск приложения с «включенным» IPv6
  • Запуск приложения с «выключенным» IPv6 для locahost

P.S. Разумеется, перед замерами скорости я предварительно «разогрел» приложение ;-)

Progg it