<?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" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0YBQ3s7cSp7ImA9WhRbEEQ.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010</id><updated>2012-02-01T16:25:52.509+04:00</updated><category term="Caffeine" /><category term="Windows Mobile" /><category term="Microsoft" /><category term="MSP" /><category term=".Net" /><category term="МЭИ(ТУ)" /><category term="Microsoft Technology Center" /><category term="карьераб интервью" /><category term="Visual Studio 2010" /><category term="ASP.NET MVC" /><category term="ASP.NET" /><category term="gpodder" /><category term="Imagine Cup" /><category term="choosers" /><category term=".NET Compact Framework" /><category term="Microsoft Research" /><category term="Windows Azure" /><category term="MSPSummit" /><category term="Windows 7" /><category term="Роллан Гаррос" /><category term="Платформа 2010" /><category term="ELMS" /><category term="xml" /><category term="ThreadPool" /><category term="linq" /><category term="Thread" /><category term="Imagine Cup 2009" /><category term="Платформа" /><category term="DreamSpark" /><category term="MSDN AA" /><category term="теннис" /><category term="F#" /><category term="SQL Server Data Services" /><category term="Потоки" /><category term="Google" /><category term="трениг" /><category term="C#" /><category term="камера" /><category term="Windows Phone 7" /><category term="Bing" /><category term="Firefox" /><category term="Linux" /><category term="книги" /><category term="Dynamic Data" /><category term="подкасты" /><category term="itunes" /><category term="Entity Framework" /><category term="CodePlex" /><category term="Silverlight" /><category term="Twitterizer" /><title>Dmitry's Blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://dimandnk.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>31</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/dimandnk" /><feedburner:info uri="dimandnk" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DkYBRn46eip7ImA9Wx5bGEo.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4421022944019245028</id><published>2010-11-04T15:34:00.001+03:00</published><updated>2010-11-04T15:35:57.012+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-04T15:35:57.012+03:00</app:edited><title>Переезжаю на другой хостинг</title><content type="html">Перевожу свой блог на &lt;a href="http://thekazarin.ru/"&gt;http://thekazarin.ru/&lt;/a&gt;. Все следующие посты будут публиковаться там.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4421022944019245028?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/2cv9t-CJdR0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4421022944019245028/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/11/blog-post.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4421022944019245028?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4421022944019245028?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/2cv9t-CJdR0/blog-post.html" title="Переезжаю на другой хостинг" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/11/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4CRHc-cCp7ImA9Wx5VF04.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4571461712364087866</id><published>2010-10-10T21:11:00.005+04:00</published><updated>2010-10-10T21:16:05.958+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-10T21:16:05.958+04:00</app:edited><title>MVC. Razor vs NHaml</title><content type="html">&lt;p&gt;Когда первый раз читал про Razor View Engine в блоге Скота Гатри и наткнулся вот на такое описание цикла foreach:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/TLHzpf45J8I/AAAAAAAADNg/teXNLolg-9Q/s1600-h/clip_image002%5B3%5D.gif"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh3.ggpht.com/_jtJw2L283Bk/TLHzqm_rjAI/AAAAAAAADNk/NTU3ZaxJRRk/clip_image002_thumb.gif?imgmax=800" width="244" height="119" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Первое, что пришло в голову: «Так это же почти как NHaml!». В этой статье попытаюсь сравнить насколько эти два движка близки по удобству программирования. Для этого создам два пустых проекта с названиями RazorMVCApplication и NHamlMVCApplication (предполагается, что NHaml установлен и настроен).&lt;/p&gt;  &lt;p&gt;Пусть модель будет предоставлять данные из базы ViewEngines, которая находится на Microsoft SQL Server 2008 Express. В этой базе будет только одна таблица с таким же названием и вот такой схемой:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/TLHzrEHXL0I/AAAAAAAADNo/ndVXFS5zRU8/s1600-h/clip_image004%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh3.ggpht.com/_jtJw2L283Bk/TLHztWswYnI/AAAAAAAADNs/Xl0s1kCwAcU/clip_image004_thumb.jpg?imgmax=800" width="244" height="75" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;В виде данных используем информацию о существующих движках для MVC Framework:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/TLHzuD_faYI/AAAAAAAADNw/gamNbciljqo/s1600-h/clip_image006%5B3%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://lh6.ggpht.com/_jtJw2L283Bk/TLHzunmKhII/AAAAAAAADN0/12fWhulRI8c/clip_image006_thumb.jpg?imgmax=800" width="244" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Сгенерируем модель по этой базе данных с помощью LinqToSQL для обоих наших проектов.&lt;/p&gt;  &lt;p&gt;На следующем шаге создадим HomeController. У нас автоматически сгенерируется метод Index(). Создадим для него View (теперь все действия мы совершаем для Razor). Так как у нас нет master page, не забудем снять галочку с Select master pag). Если мы запустим наше приложение, то увидим пустую страницу. Именно она соответствует коду, автоматически сгенерированному в нашем View.&lt;/p&gt;  &lt;p&gt;Теперь попробуем отобразить заголовок окна, заданный в контроллере. Для этого в методе Index() добавим следующую строку перед return View():&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&lt;font color="#000000" size="2" face="Courier New"&gt;ViewData[&lt;font color="#a31515"&gt;&amp;quot;Title&amp;quot;&lt;/font&gt;] = &lt;font color="#a31515"&gt;&amp;quot;Hello, Razor!&amp;quot;&lt;/font&gt;;&lt;/font&gt; &lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#808080" size="1"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;font color="#808080" size="1"&gt;Source Code Highlighter&lt;/font&gt;&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;А также немного изменим секцию title в представлении:&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&lt;font color="#000000" size="2" face="Courier New"&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#800000"&gt;title&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;@View.Title&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#800000"&gt;title&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/font&gt; &lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#808080" size="1"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;font color="#808080" size="1"&gt;Source Code Highlighter&lt;/font&gt;&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;Это все, что нам нужно сделать для того, чтобы изменить заголовок из контроллера.&lt;/p&gt;&lt;p&gt;Давайте сделаем то же самое для проекта с NHaml:&lt;/p&gt;&lt;p&gt;Поскольку наше представление должно лежать во View/Home/Index, то создадим каталог Home и добавим в него пустой текстовый файл с именем Index.haml. Запустив приложение убедимся, что открывается чистая страница. &lt;/p&gt;&lt;p&gt;Чтобы задать заголовок страницы, напишем следующее:&lt;/p&gt;&lt;p&gt;%html&lt;br /&gt;&amp;#160; %head&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; %title=&amp;quot;My cool title&amp;quot;&lt;br /&gt;&amp;#160; %body&lt;/p&gt;&lt;p&gt;В этом можно увидеть некоторое преимущество NHaml: нет необходимости писать закрывающие теги, все определяется отступами. На мой взгляд в этом кроется и основной недостаток – если представление большое, то бывает проблематично уследить за количеством отступов.&lt;/p&gt;&lt;p&gt;Получим значение заголовка, заданного в контроллере:&lt;/p&gt;&lt;p&gt;%html&lt;br /&gt;&amp;#160; %head&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; %title= ViewData.Title&lt;br /&gt;&amp;#160; %body&lt;/p&gt;&lt;p&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Теперь вернемся к Razor и отобразим содержимое единственной таблицы базы данных.&lt;/p&gt;&lt;p&gt;В контроллере добавим:&lt;/p&gt;&lt;p&gt;using (var dc = new MVCApplicationDataContext())&lt;br /&gt;{&lt;br /&gt;&amp;#160; ViewData[&amp;quot;ViewEngines&amp;quot;] = (from engine &lt;/p&gt;&lt;p&gt;     in dc.ViewEngines select engine).ToList();&lt;br /&gt;}&lt;/p&gt;&lt;p&gt;Во View:&lt;/p&gt;&lt;p&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;@foreach(var engine in @View.ViewEngines) {&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;li&amp;gt;@engine.Name&amp;lt;/li&amp;gt;&amp;#160;&amp;#160; }&lt;br /&gt;&amp;lt;/ul&amp;gt;&lt;/p&gt;&lt;p&gt;Повторим то же самое и для NHaml:&lt;/p&gt;&lt;p&gt;%body&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; %ul&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -foreach (var engine in ViewData.ViewEngines)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; %li=engine.Name&lt;/p&gt;&lt;p&gt;Если в проекте есть куски представления, которые можно переиспользовать, то в Razor есть метод @Html.Partial(“PartialName”), который дает возможность вставить представление из другого файла. В NHaml для этого используются файлы с имененем, начинающимся с символа “_”. То есть, если мы хотим вставить представление из файла с именем _partialname, то напишем так:&lt;/p&gt;&lt;p&gt; %body&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; _partialname&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; %ul&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; -foreach (var engine in ViewData.ViewEngines)&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; %li=engine.Name&lt;/p&gt;&lt;p&gt;Большинство языковых конструкций очень похожи, и принцип их использования одинаков. Но тогда встает вопрос об удобствах, предоставляемых Visual Studio, ведь именно они буду определять решающую роль в скорости разработки. И тут в случае NHaml мы натыкаемся на такую ситуацию: intellisense в виде плагина есть только для VisualStudio 2008, когда будет для 2010 никто не знает. Есть утилита позволяющая подсвечивать код, но это помогает незначительно. Для Razor intellisense появится, скорее всего, вместе с релизом MVC 3.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4571461712364087866?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/fDBv7NtPlTw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4571461712364087866/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/10/mvc-razor-vs-nhaml.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4571461712364087866?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4571461712364087866?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/fDBv7NtPlTw/mvc-razor-vs-nhaml.html" title="MVC. Razor vs NHaml" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_jtJw2L283Bk/TLHzqm_rjAI/AAAAAAAADNk/NTU3ZaxJRRk/s72-c/clip_image002_thumb.gif?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/10/mvc-razor-vs-nhaml.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ECRX89fCp7ImA9Wx5VFU4.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4924159180358244939</id><published>2010-10-08T16:00:00.006+04:00</published><updated>2010-10-08T16:07:44.164+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-08T16:07:44.164+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="камера" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone 7" /><category scheme="http://www.blogger.com/atom/ns#" term="choosers" /><title>Windows Phone 7. Работа с камерой</title><content type="html">&lt;p&gt;В этой статье расскажу о том, как можно получать изображения с камеры в Windows Phone 7. Нужно понимать, что невозможно получить доступ к камере напрямую. Можно только воспользоваться стандартной утилитой, которая позволяет сделать фотографию и передать ее обратно в приложение. Такое поведение утилит в Windows Phone 7 носит название задач выбора (choosers). Помимо этого есть задачи выполнения (launchers), которые ведут себя так же, как и задачи выбора, но не передают никаких данных обратно в приложение. Благодаря им можно из вашего приложения вызывать адресную книгу, прерывать ваше приложение телефонным вызовом и т.д. Обо всем этом подробнее поговорим в следующих статьях.&lt;/p&gt;  &lt;p&gt;Давайте попробуем получить изображение с камеры. Для этого создадим новый проект Windows Phone Application, назовем его, например, WindowsPhoneCameraApplication. Изменим заголовки и добавим элемент Image с именем cameraImage на страницу:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/TK8H6-Zr3PI/AAAAAAAADNE/5v4WRbmCaUE/s1600-h/clip_image002%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://lh3.ggpht.com/_jtJw2L283Bk/TK8H7YHGyxI/AAAAAAAADNI/_eo7ZF8yLa4/clip_image002_thumb.jpg?imgmax=800" width="151" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Пусть по инициализации приложения мы будем получать возможность сделать снимок, после чего он автоматически отображался бы в cameraImage.&lt;/p&gt;  &lt;p&gt;Для работы с камерой нам понадобится пространство имен Microsoft.Phone.Tasks, в котором содержится chooser CameraCaptureTask.&lt;/p&gt;  &lt;p&gt;Напишем такой код:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/i&gt;public partial class MainPage : PhoneApplicationPage    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; CameraCaptureTask camera;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public MainPage()   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; InitializeComponent();    &lt;br /&gt;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; camera = new CameraCaptureTask();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; camera.Completed += SendToCameraImage;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; camera.Show();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; void SendToCameraImage(object sender, PhotoResult agrs)   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; if (agrs.TaskResult == TaskResult.OK)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var bmp = new BitmapImage();    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; bmp.SetSource(agrs.ChosenPhoto);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; cameraImage.Source = bmp;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Мы используем обработчик SendToCameraImage по событию завершения работы камеры для того, чтобы сохранить полученный снимок в формате bmp из потока, содержащегося в ChosenPhoto. Метод Show просто инициализирует chooser по работе с камерой.&lt;/p&gt;&lt;p&gt;В эмуляторе мы, к сожалению, не можем получить доступ к подключенной к компьютеру камере. Поэтому все полученные изображения представляют собой белый прямоугольник с черным прямоугольником внутри, находящимся каждых раз у разных стенок экрана.&lt;/p&gt; &lt;p&gt;Попробуем запустить без отладки, нажав Ctrl+F5:&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/TK8H7xfrv3I/AAAAAAAADNM/PpbSyq54jjs/s1600-h/clip_image004%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://lh3.ggpht.com/_jtJw2L283Bk/TK8H8CLrObI/AAAAAAAADNQ/48qYu98D8-8/clip_image004_thumb.jpg?imgmax=800" width="148" height="244" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Важным является то, что при запуске приложения по работе с камерой наше приложение переходит в состояние захоронения. То есть сохраняется состояние программы, для того, чтобы запустить ее после получения снимка с камеры. Именно по этой причине во время запуска с отладчиком при запуске&amp;#160; утилиты по работе с камерой Visual Studio рапортует о завершении приложения и возвращается в режим редактирования. Как можно продолжить отладку после завершения работы с камерой? Сделав снимок и нажав кнопку «Accept», нужно в течение 10 секунд нажать на кнопку F5, и Visual Studio снова подключится к приложению.&lt;/p&gt; &lt;p&gt;В следующей статье мы попробуем сохранить нашу фотографию в локальное хранилище, сделать возможность просмотра сохраненных фотографий, а также посмотрим на навигацию между страницами приложения.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4924159180358244939?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/jkUp-uVu1TM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4924159180358244939/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/10/windows-phone-7.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4924159180358244939?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4924159180358244939?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/jkUp-uVu1TM/windows-phone-7.html" title="Windows Phone 7. Работа с камерой" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_jtJw2L283Bk/TK8H7YHGyxI/AAAAAAAADNI/_eo7ZF8yLa4/s72-c/clip_image002_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/10/windows-phone-7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUICSXYzeSp7ImA9WxFWGEg.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-7560093171164989879</id><published>2010-06-07T00:52:00.001+04:00</published><updated>2010-06-07T00:52:48.881+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-07T00:52:48.881+04:00</app:edited><title>[Подкаст]Как работается в Московском офисе Microsoft?</title><content type="html">&lt;object width="500" height="40" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"&gt;&lt;param name="movie" value="http://s.rpod.ru/swf/playa.swf?xmlURL=http%3A%2F%2Fs.rpod.ru%2Fxml%2Faudio%2Fa109375.xml"&gt;&lt;/param&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://s.rpod.ru/swf/playa.swf?xmlURL=http%3A%2F%2Fs.rpod.ru%2Fxml%2Faudio%2Fa109375.xml" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="40"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-7560093171164989879?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/-pBz9JdC_OI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/7560093171164989879/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/06/microsoft.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/7560093171164989879?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/7560093171164989879?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/-pBz9JdC_OI/microsoft.html" title="[Подкаст]Как работается в Московском офисе Microsoft?" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/06/microsoft.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMNQ3k5cSp7ImA9WxFWEEs.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-3974801214016093489</id><published>2010-05-28T21:24:00.002+04:00</published><updated>2010-05-28T21:24:52.729+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-28T21:24:52.729+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CodePlex" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET" /><title>[Перевод] Image Generation зарелизен на CodePlex</title><content type="html">&lt;p&gt;Перевод статьи Скота Хантера (&lt;a href="http://blogs.msdn.com/scothu/archive/2008/08/21/image-generation-is-released-to-codeplex.aspx"&gt;http://blogs.msdn.com/scothu/archive/2008/08/21/image-generation-is-released-to-codeplex.aspx&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Я очень рад объявить, что на этой неделе мы выпустили на &lt;a href="http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=14473"&gt;сайте ASP.NET CodePlex&lt;/a&gt; новую функцию под названием Image Generation. Вы можете получить прямую ссылку, просто кликнув сюда: &lt;a href="http://www.codeplex.com/aspnet/Wiki/View.aspx?title=WebForms&amp;amp;referringTitle=Home"&gt;http://www.codeplex.com/aspnet/Wiki/View.aspx?title=WebForms&amp;amp;referringTitle=Home&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Была особенность в первой бета-версии Visual Studio 2005 (Whitbey), названная DynamicImage, которая элемент управления для генерации изображений и сервиса изображений для обслуживания их. Эту возможность было печально убирать, потому что некоторые другие части фрэймворка зависели от нее.&lt;/p&gt;  &lt;p&gt;Image Generation обычно служит для того, чтобы вернуть это тип функции во фрэймворк. Вот несколько основных моментов, которые делает это новая фича:&lt;/p&gt;  &lt;p&gt;Новый элемент управления ASP.NET – GeneratedImage. Этот элемент управления – наследник asp:Image, поддерживающего подключение к Image Handler и передающего параметры ему. Если вы поместите этот элемент на странице и перейдете в режим дизайна, то он будет хромированным, и, если кликнуть по нему, то автоматически сгенерируется ImageHandler и передаст URL в него. Параметры, такие как первичный id и марки, могут быть переданы в элемент управления и будут автоматически отправлены в обработчик.&lt;/p&gt;  &lt;p&gt;ImageHandler, являющийся реализацией IHttpHandler, предоставляющим поддержку для многих вещей, основанных на изображениях:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Трансформация (изменение размера, водяные знаки, преобразования, определенные пользователем)&lt;/li&gt;    &lt;li&gt;Кэширование на клиенте&lt;/li&gt;    &lt;li&gt;Кэширование на сервере&lt;/li&gt;    &lt;li&gt;Доступ к параметрам, переданным от GeneratedImage&lt;/li&gt;    &lt;li&gt;Обеспечение простого механизма возврата изображений&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Если вы посмотрите на сайте, то там есть три примера использования GeneratedImage:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Simple Generated Image показывает, как можно создать простой bitmap и вернуть его&lt;/li&gt;    &lt;li&gt;Databased Images демонстрирует, как можно использовать эту функцию для отображения изображений, хранящихся в базе данных&lt;/li&gt;    &lt;li&gt;Custom Image Transforms дает представление, как писать пользовательские трансформации, добавляющие лого ASP.NET к изображению&lt;/li&gt; &lt;/ul&gt; Мы рассматриваем возможность добавления этой фичи в следующую версию .NET и хотелось бы услышать ваше мнение. Пожалуйста, попробуйте и поделитесь своими ощущениями!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-3974801214016093489?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/a1ObSZdlWt0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/3974801214016093489/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/05/image-generation-codeplex.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/3974801214016093489?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/3974801214016093489?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/a1ObSZdlWt0/image-generation-codeplex.html" title="[Перевод] Image Generation зарелизен на CodePlex" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/05/image-generation-codeplex.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQHSXczeyp7ImA9WxFWEEs.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-8703516324460814049</id><published>2010-05-28T21:22:00.001+04:00</published><updated>2010-05-28T21:22:18.983+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-28T21:22:18.983+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Dynamic Data" /><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET" /><category scheme="http://www.blogger.com/atom/ns#" term=".Net" /><title>[Перевод] Улучшена поддержка сторонних элементов управления и Dynamic Data в ASP.NET 4.0 и DevExpress Grid и Dynamic Data</title><content type="html">&lt;p&gt;Перевод статьи Скота Хантера (&lt;a href="http://blogs.msdn.com/scothu/archive/2009/03/10/better-support-for-3rd-party-controls-and-dynamic-data-in-asp-net-4-0-and-devexpress-grid-and-dynamic-data.aspx"&gt;http://blogs.msdn.com/scothu/archive/2009/03/10/better-support-for-3rd-party-controls-and-dynamic-data-in-asp-net-4-0-and-devexpress-grid-and-dynamic-data.aspx&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;Одна из вещей, над которой мы работали, является поддержка в Dynamic Data для сторонних элементов управления, например Grid, возможности хостить динамические элементы управления. По существу, позволять разработчикам использовать элементы управления, которые им нравятся или более функциональны, нежели доступные элементы управления в ASP.NET, поддерживающие Dynamic Data.&lt;/p&gt;  &lt;p&gt;В первой версии Dynamic Data мы попытались работать в различных ограничениях, поскольку она поставлялась в Service Pack, который ограничивал возможные изменения в фрэймворке. В основном мы смогли добавить новый API, но было мало возможностей для изменения существующего API.&lt;/p&gt;  &lt;p&gt;Одним из ограничений для элементов управления было то, что для поддержки Dynamic Data, они должны были наследоваться от DataBoundControl, потому что не было интерфейсов, которые могли реализовывать элемент управления для поддержки основных операций по привязке данных. Некоторые поставщики элементов управления хотят иметь возможность наследовать свои элементы управления от Control для того, чтобы сделать их настолько легкими, насколько это возможно и получить максимальную производительность.&lt;/p&gt;  &lt;p&gt;Для решения этого в .NET 4.0 мы добавили новые интерфейсы, которые позволяют реализовывать привязку данных, а также указывать отображает ли элемент управления одиночный элемент или список элементов. Вот классификация новых интерфейсов:    &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;public interface IDataBoundControl &lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Интерфейс для доступа к общим свойствам связи данных с элементами управления.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;string DataSourceID { get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает или устанавливает идентификатор элемента управления, из которого, связанный с данными элемент управления получает свой список элементов.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;IDataSource DataSourceObject { get; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает актуальный источник данных, когда DataSourceId задано.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;object DataSource { get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Устанавливает или возвращает объект, из которого элемент управления, связанный с данными, получает свой список элементов.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;string[] DataKeyNames {get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Принимает или возвращает массив, содержащий имена полей с первичными ключами для элементов, отображенных элементом управления.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;DataBoundControlMode Mode { get; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Определяет находится ли элемент управления в режиме ReadOnly. Редактирование или режим вставки.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;string DataMember { get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Принимает или возвращает имя списка данных, с которым связан элемент управления в тех случаях, когда источник данных содержит более чем один отличный список элементов данных.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;public interface IDataBoundListControl&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Интерфейс для элементов управления с привязкой данных, отображающий несколько строк и предоставляющий возможность выбора.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;DataKeyArray DataKeys { get; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает коллекцию объектов DataKey, представляющую ключевое значение данных для каждой строки из GridView. &lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;DataKey SelectedDataKey { get; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает объект DataKey, содержащий значения ключей данных для выбранной строки элемента управления GridView.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;int SelectedIndex { get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает или устанавливает индекс выбранной строки в GridView.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;string[] RowClientIDSuffix { get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;&amp;#160;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;bool EnablePersistedSelection { get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает или устанавливает выборку на основе индекса ключей данных.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;IDataBoundItemControl&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Интерфейс для элементов управления, связанных с данными, отображающий единичный элемент.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;DataKey DataKey { get; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает объект DataKey, представляющий значение ключа данных строки в элементе управления.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;    &lt;table border="1" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;IFieldControl&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Interface for data bound controls that can automatically generate their fields based on data.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="300"&gt;           &lt;p&gt;IAutoFieldGenerator FieldsGenerator { get; set; }&lt;/p&gt;         &lt;/td&gt;          &lt;td valign="top" width="384"&gt;           &lt;p&gt;Возвращает или устанавливает IAutoFieldGenerator, создающий поля.&lt;/p&gt;         &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/p&gt;  &lt;p&gt;IDataBoundControl реализуется элементом управления для индикации поддержки привязки данных. Это включает источник данных, первичные ключи и режим, в котором работает элемент управления. IDataBoundListControl указывает элементу управления, отображающему данные в список и поддерживающему выбор. IDataBoundItemControl определяет элемент управления, отображающий одну запись одновременно. И IFieldControl - для элементов управления, как GridView или DetailView, имеющих возможность автоматически генерировать свои столбцы. Эти новые интерфейсы реализуются для всех стандартных элементов управления данными в 4.0, включая ListView, GridView, DetailsView и FormView. Если сторонние элементы управления поддерживают эти интерфейсы, то могут быть использованы с Dynamic Data.&lt;/p&gt;  &lt;p&gt;Один из поставщиков элементов управления, &lt;a href="http://www.devexpress.com/"&gt;DevExpress&lt;/a&gt;, недавно ввела Dynamic Data без поддержки этих интерфейсов в Grid Control. Вот очень хороший скринкаст от &lt;a href="http://twitter.com/MehulHarry"&gt;Mehul Harry&lt;/a&gt;, который демонстрирует их grid и Dynamic Data в действии. Посмотреть скринкаст можно здесь: &lt;a href="http://community.devexpress.com/blogs/aspnet/archive/2009/02/01/asp-net-dynamic-data-and-devexpress-grid.aspx"&gt;http://community.devexpress.com/blogs/aspnet/archive/2009/02/01/asp-net-dynamic-data-and-devexpress-grid.aspx&lt;/a&gt;. Пожалуйста, посмотрите и дайте Mehul знать, что вы об этом думаете!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-8703516324460814049?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/YXrdJqj4w2s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/8703516324460814049/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/05/dynamic-data-aspnet-40-devexpress-grid.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8703516324460814049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8703516324460814049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/YXrdJqj4w2s/dynamic-data-aspnet-40-devexpress-grid.html" title="[Перевод] Улучшена поддержка сторонних элементов управления и Dynamic Data в ASP.NET 4.0 и DevExpress Grid и Dynamic Data" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/05/dynamic-data-aspnet-40-devexpress-grid.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EGRHgyfyp7ImA9WxFXGUo.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4726717521565973564</id><published>2010-05-27T19:53:00.001+04:00</published><updated>2010-05-27T19:53:45.697+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-27T19:53:45.697+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework" /><title>[Перевод] Улучшение работы с данными в .NET</title><content type="html">&lt;p&gt;Перевод статьи Скота Хантера (&lt;a href="http://blogs.msdn.com/scothu/archive/2009/10/20/data-enhancements-in-net-4-visual-studio-2010-beta-2.aspx"&gt;http://blogs.msdn.com/scothu/archive/2009/10/20/data-enhancements-in-net-4-visual-studio-2010-beta-2.aspx&lt;/a&gt;).&lt;/p&gt;  &lt;p&gt;В среду мы выпускаем публичную версию .NET 4 / Visual Studio 2010 Beta 2 и это принесет много крутых улучшений в управление данными в ASP.NET и Entity Framework. Я собираюсь углубиться в несколько возможностей, связанных с особенностями данных, и вы можете больше прочитать обо всех этих изменениях в ASP.NET по ссылке: &lt;a href="http://www.asp.net/learn/whitepapers/aspnet40/"&gt;http://www.asp.net/learn/whitepapers/aspnet40/&lt;/a&gt;. Этот документ содержит весьма подробный перечень всех изменений, которые мы сделали в ASP.NET.&lt;/p&gt;  &lt;p&gt;Вот несколько моих любимых возможностей, связанных с данными:&lt;/p&gt;  &lt;p&gt;1) Entity Framework теперь может образовывать как наборы сущностей, так и отдельные сущности. Это значит, что когда я ссылаюсь на таблицу, сама таблица будет называться &amp;quot;Продукты&amp;quot;, но фактически класс, с которым я работаю в своем приложении, будет называться &amp;quot;Продукт&amp;quot;. Это выглядит более естественно, чем в Entity Framework 1, в котором я бы написал:&lt;/p&gt;  &lt;p&gt;Products product = new Products();&lt;/p&gt;  &lt;p&gt;В то время, как в 4.0 это будет выглядеть так:&lt;/p&gt;  &lt;p&gt;Product product = new Product();&lt;/p&gt;  &lt;p&gt;Что кажется более естественным и лучше выглядит в моем коде.&lt;/p&gt;  &lt;p&gt;Вот графический интерфейс в Entity Model Wizard для включения этого (замечание: оно включено по умолчанию)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/S_6VgV6Vw4I/AAAAAAAADAw/LQU1tJDZt3A/s1600-h/1%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://lh5.ggpht.com/_jtJw2L283Bk/S_6Vg7BH4EI/AAAAAAAADA0/AkxhEYUImH0/1_thumb.jpg?imgmax=800" width="242" height="70" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/scothu/WindowsLiveWriter/DataEnhancemen.NET4VisualStudio2010Beta2_14CDC/image_2.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;2) Entity Framework теперь поддерживает возможность включить &amp;quot;внешние ключи&amp;quot; в модели данных. В первой версии Entity Framework, если бы у меня была таблица Product, содержащая CategoryID, ссылающиеся на запись в таблице Category, генерируемой Entity Framework, то модель преобразовала бы CategoryID в навигационное свойство, которое бы напрямую уходило в таблицу категорий. Хоть это и упрощало некоторые сценарии, но делало веб-сценарии более сложными. Обычно я бы представляю это в использовании элемента DropDownList, который будет содержать первичный ключ и имя записи из таблицы категорий. При сохранении записи я просто хочу присвоить выбранному CategoryID из DropDownList классу Product. Но с навигационными свойствами я бы пришел к некоторому очень некрасивому и неочевидному коду для задания CategoryID, если его не существует. Entity Framework 4 теперь включает в себя способность иметь столбцы внешних ключей, добавляемых непосредственно в сущности, предоставляющих мне возможность установить внешний ключ или навигационное свойство, облегчая программирование веб сценариев:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/scothu/WindowsLiveWriter/DataEnhancemen.NET4VisualStudio2010Beta2_14CDC/image_4.png"&gt;&lt;/a&gt;&lt;a href="http://blogs.msdn.com/blogfiles/scothu/WindowsLiveWriter/DataEnhancemen.NET4VisualStudio2010Beta2_14CDC/image_6.png"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/S_6VhRr6HKI/AAAAAAAADA4/uRPAeeeP6Tw/s1600-h/2%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2" border="0" alt="2" src="http://lh5.ggpht.com/_jtJw2L283Bk/S_6ViIku-vI/AAAAAAAADA8/WzOqpsKVzWQ/2_thumb.jpg?imgmax=800" width="201" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;3) Теперь доступна поддержка QueryExtender для EntityDataSource. В релизах .NET 4 Beta 1 and in the Dynamic Data Preview на CodePlex мы представили очень интересный расширяющий элемент управления для LinqDataSource, названный QueryExtender. Мы создали этот контрол в ответ на отзывы, которые мы получили после релиза Dynamic Data 1.0, что наши клиенты хотели более легкий способ фильтрации или поиска данных, чем тем, которые предоставляли контолы источников данных, например, «Как следует выполнять поиск». Этот паттерн элементов управления источников данных может получиться довольно сложным, и мы хотели предоставить что-нибудь простое. QueryExtender предоставляет следующие виды поиска:&lt;/p&gt;  &lt;p&gt;Поиск: Поиск строки в любом числе столбцов&lt;/p&gt;  &lt;p&gt;Диапазон: фильтры данных базируются на том, если значение столбца находится в заданном диапазоне&lt;/p&gt;  &lt;p&gt;Свойства : фильтры, основанные на соответствии значения в столбце&lt;/p&gt;  &lt;p&gt;При необходимости: событие срабатывает, когда разработчик может настроить выражение LINQ.&lt;/p&gt;  &lt;p&gt;Вот пример использования QueryExtender с EntityDataSource. Он принимает значение из TextBox1 и сравнивает его с полем ProductName, и только возвращает строки, которые содержат текст из TextBox1 в поле ProductName:&lt;/p&gt;  &lt;p&gt;&amp;lt;asp:EntityDataSource ID=&amp;quot;EntityDataSource1&amp;quot; runat=&amp;quot;server&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ConnectionString=&amp;quot;name=NORTHWNDEntities&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; DefaultContainerName=&amp;quot;NORTHWNDEntities&amp;quot; EnableDelete=&amp;quot;True&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EnableFlattening=&amp;quot;False&amp;quot; EnableInsert=&amp;quot;True&amp;quot; EnableUpdate=&amp;quot;True&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; EntitySetName=&amp;quot;Products&amp;quot;&amp;gt;     &lt;br /&gt;&amp;lt;/asp:EntityDataSource&amp;gt;     &lt;br /&gt;&lt;strong&gt;&amp;lt;asp:QueryExtender ID=&amp;quot;QueryExtender1&amp;quot; runat=&amp;quot;server&amp;quot; TargetControlID=&amp;quot;EntityDataSource1&amp;quot;&amp;gt; &lt;/strong&gt;&lt;b&gt;     &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;asp:SearchExpression SearchType=&amp;quot;Contains&amp;quot; DataFields=&amp;quot;ProductName&amp;quot;&amp;gt; &lt;/strong&gt;      &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;asp:ControlParameter ControlID=&amp;quot;TextBox1&amp;quot; /&amp;gt; &lt;/strong&gt;      &lt;br /&gt;&lt;strong&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/asp:SearchExpression&amp;gt; &lt;/strong&gt;      &lt;br /&gt;&lt;strong&gt;&amp;lt;/asp:QueryExtender&amp;gt;&lt;/strong&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;4) Расширенный метод EnableDynamicData. Мы ввели Dynamic Data в .NET 3.5 SP1, но он имел некоторые серьезные требования к разработчику: обязательное использование Linq к SQL или Entity Framework, требование к разработчику, чтобы начать новый проект, надо было получить файлы поддержки Dynamic Data, предоставляющие различные модели программирования. В Beta 2 мы добавили эту новую возможность, которая может быть включена для элементов управления нашими данными следующим образом:&lt;/p&gt;  &lt;p&gt;ListView1.EnableDynamicData(typeofProduct))&lt;/p&gt;  &lt;p&gt;Эта единственная строка кода автоматически добавит многие из особенностей, которые обеспечивает Dynamic Data:&lt;/p&gt;  &lt;p&gt;- Автоматическая валидация&lt;/p&gt;  &lt;p&gt;- Поддержка Data Annotations в объектах для валидации и проверки свойств отображения&lt;/p&gt;  &lt;p&gt;- Поддержка местных шаблонов для настройки поведения пользовательского интерфейса в зависимости от типа данных&lt;/p&gt;  &lt;p&gt;Это позволит разработчику использовать возможности Dynamic Data без радикального изменения их приложений или использования Linq для SQL или Entity Framework.&lt;/p&gt;  &lt;p&gt;Есть много других изменений и обновлений в нашей поддержке данных, и я попытаюсь писать блог о ней в течение следующих нескольких недель.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4726717521565973564?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/W5i9W5CU9Pg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4726717521565973564/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/05/net.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4726717521565973564?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4726717521565973564?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/W5i9W5CU9Pg/net.html" title="[Перевод] Улучшение работы с данными в .NET" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_jtJw2L283Bk/S_6Vg7BH4EI/AAAAAAAADA0/AkxhEYUImH0/s72-c/1_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/05/net.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ENSXg4cCp7ImA9WxBWFU8.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4174503396490610945</id><published>2010-02-07T10:54:00.003+03:00</published><updated>2010-02-07T11:01:38.638+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-07T11:01:38.638+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="xml" /><category scheme="http://www.blogger.com/atom/ns#" term="linq" /><category scheme="http://www.blogger.com/atom/ns#" term=".Net" /><title>LINQ2XML</title><content type="html">&lt;p&gt;Одна из самых простых возможностей работы с XML в .NET – работа с использованием LINQ. Попробую описать в этом посте некоторые базовые элементы.&lt;/p&gt;  &lt;p&gt;Для работы с XML через LINQ необходимо подключить пространство имен System.Xml.Linq.&lt;/p&gt;  &lt;p&gt;Одним из базовых классов для работы с XML является класс XDocument. Одним из основных членов этого класса является метод Load(), который загружает xml-документ в память (также можно использовать метод Parse(), которому можно передать строку, содержащую xml, а не ссылку на документ, как методу Load()).&lt;/p&gt;  &lt;p&gt;(Все примеры приводятся для RSS-потока подкаста от студентов-партнеров Microsoft - http://halftonine.rpod.ru/)&lt;/p&gt;  &lt;p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt;&lt;span style="color:#2B91AF;"&gt;XDocument&lt;/span&gt; xdoc = &lt;span style="color:#2B91AF;"&gt;XDocument&lt;/span&gt;.Load(&lt;span style="color:#A31515;"&gt;"http://halftonine.rpod.ru/rss.xml"&lt;/span&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/p&gt;  &lt;p&gt;Код&lt;/p&gt;  &lt;p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt;&lt;span style="color:#2B91AF;"&gt;Console&lt;/span&gt;.WriteLine(xdoc.Root.Name.ToString()); &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;/p&gt;  &lt;p&gt;Выведет на экран имя корневого элемента (в нашем случае “rss”).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Чтение элементов.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Давайте выберем название выпуска, ссылку на страницу выпуска и дату для каждого из выпусков:&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt;&lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; query = &lt;span style="color:#0000ff;"&gt;from&lt;/span&gt; data &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; xdoc.Descendants(&lt;span style="color:#A31515;"&gt;"item"&lt;/span&gt;)&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;select&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;              Name = data.Element(&lt;span style="color:#A31515;"&gt;"title"&lt;/span&gt;).Value,        &lt;br /&gt;              Link = data.Element(&lt;span style="color:#A31515;"&gt;"link"&lt;/span&gt;).Value,        &lt;br /&gt;              PubDate = data.Element(&lt;span style="color:#A31515;"&gt;"pubDate"&lt;/span&gt;).Value,     &lt;br /&gt;              Description = data.Element(&lt;span style="color:#A31515;"&gt;"description"&lt;/span&gt;).Value  &lt;br /&gt;            };&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;Но вы должны помнить, что код Linq выполняется «лениво», т.е. пока данные не понадобятся вышеуказанный код не будет выполнен. Давайте отобразим результаты на экране:&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt;&lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; item &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; query)&lt;br /&gt;      {&lt;br /&gt;        &lt;span style="color:#2B91AF;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#A31515;"&gt;"---------------------------------------"&lt;/span&gt;);&lt;br /&gt;        &lt;span style="color:#2B91AF;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#A31515;"&gt;"Issue's name: "&lt;/span&gt; + item.Name.ToString());&lt;br /&gt;        &lt;span style="color:#2B91AF;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#A31515;"&gt;"Issue's link: "&lt;/span&gt; + item.Link.ToString());&lt;br /&gt;  &lt;span style="color:#2B91AF;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#A31515;"&gt;"Issue's publication date: "&lt;/span&gt; + item.PubDate.ToString());&lt;br /&gt;      }&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;Очень часто нам нужно прочичать атрибут у xml-тега. Например ссылку на картинку у выпуска:&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt; XNamespace itunes = &lt;span style="color:#A31515;"&gt;"http://www.itunes.com/DTDs/Podcast-1.0.dtd"&lt;/span&gt;; &lt;br /&gt;      &lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; image = &lt;span style="color:#0000ff;"&gt;from&lt;/span&gt; data &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; xdoc.Descendants(itunes+&lt;span style="color:#A31515;"&gt;"image"&lt;/span&gt;)&lt;br /&gt;            &lt;span style="color:#0000ff;"&gt;select&lt;/span&gt; data;&lt;br /&gt;      &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (&lt;span style="color:#0000ff;"&gt;var&lt;/span&gt; item &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; image)&lt;br /&gt;      {&lt;br /&gt;        &lt;span style="color:#2B91AF;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#A31515;"&gt;"--------------------------------"&lt;/span&gt;);&lt;br /&gt;        &lt;span style="color:#2B91AF;"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color:#A31515;"&gt;"Image link: "&lt;/span&gt; + item.&lt;span style="color:#2B91AF;"&gt;Attribute&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"href"&lt;/span&gt;).Value.ToString());&lt;br /&gt;      }&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;Тут мы используем XNamespace, потому что исходный тег имеет вид: itunes:image, где itunes – пространство имен.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Запись элементов.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Основным классом для работы с элементами кода является XElement. Вот так с его помощью можно добавлять элементы:&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt;&lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt; newElement = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"newItem"&lt;/span&gt;);&lt;br /&gt;xdoc.Element(&lt;span style="color:#A31515;"&gt;"rss"&lt;/span&gt;).Add(newElement);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;Добавление с дочерними элементами:&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt;&lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt; embElement = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"emdItem"&lt;/span&gt;,&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"smt1"&lt;/span&gt;),&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"smt2"&lt;/span&gt;),&lt;br /&gt;        &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"smt3"&lt;/span&gt;));&lt;br /&gt;xdoc.Element(&lt;span style="color:#A31515;"&gt;"rss"&lt;/span&gt;).Element(&lt;span style="color:#A31515;"&gt;"newItem"&lt;/span&gt;).Add(embElement);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;b&gt;Аттрибуты.&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Для добавления атрибутов служит класс XAttribute:&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style="font-family:Courier New;font-size:85%;color:black;"&gt;&lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt; attrElement = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF;"&gt;XElement&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"attItem"&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2B91AF;"&gt;XAttribute&lt;/span&gt;(&lt;span style="color:#A31515;"&gt;"mark"&lt;/span&gt;,&lt;span style="color:#A31515;"&gt;"5"&lt;/span&gt;));&lt;br /&gt;xdoc.Element(&lt;span style="color:#A31515;"&gt;"rss"&lt;/span&gt;).Element(&lt;span style="color:#A31515;"&gt;"newItem"&lt;/span&gt;).Add(attrElement);&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;color:gray;"&gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style="font-size:78%;color:gray;"&gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Удаление&lt;/b&gt;&lt;b&gt; &lt;/b&gt;&lt;b&gt;элемента&lt;/b&gt;&lt;b&gt;:&lt;/b&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:85%;color:black;"   &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; remElements = &lt;span style="color: rgb(0, 0, 255);"&gt;from&lt;/span&gt; data &lt;span style="color: rgb(0, 0, 255);"&gt;in&lt;/span&gt; xdoc.Descendants(&lt;span style="color: rgb(163, 21, 21);"&gt;"newItem"&lt;/span&gt;)&lt;br /&gt;              &lt;span style="color: rgb(0, 0, 255);"&gt;select&lt;/span&gt; data;&lt;br /&gt;remElements.Remove();&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;Примеры &lt;a href="http://dl.dropbox.com/u/1492419/XMLExamplesForBlog.zip"&gt;тут&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4174503396490610945?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/udKRNsiBpfY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4174503396490610945/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2010/02/linq2xml.html#comment-form" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4174503396490610945?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4174503396490610945?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/udKRNsiBpfY/linq2xml.html" title="LINQ2XML" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2010/02/linq2xml.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUFRHg-eCp7ImA9WxBTEEw.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-7578705520931208110</id><published>2009-12-05T14:55:00.003+03:00</published><updated>2009-12-05T14:56:55.650+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-05T14:56:55.650+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Research" /><category scheme="http://www.blogger.com/atom/ns#" term="карьераб интервью" /><category scheme="http://www.blogger.com/atom/ns#" term="MSP" /><title>Опубликовали второй выпуск подкаста ПолДевятого</title><content type="html">Ссылка на страницу загрузки: http://halftonine.rpod.ru/132517.html&lt;br /&gt;В этом выпуске мы разговариваем со стажером Microsoft Research Сергеем Гребновым:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Чем занимается MSR, и каковы особенности работы?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Как попасть на стажировку в MSR?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Что нужно знать перед интервью?&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://dimandnk.blogspot.com/" title="http://dimandnk.blogspot.com/" target="_blank"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-7578705520931208110?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/WTg2HtC_Pkk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/7578705520931208110/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/12/blog-post.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/7578705520931208110?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/7578705520931208110?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/WTg2HtC_Pkk/blog-post.html" title="Опубликовали второй выпуск подкаста ПолДевятого" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/12/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkADQn0zfSp7ImA9WxNbGEQ.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4221843489850626114</id><published>2009-11-22T15:56:00.002+03:00</published><updated>2009-11-22T15:59:33.385+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-22T15:59:33.385+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="подкасты" /><category scheme="http://www.blogger.com/atom/ns#" term="Платформа" /><category scheme="http://www.blogger.com/atom/ns#" term="MSPSummit" /><category scheme="http://www.blogger.com/atom/ns#" term="MSP" /><title>Подкаст ПолДевятого</title><content type="html">Я и еще трое студентов-партнеров Microsoft начали записывать подкаст под названием "ПолДевятого".&lt;br /&gt;В пилотном выпуске слушайте:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Платформа 2010&lt;br /&gt;&lt;/li&gt;&lt;li&gt;TechEd Europe 2009&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MSP Summit&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MVP Open Days&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Silverlight 4 Beta&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Люди в Германии&lt;/li&gt;&lt;/ul&gt;Ссылка на страницу подкаста: http://halftonine.rpod.ru/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4221843489850626114?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/R-qrGIFWLOg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4221843489850626114/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/11/blog-post.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4221843489850626114?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4221843489850626114?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/R-qrGIFWLOg/blog-post.html" title="Подкаст ПолДевятого" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/11/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMNQXs4cCp7ImA9WxNbEkQ.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-2444524313281108473</id><published>2009-11-14T17:01:00.002+03:00</published><updated>2009-11-15T17:14:50.538+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-15T17:14:50.538+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Платформа 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Платформа" /><title>Платформа 2010</title><content type="html">&lt;p&gt; Вчера закончилась &lt;a href="http://msplatforma.ru/"&gt;Платформа 2010&lt;/a&gt; – одиннадцатая ежегодная конференция по технологиям Microsoft. На ней побывало около 1500 человек, но еще больше людей наблюдало за происходящим через онлайн трансляцию. В этом посте я попытаюсь рассказать о событиях этих двух дней.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;День первый.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Платформа 2010 проходила в Центре Международной Торговли: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63Tse8knI/AAAAAAAACG8/Fu4siE3WKeU/P1020094%5B2%5D.jpg?imgmax=800"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020094" alt="P1020094" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63XmUvlmI/AAAAAAAACHA/kB9CIj4O4Cs/P1020094_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Пришел туда к началу регистрации, где мне выдали бейджик, с обратной стороны которого можно было найти расписание и план залов конференции. Сама регистрация заняла не больше минуты. После регистрации нас ждал приветственный кофе:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63YN27OZI/AAAAAAAACHE/sivjZV1M0Ho/P1020014%5B2%5D.jpg?imgmax=800"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020014" alt="P1020014" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63cGk9MlI/AAAAAAAACHI/8sqjkbnV-P8/P1020014_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Так как времени до Пленарного доклада было еще много, я отправился бродить по выставке:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63coYoLrI/AAAAAAAACHM/vGwTvtbBoSQ/P1010899%5B2%5D.jpg?imgmax=800"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010899" alt="P1010899" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63gg3xi3I/AAAAAAAACHQ/K9TSsoWItS8/P1010899_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63hUZd5aI/AAAAAAAACHU/5Ui1A4BFFjk/P1010901%5B2%5D.jpg?imgmax=800"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010901" alt="P1010901" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63ldNc22I/AAAAAAAACHY/lqtGfU-ObAQ/P1010901_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;И встретил Дениса Гладких – MVP по Client Application Developmet:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63l0aQ-pI/AAAAAAAACHc/NW6HFSlja0Y/s1600-h/P1010910%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010910" alt="P1010910" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63mhhDZrI/AAAAAAAACHg/rF_sQ304y3w/P1010910_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;На стендах стояли сотрудники Microsoft, которым можно было задать вопросы:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63m20QstI/AAAAAAAACHk/h-CQH4byK_c/s1600-h/P1010916%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010916" alt="P1010916" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63nXmt69I/AAAAAAAACHo/4Y39O-Tp48M/P1010916_thumb.jpg?imgmax=800" border="0" height="244" width="186" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Но вот время приблизилось к 10 часам и надо было идти на пленарный доклад. Перед входом нам выдавали очки для просмотра в 3D и синхронные переводчики.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63nwuvaFI/AAAAAAAACHs/l5tDn1Ji7yE/s1600-h/P1010943%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010943" alt="P1010943" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63peXBqsI/AAAAAAAACHw/WNeC4l-pMsU/P1010943_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Первым выступал Николай Прянишников. Он рассказал про планы Microsoft для бизнеса, про недавно открытый Microsoft Technology Center, про возможности для стартапов и показывал, насколько больше денег тратит Microsoft на инновации, нежели другие компании:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63p1y2N1I/AAAAAAAACH0/DjJLJTxX1M8/P1010956%5B2%5D.jpg?imgmax=800"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010956" alt="P1010956" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63txNLOiI/AAAAAAAACH4/hp2TrQ0YkPU/P1010956_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Следующим взял слово Норм Джуда – директор по технологической стратегии Microsoft: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63uXvW07I/AAAAAAAACH8/lRR9n1_B3OA/s1600-h/P1010962%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010962" alt="P1010962" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv63u-Z5jcI/AAAAAAAACIA/Ds6kYgBQLJU/P1010962_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63wMhxglI/AAAAAAAACIE/GgSQXtCDFyA/s1600-h/P1010960%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010960" alt="P1010960" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63w3k7AGI/AAAAAAAACII/N0se9cRhJN8/P1010960_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Он вскользь пробежался по новым продуктам  Microsoft, таким как Windows 7, Windows Server 2008 R2, Exchange 2010, Visual Studio 2010 beta2, Microsoft Office 2010 beta, которые были тут же продемонстрированы. Самой впечатляющей демонстрацией была демонстрация голосового управления почтой с помощью Exchange 2010: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63xQ_UFOI/AAAAAAAACIM/6ETxpHiUk3E/s1600-h/P1010964%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010964" alt="P1010964" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv63x_XNMcI/AAAAAAAACIQ/Iw23YKyPWhQ/P1010964_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv63ySeTFMI/AAAAAAAACIU/GPV6cif4qNQ/s1600-h/P1010966%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010966" alt="P1010966" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63y0VctgI/AAAAAAAACIc/cyo_wobUlNE/P1010966_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63zREqjmI/AAAAAAAACIg/vZDha4-970Q/s1600-h/P1010985%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010985" alt="P1010985" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63z4Z2JOI/AAAAAAAACIk/kliGhAqWae8/P1010985_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv630f0wQZI/AAAAAAAACIo/ZDtGPf1PPIM/s1600-h/P1010987%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010987" alt="P1010987" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv630wfmKhI/AAAAAAAACIs/Z-S4i2RJi0g/P1010987_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv631cGX1YI/AAAAAAAACIw/hMxMhXk2KO8/s1600-h/P1010988%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010988" alt="P1010988" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv6310kSCgI/AAAAAAAACI0/VxdSnL0Gwc8/P1010988_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;После этого нас ждал обед, на котором встретил Дмитрия Сошникова:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv632UZL48I/AAAAAAAACI4/JDotwcRWbP8/s1600-h/P1020016%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020016" alt="P1020016" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv6329FHqSI/AAAAAAAACI8/Aq0edpm7I1c/P1020016_thumb.jpg?imgmax=800" border="0" height="244" width="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;На обед было отведено целых полтора часа, потому после него пошел опять гулять по выставке:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv633eBaR7I/AAAAAAAACJA/lLXW7Rmj3G8/s1600-h/P1020010%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020010" alt="P1020010" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv633iJIg8I/AAAAAAAACJE/5TeMTiP07wo/P1020010_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv634PZdrWI/AAAAAAAACJI/J2AYxH6wDlc/s1600-h/P1020011%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020011" alt="P1020011" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv634s3Ww3I/AAAAAAAACJM/eAeKBIVhxrI/P1020011_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv635H-Y5TI/AAAAAAAACJQ/tAxiKJoK7bQ/s1600-h/P1010908%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010908" alt="P1010908" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63530wODI/AAAAAAAACJU/D4LxI-e_dn4/P1010908_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv636W5mGaI/AAAAAAAACJY/XBW205_LaIg/s1600-h/P1010902%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010902" alt="P1010902" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv636nTrlBI/AAAAAAAACJc/8OHT61l_IIM/P1010902_thumb.jpg?imgmax=800" border="0" height="244" width="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv637IHt9qI/AAAAAAAACJg/xPuow_Z143Y/s1600-h/P1010907%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010907" alt="P1010907" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv637hKycfI/AAAAAAAACJk/85LvRVoQIc0/P1010907_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Кто-то слушал доклады партнеров:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv638dquuzI/AAAAAAAACJo/BlvptoCnwdk/s1600-h/P1020013%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020013" alt="P1020013" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv6384Dh3GI/AAAAAAAACJs/p4pl8JKybWE/P1020013_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;А кто-то играл в настольный футбол: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv639ZswPGI/AAAAAAAACJw/nu0w7tQRyDY/s1600-h/P1010914%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010914" alt="P1010914" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv6394uw_lI/AAAAAAAACJ0/MwMdVgs0DAA/P1010914_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63-Q0BQFI/AAAAAAAACJ4/G3bm4bLFr7k/s1600-h/P1010915%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1010915" alt="P1010915" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv63_AUbdLI/AAAAAAAACJ8/-FoVjVbrhHA/P1010915_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;После обеда начались сами доклады. Первый доклад, который я посетил был “Архитектура и технологии Intel для корпоративных вычислений”.  Много слов было сказано про многоядерность, модульность процессоров:&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv63_sTgy_I/AAAAAAAACKA/2fOK8HLcnSo/s1600-h/P1020021%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020021" alt="P1020021" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64AId4_xI/AAAAAAAACKE/hEMWor0Wd6A/P1020021_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64ATYtsmI/AAAAAAAACKI/SOVon1R3VbU/s1600-h/P1020032%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020032" alt="P1020032" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64A-Qx8UI/AAAAAAAACKM/SU5-9LJzQVg/P1020032_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Также приоткрыты некоторые планы на будущее:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64Bb0gQHI/AAAAAAAACKQ/wkY1kI9yEfc/s1600-h/P1020025%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020025" alt="P1020025" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64BwTZsWI/AAAAAAAACKU/9mtdpx3ZGek/P1020025_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Потом я пошел на доклад: “Мощь Windows 7 на специализированных встраиваемых устройствах”, где рассказали про Windows Embedded 2011.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64CWxHCbI/AAAAAAAACKY/p8IOh3sZkQ4/s1600-h/P1020041%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020041" alt="P1020041" src="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64C0TRHqI/AAAAAAAACKc/Wq2RPpFOJ8Q/P1020041_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Никак не мог пропустить доклад Дмитрия Васюры про новые инструменты для ускоренной разработки приложений в Visual Studio 2010.&lt;/p&gt;  &lt;p&gt;Следущий доклад в моей повестке дня был про технологию Microsoft StreamInsight,  которая позволяет извлекать знания из потоков реляционных данных в реальном времени:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv64DduOm1I/AAAAAAAACKg/nZ-dRlaTWXQ/s1600-h/P1020071%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020071" alt="P1020071" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64DxumNOI/AAAAAAAACKk/K8QdikchWzI/P1020071_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Программа докладов на этом закончилась и все пошли на вечерний фуршет, спонсором которого была пивоварная компания Holsten. Потом можно было пойти на круглые столы, но я решил посмотреть вечернюю программу, где показывали мультфильм в озвучке от Гоблины под названием “Битва за Виндостан”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64EYo8LtI/AAAAAAAACKo/TSaIXdN13ag/s1600-h/P1020092%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020092" alt="P1020092" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64E4UquEI/AAAAAAAACKs/Hio3G3YQ_fo/P1020092_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;День второй.&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Второй день начался для меня с доклада “Windows Mobile 6.5 – мощная платформа для создания привлекательного и функционального интерфейса в ваших мобильных приложениях”. Там Марат Бакиров и Александр Яхин рассказали о том, как в несколько строк кода можно использовать жесты в приложениях, так создавать виджеты и рисовать красивый GUI с помощью UI Framework.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv64Fa3yKkI/AAAAAAAACKw/pY-v_tJN20Y/s1600-h/P1020126%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020126" alt="P1020126" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv64F9toOjI/AAAAAAAACK0/mUbFxFirh3o/P1020126_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Потом я пошел на Гайдара Магданурова: “ASP.NET 4.0, MVC Framework и Visual Studio 2010”. В зале был аншлаг. Гайдар пробежался по нововведениям, но никакой демонстрации не показал. Честно говоря, ожидал другого от доклада: больше энергии, примеров.&lt;/p&gt;  &lt;p&gt;Потом был обед:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64GTlE9TI/AAAAAAAACK4/Qjw41Jci0RI/s1600-h/P1020157%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020157" alt="P1020157" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64G0_SqgI/AAAAAAAACK8/RxnIQHkOO_4/P1020157_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64HaIbv6I/AAAAAAAACLA/4wL_FrJn1b0/s1600-h/P1020159%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020159" alt="P1020159" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64H8w-IsI/AAAAAAAACLE/U6Am6__84IM/P1020159_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Следующий доклад был от Романа Здебского: “Разработка современных Windows-приложений – Windows Presentation Foundation 4.0”, где Роман много внимания уделил проделанной работе над отрисовкой шрифтов, новым инструментам и интеграция с Windows 7.&lt;/p&gt;  &lt;p&gt;Потом благодаря Дэвиду Чеппелу открыл для себя Workflow Foundation.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64IUm7WlI/AAAAAAAACLI/cCiPXhWCBU4/s1600-h/P1020179%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020179" alt="P1020179" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64IxcjMiI/AAAAAAAACLM/Rkusc2YtHSc/P1020179_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64JT6L16I/AAAAAAAACLQ/Hy5ZZ2kKcjc/s1600-h/P1020183%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020183" alt="P1020183" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv64Jjol1wI/AAAAAAAACLU/zymMv_qDZnk/P1020183_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Затем Андрей Бешков рассказал про “Технологии обеспечения безопасности Windows 7”, где он сказал, что отключать UAC не надо и почему стоит шифровать свои данные.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64KXQZRwI/AAAAAAAACLY/aU3_qoiKa7w/s1600-h/P1020191%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020191" alt="P1020191" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64K6EDWbI/AAAAAAAACLc/jlPQLDwvSaM/P1020191_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Последним докладом конференции для меня стал доклад “Модели программирования и платформа Microsoft .NET 4.0”.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64LYoD8nI/AAAAAAAACLg/CbnDtXzzXog/s1600-h/P1020193%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020193" alt="P1020193" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64LkmLG1I/AAAAAAAACLk/tYZBur2KoBc/P1020193_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Нам рассказали по Parallel Task Library, динамическое программирование, Managed Extensibility Framework.&lt;/p&gt;  &lt;p&gt;Закрывал конференцию розыгрыш призов, до которого на сцену были приглашены организаторы и получили свою порцию аплодисментов:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64MYszRCI/AAAAAAAACLo/ptNF-rUuzpA/s1600-h/P1020210%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020210" alt="P1020210" src="http://lh6.ggpht.com/_jtJw2L283Bk/Sv64M2TID7I/AAAAAAAACLs/FyEl_sCQwT8/P1020210_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Ну и сам розыгрыш:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv64NWoWrYI/AAAAAAAACLw/Vx4aQKwEYwU/s1600-h/P1020199%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020199" alt="P1020199" src="http://lh4.ggpht.com/_jtJw2L283Bk/Sv64N4E66zI/AAAAAAAACL0/LDYu1eGwxdU/P1020199_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64OceR_LI/AAAAAAAACL4/8ePcH1SoitE/s1600-h/P1020213%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020213" alt="P1020213" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64Oiy4G4I/AAAAAAAACL8/L3VwC8eUsXs/P1020213_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/Sv64PRoSirI/AAAAAAAACMA/OSaU472cNXs/s1600-h/P1020214%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020214" alt="P1020214" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64PgsscSI/AAAAAAAACME/smy-80dncYQ/P1020214_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/Sv64QPZsLdI/AAAAAAAACMI/W6oKFkmcidg/s1600-h/P1020216%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ; display: inline;" title="P1020216" alt="P1020216" src="http://lh5.ggpht.com/_jtJw2L283Bk/Sv64Qu4MvuI/AAAAAAAACMM/YlCq954TJ-U/P1020216_thumb.jpg?imgmax=800" border="0" height="184" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Вот наверно и все, что хотел рассказать. &lt;/p&gt;  &lt;p&gt;Хочу также поблагодарить организаторов и докладчиков за очень высокое качество мероприятия. Надеюсь, увидимся в следующем году. А теперь пора идти ставить Windows 7)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-2444524313281108473?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/ZLRaP352O0g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/2444524313281108473/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/11/2010.html#comment-form" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2444524313281108473?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2444524313281108473?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/ZLRaP352O0g/2010.html" title="Платформа 2010" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_jtJw2L283Bk/Sv63XmUvlmI/AAAAAAAACHA/kB9CIj4O4Cs/s72-c/P1020094_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/11/2010.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU4BQn0_fyp7ImA9WxNVGEk.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-6621417117058830288</id><published>2009-10-29T23:25:00.001+03:00</published><updated>2009-10-29T23:25:53.347+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-29T23:25:53.347+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="книги" /><title>Опубликована книга C# для школьников</title><content type="html">&lt;p&gt;Первоисточник - &lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/vorobiev/archive/2009/10/29/c.aspx" href="http://blogs.msdn.com/vorobiev/archive/2009/10/29/c.aspx"&gt;http://blogs.msdn.com/vorobiev/archive/2009/10/29/c.aspx&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-6621417117058830288?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/xUF3MIN3FYU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/6621417117058830288/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/10/c.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/6621417117058830288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/6621417117058830288?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/xUF3MIN3FYU/c.html" title="Опубликована книга C# для школьников" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/10/c.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIBRH8_fSp7ImA9WxNVE0Q.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-2730538030083581330</id><published>2009-10-24T18:19:00.004+04:00</published><updated>2009-10-24T19:02:35.145+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-24T19:02:35.145+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="МЭИ(ТУ)" /><category scheme="http://www.blogger.com/atom/ns#" term="MSDN AA" /><category scheme="http://www.blogger.com/atom/ns#" term="DreamSpark" /><category scheme="http://www.blogger.com/atom/ns#" term="ELMS" /><title>Первое использование MSDN AA (ELMS) на примере МЭИ(ТУ)</title><content type="html">&lt;p&gt;Как бесплатно получить ПО студенту для образовательный целей?  Это можно сделать через программу &lt;a href="http://www.dreamspark.ru/"&gt;DreamSpark&lt;/a&gt;, а можно через подписку MSDN AA, которая есть во многих технических ВУЗах. Именно о ней сегодня и поговорим. В этом посте я постараюсь пошагово описать весь процесс первого использования центра программного обеспечения ELMS для MSDN AA на примере Московского Энергетического Института (Технического Университета).&lt;/p&gt;  &lt;p&gt;В нашем ВУЗе за каждым студентом закреплен индивидуальный e-mail в университетской почтовой системе. Этот ящик должен быть активирован (если нет, то надо сходить в Информационно Вычислительный Центр и сделать это). На этот e-mail приходит письмо с темой “Welcome to MSDN Academic Alliance: Online Software System” (если такое письмо найти не можете, то нужно написать сюда: &lt;a href="mailto:korkinvs@mpei.ru"&gt;korkinvs@mpei.ru&lt;/a&gt;). В этом письме содержится логин и пароль для доступа к системе.&lt;/p&gt; &lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/SuMM19ywdlI/AAAAAAAACFA/wAK3vBBWlsk/s1600-h/%408A21%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис2блог" alt="рис2блог" src="http://lh3.ggpht.com/_jtJw2L283Bk/SuMM2cYW1TI/AAAAAAAACFE/kVUZz3S4rtg/%408A21%3B%3E3_thumb.jpg?imgmax=800" border="0" height="54" width="244" /&gt;&lt;/a&gt;   &lt;p&gt;Перейдя по ссылке &lt;a href="http://msdn62.e-academy.com/mpei_ace"&gt;http://msdn62.e-academy.com/mpei_ace&lt;/a&gt; , вы должны увидеть такую страницу:&lt;/p&gt; &lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM21jP-HI/AAAAAAAACFI/GONSWG2tO14/s1600-h/%408A31%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис3блог" alt="рис3блог" src="http://lh5.ggpht.com/_jtJw2L283Bk/SuMM3PNRwbI/AAAAAAAACFM/fQLMZJALyFU/%408A31%3B%3E3_thumb.jpg?imgmax=800" border="0" height="107" width="244" /&gt;&lt;/a&gt;   &lt;p&gt;Теперь входим в систему, введя логин и пароль, указанный в письме и, если вход будет успешным, получим такую страницу:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM3pRE6yI/AAAAAAAACFQ/-VgreE0gIBQ/s1600-h/%408A51%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис5блог" alt="рис5блог" src="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM4JMSDEI/AAAAAAAACFU/pYDduBYS7Q0/%408A51%3B%3E3_thumb.jpg?imgmax=800" border="0" height="123" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Это окно выбора продукта. Если вы не знаете его точного названия, то воспользуйтесь поиском, в противном случае выберете продукт из ниспадающего списка:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/SuMM4T8GeiI/AAAAAAAACFY/kokX2QlQOaM/s1600-h/%408A61%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис6блог" alt="рис6блог" src="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM444HBeI/AAAAAAAACFc/9A_T3BP349Y/%408A61%3B%3E3_thumb.jpg?imgmax=800" border="0" height="17" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Нажав “Переход”, вы перейдете к странице с описанием продукта и времени его загрузки.  Теперь нажмите “Добавить в корзину”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM5GriaeI/AAAAAAAACFg/6cneQpje4k0/s1600-h/%408A71%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис7блог" alt="рис7блог" src="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM5sHYJEI/AAAAAAAACFk/Cwq5TSaHYAU/%408A71%3B%3E3_thumb.jpg?imgmax=800" border="0" height="104" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;На следующем этапе вы увидите лицензионное соглашение. Обязательно прочитайте его. Если согласны со всеми его пунктами, нажмите “Я согласен”.&lt;/p&gt;  &lt;p&gt;Вы попали в корзину. Здесь можно увидеть весь список выбранных вами продуктов. Если это все, что вы хотите заказать, то нажмите “Оформить заказ”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM6Cg2-CI/AAAAAAAACFo/9tVP4gJRcEc/s1600-h/%408A91%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис9блог" alt="рис9блог" src="http://lh4.ggpht.com/_jtJw2L283Bk/SuMM6d-Dw2I/AAAAAAAACFs/iVTXu1oqwVA/%408A91%3B%3E3_thumb.jpg?imgmax=800" border="0" height="61" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Теперь вам придется ввести некоторые данные о себе: имя, фамилию и адрес электронной почты, на который придет подтверждение, после того, как вы закончите с “покупками”:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM6wbXk1I/AAAAAAAACFw/CGhqZzzOglQ/s1600-h/%408A101%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис10блог" alt="рис10блог" src="http://lh4.ggpht.com/_jtJw2L283Bk/SuMM7qKOPAI/AAAAAAAACF0/BJ1f2RmfT2Q/%408A101%3B%3E3_thumb.jpg?imgmax=800" border="0" height="105" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Нажав “Далее”, вы окончательно подтвердите заказ.  Следующее окно будет выглядеть примерно так:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/SuMM7ygcSwI/AAAAAAAACF4/00MBuEiwrL0/s1600-h/%408A111%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис11блог" alt="рис11блог" src="http://lh4.ggpht.com/_jtJw2L283Bk/SuMM9M5Q0qI/AAAAAAAACF8/mZTAE0Swvhk/%408A111%3B%3E3_thumb.jpg?imgmax=800" border="0" height="81" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Если вам не терпится загрузить это ПО, то нажмите кнопку “Загрузить”.&lt;/p&gt;  &lt;p&gt;Вы попадете на страницу загрузки этого продукта, на которой будет информация о названии продукта, дате заказа,  серийном номере, который потребуется ввести во время установки.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/SuMM9lykV5I/AAAAAAAACGA/MCI-jahuWNo/s1600-h/%408A121%3B%3E3%5B2%5D.jpg"&gt;&lt;img style="border-width: 0px; display: inline;" title="рис12блог" alt="рис12блог" src="http://lh5.ggpht.com/_jtJw2L283Bk/SuMM90JuGeI/AAAAAAAACGE/UYO-nAKKRFo/%408A121%3B%3E3_thumb.jpg?imgmax=800" border="0" height="108" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Теперь дело за малым: нажмите “Загрузить”.  Вы получите файл размером чуть меньше полумегабайта – это загрузчик, двойной клик по которому начнет процесс загрузки в указанную вами папку.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-2730538030083581330?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/QNBAFRdzKrc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/2730538030083581330/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/10/msdn-aa-elms.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2730538030083581330?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2730538030083581330?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/QNBAFRdzKrc/msdn-aa-elms.html" title="Первое использование MSDN AA (ELMS) на примере МЭИ(ТУ)" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/_jtJw2L283Bk/SuMM2cYW1TI/AAAAAAAACFE/kVUZz3S4rtg/s72-c/%408A21%3B%3E3_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/10/msdn-aa-elms.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8DQX0-fyp7ImA9WxNbEUQ.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-3747046903785324488</id><published>2009-10-23T14:14:00.003+04:00</published><updated>2009-11-14T14:41:10.357+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-14T14:41:10.357+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Платформа 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Платформа" /><title>Я иду на Платформу 2010</title><content type="html">&lt;p&gt;Получил приглашение на &lt;a href="http://msplatforma.ru/"&gt;Платформу 2010&lt;/a&gt;, которая пройдет 12-13 ноября. Постараюсь писать ежедневные отчеты в блог и изрядно снабжать их фотографиями) &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-3747046903785324488?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/lLOinQbp_cU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/3747046903785324488/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/10/2010_23.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/3747046903785324488?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/3747046903785324488?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/lLOinQbp_cU/2010_23.html" title="Я иду на Платформу 2010" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/10/2010_23.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04ARXgyeCp7ImA9WxNWEk0.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-2112677351356961850</id><published>2009-10-10T22:41:00.008+04:00</published><updated>2009-10-10T23:12:24.690+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-10T23:12:24.690+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Twitterizer" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET Compact Framework" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Mobile" /><title>Как написать программу для смартфона?</title><content type="html">&lt;p&gt;Для этого нам потребуется Visual Studio, Windows Mobile SDK и образы эмуляторов устройств (я использую Visual Studio 2008, &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=83A52AF2-F524-4EC5-9155-717CBE5D25ED&amp;amp;displaylang=en"&gt;Windows Mobile 5.0 SDK for Pocket PC&lt;/a&gt; и &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=EEC33AE3-C129-4C25-ABAA-18E8E842178F&amp;amp;displaylang=en"&gt;Localized Windows Mobile 5.0 Pocket PC Emulator Images&lt;/a&gt;). Писать мы будем приложение, обновляющее статус в Twitter с помощью &lt;a href="http://code.google.com/p/twitterizer/"&gt;Twitterizer&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Создаем новый проект для смарт-устройств:&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/StDVN6LPkQI/AAAAAAAACAY/wXexIgwYr1c/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://lh4.ggpht.com/_jtJw2L283Bk/StDVObiyMtI/AAAAAAAACAc/PhBRpEsRjBo/image_thumb.png?imgmax=800" border="0" height="176" width="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;В следующем окне выбираем «Приложение для устройства», задаем конечную платформу (у меня Windows Mobile 5.0 Pocket PC SDK) и версию .NET Compact Framework:&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/StDVO_J8odI/AAAAAAAACAg/wfPKpq0j-UM/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://lh3.ggpht.com/_jtJw2L283Bk/StDVPTWRjhI/AAAAAAAACAk/M0Z1i33CuJs/image_thumb%5B1%5D.png?imgmax=800" border="0" height="186" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Переходим во вкладку «Form1.cs [Конструктор]» и перетаскиваем элементы управления, которые нам понадобятся: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;TextBox для ввода логина с именем login;      &lt;p&gt;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;TextBox для ввода пароля с именем password и свойством PasswordChar = “*”, чтобы пароль не был виден при вводе; &lt;/li&gt;    &lt;li&gt;TextBox для ввода текста сообщения с именем textField и свойствами Mutiline = “true”, maxLength = 140, так как дина твита не может превышать 140 символов; &lt;/li&gt;    &lt;li&gt;3 элемента label для того, чтобы подписать что есть что; &lt;/li&gt;    &lt;li&gt;2 кнопки меню для обновления статуса в Twitter и выхода из программы. &lt;lo&gt;Также было бы неплохо знать сколько символов еще можно ввести до окончания лимита в 140 единиц. Для этого поместим на форму еще один элемент TextBox с именем characterNumber и значением 140 в свойстве текст. &lt;/lo&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Наш графический интерфейс готов. В итоге должно получиться что-то похожее на это:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/StDVP3TEJdI/AAAAAAAACAo/fFUCtNvv530/s1600-h/image%5B8%5D.png"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://lh3.ggpht.com/_jtJw2L283Bk/StDVQWWxw4I/AAAAAAAACAs/c7uJh-Np-tA/image_thumb%5B2%5D.png?imgmax=800" border="0" height="244" width="163" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Для того, чтобы использовать библиотеку Twitterizer нужно сделать следующие шаги:&lt;/p&gt; &lt;ol&gt;&lt;li&gt; &lt;p&gt;Добавить сылку на библиотеку:&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/StDVQjq5MoI/AAAAAAAACAw/3MnphTEaw1s/s1600-h/image%5B11%5D.png"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://lh6.ggpht.com/_jtJw2L283Bk/StDVRFnRC2I/AAAAAAAACA0/MOleLmTEZH4/image_thumb%5B3%5D.png?imgmax=800" border="0" height="178" width="244" /&gt;&lt;/a&gt; &lt;a href="http://lh6.ggpht.com/_jtJw2L283Bk/StDVRucHYlI/AAAAAAAACA4/XVPTWjCvtpI/s1600-h/image%5B14%5D.png"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://lh3.ggpht.com/_jtJw2L283Bk/StDVSFiCCBI/AAAAAAAACA8/n8sn0vBpM7g/image_thumb%5B4%5D.png?imgmax=800" border="0" height="198" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;/li&gt;&lt;li&gt;     &lt;p&gt;Добавить соответствующую директиву using в файл Form1.cs: &lt;/p&gt;     &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/StDVSlwGwPI/AAAAAAAACBA/G2r3wqV8yqs/s1600-h/image%5B26%5D.png"&gt;&lt;img style="border-width: 0px; display: inline;" title="image" alt="image" src="http://lh5.ggpht.com/_jtJw2L283Bk/StDVTN1IGaI/AAAAAAAACBE/3VVh8AQrslg/image_thumb%5B8%5D.png?imgmax=800" border="0" height="80" width="244" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Теперь перейдем в обработчик события menuItem1_Click (клик по кнопке Twit) и напишем вот такой код:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:85%;color:black;"   &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; ((login.Text == &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;) || (password.Text == &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;)) &lt;span style="color: rgb(0, 128, 0);"&gt;//проверка на заполнение полей&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;      MessageBox.Show(&lt;span style="color: rgb(163, 21, 21);"&gt;"Empty login or password"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"Login/Password Entry Error"&lt;/span&gt;);&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;    {&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (textField.Text == &lt;span style="color: rgb(163, 21, 21);"&gt;""&lt;/span&gt;) &lt;span style="color: rgb(0, 128, 0);"&gt;//проверка на заполнение текста твита&lt;/span&gt;&lt;br /&gt;      {&lt;br /&gt;        MessageBox.Show(&lt;span style="color: rgb(163, 21, 21);"&gt;"Empty Text field"&lt;/span&gt;, &lt;span style="color: rgb(163, 21, 21);"&gt;"Empty Text field"&lt;/span&gt;); &lt;span style="color: rgb(0, 128, 0);"&gt;//обновляем статус&lt;/span&gt;&lt;br /&gt;      }&lt;br /&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;br /&gt;      {&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;try&lt;/span&gt;&lt;br /&gt;        {&lt;br /&gt;          Twitter twit = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Twitter(login.Text, password.Text);&lt;br /&gt;          twit.Status.Update(textField.Text);&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt; (TwitterizerException ex) &lt;span style="color: rgb(0, 128, 0);"&gt;//ловим исключения при обновлении статуса&lt;/span&gt;&lt;br /&gt;        {&lt;br /&gt;          &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt; message = &lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;.Format(&lt;span style="color: rgb(163, 21, 21);"&gt;"Exception: {0}"&lt;/span&gt;, ex.Message.ToString());&lt;br /&gt;          MessageBox.Show(message, &lt;span style="color: rgb(163, 21, 21);"&gt;"Exception"&lt;/span&gt;);&lt;br /&gt;        }&lt;br /&gt;     &lt;br /&gt;      }&lt;br /&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;  &lt;p&gt;В menuItem2_Click (клик по кнопке Exit):&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:85%;color:black;"   &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;void&lt;/span&gt; menuItem2_Click(&lt;span style="color: rgb(0, 0, 255);"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43, 145, 175);"&gt;EventArgs&lt;/span&gt; e)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;Close();&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Для того, чтобы отслеживать количество оставшихся символов в «реальном времени», в событии KeyUp напишем следующее:&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;code&gt;&lt;span style=";font-family:Courier New;font-size:85%;color:black;"   &gt;characterNumber.Text = (140 - textField.Text.Length).ToString();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;* This source code was highlighted with &lt;a href="http://virtser.net/blog/post/source-code-highlighter.aspx"&gt;&lt;span style=";font-size:78%;color:gray;"  &gt;Source Code Highlighter&lt;/span&gt;&lt;/a&gt;.&lt;/span&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Запустим наш проект с отладкой: пункт меню Отладка → Начать отладку. Если никаких ошибок мы не сделали, то получим предложение развернуть приложение:&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/StDVTUcDJbI/AAAAAAAACBI/0krgIKIp_Vg/s1600-h/image%5B29%5D.png"&gt;&lt;img style="border: 0px none ; display: inline;" title="image" alt="image" src="http://lh3.ggpht.com/_jtJw2L283Bk/StDVTxRX7aI/AAAAAAAACBM/UhgAHoGtC5U/image_thumb%5B9%5D.png?imgmax=800" border="0" height="158" width="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Я использовал реальный коммуникатор на Windows Mobile 5.0 и он должен быть соединен с КПК через программу &lt;a href="http://www.microsoft.com/windowsmobile/ru-ru/downloads/microsoft/activesync-download.mspx"&gt;ActiveSync&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-2112677351356961850?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/y-XjlccTPic" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/2112677351356961850/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/10/blog-post.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2112677351356961850?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2112677351356961850?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/y-XjlccTPic/blog-post.html" title="Как написать программу для смартфона?" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh4.ggpht.com/_jtJw2L283Bk/StDVObiyMtI/AAAAAAAACAc/PhBRpEsRjBo/s72-c/image_thumb.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/10/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE4AQng-eip7ImA9WxNXFU0.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-5086881643620432339</id><published>2009-10-02T22:07:00.002+04:00</published><updated>2009-10-02T22:09:03.652+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-02T22:09:03.652+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MSPSummit" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft Technology Center" /><title>MSP Summit. First day.</title><content type="html">&lt;p&gt;Сегодня был первый день встречи студентов-партнеров Microsoft. Он проходил в недавно открывшемся Microsoft Technology Center. Говорят,  мы были первыми, кто сидел за компьютерами в учебных классах. Нам показывали новые возможности .NET Framework 4.0 и Visual Studio 2010, учили создавать веб-слайсы, ускорители и свою сборку Internet Explorer и еще много чему. Вобщем было очень интересно. Получил огромное количество положительных эмоций, да и до сих пор пребываю в эйфорическом состоянии. Постараюсь через несколько дней написать что-то более осмысленное и подкрепить это неким количеством фотографий)))&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-5086881643620432339?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/2uGpqNpuBIM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/5086881643620432339/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/10/msp-summit-first-day.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/5086881643620432339?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/5086881643620432339?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/2uGpqNpuBIM/msp-summit-first-day.html" title="MSP Summit. First day." /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/10/msp-summit-first-day.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcASHo8eyp7ImA9WxNWEk0.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-8970853848153111517</id><published>2009-08-21T16:00:00.002+04:00</published><updated>2009-10-10T23:14:09.473+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-10T23:14:09.473+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="ThreadPool" /><category scheme="http://www.blogger.com/atom/ns#" term="Потоки" /><category scheme="http://www.blogger.com/atom/ns#" term="Thread" /><category scheme="http://www.blogger.com/atom/ns#" term="DreamSpark" /><category scheme="http://www.blogger.com/atom/ns#" term=".Net" /><title>Потоки в .Net. Часть 1.</title><content type="html">&lt;p&gt;Поток (thread) – это независимая последовательность инструкций в программе. Самый простой способ создания потоков – вызов делегата асинхронным образом.&lt;/p&gt;  &lt;p&gt;static int TestThread(int data, int ms)   &lt;br /&gt;      {    &lt;br /&gt;         Console.WriteLine("TestThread started");    &lt;br /&gt;         Thread.Sleep(ms);    &lt;br /&gt;         Console.WriteLine("TestThread completed");    &lt;br /&gt;         return ++data;    &lt;br /&gt;      }&lt;/p&gt;  &lt;p&gt;public delegate int TestThreadDelegate(int data, int ms);&lt;/p&gt;  &lt;p&gt; Есть несколько способов узнать завершил ли делегат свою работу.Это можно сделать с помощью метода BeginInvoke(), в котором входные параметры можно передать вместе с типом делегата. Этот метод возвращает тип IAsyncResult, у которого есть свойство IsComleted. Вторым способом ожидания результата является использование дескриптора ожидания. Получить к нему доступ можно с помощью свойства AsyncWaitHanle. Третьим способом является использование обратного асинхронного вызова: &lt;/p&gt;  &lt;p&gt;static void Main()   &lt;br /&gt;      {&lt;/p&gt;  &lt;p&gt;         TestThreadDelegate d1 = TestThread; &lt;/p&gt;  &lt;p&gt;         d1.BeginInvoke(1, 3000, TestThreadCompleted, d1);   &lt;br /&gt;         for (int i = 0; i &amp;lt; 100; i++)    &lt;br /&gt;         {    &lt;br /&gt;            Console.Write(".");    &lt;br /&gt;            Thread.Sleep(50);    &lt;br /&gt;         } &lt;/p&gt;  &lt;p&gt;       }&lt;/p&gt;  &lt;p&gt;static void TestThreadCompleted(IAsyncResult ar)   &lt;br /&gt;      {    &lt;br /&gt;         if (ar == null) throw new ArgumentNullException("ar");    &lt;br /&gt;         TestThreadDelegate d1 = ar.AsyncState as TestThreadDelegate;    &lt;br /&gt;         Trace.Assert(d1 != null, "Invalid object type"); &lt;/p&gt;  &lt;p&gt;         int result = d1.EndInvoke(ar);   &lt;br /&gt;         Console.WriteLine("result: {0}", result);    &lt;br /&gt;      }&lt;/p&gt;  &lt;p&gt;Другим способом создания потоков является использование класса Thread. Он также позволяет управлять ими. &lt;/p&gt;  &lt;p&gt;using System;   &lt;br /&gt;using System.Threading; &lt;/p&gt;  &lt;p&gt;namespace Csharp.Threading.FirstThread   &lt;br /&gt;{    &lt;br /&gt;   class Program    &lt;br /&gt;   {    &lt;br /&gt;      static void Main(string[] args)    &lt;br /&gt;      {    &lt;br /&gt;          Thread t1 = new Thread(ThreadMain);    &lt;br /&gt;          t1.Start();    &lt;br /&gt;          Console.WriteLine("This is the main thread.");    &lt;br /&gt;      }    &lt;br /&gt;      static void ThreadMain()    &lt;br /&gt;      {    &lt;br /&gt;          Console.WriteLine("In thread.");    &lt;br /&gt;      }    &lt;br /&gt;   }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;Передавать данные потокам можно двумя способами: используя конструктор Thread с делегатом ParameterizedThreadStart, либо путем создания специального класса и определения метода потока, как метода экземпляра:&lt;/p&gt;  &lt;p&gt;public class MyThread   &lt;br /&gt;   {    &lt;br /&gt;      private string data; &lt;/p&gt;  &lt;p&gt;      public MyThread(string data)   &lt;br /&gt;      {    &lt;br /&gt;         this.data = data;    &lt;br /&gt;      } &lt;/p&gt;  &lt;p&gt;      public void ThreadMain()   &lt;br /&gt;      {    &lt;br /&gt;         Console.WriteLine("Running in a thread, data: {0}", data);    &lt;br /&gt;      }    &lt;br /&gt;   }&lt;/p&gt;  &lt;p&gt;В Main:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;MyThread obj = new myThread(“text”);&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Thread tr = new Thread(obj.ThreadMain);&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;tr.Start();&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; Существует два типа потоков: приоритетный и фоновый. Процесс продолжает выполняться до тех пор, пока выполняется хотя бы один приоритетный поток. С помощью класса Thread по умолчанию создается именно он. Чтобы поток был фоновым нужно использовать свойство IsBackground. &lt;/p&gt;  &lt;p&gt;Операционная система планирует порядок выполнения потоков. На этот процесс можно влиять путем назначения потоку соответствующего приоритета с помощью свойства Priority.   &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Иногда нужно заранее создать набор потоков, также увеличивать или уменьшать этот набор при возникновении необходимости.  Для этого предусмотрен класс ThreadPool.&lt;/p&gt;  &lt;p&gt;using System;   &lt;br /&gt;using System.Threading; &lt;/p&gt;  &lt;p&gt;namespace Csharp.Threading.Pools   &lt;br /&gt;{ &lt;/p&gt;  &lt;p&gt;   class Program   &lt;br /&gt;   {    &lt;br /&gt;      static void Main()    &lt;br /&gt;      {&lt;/p&gt;  &lt;p&gt;         for (int i = 0; i &amp;lt; 5; i++)   &lt;br /&gt;         {    &lt;br /&gt;            ThreadPool.QueueUserWorkItem(JobForAThread); &lt;/p&gt;  &lt;p&gt;         } &lt;/p&gt;  &lt;p&gt;         Thread.Sleep(5000);   &lt;br /&gt;      } &lt;/p&gt;  &lt;p&gt;      static void JobForAThread(object state)   &lt;br /&gt;      {    &lt;br /&gt;         for (int i = 0; i &amp;lt; 3; i++)    &lt;br /&gt;         {    &lt;br /&gt;            Console.WriteLine("loop {0}, running inside pooled thread {1}", i,    &lt;br /&gt;               Thread.CurrentThread.ManagedThreadId);    &lt;br /&gt;            Thread.Sleep(10);           &lt;br /&gt;         } &lt;/p&gt;  &lt;p&gt;      }   &lt;br /&gt;   }    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;Но у пулов потоков есть некоторые ограничения: они являются фоновыми, также  менять приоритет или имя потока в пуле нельзя.&lt;/p&gt;  &lt;p&gt;Для начала это все. В следующий раз мы поговорим о взаимоблокировке и синхронизации потоков.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-8970853848153111517?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/7PZU8qdNTSI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/8970853848153111517/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/08/net-1.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8970853848153111517?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8970853848153111517?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/7PZU8qdNTSI/net-1.html" title="Потоки в .Net. Часть 1." /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/08/net-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEHQHwzfip7ImA9WxNTEEs.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-8943962905003808185</id><published>2009-08-12T12:43:00.001+04:00</published><updated>2009-08-12T12:43:51.286+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-12T12:43:51.286+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><category scheme="http://www.blogger.com/atom/ns#" term="Caffeine" /><title>Caffeine from Google</title><content type="html">&lt;p&gt;На днях Google предложил протестировать свой новый поиск под названием &lt;a href="http://www2.sandbox.google.com/"&gt;Caffeine&lt;/a&gt;. Я не преминул воспользоваться этой возможностью. И вот мои ощущения. &lt;/p&gt;  &lt;p&gt;В целом стало лучше.&amp;#160; По запросу “diman_dnk” количество элементов в выдаче увеличилось больше, чем в 4 раза, скорость выдачи (в расчете на один элемент), как и заявляли, возросла примерно в 2 раза. Релевантность стала напорядок лучше. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-8943962905003808185?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/-MCp6kanZjY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/8943962905003808185/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/08/caffeine-from-google.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8943962905003808185?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8943962905003808185?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/-MCp6kanZjY/caffeine-from-google.html" title="Caffeine from Google" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/08/caffeine-from-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUEQ3s4eCp7ImA9WxJaFUg.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4746103742585223809</id><published>2009-08-06T14:23:00.001+04:00</published><updated>2009-08-06T14:23:22.530+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-06T14:23:22.530+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows 7" /><title>Windows 7 will be today!</title><content type="html">&lt;p&gt;Сегодня Windows 7 RTM должна появится в MSDN и MSDN AA. И что-то мне подсказывает, что Vista доживает свои последние дни на моем ноутбуке.&lt;/p&gt;  &lt;p&gt;P.S. На прилавках магазинов Seven можно будет увидеть только 22 октября.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4746103742585223809?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/JADT5JfMTq8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4746103742585223809/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/08/windows-7-will-be-today.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4746103742585223809?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4746103742585223809?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/JADT5JfMTq8/windows-7-will-be-today.html" title="Windows 7 will be today!" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/08/windows-7-will-be-today.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4HRH87fCp7ImA9WxJVEU0.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-6620821730753487857</id><published>2009-06-27T15:42:00.001+04:00</published><updated>2009-06-27T15:42:15.104+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-27T15:42:15.104+04:00</app:edited><title>Windows Live Writer</title><content type="html">&lt;p&gt; Вот уже 4-ый пост пишу через этот клиент. Пока вселяет очень позитивные эмоции. Через web – интерфейс писать было не очень удобно и, случайно наткнувшись на Windows Live Writer, решил попробовать. Без проблем интегрировался с моим блогом. Вставка контента значительно удобнее, чем в web – интерфейсе. Вобщем нравится) &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_jtJw2L283Bk/SkYFk6ISfMI/AAAAAAAAAJQ/k8Z_13kX46M/s1600-h/%21%3D8%3C%3E%3A%5B2%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Снимок" border="0" alt="Снимок" src="http://lh6.ggpht.com/_jtJw2L283Bk/SkYFlreFoLI/AAAAAAAAAJU/JoPo7ejMtAA/%21%3D8%3C%3E%3A_thumb.jpg?imgmax=800" width="244" height="199" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-6620821730753487857?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/obLisr4FPTI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/6620821730753487857/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/06/windows-live-writer.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/6620821730753487857?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/6620821730753487857?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/obLisr4FPTI/windows-live-writer.html" title="Windows Live Writer" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/_jtJw2L283Bk/SkYFlreFoLI/AAAAAAAAAJU/JoPo7ejMtAA/s72-c/%21%3D8%3C%3E%3A_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/06/windows-live-writer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYFQ346cSp7ImA9WxJWGUg.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-2505420234086061855</id><published>2009-06-25T23:28:00.001+04:00</published><updated>2009-06-25T23:28:32.019+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-25T23:28:32.019+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Bing" /><category scheme="http://www.blogger.com/atom/ns#" term="теннис" /><title>Уимблдон and Bing</title><content type="html">&lt;p&gt;Уже почти неделю идет Уимблдон, но по непонятной причине его телевидение не показывает (про платное не говорю).&amp;#160; Почему Роллан Гаррос показывают, а его нет?&amp;#160; Да и вообще почему кроме Кубка Кремля и, указанного на предложение раньше, Открытого Чемпионата Франции не транслируют? &lt;/p&gt;  &lt;p&gt;Это было о наболевшем, а теперь мне хочется сказать пару слов о том, насколько хорош &lt;a href="http://www.bing.com/"&gt;Bing&lt;/a&gt;. По релевантности запросов и возможности кастомизации выдачи он, в моем личном рейтинге, таки превосходит Google. Стоит отметить, что это утверждение справедливо только для английского языка, но надеюсь, что скоро все станет хорошо и на русском.&lt;/p&gt;  &lt;p&gt;Задумался над тем о чем писать следующие посты… Может попытаться рассказать основы C#?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-2505420234086061855?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/GfpGmb4UKIQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/2505420234086061855/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/06/and-bing.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2505420234086061855?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2505420234086061855?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/GfpGmb4UKIQ/and-bing.html" title="Уимблдон and Bing" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/06/and-bing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU4GRX8-fyp7ImA9WxJXGEw.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-2355061773647503033</id><published>2009-06-12T17:17:00.000+04:00</published><updated>2009-06-12T17:38:44.157+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-12T17:38:44.157+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="подкасты" /><category scheme="http://www.blogger.com/atom/ns#" term="gpodder" /><category scheme="http://www.blogger.com/atom/ns#" term="itunes" /><title>Подкасты в Windows</title><content type="html">&lt;p&gt;Единственным хорошим подкаст-агрегатором, доступным в Windows до сегодняшнего дня был iTunes. Но времена меняются и утром, побывав на сайте &lt;a title="http://gpodder.org/" href="http://gpodder.org/"&gt;http://gpodder.org/&lt;/a&gt; , обнаружил появление версии под Windows.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/SjJaWoB0M6I/AAAAAAAAAEE/SC219Svj2dY/s1600-h/2%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2" border="0" alt="2" src="http://lh5.ggpht.com/_jtJw2L283Bk/SjJaXPrmu4I/AAAAAAAAAEI/gau5bXZJ-LU/2_thumb.jpg?imgmax=800" width="244" height="186" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Что он умеет? Да все то же, что и аналогичный клиент под другие ОС: автоматически закачивать любимые подкасты и ролики с YouTube, складывать их в нужные папки и удалять ненужные выпуски, можно ограничивать скорость загрузки, количество одновременно скачиваемых файлов.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_jtJw2L283Bk/SjJaXnySKWI/AAAAAAAAAEM/vuEMxlJXnNU/s1600-h/1%5B2%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="1" border="0" alt="1" src="http://lh6.ggpht.com/_jtJw2L283Bk/SjJaX_qwJ0I/AAAAAAAAAEQ/HCQ9jp8sCN4/1_thumb.jpg?imgmax=800" width="244" height="184" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Синхронизироваться с MP3-плеером и iPod&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_jtJw2L283Bk/SjJaYe5xcTI/AAAAAAAAAEU/sMEXMG58TVI/s1600-h/5%5B5%5D.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="5" border="0" alt="5" src="http://lh3.ggpht.com/_jtJw2L283Bk/SjJaY3XddaI/AAAAAAAAAEY/p7i9PnjKqmQ/5_thumb%5B1%5D.jpg?imgmax=800" width="244" height="158" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;К сожалению, воспроизвести своими силами он не может и по умолчанию пытается открыть подкаст в плеере по умолчанию.&lt;/p&gt;  &lt;p&gt;gPodder распространяется только архивом, может со временем появится инсталятор?)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; У меня не работает сочетание клавиш на копирование и вставку. Наблюдается некоторые глюки с отрисовкой GUI.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-2355061773647503033?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/Fea5J0zn4U8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/2355061773647503033/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/06/windows.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2355061773647503033?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/2355061773647503033?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/Fea5J0zn4U8/windows.html" title="Подкасты в Windows" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/_jtJw2L283Bk/SjJaXPrmu4I/AAAAAAAAAEI/gau5bXZJ-LU/s72-c/2_thumb.jpg?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/06/windows.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4FR30-fip7ImA9WxJXFEQ.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-8412899746829873175</id><published>2009-06-08T23:59:00.000+04:00</published><updated>2009-06-09T00:28:36.356+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-09T00:28:36.356+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Imagine Cup" /><category scheme="http://www.blogger.com/atom/ns#" term="Bing" /><category scheme="http://www.blogger.com/atom/ns#" term="Роллан Гаррос" /><category scheme="http://www.blogger.com/atom/ns#" term="Imagine Cup 2009" /><title>Это не оставляет меня равнодушным</title><content type="html">&lt;p&gt;В воскресение закончился Открытый Чемпионат Франции по теннису, который я смотрю уже который год и он становится всё интереснее и интереснее. Например, один из фаворитов, Рафаэль Надаль, выбыл в 1/8 финала, дав тем самым шанс Роджеру Федереру выиграть турнир. Наша надежда – Николай Давыденко выбыл в 1/4 финала. Но зато мы получили российский женский финал, где победила Светлана Кузнецова, одолев первую ракетку мира – Динару Сафину. А что нас ждём в ближайшем будущем? Ждёт нас &lt;a href="http://ru.wikipedia.org/wiki/%D0%A3%D0%B8%D0%BC%D0%B1%D0%BB%D0%B4%D0%BE%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D1%82%D1%83%D1%80%D0%BD%D0%B8%D1%80"&gt;Уимблдон&lt;/a&gt; - единственный из четырёх турниров Большого шлема, который проводится на травяных кортах.&lt;/p&gt;  &lt;p&gt;Сейчас перечитывал предыдущий абзац и глаз зацепило слово “Франция” и мне сразу вспомнилось, что именно там проводился международный финал студенческого конкурса Imagine Cup 2008. В этом году он пройдёт в Египте и нашу страну будет представлять команда VitalLab&amp;#160; с системой мониторинга за состоянием здоровья определённой группы людей – группы риска – с помощью датчиков температуры, пульса и давления, и на этой основе построили систему обнаружения, анализа и предотвращения эпидемий.&lt;/p&gt;  &lt;p&gt;Совсем недавно вышел новый поисковый движок от Microsoft под названием &lt;a href="http://www.bing.com/"&gt;Bing&lt;/a&gt;. Впечатления очень хорошие, релевантность полученных данных местами даже лучше, чем у Google. Особенно нравятся новый способ подачи информации и попытки поисковика порекомендовать мне что-нибудь. К сожалению, в России доступны не все фичи, но можно “поменять страну” и наслаждаться всем спектром возможностей нового движка.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-8412899746829873175?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/4fFZslGReM8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/8412899746829873175/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/06/blog-post.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8412899746829873175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/8412899746829873175?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/4fFZslGReM8/blog-post.html" title="Это не оставляет меня равнодушным" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/06/blog-post.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIDSHk8fyp7ImA9WxJQF0U.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-4197992092887648574</id><published>2009-05-31T20:08:00.004+04:00</published><updated>2009-05-31T20:32:59.777+04:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T20:32:59.777+04:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows 7" /><title>Пара слов о Windows 7</title><content type="html">5 мая вышла Windows 7 RC и я, как и многие, поставил её себе на виртуальный жёсткий диск.  Скринкаст с подробным описанием установки можно посмотреть &lt;a href="http://www.techdays.ru/videos/1237.html"&gt;тут&lt;/a&gt;. Проблем с оборудованием не возникло: всё подхватилось само.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jtJw2L283Bk/SiKwiXaUypI/AAAAAAAAADU/6Q_9I605n5Q/s1600-h/1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_jtJw2L283Bk/SiKwiXaUypI/AAAAAAAAADU/6Q_9I605n5Q/s320/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5342026212461300370" border="0" /&gt;&lt;/a&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;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Впечатления очень положительные: скорость работы сопоставима с оной в Windows XP, новый taskbar очень удобен, да и вообще визуальные эффекты на высоте. Также не может не радовать возможность распознавания математических формул (этого так раньше нехватало).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_jtJw2L283Bk/SiKxEsgURuI/AAAAAAAAADc/VcFLZ8MDwsA/s1600-h/1.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 135px;" src="http://3.bp.blogspot.com/_jtJw2L283Bk/SiKxEsgURuI/AAAAAAAAADc/VcFLZ8MDwsA/s320/1.JPG" alt="" id="BLOGGER_PHOTO_ID_5342026802239129314" border="0" /&gt;&lt;/a&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;&lt;br /&gt;В целом система стабильна, но загрузка с виртуального жёсткого диска несколько медленнее.&lt;br /&gt;&lt;br /&gt;P.S. Сегодня поставил русский пакет локализации - претензий к переводу нет, но пока очень непривычно)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-4197992092887648574?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/V3omwRy5UYo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/4197992092887648574/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/05/windows-7.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4197992092887648574?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/4197992092887648574?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/V3omwRy5UYo/windows-7.html" title="Пара слов о Windows 7" /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_jtJw2L283Bk/SiKwiXaUypI/AAAAAAAAADU/6Q_9I605n5Q/s72-c/1.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/05/windows-7.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkYHQ304cCp7ImA9WxVbEko.&quot;"><id>tag:blogger.com,1999:blog-2856148827732770010.post-6074216472699187558</id><published>2009-03-28T21:33:00.014+03:00</published><updated>2009-03-28T22:55:32.338+03:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-28T22:55:32.338+03:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Imagine Cup" /><category scheme="http://www.blogger.com/atom/ns#" term="Imagine Cup 2009" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><title>Imagine Cup 2009. 1/4 финала.</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jtJw2L283Bk/Sc5vYtHN-NI/AAAAAAAAABg/eKYzSTwBTK8/s1600-h/P3280215.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://4.bp.blogspot.com/_jtJw2L283Bk/Sc5vYtHN-NI/AAAAAAAAABg/eKYzSTwBTK8/s320/P3280215.jpg" alt="" id="BLOGGER_PHOTO_ID_5318310680188549330" border="0" /&gt;&lt;/a&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;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Сегодня я побывал на 1/4 финала конкурса программных проектов Imagine Cup и мне хочется поделиться с вами своими ощущениями и впечатлениями. Он проходил в Московском офисе Microsoft на Крылатских Холмах.&lt;br /&gt;&lt;br /&gt;Вообще суббота - нерабочий день в комплексе, так что бесплатная маршрутка к нему в этот день не ходит, и нам пришлось добираться общественным транспортом.&lt;br /&gt;&lt;br /&gt;Приехали мы около 10 часов, время начала репетиций выступлений, и у нас было время осмотреться, пообщаться с выступающими, принять участие в импровизированном завтраке и сделать пару фоток офиса.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc5v-cGL76I/AAAAAAAAABo/1u2PBCe_cGc/s1600-h/P3280219.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc5v-cGL76I/AAAAAAAAABo/1u2PBCe_cGc/s320/P3280219.jpg" alt="" id="BLOGGER_PHOTO_ID_5318311328455847842" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_jtJw2L283Bk/Sc5wHvcUuiI/AAAAAAAAABw/Kx7IdwnIgT0/s1600-h/P3280222.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_jtJw2L283Bk/Sc5wHvcUuiI/AAAAAAAAABw/Kx7IdwnIgT0/s320/P3280222.JPG" alt="" id="BLOGGER_PHOTO_ID_5318311488267794978" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_jtJw2L283Bk/Sc5wRLY-qZI/AAAAAAAAAB4/j-ljwvshFIA/s1600-h/P3280226.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_jtJw2L283Bk/Sc5wRLY-qZI/AAAAAAAAAB4/j-ljwvshFIA/s320/P3280226.jpg" alt="" id="BLOGGER_PHOTO_ID_5318311650388781458" border="0" /&gt;&lt;/a&gt;   Также мне удалось минут 10 поиграть в Xbox, помеченной мною ещё во время прошлого визита. Приставка оставила очень приятные впечатления, несмотря на то, что я практически не играю в игры, а приставки в руках не держал уже много лет.&lt;br /&gt;&lt;br /&gt;Но стрелка часов приближалась к 12 - времени начала выступлений и мы направились в зал. В программе выступлений было 5 команд: из МФТИ, МИФИ, МГУ, МИРЭА и МГУПИ. По результатам жеребьёвки первым выпало выступать команде из МИФИ с проектом Lullius. Идея проекта заключается в упрощении обмена информацией с помощью матричных кодов, снимать которые можно с помощью мобильных устройств. Сама идея мне понравилась, но презентация, манера выступления и демонстрация меня разочаровали...&lt;br /&gt;&lt;br /&gt;Следущей командой была команда из МИРЭА. Хотя слово команда не очень применима - это был один человек (по правилам соревнований могут принимать участие команды от 1 до 4 человек + наставник).  Была поднята проблема экологической устойчивости. Посмотреть на проект можно &lt;a href="http://www.ecoworldmap.net/"&gt;здесь&lt;/a&gt;. Опять же очень актуальная тема, но выступление... во-первых, слишком много терминологии из экологии, автор не рассказывал, а большей частью читал свою презентацию и слишком дерзко отвечал на вопросы жюри. Надо сказать, что жюри состояло из Дмитрия Сошникова, координатора академических программ Microsoft, преподавателей МГТУ им. Баумана, МАИ, Высшей Школы Экономики и журналистки одной известной&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_jtJw2L283Bk/Sc53HMQNFBI/AAAAAAAAACA/Q2r7ufX7vmc/s1600-h/P3280240.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 240px; height: 320px;" src="http://2.bp.blogspot.com/_jtJw2L283Bk/Sc53HMQNFBI/AAAAAAAAACA/Q2r7ufX7vmc/s320/P3280240.JPG" alt="" id="BLOGGER_PHOTO_ID_5318319175403115538" border="0" /&gt;&lt;/a&gt; газеты.&lt;br /&gt;Закрывали первую половину выступлений студенты из МГУ. Они предложили в игровой форме бороться с глобальными проблемами: от загрязнения окружающей среды до зависимости от World Of Warcraft. Была показана демонстрация игры: эдакая стрелялка, но надо заметить, что вся игра, в том числе и движок, обеспечивающий очень достойный уровень графики, был написан ими. В целом выступление мне очень понравилось. Разве что они не смогли ответить на вопрос, как они будут бороться с зависимостью от их игры, которая, кстати говоря болжна распространяться бесплатно.&lt;br /&gt;&lt;br /&gt;Потом нас ждал 30 минутный обеденный перерыв, после которого свой проект предавляла команда МГУПИ, в рядах которой была единственная девушка на сегодняшних соревнованиях. Они предлагали бороться с пробками с помощью построения модели в зависимости от времени суток и регулироавния светофоров. У них, на мой взгляд, была самая лучшая презентация за всё время конкурса, хотя во время вопросов к команде выяснилось, что их модель не учитывает достаточное большое количество случайных факторов, например день недели, время года и вся модель строится их расчёта количества машин на дорогах, что в пересчёте на Москву требует огромных вычислительных ресурсов.&lt;br /&gt;&lt;br /&gt;Завершали день студенты из МФТИ с проектом &lt;a href="http://myrange.ru/"&gt;myRange&lt;/a&gt;, который помогает находить интересных людей на расстоянии действия Bluetooth. Команда держалась очень достойно и в итоге заняла первое место, 2-ое место у команды МИФИ, ну а 3-е у МГУПИ.&lt;br /&gt;Через несколько недель нас ждёт финал, на который я надеюсь попасть. Говорят, что основной фишкой будет команда девушек из Челябинска. Насколько это является правдой мы скоро узнаем.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2856148827732770010-6074216472699187558?l=dimandnk.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/dimandnk/~4/YJrkbFHdiqs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://dimandnk.blogspot.com/feeds/6074216472699187558/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://dimandnk.blogspot.com/2009/03/imagine-cup-2009-14.html#comment-form" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/6074216472699187558?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/2856148827732770010/posts/default/6074216472699187558?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/dimandnk/~3/YJrkbFHdiqs/imagine-cup-2009-14.html" title="Imagine Cup 2009. 1/4 финала." /><author><name>diman_dnk</name><uri>http://www.blogger.com/profile/13184030056818957362</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="24" height="32" src="http://1.bp.blogspot.com/_jtJw2L283Bk/Sc-QMlR51rI/AAAAAAAAACI/Wsocp30A4o4/S220/a_6e8181e8.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_jtJw2L283Bk/Sc5vYtHN-NI/AAAAAAAAABg/eKYzSTwBTK8/s72-c/P3280215.jpg" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://dimandnk.blogspot.com/2009/03/imagine-cup-2009-14.html</feedburner:origLink></entry></feed>

