<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Программирование и управление проектами</title>
	<atom:link href="http://outsourcing.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://outsourcing.wordpress.com</link>
	<description>Управление проектами, методики разработки ПО, аутсорсинг</description>
	<lastBuildDate>Tue, 16 Aug 2011 12:41:18 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='outsourcing.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Программирование и управление проектами</title>
		<link>http://outsourcing.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://outsourcing.wordpress.com/osd.xml" title="Программирование и управление проектами" />
	<atom:link rel='hub' href='http://outsourcing.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Удаление папок .svn используя командный файл</title>
		<link>http://outsourcing.wordpress.com/2009/08/06/deleting-svn-directorie/</link>
		<comments>http://outsourcing.wordpress.com/2009/08/06/deleting-svn-directorie/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 05:42:44 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/?p=125</guid>
		<description><![CDATA[Как сделать .cmd файл, удаляющий .svn папки. Это пригодится если нужно создать архив с релиз версией проекта.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=125&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Для удаления папок .svn можно воспользоваться .cmd файлом</p>
<p>Создаем cmd файл clear.cmd, в нем добавляем такую строку</p>
<pre>for /d /r "%1" %%d in (.svn) do @if exist "%%d" rd /s/q "%%d"</pre>
<p>Затем вызываем cmd файл с директорией, в которой надо удалить .svn директории, например для папки &laquo;release-1.1&#8243; в качестве параметра</p>
<pre>clear.cmd "d:\projects\release-1.1"</pre>
<p>Если удаление нужно выполнить из командной строки, то вместо %%d нужно писать %d  (двойной знак процента используется только в командном файле для команды for)</p>
<p>Команда взята отсюда <a href="http://stackoverflow.com/questions/534798/command-line-to-delete-matching-files-and-directories-recursively">http://stackoverflow.com/questions/534798/command-line-to-delete-matching-files-and-directories-recursively</a> Здесь кстати есть еще интересные варианты при помощи команды find.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/125/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/125/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/125/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=125&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/08/06/deleting-svn-directorie/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Получение профиля пользователя по имени пользователя</title>
		<link>http://outsourcing.wordpress.com/2009/08/01/profile-by-username/</link>
		<comments>http://outsourcing.wordpress.com/2009/08/01/profile-by-username/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 17:51:50 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[profiles]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/?p=123</guid>
		<description><![CDATA[Как прочитать данные профиля пользователя по имени пользователя. Т.е. не для текущего пользователя, а для любого другого.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=123&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Для того чтобы получить данные профиля пользователя по имени можно использовать метод ProfileBase.Initialize(userName, IsAuthenticated) или прочитать данные напрямую из провайдера.</p>
<p>Обычно данные профиля загружаются автоматически, и затем обратившись к HttpContext.Current.Profile можно получить данные профиля для текущего пользователя. Но для административных задач, например сохранение или проверка наличия данных в профилях всех пользователей возникает необходимость загрузить данные профиля по имени пользователя. К сожалению по классам работы с профилями не совсем очевидно как это сделать. Есть два способа, первый проинициализировать класс ProfileBase , а второй &#8211; прочитать данные профиля напрямую из провайдера.</p>
<p><strong>Первый способ</strong>:</p>
<pre>
ProfileBase p = new ProfileBase();
p.Initialize(userName, true);
string userPhone = p["Phone"] as string;</pre>
<p><strong>Второй способ</strong>: чтение данных напрямую из провайдера при помощи метода GetPropertyValues для текущего провайдера. Этот способ хорош тем что позовляет прочитать названия свойств и их значения, даже если профайлы не работают (как на пример в MOSS). Подробнее об этом способе читайте в статье <a href="http://blog.richfinn.net/2007/11/30/GetSetCustomProfilePropertiesInProfileProviderForMOSS.aspx">Get/Set custom profile properties in Profile Provider for MOSS</a></p>
<p><strong>Список свойств</strong>: Для того чтобы получить список свойств, заданных в web.config в секции profiles/properties можно воспользоваться статическим свойством ProfileBase.Properties. Это может потребоваться при реализации чтения профиля вторым способом через метод GetPropertyValues</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/123/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/123/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/123/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=123&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/08/01/profile-by-username/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Конфигурация приложения и Inversion Of Control (IoC) and Dependancy Injection (DI) containers</title>
		<link>http://outsourcing.wordpress.com/2009/07/11/scalable-application-configuration-using-ioc-di/</link>
		<comments>http://outsourcing.wordpress.com/2009/07/11/scalable-application-configuration-using-ioc-di/#comments</comments>
		<pubDate>Sat, 11 Jul 2009 09:38:56 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[dependancy injection]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[di]]></category>
		<category><![CDATA[архитектура приложения]]></category>
		<category><![CDATA[inversion of control]]></category>
		<category><![CDATA[ioc]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2009/07/11/scalable-application-configuration-using-ioc-di/</guid>
		<description><![CDATA[Как реализовать систему конфигурации приложения, чтобы добавление новых модулей с новыми настройками было понятным и единообразным. Один из вариантов использовать IoC/DI библиотеку.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=122&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3>Масштабируемая конфигурация приложения</h3>
<p>Размышляя над тем как сделать конфигурацию довольно большого приложения более гибкой составил список требований к системе конфигурации:</p>
<ol>
<li>Легко добавлять новые настройки для новых классов/модулей</li>
<li>Легко изменить хранилище настроек (XML, DB)</li>
<li>Настройки можно менять программно</li>
</ol>
<p><strong>Наиболее частый сценарий в большом приложении: </strong>Необходимо добавить новую подсистему.</p>
<ol>
<li>Создаем раздел настроек для новой подсистемы</li>
<li>Создаем саму подсистему</li>
<li>Используем настройки в новой подсистеме</li>
</ol>
<p><strong>Второй сценарий: </strong>Модифицируем существующую подсистему (например подсистема загрузки и изменения размера фотографий). Предположим нужно добавить настройки, для задания качества сжатия.</p>
<ol>
<li>Добавляем параметр в существующий раздел настроек для этой подсистемы</li>
<li>Используем параметр внутри подсистемы</li>
</ol>
<p><strong>Основаная задача</strong>, чтобы остальное приложение как можно меньше затрагивалось при добавлении новой подсистемы и, чтобы настройки основного приложения также минимально или совсем не затрагивались новым разделом настроек. Другими словами, чтобы масштабирование/развитие приложения было простым.</p>
<p>Для реализации <strong>первого требования</strong>: <em>легко добавлять новые настройки для новых классов/модулей</em>, можно использовать такой подход. Для каждой подсистемы создается свой класс с настройками. </p>
<p>Для реализации <strong>второго требования</strong>, <em>легко изменять хранилище настроек (XML, DB)</em> можно не просто создавать свой класс с настройками как решено выше, а создавать его в отдельном модуле и использовать в виде интерфейса, и создавать разные реализации. Затем, чтобы подсистема не зависела от конкретной реализации интерфейса настроек, необходимо сделать фабрику класса настроек</p>
<p>Для решения <strong>третьего требования</strong>, необходимо чтобы реализации классов настроек поддерживали свойства настроек на чтение и запись. А также чтобы класс настроек был в одном экземпляре на время жизни приложения.</p>
<p>Таким образом получается что для первого сценария, создание новой подсистемы необходимо выполнить следующие шаги</p>
<ol>
<li>Создать интерфейс с настройками, например IImageSubsystemSettings</li>
<li>Создать реализацию настроек, например ImageSusbsystemSettingsAppConfig</li>
<li>Создать фабрику класса настроек ImageSettingsFactory</li>
</ol>
<p>Несмотря на то, что реализуется требование масштабируемости и незатрагивания других частей приложения, получается довольно много действий. Вот тут я вспомнил про IoC StructureMap. Она реализует шаблон <a href="http://en.wikipedia.org/wiki/Service_locator_pattern" target="_blank">ServiceLocator</a>, и позволяет создавать реализации интерфейсов не зная о конкретной реализации. </p>
<p>Таким образом эта библиотека позволяет избавится от создания фабрики класса настроек ImageSettingsFactory. В конфигурации StructureMap можно задать интерфейс IImageSubsystemSettings и связать с классом реализующим этот интерфейс. Благодаря этому, мы не только избавляемся от необходимости создавать фабрику для каждого класса настроек, но еще и сводим все классы настроек в один конфигурационный файл и легко можем подменить реализации этих классов. Также эта библиотека позволяет задать в конфигурации, что класс является синглтоном, в результате с нулевыми усилиями мы реализуем третье требование (возможность менять настройки программно).</p>
<p>Есть еще одна проблема: для того чтобы можно было создавать разные реализации классов настроек, необходимо вынести интерфейс настроек для конкретной подсистемы в отдельный проект (речь о проекте на C#). Иначе возникнут кольцевые ссылки. Если интерфейс оставить в том же проекте, что и подсистема, при создании новой реализации интерфейса настроек в отдельном модуле, потребуется сослаться на модуль с подсистемой, для которой реализуется интерфейс настроек, а подсистема в свою очередь будет использовать новую реализацию интерфейса настроек. (Возможно это допустимо, потому что IoC контейнеры создают классы через reflection, надо проверить)</p>
<p>&#160;</p>
<h3>Библиотеки IoC и DI</h3>
<p>Узнать подробнее об <a href="http://www.martinfowler.com/articles/injection.html" target="_blank">Inversion of Control Containers and the Dependency Injection pattern</a> . Также можно посмотреть видео <a href="http://dimecasts.net/Casts/CastDetails/33" target="_blank">Introduction to IoC/DI &#8211; The art of Decoupling</a></p>
<p>Я давно пользуюсь <a title="Ioc an DI container StructureMap" href="http://structuremap.sourceforge.net" target="_blank">StructureMap</a>, но решил узнать больше о существующих IoC контейнерах и самое главное разобраться как лучше их использовать.</p>
<p>Самые популярные библиотеки нашел на сайте <a href="http://csharp-source.net/open-source/containers" target="_blank">CSharp-source.net</a></p>
<ul>
<li><a href="http://www.springframework.net/" target="_blank">Spring.Net</a></li>
<li><a href="http://www.castleproject.org/" target="_blank">Castle</a></li>
<li><a href="http://sourceforge.net/projects/structuremap/" target="_blank">StructureMap</a></li>
<li><a href="http://code.google.com/p/autofac/" target="_blank">Autofac</a></li>
<li><a href="http://code.google.com/p/nicnet/wiki/Winter" target="_blank">Winter4net</a></li>
<li><a href="http://www.codeplex.com/ObjectBuilder" target="_blank">ObjectBuilder</a></li>
<li><a href="http://ninject.org/" target="_blank">Ninject</a></li>
</ul>
<p>Заинтересовала библиотека <a title="Inversion Of Control container Autofac" href="http://code.google.com/p/autofac/" target="_blank">autofac</a>. Она интенсивно использует возможности C#3.0. Хотя StructureMap также можно использовать в “современном стиле” как описано в статье <a href="http://dotnetslackers.com/articles/designpatterns/IntroductionToStructureMap.aspx" target="_blank">Introduction To StructureMap</a>.</p>
<h3>Выводы</h3>
<p>Несмотря на то что добавление каждой новой подсистемы потребует создание дополнительного интерфейса, и реализации настроек, действия требуемые для добавления подсистемы в проект получаются одинаковыми, а это как раз то, что нужно для больших приложений. А IoC фрэймворк позволит переключить реализацию настроек и использовать шаблон ServiceLocator для создания не только классов настроек, но и других классов, которые потенциально могут иметь другую реализацию. </p>
<p>Это удобно даже если реализация на данный момент не требуется реализовывать другое хранилище настроек. </p>
<p>Конечно во всем нужен баланс, нет необходимости все классы создавать через IoC библиотеку. Для себя я вывел следующее правило.</p>
<p>Роли классов</p>
<ul>
<li>Сервис &#8212; класс выполняющий большую работу и использующий другие классы</li>
<li>Репозиторий &#8212; класс отвечающий за хранение и выборку коллекций объектов</li>
<li>Вспомогательный класс &#8212; реализующий одну операцию, с очень четкой зоной ответственности. В приложении самое большое количество именно этих классов. (я не смог подобрать лучшего имени, но речь идет не о классах Helpers а именно о классах выполняющих простую операцию)</li>
<li>Модель (бизнес объект) &#8212; класс предметной области, как правило лишь хранит данные</li>
<li>Класс настроек – класс содержащий настройки</li>
</ul>
<p>Использовать IoC имеет смысл для классов настроек и Репозитория. Для классов Сервис (только если планируется создание разных реализаций). </p>
<p>Для классов Модель и Вспомогательных создание через IoC не требуется. Их лучше создавать через new, благодаря этому основные и самые частые операции в приложении будут выполняться эффективно, а код останется простым и понятным.</p>
<p>&#160;</p>
<h3>Ссылки</h3>
<p>IoC and DI</p>
<ul>
<li><a href="http://www.martinfowler.com/articles/injection.html" target="_blank">Inversion of Control Containers and the Dependency Injection pattern</a></li>
<li><a href="http://dimecasts.net/Casts/CastDetails/33" target="_blank">Introduction to IoC/DI &#8211; The art of Decoupling</a></li>
</ul>
<p>&#160;</p>
<p>StructureMap</p>
<ul>
<li><a href="http://www.pnpguidance.net/Post/StructureMapTutorialDependencyInjectionIoCNET.aspx" target="_blank">StructureMap Tutorial &#8211; Dependency Injection and IoC in .NET</a></li>
<li><a href="http://dimecasts.net/Casts/ByTag/StructureMap" target="_blank">StructureMap video</a></li>
</ul>
<p>Ninject</p>
<ul>
<li><a href="http://ninject.org" target="_blank">Официальный сайт проекта ninject</a></li>
<li><a href="http://dimecasts.net/Casts/ByTag/Ninject" target="_blank">Видео о Ninject</a></li>
</ul>
<p>Autofac</p>
<ul>
<li><a href="http://code.google.com/p/autofac/" target="_blank">Autofac на Google Code</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/122/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/122/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/122/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=122&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/07/11/scalable-application-configuration-using-ioc-di/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Подключение log4net к приложению</title>
		<link>http://outsourcing.wordpress.com/2009/06/30/adding-log4net-to-application/</link>
		<comments>http://outsourcing.wordpress.com/2009/06/30/adding-log4net-to-application/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 08:28:58 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[log4net]]></category>
		<category><![CDATA[logger]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2009/06/30/adding-log4net-to-application/</guid>
		<description><![CDATA[Шаги, как подключить логгер log4net к приложению<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=121&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Как подключить и использовать log4net</p>
<p><strong>1. В app.config (web.config)</strong></p>
<p>Добавить секцию</p>
<p>&lt;section name=&quot;log4net&quot; type=&quot;log4net.Config.Log4NetConfigurationSectionHandler, log4net&quot;/&gt;</p>
<p>Добавить конфигурацию</p>
<p>&lt;log4net&gt;    <br />&#160;&#160;&#160; &lt;appender name=&quot;RollingFileAppender&quot; type=&quot;log4net.Appender.RollingFileAppender&quot;&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;param name=&quot;File&quot; value=&quot;App_Data\\Logs\\log.txt&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;param name=&quot;AppendToFile&quot; value=&quot;true&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;param name=&quot;MaxSizeRollBackups&quot; value=&quot;3&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;param name=&quot;MaximumFileSize&quot; value=&quot;100000&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;param name=&quot;RollingStyle&quot; value=&quot;Size&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;param name=&quot;StaticLogFileName&quot; value=&quot;true&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;layout type=&quot;log4net.Layout.PatternLayout&quot;&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;param name=&quot;ConversionPattern&quot; value=&quot;%date [%thread] %logger %-5level %message%newline&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/layout&gt;     <br />&#160;&#160;&#160; &lt;/appender&gt;&#160;&#160;&#160; </p>
<p>&#160;&#160;&#160; &lt;root&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;!&#8211; OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL &#8211;&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;level value=&quot;ALL&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;appender-ref ref=&quot;RollingFileAppender&quot; /&gt;     <br />&#160;&#160;&#160; &lt;/root&gt;     <br />&lt;/log4net&gt;</p>
<p><strong>2. В методе инициализации приложения добавляем вызов метода загрузки конфигурации</strong></p>
<p>log4net.Config.XmlConfigurator.Configure();</p>
<p>Для WinForms &#8212; Program.Main    <br />Для WebApp – в файле Global.asax.cs в методе Application_Start</p>
<p>&#160;</p>
<p><strong>3. В каждом классе, где используем логгер добавляем статическую ссылку на логгер</strong></p>
<p>public class WebDownloader{</p>
<blockquote><p>ILog logger = LogManager.GetLogger(typeof(WebDownloader));</p>
</blockquote>
<blockquote><p>..</p>
</blockquote>
<p>}</p>
<p>&#160;</p>
<p><strong>4. В нужном месте вызов логгера</strong></p>
<p>public string Download(Uri uri){   <br />&#160;&#160;&#160; logger.InfoFormat(“Downloading {0}”, uri.ToString());    <br />&#160;&#160;&#160; …    <br />} </p>
<p><strong>Дополинтельные ссылки</strong></p>
<ul>
<li><a href="http://www.codeproject.com/KB/trace/tracetool.aspx" target="_blank">Log Viewer</a> </li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=121&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/06/30/adding-log4net-to-application/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Впечатления от BaseCamp (37 signals)</title>
		<link>http://outsourcing.wordpress.com/2009/06/18/basecamp-37signals/</link>
		<comments>http://outsourcing.wordpress.com/2009/06/18/basecamp-37signals/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 11:04:29 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Технические средства]]></category>
		<category><![CDATA[Управление проектом]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[basecamp]]></category>
		<category><![CDATA[инструменты]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2009/06/18/basecamp-37signals/</guid>
		<description><![CDATA[Несколько месяцев назад я начал пользоваться системой ведения проектов Basecamp (37 signals). Несмотря на то что эта вещь не дешевая, я очень доволен ею. Удачное сочетание функциональности и простоты.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=109&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Сразу скажу, я получил то что ожидал. Все просто, аскетично, функционально. Примерно в таком же духе множество отзывов об этой системе, и я подтверждаю это.</p>
<p>Что такое BaseCamp? Это онлайн система ведения проектов. Работает по схеме SAS (Software As Service). Мне требуется вести 4-7 небольших проектов одновременно, в каждом из которых задействованы 2-3 человека. Для моего случая BaseCamp оказался очень удобным.</p>
<p>В каждом проекте есть списки TODO, списки участников, milestones, whiteboard и сообщения. Как использовать все это богатство вы решаете сами. Например в whiteboard я разместил несколько ссылок на ресурсы проекта, а сами ресурсы проекта находятся в моем SVN репозитории и в блокноте Google. В BaseCamp есть возможность хранить файлы, но я этой функцией не пользуюсь, потому что привык хранить все в SVN. Сообщения я использую для публикации еженедельных отчетов. Milestones привязываю к конкретным датам. А списки TODO привязываю к milestones. Каждую задачу в TODO можно назначать на конкретного человека. </p>
<p>Благодаря тому, что система не перегружена функциями, работа с ней отнимает совсем немного времени. </p>
<p><img src="http://www.basecamphq.com/images/zoom_todos.png" /></p>
<p>Любителей больших графиков, диаграмм ганта и подобных наворотов хочу огорчить, этого ничего нет. Есть правда API, я с ним еще не разбирался, может эти вещи реализованы через модули сторонних разработчиков с использованием API? Не знаю.</p>
<p>Интересно узнать насколько удобно пользоваться BaseCamp для ведения крупных проектов, с 10-15 участниками. Если у вас есть подобный опыт, поделитесь.</p>
<p>Ссылки:</p>
<p><a href="http://37signals.com/">http://37signals.com/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=109&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/06/18/basecamp-37signals/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>

		<media:content url="http://www.basecamphq.com/images/zoom_todos.png" medium="image" />
	</item>
		<item>
		<title>Парсинг Url при помощи Uri класса</title>
		<link>http://outsourcing.wordpress.com/2009/06/14/url-parsing-using-uri-class/</link>
		<comments>http://outsourcing.wordpress.com/2009/06/14/url-parsing-using-uri-class/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 17:40:12 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2009/06/14/%d0%bf%d0%b0%d1%80%d1%81%d0%b8%d0%bd%d0%b3-url-%d0%bf%d1%80%d0%b8-%d0%bf%d0%be%d0%bc%d0%be%d1%89%d0%b8-uri-%d0%ba%d0%bb%d0%b0%d1%81%d1%81%d0%b0/</guid>
		<description><![CDATA[Из чего состоит URI (Universal Resource Identifier), как разобрать параметры используя класс Uri, пример класса расширения для Uri<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=104&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Сначала понятия</h2>
<p>URI Universal Resource Identifier</p>
<p>URI состоит из: </p>
<div class="csharpcode">
<pre class="alt">{Scheme}://{Authority}{Local path}{Query}{Fragment}</pre>
</div>
<p><span id="more-104"></span></p>
<div class="csharpcode"></div>
<div class="csharpcode"><strong>Пример Abolute Uri</strong></div>
<div class="csharpcode">
<pre class="alt">http://www.mydomain.tld:3284/folder/page.php?arg1=val1&amp;arg2=val2#fragment</pre>
</div>
<div class="csharpcode"><strong>Части URI</strong></div>
<pre class="csharpcode">http – Scheme
www.mydomain.tld – Host
www.mydomain.tld:3284 – Authority
3284 - Port/folder/page.php – Local Path
?arg1=val1&amp;arg2=val2 – Query
#fragment - Fragment</pre>
<div class="csharpcode">&#160;</div>
<h2>Парсинг url</h2>
<p>Класс Uri требует чтобы URL, который подается ему в параметр в виде строки был абсолютным, т.е. содержал Scheme и Authority. Поскольку часто требуется парсить относительный url то необходимо подготовить базовый Uri перед парсингом. Для этого можно воспользоваться HttpContext.Current.Request.Url</p>
<pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">static</span> <span class="kwrd">class</span> UriExtensions {
        <span class="kwrd">public</span> <span class="kwrd">static</span> Uri SafeCreate(<span class="kwrd">string</span> url, HttpContext context ) {
            <span class="kwrd">if</span> (url.Contains(<span class="str">&quot;://&quot;</span>))
                <span class="kwrd">return</span> <span class="kwrd">new</span> Uri(url);
            <span class="kwrd">else</span> {
                <span class="kwrd">return</span> <span class="kwrd">new</span> Uri(context.Request.Url, url);
            }
        }</pre>
<h2>Ссылки</h2>
<ul>
<li><a href="http://www.cambiaresearch.com/c4/890160aa-bc4e-40fc-ac36-c1031858c048/Parsing-URLs-with-Regular-Expressions-and-the-Regex-Object.aspx" target="_blank">Anatomy of a URI</a> </li>
<li><a href="http://labs.apache.org/webarch/uri/rfc/rfc3986.html" target="_blank">Uniform Resource Identifier (URI): Generic Syntax</a> </li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=104&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/06/14/url-parsing-using-uri-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Легальный офис, возможно ли это?</title>
		<link>http://outsourcing.wordpress.com/2009/04/22/free-soft/</link>
		<comments>http://outsourcing.wordpress.com/2009/04/22/free-soft/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 06:44:47 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Технические средства]]></category>
		<category><![CDATA[Бесплатный оффис]]></category>
		<category><![CDATA[Легальное ПО]]></category>
		<category><![CDATA[программы]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2009/04/22/free-soft/</guid>
		<description><![CDATA[Много уже написано про альтернативное ПО, которое не уступает коммерческим аналогам, но является бесплатным или доступным по цене. Я решил собрать коллекцию таких программ, и оценить возможно ли создание полностью легального офисного компьютера. При этом я рассматриваю не только бесплатное ПО, но и недорогое коммерческое ПО (недорогое = 20-30$)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=103&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Много уже написано про альтернативное ПО, которое не уступает коммерческим аналогам, но является бесплатным или доступным по цене. Я решил собрать коллекцию таких программ, и оценить возможно ли создание полностью легального офисного компьютера. При этом я рассматриваю не только бесплатное ПО, но и недорогое коммерческое ПО (недорогое = 20-30$)</p>
<p><strong>Операционная система</strong></p>
<ul>
<li>Windows — легальная, поставляется с новым комьютером или ноутбуком.</li>
</ul>
<p><strong>Oффис</strong></p>
<ul>
<li>Open Office Инфра Ресурс — есть разные поставки Open Office, но эта поставка отличается хорошей поддержкой русского языка.</li>
<li>Foxit PDF reader — просмотр PDF. Как и Acrobat Reader бесплатная, но в несколько раз меньше по размеру.</li>
<li><a href="http://vu-software.spb.ru/dictonary/index.htm" target="_blank">VU Dictionary</a> — анго-русский словарь</li>
<li><a href="http://www.scribus.net/" target="_blank">Scribus</a> — программа для верстки</li>
<li>GnuCash — бухгалтерская программа с поддержкой двойной записи</li>
</ul>
<p><strong>CD/DVD</strong></p>
<ul>
<li>CD Burner XP &#8211; запись CD/DVD дисков</li>
<li>Daemon Tools Lite — создание виртуального CD-ROM привода на базе ISO или NRG образов</li>
</ul>
<p><strong>Internet</strong></p>
<ul>
<li>FireFox, Opera, Internet Explorer — к счастью все известные браузеры бесплатные</li>
<li>Free Download Manager — отличная программа для закачки файлов.</li>
<li>Thunder Bird — почтовый клиент</li>
</ul>
<p><strong>Разработка ПО</strong></p>
<ul>
<li>Visual Studio Express</li>
</ul>
<p><strong>Служебное ПО</strong></p>
<ul>
<li><a href="http://www.acronis.ru/homecomputing/products/trueimage/" target="_blank">Acronis True Image Home</a> —недорогая но очень полезная утилита для резервного копирования и последующего восстановления системы.</li>
<li>Встроенные в Windows средства резервного копирования</li>
<li>Поставляемые с компьютером программы для резервного копирования/восстановления.</li>
<li><a href="http://www.microsoft.com/windows/products/winfamily/virtualpc/" target="_blank">Microsoft Virtual PC</a> — программа для запуска виртуальных машин, с другими операционными системами.</li>
<li>VmWare Player — программа для запуска виртуальных машин. Поддерживает USB устройства! Но не позволяет создавать новые машины, а лишь запускает существующие. Умеет запускать как машины подготовленные при помощи VmWare так и при помощи Microsoft Virtual PC</li>
</ul>
<p><strong>Графика, обработка изображений</strong></p>
<ul>
<li><a href="http://www.gimp.org/" target="_blank">GIMP</a> — растровый редактор изображений.</li>
<li><a href="http://www.inkscape.org/" target="_blank">InkScape</a> — векторный редактор</li>
</ul>
<p><strong>Видео</strong></p>
<ul>
<li>Virtual Dub — конвертирование видео</li>
<li>K-lite codec pack — комплект кодеков для просмотра видео</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=103&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/04/22/free-soft/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Design Patterns</title>
		<link>http://outsourcing.wordpress.com/2009/03/15/design-patterns/</link>
		<comments>http://outsourcing.wordpress.com/2009/03/15/design-patterns/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 08:15:43 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[design patterns]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2009/03/15/design-patterns/</guid>
		<description><![CDATA[В интернете множество описаний Design patterns, но мне почему то понравилось описание на этом сайте http://www.blackwasp.co.uk/DesignPatternsArticles.aspx Доступно описаны основные шаблоны, правда к сожалению многих современных шаблонов нехватает.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=101&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>В интернете множество описаний Design patterns, но мне почему то понравилось описание на этом сайте <a title="http://www.blackwasp.co.uk/DesignPatternsArticles.aspx" href="http://www.blackwasp.co.uk/DesignPatternsArticles.aspx">http://www.blackwasp.co.uk/DesignPatternsArticles.aspx</a> Доступно описаны основные шаблоны, правда к сожалению многих современных шаблонов нехватает.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=101&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2009/03/15/design-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Переменные в CSS</title>
		<link>http://outsourcing.wordpress.com/2008/10/26/csshandler/</link>
		<comments>http://outsourcing.wordpress.com/2008/10/26/csshandler/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 05:47:28 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[инструменты]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2008/10/26/csshandler/</guid>
		<description><![CDATA[В CSS очень нехватает поддержки переменных. Один из вариантов решения этой проблемы библиотека CssHandler. Подключаем HttpHandler&#160; в web.config, ассоциируем с расширением *.css, в результате в CSS файлах появляется возможность создавать и использовать переменные: @define{ bgcolor_light: #99ccff; bgcolor_dark: #003366; fontcolor: #333333; } body{ background-color: @bgcolor_light; color: @fontcolor; } &#160; Достаточно объявить в CSS файле блок @define{} [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=100&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>В CSS очень нехватает поддержки переменных. Один из вариантов решения этой проблемы <a href="http://www.codeplex.com/CssHandler/" target="_blank">библиотека CssHandler</a>. Подключаем HttpHandler&nbsp; в web.config, ассоциируем с расширением *.css, в результате в CSS файлах появляется возможность создавать и использовать переменные:</p>
<div style="border-right:gray 1px solid;border-top:gray 1px solid;font-size:8pt;overflow:auto;border-left:gray 1px solid;width:97.5%;cursor:text;max-height:200px;line-height:12pt;border-bottom:gray 1px solid;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;margin:20px 0 10px;padding:4px;">
<pre style="font-size:8pt;overflow:visible;width:100%;color:black;line-height:12pt;font-family:consolas, 'Courier New', courier, monospace;background-color:#f4f4f4;border-style:none;margin:0;padding:0;">@define{
   bgcolor_light: <span style="color:#006080;">#99ccff;</span>
   bgcolor_dark: <span style="color:#006080;">#003366;</span>
   fontcolor: <span style="color:#006080;">#333333;</span>
}
<span style="color:#0000ff;">body</span>{
   <span style="color:#0000ff;">background-color</span>: <span style="color:#006080;">@bgcolor_light;</span>
   <span style="color:#0000ff;">color</span>: <span style="color:#006080;">@fontcolor;</span>
}</pre>
</div>
<p>&nbsp;</p>
<p>Достаточно объявить в CSS файле блок @define{} и в нем переменные как показано в примере, затем эти переменные можно использовать в остальной части CSS файла следующим образом @&lt;имя переменной&gt;.</p>
<p>Красота!</p>
<p><a href="http://www.codeplex.com/CssHandler/" target="_blank">Подробнее о CssHandler на CodePlex</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=100&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2008/10/26/csshandler/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
		<item>
		<title>Экономия времени с Microsoft Power Toys</title>
		<link>http://outsourcing.wordpress.com/2008/10/24/microsoft-power-toys/</link>
		<comments>http://outsourcing.wordpress.com/2008/10/24/microsoft-power-toys/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 06:26:46 +0000</pubDate>
		<dc:creator>Алексей Горобчук</dc:creator>
				<category><![CDATA[Технические средства]]></category>
		<category><![CDATA[инструменты]]></category>
		<category><![CDATA[продуктивность]]></category>
		<category><![CDATA[утилиты]]></category>

		<guid isPermaLink="false">http://outsourcing.wordpress.com/2008/10/24/microsoft-power-toys/</guid>
		<description><![CDATA[Нашел на сайте microsoft.com замечательную коллекцию утилит &#8211; Microsoft Power Toys for Windows XP. В первую очередь заинтересовала утилита Image Resizer, позволяющая менять размер изображения через контекстное меню в проводнике. Те кто работают с Raw форматом фотографий могут установить RAW Image Thumbnailer and Viewer. В этом случае проводник будет поддерживать RAW файлы также как и [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=99&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Нашел на сайте microsoft.com замечательную коллекцию утилит &#8211; <a href="http://www.microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx" target="_blank">Microsoft Power Toys for Windows XP</a>. В первую очередь заинтересовала утилита Image Resizer, позволяющая менять размер изображения через контекстное меню в проводнике. </p>
<p>Те кто работают с Raw форматом фотографий могут установить RAW Image Thumbnailer and Viewer. В этом случае проводник будет поддерживать RAW файлы также как и другие графические файлы.</p>
<p><span id="more-99"></span>
<p>Вот полный список утилит:</p>
<ul>
<li>Color Control Panel Applet
<li>SyncToy
<li>RAW Image Thumbnailer and Viewer
<li>ClearType Tuner
<li>HTML Slide Show Wizard
<li>Open Command Window Here
<li>Alt-Tab Replacement
<li>Tweak UI
<li>Power Calculator
<li>Image Resizer
<li>CD Slide Show Generator
<li>Virtual Desktop Manager
<li>Taskbar Magnifier
<li>Webcam Timershot</li>
</ul>
<p>Скачать можно здесь: <a href="http://www.microsoft.com/windowsxp/Downloads/powertoys/Xppowertoys.mspx" target="_blank">Microsoft Power Toys for Windows XP</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/outsourcing.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/outsourcing.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/outsourcing.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/outsourcing.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/outsourcing.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/outsourcing.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/outsourcing.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/outsourcing.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/outsourcing.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/outsourcing.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/outsourcing.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/outsourcing.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/outsourcing.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/outsourcing.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=outsourcing.wordpress.com&amp;blog=44427&amp;post=99&amp;subd=outsourcing&amp;ref=&amp;feed=1" width="1" height="1" /><div class="sharedaddy"></div>]]></content:encoded>
			<wfw:commentRss>http://outsourcing.wordpress.com/2008/10/24/microsoft-power-toys/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/191847da5e5fa52ce02d803248ed2501?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">outsourcing</media:title>
		</media:content>
	</item>
	</channel>
</rss>
