<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6034419011017584516</id><updated>2011-10-12T19:44:25.537+04:00</updated><title type='text'>DiNG0</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default?start-index=26&amp;max-results=25'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>57</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-2198383349863211042</id><published>2008-06-21T22:41:00.003+04:00</published><updated>2008-06-21T22:55:57.794+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>Дурная голова рукам покоя не дает</title><content type='html'>В последнее время частенько приходится оптимизировать sql запросы. Для начала я обычно сохраняю план исполнения и далее уже копаюсь по нему, ищу горячие места и думаю что с ними делать. Все это в SQL Server Management Studio. &lt;br /&gt;&lt;br /&gt;И вот некоторой функциональности мне в ней не хватало. Я решил что наверняка кто-то уже написал приложения для удобного анализа планов исполнения, но гуглинг результатов не дал. Я слегка удивился тому что столкнулся с крайне необходимой задачей, решений которой в интернете нет...&lt;br /&gt;&lt;br /&gt;Ну собственно решил написать по быстренькому утилитку для просмотра и анализа планов. Закинул себе с работы план:  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_yf6oi6f8oN0/SF1Nk-hJZtI/AAAAAAAAEe4/i73DCHOf7c8/s1600-h/sqlplan.GIF"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_yf6oi6f8oN0/SF1Nk-hJZtI/AAAAAAAAEe4/i73DCHOf7c8/s320/sqlplan.GIF" border="0" alt=""id="BLOGGER_PHOTO_ID_5214409241217558226" /&gt;&lt;/a&gt;&lt;br /&gt;Скачал xml-схему, сгенерил классы, начал парсить структуру и укладывать в UI. И тут понадобилось мне кое-что подглянуть в Management Studio. Открыл в ней план, который разбирал в приложении и совершенно случайно все-таки увидел функциональность, которой мне не хватало :) Ну не по глазам было...&lt;br /&gt;&lt;br /&gt;Собственно этим и объяснялось то, что я не нашел дополнительных средств для анализа - то что мне было нужно уже есть в Management Studio. Немного обидно что сразу не нашел, но зато теперь не надо городить велосипед: можно брать и пользоваться.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-2198383349863211042?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/2198383349863211042/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=2198383349863211042' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2198383349863211042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2198383349863211042'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/06/blog-post.html' title='Дурная голова рукам покоя не дает'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_yf6oi6f8oN0/SF1Nk-hJZtI/AAAAAAAAEe4/i73DCHOf7c8/s72-c/sqlplan.GIF' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-8222835344040540419</id><published>2008-04-16T22:51:00.006+04:00</published><updated>2008-04-16T23:19:50.298+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>BoundField с DataFormatString</title><content type='html'>&lt;i&gt;Для того чтобы по утрам войти в поток я стараюсь найти какой-нибудь простенький талончик, который можно пофиксить за 30 секунд. Вроде бы ерунду сделал, но после того как я выполнил стандартный набор действий я работаю намного продуктивнее :)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Ну и вот среди таких талонов были замечания на форматирование дат в GridView (нужно было убрать отображение времени). Ну я их быстренько пофиксил (дописав в соответствующем BoundField столбце DataFormatString="{0:MM/dd/yyyy}"), проверил на своем компе, закоммитил, талоны перекинул на тестеров. Вроде бы все ок...&lt;br /&gt;&lt;br /&gt;А потом талоны вернули с резолюцией: "не сделано".&lt;br /&gt;Полез на тест-сервер - действительно не сделано... Посмотрел еще на одном сервере - та же беда... Версия на серверах корректная. Посмотрел файлы - изменения в них есть. Т.е. файлы одни и те же, но у меня работает, а у всего остального мира - нет. Хрень.&lt;br /&gt;&lt;br /&gt;А оказалось &lt;a href="http://weblogs.asp.net/rajbk/archive/2005/10/31/429090.aspx"&gt;вот что&lt;/a&gt;. Для предотвращения XSS-атаки выполняется HTML-кодирование. Причем выполняется данная операция до применения форматирования...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Решается установкой для столбца &lt;i&gt;HtmlEncode="false"&lt;/i&gt;.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Старинная бага, но до сих пор не исправлена.&lt;br /&gt;&lt;br /&gt;Коменты к посту по ссылке рулят. Мне понравилось:&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;&lt;span style="color:navy"&gt;Thanks for wasting my time Microsoft.&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-8222835344040540419?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/8222835344040540419/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=8222835344040540419' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8222835344040540419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8222835344040540419'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/04/boundfield-dataformatstring.html' title='BoundField с DataFormatString'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-2199220458387190966</id><published>2008-04-14T17:52:00.003+04:00</published><updated>2008-04-14T17:57:26.269+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ie'/><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='ff'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>Век живи, век учись</title><content type='html'>Почему я раньше с этим не сталкивался?&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#a65700; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#5f5035; '&gt;asp:TextBox&lt;/span&gt;&lt;span style='color:#274796; '&gt; runat&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"server"&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#074726; '&gt;ID&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"txt"&lt;/span&gt;&lt;span style='color:#274796; '&gt; mozilla:&lt;/span&gt;&lt;span style='color:#074726; '&gt;Width&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"116px"&lt;/span&gt;&lt;span style='color:#274796; '&gt; ie:&lt;/span&gt;&lt;span style='color:#074726; '&gt;Width&lt;/span&gt;&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;"114px"&lt;/span&gt;&lt;span style='color:#274796; '&gt; &lt;/span&gt;&lt;span style='color:#a65700; '&gt;/&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Ведь в совокупности как минимум несколько дней жизни потерял из-за проблем рендеринга в разных браузерах...&lt;br /&gt;&lt;br /&gt;А сегодня случайно увидел в проекте.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-2199220458387190966?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/2199220458387190966/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=2199220458387190966' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2199220458387190966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2199220458387190966'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/04/blog-post_14.html' title='Век живи, век учись'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-730810065031526368</id><published>2008-04-13T22:26:00.004+04:00</published><updated>2008-04-13T23:02:25.666+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='books'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Связи решают все</title><content type='html'>Я иногда читаю и нетехнические книги :) &lt;br /&gt;&lt;br /&gt;Уже достаточно длительно время хотел прочитать эту книгу, т.к. отзывы по большей части положительные. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ozon.ru/context/detail/id/3325972/?partner=ding0"&gt;&lt;img border="1" src="http://www.ozon.ru/multimedia/books_covers/1000533697.jpg" alt="Связи решают все. Бизнес-сказка о Царевне-лягушке"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Полезных идей для меня очень много - уже начал применять их на практике и буду стараться не потерять настроение :) Навыки общения с людьми и построения связей у меня в плачевном состоянии. &lt;br /&gt;&lt;br /&gt;Единственный минус - полезного материала (при всем его качестве) страниц на 10-20. Остальное - вода, без которой на мой взгляд можно было бы обойтись. Немного жаль потерянного времени. Как будто опять прочитал &lt;a href="http://www.ozon.ru/context/detail/id/2900690/?partner=ding0"&gt;"Джек. Мои годы в GE"&lt;/a&gt;... Вторая книга издательства &lt;a href="http://mann-ivanov-ferber.ru/"&gt;МИФ&lt;/a&gt; которую я читаю и обе вызвали у меня одинаковый (легкий) негатив - совпадение ли?&lt;br /&gt;&lt;br /&gt;А так, вообще - однозначно рекомендую к прочтению.&lt;br /&gt;&lt;br /&gt;Пришлось неделю ждать (я думал что за пару дней управятся), пока книгу доставят из Москвы в Зеленоградский АО :) Отслеживал статус бандероли через сайт &lt;a href="http://www.russianpost.ru/portal/ru/home/postal/trackingpo"&gt;Почты России&lt;/a&gt; - очень оригинальный опыт. Оригинальный в том плане, что статус проставляется через несколько дней после события - российская специфика... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-730810065031526368?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/730810065031526368/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=730810065031526368' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/730810065031526368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/730810065031526368'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/04/blog-post.html' title='Связи решают все'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-8018116913851940000</id><published>2008-03-31T12:01:00.001+04:00</published><updated>2008-03-31T12:01:42.739+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='nhibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>NHibernate 2.0 Alpha 1</title><content type='html'>&lt;a href="http://ayende.com/Blog/archive/2008/03/31/NHibernate-2.0-Alpha-is-out.aspx"&gt;NHibernate 2.0 Alpha 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ayende Rahien сообщил о релизе первой альфы NHibernate 2.0. Там же привел список новых фич и изменений.&lt;br /&gt;&lt;br /&gt;Можно пробовать.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-8018116913851940000?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/8018116913851940000/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=8018116913851940000' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8018116913851940000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8018116913851940000'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/nhibernate-20-alpha-1.html' title='NHibernate 2.0 Alpha 1'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-7212508349659679853</id><published>2008-03-29T22:31:00.002+03:00</published><updated>2008-03-29T22:34:40.503+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Групповая разработка с использованием Visual Studio Team Foundation Server</title><content type='html'>&lt;a href="http://dev.net.ua/files/folders/tfsguide/default.aspx"&gt;Книжка&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Решил пролистать, т.к. в настоящее время TFS не использую, но жизнь всяко может повернуться :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-7212508349659679853?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/7212508349659679853/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=7212508349659679853' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/7212508349659679853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/7212508349659679853'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/visual-studio-team-foundation-server.html' title='Групповая разработка с использованием Visual Studio Team Foundation Server'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-1485179131157332107</id><published>2008-03-24T22:45:00.005+03:00</published><updated>2008-03-25T00:06:14.774+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='nhibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='opensource'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Microsoft &amp; OpenSource</title><content type='html'>После посещения &lt;a href="http://ding0.blogspot.com/2008/03/heroes-2008.html"&gt;мероприятия&lt;/a&gt;, пока добирались домой у меня в голове вертелась разная ерунда связанная так или иначе с прослушанными докладами.&lt;br /&gt;&lt;br /&gt;Нужно заметить, что Microsoft в последние годы &lt;a href="http://www.microsoft.com/opensource/default.mspx"&gt;ОЧЕНЬ активно старается сотрудничать с OpenSource движением&lt;/a&gt;. Ну возможно у них для этого &lt;a href="http://abbra.livejournal.com/118428.html"&gt;есть свои причины...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Вот и на мероприятии практически на каждом докладе фигурировали слова NUnit, NHibernate, LINQ for NHibernate, NVelocity, Rhino Mocks, CruiseControl.NET и еще много всякого чего я не запомнил. И как то решения Microsoft на этом фоне смотрелись уже не настолько выгодно. &lt;br /&gt;&lt;br /&gt;Доклады посвященные TFS и VS TS меня несколько удивили - половину описанных решений можно было реализовать с помощью достаточно отработанной связки SVN + CC.NET + NAnt + NUnit. Да, оно не настолько удобно, в плане того что это не одна приклада а несколько. Но извините это день-два работы против десятков килобаксов. В стоимости могу ошибиться, но вот посмотрел на SoftKey: TFS около $3k (ему поди еще и SQL Server нужно приличный), VS TS около $9k (Pro версия конечно дешевле). Крупные SV возможно могут себе это позволить (и возможно даже будут использовать 20% возможностей), остальные вряд ли будут покупать...&lt;br /&gt;&lt;br /&gt;А с докладами посвященным новым технологиям еще интереснее.&lt;br /&gt;&lt;br /&gt;Microsoft ASP.NET MVC Framework. &lt;br /&gt;ViewState, PostBack отменили. Миша сказал что ему все это очень PHP напоминает :) &lt;br /&gt;Насколько я понял, на данный момент решение несовместимо с UpdatePanel, а разработчики на ASP.NET &lt;span style="font-weight:bold;"&gt;по большей части&lt;/span&gt; делать AJAX по другому и не учились :) Все привыкли оборачивать свои огромные формочки в панельку и забывать о них. &lt;br /&gt;Народ шутил, что Microsoft переизобрела URL rewriting. И собственно на докладе прозвучало как будто это что-то новое для ASP.NET. Хотя на самом деле &lt;a href="http://msdn2.microsoft.com/en-us/library/ms972974.aspx"&gt;использовать можно было давным давно...&lt;/a&gt; Да не из коробки, да руки нужно приложить, но что же поделать... &lt;br /&gt;А еще несколькими днями ранее я увидел &lt;a href="http://www.ayende.com/Blog/archive/2007/09/03/Rhino-Igloo-ndash-MVC-Framework-for-Web-Forms.aspx"&gt;Rhino Igloo&lt;/a&gt;. Ну и разумеется есть &lt;a href="http://www.castleproject.org/monorail/index.html"&gt;MonoRail&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Доклад по технологиям доступа к данным был клевым. &lt;br /&gt;LINQ конечно пригодится и наверняка будем стараться его применять.&lt;br /&gt;LINQ for SQL (классный бонус в том что в идеальном случае вся работа состоит в перетаскивании табличек на диаграмму - полный разврат) - не знаю, мне кажется мы консервативно еще некоторое время останемся на NHibernate. Нужно будет еще потискать &lt;a href="http://www.ayende.com/Blog/archive/2007/03/17/Implementing-Linq-for-NHibernate-A-How-To-Guide--Part.aspx"&gt;LINQ for NHibernate&lt;/a&gt;, чтобы в случае чего безболезненно перепрыгнуть.&lt;br /&gt;&lt;br /&gt;И вот что меня поразило (и о чем я сразу сказал Мише) - практически в каждом докладе который мы посетили или упоминались (либо в плане интеграции, либо в сравнении) решения разработанные &lt;a href="http://ayende.com/"&gt;Ayende Rahien&lt;/a&gt;, либо они просто есть. Один человек налабал столько удобных инструментов (ну точнее API, а не UI) для разработчика, что остается только удивляться :) Можно тупо качать &lt;a href="http://sourceforge.net/projects/rhino-tools/"&gt;Rhino Tools&lt;/a&gt; и не изобретать много велосипедов. Разумеется в настоящее время эти проекты разрабатывает не он один, но инициатором то был он. &lt;br /&gt;&lt;br /&gt;Вобщем у меня какой-то ступор до сих пор, не знаю что и думать.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-1485179131157332107?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/1485179131157332107/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=1485179131157332107' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/1485179131157332107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/1485179131157332107'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/microsoft-opensource.html' title='Microsoft &amp; OpenSource'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-6030884431690812201</id><published>2008-03-18T21:49:00.003+03:00</published><updated>2008-03-18T22:06:16.681+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Heroes 2008</title><content type='html'>Сегодня ездили с Мишей на мероприятие.&lt;br /&gt;&lt;br /&gt;В целом из прослушанных докладов я почерпнул немного, т.к. недавно ездил на однодневный семинар, благодаря которому я немного в теме, ну и просто стараюсь интересоваться. Но зато немного отвлекся от работы.&lt;br /&gt;&lt;br /&gt;На стенде MSDN кормили свежеиспеченными блинами и поили медовухой :)&lt;br /&gt;&lt;br /&gt;Один слегка неприятный момент: пришли на стенд "Спроси эксперта" - хотели поспрашивать по поводу MVC Framework :) а тут техническому персоналу как раз приспичило развернуть звуковое оборудование для закрытия мероприятия. И нас достаточно бесцеремонно попросили уйти, т.к. на наше место нужно было поставить какой-то большой ящик (наверное колонку).&lt;br /&gt;&lt;br /&gt;А в целом все понравилось. Очень порадовала организация мероприятия. До сих пор из посещенных мною мероприятий нормальным считал только WebDevCon'06. На DevDays и Technet было не очень приятно в плане организации (особо меня пугали толпы голодных программистов которые бежали на обед). А тут места было много, да и мы ходили питаться в соседний зал, где было народу поменьше.&lt;br /&gt;&lt;br /&gt;Еще я теперь поставлю себе на ноут VS 2008. Хорошо.&lt;br /&gt;&lt;br /&gt;P.S. Жаль что не раздавали полезные книжки, как например &lt;a href="http://nzeemin.livejournal.com/235765.html"&gt;в Ижевске&lt;/a&gt; (часть из них я пока в продаже не видел), но это ниче.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-6030884431690812201?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/6030884431690812201/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=6030884431690812201' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/6030884431690812201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/6030884431690812201'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/heroes-2008.html' title='Heroes 2008'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-1344328046479335296</id><published>2008-03-10T22:05:00.003+03:00</published><updated>2008-03-10T22:31:53.886+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><category scheme='http://www.blogger.com/atom/ns#' term='certification'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Подготовка к 70-528</title><content type='html'>Сейчас стараюсь скоренько подготовиться к экзамену &lt;a href="http://www.microsoft.com/learning/exams/70-528.mspx"&gt;70-528&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ориентируясь по &lt;a href="http://ding0.blogspot.com/2007/04/70-536.html"&gt;предыдущему опыту&lt;/a&gt;, купил пособие для самоподготовки. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ozon.ru/context/detail/id/3718243/?partner=ding0"&gt;&lt;img border="1" alt="Разработка клиентских веб-приложений на платформе Microsoft .Net Framework" src="http://www.ozon.ru/multimedia/books_covers/1000695979.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Перевод опять так себе, опечаток и ошибок хватает, но читать оригинал в электронном виде мне намного неудобнее...&lt;br /&gt;&lt;br /&gt;Потом, когда дочитаю пособие (и само собой, сделаю упражнения), почитаю отзывы тех кто уже сдал экзамен - обычно пишут о темах, которые были наиболее трудными. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Когда я сдавал &lt;a href="http://www.microsoft.com/learning/exams/70-536.mspx"&gt;70-536&lt;/a&gt; первый раз, у меня были серьезные проблемы с темами которые я на практике очень мало использовал: локализация и глобализация, безопасность, сериализация (тут конечно возникает вопрос насколько материал теста соотносится с практическими задачами). Перед второй сдачей я уделил этим темам особое внимание и судя по транскрипту у меня в них не было ни одной ошибки :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Просмотрев содержание экзамена и книги, я выделил несколько тем, которые относительно далеки от моих практических навыков. Это ADO.NET (т.к. по большей части, голый ADO.NET я использовал мало), глобализация и локализация веб-приложений (на первом проекте я даже по возможности провоцировал отказ от глобализации - много времени уходило, а пользоваться все равно собирались только на одном языке), разработка для мобильных устройств, кэширование. &lt;br /&gt;Надо будет про все это повнимательнее покопать :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-1344328046479335296?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/1344328046479335296/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=1344328046479335296' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/1344328046479335296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/1344328046479335296'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/70-528.html' title='Подготовка к 70-528'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-5916655548106664171</id><published>2008-03-08T23:11:00.004+03:00</published><updated>2008-03-08T23:24:12.792+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>SSW Rules to Better ...</title><content type='html'>Когда я начинал плотно заниматься .net у меня было достаточно много вопросов, задать которые очно было некому, т.к. я тогда работал в компании, которая большую часть разработки ведет на голом C. В рамках самообразования я решил приобщиться хотя бы каких-нибудь кодинг-стандартов. &lt;br /&gt;&lt;br /&gt;Вот тогда я и набрел на сайтик  &lt;a href="http://www.ssw.com.au/SSW/Standards/Default.aspx"&gt;SSW Rules to Better ...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;По сути это собрание рулезов для различных областей разработки (и не только).&lt;br /&gt;Все удобно организовано и большая часть правил обоснована.&lt;br /&gt;&lt;br /&gt;Примеры:&lt;br /&gt;&lt;a href="http://www.ssw.com.au/ssw/Standards/Rules/RulestoBetterCode.aspx"&gt;Rules to Better Code&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterSQLServerDatabases.aspx"&gt;Rules to Better SQL Server Databases&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterdotNETProjects.aspx"&gt;Rules to Better .NET Projects&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterUnitTests.aspx"&gt;Rules to Better Unit Tests&lt;/a&gt;&lt;br /&gt;и т.д.&lt;br /&gt;&lt;br /&gt;Обычно перед началом разработки (а также если я считаю что у меня застой и нужно почерпнуть какую-нибудь новую мысль) я захожу и читаю разделы относящиеся к проекту.&lt;br /&gt;&lt;br /&gt;Я понимаю, что есть много подобных собраний мудрости :), но у меня как-то исторически сложилось отношения именно с этим.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-5916655548106664171?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/5916655548106664171/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=5916655548106664171' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5916655548106664171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5916655548106664171'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/ssw-rules-to-better.html' title='SSW Rules to Better ...'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-1329615355940221929</id><published>2008-03-07T22:01:00.003+03:00</published><updated>2008-03-07T22:42:16.562+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Dynamic of Software Development</title><content type='html'>&lt;i&gt;Джим и Мишель МакКарти&lt;/i&gt;&lt;br /&gt;&lt;b&gt;Правила разработки программного обеспечения&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ozon.ru/context/detail/id/3163596/?partner=ding0"&gt;&lt;img src="http://www.ozon.ru/multimedia/books_covers/1000475578.jpg" alt="Правила разработки программного обеспечения" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Книга посвящена управлению проектами и состоит из набора правил которые по началу воспринимаются нормально, но достаточно быстро надоедают. Одна из основных мыслей - нужно рассматривать программный проект как коллективную (командную) игру. &lt;br /&gt;&lt;br /&gt;Первое издание книги было в 1995 году. А это второе и оно просто содержит дополнительный материал. Т.е. сначала идет текст издания 1995 года, а следом за ним 2006. Вот как раз первую часть еще можно осилить (и можно сказать что она была мне полезна), но вторую мне пришлось читать исключительно по инерции (и ничего хорошего от нее у меня в голове не осталось). Вторая часть содержит среди прочего "протоколы ядра", которые должна принять команда и тогда будет ей счастье в виде реализации проектов в срок. В принципе там дельные вещи написаны, но я как-то постеснялся предлагать народу так взаимодействовать. Лично я бы среагировал на их месте негативно ("что за хрень он нам предлагает..."). А без общего одобрения толку от этих протоколов никакого. &lt;br /&gt;&lt;br /&gt;Еле дочитал до конца. &lt;br /&gt;&lt;br /&gt;На диске должны быть (диск у меня не открылся) несколько роликов которые и так можно скачать в интернете. В книге много рекламы &lt;a href="http://www.mccarthyshow.com"&gt;персонального шоу&lt;/a&gt; (в котором они с женой рассуждают на различные темы связанные с управлением проектами - можно послушать подкасты и впечатлиться), а также лагеря в котором проводятся тренинги. &lt;br /&gt;&lt;br /&gt;Подозреваю что книга написана для заманивания впечатлительных людей в их лагерь, но зачем ее перевели в РФ предположить не могу... Наверное у "Русской Редакции" есть некоторый план который им нужно выполнять.&lt;br /&gt;&lt;br /&gt;Ну или может я не дорос еще. Надо будет попробовать перечитать через год.&lt;br /&gt;&lt;br /&gt;Джим МакКарти, кстати, &lt;a href="http://heroes2008.ru/Speakers.aspx#l1"&gt;будет выступать на пленарной секции&lt;/a&gt; (фотка страшная - какой-то Ельцинский жест) мероприятия Microsoft посвященного &lt;a href="http://heroes2008.ru/"&gt;выходу новых продуктов&lt;/a&gt;, которое пройдет в Москве 18 марта. Так что я его даже и послушаю :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-1329615355940221929?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/1329615355940221929/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=1329615355940221929' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/1329615355940221929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/1329615355940221929'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/dynamic-of-software-development.html' title='Dynamic of Software Development'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-377972739156439411</id><published>2008-03-06T19:53:00.004+03:00</published><updated>2008-03-06T21:22:12.696+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='learning'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>First Look: Visual Studio 2008</title><content type='html'>Сегодня ездил в ЦКО "Специалист" на однодневный семинар (курс, клинику) 6459A - First Look: Visual Studio 2008.&lt;br /&gt;&lt;br /&gt;Моменты которые запомнились:&lt;br /&gt;1) На семинар пришла пожилая женщина (примерно 60 лет, если я не ошибаюсь).&lt;br /&gt;2) Расширяющие методы (extension methods) - выглядит прикольно в плане семантики, т.е. можно вместо хелперов различных в коде иметь обращения от объектов. Но, зато можно в последующем поиметь некоторые проблемы. Уже не так-то просто выдрать файл и перекинуть в другой проект. Поди разберись из какого класса у тебя методы используются - зависимости то явно не прописаны и проверка выполняется при компиляции... Ну и плюс рефлексией их не дернешь отталкиваясь от целевого класса. &lt;br /&gt;3) Захотелось почитать поподробнее насчет WCF - чую там много вкусного.&lt;br /&gt;4) Слегка познакомился с LINQ на практике. Раньше все в основном читал статейки. Теперь обязательно скачаю LINQ for nHibernate ;)&lt;br /&gt;5) Не очень понравилась подготовка докладчика. Было ощущение, что из-за того, что семинар был бесплатным, он решил особо и не готовиться. Мне кажется, что это все-таки неприемлемо, когда докладчик неоднократно заявляет "а это я и сам не знаю". Но в любом случае, это лучше чем пытаться на основании своего опыта и ключевых слов придумывать технические подробности в реальном времени. А именно так и получалось неоднократно.&lt;br /&gt;&lt;br /&gt;Я думал будет хорошо, вышло не очень :)&lt;br /&gt;&lt;br /&gt;В принципе, все нормально, но в целом осталось ощущение потерянного времени. Я и не рассчитывал, что будет сильно интенсивная работа, но в итоге очень много времени тупо сидел и ждал пока перейдем к следующему материалу. &lt;br /&gt;&lt;br /&gt;Чтобы сильно не скучать, залез на Gmail, вылез в нем же в чат, открыл Google Reader (чуть не спалился когда читал Баш, но это лирика). Вобщем, без Google было бы совсем грустно. Но зато немного отдохнул от работы.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-377972739156439411?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/377972739156439411/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=377972739156439411' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/377972739156439411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/377972739156439411'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/first-look-visual-studio-2008.html' title='First Look: Visual Studio 2008'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-3326192762727269035</id><published>2008-03-05T23:01:00.007+03:00</published><updated>2008-03-05T23:58:00.939+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='nhibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><category scheme='http://www.blogger.com/atom/ns#' term='ddd'/><title type='text'>Domain-Driven Design and Patterns</title><content type='html'>&lt;span style="font-style:italic;"&gt;Уже длительное время не отчитывался о прочитанных книгах :) в итоге впечатления уже немного повыветрились. Надо отписаться пока все не забыл.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ozon.ru/context/detail/id/3570273/?partner=ding0"&gt;&lt;img src="http://www.ozon.ru/multimedia/books_covers/1000613060.jpg" alt="Применение DDD и шаблонов проектирования. Проблемно-ориентированное проектирование приложений с примерами на C# и .NET" border="1" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ozon.ru/context/detail/id/3570273/?partner=ding0"&gt;Купить на Ozon.ru&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.books.ru/shop/books/536846?partner=ding0"&gt;Купить на Books.ru&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Это вау! Нет, серьезно, это одна из книг которые существенно продвинули меня по пути самурая :) Ну т.е. злого, ленивого и хитрого программиста. Шутка. &lt;br /&gt;&lt;br /&gt;Когда я читал книгу я практически всхлипывал от восторга - не может быть что ее написали специально для меня :) На тот момент (на данный момент прошло около 4 месяцев) это была самая необходимая для меня книга! &lt;br /&gt;&lt;br /&gt;Речь в книжке идет о &lt;b&gt;DDD&lt;/b&gt; (и о том как автор пришел к нему), &lt;b&gt;TDD&lt;/b&gt; (как легко и безболезненно включиться) и &lt;b&gt;ORM&lt;/b&gt; (много интересных вещей о предпосылках, внутренностях и хвалебные оды &lt;b&gt;nHibernate&lt;/b&gt;).&lt;br /&gt;&lt;br /&gt;Это не просто сборник рецептов или агрессивная пропаганда гибких технологий :) Нильссон рассказывает о том как менялись его подходы к разработке ПО, рассматривает различные практические задачи с разных сторон, предлагает одно за другим решения и критикует их.&lt;br /&gt;&lt;br /&gt;Вот допустим есть два типа семинаров. На одних тренер просто рассказывает какой он крутой, какая у него классная система, что нужно делать так-то и так-то (у него есть пособие с перечислением 76 рецептов) и тогда у вас все будет замечательно. На вторых тренер дает практические задачи, просит решить, а потом объясняет как бы он решал данную задачу, какие могут быть подходы, какие у них плюсы и недостатки и т.п. - это учит принимать решения. &lt;br /&gt;Ну вобщем, как несложно догадаться, эта книга реализует второй подход.&lt;br /&gt;&lt;br /&gt;До ее прочтения мои попытки продвинуться по пути &lt;b&gt;TDD&lt;/b&gt; быстро скисали.&lt;br /&gt;Во время чтения я начал писать проект (на некоторое время замораживал его :( но в последнее время опять взялся) в котором стараюсь воплотить все лучшее что приходит в голову.  Очень приятно было лучше разобраться с принципами &lt;b&gt;ORM&lt;/b&gt;. &lt;br /&gt;&lt;br /&gt;Можно указать один из немногих огрехов - в течении нескольких последовательных глав человек знакомый с &lt;b&gt;nHibernate&lt;/b&gt; будет понимать что автор подгоняет выкладки для того чтобы в результате рассуждений прийти к выводу что &lt;b&gt;nHibernate&lt;/b&gt; это круто. Скорее это для него была исходная предпосылка и для ее обоснования автору пришлось писать несколько глав :) которые тем не менее интересны. Но это сущая мелочь.&lt;br /&gt;&lt;br /&gt;Еще у меня были претензии к переводу, но этим грешат практически все книги которые я в последнее время читал... &lt;br /&gt;&lt;br /&gt;Возможно я слишком &lt;b&gt;эмо&lt;/b&gt;ционален, но у меня действительно настолько восторженное впечатление - для меня это было то что нужно. У более опытных разработчиков она возможно не вызовет такого восторга...&lt;br /&gt;&lt;br /&gt;Вобщем, однозначный респект.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-3326192762727269035?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/3326192762727269035/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=3326192762727269035' title='Комментарии: 2'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/3326192762727269035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/3326192762727269035'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/domain-driven-design-and-patterns.html' title='Domain-Driven Design and Patterns'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-2314781932271654007</id><published>2008-03-05T00:37:00.006+03:00</published><updated>2008-03-05T00:48:48.604+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='nhibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>NHibernate.Ru</title><content type='html'>Хороший сайтик со статьями по NHibernate.&lt;br /&gt;&lt;br /&gt;Я так понял, что туда перекочевали старые статьи из ЖЖ &lt;a href="http://ser4ik.livejournal.com/"&gt;ser4ik&lt;/a&gt; (которые когда то прояснили для меня некоторые темные моменты) ну и сейчас двумя авторами пишется новый контент.&lt;br /&gt;&lt;br /&gt;Мне, например, понравился пример с &lt;a href="http://nhibernate.ru/Home/tabid/36/EntryID/16/Default.aspx"&gt;тестом всех замапленных классов на корректность преобразования&lt;/a&gt;. Прикрутил себе в проект.&lt;br /&gt;&lt;br /&gt;Всячески рекомендую так сказать :) &lt;br /&gt;&lt;br /&gt;&lt;a href="http://nhibernate.ru"&gt;NHibernate.Ru&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-2314781932271654007?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/2314781932271654007/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=2314781932271654007' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2314781932271654007'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2314781932271654007'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/nhibernateru.html' title='NHibernate.Ru'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-5403596359676157418</id><published>2008-03-02T16:09:00.004+03:00</published><updated>2008-03-02T17:06:21.325+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='tdd'/><category scheme='http://www.blogger.com/atom/ns#' term='nhibernate'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>NHibernate Unit Tests</title><content type='html'>Очень долго не доходили руки до тестирования DAL. Сегодня вот дошли :)&lt;br /&gt;&lt;br /&gt;Решил, что тестировать буду &lt;a href="http://joeydotnet.com/blog/archive/2007/05/17/Unit-Testing-NHibernate-DALs---What-Are-You-Really-Testing.aspx"&gt;корректность преобразования&lt;/a&gt;, т.е. маппинги, результаты запросов и т.д., а не инфраструктуру.&lt;br /&gt;&lt;br /&gt;В качестве SQL-движка рассматривал &lt;a href="http://www.sqlite.org/"&gt;SQLite&lt;/a&gt; и &lt;a href="http://www.microsoft.com/sql/editions/compact/default.mspx"&gt;SQL Server Compact Edition&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;SQLite умеет работать с БД в памяти, что теоретически позволяет значительно сократить время выполнения тестов и не требует доступа к диску. Но взамен получаем кучу недостатков связанных с ограниченностью синтаксиса SQL, поддержкой типов данных и т.д.&lt;br /&gt;&lt;br /&gt;SQL Server Compact Edition вполне нормальный движок. У него тоже несколько ограниченный синтаксис по сравнению с нормальными версиями SQL Server, поэтому приходится слегка конвертировать sql-скрипты. А в остальном - меня все устраивает (особенно если учесть, что в качестве основной СУБД для проекта я собираюсь использовать MS SQL).&lt;br /&gt;&lt;br /&gt;Накопал &lt;a href="http://www.ayende.com/Blog/archive/2006/10/14/7183.aspx"&gt;руководство от Ayende&lt;/a&gt;, в котором описывается как прикручивать SQLite и &lt;a href="http://joeydotnet.com/blog/archive/2007/06/29/SQL-Server-CE---Great-for-prototyping-and-testing.aspx"&gt;заметку joeyDotNet&lt;/a&gt;, в которой описывается прикручивание SQL Server CE к NHibernate. Ну и смержил все это :)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Уже когда все дописал и закоммитил, нашел &lt;a href="http://www.codeproject.com/KB/cs/TDD_and_SqlCE.aspx"&gt;статью на CodeProject&lt;/a&gt;. Оказалось все практически идентичным с моим кодом, за исключением того, что у меня для конфигурирования NHibernate используется тот же метод что и для основного приложения - в тестах я просто задаю путь до конфигурационного файла.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Однократно для сборки тестов (TestFixtureSetUp) выполняется конфигурирование NHibernate. На моем проекте это очень быстрая операция, поэтому можно было делать это и на каждом тесте :)&lt;br /&gt;&lt;br /&gt;Перед каждым тестом (SetUp):&lt;br /&gt;1) удаляется старая БД, если вдруг она не была удалена&lt;br /&gt;2) создается файл новой БД (приходится конвертировать скрипт создания - наверное чуть позже напишу утилиту для этого)&lt;br /&gt;3) создаются объекты (таблицы и т.д.)&lt;br /&gt;4) в таблицы вставляется определенный набор записей (пока что по 3-4 записи)&lt;br /&gt;&lt;br /&gt;После каждого теста (TearDown):&lt;br /&gt;1) закрывается текущая сессия NHibernate&lt;br /&gt;2) удаляется старая БД&lt;br /&gt;&lt;br /&gt;В итоге получилось 0.65 сек на тест. Само собой, основное время уходит на создание БД. В указанном выше руководстве Ayende, вроде бы фигурирует сопоставимое время. Так что пока останусь на SQL Server CE.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-5403596359676157418?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/5403596359676157418/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=5403596359676157418' title='Комментарии: 4'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5403596359676157418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5403596359676157418'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/nhibernate-unit-tests.html' title='NHibernate Unit Tests'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-2345099474464227395</id><published>2008-03-01T23:42:00.003+03:00</published><updated>2008-03-02T00:15:50.215+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Database Publishing Wizard</title><content type='html'>Практически сразу после прихода в Аргус мне пришлось познакомиться с достаточно удобным приложением - &lt;a href="http://www.codeplex.com/sqlhost/Wiki/View.aspx?title=Database%20Publishing%20Wizard&amp;referringTitle=Home"&gt;Database Publishing Wizard&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Database Publishing Wizard позволяет скриптовать некоторую БД как в режиме мастера, так и из командной строки. Поддерживает скриптование и схемы и данных (хотя для последнего конечно намного удобнее &lt;a href="http://www.sqlscripter.com/"&gt;SQL Scripter&lt;/a&gt;).  С его помощью, например, можно очень легко создавать скрипты для создания БД, которые будут выполняться при установке разрабатываемого приложения.&lt;br /&gt;&lt;br /&gt;При разработке предпоследнего приложения мы использовали Database Publishing Wizard для синхронизации схемы БД у разработчиков. Для этого я написал небольшой скриптик, который запускал скриптование схемы:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;sqlpubwiz.exe script -S &lt;b&gt;server&lt;/b&gt; -d &lt;b&gt;database&lt;/b&gt; -U &lt;b&gt;login&lt;/b&gt; -P &lt;b&gt;password&lt;/b&gt; CreateSchema.sql -f -noschemaqualify -schemaonly -nodropexisting&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;После изменения БД перед своим коммитом разработчику нужно было только запустить скрипт и подождать несколько секунд пока выполнялось скриптование. &lt;br /&gt;&lt;br /&gt;Альтернативы были менее приятные - либо использовать общую БД и постоянно подгонять разработчика чтобы он быстрее закоммитил новые маппинги, либо использовать ручное скриптование БД (а это и лениво и ошибок можно наделать).&lt;br /&gt;&lt;br /&gt;Но правда такой способ будет удобен только на небольших проектах...&lt;br /&gt;&lt;br /&gt;Сейчас мы используем специально написанный менеджер скриптов, в котором зарегистрированы скрипты создания, модификации объектов, а также обновления данных. Сейчас посмотрел: 400+ таблиц, 200+ вьюх, 200+ хранимок и функций, 100+ триггеров :)&lt;br /&gt;&lt;br /&gt;Само собой, Database Publishing Wizard умеет и разворачивать БД на указанном сервере, но этим я как-то не пользовался, поэтому ничего сказать не могу.&lt;br /&gt;&lt;br /&gt;Database Publishing Wizard входит в состав &lt;a href="http://www.codeplex.com/sqlhost"&gt;SQL Server Hosting Toolkit&lt;/a&gt;. Также он был включен в состав &lt;a href="http://msdn.microsoft.com/vstudio/"&gt;VS 2008&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-2345099474464227395?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/2345099474464227395/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=2345099474464227395' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2345099474464227395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2345099474464227395'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/03/database-publishing-wizard.html' title='Database Publishing Wizard'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-8420068152534772835</id><published>2008-02-29T18:47:00.004+03:00</published><updated>2008-02-29T20:11:51.819+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>'Sys' is undefined</title><content type='html'>Вчера у одного из разработчиков возникла проблема - не работал AJAX и при загрузке вываливалось 2 JS ошибки с текстом &lt;span style="font-weight:bold;"&gt;'Sys is undefined'&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Ну собственно это внешнее проявление того, что не подгрузились скрипты MS AJAX, а обращение к ним идет (что доказал &lt;a href="http://www.getfirebug.com/"&gt;FireBug&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Гугл сказал, что это мистическая ошибка, которая может вызываться многими причинами. В сети даже можно найти странички про разоблачение :) ошибки на которых описано &lt;strike&gt;67&lt;/strike&gt;&lt;a href="http://weblogs.asp.net/chrisri/archive/2007/02/02/demystifying-sys-is-undefined.aspx"&gt;4 различных причины ее появления&lt;/a&gt;. И мне кажется они действительно покрывают большинство случаев.&lt;br /&gt;&lt;br /&gt;Попробовали все решения из нескольких десятков источников, внимательно проверили &lt;span style="font-weight:bold;"&gt;web.config&lt;/span&gt;-и всех уровней до страницы, &lt;span style="font-weight:bold;"&gt;MasterPage&lt;/span&gt;-ы и базовый класс страницы - вроде бы все нормально.&lt;br /&gt;&lt;br /&gt;Сегодня решил забрать данную траблу на себя чтобы поковырять в фоновом режиме. Обнаружил что ошибки JS выскакивают на целом уровне приклады - а такое безобразие явно бы заметили тестеры. В других разделах AJAX работает нормально. Значит трабла произошла недавно и нужно копать недавние коммиты. &lt;br /&gt;&lt;br /&gt;Повезло, что у &lt;strike&gt;сенсея&lt;/strike&gt;одного из тестеров сохранились настроенные приклады и бэкапы БД разных ревизий (С шагом примерно 20-50 ревизий). Это сэкономило кучу времени. Посмотрели несколько ревизий и смогли обнаружить промежуток (16 ревизий) в котором был злой коммит. Далее я просмотрел этот промежуток и отобрал 3 подозрительных коммита. &lt;br /&gt;&lt;br /&gt;Оказалось что проблема была в базовом классе, но из за его огромного размера на нее не обратили внимание. Разработчику понадобилось сделать нечто после PreRender, соответственно появился следующий код: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;protected override void OnPreRenderComplete(EventArgs e)&lt;br /&gt;{&lt;br /&gt;    // Некий код&lt;br /&gt;} &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Не хватало одной строчки:&lt;br /&gt;&lt;pre&gt;base.OnPreRenderComplete(e);&lt;/pre&gt;&lt;br /&gt;Видимо по запарке не написал вызов перегруженного метода :) Сам вырыл яму, сам в нее упал.&lt;br /&gt;&lt;br /&gt;Я обычно перегружаю с автокомплитом, поэтому вызов базового метода вписывается автоматически, т.ч. я немного застрахован от такой беды.&lt;br /&gt;&lt;br /&gt;Такая вот почти детективная история :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-8420068152534772835?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/8420068152534772835/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=8420068152534772835' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8420068152534772835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8420068152534772835'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/02/sys-is-undefined.html' title='&apos;Sys&apos; is undefined'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-5665391030199459694</id><published>2008-02-27T19:10:00.005+03:00</published><updated>2008-02-27T19:25:39.417+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Microsoft Empower</title><content type='html'>Мне почему то кажется, что достаточно мало людей представляют какую выгоду можно получить участвуя в партнерской программе Microsoft.&lt;br /&gt;&lt;br /&gt;Наиболее интересной для разных стартапов может быть программа &lt;a href="http://www.microsoft.com/rus/partner/partnering/isv/empower/default.mspx"&gt;Microsoft Empower&lt;/a&gt;. Всего за $420 + НДС в год (можно продлить еще на год) компания получает &lt;span style="font-weight:bold;"&gt;кучу&lt;/span&gt; всякого софта, техническую поддержку и т.д. Взамен компания обязуется анонсировать не позднее чем через 18 месяцев и выпустить не позднее чем через 24 месяца тиражируемый продукт с использованием технологий Microsoft.&lt;br /&gt;&lt;br /&gt;Достаточно кратко, но емко о программе написано &lt;a href="http://www.microsoft.com/rus/partner/partnering/isv/empower/faq.mspx"&gt;тут&lt;/a&gt;. Рекомендую посмотреть ссылку :)&lt;br /&gt;&lt;br /&gt;Конечно я глубоко не вникал в условия участия, но на первый взгляд все выглядит отлично. Хоть бери придумывай идею и организовывай стартап.&lt;br /&gt;&lt;br /&gt;P.S. Еще можно скачать &lt;a href="https://msdb.ru/Downloads/partner/leaflet.pdf"&gt;буклет&lt;/a&gt;, в котором рассказывается о партнерской программе, уровнях участия и т.п.&lt;br /&gt;&lt;br /&gt;P.P.S. Да я в курсе что Linux и Java это круто, я и не спорю :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-5665391030199459694?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/5665391030199459694/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=5665391030199459694' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5665391030199459694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5665391030199459694'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/02/microsoft-empower.html' title='Microsoft Empower'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-312611668162144373</id><published>2008-02-27T18:39:00.002+03:00</published><updated>2008-02-27T18:44:06.321+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='certification'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Маленькая победа</title><content type='html'>Задолбался контактировать с саппортом :) &lt;br /&gt;Все таки MS бажная контора. У меня при регистрации вылетала &lt;a href="http://www.techexams.net/forums/viewtopic.php?p=126916"&gt;вот такая&lt;/a&gt; ошибка.&lt;br /&gt;&lt;br /&gt;Ну вроде все победили, удалось зарегистрироваться.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_yf6oi6f8oN0/R8WEabEgjEI/AAAAAAAAEP0/tlRz1-9mZ9k/s1600-h/MCP(rgb).png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_yf6oi6f8oN0/R8WEabEgjEI/AAAAAAAAEP0/tlRz1-9mZ9k/s200/MCP(rgb).png" border="0" alt=""id="BLOGGER_PHOTO_ID_5171685336583015490" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-312611668162144373?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/312611668162144373/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=312611668162144373' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/312611668162144373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/312611668162144373'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/02/blog-post.html' title='Маленькая победа'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_yf6oi6f8oN0/R8WEabEgjEI/AAAAAAAAEP0/tlRz1-9mZ9k/s72-c/MCP(rgb).png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-2241780367809685146</id><published>2008-02-26T19:19:00.002+03:00</published><updated>2008-02-26T19:26:50.094+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><title type='text'>О причинах Invalid Callback Or Postback Argument</title><content type='html'>Сегодня в очередной раз (но первый на текущем проекте) столкнулся с вышеуказанной ошибкой. Честно говоря привык лечить это установкой &lt;span style="font-weight:bold;"&gt;EnableEventValidation="false"&lt;/span&gt; и забыванием о проблеме.&lt;br /&gt;&lt;br /&gt;А тут решил почитать что это собственно такое :)&lt;br /&gt;&lt;br /&gt;В итоге нашел &lt;span style="font-weight:bold;"&gt;отличное&lt;/span&gt; описание:&lt;br /&gt;&lt;a href="http://odetocode.com/Blogs/scott/archive/2006/03/20/3145.aspx"&gt;Часть 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://odetocode.com/Blogs/scott/archive/2006/03/21/3153.aspx"&gt;Часть 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;В итоге потыркался, потыркался и сделал &lt;span style="font-weight:bold;"&gt;EnableEventValidation="false"&lt;/span&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-2241780367809685146?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/2241780367809685146/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=2241780367809685146' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2241780367809685146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2241780367809685146'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2008/02/invalid-callback-or-postback-argument.html' title='О причинах Invalid Callback Or Postback Argument'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-2599760496716878153</id><published>2007-11-30T11:46:00.000+03:00</published><updated>2007-11-30T12:17:44.199+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Parallel FX'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Parallel</title><content type='html'>Посмотрел мельком &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e848dc1d-5be3-4941-8705-024bc7f180ba&amp;displaylang=en"&gt;Microsoft Parallel Extensions&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Можно легко, практически не используя мозг (что радует), делать очень приятные вещи.&lt;br /&gt;&lt;style&gt;&lt;br /&gt;  .code {&lt;br /&gt;   word-wrap:break-word;&lt;br /&gt;   margin:10px;&lt;br /&gt;   padding:10px;&lt;br /&gt;   border:2px ridge white;&lt;br /&gt;   background-color:#eeeeee;&lt;br /&gt;   font-family:Courier New;&lt;br /&gt;   font-size:10pt;&lt;br /&gt;   }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;div class='code'&gt;&lt;br /&gt;&lt;font color='blue'&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;System.Threading&lt;/font&gt;&lt;font color='blue'&gt;;&lt;br /&gt;using&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;System&lt;/font&gt;&lt;font color='blue'&gt;;&lt;br /&gt;&lt;br /&gt;namespace&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;TestParellels&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='blue'&gt;class&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;Program&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='blue'&gt;static&amp;nbsp;void&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;Main()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='blue'&gt;int&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;[]&amp;nbsp;values&amp;nbsp;&lt;/font&gt;&lt;font color='blue'&gt;=&amp;nbsp;new&amp;nbsp;int&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;[]&amp;nbsp;{&lt;/font&gt;&lt;font color='maroon'&gt;88&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;60&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;11&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;12&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;13&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;14&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;15&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;16&lt;/font&gt;&lt;font color='black'&gt;,&amp;nbsp;&lt;/font&gt;&lt;font color='maroon'&gt;88&lt;/font&gt;&lt;font color='black'&gt;}&lt;/font&gt;&lt;font color='blue'&gt;;&lt;br/&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;Parallel.ForEach&amp;lt;&lt;/font&gt;&lt;font color='blue'&gt;int&lt;/font&gt;&lt;font color='black'&gt;&amp;gt;(values,&amp;nbsp;Square)&lt;/font&gt;&lt;font color='blue'&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;Console.ReadLine()&lt;/font&gt;&lt;font color='blue'&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;}&lt;br/&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='blue'&gt;private&amp;nbsp;static&amp;nbsp;void&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;Square(&lt;/font&gt;&lt;font color='blue'&gt;int&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLine(i&amp;nbsp;*&amp;nbsp;i)&lt;/font&gt;&lt;font color='blue'&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;font color='black'&gt;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/font&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Если позапускать несколько раз на несколькоядерной (или несколькопроцессорной) машине, то результаты скорее всего будут меняться.&lt;br /&gt;&lt;br /&gt;7744&lt;br /&gt;7744&lt;br /&gt;3600&lt;br /&gt;121&lt;br /&gt;144&lt;br /&gt;169&lt;br /&gt;196&lt;br /&gt;225&lt;br /&gt;256&lt;br /&gt;&lt;br /&gt;Нужно будет посмотреть поподробнее, потестить производительность на разных машинах и т.п. :)&lt;br /&gt;&lt;br /&gt;Ссылка в тему: &lt;a href="http://msdn.microsoft.com/msdnmag/issues/07/10/Futures/default.aspx?loc=ru"&gt;Оптимизация управляемого кода для многоядерных компьютеров&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Еще нашлась сразу библиотека &lt;a href="http://www.codeproject.com/useritems/NParallel.asp"&gt;NParallel&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-2599760496716878153?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/2599760496716878153/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=2599760496716878153' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2599760496716878153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/2599760496716878153'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2007/11/parallel.html' title='Parallel'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-392003486183906209</id><published>2007-06-13T20:08:00.000+04:00</published><updated>2007-06-13T20:47:59.827+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Бессмысленность-2</title><content type='html'>Как оказалось, читать &lt;a href="http://ru.worsethanfailure.com/"&gt;Worse Than Failure&lt;/a&gt; очень полезно.&lt;br /&gt;&lt;br /&gt;Все началось с того, что несколько дней назад я прочитал заметку &lt;a href="http://ru.worsethanfailure.com/Articles/Bessmbslennostb.aspx"&gt;"Бессмысленность"&lt;/a&gt;. Ну прочитал, повеселился и забыл про нее. Для правильного понимания нижеследующего можно ее прочитать.&lt;br /&gt;&lt;br /&gt;Сегодня, перед релизом очередной версии, понадобилось прописать правда доступа для новой группы пользователей (по сути, права данной группы полностью совпадали с одной уже существующей). Процедура состояла в том, чтобы добавить право просмотра для каждой страницы сайта и для каждого вебпарта на данной странице (админка пока только так работает, дописывать времени нет). На страницу при должной сноровке уходит меньше минуты, но человек достаточно быстро устает. Ну и в итоге два человека уже занимаются этим, подключаюсь я и понимаю, что ситуация мне что-то напоминает :)&lt;br /&gt;&lt;br /&gt;В итоге, на написание запроса групповой вставки данных, в таблицу связки (выборка пар для существующей группы и вставка с идентификатором новой группы) ушло несколько минут. И все дела :) &lt;br /&gt;&lt;br /&gt;Главное не забывать что за кликами на кнопочки и выставлением прав стоят обычные таблички в БД. Поглумились немного над собой :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-392003486183906209?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/392003486183906209/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=392003486183906209' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/392003486183906209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/392003486183906209'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2007/06/2.html' title='Бессмысленность-2'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-8525320612363687729</id><published>2007-06-12T11:34:00.000+04:00</published><updated>2007-06-12T11:53:50.490+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='photo'/><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='work'/><category scheme='http://www.blogger.com/atom/ns#' term='safari'/><category scheme='http://www.blogger.com/atom/ns#' term='ff'/><category scheme='http://www.blogger.com/atom/ns#' term='web'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Safari for PC</title><content type='html'>Сегодня 2 заметки подряд в rss-ленте были посвящены &lt;a href="http://www.apple.com/safari/"&gt;выходу Safari для PC&lt;/a&gt;. &lt;a href="http://www.joelonsoftware.com/items/2007/06/11.html"&gt;Одна из них&lt;/a&gt; -  от Joel-а, который сначала написал что браузер загружается около минуты, а потом раз за разом дописывал к заметке хвалебные обновления :)&lt;br /&gt;&lt;br /&gt;Поставил я себе данную вещь, т.к. интересно и в SRS текущего проекта была прописана совместимость с Safari, но скорее всего никто пока не тестил :)&lt;br /&gt;&lt;br /&gt;Ну и все как-то грустно в итоге получилось.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/Andrey.Malenkov/LJPics/photo?authkey=XB9eYZSSu0A#5075079968352557682"&gt;&lt;img src="http://lh4.google.com/image/Andrey.Malenkov/Rm5OV6Ba2nI/AAAAAAAACNg/3Ihz__aV2G0/s400/safariPC_menu.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Это кусок меню (язык - вполне английский), которое прекрасно отображается во всех остальных браузерах. Линки тоже не работают. Ну и вообще многие контролы не показаны. Скорее всего проблема со шрифтами.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/Andrey.Malenkov/LJPics/photo?authkey=XB9eYZSSu0A#5075079968352557666"&gt;&lt;img src="http://lh4.google.com/image/Andrey.Malenkov/Rm5OV6Ba2mI/AAAAAAAACNY/AggDGVXOnTA/s400/safariPC_adsense.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Это adsense баннер, на котором точно также не отобразились шрифты.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://picasaweb.google.com/Andrey.Malenkov/LJPics/photo?authkey=XB9eYZSSu0A#5075081016324577922"&gt;&lt;img src="http://lh4.google.com/image/Andrey.Malenkov/Rm5PS6Ba2oI/AAAAAAAACNs/RTB6BmM5l40/s400/safariPC.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;Это результат клика по кнопочке, которая скорее всего должна показывать мне закладки.&lt;br /&gt;&lt;br /&gt;Ну это все же бета, поэтому будем ждать. Но честно говоря, единственный плюс для нас - что можно (и нужно) будет проверять совместимость. &lt;br /&gt;&lt;br /&gt;А вот пользоваться пока желания нет... Firefox - наше все :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-8525320612363687729?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/8525320612363687729/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=8525320612363687729' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8525320612363687729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8525320612363687729'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2007/06/safari-for-pc.html' title='Safari for PC'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-8569860716738580384</id><published>2007-06-02T21:56:00.000+04:00</published><updated>2007-06-02T22:00:38.875+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='develop'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Worse Than Failure</title><content type='html'>Отличная статейка: &lt;a href="http://ru.worsethanfailure.com/Articles/Indeksator.aspx"&gt;Индексатор&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Да и вообще на &lt;a href="http://ru.worsethanfailure.com/"&gt;там&lt;/a&gt; много приятных вещей - я подписался.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-8569860716738580384?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/8569860716738580384/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=8569860716738580384' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8569860716738580384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/8569860716738580384'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2007/06/worse-than-failure.html' title='Worse Than Failure'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6034419011017584516.post-5132492516959712623</id><published>2007-05-30T21:40:00.000+04:00</published><updated>2007-05-30T21:55:39.553+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='me'/><category scheme='http://www.blogger.com/atom/ns#' term='books'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='links'/><title type='text'>Книжки от Microsoft</title><content type='html'>Microsoft в очередной раз просвещает народ :) &lt;br /&gt;&lt;br /&gt;Как сказал на одном из мероприятий Microsoft-а представитель Intel-а (вроде бы, Денис Котляров, но не уверен) недословно: &lt;br /&gt;"разработчики люди ленивые, а так мы книжки раздадим, вдруг кто-нибудь их и прочитает" &lt;br /&gt;&lt;br /&gt;В &lt;a href="http://www.microsoft.com/rus/dynamics/library/default.mspx"&gt;Библиотеке Microsoft Dynamics&lt;/a&gt; можно заказать один из лотов. &lt;br /&gt;&lt;br /&gt;Лично я выбрал книжку "Джек. Мои годы в GE":&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/rus/dynamics/library/form/default.mspx?guid=5d7e519e-680c-42a3-b043-dddb98ba46d4" &gt;&lt;img src="http://www.ozon.ru/multimedia/books_covers/1000406471.jpg" border="1"/&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;Не сильно программерская, зато скорее всего, интересная :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6034419011017584516-5132492516959712623?l=ding0.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://ding0.blogspot.com/feeds/5132492516959712623/comments/default' title='Комментарии к сообщению'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6034419011017584516&amp;postID=5132492516959712623' title='Комментарии: 0'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5132492516959712623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6034419011017584516/posts/default/5132492516959712623'/><link rel='alternate' type='text/html' href='http://ding0.blogspot.com/2007/05/microsoft.html' title='Книжки от Microsoft'/><author><name>DiNG0</name><uri>http://www.blogger.com/profile/14078711773756978837</uri><email>noreply@blogger.com</email></author><thr:total>0</thr:total></entry></feed>