<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-36727140</id><updated>2011-08-10T16:17:18.307+04:00</updated><category term='Development Team'/><category term='Люди'/><category term='Vista'/><category term='Community'/><category term='Development Methodologies'/><category term='Tools'/><category term='Стандарты'/><category term='Events'/><category term='Life Cycle'/><category term='Офтоп'/><category term='Programming'/><category term='IT и жизнь'/><category term='GUI'/><category term='Books'/><title type='text'>Just do IT</title><subtitle type='html'>О технологиях и методологиях в IT</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36727140.post-6132475210346326920</id><published>2007-06-04T21:20:00.000+04:00</published><updated>2007-06-04T21:54:40.763+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>IDC оценила рынок OSS в $1.8 миллиардов</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;a href="http://www.idc.com/getdoc.jsp;jsessionid=Z4Z04QEQX4Z5GCQJAFICFGAKBEAUMIWD?containerId=prUS20711507"&gt;По оценкам &lt;span style="" lang="EN-US"&gt;IDC&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;в 2006 году рынок open source software достиг $1.8 миллиардов. И будет увеличиваться ежегодно на 26%, достигнув $5.8 миллиардов в 2011 году.&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Among the key results presented in IDC's study are the following:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Worldwide revenue from standalone open source software reached $1.8 billion in 2006.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;This revenue will reach $5.8 billion in 2011, representing a compound annual growth rate (CAGR) of 26% from 2006 to 2011.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Software vendors are advised to consider several factors when evaluating how best to leverage open source software as a business opportunity, including the most appropriate business model, the appropriate usage of partnerships and alliances, and the characteristics of the community supporting the open source software.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;Вообще эти цифры было бы интересно сравнить с оценкой роста всего рынка на этот же период и, соответственно, посмотреть изменение доли OSS в общем рынке.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-6132475210346326920?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/6132475210346326920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=6132475210346326920' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6132475210346326920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6132475210346326920'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/06/idc-oss-18.html' title='IDC оценила рынок OSS в $1.8 миллиардов'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-1451890835485394970</id><published>2007-06-03T22:41:00.000+04:00</published><updated>2007-06-04T20:14:47.976+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='Люди'/><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Microsoft снова против</title><content type='html'>&lt;p class="MsoNormal"&gt;На этот раз &lt;a href="http://weblogs.asp.net/nunitaddin/archive/2007/05/30/microsoft-vs-testdriven-net-express.aspx"&gt;&lt;font style="" lang="EN-US"&gt;Microsoft&lt;/font&gt; против&lt;/a&gt; &lt;a href="http://testdriven.net/"&gt;&lt;font style="" lang="EN-US"&gt;TestDriven&lt;/font&gt;.&lt;font style="" lang="EN-US"&gt;Net&lt;/font&gt;&lt;/a&gt;. До суда дело, вроде, еще не дошло, но &lt;a href="http://weblogs.asp.net/nunitaddin/archive/2007/05/31/microsoft-vs-testdriven-net-31-may-2007.aspx"&gt;"личная" переписка&lt;/a&gt; по увещеванию разработчика (&lt;a href="http://weblogs.asp.net/nunitaddin/default.aspx"&gt;Jamie Cansdale&lt;/a&gt;) отказаться от продукта уже довольно объемна. &lt;font style="" lang="EN-US"&gt;TestDriven&lt;/font&gt;.&lt;font style="" lang="EN-US"&gt;Net&lt;/font&gt; - &lt;font style="" lang="EN-US"&gt;Add&lt;/font&gt;-&lt;font style="" lang="EN-US"&gt;In&lt;/font&gt; для &lt;font style="" lang="EN-US"&gt;MS&lt;/font&gt;&lt;font lang="EN-US"&gt; &lt;/font&gt;&lt;font style="" lang="EN-US"&gt;VisualStudio&lt;/font&gt; (в том числе поддерживает и &lt;font style="" lang="EN-US"&gt;Express&lt;/font&gt;). Понять недовольство &lt;font style="" lang="EN-US"&gt;MS&lt;/font&gt; можно – в &lt;font style="" lang="EN-US"&gt;Express&lt;/font&gt; многое обрезано  и она должна "подталкивать" разработчиков к переходу на платную полнофункциональную &lt;font style="" lang="EN-US"&gt;MSVS&lt;/font&gt;. Ясное дело, что &lt;font style="" lang="EN-US"&gt;TestDriven&lt;/font&gt;.&lt;font style="" lang="EN-US"&gt;Net&lt;/font&gt; "тормозит" подобные переходы.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ситуация немного непонятна. Джеми Кансдейл утверждает, что за пол года переписки &lt;font style="" lang="EN-US"&gt;MS&lt;/font&gt; так и не указали, какой же пункт &lt;font style="" lang="EN-US"&gt;EULA&lt;/font&gt; был нарушен. Опять же не понятно почему, если этот вопрос так важен для &lt;font style="" lang="EN-US"&gt;MS&lt;/font&gt;, увещевание за пол года так и осталось на уровне личной переписки и до сих пор дело не дошло до суда. Может Джеми Кансдейл на самом деле ничего не нарушил и его пытаются "задавить авторитетом"?&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Update. Еще обсуждения данной темы:&lt;br /&gt;&lt;a href="http://object.livejournal.com/988288.html"&gt;Microsoft борется с TestDriven.NET&lt;/a&gt;&lt;br /&gt;&lt;a href="http://alexlebedev.com/blog/ms-vs-testdriven-net/"&gt;Microsoft против TestDriven.NET&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-1451890835485394970?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/1451890835485394970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=1451890835485394970' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1451890835485394970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1451890835485394970'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/06/microsoft.html' title='Microsoft снова против'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-810625840564046139</id><published>2007-05-29T05:14:00.000+04:00</published><updated>2007-05-29T05:21:52.901+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><title type='text'>SVN for Distributed Development Teams</title><content type='html'>&lt;p class="MsoNormal"&gt;Сегодня-завтра на &lt;a href="http://www.cmcrossroads.com"&gt;CMcrossroads&lt;/a&gt; намечается пара интересных вебинаров, посвященных использованию &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; для работы распределенных команд разработчиков:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;            &lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://www.cmcrossroads.com/content/view/7942/153/"&gt;Globally Distributed Development Using Subversion&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;Сегодня, 29 мая в 22:00 по Москве (поздновато).&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Докладчики&lt;span style="" lang="EN-US"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Blair Zajac, Principle, OrcaWare Technologies&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Jim Campigli, Executive VP, Product Management &amp; CTO, WANdisco&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;Patrick Egan, Editor-in-Chief, CM Journal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cmcrossroads.com/content/view/7991/153/"&gt;&lt;span style="" lang="EN-US"&gt;Subversion for Enterprise Distributed Teams: Why, When and How?&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Завтра, 30 мая в 18:00 по Москве.&lt;br /&gt;Докладчики&lt;span style="" lang="EN-US"&gt;:&lt;br /&gt;Carey Schwaber, Senior Analyst, Forrester Research, Inc.&lt;br /&gt;Auke Jilderda, Senior Collaboration Consultant, CollabNet, Inc.&lt;br /&gt;Mark Phippard, Director, Subversion Engineering, CollabNet, Inc. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;              &lt;p class="MsoNormal"&gt;Вопрос Source Control Management для распределенных команд один из наиболее проблемных. Надеюсь будут интересные идеи не только по SVN, но и по SCM в целом.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И вообще, &lt;a href="http://www.cmcrossroads.com/content/blogcategory/55/153/"&gt;здесь&lt;/a&gt; довольно много интересных вебинаров. В частности еще ожидаемые по Distributed Development:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;20 &lt;/span&gt;июня&lt;span style="" lang="EN-US"&gt; - &lt;a href="http://www.cmcrossroads.com/content/view/8097/153/"&gt;Managing Software Production with Geographically Distributed Teams&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;11 &lt;/span&gt;июля&lt;span style="" lang="EN-US"&gt; - &lt;a href="http://www.cmcrossroads.com/content/view/8098/153/"&gt;The Art of Managing Geographically Distributed Development&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;/span&gt;Прошедшие вебинары доступны в течении 6 месяцев on-demand.&lt;/p&gt;  &lt;span style="font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;" lang="EN-US"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-810625840564046139?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/810625840564046139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=810625840564046139' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/810625840564046139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/810625840564046139'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/05/svn-for-distributed-development-teams.html' title='SVN for Distributed Development Teams'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-4857479146477618124</id><published>2007-05-04T23:11:00.000+04:00</published><updated>2007-05-04T23:48:28.597+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Resume vs. CV</title><content type='html'>&lt;p class="MsoNormal"&gt;Давно у меня было желание написать по поводу того, чем же отличается резюме от &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt; (т.к. последнее время аббревиатура &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt; встречается все чаще). Но, как это часто бывает, такие «не острые» проблемы все время откладываются на потом. Сейчас же триггером к написанию поста послужил пост &lt;a href="http://www.alvosoft.com/itlife/2007/05/blog-post.html"&gt;«Как абсолютно правильно составить резюме»&lt;/a&gt;. В общем-то, написано там все очень верно, только это не резюме, а &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt;. Так в чем же разница?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;«По умолчанию» сейчас считается что &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt; это всего лишь европейский вариант названия резюме. Но разница происхождения термина показывает разницу американского и европейского «менталитета» в подходе к организации труда, а, соответственно, и к требованиям к соискателям и к форме подачи соискателем описания своих знаний и умений. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold; font-style: italic;" class="MsoNormal"&gt;Резюме&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В Америке, в гораздо большей степени, чем в Европе, выражена узкая специализация сотрудников, конвейерный подход, набор сотрудников через агентства (которые ищут по четко заданным критериям). Каждое резюме прочитывается многими людьми на разных уровнях, прежде чем будет принято решение, что с соискателем можно и пообщаться (хотя бы по телефону). Отсюда требование к резюме – оно &lt;b&gt;должно быть только по делу и очень кратким&lt;/b&gt; (максимум 1 лист &lt;span style="" lang="EN-US"&gt;A&lt;/span&gt;4 нормальным шрифтом).&lt;span style=""&gt;  &lt;/span&gt;Одного быстрого взгляда должно хватать, чтобы понять – что именно этот человек нужен на конкретной должности.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Первым делом надо указать &lt;b&gt;должность&lt;/b&gt;, на которую подается резюме и &lt;b&gt;зарплату&lt;/b&gt;, на которую рассчитывает соискатель.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Далее самый важный блок - &lt;b&gt;информация о навыках&lt;/b&gt;, причем только тех, которые непосредственно относятся к должности, на которую претендует соискатель. В зависимости от требований конкретной компании меняются приоритеты, т.е. вверх поднимаются навыки, которые требуются на конкретной должности в конкретной компании. Соответственно резюме одного и того же соискателя могут отличаться как при подаче на разные должности, так и при подаче на одну и ту же должность, но в компании с разной специализацией (пример см. в конце поста). Сколько лет или месяцев проработал соискатель в той или иной области не очень важно (можно указать, а можно и нет), но очень важны количественные и качественные показатели систем, с которыми приходилось работать (проектировал БД со 100 справочниками, 15 оперативными таблицами; участвовал в разработке системы с 20 рабочими местами), параметры лучше выбирать самые «впечатляющие». &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Далее идет &lt;b&gt;информация о местах работы&lt;/b&gt;, но, опять же, только тех, которые непосредственно относятся к должности. Здесь хорошо подробнее остановиться на месте работы (не обязательно последнем), которое считаете «достижением».&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Образование&lt;/b&gt; – указывается только то, что относится к описанным навыкам. Т.е. школа вообще никого не интересует. И институт, если он не по специальности тоже. Курсы и сертификаты, опять же, только по тем предметам, которые указаны в навыках.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Контактная информация&lt;/b&gt; – Имя (или фамилия, на данном этапе полные данные не нужны), &lt;span style="" lang="EN-US"&gt;email&lt;/span&gt;, телефон и др. способы связи. Возраст и пол указываются только если к ним есть особые требования.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;CV (curriculum vitae)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Европейский подход более «человечный» - главное чтоб человек был хороший, а навык появится. &lt;span style="font-weight: bold;" lang="EN-US"&gt;CV&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; - это полная автобиография&lt;/span&gt;. В ней надо отразить весь жизненный бэкграунд.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Начинать, конечно, надо с &lt;b&gt;представления&lt;/b&gt;, чтобы будущий работодатель сразу почувствовал, что за бумажкой, которую он читает, стоит человек. Тут можно не только полное ФИО указать с контактной информацией, но и полный адрес (район проживания много может сказать о человеке), семейное положение, и, возможно, состав семьи.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И далее все очень хорошо описано &lt;a href="http://www.alvosoft.com/itlife/2007/05/blog-post.html"&gt;здесь&lt;/a&gt;. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Что соискатель хочет от работы&lt;/b&gt; - т.е. не какая конкретная должность (как в резюме), а чем бы ему вообще интересно было заниматься.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Навыки&lt;/b&gt; – в порядке заинтересованности соискателем. Этот блок логическое продолжение предыдущего блока. Он должен рассказать работодателю чем соискатель хочет продолжать заниматься исходя из своих возможностей.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Места работы&lt;/b&gt; – все места, где проработал соискатель в обратном хронологическом порядке с подробным описанием чем и где занимался, круг должностных обязанностей и т.д. (можно даже указать почему менялись места работы). В &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt; это основной блок – он раскрывает работодателю бэкграунд соискателя.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Научные публикации&lt;/b&gt;, если таковые имеются. Должен идти сразу же после опыта работы, т.к. на текущий момент &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt;, в основном, используется в научной среде. Если публикации плотно связаны м местами работы, то блок научных публикаций можно объединить с блоком мест работы и делать их подблоками для каждого из мест.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Образование&lt;/b&gt; – тоже в обратном хронологическом порядке «официальное» образование, в конце дополнительные курсы.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;Личностные характеристики&lt;/b&gt; – все что еще хочет сказать о себе соискатель работодателю.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Не смотря на то, что корни у резюме и у &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt; разные, глобализация привела к тому, что разница использования сейчас не географическая, а, скорее, по роду деятельности. &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt; широко используется в научной среде и при поиске высшего менеджментского состава. В остальных же случаях обычно проще, удобнее и эффективнее использовать резюме. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;--&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;&lt;span style="font-style: italic;"&gt;Пример особенностей резюме для разных должностей&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Возьмем соискателя программиста &lt;span style="" lang="EN-US"&gt;VB&lt;/span&gt;.&lt;span style="" lang="EN-US"&gt;NET&lt;/span&gt; + MS SQL &lt;span style="" lang="EN-US"&gt;Server&lt;/span&gt;, имеющего опыт работы как в крупной компании (работа по четко поставленному ТЗ), так и в небольшой (самому приходилось бегать и выяснять требования). &lt;/p&gt;  &lt;p class="MsoNormal"&gt;В резюме на &lt;span style="font-weight: bold;"&gt;должность программиста&lt;/span&gt; требуется показать хороший уровень языков программирования (соответственно поднять их наверх и более подробно раскрыть знания), далее показать умение работать в команде и по ТЗ, и в самом конце показать наличие аналитических навыков. На &lt;span style="font-weight: bold;"&gt;должность ведущего программиста&lt;/span&gt; , так же на первом месте технические знания, потом должны идти аналитические навыки (знания и опыт проектирования и управления небольшим коллективом), а далее умение работать в команде и по ТЗ. На &lt;span style="font-weight: bold;"&gt;должность аналитика&lt;/span&gt;, соответственно, в первую очередь надо раскрыть свои аналитические и управленческие знания и опыт, потом технические и в самом конце умение работать в команде.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Отличия в резюме для разных компаний заключаются в том, на каких технических навыках стоит акцентироваться (например, в одном случае требуется подробнее описать навык работы с сетью, в другом создание собственных визуальных компонентов, а в третьем разработку и поддержку системы репликации).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;--&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Послушать (eng) чем отличаются резюме и &lt;span style="" lang="EN-US"&gt;CV&lt;/span&gt; можно &lt;a href="http://www.ondemand-english.com/podcast/2006/11/10/a-16-cv%e2%80%99s-vs-resumes"&gt;здесь&lt;/a&gt; (прямая ссылка на &lt;a href="http://media.libsyn.com/media/ondemandenglish/ode_biz93_C16.mp3"&gt;&lt;span style="" lang="EN-US"&gt;MP&lt;/span&gt;3 файл&lt;/a&gt;)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-4857479146477618124?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/4857479146477618124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=4857479146477618124' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4857479146477618124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4857479146477618124'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/05/resume-vs-cv.html' title='Resume vs. CV'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-5520292260409517401</id><published>2007-04-20T03:30:00.000+04:00</published><updated>2007-04-20T04:04:19.124+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Methodologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Aspect-oriented programming</title><content type='html'>&lt;p class="MsoNormal"&gt;Если что-то появляется, значит, оно кому-то нужно.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И снова новая методология программирования и к ней новый подход к разработке ПО. Приглашаем&lt;span style=""&gt; &lt;/span&gt;любить&lt;span style=""&gt; &lt;/span&gt;и&lt;span style=""&gt; &lt;/span&gt;жаловать&lt;span style="" lang="EN-US"&gt;:&lt;span style=""&gt;  &lt;/span&gt;Aspect-Oriented programming (AOP) &lt;/span&gt;и&lt;span style="" lang="EN-US"&gt; Aspect-Oriented software development (AOSD).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В отличии от предыдущей методологии (&lt;a href="http://sundest.blogspot.com/2007/02/blog-post.html"&gt;&lt;span style="" lang="EN-US"&gt;OOTD&lt;/span&gt;&lt;/a&gt;) (которая была только идеей и поводом немного задуматься, да и на устои привычной &lt;span style="" lang="EN-US"&gt;OOP&lt;/span&gt; серьезно не покушалась),&lt;span style=""&gt;  &lt;/span&gt;эта методология вполне оформившаяся  и претендует быть кардинально отличной от OOP. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;История:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Aspect&lt;/span&gt;-&lt;span style="" lang="EN-US"&gt;Oriented&lt;/span&gt; подход разработан в Xerox PARC в 2001 году под руководством Gregor Kiczales. Этой же группой была разработана первая реализация – &lt;a href="http://en.wikipedia.org/wiki/AspectJ"&gt;AspectJ&lt;/a&gt;, которая на текущий момент входит в &lt;a href="http://en.wikipedia.org/wiki/Eclipse_Foundation"&gt;Eclipse Foundation&lt;/a&gt;. Кроме &lt;span style="" lang="EN-US"&gt;AspectJ&lt;/span&gt; уже создано &lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming#Implementations"&gt;несколько десятков&lt;/a&gt; реализаций &lt;span style="" lang="EN-US"&gt;AOP&lt;/span&gt; парадигмы, практически для всех языков.&lt;span style=""&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Идея &lt;span style="" lang="EN-US"&gt;AOP&lt;/span&gt; захватила сообщество - существует &lt;a href="http://www.aosd.net/aosa.php"&gt;Aspect-Oriented Software Association (AOSA)&lt;/a&gt;, проходят &lt;a href="http://www.aosd.net/2007/"&gt;ежегодные конференции&lt;/a&gt; по AOSD, в которых в качестве спонсоров выступают Microsoft, Google и IBM.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Основная цель, которую себе поставил Gregor Kiczales, и в результате движения к которой появился &lt;span style="" lang="EN-US"&gt;AOP&lt;/span&gt; – уменьшение кол-ва ошибок и улучшение качества кода за счет борьбы с запутанностью кода и разбросанностью функционала. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Дисклэймер:&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Я, человек привыкший думать объектно-ориентированно, не совсем поняла их претензии к &lt;span style="" lang="EN-US"&gt;OOP&lt;/span&gt;. Т.е., на мой взгляд, при правильном дизайне системы (в объектно-ориентированной парадигме) нижеизложенные проблемы не дают серьезного ухудшения качества кода. Описание же &lt;span style="" lang="EN-US"&gt;AOP&lt;/span&gt;, на мой взгляд, слишком похоже на патерны. Но то, что я не вижу преимуществ – это не значит что их нет. &lt;span style="" lang="EN-US"&gt;OOP&lt;/span&gt; тоже плохо приживался в процедурно мыслящей среде.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;С чем боремся:&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;В объектно-ориентированном подходе как на уровне системы в целом, так и на уровне отдельных классов присутствует сквозная функциональность (т.е. та, которая реализована понемногу в разных модулях), а так же большое количество кода, который фактически не относится к функционалу системы. На уровне системы это идентификация, защита, логирование, репликации, сериализация/десериализация, сохранение настроек системы и т.д., т.е. или общий или «сервисный» функционал, зачастую реализованный в разных частях системы (примеры: сериализует один модуль - десериализует другой; каждый из модулей системы занимается идентификациеи и защитой), в связи с чем усложняется отладка и поддержка (со временем начинается «расползание»). То же самое на уровне классов – класс инкапсулирует в себя не только функциональную часть, но и внутренние «сервисы», обеспечивающие корректность работы – отлов ошибок, работа с памятью и т.д., которые загромождают код и усложняют чтение логики – в следствии чего, опять же сложности с отладкой и длительной поддержкой. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Метод борьбы:&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Выделение сквозной функциональности в отдельные модули, которые называются аспектам (&lt;a href="http://en.wikipedia.org/wiki/Aspect_%28computer_science%29"&gt;aspects&lt;/a&gt;). Поведение аспекта в конкретном месте программы (точке подсоединения, &lt;a href="http://en.wikipedia.org/wiki/Join_point"&gt;join point&lt;/a&gt;) определяет &lt;a href="http://en.wikipedia.org/wiki/Advice_in_aspect-oriented_programming"&gt;advice&lt;/a&gt; (собственно программная реализация модуля). Все точки подсоединения конкретного аспекта описываются в наборе &lt;a href="http://en.wikipedia.org/wiki/Pointcut"&gt;&lt;span style="" lang="EN-US"&gt;pointcut&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В результате получается: Весь код, относящийся к определенной функциональности собран в одном месте (аспекте), т.е. его проще отлаживать и поддерживать. Точек подсоединения&lt;span style=""&gt;  &lt;/span&gt;этого аспекта может быть много, но есть единый список точек подсоединения, соответственно, это опять же облегчает поддержку системы. Все особенности работы аспекта в конкретной точке подсоединения определяются не выходя из аспекта.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Так как аспектно-ориентированный подход упрощает поддержку системы авторы методологии рекомендуют аспектно-ориентированный рефакторинг. Т.е. изучение системы на предмет сквозной функциональности и вынесения ее в отдельные аспекты. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;Ссылки по теме:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://video.google.com/videoplay?docid=8566923311315412414"&gt;&lt;span style="" lang="EN-US"&gt;Gregor Kiczales &lt;/span&gt;о&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://video.google.com/videoplay?docid=8566923311315412414"&gt; AOP&lt;/a&gt; (Google Video)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://en.wikipedia.org/wiki/Aspect-oriented_programming"&gt;Aspect-Oriented programming&lt;/a&gt; &lt;/span&gt;на&lt;span style="" lang="EN-US"&gt; wiki&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;Книги:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://www.amazon.com/Aspect-Oriented-Analysis-Design-Addison-Wesley-Technology/dp/0321246748/"&gt;Aspect-Oriented Analysis and Design: The Theme Approach&lt;/a&gt;. Siobhàn Clarke, Elisa Baniassad.&lt;/p&gt;&lt;a href="http://www.amazon.com/Aspect-Oriented-Software-Development-Robert-Filman/dp/0321219767/"&gt;Aspect-Oriented Software Development&lt;/a&gt;. Robert E. Filman, Tzilla Elrad, Siobhan Clarke, Mehmet Aksit.&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://www.amazon.com/Aspect-Oriented-Software-Development-Addison-Wesley-Technology/dp/0321268881/ref=pd_bbs_sr_1/104-2884947-3019902?ie=UTF8&amp;s=books&amp;amp;qid=1177014590&amp;sr=1-1"&gt;Aspect-Oriented Software Development with Use Cases&lt;/a&gt;. Ivar Jacobson, Pan-Wei Ng. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://www.amazon.com/Aspect-Oriented-Refactoring-Ramnivas-Laddad/dp/0321304721/ref=pd_bbs_sr_3/104-2884947-3019902?ie=UTF8&amp;amp;s=books&amp;qid=1177014590&amp;amp;sr=1-3"&gt;Aspect Oriented Refactoring&lt;/a&gt;. Ramnivas Laddad.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://www.amazon.com/AspectJ-Action-Practical-Aspect-Oriented-Programming/dp/1930110936"&gt;AspectJ in Action: Practical Aspect-Oriented Programming&lt;/a&gt;. Ramnivas Laddad.&lt;br /&gt;&lt;span style="" lang="EN-US"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-5520292260409517401?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/5520292260409517401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=5520292260409517401' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/5520292260409517401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/5520292260409517401'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/04/aspect-oriented-programming.html' title='Aspect-oriented programming'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-2223680062316675429</id><published>2007-04-15T22:55:00.000+04:00</published><updated>2007-04-15T22:59:17.151+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Офтоп'/><title type='text'>Очень точно подмечено</title><content type='html'>&lt;p class="MsoNormal"&gt;Ко всем существующим фобиям у современных людей добавилась еще одна - &lt;span style="font-weight: bold;"&gt;боязнь потерять флешку!&lt;/span&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;(автор где-то в ЖЖ)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-2223680062316675429?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/2223680062316675429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=2223680062316675429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2223680062316675429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2223680062316675429'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/04/blog-post_15.html' title='Очень точно подмечено'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-3462340955173398719</id><published>2007-04-10T01:44:00.000+04:00</published><updated>2007-04-10T01:55:08.762+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Офтоп'/><title type='text'>Фильм про Дубну и Синхрофазотрон</title><content type='html'>&lt;p class="MsoNormal"&gt;Тем, кого заинтересовала Дубна, а так же тем, кто любит физику, историю и, особенно, историю физики:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;10 апреля на канале "Культура" в 20.35 (по мск) будет фильм &lt;a href="http://tv.yandex.ru/broadcast.xml?id=8206172"&gt;"Властелины кольца"&lt;/a&gt;, посвященный созданию дубненского синхрофазотрона.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;span style=";font-family:&amp;quot;;font-size:10;"  &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-3462340955173398719?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/3462340955173398719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=3462340955173398719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/3462340955173398719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/3462340955173398719'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/04/blog-post_10.html' title='Фильм про Дубну и Синхрофазотрон'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-4957005444304150571</id><published>2007-04-09T02:31:00.000+04:00</published><updated>2007-04-09T02:34:44.311+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>И еще пара наблюдений по поводу защиты в Висте</title><content type='html'>&lt;ul&gt;&lt;li&gt;1. Инсталлятор можно запустить только под админскими правами. Т.е. любой инсталлятор может сделать с машиной что угодно. Ранее не вызывающие особого доверия инсталляторы пускались под пользователем с ограниченными правами, давая некоторую дополнительную защиту. Теперь для таких "сомнительных" инсталляторов, по-видимому, придется использовать виртуальные машины.&lt;/li&gt;&lt;li&gt;2. Появились предупреждающие сообщения (с затемнением экрана) что данное действие может быть очень опасно с точки зрения безопасности и что требуется подтверждение пользователя на продолжение действия. Идея хорошая т.к. довольно давно известно, что большинство пользователей не читают текст обычных сообщений, а сообщение с затемнением экрана действительно привлекает внимание пользователя к сообщению – выглядит, как будто машина сейчас уйдет в перезагрузку и вызывает ощущение, что действительно происходит что-то опасное. Только во всем нужна мера, а MS перебрали с такими сообщениями очень сильно. Сообщения выскакивают по любому поводу. Результат – когда за 2 минуты работы пользователь увидит 6 штук таких сообщений то уже 4-е он читать не будет, а 6-м его можно будет спросить "Вы уверены что хотите установить вирус на ваш компьютер?" и пользователь ответит Да.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-4957005444304150571?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/4957005444304150571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=4957005444304150571' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4957005444304150571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4957005444304150571'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/04/blog-post_09.html' title='И еще пара наблюдений по поводу защиты в Висте'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-7513808434411280896</id><published>2007-04-08T14:14:00.000+04:00</published><updated>2007-04-08T14:35:47.831+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><title type='text'>NSIS &amp; Vista</title><content type='html'>&lt;p class="MsoNormal"&gt;Для того чтобы установить программу в “&lt;span style="" lang="EN-US"&gt;Program&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Files&lt;/span&gt;” пользователю нужны административные права. Это не новость. А вот новость, появившаяся &lt;span style="font-weight: bold;"&gt;в Висте – запустить инсталлятор можно только под пользователем уровня доступа администратора машины&lt;/span&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;С версии 2.21 в &lt;span style="" lang="EN-US"&gt;NSIS&lt;/span&gt;-е появилась команда RequestExecutionLevel, которая указывает какими правами должен обладать пользователь для запуска &lt;span style="" lang="EN-US"&gt;NSIS&lt;/span&gt; инсталлятора. &lt;span style="" lang="EN-US"&gt;RequestExecutionLevel &lt;/span&gt;может&lt;span style=""&gt; &lt;/span&gt;указывать&lt;span style="" lang="EN-US"&gt; 3 &lt;/span&gt;уровня&lt;span style=""&gt; &lt;/span&gt;прав&lt;span style="" lang="EN-US"&gt;: user, admin, highest. &lt;/span&gt;Если программа по умолчанию устанавливается в “&lt;span style="" lang="EN-US"&gt;Program&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Files&lt;/span&gt;”, то должен быть указан уровень &lt;span style="" lang="EN-US"&gt;admin&lt;/span&gt;. Если Команда не используется, то &lt;span style="" lang="EN-US"&gt;NSIS&lt;/span&gt; инсталлятор автоматически определяется Вистой и при запуске требует административных прав, однако после завершения инсталляции выдает сообщение о том что возможно установка программы прошла некорректно. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Итак, если текущий пользователь не имеет административных прав Виста запросит ввести пароль для пользователя, имеющего такие права, и &lt;span style="" lang="EN-US"&gt;NSIS&lt;/span&gt; инсталлятор запустится под администраторским пользователем. В результате чего &lt;span style="font-weight: bold;"&gt;появляются следующие проблемы&lt;/span&gt;:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Все глобальные переменные системы (%&lt;span style="" lang="EN-US"&gt;UserProfile&lt;/span&gt;%, %&lt;span style="" lang="EN-US"&gt;LocalAppData&lt;/span&gt;% и др.) определяются не для фактически залогиненного акаунта, а для администраторского, под которым запущен инсталлятор. Та же ситуация с переменными &lt;span style="" lang="EN-US"&gt;NSIS&lt;/span&gt; скриптов (например $SMPROGRAMS) и доступом к ветке реестра &lt;span style="" lang="EN-US"&gt;HKEY&lt;/span&gt;_&lt;span style="" lang="EN-US"&gt;CURRENT&lt;/span&gt;_&lt;span style="" lang="EN-US"&gt;USER&lt;/span&gt;. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Такая ситуация с переменными выливается в то, что для обычного пользователя через инсталлятор нельзя проставить даже элементарные линки на программу в “&lt;span style="" lang="EN-US"&gt;Start&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Programs&lt;/span&gt;”, на “&lt;span style="" lang="EN-US"&gt;Desktop&lt;/span&gt;” и в “&lt;span style="" lang="EN-US"&gt;Launch&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Menu&lt;/span&gt;”.&lt;span style=""&gt;  &lt;/span&gt;Для того, чтобы пользователь сразу после инсталляции увидел иконку на рабочем столе ставить ее (и все остальные линки) надо для &lt;span style="" lang="EN-US"&gt;All&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Users&lt;/span&gt; (команда SetShellVarContext all). Это значит, что &lt;span style="font-weight: bold;"&gt;фактически программу надо ставить не для конкретного пользователя, а для всех существующих пользователей машины сразу&lt;/span&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И, не смотря на то что &lt;a href="http://nsis.sourceforge.net/Shortcuts_removal_fails_on_Windows_Vista"&gt;здесь&lt;/a&gt; в &lt;span style="" lang="EN-US"&gt;FAQ&lt;/span&gt;-е &lt;span style="" lang="EN-US"&gt;NSIS&lt;/span&gt; сказано, что для успешного добавления линков в “&lt;span style="" lang="EN-US"&gt;Start&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Programs&lt;/span&gt;” при инсталляции и для последующего успешного их удаления при анинсталляции надо указать или “RequestExecutionLevel &lt;span style="" lang="EN-US"&gt;admin&lt;/span&gt;” или “SetShellVarContext all”, на самом деле обе операции должны применяться одновременно:&lt;/p&gt;&lt;p class="MsoNormal"&gt;--&lt;br /&gt;&lt;/p&gt;  &lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;OutFile vista.exe&lt;br /&gt;Name Vista&lt;br /&gt;&lt;br /&gt;RequestExecutionLevel admin&lt;br /&gt;&lt;br /&gt;Section&lt;br /&gt;&amp;nbsp;&amp;nbsp;SetShellVarContext all&lt;br /&gt;&amp;nbsp;&amp;nbsp;CreateShortcut "$SMPROGRAMS\Vista Test\hello.lnk" $WINDIR\notepad.exe&lt;br /&gt;&amp;nbsp;&amp;nbsp;WriteUninstaller $EXEDIR\uninst.exe&lt;br /&gt;SectionEnd&lt;br /&gt;&lt;br /&gt;Section uninstall&lt;br /&gt;&amp;nbsp;&amp;nbsp;SetShellVarContext all&lt;br /&gt;&amp;nbsp;&amp;nbsp;Delete "$SMPROGRAMS\Vista Test\hello.lnk"&lt;br /&gt;&amp;nbsp;&amp;nbsp;RMDir "$SMPROGRAMS\Vista Test"&lt;br /&gt;SectionEnd&lt;/span&gt;&lt;/p&gt;&lt;p  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;--&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-7513808434411280896?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/7513808434411280896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=7513808434411280896' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/7513808434411280896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/7513808434411280896'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/04/nsis-vista.html' title='NSIS &amp; Vista'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-1911839836594598152</id><published>2007-04-06T17:59:00.000+04:00</published><updated>2007-04-06T18:06:32.120+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Российский Центр Программирования в Дубне</title><content type='html'>&lt;p class="MsoNormal"&gt;Совершенно случайно у меня появилась неофициальная информация (но заслуживающая &lt;i&gt;моего&lt;/i&gt; доверия) про то, что у нас творится с зоопарком разнообразных программистских- и техно- парков (чуть не написала заповедников). В частности в подмосковной Дубне.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Основные вопросы к технопаркам&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Вообще тема этих парков с самого ее появления для меня была очень загадочна. &lt;b&gt;2 основных вопроса&lt;/b&gt; к подобной модели развития &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; (когда в одном месте &lt;b&gt;&lt;i&gt;государственными&lt;/i&gt;&lt;/b&gt; усилиями пытаются собрать &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; компании):&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Вопрос первый и основной - откуда брать компании? Если строить парк на основе уже сформировавшихся компаний, то как и чем их туда привлечь. Ведь если компания уже где-то имеет офис (или офисы) с работающими специалистами, то ей надо показать очень вкусную «морковку» чтобы она снялась с насиженного места и переехала на новое. И «морковка» эта должна быть, скорее всего, финансовая. Т.е. какие либо налоговые льготы, привязанные к конкретному парку. Но про льготы или другие морковки слышно не было. Зато хорошо было слышно про строительство (на государственные деньги), со всеми вытекающими из этого выводами. Плюс на данный момент довольно большинство компаний занимаются автоматизацией одного клиента (или очень малого количества клиентов) и не могут уехать далеко от заказчика.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Если строить парк на основе новых компаний – то надо активно поднимать волну стартапов, «править мозг» разработчикам, что лучше работать на себя, а не на «дядю», и, опять же, налоговые льготы и упрощенная отчетность для начинающих. Подобных действий тоже не видно. Т.ч. первый вопрос висел у меня совсем без ответа. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Вопрос второй - как и чем привлекать специалистов (аналитиков, программистов, менеджеров и др.)? С этим проще. При наличии большого рынка труда специалисты из регионов будут ехать не в Москву/Питер, а в технопарки. Но проблема в том, что подавляющая часть сильных специалистов уже давно из регионов уехала и имеет хорошие зарплаты, соответственно большинство из них обзавелись жильем и с насиженного места просто так не сдвинутся. Для технопарка же в первую очередь нужен костяк из хороших специалистов, которых туда как-то надо заманить. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Ответы на вопросы&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Теперь, собственно, &lt;b&gt;свежая&lt;span style=""&gt;  &lt;/span&gt;информация&lt;/b&gt;, которая хоть и не официальная, но вполне похожа на правду и дает ответы на вопросы.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В Дубне сейчас параллельно развиваются 3 проекта.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1. &lt;span style="font-weight: bold;"&gt;Инкубатор &lt;/span&gt;&lt;span style="font-weight: bold;" lang="EN-US"&gt;IT&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; компаний&lt;/span&gt;. Проект уже действует. Основан на предоставлении дешевых и совсем бесплатных оборудованных офисов (ремонт, мебель, интернет) для молодых &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; компаний. Время пребывания компании в инкубаторе не более 3-х лет. 1-й год бесплатно, 2-й и 3-й платно с повышающимся коэффициентом.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Идея, в общем, хорошая, но серьезного увеличения числа стартапов дать, по моему, не может. Если компания состоит из пары энтузиастов с хорошей идеей, то наличие офиса абсолютно не обязательно и может послужить дополнительным плюсиком, но никак не причиной старта компании. Если же энтузиасты набирают себе команду, которой надо платить, то стоимость аренды офиса теряется в стоимости зарплат команды и, опять же, не является ключевой. Но в любом случае начинание полезное т.к. может подтолкнуть сомневающихся к созданию своего дела.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2. &lt;span style="font-weight: bold;"&gt;Российский Центр Программирования&lt;/span&gt; (РЦП). В народе, как не трудно догадаться – Силиконовая Долина (должна быть Кремниевая, но это не важно :-) ).&lt;span style=""&gt;  &lt;/span&gt;&lt;a href="http://www.naukograd-dubna.ru/5/"&gt;Здесь&lt;/a&gt; немного официальной информации, правда не обновлявшейся с 2004г.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Итак &lt;b&gt;ответы на мои вопросы&lt;/b&gt;:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Откуда взять компании. Якорной компанией является &lt;span style="" lang="EN-US"&gt;Luxoft&lt;/span&gt; (и возможно не он один). Т.е. крупная и активно растущая офшорная компания, которая очень активно ищет себе сотрудников по всей стране. Ей нужны офисы и жилье для сотрудников. И с офисами и с жильем сейчас проблемы уже не только в Москве и Питере, но и во всех более-менее крупных городах. Т.ч. шаг &lt;span style="" lang="EN-US"&gt;Luxoft&lt;/span&gt;-а выглядит очень разумным.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Сам РЦП будет располагаться прямо на берегу Волги и включать в себя офисные здания, низкоэтажную жилую застройку, инфраструктуру. Пока там пустырь, застройка только началась. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Т.к. офисы рассчитаны на гораздо большее количество сотрудников чем жилая застройка на территории РЦП, то &lt;span style="" lang="EN-US"&gt;Luxoft&lt;/span&gt; собирается в нескольких км. от Дубны на берегу реки Дубна построить поселок из таунхаусов для своих сотрудников. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;По моему – красота! Причем вполне осуществимая и, что очень важно, материально обоснованная. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;И тут практически снимается второй вопрос – как заманить специалистов. Т.к.&lt;span style=""&gt;  &lt;/span&gt;в Москве жить уже стало абсолютно некомфортно (город переполнен людьми и машинами, с вечными пробками и на дорогах и в метро), то в свой домик на берегу Волги поехать, наверно, захотят многие.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3. &lt;span style="font-weight: bold;"&gt;Технопарк &lt;/span&gt;(как правильно называется проект не знаю). Технопарк должен стать полигоном высокотехнологических разработок, в частности области энергетики (ну и, наверно, ядерной физики). К программному обеспечению он прямого отношения не имеет, но программисты явно потребуются и туда. Будет располагаться рядом с РЦП. Больше про него, к сожалению, ничего не знаю.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Планируется что последние 2 проекта привлекут в город 30 тыс. новых жителей, из которых 10тыс. специалистов. При том, что сейчас население города примерно 65 тыс., то фактически количество людей должно увеличиться в полтора раза. Мне кажется, что это очень большая нагрузка на город и Дубна может очень сильно измениться. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Итог: Очень порадовало то, что за словами о развитии &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; в России стала видна материальная обоснованность для конкретных игроков, что, на мой взгляд, является основным для реализации проекта. Будет ли это в результате Бангалор или Кремниевая Долина на текущем этапе не так уж и важно. &lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-1911839836594598152?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/1911839836594598152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=1911839836594598152' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1911839836594598152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1911839836594598152'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/04/blog-post_8748.html' title='Российский Центр Программирования в Дубне'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-1033105965152144091</id><published>2007-04-03T23:17:00.000+04:00</published><updated>2007-04-03T23:32:24.567+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Вы слышите меня, Бандерлоги?</title><content type='html'>&lt;p class="MsoNormal"&gt;"История про &lt;span style="" lang="EN-US"&gt;Google&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;AdSence&lt;/span&gt;" или "Вот так и сотрудничай с Гуглом...»&lt;/p&gt;  &lt;p class="MsoNormal"&gt;На одном из сайтов была вовремя неотмодерированная информация. Причем не особо страшная - не порнография (в моем понимании контента для взрослых там не было), не реклама таблеток непонятных, но вот в URL-е содержала "nude-girls". Гуглу информация не понравилась и реклама на сайте была заблокирована.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Информация эта нехорошая сразу же после извещения Гугла с сайта была удалена, плюс была сделана предварительная автоматическая проверка всей добавляемой информации. После чего несколько месяцев сайт жил без рекламы.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt;Неделю назад руки все-таки дошли известить Гугл о том, что все исправлено, более безобразие не повториться и с просьбой разблокировать рекламную кампанию на сайте. И вот пришел ответ: &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;p class="MsoNormal"&gt;Большое спасибо за Bаше письмо.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Так как Ваш сайт ранее нарушил правила программы, &lt;span style="font-weight: bold;"&gt;мы не сможем восстановить показ объявлений на данном сайте, даже несмотря на то, что требуемые изменения были внесены&lt;/span&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ваша учетная запись остается активной, и Вы можете показывать объявления на других сайтах, которые не нарушают правила программы AdSense.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Пожалуйста, учтите, что &lt;span style="font-weight: bold;"&gt;мы не сможем изменить наше решение или ответить на дополнительные вопросы по данному случаю&lt;/span&gt;.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt;Спасибо за Ваше понимание.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И после этого можно серьезно говорить о базировании бизнеса на сервисах Гугла?&lt;span style="font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-1033105965152144091?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/1033105965152144091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=1033105965152144091' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1033105965152144091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1033105965152144091'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/04/blog-post.html' title='Вы слышите меня, Бандерлоги?'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-4884267716952480424</id><published>2007-02-28T00:19:00.000+03:00</published><updated>2007-02-28T00:28:27.812+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Methodologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><title type='text'>Объектно-ориентированному дизайну пора потесниться</title><content type='html'>&lt;p class="MsoNormal"&gt;Явно пришло время изменений. &lt;a href="http://sundest.blogspot.com/2007/02/post-agile.html"&gt;Предыдущий пост&lt;/a&gt; был про идею новой методологи разработки, а сегодня пришло время пересмотреть основы программирования и дизайна – &lt;span style="" lang="EN-US"&gt;OOP&lt;/span&gt; и &lt;span style="" lang="EN-US"&gt;OOD&lt;/span&gt;. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Большинство изменений происходят постепенно. За текучкой мы эти изменения не замечаем.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Последнее время все больше и больше внимания уделяется тестированию. Т.е. с тем, что это нужно, конечно и раньше никто не спорил, но бурный рост применения &lt;span style="" lang="EN-US"&gt;UnitTest&lt;/span&gt;-ов (поддержка которых уже встроена в большинство средств разработки), функциональных тестов, использования автоматического тестирования, произошел в последние несколько лет.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;OOD&lt;/span&gt; сейчас не то, чтобы устарел (к процедурному стилю никто переходить не собирается), но многими принципами приходится поступаться ради удобства тестирования.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Основная проблема – область видимости. Закон инкапсуляции гласит, что все внутреннее устройство объекта никого не интересует и должно быть запрятано внутрь. Однако им приходится часто поступаться - ради возможности протестировать работу приватного метода, его приходится делать публичным. Т.е. теперь все внутренне устройство становится интересно тесту. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Самое неприятное - когда красиво спроектированную архитектуру приходится портить ради тестов. Какой выход из этой ситуации? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Для того, чтобы не ломать архитектуру &lt;span style="" lang="EN-US"&gt;UnitTest&lt;/span&gt;-ы класса можно размещеть в том же юните, что и сам класс. Но такое решение имеет свои недостатки – резкое увеличение объема кода одного юнита, сложность распараллеливания работ над реализацией класса и тестами к нему. Но основная проблема в том, что такое решение подходит только для &lt;span style="" lang="EN-US"&gt;UnitTest&lt;/span&gt;-ов. Для функциональны тестов, использующих объекты, расположенные в разных юнитах нужны дополнительные хитрости – например использование тестовых классов, отнаследованных от тестируемых классов, которые дают публичный доступ ко внутренним процедурам тестируемых классов. Но и тут могут возникнуть проблемы, особенно при сложных структурах наследования. Возможность использовать подобные ухищрения зависит от языка и от утилит тестирования.&lt;span style=""&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Roy Osherove &lt;a href="http://weblogs.asp.net/rosherove/archive/2007/02/25/why-you-should-think-about-ootp-object-oriented-testable-programming.aspx"&gt;предлагает&lt;/a&gt; кардинально другое решение. Он предлагает поменять подход к дизайну и делать его не только объектно-ориентированным, но и тесто-ориентированным. Итак&lt;span style="" lang="EN-US"&gt;, &lt;/span&gt;на&lt;span style=""&gt; &lt;/span&gt;замену&lt;span style="" lang="EN-US"&gt; OOD &lt;/span&gt;идет&lt;span style="" lang="EN-US"&gt; OOTD (Object Oriented Testable Design). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;На мой взгляд идея хорошая. Признание факта противоречия классических канонов &lt;span style="" lang="EN-US"&gt;OOD&lt;/span&gt; и тестирования – это хорошая причина уделить внимание проблемам тестирования еще на этапе проектирования.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;span style=";font-family:&amp;quot;;font-size:12;"  &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-4884267716952480424?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/4884267716952480424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=4884267716952480424' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4884267716952480424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4884267716952480424'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/02/blog-post.html' title='Объектно-ориентированному дизайну пора потесниться'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-4652408372668576747</id><published>2007-02-03T00:45:00.000+03:00</published><updated>2007-02-03T00:58:59.602+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><title type='text'>Post-Agile</title><content type='html'>&lt;p class="MsoNormal"&gt;Это должно было свершиться и это свершилось. В наше время быть "новой методологией" в течении 10 лет невозможно. 10 лет это слишком долго, чтобы называться "новым".&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Итак, прощай &lt;span style="" lang="EN-US"&gt;Agile&lt;/span&gt;, здравствуй Post-Agile. &lt;span style="" lang="EN-US"&gt;Early&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;adopters&lt;/span&gt; уже "наигрались" с &lt;span style="" lang="EN-US"&gt;Agile&lt;/span&gt;, перепробовали все предлагаемые практики и методологии в разных комбинациях, и теперь им стало скучно с Agile. На текущий момент определенной новой сформировавшейся методологии нет, но Google уже выдает более 10тыс. результатов по фразе "Post-Agile". &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://headrush.typepad.com/creating_passionate_users/2007/01/what_comes_afte.html"&gt;&lt;span style="" lang="EN-US"&gt;Flow&lt;/span&gt;&lt;/a&gt; – одна из методологий (или, скорее, идеологий), претендующих на звание Post-Agile.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Сейчас "на коне" web2.0 проекты и цикл их жизни очень сильно отличается от жизненного цикла локальных конечнопользовательских приложений и, еще больше, от жизненного цикла корпоративных систем. Основное отличие в том, что эти проекты не предлагают решения проблем или нужд пользователей, они развлекают, делают жизнь более приятной, красочной, интересной. Многие из них, безусловно, очень полезны, но не необходимы. А так как любая игрушка рано или поздно надоедает - надо пользователям постоянно давать что-то новое, чем-то их привлекать снова и снова, чтобы они не ушли на другой свежий ресурс. Именно на это нацелен &lt;span style="" lang="EN-US"&gt;Flow&lt;/span&gt;: &lt;/p&gt; &lt;a href="http://headrush.typepad.com/creating_passionate_users/2007/01/what_comes_afte.html"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://headrush.typepad.com/photos/uncategorized/userhierarchyofneeds.jpg" alt="" border="0" /&gt;&lt;p align="center"&gt;&lt;small&gt;Картинка из поста "What comes after usability?"&lt;/small&gt;&lt;/p&gt;&lt;/a&gt;  &lt;p class="MsoNormal"&gt;Если честно, меня такая иерархия немного пугает, но, возможно, это именно то, что надо пользователям от игр и ресурсов общительно-развлекательного направления.&lt;/p&gt;  &lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-4652408372668576747?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/4652408372668576747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=4652408372668576747' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4652408372668576747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4652408372668576747'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/02/post-agile.html' title='Post-Agile'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-716164725015216001</id><published>2007-01-26T18:56:00.000+03:00</published><updated>2007-01-26T19:02:41.284+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>ProgressBar и индикаторы выполнения процесса</title><content type='html'>&lt;p class="MsoNormal"&gt;Любое приложение, содержащее длинные операции (в которых время выполнения может превышать 1 минуту), должно иметь ProgressBar. Причем не просто "бегунок" который показывает что процесс идет, но по которому не понятно сколько выполнилось и сколько еще осталось и вообще работает приложение или "подвисло", а хороший ProgressBar с индикатором % выполнения операции и, желательно, показом сколько времени осталось до окончания выполнения. Такие длинные операции содержатся в большинстве систем работающих с данными и в вычислительных задачах. И, я думаю, большинство разработчиков постоянно сталкивается с ProgressBar-ами. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Что должен содержать ProgressBar и индикаторы процесса выполнения (в логическом порядке, а не в порядке важности):&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;1. Количественный показатель (в штуках, в байтах и т.д.) общего объема данных, которые требуется обработать.&lt;/li&gt;&lt;li&gt;2. Количественный показатель обработанных данных.&lt;/li&gt;&lt;li&gt;3. Количественный показатель данных, которые осталось обработать.&lt;/li&gt;&lt;li&gt;4. Время, потраченное на обработку данных (из п.2).&lt;/li&gt;&lt;li&gt;5. Ориентировочное время обработки оставшихся данных. &lt;/li&gt;&lt;li&gt;6. Визуальное отображение % обработанных данных (собственно сам ProgressBar). &lt;/li&gt;&lt;li&gt;7. Скорость обработки данных.&lt;/li&gt;&lt;/ul&gt;              &lt;p class="MsoNormal"&gt;В большинстве случаев, для операций, не превышающих нескольких минут, хватает одного ProgressBar-а - по нему пользователь может сам оценить, сколько времени осталось до окончания выполнения операции, плюс по нему наглядно видно, что процесс движется. Для очень длинных операций одного ProgressBar-а не достаточно т.к. процесс движется медленно и картинка процесса на долго "застывает" в одном состоянии, так что кажется что процесс "завис". Количество обработанных данных и данных, оставшихся для обработки, тут позволят показать, что процесс все-таки идет, а временные показатели покажут, насколько долго еще процесс будет длиться. Причем индикатор ориентировочного времени обработки оставшихся данных просто необходим (показательный жизненный пример: в метро пассажиру интересно, когда подойдет следующий поезд, а не когда ушел предыдущий).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Насколько ProgressBar хорош для пользователя, настолько он является головной болью для разработчика. Хорошо когда есть один процесс в одном потоке, когда заранее известно, сколько данных надо обработать и когда длина шага обработки является постоянной величиной. Но когда ситуация не столь проста могут появиться следующие проблемы:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;1. Заранее не известно, сколько данных должно быть обработано. Эта проблема очень часто возникает при запросах к базе данных, когда заранее не известно, сколько данных должно быть возвращено базой. Так же не редка ситуация, когда в вычислительных задачах перебор элементов делается по большому набору критериев, в результате чего заранее точно не известно, сколько данных надо перебрать. В обоих случаях оценить общее количество данных все-таки можно выполнив предварительные вычисления или предварительный запрос к базе. Это, конечно, займет лишнее время, но в большинстве случаев это окупается, т.к. информированный пользователь - удовлетворенный пользователь, а неинформированный будет злиться на "глупую программу" которая повисла и не понятно чего там делает. Минус такого решения - оно не подходит для задач, критичных к общему времени выполнения. Второй минус - появляется дополнительный процесс предварительного подсчета, которому так же может потребоваться свой ProgressBar. &lt;/li&gt;&lt;li&gt;2. В процессе выполнения операции невозможно (или можно, но с серьезной дополнительной нагрузкой на систему) узнать процент выполнения операции. Тут все зависит от архитектуры системы и вопрос возвращения данных для показа прогресса надо закладывать еще в момент проектирования. Встраивание этого функционала в уже готовую систему может быть очень сложным и может потребовать "перекраивания" взаимодействия классов и модулей системы. Более-менее стандартные решения: при запросах к базе данных отдавать информацию постранично; в задачах, работающих в основном потоке поднимать события обрабатывающим классом; в задачах, работающих в отдельном потоке периодически опрашивать поток или посылать сообщения из потока.&lt;span style=""&gt;  &lt;/span&gt;&lt;/li&gt;&lt;li&gt;3. Процесс состоит из набора подпроцессов. Здесь есть, где разгуляться фантазии. &lt;/li&gt; &lt;ol&gt;&lt;li&gt;      Можно сделать единый ProgressBar и показывать пользователю только сколько времени осталось до конца обработки всех процессов. &lt;/li&gt;&lt;li&gt;      Можно к единому ProgressBar-у добавить индикатор наименования выполняющегося процесса. &lt;/li&gt;&lt;li&gt;      Можно сделать отдельный ProgressBar для каждого процесса. Это хорошо когда процессов всего 2, иначе в окне будет слишком много информации, что будет путать пользователя. &lt;/li&gt;&lt;li&gt;      Можно показывать один ProgressBar, но перезапускать его для каждого процесса. Дополнительно к нему будет полезен лог с законченными и незаконченными процессами. &lt;/li&gt;&lt;li&gt;      Можно объединить первый и предыдущий варианты и показывать один общий ProgressBar, и второй перезапускаемый для каждого процесса.&lt;/li&gt;&lt;/ol&gt; &lt;li&gt;4. Выполняется параллельно несколько процессов. Раньше эта проблема появлялась не часто и, в основном, при закачке данных. Для вычислительных задач распараллеливание процесса вычисления при одноядерном процессоре большого смысла не имела, т.к. одна задача занимала весь ресурс процессора (ну или столько, сколько ей отводилось системой) и запуск второй, параллельной, задачи пропорционально тормозил выполнение первой. Сейчас при появлении CoreDuo и Core2Duo (а в дальнейшем ядер, похоже, будет все больше и больше) можно и нужно пускать параллельные процессы в разных потоках, соответственно вопрос отображения в одном ProgressBar-е нескольких операций выполняющихся в разных потоках становится очень актуальным. Если единицы измерения количественных данных всех параллельных операций одинаковые и операции имеют единую логическую базу – можно показывать единый ProgressBar с суммарными данными. Что делать с операциями, логически не совместимыми, покажет будущий опыт, а пока у меня красивого решения для такой ситуации нет.&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;                  &lt;span style=";font-family:&amp;quot;;font-size:12;"  lang="EN-US" &gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-716164725015216001?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/716164725015216001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=716164725015216001' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/716164725015216001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/716164725015216001'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/01/progressbar.html' title='ProgressBar и индикаторы выполнения процесса'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-455449784093149831</id><published>2007-01-26T12:05:00.000+03:00</published><updated>2007-01-26T13:04:30.555+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><title type='text'>Развлекаемся...</title><content type='html'>&lt;p class="MsoNormal"&gt;Развлекательные посты - замечательный способ продвижения даже для серьезных сообществ.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Richard Quick, freelance web designer, в своем блоге про дизайн написал забавный пост "&lt;a href="http://web-design-book.com/2007/01/23/how-to-fake-a-web-20-logo"&gt;How to fake a Web 2.0 logo&lt;/a&gt;", который читается именно как развлечение. &lt;a href="http://web-design-book.com/2007/01/25/what-does-a-digg-look-like/"&gt;Пост попал&lt;/a&gt; на головную страницу &lt;a href="http://www.digg.com/"&gt;Digg.com&lt;/a&gt;, в результате рост посетителей за день с 555 до 47501 захода. Трафик, конечно, обеспечил Digg.com, а вот попадание поста на&lt;span style=""&gt;  &lt;/span&gt;Digg.com обеспечили, скорее всего, название (тут сразу и Web2.0, и How to, и fake)&lt;span style=""&gt;  &lt;/span&gt;и хороший развлекательный тон. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Сейчас на головной странице Digg.com 2 первых поста: "&lt;a href="http://blogs.pcworld.com/tipsandtweaks/archives/003613.html"&gt;Porn-Infected PC Crazy Woman Faces 40 Years - True Story&lt;/a&gt;" (с pcworld.com между прочим) и "&lt;a href="http://www.livescience.com/animalworld/top10_amazing_animals.html"&gt;10 Amazing Things You Didn't Know about Animals&lt;/a&gt;".&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Еще за одним примером далеко ходить не надо. На &lt;a href="http://itblogs.ru/"&gt;ITBlogs&lt;/a&gt;&lt;span style=""&gt;  &lt;/span&gt;по посещениям &lt;a href="http://itblogs.ru/blogs/admin/archive/2007/01/22/11947.aspx"&gt;с большим отрывом лидирует&lt;/a&gt; пост "&lt;a href="http://itblogs.ru/blogs/elashkin/archive/2005/12/21/3825.aspx"&gt;Слухи...&lt;/a&gt;", несущий в своем названии явно развлекательную направленность. На втором месте пост "&lt;a href="http://itblogs.ru/blogs/events/archive/2006/12/06/10267.aspx"&gt;Чего громим? Кого мочим? (Читаем версии в обсуждении)&lt;/a&gt;" тоже с не особо серьезным названием.&lt;/p&gt;      &lt;p class="MsoNormal"&gt;Т.е. пост на серьезную тему прочтут не все, а те, кому тема интересна и в данный момент есть время на осмысление. Пост с развлекательным заголовком прочтут все (или, как минимум, откроют).&lt;/p&gt;&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;PS&lt;/span&gt;: Кстати в тему пост "&lt;a href="http://beskov.livejournal.com/17721.html"&gt;Buzz titles&lt;/a&gt;" о том как составить привлекательное название для статьи или книги по IT, ну и для постов тоже.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-455449784093149831?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/455449784093149831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=455449784093149831' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/455449784093149831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/455449784093149831'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/01/blog-post_26.html' title='Развлекаемся...'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-6287692166081593204</id><published>2007-01-22T08:51:00.000+03:00</published><updated>2007-01-22T08:56:52.334+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><title type='text'>Блого-зависимость</title><content type='html'>&lt;p class="MsoNormal"&gt;10 дней практически без интернета явно продемонстрировали отрицательные стороны постоянной "включенности".&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;Желание что-нибудь почитать (блоги или новости) близко к наркотической зависимости. Рука тянется к иконке броузера, хотя мозг знает, что интернета нет. &lt;/li&gt;&lt;li&gt;В связи с тем, что броузер ничего не показывает, резко возросла производительность труда. Через дней 5 трудотерапия начала оказывать благотворное влияние и рука почти перестала тянуться к иконке броузера. &lt;/li&gt;&lt;li&gt;Появилось много идей по поводу решения тактических вопросов. Похоже, излишнее увлечение блогосферой стимулирует мысли стратегического направления (наверное из-за того, что обсуждается много тем не затрагивающих текущих задач, но рождающих новые идеи "на будущее"), и за этими думами "о высоком" решение текущих проблем становится "текучкой", что отражается на качестве принимаемых решений. &lt;/li&gt;&lt;li&gt;Одинаковые мысли приходят в голову разным людям практически одновременно. Может количество идей (а не ума) величина постоянная при постоянно растущем количестве людей? Окончательно убедилась в том, что если появилась мысль, о которой хочется написать – писать надо сразу же, иначе об этом напишет кто-то другой. При ежедневном прочтении лент это не так заметно, т.к. можно поучаствовать в обсуждении. Но если прошло уже несколько дней, то обсуждение уже закончилось, а поднимать заново тему смысла не имеет т.к. все желающие уже высказались. &lt;/li&gt;&lt;li&gt;Новые блоги, которые хочется почитать, появляются слишком часто. Старые при этом так же читаются. В результате за 10 дней более 200 непрочитанных постов! А ведь если бы интернет был, я бы их прочла. Причем действительно полезной информации в этом потоке очень мало. &lt;/li&gt;&lt;/ol&gt;          &lt;p class="MsoNormal"&gt;Когда то "телевизор нам природу заменил", теперь, похоже, "интернет нам телевизор заменил". &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Чуть больше года назад у нашего телевизора сломался пульт. Сразу же были выявлены симптомы нашей зависимости от телевизора – рука хватала пульт автоматически и начинала переключать каналы. Телевизор при этом не включался. Мозг останавливал руку только на 2-3-м нажатии. При этом до поломки пульта мы были уверены, что телевизор практически не смотрим. Оказалось это не так. После этого новый телевизор решили не покупать т.к. нервное щелканье пультом в поисках интересных программ – пустая трата времени. В результате мы уже год не смотрим телевизор.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;С интернетом все сложнее. Во первых он нужен для работы, во вторых, в отличии от телевизора, дает доступ к массе полезной и просто интересной информации. Т.ч. побороть блого-зависимость отключением интернета не удастся. Надо как-то искать золотую середину между "постоянной включенностью" и "абсолютной выключенностью".&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-6287692166081593204?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/6287692166081593204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=6287692166081593204' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6287692166081593204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6287692166081593204'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/01/blog-post_22.html' title='Блого-зависимость'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-2155689168556255473</id><published>2007-01-07T14:52:00.000+03:00</published><updated>2007-01-07T15:05:43.515+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Чем бы заняться стартапу</title><content type='html'>&lt;p class="MsoNormal"&gt;Чем бы заняться стартапу, чтобы перестать быть &lt;a href="http://en.wikipedia.org/wiki/Start-up_company"&gt;стартапом&lt;/a&gt; и превратиться в крупную фирму (возможно по пути еще получить инвесторские деньги с вариантом продажи в конце). Даже до инвесторских денег надо дожить, т.к. инвесторы очень редко вкладываются в идею. Инвесторы хотят растущую компанию, которой можно помочь вырасти, заработав на этом. Но сначала стартап, по любому, должен обеспечивать себя сам, и или он будет проедать учредительские деньги в надежде на деньги инвесторов или будет жить на то, что принесет его продукт. Так чем же заняться стартапу?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;На текущий момент основная идея успешного стартапа гласит: &lt;span style="font-weight: bold;"&gt;Делайте нужное, новое, уникальное и будет вам счастье&lt;/span&gt; (если повезет).&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt;Пройдемся по пунктам.&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1. &lt;span style="font-weight: bold;"&gt;Нужное&lt;/span&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt;С первым постулатом про нужное все более-менее ясно. Хорошо бы только определиться кому нужное, но это уже детали, а сам по себе постулат вопросов не вызывает.&lt;br /&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2. &lt;span style="font-weight: bold;"&gt;Новое&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Второй постулат про новое сильно связан с третьим про уникальное, и тут начинаются вопросы.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Сначала возьмем ситуацию, когда продукт не уникальный&lt;/span&gt;, т.е. продуктовая ниша уже сформирована и пользователи знакомы с подобным классом продуктов. Плюсы этой ситуации в том, что: &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;Продукт можно позиционировать внутри категории и относительно других известных продуктов данной категории.&lt;/li&gt;&lt;li&gt;Пресс-релизы можно делать короткие, но содержательные, концентрируясь на особенностях продукта, а не на объяснении, зачем он в принципе нужен.&lt;/li&gt;&lt;li&gt;И если продукт все-таки стал известен, журналистам проще о нем писать.&lt;/li&gt;&lt;/ul&gt;            &lt;p class="MsoNormal"&gt;Тут встает вопрос: делать ли новый продукт или повторять уже существующие, но чуть луше, быстрее, умнее, красивее и т.д. в зависимости от ниши. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;2.1. &lt;span style="font-weight: bold;"&gt;Повторение - не уникальное и не новое&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;При повторении пользователям проще работать с продуктом. Это очень важно в крупных, многофункциональных продуктах с большим количество настроек. Этот подход вряд ли принесет резкий взлет продукту, но какое-то количество пользователей, просто по статистике, будет покупать именно его, что на большом рынке может дать хорошую финансовую отдачу. А если продукт реально оказался в чем-то лучше (быстрее, умнее и т.д.) то постепенно он будет завоевывать все большую долю рынка. Однако при охоте на инвесторов этот подход подходит плохо – инвесторам не интересны повторения до тех пор, пока они не займут очень большую долю рынка.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;2.2. &lt;span style="font-weight: bold;"&gt;Новое, но не уникальное&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Если же создается новый продукт кардинально по-новому решающий старую проблему или с кардинально новым интерфейсом для данной продуктовой категории, то велика вероятность что пользователь не сможет быстро разобраться как пользоваться продуктом и откажется от использования. Но если интерфейс действительно хорошо проработан и более понятен, чем существующие реализации, пользователи будут выбирать новый продукт. С одной стороны новый продукт предпочтительнее, т.к. если он пойдет, то есть хорошая вероятность завоевать крупную часть рынка. С другой стороны, больше вероятность ошибиться и если новый подход пользователи не примут, то проект будет провальным. Новые продукты в момент роста очень любят инвесторы – с одной стороны продукт понятен, с другой явно видны его отличия и то, что они приносят отдачу.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;3. &lt;span style="font-weight: bold;"&gt;Уникальное&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;А теперь самый экстремальный вариант – новый уникальный продукт. Создатели должны очень сильно верить в то, что то, что они делают хоть кому-то нужно. Но даже если это действительно очень нужный продукт, надо о нем сначала как-то известить потенциальных пользователей. Тут ситуации очень сильно отличаются в зависимости от рынка. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;В корпоративных продуктах все зависит от сэйлзов – смогут ли они вообще добраться до лиц принимающих решения в компании (что очень сложно для свежеиспеченного стартапа) и смогут ли они объяснить, зачем компании новый никому неведанный продукт. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;В конечнопользовательских продуктах ситуация еще хуже. Стандартные рекламные пути или сложны или очень финансовозатратны. Контекстная реклама практически недоступна т.к. пользователи не ищут подобные продукты. Можно рекламироваться по смысловым фразам, но в коротком объявлении сложно сказать что-то содержательное об уникальном продукте. Пресс-релизы должны быть большими и обстоятельными и охватывать большую аудиторию, чтобы принести хоть какой-то эффект. В этом случае надежда только на то, что продукт давно ждали и это первая (возможно вторая, но гораздо лучше первой) его реализация. Из таких продуктов успешных - единицы, об остальных никто никогда не узнает.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-2155689168556255473?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/2155689168556255473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=2155689168556255473' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2155689168556255473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2155689168556255473'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2007/01/blog-post.html' title='Чем бы заняться стартапу'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-9192097120720819856</id><published>2006-12-31T14:00:00.000+03:00</published><updated>2006-12-31T14:18:19.917+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Methodologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Бэта должна выглядеть как бэта, а не как готовый продукт</title><content type='html'>&lt;p class="MsoNormal"&gt;Представляя бэту или прототип продукта, хочется его вылизать, чтобы он понравился клиентам. Это, наверно, на уровне инстинктов.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Такое редко бывает, но &lt;a href="http://headrush.typepad.com/creating_passionate_users/2006/12/dont_make_the_d.html"&gt;один пост&lt;/a&gt; перевернул мои представления о том, как должна выглядеть бэта версия. Точнее, даже не перевернул, а сформировал, т.к. я даже никогда не думала о проблеме бэта версий с такой точки зрения.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;Клиенты воспринимают степень готовность ПО по степени готовности интерфейса.&lt;/span&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/p&gt; &lt;a href="http://headrush.typepad.com/creating_passionate_users/2006/12/dont_make_the_d.html"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://headrush.typepad.com/photos/uncategorized/managingexpectations.gif" alt="" border="0" /&gt;&lt;p align="center"&gt;&lt;small&gt;Картинка из поста "Don't make the Demo look Done"&lt;/small&gt;&lt;/p&gt;&lt;/a&gt; &lt;p class="MsoNormal"&gt;Вроде бы очень простая мысль, но она просто не приходила мне в голову раньше. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Если интерфейс выглядит законченным, то пользователи считают что продукт готов. В результате каждая последующая бэта будет восприниматься как затягивание релиза, а это неизбежно породит отрицательные эмоций в сообществе пользователей. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Интерфейс должен совершенствоваться в ногу с функционалом, тогда прогресс будет виден невооруженным взглядом, а пользователи будут довольны видимыми изменениями.&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Конечно, можно сказать: "А на что history list? Все изменения можно посмотреть там". Но нравится / не нравится - это эмоция, которая возникает не зависимо от того, что написано в history list. Да и сам history list даже профессионалы при использовании сторонних продуктов не всегда читают. Обычные пользователи практически никогда ничего не читают - все должно быть понятно из интерфейса.&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Но и оставлять долго интерфейс в одном и том же зачаточном состоянии тоже плохо. В этом случае пользователи, опять же, не видят изменений, а в сочетании с разобранным интерфейсом это дает ощущение, что проект стоит на месте и никаких положительных изменений не происходит. В результате опять недовольство. &lt;/p&gt;  &lt;p style="font-weight: bold;" class="MsoNormal"&gt;Готовность интерфейса должна соответствовать функциональной готовности продукта.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В постепенном совершенствовании интерфейса есть еще один плюс: На ранних стадиях, когда есть только основные элементы интерфейса, внимание пользователей будет сосредоточено на функционале, соответственно их замечания и пожелания будут относится, в основном, к функциональной области. Это позволит не "закопаться" в интерфейсных проблемах, а также, если потребуется, изменить концепцию интерфейса без крупных затрат.&lt;span style=""&gt;  &lt;/span&gt;Ближе к релизу, когда функционал готов, отзывы будут относится, в основном, к интерфейсной части, что позволит ее сделать наиболее удобной для пользователей. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p style="font-weight: bold; font-style: italic;"&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p style="font-weight: bold; font-style: italic;" class="MsoNormal"&gt;Новых вам интересных и успешных проектов в наступающем 2007 году!&lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-9192097120720819856?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/9192097120720819856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=9192097120720819856' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/9192097120720819856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/9192097120720819856'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/12/blog-post_31.html' title='Бэта должна выглядеть как бэта, а не как готовый продукт'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-6972101382303553594</id><published>2006-12-22T19:17:00.000+03:00</published><updated>2006-12-22T19:52:18.879+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Автоматизатор, автоматизируй себя сам</title><content type='html'>&lt;p class="MsoNormal"&gt;Среди более чем 400 &lt;a href="http://www.microsoft.com/Rus/CaseStudies/Default.mspx"&gt;примеров внедрения&lt;/a&gt; продуктов Microsoft исчезающе мало &lt;a href="http://www.microsoft.com/Rus/Casestudies/SearchResults.aspx?soft=0&amp;region=0&amp;amp;segment15"&gt;внедрений в сфере IT&lt;/a&gt; и среди них, в основном, телекоммуникационные компании.&lt;a href="http://itblogs.ru/blogs/starovoytov/default.aspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://itblogs.ru/blogs/starovoytov/default.aspx"&gt;Konstantin Starovoytov&lt;/a&gt; &lt;a href="http://itblogs.ru/blogs/starovoytov/archive/2006/12/22/10878.aspx"&gt;дал ссылку&lt;/a&gt; на &lt;a href="http://www.ione.ru/scripts/kvp_voa.asp"&gt;&lt;span style="font-style: italic;"&gt;Конкурс внедренческих проектов&lt;/span&gt;&lt;/a&gt; на &lt;a href="http://www.ione.ru/"&gt;iOne.ru&lt;/a&gt;. 39 компаний, в основном производственные, но нет ни одной IT компании-разработчика.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;IT компании-разработчики, в общем-то, такие же компании, как и компании в других сферах деятельности. И у них есть все те же проблемы - есть свои бизнес- и производственные- процессы, документооборот, финансы, клиенты и т.д. И все это тоже надо автоматизировать. Но победных реляций о том что "мы сами себя так здорово автоматизировали, что у нас улучшилась производительность труда и поднялась отдача на сотрудника" не слышно. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Считается неприличным об этом говорить или IT-ки как сапожник без сапог - зарабатывают деньги на внедрениях другим, а у самих половина процессов завязана на личное общение, алгоритмы принятия решений покрыты мраком, и вся входящая почта в лучшем случае сканируется и складывается на чьей-то локальной машине?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Мне очень нравится проект виртуального офиса компании СладКо (&lt;a href="http://www.microsoft.com/Rus/CaseStudies/CaseStudy.aspx?id=342"&gt;описание на microsoft.com&lt;/a&gt;, &lt;a href="http://www.ione.ru/scripts/situation.asp?ID=18363&amp;sort=&amp;amp;Page=1"&gt;описание на iOne&lt;/a&gt;). Первый раз я о нем прочитала примерно года 2 назад. Первой мыслью было – звучит очень заманчиво и слишком красиво чтобы быть правдой. А второй мыслью было – почему это сделала кондитерская компания, а не &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt;? Т.е. возможно есть крупные &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; компании, существующие без офиса, но я о них, к сожалению, не слышала. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Зачем вообще &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; компании-разработчику офис? При работе с корпоративными клиентами для солидности, конечно, нужен офис с переговорной, куда можно привести клиентов. Но для компаний, нацеленных на конечного пользователя и для оффшоров представительский офис не нужен. Разработчиков, при текущем развитии коммуникаций, тоже абсолютно не обязательно собирать в одном месте. Даже при работе с БД организовать доступ к ней не вопрос.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Отсутствие офиса снимает не только финансовую нагрузку на его аренду, но и сложность поиска нужных специалистов в одном месте. Например, &lt;a href="http://mydubna.blogspot.com/"&gt;Sergey Rozovik&lt;/a&gt; &lt;a href="http://mydubna.blogspot.com/2006/11/it.html"&gt;написал&lt;/a&gt; что в Дубну начали стекаться &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; компании в связи с чем там резко подскочили зарплаты, но проблема не в этом, а в том что квалифицированных специалистов там не много, а спрос растет и, как мне кажется, основной проблемой там скоро станут кадры. Компании, не привязанной к офису, искать специалиста можно не в каком-то конкретном месте, а по всему русскоговорящему сообществу (а если нет ограничений по языку – то вообще во всем мире).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Есть разные люди и многим сложно собраться и начать работать не выходя из дома, но утренний сбор на летучки поможет человеку войти в рабочее состояние, а постоянный контакт с другими работниками поможет поддержать рабочее настроение в течении дня. &lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Виртуальный офис может сократить издержи, но есть и задачи автоматизации, не привязанные к тому, как организован офис – взаимодействие с клиентами, взаимодействие между сотрудниками и подразделениями, механизм принятия решений. Чем лучше отлажен этот механизм, тем он более эффективен и по времени и по финансам. Кто лучше &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; компаний знает об этом, ведь они сами постоянно говорят это клиентам. Но где информация об успешном внедрении информационных систем в &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; компаниях?&lt;/p&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-6972101382303553594?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/6972101382303553594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=6972101382303553594' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6972101382303553594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6972101382303553594'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/12/blog-post_22.html' title='Автоматизатор, автоматизируй себя сам'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-870181493208496189</id><published>2006-12-20T10:12:00.000+03:00</published><updated>2006-12-20T10:20:40.604+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Меняет ли Web2.0 модель формирования нашего мнения?</title><content type='html'>&lt;p class="MsoNormal"&gt;Периодически выходят статьи и появляются посты что Web2.0 вытесняет традиционные издания и что с Web2.0 слишком много информационного шума. На счет "вытесняет" мне кажется это слишком преждевременно т.к. "людей, получающих всю нужную информацию из интернета" пока не так уж и много.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Но как влияет Web2.0 на тех, кто все-таки постоянно "подключен" (на нас)? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Меняет ли быстрый доступ к информации и большому количеству мнений модель формирования и изменения нашего собственного мнения?&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Мне кажется, что по большому счету ничего не поменялось. Раньше были издания, мнению которых доверяли - теперь персоналии. Собственное мнение все так же формируется&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;на основании своего опыта, а он (так уж обычно бывает), бывает глубоким в очень небольшом количестве областей&lt;/li&gt;&lt;li&gt;на основании чужого мнения, которому доверяешь.&lt;/li&gt;&lt;/ul&gt;    &lt;p class="MsoNormal"&gt;Доверие/недоверие к чьему либо мнению рождается, при сравнении своих уже сформировавшихся мнений с мнениями этого человека. Накопление критической массы непротиворечивых мнений рождает доверие. Т.е. из всего моря информации мы стараемся выбирать информацию сходную с нашим мнением. Появляющиеся новости и новые идеи в таком информационном поле опять же, в основном, лежаться в канву сходных мнений. Это не значит, что не может быть споров, но споры, по большому счету о деталях.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В этом непротиворечивом поле, уже сформировавшееся мнение по какому-то вопросу, модификации практически не подлежит. Но если все-таки рождаются споры -  все высказывают свои мнения, но, как часто бывает и в "живом общении", каждый в результате остается при своем. Собственное мнение может измениться только под давлением неоспоримых примеров или чужого мнения, но которому очень сильно доверяешь (как минимум в области относящейся к конкретному вопросу).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Web2.0 изменил способы генерации и доставки информации. Но потребитель остался таким же, каким и был.&lt;/p&gt;  &lt;span style="font-size: 12pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-870181493208496189?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/870181493208496189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=870181493208496189' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/870181493208496189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/870181493208496189'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/12/web20.html' title='Меняет ли Web2.0 модель формирования нашего мнения?'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-1174410032629997763</id><published>2006-12-15T17:29:00.000+03:00</published><updated>2006-12-15T17:39:08.002+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Неудачные опыты с мобильным офисом</title><content type='html'>&lt;p class="MsoNormal"&gt;Переезд в теплые края закончен.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В связи с переездом появилось новые мироощущения и отпали начавшие прорезаться надежды:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Надежда (это та, которая умирает последней). Засунуть все рабочие данные в интернет, не держать ничего на локальном компе и ноуте, не таскать за собой массу информации и дистрибутивов при переездах, не мучиться с синхронизацией данных между компом и ноутом, и, в конце концов, перестать бегать с ноутом по интернет-кафе. На текущий момент одни только сервисы гугла уже практически покрывают основные потребности: почта – &lt;a href="http://www.gmail.com/"&gt;Gmail&lt;/a&gt;; офисные документы - &lt;a href="http://docs.google.com/"&gt;Google Docs &amp; Spreadsheets&lt;/a&gt;; &lt;span style="" lang="EN-US"&gt;RSS&lt;/span&gt; Reader - &lt;a href="http://www.google.com/reader/"&gt;Google Reader&lt;/a&gt;; изображения – &lt;a href="http://picasaweb.google.com/"&gt;&lt;span style="" lang="EN-US"&gt;PicasaWeb&lt;/span&gt;&lt;/a&gt;. Есть еще масса сервисов от закладок до построения диаграмм и бэкапов. Все это очень красиво звучит, и &lt;a href="http://www.kolesnik.ru/2006/mobusiness/"&gt;некоторые&lt;/a&gt;&lt;span style=""&gt;  &lt;/span&gt;уже так живут. И даже можно отбросить паранойю по поводу утекания приватных данных. Но есть проблемы, которые в очередной раз были испытаны на собственном опыте:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Во первых, интернет есть не везде,&lt;span style=""&gt;  &lt;/span&gt;даже если он "условно" есть в каком-то интернет-кафе он может быть такого ужасного качества, что даже gmail грузиться отказывается.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Во вторых, если связь в интернет-кафе хорошая, то там (очень часто) стоят камеры на всех компах и благополучно пишут все пароли. Если с ноутом туда приходить то при наборе пароля клавиатуру хотя бы крышкой ноута прикрыть можно.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И в третьих, при работе с почтой из броузера нет спелчекера, в результате чего получаются &lt;a href="http://users.livejournal.com/_adept_/50456.html"&gt;подобные перлы&lt;/a&gt; и нет шаблонов ответов, без которых работается гораздо медленнее.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ну и в четвертых, работать по 6 часов в интернет-кафе абсолютно не комфортно плюс никаких денег не напасешься.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Итог: прежде чем куда то ехать все равно надо выяснять есть ли там интернет и его качество, а при выездах более чем на пару дней для работы интернет нужен в номере (кондо, апартаментах, квартире). В этой ситуации теряются все плюсы хранения всей информации в сети.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Новое мироощущение же можно выразить так – прогресс &lt;span style="" lang="EN-US"&gt;sucks&lt;/span&gt;, оставьте все как было. Т.е. раньше у меня было устойчивое мнение, что если появляется что-то новое то оно приживается только если удобно потребителям. Покупка нового ноута и его дальнейшее использование опровергло это мнение напрочь. Ноут покупался с Core 2 Duo и в процессе выбора выяснилось что все свежие модели идут с зеркальной матрицей, исключение составляют (похоже временно) только дорогие &lt;span style="" lang="EN-US"&gt;Lenovo&lt;/span&gt; и &lt;span style="" lang="EN-US"&gt;HP&lt;/span&gt;. За ноутом с зеркальной матрицей работать невозможно – бликует и очень слепит. После часа работы глаза начинают болеть. Антибликовая пленка помогает несильно, плюс ее наклеить – это отдельная история. Но производители переходят на зеркальные мониторы т.к. они хорошо продаются. Они очень красивые, яркие, блестящие с сочными цветами и очень красиво выглядят на витринах. Производителю главное – продать, а то, что за таким ноутом работать невозможно его уже не интересует, это проблемы потребителя. Или, возможно еще не достаточно времени прошло и производители одумаются?&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-1174410032629997763?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/1174410032629997763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=1174410032629997763' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1174410032629997763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1174410032629997763'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/12/blog-post.html' title='Неудачные опыты с мобильным офисом'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-3644722450596078448</id><published>2006-12-06T06:21:00.000+03:00</published><updated>2006-12-06T06:28:34.718+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>И снова о SOA</title><content type='html'>&lt;p class="MsoNormal"&gt;  &lt;/p&gt;&lt;p class="MsoNormal"&gt;Так что же такое &lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt;. Сервисно-ориентированная архитектура. Вроде бы очень говорящее словосочетание. Но большинство копий в обсуждениях на &lt;a href="http://itblogs.ru/"&gt;&lt;span style="" lang="EN-US"&gt;ITBlogs&lt;/span&gt;&lt;/a&gt; поломались, по моему, о слово архитектура (не то, чтобы слово архитектура встречалось часто, но смысл баталий именно вокруг этого).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Что имеется ввиду? Я вижу 2 варианта и они очень разные.&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Архитектура как подход к проектированию системы&lt;/li&gt;&lt;li&gt;Архитектура как подход технической реализации.&lt;/li&gt;&lt;/ul&gt;  &lt;span style="font-size: 10pt; font-family: &amp;quot;Times New Roman&amp;quot;;"&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;С точки зрения SOA как технической реализации&lt;/span&gt;, система проектируется как раньше, и реализуется как набор отдельных компонентов (они же сервисы). В данном случае, как мне кажется, &lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt; – это &lt;span style="" lang="EN-US"&gt;buzzword&lt;/span&gt;. Раньше это называлось модулями и интеграцией отдельных систем. Т.е. и раньше можно было взять системы разных производителей (если это было оправдано) и интегрировать их у себя. Система при этом не становится наборной, она остается единой, но собранной из отдельных модулей. Сейчас такие системы называют&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt;. Почему? Просто потому что модный термин?&lt;span style=""&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;С точки зрения SOA как подхода к проектированию&lt;/span&gt;, получается наборная, постоянно модифицирующаяся, система – т.е. выявляется проблема, для ее решения делается сервис, выявляется другая проблема, для ее решения еще сервис. Сервисы друг для друга – черные ящики. Это очень облегчает проектирование системы. Тут самое сложное заложить основу взаимодействия сервисов. Механизмы взаимодействия сервисов хорошо &lt;a href="http://itblogs.ru/blogs/borkus/archive/2006/11/30/soa.aspx"&gt;описал&lt;/a&gt; Влад Боркус (плюс к посту есть не менее ценные комментарии).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Подобный подход в проектировании системы удобен &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Для сервисов, рассчитанных на конечного пользователя, когда каждый следующий сервис решает еще одну проблему пользователя и интегрирован с предыдущими сервисами. В основном это &lt;span style="" lang="EN-US"&gt;web&lt;/span&gt; сервисы, но могут быть и &lt;span style="" lang="EN-US"&gt;desktop&lt;/span&gt; приложения, дополняющие друг друга.&lt;/li&gt;&lt;li&gt;Для небольших мобильных компаний, сфера деятельности которых позволяет быстро подстраиваться под изменяющуюся ситуацию. Таким компаниям не нужны крупные &lt;span style="" lang="EN-US"&gt;ERP&lt;/span&gt;, им нужны сервисы, которые можно быстро ввести в строй и начать использовать и так же быстро от них отказаться. Эти компании, в первую очередь, сам же &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; сектор, а далее практически весь непроизводственный бизнес (услуги, торговля). Но, в любом случае остается ограничение по размеру компании (по количеству людей). Каким бы простым сервис ни был нужно время на обучение сотрудников, а с внедрением, растянутым на длительное время, теряются вышеописанные плюсы. &lt;/li&gt;&lt;/ul&gt;        &lt;p class="MsoNormal"&gt;Есть ситуации, на мой взгляд, когда подобный подход к архитектуре категорически вреден. Это системы крупных корпораций со сложными, запутанными взаимосвязями. В этом случае, конечно, проще делать сервисы под отдельные части бизнеса, но правильнее делать единую систему. Это сложнее. Для этого придется распутать весь клубок бизнес процессов и утрясти все нестыковки. Но без этого вообще не имеет смысла браться за систему т.к. оставшийся бардак в бизнес процессах не даст выигрыша бизнесу. Кардинально отличающийся взгляд на эту проблему &lt;a href="http://feygin.elashkin.com/2006/12/soa_02.html"&gt;здесь&lt;/a&gt;, у Даниила Фейгина.&lt;span style=""&gt; &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-3644722450596078448?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/3644722450596078448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=3644722450596078448' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/3644722450596078448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/3644722450596078448'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/12/soa.html' title='И снова о SOA'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-1818753273669969548</id><published>2006-12-03T09:23:00.000+03:00</published><updated>2006-12-03T09:34:54.725+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Methodologies'/><title type='text'>Agile Testing</title><content type='html'>&lt;p class="MsoNormal"&gt;Очень интересные доклады по Agile методологиям на &lt;span style="" lang="EN-US"&gt;Google&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Video&lt;/span&gt;. Их довольно много. Вот некоторые (ссылки на остальные видны справа при просмотре):&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://video.google.ca/videoplay?docid=-3054974855576235846"&gt;Agile Testing&lt;/a&gt; (Elisabeth Hendrickson)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;&lt;a href="http://video.google.ca/videoplay?docid=-7230144396191025011"&gt;Scrum et al.&lt;/a&gt; (Ken Schwaber)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://video.google.ca/videoplay?docid=-1217839173502052610"&gt;&lt;span style="" lang="EN-US"&gt;Kent&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Beck&lt;/span&gt;: &lt;span style="" lang="EN-US"&gt;Ease&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;At&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Work&lt;/span&gt;&lt;/a&gt; (В 7-и частях, к сожалению 1-ю не нашла, эта вторая. При просмотре рядом ссылки на остальные части)&lt;/li&gt;&lt;/ul&gt;      &lt;p class="MsoNormal"&gt;Я пока осилила только &lt;span style="" lang="EN-US"&gt;Agile&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Testing&lt;/span&gt;. Очень зажигательная докладчица. &lt;span style="" lang="EN-US"&gt;Elisabeth&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Hendrickson&lt;/span&gt; является консультантом по software testing, основателем &lt;a href="http://www.qualitytree.com/"&gt;Quality Tree Software&lt;/a&gt;. На сайте Quality Tree Software есть документы с советами по тестированию продуктов и по набору тестировщиков. Ну и, конечно же, Элизабет ведет блог - &lt;a href="http://testobsessed.com/wordpress/"&gt;Ruminations&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Разработка, идущая от тестирования, для меня, наверно, самая близкая из &lt;span style="" lang="EN-US"&gt;agile&lt;/span&gt; техник. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;В корпоративных продуктах тестирование является важнейшей частью процесса производства и чем более автоматизирован процесс тестирования, тем чаще можно выпускать версии и тем надежнее они будут. Ежедневный (может реже, может чаще, зависит от частоты сборки) прогон всех тестов обеспечивает достаточную уверенность, что новый функционал или изменения не порушили ничего из ранее сделанного, а прогон тестов на продуктиве обеспечит уверенность что все корректно перенеслось с тестового сервера. Написание тестов сразу с новым функционалом по времени гораздо экономичнее, чем последующий ручной отлов ошибок или, что еще хуже, отлов ошибок пользователями на живой системе. Но, все-таки, в корпоративной разработке тестирование может вести за собой проект только когда проект достаточно сформирован, когда тестирование помогает улучшить модель использования системы и интерфейс. На этапе проектирования и разработки тестирование идет за разработкой, отставая на пол шага.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;А разработка конечнопользовательских продуктов может идти от тестирования с самого начала. Здесь приложение решает проблему (или набор проблем) пользователя и нет четких рамок как это должно происходить – главное, что бы проблема решалась наиболее удобным для пользователя способом. Т.ч. проект сразу начинает жить подстраиваясь и видоизменяясь. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;На текущий момент отдельные части кода, объекты и функциональные модули тестируются с помощью &lt;span style="" lang="EN-US"&gt;UnitTest&lt;/span&gt;-ов (которые встроены сейчас практически во все среды разработки). Практика эта довольно распространенная, хотя к порядку использования &lt;span style="" lang="EN-US"&gt;UnitTest&lt;/span&gt;-ов есть вопросы – кто и в какой последовательности должен писать тесты к коду? Должны ли сначала писаться по спецификациям тесты, а потом код? Должен ли сам программист писать тесты к своему коду? У меня пока нет универсального ответа, пробовались разные варианты и у всех есть свои недостатки. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Но основной проблемой тестирования является проблема комплексного функционального тестирования проекта. В основном сейчас это делается вручную. Но, особенно для корпоративных систем, это очень трудоемко и, довольно часто, требует знания предметной области. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Однако даже если найден способ тестирования интерфейса, от ручного тестирования не уйти. Именно оно помогает выявлять проблемы интерфейса и модели поведения пользователя, что позволяет улучшать проект.&lt;/p&gt; &lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/agile+testing" rel="tag"&gt;Agile Testing&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-1818753273669969548?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/1818753273669969548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=1818753273669969548' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1818753273669969548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/1818753273669969548'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/12/agile-testing.html' title='Agile Testing'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-7024603730534222555</id><published>2006-11-30T02:35:00.000+03:00</published><updated>2006-11-30T02:46:38.167+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Methodologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Хаос наступает</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; стремится к хаосу. &lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;&lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt;&lt;/a&gt; – хаос в архитектуре систем. &lt;a href="http://agilemanifesto.org/"&gt;&lt;span style="" lang="EN-US"&gt;Agile&lt;/span&gt;&lt;/a&gt; (&lt;a href="http://www.extremeprogramming.org/"&gt;&lt;span style="" lang="EN-US"&gt;XP&lt;/span&gt;&lt;/a&gt;  и, особенно, &lt;a href="http://www.controlchaos.com/about/"&gt;Scrum&lt;/a&gt;) – хаос в производстве систем. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Причем хаос - это не мое видение. &lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt; и &lt;span style="" lang="EN-US"&gt;Agile&lt;/span&gt; позиционируются как методологии жизни в хаосе.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Новые методологии отрицают планирование, никаких планов развития. Они все сиюминутны.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Все это выгодно разработчикам и продавцам систем. Если у бизнеса нет планов развития и четкого понимания как и в чем его&lt;span style=""&gt;  &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; система даст преимущества перед конкурентами не только сейчас, то и в дальнейшем, то с вероятностью, приближающейся к 100% завтра бизнесу потребуется совсем не то, что сделали сегодня. И завтра разработчики легко смогут продать что-то новое.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Чем методология разработки более гибкая тем больше ее сейчас любят. Каждая следующая методология оставляет все меньше места планированию и контролю. &lt;a href="http://weblogs.asp.net/Rosherove/Story/2929.aspx"&gt;&lt;span style="" lang="EN-US"&gt;Roy&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Osherove&lt;/span&gt;&lt;/a&gt;, &lt;span style="" lang="EN-US"&gt;agile&lt;/span&gt; консультант, пишет что &lt;a href="http://weblogs.asp.net/rosherove/archive/2006/11/17/scrum-vs-xp-why-scrum-is-easier-to-sell.aspx"&gt;&lt;span style="" lang="EN-US"&gt;Scrum&lt;/span&gt; продается лучше чем &lt;span style="" lang="EN-US"&gt;XP&lt;/span&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;&lt;/span&gt; в основном потому, что &lt;span style="" lang="EN-US"&gt;Scrum&lt;/span&gt; более настраиваемый, требует меньше управления и не содержит страшного слова "Extreme". Т.е. разработчик наслушавшись как все может быть хорошо с agil&lt;span style="" lang="EN-US"&gt;e&lt;/span&gt;, где ему не надо ни за что отвечать ведется и хочет применить это на себя. Причем выбирает методологию – чем проще звучит тем лучше.&lt;span style=""&gt;   &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Все а&lt;span style="" lang="EN-US"&gt;gile&lt;/span&gt; методологии построены на очень активном участии заказчика, вплоть до того, что заказчик фактически напрямую ставит задачу команде разработчиков (архитекторы, аналитики, технологи – все лишние). Это, опять же, очень выгодно разработчику. Зачем долго выяснять что надо заказчику, потом это согласовывать с десятками отделов, если можно привлечь заказчика к разработке и получать изменения и дополнения от каждого отдела отдельно. Никакой головной боли с противоречием требований. В результате можно сказать – вы именно это и хотели. Если же заказчик начинает понимать к чему может привести этот хаос ему приходится самому внутри себя создавать команду, которая утрясает все требования и разногласия между отделами и уже выдает разработчикам спланированные данные, т.е. разработчик сбрасывает с себя задачу планирования (а с ней и ответственность) на заказчика.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Без отсутствия изначальных требований к разрабатываемой системе (а а&lt;span style="" lang="EN-US"&gt;gile&lt;/span&gt; отрицает любые планы далее чем на одну итерацию) нельзя оценить результат разработки. Никто не сможет сказать сделали ли то, что было нужно или не то. В любом случае разработчик не виноват – он только выполнял пожелания заказчика.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Disclamer&lt;/span&gt;: Не бейте меня сильно! Описание ситуации немного утрировано, но, иногда, карикатурная утрированность помогает взглянуть на ситуацию по новому.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/soa" rel="tag"&gt;SOA&lt;/a&gt;, &lt;a href="http://technorati.com/tag/agile" rel="tag"&gt;Agile&lt;/a&gt;, &lt;a href="http://technorati.com/tag/scrum" rel="tag"&gt;Scrum&lt;/a&gt;, &lt;a href="http://technorati.com/tag/extreme+programming" rel="tag"&gt;eXtreme Programming&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-7024603730534222555?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/7024603730534222555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=7024603730534222555' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/7024603730534222555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/7024603730534222555'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/blog-post_30.html' title='Хаос наступает'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-6455197922446844516</id><published>2006-11-29T02:42:00.000+03:00</published><updated>2006-11-29T03:08:42.981+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Офтоп'/><title type='text'>Microsoft тоже хочет мой номер телефона</title><content type='html'>&lt;p class="MsoNormal"&gt;Пару недель назад Google придумал &lt;a href="http://sundest.blogspot.com/2006/11/google.html"&gt;как выманивать номера телефонов&lt;/a&gt; у пользователей.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Microsoft решил не отставать. &lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/2404/4483/1600/MSPhone.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger2/2404/4483/320/MSPhone.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;p align="center"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/2404/4483/1600/MSPhone.gif"&gt;&lt;small&gt;Кликните по картинке для увеличения&lt;/small&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Но у Google была уловка, и для использования сервисов Google указание телефона не обязательно. Microsoft же теперь без указания номера телефона в Live ID не пускает к данным на их сервере. Хотела посмотреть &lt;a href="http://www.microsoft.com/Rus/events/detail.mspx?eventid=1032317645"&gt;презанташку&lt;/a&gt; на &lt;a href="http://www.microsoft.com/Rus"&gt;www.microsoft.com/rus&lt;/a&gt;, но с таким подходам мне эта презенташка не нужна.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Как то мне совсем не нравится такая тенденция. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-6455197922446844516?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/6455197922446844516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=6455197922446844516' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6455197922446844516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/6455197922446844516'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/microsoft.html' title='Microsoft тоже хочет мой номер телефона'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-8643992667292244297</id><published>2006-11-26T01:10:00.000+03:00</published><updated>2006-11-26T01:56:17.060+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><title type='text'>Жизнеобеспечение проекта. Часть 3.</title><content type='html'>&lt;p class="MsoNormal"&gt;Про обещанного аналитика, и еще про технолога. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Предыдущие части: &lt;a href="http://sundest.blogspot.com/2006/11/1.html"&gt;Часть 1&lt;/a&gt; (введение), &lt;a href="http://sundest.blogspot.com/2006/11/2.html"&gt;Часть 2&lt;/a&gt; (про службу поддержки).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Аналитик является связующим звеном между неформализованными задачами проекта и формализованными заданиями на реализацию. Собственно он решает как будет решаться та или иная задача на уровне технической реализации. &lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/2404/4483/1600/318181/Diagram3_1.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/2404/4483/320/849318/Diagram3_1.png" alt="" border="0" /&gt;&lt;p align="center"&gt;&lt;small&gt;Кликните по картинке для увеличения&lt;/small&gt;&lt;/p&gt;&lt;/a&gt; &lt;p class="MsoNormal"&gt;Аналитик анализирует новый требующийся функционал (&lt;span style="font-style: italic;"&gt;check function overview&lt;/span&gt;) и возможные технические проблемы проекта (&lt;span style="font-style: italic;"&gt;check possible bug&lt;/span&gt;), выявленные пользователями и службой поддержки. Т.е. неформализованную информацию из Help Desk. На основе этого он составляет технические задания (&lt;span style="font-style: italic;"&gt;technical project&lt;/span&gt;) для разработчиков. ТЗ, как и вся информация по проекту, складывается в Wiki. Задания разработчикам записываются в Bug Tracking со ссылками на источник задания в Help Desk и на ТЗ в Wiki.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В зависимости от принятой для проекта методологии разработки зависит уровень детализации ТЗ, которые аналитик отдает разработчикам. &lt;/p&gt;  &lt;il&gt;&lt;li&gt;Если в проекте есть закрепление модулей за разработчиками, то роль аналитика заканчивается на принятии решения, в какой модуль проекта будет встраиваться новый функционал. Это возможно, когда за каждый модуль отвечает&lt;br /&gt;&lt;/li&gt;&lt;/il&gt;&lt;ul&gt;&lt;li&gt;&lt;il&gt;&lt;/il&gt;один разработчик,&lt;/li&gt;&lt;li&gt;команда, возглавляемая ведущим разработчиком (который принимает решения по реализации функционала внутри модуля), &lt;il&gt;&lt;/il&gt;&lt;/li&gt;&lt;li&gt;&lt;il&gt;команда, сама принимающая решения (например Agile team).&lt;/il&gt;&lt;/li&gt;  &lt;/ul&gt;&lt;il&gt;&lt;il&gt;  &lt;li&gt;Если же в проекте нет явного закрепления модулей за разработчиками, то аналитик пишет детальное ТЗ для конкретных разработчиков, с детализацией вплоть до интерфейсов классов.&lt;/li&gt;&lt;/il&gt;   &lt;/il&gt;&lt;p class="MsoNormal"&gt;Если для реализации нового функционала принимается решение использовать новые технологии или появляется область задач, ранее в проекте не реализовывавшаяся, то на аналитике лежат задачи по сбору информации по нововведению и по обеспечению разработчиков справочными материалами и рекомендациями к реализации.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Глобальные решения по проекту, такие как ввод новых технологий, принимаются с согласованием с архитектором и менеджером проекта. Предварительный сбор информации и обоснование использования новой технологии опять же обеспечивает аналитик.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Аналитик - главный специалист по технической части проекта. Для решения того, как должна быть решена задача с точки зрения предметной области, аналитика консультирует технолог.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/2404/4483/1600/703695/Diagram3_2.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/2404/4483/320/410654/Diagram3_2.png" alt="" border="0" /&gt;&lt;p align="center"&gt;&lt;small&gt;Кликните по картинке для увеличения&lt;/small&gt;&lt;/p&gt;&lt;/a&gt; &lt;p class="MsoNormal"&gt;Технолог – главный специалист в своей предметной области (&lt;span style="font-style: italic;"&gt;subject area&lt;/span&gt;). Он работает на неформализованном уровне проекта. Всю информацию, которая требуется для решения конкретной задачи технолог кладет в Wiki и ставит на нее ссылку из Ticket-а Help Desk.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Пример взаимодействия аналитика и технолога: Нужно добавить в проект функционал по покраске слона. Технолог решает, что нужно для покраски слона, сколько и как это посчитать; приводит формулы расчета площади слона исходя из высоты в холке и с учетом размаха ушей. Аналитик решает, какой модуль и как это все будет считать, как будет вводиться информация и как новые данные будут встроены в существующую систему.&lt;/p&gt; &lt;p class="MsoNormal"&gt;В следующей части - Project Manager.&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;a href="http://sundest.blogspot.com/2006/11/1.html"&gt;В начало&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/life+cycle" rel="tag"&gt;Life Cycle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/development+team" rel="tag"&gt;Development Team&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-8643992667292244297?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/8643992667292244297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=8643992667292244297' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/8643992667292244297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/8643992667292244297'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/3.html' title='Жизнеобеспечение проекта. Часть 3.'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-4934564824751885863</id><published>2006-11-22T11:23:00.000+03:00</published><updated>2006-11-22T11:41:43.036+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Крамольный прогноз развития корпоративных IT систем</title><content type='html'>&lt;p class="MsoNormal"&gt;В связи с высказанной разнее &lt;a href="http://sundest.blogspot.com/2006/11/blog-post_22.html"&gt;крамольной мыслью&lt;/a&gt; у меня появился крамольный прогноз: &lt;span style="font-weight: bold;" lang="EN-US"&gt;через несколько лет опять начнут набирать популярность самописные корпоративные IT системы&lt;/span&gt;. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Историческое обоснование: &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Были самописные системы, разработка которых со временем дорожала из-за дорожания программистов, а адаптивность их падала т.к. системы становились слишком громоздкими.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;На смену им пришли универсальные &lt;span style="" lang="EN-US"&gt;ERP&lt;/span&gt;, которые было гораздо быстрее внедрять и они проще адаптировались и масштабировались. Но со временем системы начали дорожать, а главное, сильно подорожала стоимость внедрения (консультантов). При этом жизнь сейчас меняется быстрее чем 10-15 лет назад и к моменту внедрения &lt;span style="" lang="EN-US"&gt;ERP&lt;/span&gt; системы она уже устаревает.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Теперь пришли &lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt; и &lt;span style="" lang="EN-US"&gt;SaaS&lt;/span&gt;. &lt;span style="" lang="EN-US"&gt;SaaS&lt;/span&gt; не рассматриваю т.к. он хотя и сервисный, но, скорее, метод распространения. А вот &lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt; является явной альтернативой крупным и дорогим &lt;span style="" lang="EN-US"&gt;ERP&lt;/span&gt;. Она выигрывает и по скорости и по стоимости внедрения. Но скоро всплывут все &lt;a href="http://sundest.blogspot.com/2006/11/blog-post_22.html"&gt;проблемы&lt;/a&gt;  использования разномастных приложений. Плюс опять же начнет дорожать стоимость внедрения – модные специалисты всегда дорожают.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И тут (прогноз) в качестве альтернативы опять появятся самописные системы, только на более высоком уровне чем первое поколение. Как эволюционировали языки и среды разработки от "кирпичного" до "панельного строительства", так и корпоративные системы будут собираться из готовых крупных программных блоков.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/it" rel="tag"&gt;IT&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-4934564824751885863?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/4934564824751885863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=4934564824751885863' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4934564824751885863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4934564824751885863'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/it.html' title='Крамольный прогноз развития корпоративных IT систем'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-4676111470976803220</id><published>2006-11-22T05:03:00.000+03:00</published><updated>2006-11-22T06:11:57.773+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Крамольная мысль</title><content type='html'>&lt;p class="MsoNormal"&gt;У меня появилась крамольная мысль почему идея SOA так популярна в корпоративном сегменте и так активно пиарится. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Исхожу из 2-х посылок:&lt;/p&gt;  &lt;ol&gt;&lt;li class="MsoNormal"&gt;SOA (сервисно-ориентированная архитектура) - это набор небольших сервисов, которые, как предполагается, должны быть замечательно друг с другом интегрированы.&lt;br /&gt;Какие плюсы корпоративной SOA рекламируются:&lt;br /&gt;&lt;ol&gt;&lt;li class="MsoNormal"&gt;Сервисы небольшие они "лучше продуманы и реализованы оптимальнее чем соответствующие модули крупных ERP систем".&lt;/li&gt;  &lt;li class="MsoNormal"&gt;Если нужен новый сервис его просто встроить в "конструктор" SOA, чем в крупную ERP.&lt;/li&gt;  &lt;li class="MsoNormal"&gt;Если у вас уже есть много разных систем, то с помощью SOA они начнут работать слажено.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;    &lt;li class="MsoNormal"&gt;Корпоративные информационные системы продаются вендорами, которым надо сначала убедить что их система самая-самая, потом внедрить систему (своими силами или с  помощью сторонней компании) и потом бороться с просачиванием негативной информации о системе и результатах ее внедрения (а у любой крупной системы будут негативные отзывы какая бы она ни была реально).&lt;/li&gt;&lt;/ol&gt;    &lt;p class="MsoNormal"&gt;Итак крамольная мысль: &lt;span style="font-weight: bold;"&gt;Вся шумиха вокруг SOA в корпоративных системах очень выгодна вендорам&lt;/span&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Небольшое решение и, соответственно, гораздо менее дорогое чем крупное продать легче, внедрять легче, а если что пошло не так – то все проблемы не к конкретной системе, а к остальным системам и к интеграции этих систем. А разрабатывать и отлаживать отдельный сервис в разы легче, быстрей и дешевле чем многомодульную систему.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;На самом деле бизнесу сейчас продвигают идею, которая бизнесу, как потребителю, не выгодна, но выгодна продавцу. Но потребители на это ведутся т.к. не удовлетворены отдачей IT систем практически все – и те, у кого с разной степенью успешности внедрены крупные системы, и те, у кого зоопарк разномастных приложений. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Постулат о том что все наконец поняли, что с хаосом систем бороться невозможно я не согласна в корне. Во-первых кто понял? Потребитель или продавец? Потребитель не может этого понять т.к. он, в большинстве случаев, не специалист и слушает что ему говорят другие. Остается продавец. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;Я, поучаствовав в разных проектах, могу точно сказать что в большинстве случаев единая система дает на порядок больше отдачи, чем наборная. Это не значит, что решение должно быть одно и от одного производителя, но это значит что при проектировании системы надо к ней подходить как к единому целому. С другой стороны единая система решив одни проблемы вскрывает другие (например непроработанность бизнес процессов) и потребитель опять чувствует неудовлетворенность. Но это не значит, что надо бросаться латать дыры и обзывать это SOA.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;P.S.: К идее SOA я отношусь хорошо, но, imho, она, в основном, полезна не для корпоративных систем, а для конечнопользовательских &lt;a href="http://sundest.blogspot.com/2006/11/soa-amazoncom.html"&gt;наборов сервисов&lt;/a&gt; и продуктовых линеек. &lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/it" rel="tag"&gt;IT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soa" rel="tag"&gt;SOA&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-4676111470976803220?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/4676111470976803220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=4676111470976803220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4676111470976803220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4676111470976803220'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/blog-post_22.html' title='Крамольная мысль'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-88484959837530798</id><published>2006-11-22T02:42:00.000+03:00</published><updated>2006-11-22T02:59:50.335+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Стандарты'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='GUI'/><title type='text'>Стандарт по проектированию UI для Vista</title><content type='html'>&lt;p class="MsoNormal"&gt;Стандарт &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511440.aspx"&gt;здесь&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Мне нравится подход &lt;span style="" lang="EN-US"&gt;Microsoft&lt;/span&gt; к проектированию приложений (правда далеко не все приложения &lt;span style="" lang="EN-US"&gt;MS&lt;/span&gt; соответствуют их же рекомендациям). Начинается все не с самого проектирования &lt;span style="" lang="EN-US"&gt;UI&lt;/span&gt;, а с моделирования &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511328.aspx"&gt;поведения пользователя&lt;/a&gt;. Даны &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511335.aspx"&gt;общие рекомендации&lt;/a&gt;, рекомендации &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511332.aspx"&gt;как сделать &lt;span style="" lang="EN-US"&gt;UI&lt;/span&gt; более простым в использовании&lt;/a&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa511332.aspx"&gt;&lt;span style="" lang="EN-US"&gt;&lt;/span&gt;&lt;/a&gt;, описаны &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511331.aspx"&gt;стандартные ошибки&lt;/a&gt;. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Вообще меня &lt;span style="" lang="EN-US"&gt;Vista&lt;/span&gt; порадовала новым интерфейсом. Он стал не проще, но наглядней. Одно визуальное сворачивание приложения в &lt;span style="" lang="EN-US"&gt;taskbar&lt;/span&gt; чего стоит! Например, многим знакомая ситуация, когда приложение, запускаемое при старте, пользователь нечаянно сворачивает и потом не может его найти. После чего изнервничавшийся пользователь звонит в службу поддержки и выматывает нервы ей. С &lt;span style="" lang="EN-US"&gt;Vista&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;подобных проблем должно стать меньше. Однако разработчикам (особенно на &lt;span style="" lang="EN-US"&gt;Delphi&lt;/span&gt;) еще придется попотеть чтобы все эти приятные нововведения заработали в их приложениях.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Т.к. стандарт для &lt;span style="" lang="EN-US"&gt;Vista&lt;/span&gt; то есть раздел с общими рекомендациями того, как по мнению разработчиков &lt;span style="" lang="EN-US"&gt;Vista&lt;/span&gt; должно быть &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511327.aspx"&gt;спроектировано&lt;/a&gt; приложение, и, конечно же, есть отдельный раздел о Aero Aesthetics - как должно &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511275.aspx"&gt;выглядеть&lt;/a&gt; приложение, соответствующее Aero Aesthetics.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Так же не забыты рекомендации по &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511456.aspx"&gt;применению контролов&lt;/a&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa511456.aspx"&gt;&lt;/a&gt;. Например, советуют чтобы объектов в &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511488.aspx"&gt;RadioGroup&lt;/a&gt; было от 2 до 7 (раньше, кажется, было до 5). И напоминают, что если в &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511458.aspx"&gt;выпадающем списке&lt;/a&gt; есть пустое значение, то запись не надо оставлять пустой, а надо ее пометить специальным значением (например &lt;span style="font-style: italic;"&gt;(none)&lt;/span&gt;).&lt;span style="" lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;А еще (спасибо &lt;a href="http://www.gui.ru/copylove/zoopark/"&gt;Алексею Копылову&lt;/a&gt;) рекомендации по тому как должна вести себя &lt;a href="http://msdn2.microsoft.com/en-us/library/aa511448.aspx"&gt;иконка в трее&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;И еще много всего разного.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D1%8B" rel="tag"&gt;Стандарты&lt;/a&gt;, &lt;a href="http://technorati.com/tag/gui" rel="tag"&gt;GUI&lt;/a&gt;, &lt;a href="http://technorati.com/tag/vista" rel="tag"&gt;Vista&lt;/a&gt;, &lt;a href="http://technorati.com/tag/microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-88484959837530798?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/88484959837530798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=88484959837530798' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/88484959837530798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/88484959837530798'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/ui-vista.html' title='Стандарт по проектированию UI для Vista'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-2908219455374021532</id><published>2006-11-21T07:26:00.000+03:00</published><updated>2006-11-21T07:45:27.080+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Books'/><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Новые технологии и Модные термины</title><content type='html'>&lt;p class="MsoNormal"&gt;В связи с большим обсуждением поста &lt;a href="http://itblogs.ru/blogs/kolesov/"&gt;Андрея Колесова&lt;/a&gt; &lt;a href="http://itblogs.ru/blogs/kolesov/archive/2006/11/19/9075.aspx"&gt;о &lt;span style="" lang="EN-US"&gt;SOA&lt;/span&gt;&lt;/a&gt; у меня всплыла древняя мысль о том, что в гонке за новыми технологиями теряется цель и смысл внедрения этих технологий.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Появляется что-то новое, и сразу же все начинают стараться применить это на себя или "впарить" потребителю.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Но технологии как таковые не важны. Они сами по себе не дают преимущества. Они всего лишь часть инструментов бизнеса.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Надо сначала понять что нужно бизнесу, выявить проблемные места бизнес процессов (в том числе и узкие места существующих &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; систем), а потом искать оптимальные решения. Причем оптимальное решение и решение с помощью самых свежих, модных технологий это совершенно разные вещи.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Т.ч. идти надо не от технологии, а от нужд бизнеса. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;А вообще по поводу места IT технологий в бизнесе хорошо написано у &lt;a href="http://www.jimcollins.com/bio/index.html"&gt;Джима Коллинза&lt;/a&gt; в книге &lt;a href="http://www.ozon.ru/context/detail/id/1007533/"&gt;"От хорошего к великому"&lt;/a&gt; (глава 7 «Технологии как акселераторы»).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/it" rel="tag"&gt;IT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/jim+collins" rel="tag"&gt;Jim+Collins&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-2908219455374021532?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/2908219455374021532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=2908219455374021532' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2908219455374021532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2908219455374021532'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/blog-post_21.html' title='Новые технологии и Модные термины'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-2837553622759166965</id><published>2006-11-19T05:17:00.000+03:00</published><updated>2006-11-19T05:38:22.518+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><title type='text'>Жизнеобеспечение проекта. Часть 2.</title><content type='html'>&lt;p class="MsoNormal"&gt;Начало &lt;a href="http://sundest.blogspot.com/2006/11/1.html"&gt;здесь&lt;/a&gt;.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Весь наш проект живет ради пользователя. Все, что делается внутри проекта, делается ради удовлетворения нужд пользователя. Поэтому начинаю рассмотрение ролей с пользователя  и общающейся с пользователем службы поддержки.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger2/2404/4483/1600/605550/Diagram2.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/2404/4483/320/93479/Diagram2.png" alt="" border="0" /&gt;&lt;p align="center"&gt;&lt;small&gt;Кликните по картинке для увеличения&lt;/small&gt;&lt;/p&gt;&lt;/a&gt; &lt;p class="MsoNormal"&gt;Одна из основных функций Help Desk – поддержка пользователей (&lt;span style="font-style: italic;"&gt;user support&lt;/span&gt;). Если у пользователя возникает проблема, он обращается в службу поддержки (&lt;span style="font-style: italic;"&gt;request for support&lt;/span&gt;). Служба поддержки отвечает на запрос пользователя (&lt;span style="font-style: italic;"&gt;reply for request&lt;/span&gt;). Довольно часто пользователи обращаются с однотипными проблемами. Для оптимизации ответов службы поддержки на однотипные проблемы удобно использовать шаблоны ответов (&lt;span style="font-style: italic;"&gt;templates for support&lt;/span&gt;), хранящиеся в Wiki.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Основное предназначение Wiki – база знаний (&lt;span style="font-style: italic;"&gt;knowledge base&lt;/span&gt;) проекта. На данном этапе интересны 2 "части" базы знаний – &lt;span style="font-style: italic;"&gt;Help&lt;/span&gt; и технические особенности реализации (&lt;span style="font-style: italic;"&gt;technical specifications&lt;/span&gt;). Разделение на части условно т.к. все должно храниться вместе, но разграничиваться на уровне прав доступа к статьям и частям статей.&lt;/p&gt; &lt;p class="MsoNormal"&gt;При ответе пользователю в нестандартных ситуациях служба поддержки использует help и, если служба поддержки "технически подкована", информацию об особенностях реализации. Если в службу поддержки идут обращения с одной и той же проблемой, решение которой не описано в хэлпе, то служба поддержки добавляет в хэлп (&lt;span style="font-style: italic;"&gt;update help&lt;/span&gt;) описание решения проблемы, если возможно с примерами.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Разумно организованный, постоянно обновляющийся и дополняющийся online help поможет снизить количество обращений пользователей в службу поддержки. Организация Wiki очень удобна для хэлпа т.к. перекрестные ссылки позволяют избежать дублирования информации в разных разделах. Однако классическую организацию wiki удобно дополнить иерархической структурой меток (tags), соответствующей разделам хэлпа, и каждую статью помечать соответствующими метками. Это поможет пользователю быстрее находить нужную информацию в хэлпе.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Если пользователь хочет новый функционал, информацию об этом служба поддержки передает (&lt;span style="font-style: italic;"&gt;inform about request for new function&lt;/span&gt;) управляющему проекта (его роль будет рассмотрена позднее).&lt;/p&gt; &lt;p class="MsoNormal"&gt;Если служба поддержки выявляет проблемы в функционировании проектом, то она информирует о ней (&lt;span style="font-style: italic;"&gt;inform about bug&lt;/span&gt;) аналитика. При этом, если проблема была выявлена при разборе запроса пользователя, должна быть связь между ticket-ом запроса пользователя и ticket-ом бага. Почему служба поддержки для информирования о проблеме использует  Help Desk, а не добавляет новую задачу сразу в Bug Tracking? Делается это для четкого разделения работы с неформализованной и формализованной частями проекта. Help Desk содержит неформализованные задачи по проекту, Bug Tracking – формализованные. Связью между ними является аналитик. О роли аналитика в следующей части.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/life+cycle" rel="tag"&gt;Life Cycle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/development+team" rel="tag"&gt;Development Team&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-2837553622759166965?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/2837553622759166965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=2837553622759166965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2837553622759166965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2837553622759166965'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/2.html' title='Жизнеобеспечение проекта. Часть 2.'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-4968266553523263390</id><published>2006-11-16T18:33:00.000+03:00</published><updated>2006-11-21T07:55:34.149+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Офтоп'/><title type='text'>Это уже было в Симпсонах</title><content type='html'>&lt;p class="MsoNormal"&gt;Офтоп.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Жизнь:&lt;br /&gt;Недавно в Нью-Йорке &lt;a href="http://www.lenta.ru/news/2006/11/11/head1/"&gt;у статуи Вашингтона украли голову&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;"The Simpsons":&lt;br /&gt;Барт украл голову у статуи основтеля города (&lt;a href="http://www.imdb.com/title/tt0756398/"&gt;The Telltale Head (1990)&lt;/a&gt; - Season 1, Episode 8)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ну что тут еще можно сказать? Это уже было в Симпсонах! (&lt;a href="http://www.imdb.com/title/tt0761292/"&gt;"South Park" The Simpsons Already Did It (2002)&lt;/a&gt; - Season 6, Episode 7)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/new+york" rel="tag"&gt;New York&lt;/a&gt;, &lt;a href="http://technorati.com/tag/the+simpsons" rel="tag"&gt;The Simpsons&lt;/a&gt;, &lt;a href="http://technorati.com/tag/south+park" rel="tag"&gt;South Park&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-4968266553523263390?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/4968266553523263390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=4968266553523263390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4968266553523263390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/4968266553523263390'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/blog-post_16.html' title='Это уже было в Симпсонах'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-2110961709991686180</id><published>2006-11-14T01:33:00.000+03:00</published><updated>2006-11-14T02:02:17.065+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><title type='text'>Жизнеобеспечение проекта. Часть 1.</title><content type='html'>&lt;p class="MsoNormal"&gt;Жизнь проекта поддерживает много людей. И состояние (качество жизни) проекта напрямую зависит от того, насколько хорошо организована коммуникация между этими людьми.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;В полном жизненном цикле любого проекта есть много составляющих, но меня, на текущий момент, интересуют 2 из них - техническая реализация проекта и его поддержка.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Вопрос этот уже многими решался, и какой набор приложений может обеспечить высокое качество и удобство взаимодействия ясен. Это:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Help Desk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Bug Traking&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Source Repository&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;Wiki&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="" lang="EN-US"&gt;CRM&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;          &lt;p class="MsoNormal"&gt;Реализаций этих приложений огромное множество. Но появляется сложная проблема выбора: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Каждое приложение должно быть наиболее удобно в своем классе.&lt;/li&gt;&lt;li&gt;Должна быть обеспечена интеграция приложений друг с другом.&lt;/li&gt;&lt;/ul&gt;    &lt;p class="MsoNormal"&gt;Для решения нужно точно понять, кто и как в команде будет использовать эти приложения.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Без диаграмм вариантов использования тут не обойтись :-) (для проектирования использовался бесплатный &lt;span style="" lang="EN-US"&gt;oss&lt;/span&gt; продукт &lt;a href="http://staruml.sourceforge.net/en/"&gt;StarUML&lt;/a&gt;)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Первое приближение. Определяем набор ролей в команде и взаимодействие между приложениями.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/2404/4483/1600/Diagram1.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger2/2404/4483/320/Diagram1.png" alt="" align="middle" border="0" /&gt;&lt;small&gt;Кликните по картинке для увеличения&lt;/small&gt;&lt;/a&gt; &lt;p class="MsoNormal"&gt;Итак.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Интеграция приложений:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Help&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Desk&lt;/span&gt; использует &lt;span style="" lang="EN-US"&gt;CRM&lt;/span&gt; для получения данных об обращающемся пользователе и продукте, который использует пользователь. &lt;span style="" lang="EN-US"&gt;(CRM&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;ID&lt;/span&gt; - идентификатор записи в &lt;span style="" lang="EN-US"&gt;CRM&lt;/span&gt;)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Так же &lt;span lang="EN-US"&gt;Help&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Desk&lt;/span&gt; использует &lt;span style="" lang="EN-US"&gt;Bug&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Tracking&lt;/span&gt; для отслеживания реализаций задач. (BT ID - идентификатор задачи в &lt;span style="" lang="EN-US"&gt;Bug&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Tracking&lt;/span&gt;)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span lang="EN-US"&gt;Bug&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Tracking&lt;/span&gt;, в свою очередь, использует &lt;span style="" lang="EN-US"&gt;Help&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Desk&lt;/span&gt; для отслеживания источника задач. (&lt;span style="" lang="EN-US"&gt;HD&lt;/span&gt; ID - идентификатор &lt;span style="" lang="EN-US"&gt;Ticket&lt;/span&gt;-а в &lt;span style="" lang="EN-US"&gt;Help&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Desk&lt;/span&gt;. Извиняюсь, не могу подобрать хороший русский аналог к &lt;span style="" lang="EN-US"&gt;Ticket&lt;/span&gt;)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Еще &lt;span lang="EN-US"&gt;Bug&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span lang="EN-US"&gt;Tracking&lt;/span&gt; использует &lt;span style="" lang="EN-US"&gt;Source&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Repository&lt;/span&gt; для определения, в какой версии файла исходника хранится изменение, внесенное для решения конкретной задачи. (SR ID - ссылка на версию файла исходника в &lt;span style="" lang="EN-US"&gt;Source&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style="" lang="EN-US"&gt;Repository&lt;/span&gt;)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Роли:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Выделены основные роли. Здесь, по-моему, комментарии к диаграмме излишни. А более детальное поведение каждой из ролей будет расписано в следующих частях.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;technorati tags: &lt;a href="http://technorati.com/tag/life+cycle" rel="tag"&gt;Life Cycle&lt;/a&gt;, &lt;a href="http://technorati.com/tag/development+team" rel="tag"&gt;Development Team&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-2110961709991686180?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/2110961709991686180/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=2110961709991686180' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2110961709991686180'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/2110961709991686180'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/1.html' title='Жизнеобеспечение проекта. Часть 1.'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116320385943815131</id><published>2006-11-11T02:51:00.000+03:00</published><updated>2006-11-11T16:47:52.137+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>SaaS великий и могучий</title><content type='html'>&lt;p class="MsoNormal"&gt;Написала коммент к посту &lt;a href="http://feygin.elashkin.com/"&gt;Даниила Фейгина&lt;/a&gt; &lt;a href="http://feygin.elashkin.com/2006/11/saas.html"&gt;"Модель продаж SaaS"&lt;/a&gt; и получился он таким большим и довольно развернутым, что я решила его здесь перепостить.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Сразу оговорюсь, идеи &lt;a href="http://en.wikipedia.org/wiki/Software_as_a_Service"&gt;SaaS&lt;/a&gt; мне очень нравятся. Однако говорить о том, что эта модель &lt;i&gt;всегда&lt;/i&gt; лучше и эффективней чем модель распространения коробочного софта мне кажется слишком преждевременно. На текущий момент это довольно новая модель, к тому же активно рекламируемая, поэтому и разработчикам и пользователям хочется ее попробовать. В результате кто-то найдет ее удобной, кто-то попробовав откажется. В конце концов появление отраслевых готовых ERP систем не вытеснило из этих отраслей самописных систем.&lt;/p&gt; &lt;p class="MsoNormal"&gt;Механизм "нравится -- берите, желательно у нас не спрашивая" это мечта любого разработчика!&lt;/p&gt; &lt;p class="MsoNormal"&gt;Но мне, как "традиционному айтишнику", а также как обычному пользователю различных сервисов (в том числе и элементарных блогов) видится в подобной модели много ограничений.&lt;/p&gt; &lt;ol&gt;&lt;li&gt;SaaS, в подавляющем большинстве, это тонкий клиент. А в браузере работать неудобно. Особенно с текстом. Это подтверждается большим количеством толстых приложений по управлению контентов блогов (как &lt;a href="http://ideas.live.com/programpage.aspx?versionId=4372c8c2-b76f-4d44-aea1-9835b61d8dc1"&gt;Windows Live Writer&lt;/a&gt;, &lt;a href="http://www.blogjet.com/"&gt;BlogJet&lt;/a&gt;).&lt;/li&gt; &lt;li&gt;Приложения, используемые для автоматизации предприятий, должны быть интегрированы друг с другом (частично в эту тему &lt;a href="http://sundest.blogspot.com/2006/11/enterprise-20-suite-intel.html"&gt;Intel выпускает SuiteTwo&lt;/a&gt;). При использовании различных сервисов интеграцию их обеспечить нельзя.&lt;/li&gt; &lt;li&gt;Далеко не все фирмы готовы размещать свои приватные данные практически неизвестно где и у кого (ведь вначале постулировалось "желательно у нас не спрашивая"). Причем не только данные клиентов, но и всей внутренней кухни - базы знаний, управление проектами (как текущими так и будущими), логистика, финансы (какая фирма без финансов, а финансы еще хорошо бы подружить с CRM и управлением проектами) и т.д.&lt;/li&gt; &lt;li&gt;Возвращаясь к данным клиентов... Мне тут видятся 2 основные проблемы: &lt;ol&gt;&lt;li&gt;Возможная утечка грозит фирме не только, собственно, потерей данных, но и исками от своих клиентов, т.к. именно фирма, использующая сервис гарантирует клиентам приватность данных, а не IT компания этот сервис предоставляющая.&lt;/li&gt; &lt;li&gt;С CRM должны дружить большинство остальных модулей, а CRM должна уметь делиться ID-ками, автоматически добавлять данные (парсить email-ы и xml).&lt;/li&gt;&lt;/ol&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p class="MsoNormal"&gt;Итог: если бы для автоматизации компаний можно было бы применять 100% унифицированные процессы, не нужно было бы толп консультантов внедрения ERP систем.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;Tags: &lt;a href="http://technorati.com/tag/saas" rel="tag"&gt;SaaS&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116320385943815131?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116320385943815131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116320385943815131' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116320385943815131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116320385943815131'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/saas.html' title='SaaS великий и могучий'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116300777276973961</id><published>2006-11-08T20:34:00.000+03:00</published><updated>2006-11-11T16:47:51.604+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Enterprise 2.0 Suite от Intel</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style="" lang="EN-US"&gt;Intel&lt;/span&gt; выпускает новый продукт &lt;a href="http://www.suitetwo.com/"&gt;&lt;span style="" lang="EN-US"&gt;SuiteTwo&lt;/span&gt;&lt;/a&gt;, объединяющий &lt;span style="" lang="EN-US"&gt;wiki&lt;/span&gt;, блоги и &lt;span style="" lang="EN-US"&gt;rss&lt;/span&gt; агрегаторы и нацеленный на корпоративное использование. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Явный плюс &lt;span style="" lang="EN-US"&gt;SuiteTwo&lt;/span&gt; в том, что будет единая точка управления всеми продуктам. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Сайт продукта, к сожалению, очень аскетичный. &lt;a href="http://www.suitetwo.com/features"&gt;Описание возможностей &lt;span style="" lang="EN-US"&gt;SuiteTwo&lt;/span&gt;&lt;/a&gt; очень скудное.&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Обещают возможность вести отдельные блоги по каждому продукту и интеграцию &lt;span style="" lang="EN-US"&gt;email&lt;/span&gt;, mobile и rss ленты в &lt;span style="" lang="EN-US"&gt;wiki&lt;/span&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Нет никакой информации о разделении доступа к статьям и частям статей в &lt;span style="" lang="EN-US"&gt;wiki&lt;/span&gt;. Для корпоративного использования &lt;span style="" lang="EN-US"&gt;wiki&lt;/span&gt; это необходимо, т.к. основное предназначение &lt;span style="" lang="EN-US"&gt;wiki&lt;/span&gt; – это база знаний для обмена знаниями внутри команд, между отделами, а так же предоставление постоянно обновляемой информации пользователям. Т.е. требуется вести не только публичную информацию, и без разделения прав доступа информация «внутреннего использования» не будет попадать в wiki. Кроме того разделение прав должно быть многоуровневым, с возможностью раздела доступа по отделам и должностям. Без этого использование &lt;span style="" lang="EN-US"&gt;wiki&lt;/span&gt; становится однобоким (только публичным или только внутренним) и резко падает эффективность от использования. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Более подробную информацию по продукту обещают прислать после регистрации на сайте. Как продукт выглядит не понятно вообще – нет ни демо, ни скриншотов.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Цен на сайте так же нет, но на Terralab есть &lt;a href="http://www.terralab.ru/news/293858/"&gt;информация&lt;/a&gt; о 175-200 долларов в год или 15-17 долларов в месяц в расчёте на пользователя. С одной стороны 15-17 долларов в месяц не много, но, с другой стороны, доступ нужен большинству отделов (суппорт, разработчики, маркетинг и т.д.), соответственно большому количеству пользователей, а это уже может вылиться в довольно крупные суммы. При большом количестве бесплатных и недорогих платных движков &lt;span style="" lang="EN-US"&gt;wiki&lt;/span&gt; и блогов финансовая выгода &lt;span style="" lang="EN-US"&gt;SuiteTwo&lt;/span&gt;&lt;span lang="EN-US"&gt; &lt;/span&gt;&lt;span style=""&gt; &lt;/span&gt;как единой точки доступа, на мой взгляд, не очевидна.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Будем следить за развитием.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;Tags: &lt;a href="http://technorati.com/tag/Enterprise+Solutions" rel="tag"&gt;Enterprise Solutions&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116300777276973961?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116300777276973961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116300777276973961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116300777276973961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116300777276973961'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/enterprise-20-suite-intel.html' title='Enterprise 2.0 Suite от Intel'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116278367331421340</id><published>2006-11-06T06:18:00.000+03:00</published><updated>2006-11-11T16:47:51.245+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Офтоп'/><title type='text'>Google хочет мой номер телефона</title><content type='html'>&lt;p class="MsoNormal"&gt;Google придумывает все новые способы, как выманить у нас наши private данные.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;При открытии нового акаунта в Gmail (по ссылке из Picasa) Google первым делом спрашивает... номер телефона. На который предлагает прислать invitation code. &lt;/p&gt; &lt;a href="http://photos1.blogger.com/blogger/8057/4111/1600/mailn.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/mailn.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;p class="MsoNormal"&gt;Хотела сделать screenshot со страной Russia, но оказалось, что Google знает всего 9 стран :-)&lt;/p&gt; &lt;a href="http://photos1.blogger.com/blogger/8057/4111/1600/mailc.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/mailc.jpg" alt="" border="0" /&gt;&lt;/a&gt; &lt;p class="MsoNormal"&gt;Требование телефона, похоже, связано с активным продвижением &lt;a href="http://mail.google.com/mail/help/about_whatsnew.html"&gt;Gmail&lt;/a&gt; и &lt;a href="http://www.google.com/mobile/"&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/36727140-116278367331421340?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116278367331421340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116278367331421340' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116278367331421340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116278367331421340'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/google.html' title='Google хочет мой номер телефона'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116264286850916123</id><published>2006-11-04T14:58:00.000+03:00</published><updated>2006-11-14T01:33:16.192+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development Methodologies'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><category scheme='http://www.blogger.com/atom/ns#' term='Люди'/><title type='text'>SOA в Amazon.com</title><content type='html'>&lt;p class="MsoNormal"&gt;Преимущество маленьких компаний - быстрота реакции и адаптации под новые условия и запросы рынка. Но "плох тот солдат, который не хочет стать генералом". И маленькая компания, если она успешна, растет сначала в среднюю, потом в крупную.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Как сделать так, чтобы большая компания оставалась мобильной и быстро реагировала на изменения запросов клиентов знает &lt;a href="http://www.allthingsdistributed.com/"&gt;&lt;span style="" lang="EN-US"&gt;Werner Vogels&lt;/span&gt;&lt;/a&gt; - &lt;span style="" lang="EN-US"&gt;CTO&lt;/span&gt; в &lt;a href="http://www.amazon.com/"&gt;&lt;span style="" lang="EN-US"&gt;Amazon.com&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Успешный рост Amazon.com был обеспечен сервисно-ориентированной архитектурой (&lt;a href="http://en.wikipedia.org/wiki/Service-oriented_architecture"&gt;SOA&lt;/a&gt;). На текущий момент Amazon.com является набором разнообразных сервисов, разрабатываемых и поддерживаемых независимо друг от друга.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Компания не является монолитной, а состоит из большого количества маленьких agile команд (&lt;a href="http://www.allthingsdistributed.com/2006/08/amazon_in_scotland.html"&gt;2 pizza teams&lt;/a&gt;), раскиданных по всему миру. Каждая команда занимает свое место в сервисно-ориентированной структуре. Подобная организация дает Amazon.com быстроту реакции маленьких компаний. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;Процесс определения требований к продукту Werner Vogels описывает как работу "задом наперед" (&lt;a href="http://www.allthingsdistributed.com/2006/11/working_backwards.html"&gt;working backwards&lt;/a&gt;). Для соответствования услуг нуждам пользователей, процесс определения требований к услугам ведется начиная с документации, которая потребуется при запуске (пресс-релизы и FAQ), затем переходя к документации, относящейся непосредственно к продукту (руководство пользователя и прототип поведения пользователей). В результате получается набор документация полностью описывающий продукт. Эти наборы документации позволяют легко передавать знания о продуктах между отдельными командами внутри Amazon.com.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://www.acmqueue.com/modules.php?name=Content&amp;pa=showpage&amp;amp;pid=388"&gt;Здесь&lt;/a&gt; можно посмотреть интервью &lt;span style="" lang="EN-US"&gt;Werner Vogels, &lt;/span&gt; данное для &lt;span style="" lang="EN-US"&gt;&lt;a href="http://www.acmqueue.com/"&gt;ACM Queue&lt;/a&gt;&lt;span style="" lang="EN-US"&gt; magazine&lt;/span&gt;.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;Tags: &lt;a href="http://technorati.com/tag/development+team" rel="tag"&gt;Development Team&lt;/a&gt;, &lt;a href="http://technorati.com/tag/agile" rel="tag"&gt;Agile&lt;/a&gt;, &lt;a href="http://technorati.com/tag/werner+vogels" rel="tag"&gt;Werner Vogels&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116264286850916123?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116264286850916123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116264286850916123' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116264286850916123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116264286850916123'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/soa-amazoncom.html' title='SOA в Amazon.com'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116261839600609922</id><published>2006-11-04T07:47:00.000+03:00</published><updated>2006-11-11T16:47:50.661+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Life Cycle'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Team'/><category scheme='http://www.blogger.com/atom/ns#' term='Стандарты'/><title type='text'>В чем искусство?</title><content type='html'>&lt;p class="MsoNormal"&gt;Я очень люблю всяческие стандарты и шаблоны. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Стандарты – как порядок в доме, когда у каждой вещи есть свое место. В этом случае не надо задумываться, куда что-то надо положить и откуда это что-то взять, когда оно потребуется.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Без стандартов не может жить не только команда разработчиков, но даже один разработчик, т.к. через несколько лет свой код воспринимается как чужой и работать с ним приходится как с чужим. А чужой код гораздо быстрее и проще понимать, если он написан по известному стандарту. При использовании стандарта повышается не только читабельность кода, а так же устойчивость (при применении стандартного решения вероятность падений меньше чем при применении свежепридуманного) и быстрота разработки.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Проектирование, фактически, превратилось в ремесло с появлением соответствующих методологий (в основном диаграммы &lt;a href="http://en.wikipedia.org/wiki/Unified_Modeling_Language"&gt;&lt;span style="" lang="EN-US"&gt;UML&lt;/span&gt;&lt;/a&gt;, и порядок их применения). Т.е., следуя известной последовательности шагов, в результате получаешь работоспособный проект. &lt;/p&gt; &lt;p class="MsoNormal"&gt;Порядок ведения проекта и взаимодействия команды определяется выбранной методологией разработки ПО (&lt;a href="http://agilemanifesto.org/"&gt;Agile&lt;/a&gt;, &lt;a href="http://www.waterfall2006.com/"&gt;&lt;span style="" lang="EN-US"&gt;Waterfall&lt;/span&gt;&lt;/a&gt;&lt;span style="" lang="EN-US"&gt;, &lt;a href="http://en.wikipedia.org/wiki/Rational_Unified_Process"&gt;RUP&lt;/a&gt;&lt;/span&gt;, &lt;span style="" lang="EN-US"&gt;&lt;a href="http://en.wikipedia.org/wiki/Big_Design_Up_Front"&gt;BDUF&lt;/a&gt;).&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Тестирование, делающееся по стандартному плану, делается быстрее, чем без плана и с меньшей вероятностью что-либо забыть. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;При выпуске версий требуется проделать стандартный набор действий и при наличии списка этих действий (фактически чек листа) опять же меньше вероятность что-либо упустить из виду.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Писателям технической документации соглашение по терминам позволяет избежать “ляпов” и избавляет от постоянного подбора нужных терминов.&lt;/p&gt; &lt;p class="MsoNormal"&gt;На текущий момент профессионализм, во многом, это знание стандартных решений в своей области и умение их правильно и вовремя применять. А успешность команды зависит от качества стандартов взаимодействия и соблюдения следования выбранным стандартам.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Т.ч., на мой взгляд, на сегодняшний момент искусством в разработке &lt;span style="" lang="EN-US"&gt;IT&lt;/span&gt; систем является не сам процесс разработки, а умение правильного выбора и разработки стандартов и шаблонов.&lt;/p&gt;  &lt;p&gt;&lt;small&gt;Полезные ссылки:&lt;br /&gt;&lt;a href="http://www.martinfowler.com/"&gt;Martin Fowler&lt;/a&gt; - один из лучших авторов на тему методологий разработки ПО.&lt;br /&gt;&lt;a href="http://www.maxkir.com"&gt;maxkir.com&lt;/a&gt; – сайт &lt;a href="http://kirblog.idetalk.com/"&gt;Кирилла&lt;/a&gt; и &lt;a href="http://www.maxkir.com/sashka.html"&gt;Саши&lt;/a&gt; Максимовых с замечательной подборкой переводов книг и статей на темы &lt;a href="http://www.maxkir.com/sd/cat_2.html"&gt;процессов, методологий&lt;/a&gt;, &lt;a href="http://www.maxkir.com/sd/cat_4.html"&gt;анализа, проектирования&lt;/a&gt; и т.д. от таких авторов как &lt;a href="http://www.maxkir.com/sd/newmethRUS.html"&gt;Мартин Фаулер&lt;/a&gt;&lt;a href="http://www.maxkir.com/sd/newmethRUS.html"&gt;&lt;/a&gt;, &lt;a href="http://www.maxkir.com/sd/expDocumentationInXP_RUS.html"&gt;Рон Джеффриз&lt;/a&gt;, &lt;a href="http://www.maxkir.com/sd/SoftwareDevelopmentCooperativeGame1.html"&gt;Алистэр Коуберн&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://www.npj.ru/dead-md/standartykodirovanijadelphi"&gt;Стандарт кодирования на Delphi&lt;/a&gt;.&lt;br /&gt;Главы книги &lt;a href="http://citforum.ru/programming/digest/scofdebug/t_cont.shtml"&gt;"Наука отладки"&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;Tags:  &lt;a href="http://technorati.com/tag/software+engineering" rel="tag"&gt;Software Engineering&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Development+Team" rel="tag"&gt;Development Team&lt;/a&gt;, &lt;a href="http://technorati.com/tag/%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D1%8B" rel="tag"&gt;Стандарты&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116261839600609922?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116261839600609922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116261839600609922' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116261839600609922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116261839600609922'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/blog-post.html' title='В чем искусство?'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116249315478456398</id><published>2006-11-02T21:22:00.000+03:00</published><updated>2006-11-11T16:47:50.423+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Windows Mobile коммуникатор vs. ноутбук</title><content type='html'>&lt;a href="http://mkozloff.spaces.live.com/Blog/cns%21D1ED809F4FFA9136%211444.entry"&gt;Михаил Козлов&lt;/a&gt; дал &lt;a href="http://mkozloff.spaces.live.com/blog/cns%21D1ED809F4FFA9136%211444.trak"&gt;&lt;/a&gt; ссылочку на &lt;a href="http://www.microsoft.com/Rus/WindowsMobile/about/benefits.mspx"&gt;статью&lt;/a&gt; о преимуществах использования коммуникаторв с &lt;a href="http://www.microsoft.com/rus/windowsmobile/default.mspx"&gt;Windows Mobile&lt;/a&gt; платформой.&lt;br /&gt;Хорошо описаны возможности Windows Mobile. Но преимущества показаны так, как будто у компаний вообще еще нет информационных систем. &lt;span style="font-style: italic;"&gt;"Устройства Windows Mobile позволяют повысить производительность персонала за счет автоматизации бумажного документооборота"&lt;/span&gt;.&lt;br /&gt;Не хватает важного компонента - в чем преимущество использования коммуникатора с Windows Mobile по сравнению с ноутбуком. Ноутбуки становятся все меньше и легче. А использовать их для того, чтобы &lt;span style="font-style: italic;"&gt;"получать доступ к нужным данным, даже находясь за пределами офиса"&lt;/span&gt; все-таки удобней.&lt;br /&gt;В предлагаемой связке пользователям придется именно работать на коммуникаторах. Но у коммуникаторов слишком маленький экран и клавиатура. Коммуникатор не эргономичен, значит будут потери по времени и, возможно, по качеству работы.&lt;br /&gt;Если в день сваливается несколько сотен писем их удобней разбирать на ноутбуке и пакетно, а не на телефоне по мере поступления. &lt;span style="font-style: italic;"&gt;"Писать заказы"&lt;/span&gt; и т.д. тоже удобней на ноутбуке.&lt;br /&gt;Упоминание ноутбука встречается только в статье с &lt;a href="http://www.microsoft.com/windowsmobile/business/strategy/roi.mspx"&gt;мнением компании IDC&lt;/a&gt; и выглядит, скорее, как рекламный оборот: &lt;span style="font-style: italic;"&gt;"Where laptops simply allowed workers to move the location from where they would do their work, handheld devices are changing how the work gets done"&lt;/span&gt;.&lt;br /&gt;Есть какая либо статистика о замене компаниями у разъездных сотрудников ноутбуков на коммуникаторы?&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;small&gt;Tags: &lt;a href="http://technorati.com/tag/Enterprise+Solutions" rel="tag"&gt;Enterprise Solutions&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Windows+Mobile" rel="tag"&gt;Windows Mobile&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116249315478456398?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116249315478456398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116249315478456398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116249315478456398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116249315478456398'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/11/windows-mobile-vs.html' title='Windows Mobile коммуникатор vs. ноутбук'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116230680517929083</id><published>2006-10-31T17:38:00.000+03:00</published><updated>2006-11-11T16:47:50.175+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Новые ExplicitХ проперти в DFM</title><content type='html'>&lt;p&gt;В Turbo Delphi в DFM стали писаться 4 новыx проперти: ExplicitTop, ExplicitLeft, ExplicitHeight и ExplicitWidth.&lt;/p&gt; &lt;p&gt;Добавляются они сами. В Object Inspector-е их нет и менять их нельзя т.к. они public read only. Объявлены в TСontrol.&lt;/p&gt; &lt;p&gt;Эти новые проперти здорово раздувают файл формы. Но самое противное:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Они постоянно меняются и при добавлении в VSS приходится тратить много времени на их вычитку.&lt;/li&gt;&lt;li&gt;Теряется обратная совместимость формы. Для открытия DFM в ранних версиях надо вычистить все ExplicitX проперти.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Описание этих странных пропертей в хэлпе нет.&lt;/p&gt; &lt;p&gt;Зачем же они нужны?&lt;/p&gt; &lt;p&gt;Внятного ответа от Borland мной не найдено (если кто-то нашел – поделитесь, плиз). В единственном &lt;a href="http://jedqc.blogspot.com/2006/02/d2006-what-on-earth-are-these-explicit.html"&gt;объяснении&lt;/a&gt; сказано что в ExplicitX проперти запоминаются значения соответствующих пропертей размеров и расположения, которые были до изменения пропертей Align или Anchor из их дефолтных значений.&lt;/p&gt; &lt;p&gt;Проверяем:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;В центр формы кладется панель. Форма сохраняется. В DFM ExplicitX пропертей нет.&lt;/li&gt;&lt;li&gt;Align панели ставится в alBottom. Форма сохраняется. В DFM у панели появились ExplicitX проперти со значениями, равными ее Top, Left, Height и Width, когда она была в центре.&lt;/li&gt;&lt;li&gt;Align панели ставится обратно alNone и… &lt;span style="font-weight: bold;"&gt;панель сама "прыгает" в середину формы&lt;/span&gt;. Форма сохраняется. В DFM ExplicitX пропертей нет.&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Мне кажется этот эффект "прыганья" не стоит вышеописанных проблем.&lt;/p&gt; &lt;p&gt;И еще приведенное объяснение явно не полное, т.к. не объясняет эффект появления и исчезания ExplicitX пропертей в TabSheet-ах.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;small&gt;Tags: &lt;a href="http://technorati.com/tag/Turbo+Delphi"&gt;Turbo Delphi&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116230680517929083?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116230680517929083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116230680517929083' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116230680517929083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116230680517929083'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/10/explicit-dfm.html' title='Новые ExplicitХ проперти в DFM'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116224135446679554</id><published>2006-10-30T23:42:00.000+03:00</published><updated>2006-11-11T16:47:49.897+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT и жизнь'/><title type='text'>Анкета от Borland для разработчиков</title><content type='html'>&lt;p class="MsoNormal"&gt;Борланд в очередной раз выступил в репертуаре "хотели как лучше, получилось как всегда"&lt;/p&gt;&lt;p class="MsoNormal"&gt;Анкета для разработчиков на тему "Как вам нравится &lt;span style="" lang="EN-US"&gt;Delphi&lt;/span&gt; и что бы вам хотелось видеть в дальнейшем":&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://infopoll.net/live/surveys/s30110.htm"&gt;http://infopoll.net/live/surveys/s30110.htm&lt;/a&gt; &lt;/p&gt;  &lt;span style=""&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;Содержит более 200 вопросов! Они хотят знать наше мнение или в очередной раз решили испытать наше терпение?&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116224135446679554?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116224135446679554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116224135446679554' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116224135446679554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116224135446679554'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/10/borland.html' title='Анкета от Borland для разработчиков'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116215936515114753</id><published>2006-10-30T00:35:00.000+03:00</published><updated>2006-11-11T16:47:49.650+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Генерация XML документации в Turbo Delphi.</title><content type='html'>&lt;p&gt;Техническая документация на уровне программных объектов, на мой взгляд, может быть нужна в двух случаях:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;Сопровождение компонентов, передаваемых сторонним разработчикам. В основном это коммерческие компоненты. &lt;/li&gt;&lt;li&gt;Как внутренняя документация для команды разработчиков.  &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;В первом случае документация фактически является хэлпом - она должна содержать информацию только о public объектах, должна быть соответственно структурирована и оформлена. Информация должна быть подробной – что объект делает, параметры вызова, особенности использования, где расположен (к какому юниту относится), от кого отнаследован. При этом расположение и иерархия являются вторичной информацией и не должны сильно бросаться в глаза.&lt;/p&gt; &lt;p&gt;Во втором варианте документация нужна для быстрого ознакомления с интерфейсами, функционалом и взаимодействием классов. Для более подробной информации есть код (который должен быть хорошо откомментирован). Т.е. подход почти диаметрально противоположный первому варианту. Информация должна быть краткой, и первичным становится расположение объектов.&lt;/p&gt; &lt;p&gt;Меня интересует второй случай. На текущий момент у нас используются обычные комментарии в объявлении классов, переменных, констант и т.д., и для ознакомления с функционалом юнита достаточно просмотреть его interface. Для упрощения взаимодействия между разработчиками и избавления от лишней информации (например вспомогательных переменных) хочется иметь возможность выгружать в отдельный файл объявления классов, всех public и protected членов класса с комментариями к ним и из protected членов класса только те, у которых есть комментарии. Это в идеале. С другой стороны задача, для нас, стоит не очень остро и дополнительных сил на написание своего парсера тратить не имеет смысла. Использование сторонних автоматических документаторов требует изменения формата комментариев и, соответственно, дополнительного контроля за правильностью их написания, что так же не имеет смысла.&lt;/p&gt; &lt;p&gt;Поэтому на генерацию XML документации в Turbo Delphi возлагались некоторые надежды. Были ожидания что с минимальными изменениями к требованиям к коментариям можно будет выгружать интерфейсы в читабельный вид. С другой стороны были опасения что или генератор будет глючить, или реализован будет так, что использовать его будет неудобно. К сожалению сбылись опасения.&lt;/p&gt; &lt;p&gt;В Turbo Delphi есть 2 варианта генерации XML документации:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;При компиляции приложения создается XML файл для каждго юнита и файла проекта. Для этого должна быть включена опция "Generate XML Documentation" на закладке "Compiler" в "Project Options".&lt;/li&gt;&lt;li&gt;Можно создать единую документацию по всем исходникам приложения. Для этого должен быть включен "Together Support", а сама документация создается из "Model View". &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;В документацию идет вся информация по объектам + пользовательские комментарии (перед XML комментариями в коде должно быть ///). Вроде бы все хорошо, но…&lt;/p&gt; &lt;p&gt;Документация, создаваемая через "Model View" слишком "тяжелая". Ее, наверно, можно было бы использовать в качестве хэлпа для сопровождения компонентов, но там слишком много внутренней информации, которая в данном случае не нужна. Выбрать же уровень детализации (какие объекты выгружать в документ) нельзя. Насколько корректно работает данный генератор не проверялось т.к. стало ясно, что этот вариант генерации использоваться не будет.&lt;/p&gt; &lt;p&gt;Документация, создаваемая при компиляции на первый взгляд выглядела практически тем что надо. Основная проблема виделась в том, что для класса в XML файл тянется много избыточной информации: все данные по всем предкам. Для пустой формы это более чем 2000 (две тысячи)! строк. Но, в принципе, это не страшно т.к. при парсинге XML избыточную информацию можно игнорировать.&lt;/p&gt; &lt;p&gt;Начинаем экспериментировать с генерацией XML документации при компиляции:&lt;/p&gt; &lt;p&gt;1. Создаем простенький класс с одной функцией. XML комментарии сделаны перед объявлением класса, объявлением функции и в теле функции (последний был добавлен чтоб проверить не добавляет ли генератор комментарии из тела функции к комментариям к самой функции).&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/1D.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/1D.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;...&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/1D_2.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/1D_2.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;p&gt;Получаем XML (комментарии подчеркнуты красным, предки свернуты, чтоб не мешаться). Комментарий из тела функции проигнорироаван, но это не страшно.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/1XML_r.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/1XML_r.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;p&gt;2. Добавляем процедуру с комментарием перед объявлением, тело процедуры без комментариев.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/2D.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/2D.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;p&gt;Получаем XML с перепутанными комментариями. Вместо комментария к процедуре вставился комментарий из тела функции&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/2XML_r.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/2XML_r.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;p&gt;3. Ну если не нравятся генератору комментарии в implementation уберем комментарий из тела функции, но добавим один после всех объявлений.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/3D.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/3D.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;p&gt;...&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/3D_2.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/3D_2.png" alt="" border="0" /&gt;&lt;/a&gt; &lt;p&gt;И опять получаем XML с перепутанными комментариями.&lt;/p&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/3XML_r.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/3XML_r.png" alt="" border="0" /&gt;&lt;/a&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/36727140-116215936515114753?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116215936515114753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116215936515114753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116215936515114753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116215936515114753'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/10/xml-turbo-delphi.html' title='Генерация XML документации в Turbo Delphi.'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116203579607808135</id><published>2006-10-28T15:29:00.000+04:00</published><updated>2006-11-11T16:47:49.378+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><title type='text'>Обживаемся в Turbo Delphi</title><content type='html'>&lt;p class="MsoNormal"&gt;Не смотря на то, что &lt;a href="http://www.turboexplorer.com/delphi"&gt;Turbo Delphi&lt;/a&gt;, похоже, последняя реинкарнация среды, деваться некуда.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Некуда деваться потому, что нужен нэйтивный код. А последняя реинкарнация (по ощущениям) потому, что рулевые в Борланде не понимают свою аудиторию. Аудитория с ними только из-за нэйтивного кода, а те кому нужны web приложения или .net уже давно от дельфей сбежали и возвращать их бесполезно...&lt;/p&gt;  &lt;p class="MsoNormal"&gt;10 лет на Delphi5! Были, конечно, и 6, и 7 и далее по списку, но они в лучшем случае не давали существенных преимуществ, в худшем нещадно глючили :-( Т.ч. отдавать за них денег Борланду категорически не хотелось.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ну, собственно, о самой Turbo Delphi. &lt;/p&gt;    &lt;p class="MsoNormal"&gt;Среда понравилась. Снова хочется писать. Возможно это по контрасту с надоевшей Delphi5? Более яркая раскраска, в принципе, выглядит неплохо.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Борланд решил совсем отказаться от старого варианта среды. Новая похожа на Майкрософтовские IDE. Основные изменения: работа с формой в design time и перенос палеты компонентов в docking window.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Сначала, конечно, пришлось среду "обживать". Раскладка desktop-а идущая по умолчанию (Default Layout) не понравилась т.к. мало места для кода (смотришь как через бойницу дзота).&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/Turbo%20Delphi%20Default%20Layout.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/Turbo%20Delphi%20Default%20Layout.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;Сделана стандартная настройка под себя (все вспомогательные окна убраны влево, настроены шаблоны, перенастроена подсветка).&lt;/p&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/8057/4111/1600/Turbo%20Delphi%20LM%20Layout.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/8057/4111/320/Turbo%20Delphi%20LM%20Layout.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;Приятные новшества  среды: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Более умные шаблоны автодополнения - возможность задавать в шаблоне несколько полей для ввода, переход между полями, автоматическая генерация переменных (например счетчик в for), разворот перечислимых типов (в case). Шаблоны теперь задаются в XML формате.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Автоматическая проверка синтаксиса "на лету".&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Рефакторинг. &lt;/li&gt;&lt;li&gt;Автодокументация (правда возможность ее использования под сомнением). &lt;/li&gt;&lt;li&gt;Сворачивание отдельных кусков кода (директива {$REGION}). &lt;/li&gt;&lt;li&gt;Опция Surround.&lt;/li&gt;&lt;li&gt;Возможность закомментировать выделенный фрагмент кода (Ctrl+/).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Отдельная раскладка desktop-а во время исполнения (Debug Layout).&lt;/li&gt;&lt;li&gt;Поиск компонента в палете по первым символам.&lt;/li&gt;&lt;/ul&gt;                  &lt;p class="MsoNormal"&gt;Кое-что из вышеперечисленного появилось еще в BDS2005, но, т.к. BDS2005 была пропущена, считаю их новшествами BDS2006/Turbo. Работается быстрей и приятней. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Минусы:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Хотя шаблоны и более умные они, почему то, не вызываются при вводе параметров функции.&lt;/li&gt;&lt;li&gt;При установке требует поставить массу всего, что не понятно зачем нужно (зачем компилятору нэйтивного кода на Pascal нужен .netJ# ?).&lt;/li&gt;&lt;li&gt;Хэлп ставится при инсталляции по всем продуктам BDS 2006. При контекстном поиске вываливаются громадные списки среди которых приходится отыскивать записи, которые относятся к Delphi.&lt;/li&gt;&lt;li&gt;Хэлп написан неаккуратно. После нахождения пары ошибок/неточностей доверие вообще перестал вызывать,&lt;/li&gt;&lt;li&gt;Подглючивает&lt;span style="" lang="EN-US"&gt; Object Inspector. &lt;/span&gt;При переключении из Object Inspector в Project Manager и обратно Object Inspector теряет данные текущего контрола и обновляется только после повторного выбора контрола. &lt;/li&gt;&lt;li&gt;Debug Layout может быть только один. Т.е. может их быть много, но во время исполнения показывается тот, что с именем "Debug Layout".&lt;/li&gt;&lt;li&gt;Не работает User override для Enviroment Variables (была попытка изменить BDSPROJECTSDIR).&lt;/li&gt;&lt;li&gt;Попытка работать с Model View вызвала ощущение что его лучше не открывать вообще! Здесь тронешь - там посыпалось. Все изменения в моделе сразу же автоматом меняют код юнита, причем обычно криво.&lt;/li&gt;&lt;li&gt;Изменены некоторые ShortCut-ы. Например шаблоны автодополнения вызываются теперь по Ctrl+J. &lt;a href="http://blogs.borland.com/adammarkowitz/archive/2005/12/15/22523.aspx"&gt;Здесь&lt;/a&gt; приведен список основных ShortCut-ов.&lt;/li&gt;&lt;/ul&gt;                &lt;p class="MsoNormal"&gt;После более ближайшего рассмотрения какие то плюсы могут уйти в минусы. А минусы перестанут замечаться или просто выяснится что проблемы из за того что я еще "не умею их готовить".&lt;/p&gt;&lt;p class="MsoNormal"&gt;А вот какие сюрпризы нам преподнесет компилятор будем выяснять в процессе работы.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116203579607808135?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://sundest.blogspot.com/2006/10/turbo-delphi.html' title='Обживаемся в Turbo Delphi'/><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116203579607808135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116203579607808135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116203579607808135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116203579607808135'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/10/turbo-delphi.html' title='Обживаемся в Turbo Delphi'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36727140.post-116200997611475245</id><published>2006-10-28T08:32:00.000+04:00</published><updated>2006-11-11T16:47:49.107+03:00</updated><title type='text'>Hello World!</title><content type='html'>Ну с чего же еще начинать ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/36727140-116200997611475245?l=sundest.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sundest.blogspot.com/feeds/116200997611475245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36727140&amp;postID=116200997611475245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116200997611475245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36727140/posts/default/116200997611475245'/><link rel='alternate' type='text/html' href='http://sundest.blogspot.com/2006/10/hello-world.html' title='Hello World!'/><author><name>Elena Makurochkina</name><uri>http://www.blogger.com/profile/15475010538528973275</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://itblogs.ru/users/avatar.aspx?userid=2335'/></author><thr:total>0</thr:total></entry></feed>
