<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;A0AHRHsycSp7ImA9WhVVFko.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938</id><updated>2012-05-11T02:55:35.599+07:00</updated><category term="LINQ" /><category term="TDD" /><category term="Agile" /><category term="IKVM.NET" /><category term="Amazon.com" /><category term="Книги" /><category term="Semantic Web" /><category term="Доставка" /><category term="Windows" /><category term="Java" /><category term="BeAware" /><category term="Около IT" /><category term="VLC" /><category term="Entity Framework" /><category term=".NET" /><title>AlexIdsa</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>70</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AlexIdsa" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="alexidsa" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUYGQXw4cSp7ImA9WhdVFUg.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-5949266488734139739</id><published>2011-09-14T09:13:00.020+07:00</published><updated>2011-09-21T04:12:00.239+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-21T04:12:00.239+07:00</app:edited><title>BetTeamsBattle - Kick bookmaker's ass</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/5949266488734139739/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=5949266488734139739" title="Комментарии: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5949266488734139739?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5949266488734139739?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/09/betteamsbattle-kick-bookmakers-ass.html" title="BetTeamsBattle - Kick bookmaker's ass" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-PIswcNWHgzI/TnNQoLwyWvI/AAAAAAAAAQU/rsacqCNC3FM/s72-c/blogpostmakebet.PNG" height="72" width="72" /><thr:total>4</thr:total><content type="html">Недавно я лежал в больнице, и по весьма странному стечению обстоятельств все мои соседи по палате оказались неравнодушны к букмекерским ставкам (и это не была лечебница для зависимых от азартных игр). Этот факт всплыл, когда один из соседей случайно (?) проговорился о том, что накануне сорвал джек-пот в одной из букмекерских контор. После этого у других тем для общения практически не осталось 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/f4kSBxj5PiZr6W-t-xaIy0dT-bY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f4kSBxj5PiZr6W-t-xaIy0dT-bY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/f4kSBxj5PiZr6W-t-xaIy0dT-bY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/f4kSBxj5PiZr6W-t-xaIy0dT-bY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/1ME49M__Kn0" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;CEQHSXoyeCp7ImA9WhdTF0g.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-5414968470077124601</id><published>2011-07-16T00:38:00.002+07:00</published><updated>2011-07-16T00:52:18.490+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-16T00:52:18.490+07:00</app:edited><title>Интеграционные vs. Unit-тесты</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/5414968470077124601/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=5414968470077124601" title="Комментарии: 5" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5414968470077124601?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5414968470077124601?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/07/vs-unit.html" title="Интеграционные vs. Unit-тесты" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>5</thr:total><content type="html">Три основных  подхода касательно взаимоотношения интеграционных и unit-тестов:1. Integration-driven. Изначально делаем тест интеграционным, используя реальные реализации зависимостей. При необходимости что-нибудь застабить/замокать подменяем необходимые зависимости на (внимание!) стабы/моки соответственно.2. Unit-driven. Изначально делаем юнит-тест, а значит стабим/мокаем все зависимости. При 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_Bi47ohCzhba82f2QHdbz-R3v_Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Bi47ohCzhba82f2QHdbz-R3v_Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_Bi47ohCzhba82f2QHdbz-R3v_Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_Bi47ohCzhba82f2QHdbz-R3v_Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/ZwaI_xwxaU8" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;A0YMQ3c6fCp7ImA9WhdTFU4.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-4889596752837022904</id><published>2011-07-13T13:38:00.002+07:00</published><updated>2011-07-13T13:39:42.914+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-13T13:39:42.914+07:00</app:edited><title>До чего техника дошла</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/4889596752837022904/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=4889596752837022904" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4889596752837022904?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4889596752837022904?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/07/blog-post.html" title="До чего техника дошла" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-n-h8fnG9AxQ/Th09lUlFG8I/AAAAAAAAAPc/Si44XuEY0FQ/s72-c/Accumulator.png" height="72" width="72" /><thr:total>1</thr:total><content type="html">
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YnVymU7WOiywqxOv46JVvxXYb4g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YnVymU7WOiywqxOv46JVvxXYb4g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YnVymU7WOiywqxOv46JVvxXYb4g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YnVymU7WOiywqxOv46JVvxXYb4g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/XQNCqcjlecA" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;DEYNRXo5fSp7ImA9WhZUFE8.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-7430916445832252234</id><published>2011-06-06T23:49:00.013+07:00</published><updated>2011-06-07T12:56:34.425+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-07T12:56:34.425+07:00</app:edited><title>Стабить или не стабить репозитории?</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/7430916445832252234/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=7430916445832252234" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/7430916445832252234?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/7430916445832252234?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/06/blog-post.html" title="Стабить или не стабить репозитории?" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">Для тестировании кода, который использует репозитории, есть два основных подхода:1. Стабить и мокать вызовы репозиториев2. Использовать реальные реализации репозиториев (а значит работать с базой)Какой из вариантов выбрать - большой вопрос и не меньший повод для холивара.Возьмем для примера следующий сервис:public class ParametersService : IParametersService{  private readonly 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DE-H4k_GdU4YuhZY__OUK1CiYc8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DE-H4k_GdU4YuhZY__OUK1CiYc8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DE-H4k_GdU4YuhZY__OUK1CiYc8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DE-H4k_GdU4YuhZY__OUK1CiYc8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/vOd9Q5fPj1k" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;DUUCSXg-fSp7ImA9WhZUEE0.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-3723324061389621220</id><published>2011-06-02T16:29:00.003+07:00</published><updated>2011-06-02T16:34:28.655+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-02T16:34:28.655+07:00</app:edited><title>Опишите TFS одним предложением</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/3723324061389621220/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=3723324061389621220" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/3723324061389621220?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/3723324061389621220?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/06/tfs.html" title="Опишите TFS одним предложением" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">На работе переходим на TFS по не зависящим от нас причинам. Я пока еще формирую свое мнение насчет TFS, но вот натолкнулся на статью, в которой был очень интересный комментарий:It is like someone took the 5 worst tools they could find for source control (VSS excluded, of course,) testing, issue tracking, automated build and code analysis and put them all in one productА как бы вы описали TFS?
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WImwPfBvTlDCJh6uDJwaXQIsAzQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WImwPfBvTlDCJh6uDJwaXQIsAzQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WImwPfBvTlDCJh6uDJwaXQIsAzQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WImwPfBvTlDCJh6uDJwaXQIsAzQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/QdQ0wB68o7I" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;DEIAQ3w5fip7ImA9WhZVFks.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-1882838525529455820</id><published>2011-05-29T16:59:00.007+07:00</published><updated>2011-05-29T17:55:42.226+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T17:55:42.226+07:00</app:edited><title>Впечатления от конференции DevCon</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/1882838525529455820/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=1882838525529455820" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/1882838525529455820?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/1882838525529455820?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/devcon.html" title="Впечатления от конференции DevCon" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>2</thr:total><content type="html">На этой неделе проходила, пожалуй, самая крупная Microsoft-oriented российская конференция - DevCon. Два дня - четверг и пятница - получились для меня очень насыщенными. Четверг начался с 4-х часового полета из Томска в Москву. Затем от Внуково мы с коллегой еще несколько часов добирались на такси до дома отдыха, где проходила конференция. И лишь благодаря часовым поясам (-3) успели к 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VDRIvAjrPr1NDX7D0O8H6b0swsQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VDRIvAjrPr1NDX7D0O8H6b0swsQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VDRIvAjrPr1NDX7D0O8H6b0swsQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VDRIvAjrPr1NDX7D0O8H6b0swsQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/65EWg2q9f0I" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;A0YMRnk_cCp7ImA9WhZVFko.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-5568815993850634723</id><published>2011-05-29T16:37:00.006+07:00</published><updated>2011-05-29T21:26:27.748+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-29T21:26:27.748+07:00</app:edited><title>To Tuple Or Not To Tuple</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/5568815993850634723/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=5568815993850634723" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5568815993850634723?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5568815993850634723?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/to-tuple-or-not-to-tuple.html" title="To Tuple Or Not To Tuple" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>2</thr:total><content type="html">Tuple (кортеж) - последовательность из конечного числа элементов.Кортежи особенно популярны в функциональных языках программирования, где поддерживается их удобное создание, декомпозиция, pattern matching и т. д. (подробнее на примере F#). В .NET 4 появился тип Tuple, тем самым сделав массовым (до этого те, кто были в теме, писали/генерировали Tuple самостоятельно) использование кортежей и в 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QFqqv-zrJ_OHntMB8vCDRqy-iVM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QFqqv-zrJ_OHntMB8vCDRqy-iVM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QFqqv-zrJ_OHntMB8vCDRqy-iVM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QFqqv-zrJ_OHntMB8vCDRqy-iVM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/qutTCUDZcbw" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;AkcGRX86cSp7ImA9WhZVEU4.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-8294857337619431331</id><published>2011-05-23T14:54:00.001+07:00</published><updated>2011-05-23T15:07:04.119+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-23T15:07:04.119+07:00</app:edited><title>Следуете ли вы принципам SOLID при объектно-ориентированном дизайне и программировании?</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/8294857337619431331/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=8294857337619431331" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/8294857337619431331?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/8294857337619431331?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/solid.html" title="Следуете ли вы принципам SOLID при объектно-ориентированном дизайне и программировании?" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">Создал на Хабре опрос "Следуете ли вы принципам SOLID при объектно-ориентированном дизайне и программировании?". Дорогой читатель, поддержи плюсом: очень хочу, чтобы этот опрос добрался до главной.
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N2wCkzPEABRWPKLajwrsNY_wssY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N2wCkzPEABRWPKLajwrsNY_wssY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N2wCkzPEABRWPKLajwrsNY_wssY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N2wCkzPEABRWPKLajwrsNY_wssY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/Z5FwJKY_bWA" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;DUMNQ307cCp7ImA9WhZWGE4.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-7513595710711189696</id><published>2011-05-17T22:36:00.012+07:00</published><updated>2011-05-20T03:38:12.308+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-20T03:38:12.308+07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework" /><category scheme="http://www.blogger.com/atom/ns#" term="LINQ" /><title>Linq To Entities vs. Linq To Objects на примере группировки</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/7513595710711189696/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=7513595710711189696" title="Комментарии: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/7513595710711189696?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/7513595710711189696?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/linq-to-entities-vs-linq-to-objects.html" title="Linq To Entities vs. Linq To Objects на примере группировки" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>4</thr:total><content type="html">LINQ - удобная, красивая, но при этом довольно коварная абстракция. Самые неожиданные вещи обычно происходят на стыке какой-либо реализации LINQ и LINQ To Objects. Сегодня на одном примере я рассмотрю совместную работу LINQ To Entities (Entity Framework) и LINQ To Objects.За основу возьмем метод репозитория, который принимает на вход список идентификаторов клиентов и возвращает сгруппированный по
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lFIC5Yrjbc4KqFFEzxn2ys1LKGI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lFIC5Yrjbc4KqFFEzxn2ys1LKGI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lFIC5Yrjbc4KqFFEzxn2ys1LKGI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lFIC5Yrjbc4KqFFEzxn2ys1LKGI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/3f1FiH0oTPM" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;DkUFRnw6fip7ImA9WhZWFkk.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-3081641423316331321</id><published>2011-05-17T13:30:00.003+07:00</published><updated>2011-05-17T21:56:57.216+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-17T21:56:57.216+07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework" /><title>Entity Framework и MySQL</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/3081641423316331321/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=3081641423316331321" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/3081641423316331321?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/3081641423316331321?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/entity-framework-mysql.html" title="Entity Framework и MySQL" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>3</thr:total><content type="html">Если вы вдруг соберетесь использовать Entity Framework в связке MySQL, ни за что, на при каких обстоятельствах не используйте родной провайдер MySQL .NET Connector. Это не ADO.NET-провайдер, а кишащее критичными багами, которые не фиксятся годами, недоразумение (по крайней мере в области поддержки Entity Framework).Из сторонних альтернатив я бы посоветовал продукт dotConnect for MySQL от компании
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MojxinBcDykb8gQRunUAR8rACes/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MojxinBcDykb8gQRunUAR8rACes/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MojxinBcDykb8gQRunUAR8rACes/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MojxinBcDykb8gQRunUAR8rACes/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/UGwsPpSqPtE" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;CUcMRX04fyp7ImA9WhZWFEk.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-8926958348476680981</id><published>2011-05-10T04:07:00.005+07:00</published><updated>2011-05-15T14:04:44.337+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-15T14:04:44.337+07:00</app:edited><title>Как не нужно прятать вещи</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/8926958348476680981/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=8926958348476680981" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/8926958348476680981?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/8926958348476680981?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/blog-post_10.html" title="Как не нужно прятать вещи" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>2</thr:total><content type="html">Для получения допуска к защите магистрской диссертации мне нужно выполнить одно задание. Задание туповатое, нудноватое, да к тому же еще и добровольно-принудительное. Неудивительно, что я отложил его на последний момент.Итак, глубокая ночь. Я таки собрался сделать это несчастное задание. Начинаю искать учебное пособие, необходимое для его выполнения. Оно было где-то здесь... Ну вот прям здесь... 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0W4HmhbpaQJb--OGRZ2Dp421wWE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0W4HmhbpaQJb--OGRZ2Dp421wWE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0W4HmhbpaQJb--OGRZ2Dp421wWE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0W4HmhbpaQJb--OGRZ2Dp421wWE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/4S5umchdHOY" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;CE4NQHk9fCp7ImA9WhZWEE8.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-8720988052195776017</id><published>2011-05-10T02:44:00.003+07:00</published><updated>2011-05-10T17:23:11.764+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-10T17:23:11.764+07:00</app:edited><title>Новый шаблон</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/8720988052195776017/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=8720988052195776017" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/8720988052195776017?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/8720988052195776017?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/blog-post.html" title="Новый шаблон" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>2</thr:total><content type="html">Я таки преодолел свою лень и поставил новый, более широкий шаблон. Надеюсь, теперь читать исходники будет удобнее.P. S. Перешел на темную сторону :)
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/l81yln-TMOCHXxLiPJ1TwxAIYSs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l81yln-TMOCHXxLiPJ1TwxAIYSs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/l81yln-TMOCHXxLiPJ1TwxAIYSs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l81yln-TMOCHXxLiPJ1TwxAIYSs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/Td9iRWogeMo" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;DEINSHw7eip7ImA9WhZXFU8.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-4417582032280549637</id><published>2011-05-04T23:19:00.002+07:00</published><updated>2011-05-04T23:29:59.202+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-04T23:29:59.202+07:00</app:edited><title>Приходилось ли вам нарушать GPL?</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/4417582032280549637/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=4417582032280549637" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4417582032280549637?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4417582032280549637?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/gpl.html" title="Приходилось ли вам нарушать GPL?" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">Запустил на Хабре опрос "Приходилось ли вам нарушать GPL?" Мой вариант - "да". Стыдно ли мне? Да.
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qgoW-jbROogl2AgcR30n87Rr_GA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qgoW-jbROogl2AgcR30n87Rr_GA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qgoW-jbROogl2AgcR30n87Rr_GA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qgoW-jbROogl2AgcR30n87Rr_GA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/NU-i_9twQt8" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;C04MQnszfCp7ImA9WhZWEEk.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-2394982900799647960</id><published>2011-05-03T13:39:00.018+07:00</published><updated>2011-05-10T22:39:43.584+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-10T22:39:43.584+07:00</app:edited><title>C# и синтаксический сахар</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/2394982900799647960/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=2394982900799647960" title="Комментарии: 12" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/2394982900799647960?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/2394982900799647960?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/05/c.html" title="C# и синтаксический сахар" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>12</thr:total><content type="html">Вот смотрю я сейчас на код своего проекта и вижу десятки тестов, содержащих строчки вроде этой:DictionaryAssert.AreMultiEquivalent(   new Dictionary&amp;lt;long, IList&amp;lt;long&amp;gt;&amp;gt;()       {         {            ConstantParameterIds.BookFormat,             new List&amp;lt;long&amp;gt;() {ConstantBookFormatValueIds.Paperback}         }      },    valuesDictionary);Очень много лишних символов, не находите? На 5 минут 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_5qJNn4vog52ekmiFBop_dNvWe8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_5qJNn4vog52ekmiFBop_dNvWe8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_5qJNn4vog52ekmiFBop_dNvWe8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_5qJNn4vog52ekmiFBop_dNvWe8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/qPE0tl0WE8o" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;A08ARX0zfyp7ImA9WhZXEkg.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-4211077340926261555</id><published>2011-04-29T11:09:00.013+07:00</published><updated>2011-05-01T21:24:04.387+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-01T21:24:04.387+07:00</app:edited><title>Допиливаем HtmlAgilityPack. Часть 2</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/4211077340926261555/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=4211077340926261555" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4211077340926261555?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4211077340926261555?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/htmlagilitypack-2.html" title="Допиливаем HtmlAgilityPack. Часть 2" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">У класса HtmlNode есть свойство NextSibling, возращающее следующий элемент того же уровня (далее - сиблинг). Однако зачастую нужно получить следующий сиблинг с определенным тегом. Даже в самой простой ситуации:anchor1 NextSibling для a1 вернет пробельный символ, а не a2. Поэтому я посчитал целесообразным добавить метод NextSiblingWithName (предложите лучшее название):public HtmlNode 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/iyRJ12p3YJDkSqtST5DfdmQYHiw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iyRJ12p3YJDkSqtST5DfdmQYHiw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/iyRJ12p3YJDkSqtST5DfdmQYHiw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/iyRJ12p3YJDkSqtST5DfdmQYHiw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/kmtefWl13Sg" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;C0MNRHw-eCp7ImA9WhZQGEo.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-470689493975433325</id><published>2011-04-26T04:03:00.009+07:00</published><updated>2011-04-27T09:31:35.250+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-27T09:31:35.250+07:00</app:edited><title>Dependency Inversion Principle и инкапсуляция</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/470689493975433325/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=470689493975433325" title="Комментарии: 16" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/470689493975433325?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/470689493975433325?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/dependence-inversion-principle.html" title="Dependency Inversion Principle и инкапсуляция" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>16</thr:total><content type="html">При всей моей любви к Dependency Inversion Principle, меня всегда немного смущало то, как он соотносится с инкапсуляцией.Давайте разберемся на примерах. И вот первый из них:public class Car : ICar{   private readonly IEngine _engine;   public Car(IEngine engine)   {      _engine = engine;   }   ...}Есть машина, и у нее есть двигатель. Причем на разные машины могут ставиться разные двигатели. Пока
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AYEWfH7HLbDHlT5Q_FLWEIGndvk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AYEWfH7HLbDHlT5Q_FLWEIGndvk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AYEWfH7HLbDHlT5Q_FLWEIGndvk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AYEWfH7HLbDHlT5Q_FLWEIGndvk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/CBGiBmeDgXU" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;CEENRXk6eSp7ImA9WhZQFko.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-1943249877957129819</id><published>2011-04-25T01:25:00.007+07:00</published><updated>2011-04-25T02:18:14.711+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-25T02:18:14.711+07:00</app:edited><title>Расширяем Regex</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/1943249877957129819/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=1943249877957129819" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/1943249877957129819?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/1943249877957129819?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/regex.html" title="Расширяем Regex" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>2</thr:total><content type="html">90% моей работы с регулярными выражениями происходит по следующему сценарию:var match = Regex.Match(input, pattern);if (!match.Success) throw new Exception("Can't match input to pattern");...Написав в очередной раз эти 3 строчки, я понял, что дальше так жить нельзя - нужно реализовать метод MatchForSure (наверное, не самое удачное название - предложите свой вариант).Печально, но C# не 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/AWHHujB5OSo16gTWi56PIX0IDKw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AWHHujB5OSo16gTWi56PIX0IDKw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/AWHHujB5OSo16gTWi56PIX0IDKw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/AWHHujB5OSo16gTWi56PIX0IDKw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/o5VmOK3pNM8" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;CUMMSXk9eyp7ImA9WhZXEk8.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-5613799792133723723</id><published>2011-04-24T01:09:00.018+07:00</published><updated>2011-05-01T11:18:08.763+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-01T11:18:08.763+07:00</app:edited><title>Допиливаем HtmlAgilityPack. Часть 1</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/5613799792133723723/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=5613799792133723723" title="Комментарии: 7" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5613799792133723723?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5613799792133723723?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/htmlagilitypack.html" title="Допиливаем HtmlAgilityPack. Часть 1" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>7</thr:total><content type="html">HtmlAgilityPack - пожалуй, самый популярный парсер HTML под .NET. В транке SVN'а лежит версия 1.4, но я бы посоветовал использовать версию 2 из бранчи. Я внес некоторые изменения в эту ветку и зарепортил их в виде патча. Пока неизвестно, попадут эти изменения в репозиторий или нет, поэтому вкратце опишу их в этом посте: может, тебе, мой дорогой читатель, эти изменения тоже пригодятся.Центром 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mxwDnEQrp1yZO-mWzCMpIgl0Xxk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mxwDnEQrp1yZO-mWzCMpIgl0Xxk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mxwDnEQrp1yZO-mWzCMpIgl0Xxk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mxwDnEQrp1yZO-mWzCMpIgl0Xxk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/cy49zn95JA8" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;D0IERHg9eCp7ImA9WhZQFE0.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-2496460688788246187</id><published>2011-04-21T23:37:00.003+07:00</published><updated>2011-04-22T00:05:05.660+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-22T00:05:05.660+07:00</app:edited><title>Чем хороши StandUp-митинги</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/2496460688788246187/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=2496460688788246187" title="Комментарии: 6" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/2496460688788246187?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/2496460688788246187?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/standup.html" title="Чем хороши StandUp-митинги" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>6</thr:total><content type="html">Натолкнулся на отличную статью, которая, базируясь на понятии пропускной способности коммуникации (communication bandwidth), кратко и емко объясняет, чем StandUp-митинги и другие формы face-to-face коммуникации лучше электронной почты, звонков, ежедневных письменных отчетов и т. д.У нас в компании периодически проходили споры на этот счет и, думаю, фраза communication bandwidth поможет мне 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gunh_8MmRWeJkddWOceEu9VwwNA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gunh_8MmRWeJkddWOceEu9VwwNA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gunh_8MmRWeJkddWOceEu9VwwNA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gunh_8MmRWeJkddWOceEu9VwwNA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/vMLAcS2R2a8" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;C0cBSHw-eyp7ImA9WhZQFE0.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-1856731889029375512</id><published>2011-04-21T14:12:00.008+07:00</published><updated>2011-04-21T22:50:59.253+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-21T22:50:59.253+07:00</app:edited><title>Дубликация данных при выполнении JOIN-запросов</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/1856731889029375512/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=1856731889029375512" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/1856731889029375512?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/1856731889029375512?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/join.html" title="Дубликация данных при выполнении JOIN-запросов" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">Давайте представим, что у нас есть две таблицы: Users (UserId, UserName, UserPhoto) и Articles (ArticleId, UserId, ArticleText). А теперь сделаем выборку пользователей со статьями при помощи Join:SELECT UserId, UserName, UserPhoto, ArticleId, ArticleText FROM Users as u INNER JOIN Articles as a ON u.UserId = a.UserIdСтруктура ответа на этот запрос будет следующей:UserId1 UserName1 UserPhoto1 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/U0h4pWJIfn4JyDAyKmq-yogS_dg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U0h4pWJIfn4JyDAyKmq-yogS_dg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/U0h4pWJIfn4JyDAyKmq-yogS_dg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/U0h4pWJIfn4JyDAyKmq-yogS_dg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/wGp55AGLpqw" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;CEIERXkyeyp7ImA9WhZREkQ.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-5127133706522729220</id><published>2011-04-09T02:16:00.007+07:00</published><updated>2011-04-09T02:55:04.793+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-09T02:55:04.793+07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework" /><title>Google Analytics и Entity Framework</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/5127133706522729220/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=5127133706522729220" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5127133706522729220?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5127133706522729220?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/google-analytics-entity-framework.html" title="Google Analytics и Entity Framework" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>3</thr:total><content type="html">Заглянул в Google Analytics - оказывается, большинство читателей приходит в мой блог в поисках информации об Entity Framework. Неудивительно, ведь по запросу "Entity Framework" мой блог на первой странице в Google сразу за Википедией и MSDN.С одной стороны, приятно, с другой, - все-таки это неправильно: мои статьи устарели и не заслуживают такой высокой позиции. А ведь интересная задачка: как 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JkeYlXOzmm8zHMW1GzoWGcwF3T8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JkeYlXOzmm8zHMW1GzoWGcwF3T8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JkeYlXOzmm8zHMW1GzoWGcwF3T8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JkeYlXOzmm8zHMW1GzoWGcwF3T8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/RjQDkCOdDb4" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;DEIFSHwzeip7ImA9WhZREkQ.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-3861387178907910506</id><published>2011-04-09T01:15:00.006+07:00</published><updated>2011-04-09T04:01:59.282+07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-09T04:01:59.282+07:00</app:edited><title>Полицейские инновации</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/3861387178907910506/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=3861387178907910506" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/3861387178907910506?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/3861387178907910506?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/04/blog-post.html" title="Полицейские инновации" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">В условно-теплое время года я частенько устраиваю пробежки дабы немного  проветрить мозги, да заодно напомнить своей тушке те славные времена, когда она не была офисным планктоном. Происходит это мероприятие обычно спонтанно в промежутке с 10 часов вечера до 4 утра. Как раз в то самое время, когда активизируются любители ночной жизни (которая, к слову, в провинциальных городках вроде Томска не 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UfYNpASaKqE1HvvXNy3SeYQ0o-4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UfYNpASaKqE1HvvXNy3SeYQ0o-4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UfYNpASaKqE1HvvXNy3SeYQ0o-4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UfYNpASaKqE1HvvXNy3SeYQ0o-4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/7OTvqOBtHc4" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;D0YCSHg_fSp7ImA9WhZSEUk.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-5019303550223171248</id><published>2011-03-25T17:00:00.011+06:00</published><updated>2011-03-26T19:12:49.645+06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-26T19:12:49.645+06:00</app:edited><title>C# и вывод generic-типов при создании объекта</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/5019303550223171248/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=5019303550223171248" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5019303550223171248?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5019303550223171248?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/03/c-generic.html" title="C# и вывод generic-типов при создании объекта" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">C# умеет выводить типы при вызове generic-методов (например, Tuple.Create(5, 5)), однако при вызове конструктора типы нужно задавать явно (например, new Tuple&amp;lt;int, int&amp;gt;(5, 5))Очевидный workaround, продемонстрированный выше, - использовать фабрику. Но это вынуждает захламлять API для обхода, по сути, недоработки компилятора.Сегодня я решил разобраться, почему дела обстоят именно так: может быть, я
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Z1iw6vwgngMw5oP1nBUX5e6DE1I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z1iw6vwgngMw5oP1nBUX5e6DE1I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Z1iw6vwgngMw5oP1nBUX5e6DE1I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Z1iw6vwgngMw5oP1nBUX5e6DE1I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/qWK3__XbluA" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;CUYBRH06fSp7ImA9WhZTFkQ.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-5429496849104503337</id><published>2011-03-19T22:11:00.031+06:00</published><updated>2011-03-21T13:39:15.315+06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-21T13:39:15.315+06:00</app:edited><title>Кроссфункциональная команда</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/5429496849104503337/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=5429496849104503337" title="Комментарии: 6" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5429496849104503337?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/5429496849104503337?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/03/blog-post_19.html" title="Кроссфункциональная команда" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>6</thr:total><content type="html">Компания, в которой я работаю, под эгидой кроссфункциональности команды практикует временную переквалификацию программистов (реже - менеджеров) в тестеров на время квалификации (активного тестирования перед релизом). Дело в том, что во время квалификации все фичи текущего проекта реализованы, и если тестирование выявляет мало багов, программисты либо простаивают, либо занимаются фичами для 
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jDzUlwN4IxG39PdKVaiqnj1lQE4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDzUlwN4IxG39PdKVaiqnj1lQE4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jDzUlwN4IxG39PdKVaiqnj1lQE4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDzUlwN4IxG39PdKVaiqnj1lQE4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/R1ZQQHkjyBU" height="1" width="1"/&gt;</content></entry><entry gd:etag="W/&quot;AkUNR3Y-eyp7ImA9WhZTEkg.&quot;"><id>tag:blogger.com,1999:blog-7280940690786118938.post-4746035281623686037</id><published>2011-03-15T15:44:00.001+06:00</published><updated>2011-03-16T12:51:36.853+06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-16T12:51:36.853+06:00</app:edited><title>TransactionScope - заманчивый, но коварный</title><link rel="replies" type="application/atom+xml" href="http://alexidsa.blogspot.com/feeds/4746035281623686037/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=7280940690786118938&amp;postID=4746035281623686037" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4746035281623686037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/7280940690786118938/posts/default/4746035281623686037?v=2" /><link rel="alternate" type="text/html" href="http://alexidsa.blogspot.com/2011/03/transactionscope.html" title="TransactionScope - заманчивый, но коварный" /><author><name>Idsa</name><uri>http://www.blogger.com/profile/15985124810962581978</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="24" src="http://4.bp.blogspot.com/_ZXVxHgRNLs4/SbLDM2CEPRI/AAAAAAAAABM/YnKKVyb_p3k/S220/DSCF2343.JPG" /></author><thr:total>0</thr:total><content type="html">Разместил статью на Хабре: http://habrahabr.ru/blogs/net/115480/
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YzZhH4QOA0EowI4TwR0sctRfdfo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YzZhH4QOA0EowI4TwR0sctRfdfo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YzZhH4QOA0EowI4TwR0sctRfdfo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YzZhH4QOA0EowI4TwR0sctRfdfo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AlexIdsa/~4/nw4pRyO9U6I" height="1" width="1"/&gt;</content></entry></feed>

