<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>ИТ блокнот /Николай Войнов/</title><link>http://nvoynov.blogspot.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/nvoynov" /><description>винегрет восприятия информационных технологий</description><language>en</language><managingEditor>noreply@blogger.com (Николай Войнов)</managingEditor><lastBuildDate>Tue, 27 Dec 2011 17:30:18 PST</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">446</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><feedburner:info uri="nvoynov" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-sa/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-sa/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><feedburner:emailServiceId>nvoynov</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fnvoynov" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/nvoynov" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fnvoynov" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fnvoynov" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fnvoynov" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><item><title>Моделирование в цвете</title><link>http://feedproxy.google.com/~r/nvoynov/~3/E2wTS4qAXfU/blog-post.html</link><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Tue, 27 Dec 2011 17:30:18 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-2210922219239835445</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Некоторое время занимаюсь восстановлением документации к одному из сервисов некоторой большой системы. Время примерно поровну распределяется между текстовым редактором, UML и IDEF1x.&lt;br /&gt;
&lt;br /&gt;
Вообще таким объемным реинжинирингом никогда не занимался и моделирование здесь хорошо помогает. Чужие модели входят в голову сложно и долго, особенно когда объем информации довольно большой. И что-то вспомнил про цветное моделирования и решил попробовать на анализе схем данных... и, о чудо, нашел дома даже книжку в которой впервые о нем прочитал :)&lt;br /&gt;
&lt;br /&gt;
В далеких уже 90х, когда я восстановился уже после второго отчисления :), Питер Код с коллегами определил &lt;b&gt;механизм цветового кодирования шаблонов&lt;/b&gt; и &lt;b&gt;ускорение процесса моделирования с помощью цветовых прототипов&lt;/b&gt; [Coad, Lefebvre and De Luca, 1999]. Теперь, приведу кусочки книги, дальше возможно завтра послезавтра попытаюсь проиллюстрировать ER-кой... и буду надеятся на ваши комментарии, скорее всего должен быть в сети более свежий взгляд&lt;br /&gt;
&lt;br /&gt;
К &lt;b&gt;цветовым прототипам&lt;/b&gt; относят:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;&lt;span style="color: red;"&gt;момент или интервал (розовый)&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #bf9000;"&gt;роль (желтый)&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: lime;"&gt;группа, место или предмет (зеленый)&lt;/span&gt;;&lt;/li&gt;
&lt;li&gt;&lt;span style="color: #45818e;"&gt;описание (голубой)&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;b style="color: red;"&gt;Красный&lt;/b&gt; - самый активный цвет и первым привлекает внимание. Этим цветом обозначаются самые динамические классы - объекты, связанные с моментами или интервалами времени. Примерами могут служить &lt;span style="color: red;"&gt;Продажа, Счета-фактура, Резервирование, План полета, Аренда, Оплата&lt;/span&gt;. Все эти объекты будут содержать момент или интервал времени.&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: #bf9000;"&gt;Желтый&lt;/b&gt; используется для ролей, которые выполняют объекты, участвуя в действии в "розовые" моменты и интервалы. Например, &lt;span style="color: #f1c232;"&gt;Продавец и Клиент&lt;/span&gt; (участвует в продаже), ...&lt;br /&gt;
&lt;br /&gt;&lt;b style="color: #76a5af;"&gt;Голубой&lt;/b&gt; используется для обозначения самых пассивных объектов. Это объекты описывающие типы предметов. Например, &lt;span style="color: #45818e;"&gt;Категория работы, Жанр книги, Модель кузова автомобиля, Справочник, Библиография&lt;/span&gt;. Часто являются постоянными или мало изменяющимися в течении времени.&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: lime;"&gt;"Зеленые"&lt;/b&gt; объекты обычно более активны чем "голубые". Их используют для обозначения групп, местоположения или предметов, играющих ("желтые") роли при участии в действиях в ("розовые") моменты времени или интервалы, и описываются ("голубыми") описаниями. Например, &lt;span style="color: lime;"&gt;служащий&lt;/span&gt; может быть связан с объектом &lt;span style="color: #f1c232;"&gt;продавец&lt;/span&gt; для осуществления &lt;span style="color: red;"&gt;торговли&lt;/span&gt;. &lt;span style="color: lime;"&gt;Книгу&lt;/span&gt; можно одолжить во временное пользование.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;ЗЫ&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Надо сказать, что зеленый таки свел меня немного с ума - явно не для трех утра - oднако полезность красного и голубого очевидна :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-2210922219239835445?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4DOqfvq8CLiVPgqi-w6XciGAf1Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4DOqfvq8CLiVPgqi-w6XciGAf1Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4DOqfvq8CLiVPgqi-w6XciGAf1Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4DOqfvq8CLiVPgqi-w6XciGAf1Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=E2wTS4qAXfU:eetXNaKqILo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=E2wTS4qAXfU:eetXNaKqILo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=E2wTS4qAXfU:eetXNaKqILo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=E2wTS4qAXfU:eetXNaKqILo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=E2wTS4qAXfU:eetXNaKqILo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/E2wTS4qAXfU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-28T03:30:18.454+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/12/blog-post.html</feedburner:origLink></item><item><title>Разбор журналов, побаловался с Firebrid</title><link>http://feedproxy.google.com/~r/nvoynov/~3/jKMnIXEDL3M/firebrid.html</link><category>OpenSource</category><category>DBMS</category><category>Работа</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Sat, 15 Oct 2011 00:42:02 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-7410647804168178396</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Где-то с 1999 до конца 2007 я плотно работал с Firebird и Delphi. С начала 2008 больше к этим иснтрументам не прикасался - в основном 1С и самая малость MySQL. И вот буквально в среду столкнулся на работе с задачей анализа логов одной большой системы. Покрутив немного в экселе, стало понятно что электронными таблицами тут не обойтись и решил загрузить Firebird, IBExpert и IB/FB manager (рефакторинг там нравился).&lt;br /&gt;
&lt;br /&gt;
В течении нескольких часов вспоминания загрузил данные из экселя через IBE, сделал таблицу проблем, пару вьюх и процедур для идентификации проблем. И в течении дня обработал 49000 записей (не люблю дурную работу, однако кроме меня делать ее было некому) и получил полторы сотни проблем в которые они уложились. Все довольно просто на первом этапе - выделение шаблона для LIKE в проблему и свзяывание записей журнала с выделенной проблемой (по хорошему нужно бы найти UDF для регулярных выражений). Построил представление с датой первой и последней фиксации проблемы, количества появлений и сколько дней наблюдалась проблема.&lt;br /&gt;
&lt;br /&gt;
ЗЫ&lt;br /&gt;
&lt;br /&gt;
Снова поработать с FB и старыми знакомыми иснтрументами было чертовски приятно, вьюхи, триггеры и процедуки ... красота. Инструменты для других СУБД, с которыми сталкивался) меркнут по функционалу в сравнении с IBE (MS SQL, MySQL). В свое вермя BlazeTop был гораздо приятнее в работе (привет, Дима, Паша, Бузза!) но кажется остался в том далеком 2007, ну и все-таки самый мощный по инструментам был всегда IBE.&lt;br /&gt;
&lt;br /&gt;
Была шальная мысль взять MySQL и опробовать механизмы нечеткого поиска на логах. Внутри есть много похожих записей обвала одинаковых запросов с разными параметрами, что-то типа "Query http://IP/service?action=SomeAction&amp;amp;user_id=2345&amp;amp;service_id=123 ErrorId: 1000333 Error message". Но поскольку опыта не было решил что быстрее будет руками ... Если у кого есть подобный опыт - поделитесь пожалуйста.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-7410647804168178396?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gUuCtD5L4QA-7hEv0QtPWCSsWVE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gUuCtD5L4QA-7hEv0QtPWCSsWVE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gUuCtD5L4QA-7hEv0QtPWCSsWVE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gUuCtD5L4QA-7hEv0QtPWCSsWVE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=jKMnIXEDL3M:XRsoISmakBs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=jKMnIXEDL3M:XRsoISmakBs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=jKMnIXEDL3M:XRsoISmakBs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=jKMnIXEDL3M:XRsoISmakBs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=jKMnIXEDL3M:XRsoISmakBs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/jKMnIXEDL3M" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-15T09:42:02.974+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/10/firebrid.html</feedburner:origLink></item><item><title>Re: История России XX века</title><link>http://feedproxy.google.com/~r/nvoynov/~3/b1AoQ5zCnVA/re-xx.html</link><category>Разное</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Wed, 21 Sep 2011 12:40:41 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-1195477346961057991</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Смотрю потихоньку серию документальных фильмов "История России XX века" Н. Смирнова и нахожусь в тихом шоке. Крайне интересно взять и почитать современный учебник истории начала века и посмотреть чему детей учат...&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-1195477346961057991?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bd6BUWNka0W3Mq2axSJ766D1lzg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bd6BUWNka0W3Mq2axSJ766D1lzg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bd6BUWNka0W3Mq2axSJ766D1lzg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bd6BUWNka0W3Mq2axSJ766D1lzg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=b1AoQ5zCnVA:UATvqL0E7x8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=b1AoQ5zCnVA:UATvqL0E7x8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=b1AoQ5zCnVA:UATvqL0E7x8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=b1AoQ5zCnVA:UATvqL0E7x8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=b1AoQ5zCnVA:UATvqL0E7x8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/b1AoQ5zCnVA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-21T21:40:41.097+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/09/re-xx.html</feedburner:origLink></item><item><title>Radiant CMS на Heroku</title><link>http://feedproxy.google.com/~r/nvoynov/~3/GpRhxySKBQ4/radiant-cms-heroku.html</link><category>Разработка</category><category>OpenSource</category><category>Rails</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Thu, 15 Sep 2011 03:21:07 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-5645792183404537931</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Продолжаю осваивать "свободное сайтостроение". Вчера это было развертывание на Heroku Radiant CMS и поиск фриланцера на дизайн и верстку. Сам процесс установки прошел с одинм осложнением, которого бы не возникло если бы внимательно прочитал &lt;a href="https://github.com/radiant/radiant/wiki/Installing-on-Heroku"&gt;руководство по установке&lt;/a&gt;. Сам, как наверное и многие другие, сначла ставлю а потом читаю ...&lt;br /&gt;
&lt;blockquote&gt;
start it in production mode by running &lt;code&gt;./script/server -e production&lt;/code&gt;. Now go to &lt;a href="http://localhost:3000/admin"&gt;http://localhost:3000/admin&lt;/a&gt;. By visiting this &lt;span class="caps"&gt;URL&lt;/span&gt; the &lt;code&gt;all.js&lt;/code&gt; file will be created (&lt;code&gt;all.js&lt;/code&gt;
 contains all of the javascript required for the Radiant admin UI 
concatenated into a single file).&lt;/blockquote&gt;
Матерые Rails developer не любят Redmine и Radiant потому как они используют старые версии Rails и не поддерживают Bundler, но мне пока гонятся не к чему - нужно знакомое и стабильное. Все меньше и меньше остается во мне программиста - прижилась должность "интегратора 1С" :)&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-5645792183404537931?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/od-WaI0ECHEQurgLy3ZIyhLUC_4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/od-WaI0ECHEQurgLy3ZIyhLUC_4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/od-WaI0ECHEQurgLy3ZIyhLUC_4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/od-WaI0ECHEQurgLy3ZIyhLUC_4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GpRhxySKBQ4:u8bSjsI2TVs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GpRhxySKBQ4:u8bSjsI2TVs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GpRhxySKBQ4:u8bSjsI2TVs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=GpRhxySKBQ4:u8bSjsI2TVs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GpRhxySKBQ4:u8bSjsI2TVs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/GpRhxySKBQ4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-15T12:21:07.912+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/09/radiant-cms-heroku.html</feedburner:origLink></item><item><title>Redmine на Heroku</title><link>http://feedproxy.google.com/~r/nvoynov/~3/YlqCIxTNTOk/redmine-heroku.html</link><category>Инструменты</category><category>OpenSource</category><category>Rails</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Sat, 10 Sep 2011 13:24:00 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-6752634596132365648</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Предложили подработку по переделке существующего сайта, поэтому немного опять играюсь с Rails. Первая проблема это трекер. Последним использовал Redmine, но существующий сервер периодически валится и часто недоступны приложения. Так что подумал и развернул экземплярчик на бесплатном аккаунте Heroku...&lt;br /&gt;
&lt;br /&gt;
Проследовал по &lt;a href="http://blog.firsthand.ca/2010/10/installing-redmine-on-heroku-with-s3.html"&gt;руководству по установке Redmine с хранением файлов на Amazon S3&lt;/a&gt;. Все вроде работает, но есть некоторые нюансы. Главный (спасибо, Роман!) заключался в том, что нужно было сменить стек ruby 1.8.7. По дороге пришлось завести учетную запись на Amazon AWS и потратить $1 (хорошо были копейки на карте), но файлы все-таки не грузятся и пока устал с этим барахтаться. А так все очень даже неплохо - десять минут (если руки прямые, в моем случае несколько часов в течении двух дней) и готов бесплатный экземпляр Redmine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-6752634596132365648?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zpLyb8vMSwDQZKgzy30o3qOsypY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zpLyb8vMSwDQZKgzy30o3qOsypY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zpLyb8vMSwDQZKgzy30o3qOsypY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zpLyb8vMSwDQZKgzy30o3qOsypY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=YlqCIxTNTOk:VeJWUzeQJoY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=YlqCIxTNTOk:VeJWUzeQJoY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=YlqCIxTNTOk:VeJWUzeQJoY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=YlqCIxTNTOk:VeJWUzeQJoY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=YlqCIxTNTOk:VeJWUzeQJoY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/YlqCIxTNTOk" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-10T22:24:00.584+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/09/redmine-heroku.html</feedburner:origLink></item><item><title>SugarCRM, серия статей на DeveloperWorks</title><link>http://feedproxy.google.com/~r/nvoynov/~3/94batywioxQ/sugarcrm-developerworks.html</link><category>Инструменты</category><category>OpenSource</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Wed, 17 Aug 2011 01:53:24 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-4142623821948786558</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;a href="http://www.ibm.com/developerworks/ru/library/l-SugarCRM_part1/"&gt;Часть 1. Свободная CRM-система SugarCRM. Установка, настройка, локализация. &lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/ru/library/l-sugarcrm_02/"&gt;Часть 2. Обзор архитектуры и ключевых модулей&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.ibm.com/developerworks/ru/library/l-sugarcrm_03/"&gt;Часть 3. Пример использования Sugar-CRM&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/ru/library/l-sugarcrm_04/index.html?ca=drs-"&gt;Часть 4. Работа с дополнительными модулями&lt;/a&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-4142623821948786558?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/G0KnhQ1_O-6eZGEKaMFcFCblRK4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G0KnhQ1_O-6eZGEKaMFcFCblRK4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/G0KnhQ1_O-6eZGEKaMFcFCblRK4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/G0KnhQ1_O-6eZGEKaMFcFCblRK4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=94batywioxQ:rw3yj0647rg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=94batywioxQ:rw3yj0647rg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=94batywioxQ:rw3yj0647rg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=94batywioxQ:rw3yj0647rg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=94batywioxQ:rw3yj0647rg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/94batywioxQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-17T10:53:24.917+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/08/sugarcrm-developerworks.html</feedburner:origLink></item><item><title>Шпаргалка: ITSM, управление инцидентами и управление проблемами</title><link>http://feedproxy.google.com/~r/nvoynov/~3/sy06s4dlZIo/itsm.html</link><category>ITSM</category><category>Шпаргалка</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Wed, 03 Aug 2011 11:50:41 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-5195541927374987361</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Работаю с отделом эксплуатации одной крупной системы. Попытки разговаривать на языке разработки ПО понемногу проваливаются. Понимают, но гнут свою линию.&lt;br /&gt;
&lt;br /&gt;
По &lt;a href="http://draft.blogger.com/goog_930061851"&gt;материалам Википедии&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://ru.wikipedia.org/wiki/ITSM"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-4DisFs7QEZw/TjlmF4YhQzI/AAAAAAAAJhU/5sU3TOJq3m4/s1600/%25D0%259F%25D1%2580%25D0%25BE%25D1%2586%25D0%25B5%25D1%2581%25D1%2581+%25D1%2583%25D0%25BF%25D1%2580%25D0%25B0%25D0%25B2%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D1%258F+%25D0%25B8%25D0%25BD%25D1%2586%25D0%25B8%25D0%25B4%25D0%25B5%25D0%25BD%25D1%2582%25D0%25B0%25D0%25BC%25D0%25B8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="255" src="http://2.bp.blogspot.com/-4DisFs7QEZw/TjlmF4YhQzI/AAAAAAAAJhU/5sU3TOJq3m4/s400/%25D0%259F%25D1%2580%25D0%25BE%25D1%2586%25D0%25B5%25D1%2581%25D1%2581+%25D1%2583%25D0%25BF%25D1%2580%25D0%25B0%25D0%25B2%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D1%258F+%25D0%25B8%25D0%25BD%25D1%2586%25D0%25B8%25D0%25B4%25D0%25B5%25D0%25BD%25D1%2582%25D0%25B0%25D0%25BC%25D0%25B8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-aDFf5c3c8c8/TjlmGWjdodI/AAAAAAAAJhY/AdHjDdO9ZGc/s1600/%25D0%259F%25D1%2580%25D0%25BE%25D1%2586%25D0%25B5%25D1%2581%25D1%2581+%25D1%2583%25D0%25BF%25D1%2580%25D0%25B0%25D0%25B2%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D1%258F+%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B1%25D0%25BB%25D0%25B5%25D0%25BC%25D0%25B0%25D0%25BC%25D0%25B8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="171" src="http://1.bp.blogspot.com/-aDFf5c3c8c8/TjlmGWjdodI/AAAAAAAAJhY/AdHjDdO9ZGc/s400/%25D0%259F%25D1%2580%25D0%25BE%25D1%2586%25D0%25B5%25D1%2581%25D1%2581+%25D1%2583%25D0%25BF%25D1%2580%25D0%25B0%25D0%25B2%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D1%258F+%25D0%25BF%25D1%2580%25D0%25BE%25D0%25B1%25D0%25BB%25D0%25B5%25D0%25BC%25D0%25B0%25D0%25BC%25D0%25B8.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-5195541927374987361?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Ue-H6JPhwS3uMI03J5Iq_FkvwSQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ue-H6JPhwS3uMI03J5Iq_FkvwSQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Ue-H6JPhwS3uMI03J5Iq_FkvwSQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Ue-H6JPhwS3uMI03J5Iq_FkvwSQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=sy06s4dlZIo:br5dEcXS-sA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=sy06s4dlZIo:br5dEcXS-sA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=sy06s4dlZIo:br5dEcXS-sA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=sy06s4dlZIo:br5dEcXS-sA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=sy06s4dlZIo:br5dEcXS-sA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/sy06s4dlZIo" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-03T20:50:41.219+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-4DisFs7QEZw/TjlmF4YhQzI/AAAAAAAAJhU/5sU3TOJq3m4/s72-c/%25D0%259F%25D1%2580%25D0%25BE%25D1%2586%25D0%25B5%25D1%2581%25D1%2581+%25D1%2583%25D0%25BF%25D1%2580%25D0%25B0%25D0%25B2%25D0%25BB%25D0%25B5%25D0%25BD%25D0%25B8%25D1%258F+%25D0%25B8%25D0%25BD%25D1%2586%25D0%25B8%25D0%25B4%25D0%25B5%25D0%25BD%25D1%2582%25D0%25B0%25D0%25BC%25D0%25B8.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/08/itsm.html</feedburner:origLink></item><item><title>Шпаргалка: SWEBOK, Проектирование ПО</title><link>http://feedproxy.google.com/~r/nvoynov/~3/GgDKRllE7n4/swebok.html</link><category>Инженерия ПО</category><category>Шпаргалка</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Wed, 03 Aug 2011 11:51:12 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-763803895437642882</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-PNW09GelBD0/TiPqmlElP6I/AAAAAAAAJOM/9Qmvr-MK1TM/s1600/swebok-design.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="212" src="http://4.bp.blogspot.com/-PNW09GelBD0/TiPqmlElP6I/AAAAAAAAJOM/9Qmvr-MK1TM/s400/swebok-design.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;Стандарт просто в тему... Надо как-то найти время и сесть достроить карту по SWEBOK полностью - последнее время часто приходится обращаться.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-763803895437642882?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8bPsb-6VxaiY1iSj9-0DmLgWoDM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8bPsb-6VxaiY1iSj9-0DmLgWoDM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8bPsb-6VxaiY1iSj9-0DmLgWoDM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8bPsb-6VxaiY1iSj9-0DmLgWoDM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GgDKRllE7n4:cF47kiLXfJ0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GgDKRllE7n4:cF47kiLXfJ0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GgDKRllE7n4:cF47kiLXfJ0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=GgDKRllE7n4:cF47kiLXfJ0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=GgDKRllE7n4:cF47kiLXfJ0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/GgDKRllE7n4" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-03T20:51:12.079+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-PNW09GelBD0/TiPqmlElP6I/AAAAAAAAJOM/9Qmvr-MK1TM/s72-c/swebok-design.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/07/swebok.html</feedburner:origLink></item><item><title>SWEBOK Software Requirements MindMap ...</title><link>http://feedproxy.google.com/~r/nvoynov/~3/qmsDJTIy_3w/swebok-software-requirements-mindmap.html</link><category>Инструменты</category><category>OpenSource</category><category>Ruby</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Tue, 14 Jun 2011 09:56:45 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-2175523637381380634</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-D0ta7sBDdCU/TfeQWEIORzI/AAAAAAAAI50/n8Ee17-kcbY/s1600/SWEBOK-1-SoftwareRequirements.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="177" src="http://3.bp.blogspot.com/-D0ta7sBDdCU/TfeQWEIORzI/AAAAAAAAI50/n8Ee17-kcbY/s400/SWEBOK-1-SoftwareRequirements.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Дочитал по-диагонали Супермышление Тони и Барри Бьюзенов, и потренировался на кошечках ... Приятно, что не обнаружил для себя ничего нового и нашел две ссылки по архитектуре... Может и дальше порисую SWEBOK.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="mw-headline" id="FreeMind_-_free_mind_mapping_software"&gt;&lt;a href="http://freemind.sourceforge.net/"&gt;FreeMind&lt;/a&gt; софтина довольно приятная и без сюрпризов тоже не обошлось - заинтересовался продуктом экспорта &lt;a href="http://www.taskjuggler.org/"&gt;TaskJuggler&lt;/a&gt; и потратил часок в попытках завести его под виндой ... болт, но &lt;a href="http://www.taskjuggler.org/screenshots_ide.php"&gt;какие красивые картинки&lt;/a&gt;! Писать проект нужно руками (DSL на Ruby) и красивые картинки будут только под Линукс.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-2175523637381380634?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eGUA_7fN7r3GULZmFWejYRFNUyE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eGUA_7fN7r3GULZmFWejYRFNUyE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eGUA_7fN7r3GULZmFWejYRFNUyE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eGUA_7fN7r3GULZmFWejYRFNUyE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=qmsDJTIy_3w:kOqc5k3VowQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=qmsDJTIy_3w:kOqc5k3VowQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=qmsDJTIy_3w:kOqc5k3VowQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=qmsDJTIy_3w:kOqc5k3VowQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=qmsDJTIy_3w:kOqc5k3VowQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/qmsDJTIy_3w" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-14T18:56:45.653+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-D0ta7sBDdCU/TfeQWEIORzI/AAAAAAAAI50/n8Ee17-kcbY/s72-c/SWEBOK-1-SoftwareRequirements.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/06/swebok-software-requirements-mindmap.html</feedburner:origLink></item><item><title>vTiger OpenSource CRM</title><link>http://feedproxy.google.com/~r/nvoynov/~3/d6j_hS0ZXgc/vtiger-opensource-crm.html</link><category>Инструменты</category><category>OpenSource</category><category>Разное</category><category>Работа</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Fri, 10 Jun 2011 03:45:58 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-4441023209022690184</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;DeweloperWorks посредством Google Reader принес сегодня &lt;a href="http://www.ibm.com/developerworks/ru/library/l-sales_automation/index.html?ca=drs-"&gt;обзорную статью&lt;/a&gt; по OpenSource CRM &lt;a href="http://vtiger.com/"&gt;vTiger CRM 5&lt;/a&gt;. Интересная на первый взгляд штука, т.к. функционал на самом деле довольно широкий. Тут есть такие основные модули как Склад, Продажи, Маркетинг с E-mail рассылкой и Поддержка. Плюс много стронних расширений. В общем решил предложить посмотреть своим начальникам поделиться с общественностью :) До этого хотел им предложить Rails апликуху &lt;a href="http://www.fatfreecrm.com/"&gt;Fat Free CRM&lt;/a&gt;, но чей-то она по сравнению с vTiger слабовата ... один в поле не воин?&lt;br /&gt;
&lt;br /&gt;
Обратил внимание потому как появился у нас новый начальник отдела и стал требовать CRM, воронку продаж ... иначе как он будет перед руководством отчитываться. Должно быть простая штука, но звучит ... воронка продаж! А несколькими днями ранее просили найти софт для рассылки различных новостей и других материалов.&lt;br /&gt;
&lt;br /&gt;
ЗЫ&lt;br /&gt;
&lt;br /&gt;
Почти по Open Source теме - прочел сегодня новость, что GitHub обогнал по количеству проектов другие доступные средства хранения исходного кода.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-4441023209022690184?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/A2rRzg_gxlnzoqaFy8P1TZR0ahQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A2rRzg_gxlnzoqaFy8P1TZR0ahQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/A2rRzg_gxlnzoqaFy8P1TZR0ahQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A2rRzg_gxlnzoqaFy8P1TZR0ahQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d6j_hS0ZXgc:BEtsfDkRJNM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d6j_hS0ZXgc:BEtsfDkRJNM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d6j_hS0ZXgc:BEtsfDkRJNM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=d6j_hS0ZXgc:BEtsfDkRJNM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d6j_hS0ZXgc:BEtsfDkRJNM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/d6j_hS0ZXgc" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-06-10T12:45:58.938+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/06/vtiger-opensource-crm.html</feedburner:origLink></item><item><title>Учебник по RoR от Michael Hartl</title><link>http://feedproxy.google.com/~r/nvoynov/~3/mKieOW5MG8Y/ror-michael-hartl.html</link><category>OpenSource</category><category>Ruby</category><category>Rails</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Wed, 25 May 2011 03:58:12 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-9161206036991854217</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Сейчас &lt;b&gt;&lt;a href="http://russian.railstutorial.org/chapters/beginning"&gt;учебник доступен на русском языке&lt;/a&gt;&lt;/b&gt; - спасибо переводчику!&lt;br /&gt;
&lt;br /&gt;
&lt;span style="text-decoration: line-through;"&gt;Решил "отметить" выход Rails 3.0&lt;/span&gt; Решил я этот пост переписать, т.к. уж слишком все сумбурно с датами и последовательностью вышло. Предыстория осталась таже - собрался со временем и силами почитать &lt;b&gt;&lt;a href="http://guides.rubyonrails.org/"&gt;руководства по Rails 3&lt;/a&gt;&lt;/b&gt;. И в конце &lt;b&gt;&lt;a href="http://guides.rubyonrails.org/getting_started.html"&gt;руководства по быстрому старту&lt;/a&gt;&lt;/b&gt; увидел ссылку на интересный учебник:&lt;br /&gt;
&lt;blockquote&gt;&lt;b&gt;&lt;a href="http://railstutorial.org/book"&gt;Ruby on Rails Tutorial: Learn Rails by Example&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Michael Hartl&lt;/b&gt;&lt;/blockquote&gt;Интересен прежде всего тем, что: (1) разрабатывается &lt;b&gt;пример реального приложения&lt;/b&gt;; (2) разработка сопровождается &lt;b&gt;тестированием на RSpec&lt;/b&gt;; (3) даются &lt;b&gt;основы работы с Git и Github&lt;/b&gt; и (4) идет постоянное &lt;b&gt;развертывание на Heroku&lt;/b&gt; (см. &lt;b&gt;&lt;a href="http://nvoynov.blogspot.com/2010/09/open-source-cloud-computing.html"&gt;Все об open source cloud computing&lt;/a&gt;&lt;/b&gt;,&lt;b&gt;&lt;a href="http://nvoynov.blogspot.com/2010/10/paas-heroku.html"&gt;PaaS Heroku&lt;/a&gt;&lt;/b&gt;). Ну и как еще один бонус - учебник можно использовать просто с нулевого уровня знания Ruby и Rails.&lt;br /&gt;
&lt;br /&gt;
За несколько дней учебник осилил и готовый результат можно пощупать &lt;b&gt;&lt;a href="http://furious-snow-28.heroku.com/"&gt;здесь&lt;/a&gt;&lt;/b&gt; (развернуто на &lt;b&gt;&lt;a href="https://heroku.com/"&gt;Heroku&lt;/a&gt;&lt;/b&gt;) а исходники можно взять из &lt;b&gt;&lt;a href="http://github.com/nvoynov/sample_app"&gt;репозитория на github&lt;/a&gt;&lt;/b&gt;. ИМХО, учебник довольно достойный и думаю его еще раз пересмотреть и иногда подглядывать.&lt;br /&gt;
&lt;br /&gt;
Хочется также отметить знакомство с небольшим набором полезных гемов  для тестирования (factory_girl_rails и faker). Ну и конечно же  самим модульным и интеграционным тестированием Rails.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PS&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
Конечно "прохождение" учебника не обошлось без сюрпризов, связанных с ОС (в оригинале MacOS) и некоторыми особенностями Heroku. Некоторые вещи на винде просто не ставятся - поставьте &lt;b&gt;DevKit&lt;/b&gt; c rubyinstaller.org&lt;br /&gt;
&lt;br /&gt;
Существует версия этого учебника для Rails 2.3. В версии для 2.3 при тестировании контроллеров используются техника заглушек и подстановок (поправьте как правильно), при которой подделываются вызовы базы данных, что ускоряет тестирование. Однако автор решил отказаться от этой техники, т.к. время прохождения тестов совершенно незначительное, а вопросов от читателей стало гораздо меньше.&lt;br /&gt;
&lt;br /&gt;
Rails Guides можно получить прямо в каталог doc rails проекта: &lt;b&gt;rake doc:guides&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-9161206036991854217?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/QETn8jCux1DsOZ1QHOQQY3SoMEw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QETn8jCux1DsOZ1QHOQQY3SoMEw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/QETn8jCux1DsOZ1QHOQQY3SoMEw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/QETn8jCux1DsOZ1QHOQQY3SoMEw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mKieOW5MG8Y:SVA5Q0l2BYQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mKieOW5MG8Y:SVA5Q0l2BYQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mKieOW5MG8Y:SVA5Q0l2BYQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=mKieOW5MG8Y:SVA5Q0l2BYQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mKieOW5MG8Y:SVA5Q0l2BYQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/mKieOW5MG8Y" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-25T12:58:12.588+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">8</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2010/09/ror-michael-hartl.html</feedburner:origLink></item><item><title>Поминальное и о законе Мура</title><link>http://feedproxy.google.com/~r/nvoynov/~3/Rae6e9kn3Ng/blog-post_28.html</link><category>Разное</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Fri, 29 Apr 2011 03:19:55 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-767196520096410469</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;В далеком 1999 я написал свою первую "серьезную" программу на заказ. Программа вела каталог товаров и выполняла привычные учетные операции продажи, закупки, возвраты и списания;&amp;nbsp; выгружала прайс-листы, печатала отчеты и делала какую-то аналитику (всего сейчас и не упомнить). Тогда она начиналась как софт который работал в одном офисе, позже каким-то образом ее отмасштабировали еще на пару десятков розничных точек, но я уже в этом не участвовал (уехал из Харькова и передал пару софтин на поддержку товарищу).&lt;br /&gt;
&lt;br /&gt;
В первые три года программа пережила несколько модификаций. Сначала это был Delphi / BDE / Paradox и встроенный отчетник. В окончательном варианте уже был Delphi / IBX / Firebird / FastReport&lt;br /&gt;
&lt;br /&gt;
Сегодня товарищ сообщил, что программа официально закончила свой жизненный цикл и компания перешла на какой-то другой софт похожий по функциональности. Что интересно несколько лет назад была попытка перейти на 1С, но на нормальное внедрение просто не захотели тратится, хотя основные доработки были уже сделаны.&lt;br /&gt;
&lt;br /&gt;
&lt;strike&gt;Развеселый анекдотец про свинью-копилочку&lt;/strike&gt; Простая история о том как простенький и седенький уже софт, построенный более 12 лет назад, спокойно себе все эти годы работал и при этом был единственной ИС среднего торгового предприятия. Помянем :)&lt;br /&gt;
&lt;br /&gt;
ЗЫ&lt;br /&gt;
&lt;br /&gt;
На тему почему-то вспоминается пост Димы Харди, который проскакивал в общих записях -&amp;nbsp; &lt;b&gt;&lt;a href="http://dimahardie.blogspot.com/2011/03/blog-post_31.html"&gt;о будущем нарушении закона Мура&lt;/a&gt;&lt;/b&gt;. &lt;br /&gt;
&lt;blockquote&gt;Сейчас внутри вашего мобильного  телефона скрыта больше вычислительной мощности, чем было в распоряжении  NASA в 1969 году, когда они отправили людей на Луну. Современная  игровая приставка ценой около 300 долларов обладает мощностью военного  суперкомпьютера 1997 года, стоившего миллионы.&lt;br /&gt;
&lt;br /&gt;
Забавно,  но создается, знаете, такое впечатление, что успехи человечества как  раз-таки обратно пропорциональны тем вычислительным мощностям, которыми  оно располагает.&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-767196520096410469?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pDu4tqfFyQvLT7Mt7L4_jddzb5g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pDu4tqfFyQvLT7Mt7L4_jddzb5g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pDu4tqfFyQvLT7Mt7L4_jddzb5g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pDu4tqfFyQvLT7Mt7L4_jddzb5g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Rae6e9kn3Ng:K33cY9EcoRI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Rae6e9kn3Ng:K33cY9EcoRI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Rae6e9kn3Ng:K33cY9EcoRI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=Rae6e9kn3Ng:K33cY9EcoRI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Rae6e9kn3Ng:K33cY9EcoRI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/Rae6e9kn3Ng" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-29T12:19:55.317+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/04/blog-post_28.html</feedburner:origLink></item><item><title>ERWin Community Edition</title><link>http://feedproxy.google.com/~r/nvoynov/~3/j6Zuxitjg28/erwin-community-edition.html</link><category>Инструменты</category><category>Разработка</category><category>DBMS</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Sun, 27 Mar 2011 10:26:35 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-4003921936203718479</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&amp;nbsp;На прошлой неделе обнаружил новую версию &lt;a href="http://erwin.com/"&gt;ERWin&lt;/a&gt; и даже бесплатный ее вариант &lt;a href="http://erwin.com/products/detail/ca_erwin_data_modeler_community_edition/"&gt;CA ERwin Data Modeler Community Edition&lt;/a&gt;. Основные &lt;a href="http://www.heureka.com/upload/art_cas_erwin_community_edition_matrix.pdf"&gt;ограничения ERWin Community Editon&lt;/a&gt; - 25 сущностей на модель, ограниченный выбор целевых СУБД, и конечно же система типов.&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;ИМХО, ERWin - это лучшее средство для проектирования реляционных баз данных. Освоил его еще когда учился в ВУЗе. Когда дело касалось БД, без него не обходился ни один проект. Здесь велось прямое и обратное проектирование и даже некоторые элементы генерации программного кода клиентских приложений, и, уверен, пока будут живы реляционные базы данных он еще не раз пригодится. &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Плохие конечно ограничения, особенно система типов (как  следствие ограниченный набор целевых СУБД) и 25 сущностей. В таком  варианте инструмент подходит разве что для баловства. При серьезной работе с реляционными СУБД - своих денег однозначно стоит. Это при всей моей любви к open source и наличии неплохих инструментов для конкретных целевых СУБД.&lt;br /&gt;
&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-4003921936203718479?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/D3wppFnkIhlzqB3nntJdMygYoDU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D3wppFnkIhlzqB3nntJdMygYoDU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/D3wppFnkIhlzqB3nntJdMygYoDU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/D3wppFnkIhlzqB3nntJdMygYoDU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=j6Zuxitjg28:k7ooLKRKixc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=j6Zuxitjg28:k7ooLKRKixc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=j6Zuxitjg28:k7ooLKRKixc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=j6Zuxitjg28:k7ooLKRKixc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=j6Zuxitjg28:k7ooLKRKixc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/j6Zuxitjg28" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-27T19:26:35.866+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/03/erwin-community-edition.html</feedburner:origLink></item><item><title>Re: ReqLabs 2011</title><link>http://feedproxy.google.com/~r/nvoynov/~3/rEvfbENmp5g/re-reqlabs-2011.html</link><category>Инженерия ПО</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Sat, 30 Apr 2011 06:01:45 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-3739126831896847418</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;7.04.11 выложили &lt;a href="http://www.req-labs.ru/program/%20"&gt;перзентации&lt;/a&gt; и пообещали в скором времени видео докладов.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Отгремела &lt;b&gt;&lt;a href="http://www.req-labs.ru/"&gt;ReqLabs 2011&lt;/a&gt;&lt;/b&gt;. И во время этого победоносного грома, я сидел в качестве модератора секции, проходившей в Зимнем саду.  Простите, если что не так - первый опыт модерирования, и спасибо за него. Жаль правда не удалось послушать все доклады, но тут больше сам  виноват, т.к. возможность такая была.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Собственно все прошло довольно хорошо - активно, весело, иногда задиристо. Но ощущение осталось немного странное. От конференции обычно ожидаешь чего-то нового, неожиданного; структурируешь и по новому осознаешь некоторые известные темы;&amp;nbsp; уходишь с новыми идеями. Но ничего из этого не случилось, хотя все было на последних двух мероприятиях - осенью&amp;nbsp; &lt;a href="http://nvoynov.blogspot.com/2010/11/seo.html"&gt;семинар по поисковой оптимизации и интернет-маркетингу&lt;/a&gt;, и немногим ранее &lt;a href="http://nvoynov.blogspot.com/2010/10/re-rubyconfua-2010.html"&gt;RubyConfUa&lt;/a&gt;. Не могу точно сформулировать почему, но сейчас кажется что после той системности с которой вопросы требований освятили Вигерс, Лефенгуэлл с Уидригом и Алистер Коберн - все остальные вариации на эту тему с которыми сталкивался после - просто меркнут...&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;К докладчикам претензий нету - скорее к программному комитету, следовательно, и ко мне - не доработали. Все докладчики прежде всего практики со своим собственным опытом, который они и пытались донести в своих докладах. Но кроме личного опыта есть еще классическая дисциплина инженерии ПО, которую нельзя игнорировать, а скорее наоборот использовать ее в качестве общего контекста и хорошей отправной точки. Это как бы немного похоже на разницу между шаблонами проектирования GoF и&amp;nbsp; &lt;a href="http://nvoynov.blogspot.com/2007/02/blog-post.html"&gt;принципами ООП&lt;/a&gt;, но менее технически корректно в силу того, что аналитик на одну наполовину инженер а на другую психолог.&lt;br /&gt;
&lt;br /&gt;
Вроде как и темы интересные, докладчики грамотные, и диалог состоялся. Но системности не было, выводы недостаточно четкие. (TODO: найти информацию о написании научных статей, оформлении экспериментов, правильных презентаций). Вот для примера &lt;b&gt;&lt;a href="http://www.nvoynov.com/download/work_with_requirements.odt?attredirects=0&amp;amp;d=1"&gt;Рецепт работы с требованиями&lt;/a&gt;&lt;/b&gt; - завершающие главы из книги &lt;b&gt;Принципы работы с требованиями к программному обеспечению. Унифицированный подход&lt;/b&gt;.&lt;b&gt; &lt;/b&gt;От одного из авторов этой прекрасной книги кажется вышло недавно что-то новое.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;ЗЫ&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Всю конференцию кажется снимали на видео, доклады тоже должны были  собрать. Так что сам надеюсь, что видео будет выкладываться и мне  удастся посмотреть доклады.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Надеялся увидеть Сергея Орлика (что-то совсем забыли пригласить) и  Юрия Булого (все хотел лично познакомится), Славу Панкратова (он же  вроде руководитель тренинг-центра Luxoft?). Также было бы крайне  интересно услышать людей из около-ПО-областей ... скажем научных  экспериментальных проектов ...&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Встретил своего первого киевского работодателя - моя первая коробочная система все еще жива :)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Кстати, пригласил гостем любимого преподавателя и мы успели немного обсудить наши впечатления и они оказались крайне схожими даже оглядываясь на то что мы слушали разные доклады.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;Если у кого есть "лишние" (эти книги не могут быть лишними!) печатные экземпляры Вигерса и Коберна - подарите мне или продайте. Также могу поменяться на какие-то новые книги, которые можно найти сегодня на рынке.&lt;br /&gt;
&lt;br /&gt;
Ну и на закуску - каким я увидел этот день со своего места. Радует количество девушек ;)&lt;/div&gt;&lt;embed flashvars="host=picasaweb.google.com&amp;amp;noautoplay=1&amp;amp;hl=ru&amp;amp;feat=flashalbum&amp;amp;RGB=0x000000&amp;amp;feed=https%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fnvoynov%2Falbumid%2F5588161381264967489%3Falt%3Drss%26kind%3Dphoto%26hl%3Dru" height="267" pluginspage="http://www.macromedia.com/go/getflashplayer" src="https://picasaweb.google.com/s/c/bin/slideshow.swf" type="application/x-shockwave-flash" width="400"&gt;&lt;/embed&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-3739126831896847418?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UwpMnj4A1jsThr3grjE1uYIDsag/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UwpMnj4A1jsThr3grjE1uYIDsag/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UwpMnj4A1jsThr3grjE1uYIDsag/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UwpMnj4A1jsThr3grjE1uYIDsag/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rEvfbENmp5g:F4cAY5rDp6A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rEvfbENmp5g:F4cAY5rDp6A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rEvfbENmp5g:F4cAY5rDp6A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=rEvfbENmp5g:F4cAY5rDp6A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rEvfbENmp5g:F4cAY5rDp6A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/rEvfbENmp5g" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-30T15:01:45.584+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/03/re-reqlabs-2011.html</feedburner:origLink></item><item><title>Прототипирование GUI в Pencil Project</title><link>http://feedproxy.google.com/~r/nvoynov/~3/aWkQEFgAcyA/gui-pencil-project.html</link><category>Инструменты</category><category>Разработка</category><category>OpenSource</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Thu, 17 Mar 2011 08:28:54 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-2699094418332649537</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Вчера, в связи с посещением специалиста по сайтам, озадачился поиском инструментов прототипирования интерфейсов пользователя. Собственно их довольно много есть, но я искал приличный open source и остановился довольно быстро. Сейчас сижу играюсь с инструментом под названием &lt;b&gt;&lt;a href="http://pencil.evolus.vn/en-US/Home.aspx"&gt;Pencil&lt;/a&gt;&lt;/b&gt;. Отличная простая удобная и мощная штука для тех кому нужно быстро чего-нибудь нарисовать. Начиная с простых диаграмм до довольно сложных пользовательских интерфейсов.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-vluEoAxb4eI/TYH_fvZbIxI/AAAAAAAAG5g/tnP_HG7j7Fo/s1600/pencilproject.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="288" src="https://lh3.googleusercontent.com/-vluEoAxb4eI/TYH_fvZbIxI/AAAAAAAAG5g/tnP_HG7j7Fo/s400/pencilproject.PNG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Штучка маленькая да удаленькая. Построена на XUL и поставляется в двух вариантах - в качестве расширения для Firefox и как самостоятельное приложение под все популярные операционные системы. Мощная система расширений и &lt;b&gt;&lt;a href="http://pencil.evolus.vn/en-US/Downloads/Stencils.aspx"&gt;много полезных дополнений&lt;/a&gt;&lt;/b&gt;. Полученные прототипы можно выгрузить в такие форматы, как PNG, HTML, PDF, ODF. Можно пользоваться картинками &lt;b&gt;&lt;a href="http://www.openclipart.org/"&gt;OpenClipart&lt;/a&gt;&lt;/b&gt; из интернет и легко создавать собственные библиотеки. &lt;br /&gt;
&lt;br /&gt;
С последними пунктами пока не до конца все понятно - клипарт ищет но ничего не находит, библиотеки элементов которые создаешь под проект автоматически не сохраняются. Еще конечно бы хотелось деревянной навигации по элементам интерфейса, т.к. табов для средних проектов не хватит. Если раскатывать губу - еще наследования шаблонов. А вообще - супер впечатление - возьмите на заметку инструмент.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-2699094418332649537?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/50boOckGjM_WrFV9942OhT8pMa4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/50boOckGjM_WrFV9942OhT8pMa4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/50boOckGjM_WrFV9942OhT8pMa4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/50boOckGjM_WrFV9942OhT8pMa4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=aWkQEFgAcyA:Ezbf5_OrBgs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=aWkQEFgAcyA:Ezbf5_OrBgs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=aWkQEFgAcyA:Ezbf5_OrBgs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=aWkQEFgAcyA:Ezbf5_OrBgs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=aWkQEFgAcyA:Ezbf5_OrBgs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/aWkQEFgAcyA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-17T17:28:54.997+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/-vluEoAxb4eI/TYH_fvZbIxI/AAAAAAAAG5g/tnP_HG7j7Fo/s72-c/pencilproject.PNG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/03/gui-pencil-project.html</feedburner:origLink></item><item><title>SEO сказки</title><link>http://feedproxy.google.com/~r/nvoynov/~3/d-Gw2SzI-zg/seo.html</link><category>Разработка</category><category>Rails</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Thu, 17 Mar 2011 07:11:14 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-2746706879797901371</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Случилось нечто совершенно неожиданного ... приходили в гости оптимизаторы, посмотрели статистику GoogleAnalytics и похвалили за довольно хороший результат как для сайта, который специально не раскручивали.&lt;br /&gt;
&lt;br /&gt;
История с сайтом уже рассказывал (легко найдете пост по метке Rails), но думаю нелишним будет повторить основные моменты. Сделали его довольно быстро, но никаким даже намеком на SEO там не пахло. Сначало это было не так видно просто потому, что никто не знал как и куда правильно смотреть! Про сайты я знал мало и моя роль в проекте ограничивалась выгрузкой данных о товарах из информационной системы.Ответственные и заинтересованные немного походили по разделам и решили что работа сделана, подрядчик получил оплату а мы надежду на новых клиентов и безоблачного будущего.&lt;br /&gt;
&lt;br /&gt;
По легенде, будущее должны были обеспечивать ссылки на товары нашего сайта из поисковых систем. Не знаю на каком основании решили, что только из-за наличия сайта он уже должен быть на первой странице и приносить прибыль ... решили спросить меня и пришлось начинать разбираться. Уже первые расследования дела сайтостроителей привели в легкий ступор. На вскидку приведу всего два примера, которыми сказано все - буквально анти-паттерны:&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;&lt;li&gt; &lt;b&gt;один заголовок на весь сайт&lt;/b&gt; - все страницы назывались "Компания::Компания";&amp;nbsp;&lt;/li&gt;
&lt;li&gt;полный &lt;b&gt;бардак со ссылками&lt;/b&gt; - страница "О компании" ссылка &lt;domain&gt;domain.com/article/15, страница "Новости" - &lt;domain&gt;domain.com/articles/Новости вместо /company и /news &lt;/domain&gt;&lt;/domain&gt;&lt;/li&gt;
&lt;/ol&gt;После непродолжительной ругани с подрядчиками мы от них избавились, и с помощью товарища попытались навести справедливость по нашему хаотическо-отрывочному пониманию поисковой оптимизации и статьям Ашманова... Сделали нормальные ссылки для статических страниц и поменяли им всем заголовки на уникальные; начали&amp;nbsp; динамически генерировать заголовки и описания для групп и товаров; добавили RSS; начали генерировать Sitemap. По-дороге сначала немного почистили сайт от лишнего кода (просто лишних фалов разработки. котрые не участвовали в работе вообще!), а потом и вовсе полностью переписали код относящийся к каталогу товаров. Звучит довольно просто и быстро, но только не для человека, который раньше никогда с этим не сталкивался.&lt;br /&gt;
&lt;br /&gt;
Время шло, и иногда мы даже стали попадать на первые страницы. И решили послать меня на семинар по рекламе в интернет и поисковой оптимизации. Все прошло просто отлично (включая перерывы на кофе и прекрасный обед), мне наконец удалось упорядочить существующие отрывочные знания, избавится он некоторых мифов и получить практические советы.&lt;br /&gt;
&lt;br /&gt;
И вот, мы наконец решились их позвать... Они провели быстренький внешний аудит сайта; посмотрели статистику GoogleAnalytics ... Конечно явных ляпов еще осталось, но они уже не технические а скорее психологические. Плюс статистика сказал, что с поиска идут как низкочастотные так и среднечастоные запросы. Ну и общие показатели посещаемости как количественные так и качественные (время проведенное на сайте, показатель отказов, ...), как для сайта существующего всего два года и который не раскручивали, также очень хорошие.&lt;br /&gt;
&lt;br /&gt;
PS&lt;br /&gt;
&lt;br /&gt;
По дороге узнал, что для блога 80% отказов - обычный показатель и этот блог не исключение.&lt;br /&gt;
&lt;br /&gt;
До конца недели постараюсь устранить одну явную недоработку в заголовках - обещают что должна хорошо добавить посетителей - поделюсь если сработает.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-2746706879797901371?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ldUWEDrKmOEPGiS-N02kwb4TewU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ldUWEDrKmOEPGiS-N02kwb4TewU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ldUWEDrKmOEPGiS-N02kwb4TewU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ldUWEDrKmOEPGiS-N02kwb4TewU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d-Gw2SzI-zg:IWhWyd4AxQk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d-Gw2SzI-zg:IWhWyd4AxQk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d-Gw2SzI-zg:IWhWyd4AxQk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=d-Gw2SzI-zg:IWhWyd4AxQk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=d-Gw2SzI-zg:IWhWyd4AxQk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/d-Gw2SzI-zg" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-17T16:11:14.435+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/03/seo.html</feedburner:origLink></item><item><title>Принципы объектно-ориентированного проектирования. OO Design Principles</title><link>http://feedproxy.google.com/~r/nvoynov/~3/AW4-2GEKbAA/blog-post.html</link><category>Разработка</category><category>ООП</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Wed, 16 Mar 2011 17:38:33 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-7677357076777549837</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;blockquote&gt;Само &lt;b&gt;использование объектно-ориентированного языка программирования&lt;/b&gt;, совсем не означает &lt;b&gt;хорошего объектно-ориентированного дизайна&lt;/b&gt; приложений на нем написанных. Конечно не для каждого приложения правильный дизайн критичен, но он явно выходит на первые позиции при дальнейшей поддержке и развитии.&lt;br /&gt;
&lt;br /&gt;
Думаю большинство разработчиков знает о &lt;b&gt;шаблонах проектирования GOF&lt;/b&gt;, важных, полезных и готовых практических решений. И все-таки шаблоны GOF - это лишь частные случаи более общих принципов объектно-ориентированного дизайна. Лучшее, что я читал по этой теме - книга Роберта Мартина "Быстрая разработка программ. Принципы, примеры, практика". &lt;/blockquote&gt;&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=5553879771699141855&amp;amp;postID=7677357076777549837" name="SPR"&gt;&lt;/a&gt;Принцип персональной ответственности (SRP)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Существует лишь одна причина, приводящая к изменению класса. Если существует несколько мотивов для изменения класса, ему соотвествует более одной ответственности.&lt;br /&gt;
Ось изменения является таковой лишь в том случае, если изменения действительно происходят. Применять принцип SRP следует только в том случае, когда это оправдано.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=5553879771699141855&amp;amp;postID=7677357076777549837" name="OCP"&gt;&lt;/a&gt;Принцип открытия-закрытия (OCP)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Программные объекты (классы, модули, функции и т.д.) должны быть открыты для расширения, но в тоже время закрыты для модификации.&lt;br /&gt;
Модули, соответствующие принципу открытия-закрытия, имеют два основных признака.&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;«Открыто для расширения» означает, что поведение модуля может быть расширено. По мере изменения требований приложение можно расширить модуль за счет включения новых типов поведения, соответствующих этим изменениям.&lt;/li&gt;
&lt;li&gt;«Закрыто для модификации» означает что в результате расширения поведения модуля изменения в исходном или двоичном коде модуля не производятся. Двоичная исполняемая версия модуля (DLL, JAR, EXE) остается неизменной.&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;i&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=5553879771699141855&amp;amp;postID=7677357076777549837" name="LSP"&gt;&lt;/a&gt;Принцип подстановки Лискоу (LSP)&lt;br /&gt;
&lt;/b&gt;&lt;/i&gt; &lt;br /&gt;
&lt;ol&gt;&lt;li&gt;Подтипы должны быть заменяемы их исходными типами.&lt;/li&gt;
&lt;li&gt;Необходимо четко усвоить следующее правило. Если каждому объекту О1 типа S соответствует объект О2 типа Т, причем S является подтипом Т. Для всех программ Р, определенных на основе Т, поведение Р не меняется при замене О1 на О2.&lt;br /&gt;
&lt;/li&gt;
&lt;/ol&gt;Основными механизмами, следующими по значимости за принципом OCP, являются абстракция и полиморфизм. В статически типизированных языках (С++, Java, Delphi), одним из ключевых принципов, поддерживающих абстракцию и полиморфизм является наследование.&lt;br /&gt;
&lt;br /&gt;
Какими основными принципами следует руководствоваться при использовании механизма наследования? Какими характеристиками должна обладать оптимальная структура наследования? Какие причины ведут к созданию иерархий, структура которых не согласуется с системой OCP? Ответы на эти вопросы и дает LSP.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=5553879771699141855&amp;amp;postID=7677357076777549837" name="DIP"&gt;&lt;/a&gt;Принцип инверсии зависимостей (DIP)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Модули высокого уровня не должны зависеть от модулей низкого уровня. Оба типа модулей обязаны зависеть от абстракций. Абстракции не должны зависеть от подробностей. Подробностям следует зависеть абстракций.&lt;br /&gt;
&lt;br /&gt;
«... любые хорошо структурированные объектно-ориентированные архитектуры имеют четко определенные слои, каждый из которых поддерживает некоторый компактный набор служб с помошью хорошо определенного и контролируемого интерфейса» Г. Буч&lt;br /&gt;
&lt;br /&gt;
Это имеет примерно следующий вид Policy Layer - &amp;gt; Mechanism Layer -&amp;gt; Utility Layer&lt;br /&gt;
Более совершенная модель появляется когда слой верхнего уровня объявляет абстрактный интерфейс для необходимых служб. Затем на основе этих абстрактных интерфейсов реализуются слои нижних уровней. Каждый класс более высокого уровня с помощью абстрактного интерфейса использует следующий нижайший уровень. Таким образом, слои верхнего уровня не зависят от слоев нижнего уровня. Вместо этого слои расположенные ниже, зависят от абстрактных служебных интерфейсов, объявленных в верхних слоях. Нарушаются не только транзитивные зависимости PolicyLayer от UtilityLayer но и также непосредственная&lt;br /&gt;
зависимость PolicyLayer от MechanismLayer.&lt;br /&gt;
Policy Layer - &amp;gt; Policy Layer Interface - &amp;gt; Mechanism Layer -&amp;gt; Mechanism Layer&lt;br /&gt;
Interface - &amp;gt; Utility Layer&lt;br /&gt;
&lt;br /&gt;
Проще говоря, рекомендуется не использовать зависимость от статичного класса – все взаимоотношения в программе поддерживаются через абстрактные интерфейсы.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;ни одна переменная не должна содержать указатель или ссылку на статичный класс;&lt;/li&gt;
&lt;li&gt;ни один класс не должен порождаться статичным классом;&lt;/li&gt;
&lt;li&gt;ни один метод не должен отвергать метода реализации любого из базовых классов.&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;Данное решение не является исчерпывающим. Случается, что в интерфейс непостоянного класса следует вносить изменения, и эти изменения должны распространяться на абстрактный интерфейс, представляющий класс. Подобные изменения нарушают изоляцию абстрактного интерфейса. С другой стороны, если обратить внимание, что клиентские классы объявляют необходимые им сервисные интерфейсы, можно заметить, что интерфейс изменяется только в случае изменения клиента. Изменения же в классах, реализующих абстрактный интерфейс, не оказывают влияния на клиента.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;a href="http://www.blogger.com/post-edit.g?blogID=5553879771699141855&amp;amp;postID=7677357076777549837" name="ISP"&gt;&lt;/a&gt;Принцип отделения интерфейса (ISP)&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Клиенты не должны попадать в зависимость от методов, которыми они не пользуются.&lt;br /&gt;
&lt;br /&gt;
Классы, имеющие «тучные» интерфейсы, недостаточно компактны. Эти интерфейсы можно разбить на группы методов, и каждая группа обслуживает различный набор клиентов. Клиенты вынуждено зависят от методов, которыми они не пользуются, они становятся субъектами тех изменений, которыми подвержены эти методы. В результате между всеми клиентами могут возникать непредсказуемые состыковки. Другими словами, если клиент находится в зависимости от класса, содержащего неиспользуемые данным клиентом методы, которые применяются другими клиентам, то клиент находится под влиянием изменений, вносимых в класс этими клиентами. Желательно избегать подобных состыковок, поэтому необходимо отделить интерфейсы.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;PS &lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Если заинтересовала тема - обязательно читайте далее в качестве продолжения&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;a href="http://nvoynov.blogspot.com/2007/05/blog-post_31.html"&gt;Метрики ООП проектирования&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href="http://nvoynov.blogspot.com/2007/06/blog-post_18.html"&gt;Принципы упаковки программных проектов&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href="http://nvoynov.blogspot.com/2007/06/grasp.html"&gt;Шаблоны распределения обязанностей&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
и обратите внимание на оригинальные материалы по теме&lt;br /&gt;
&lt;i&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;a href="http://www.objectmentor.com/resources/articles/oodmetrc.pdf"&gt;OO Design Quality Metrics&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.objectmentor.com/resources/articles/Principles_and_Patterns.pdf"&gt;Design Principles and Design Patterns&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-7677357076777549837?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Uoup4urDUWQjIJT_xtZk0s5BPZw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uoup4urDUWQjIJT_xtZk0s5BPZw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Uoup4urDUWQjIJT_xtZk0s5BPZw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Uoup4urDUWQjIJT_xtZk0s5BPZw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=AW4-2GEKbAA:lZB5i2miGb0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=AW4-2GEKbAA:lZB5i2miGb0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=AW4-2GEKbAA:lZB5i2miGb0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=AW4-2GEKbAA:lZB5i2miGb0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=AW4-2GEKbAA:lZB5i2miGb0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/AW4-2GEKbAA" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-17T02:38:33.412+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2007/02/blog-post.html</feedburner:origLink></item><item><title>NO LOGO Наоми Кляйн и freelance</title><link>http://feedproxy.google.com/~r/nvoynov/~3/rqoDS1jP26E/no-logo-freelance.html</link><category>Книги</category><category>Работа</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Tue, 15 Mar 2011 06:13:14 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-5039852334102431032</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Читаю &lt;b&gt;&lt;a href="http://ru.wikipedia.org/wiki/No_Logo"&gt;NO LOGO. Люди против брендов&lt;/a&gt;&lt;/b&gt; и в части "Без рабочих мест" масса интересной информации об изменениях в трудовой занятости США и Европы после перевода производства на аутсорсинг&amp;nbsp; в страны третьего мира. Несколько интересных фактов про MS и силиконовую долину, почему начали популяризировать freelance ...&lt;br /&gt;
&lt;br /&gt;
В общем, чтиво довольно интересное. И где-то перекликается со шведами "менеджмент пляшет под дудку таланта" - там также свободное художество и минимализация штата ... Все так, однако проблема все же системная и где-то аукнется - совсем не для каждого вида труда можно на freelance прожить.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-5039852334102431032?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/exhVqGvRd1LJzxVRLl5Uy3iwwLo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/exhVqGvRd1LJzxVRLl5Uy3iwwLo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/exhVqGvRd1LJzxVRLl5Uy3iwwLo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/exhVqGvRd1LJzxVRLl5Uy3iwwLo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rqoDS1jP26E:G8oD09gxGXA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rqoDS1jP26E:G8oD09gxGXA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rqoDS1jP26E:G8oD09gxGXA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=rqoDS1jP26E:G8oD09gxGXA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=rqoDS1jP26E:G8oD09gxGXA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/rqoDS1jP26E" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-15T15:13:14.916+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/03/no-logo-freelance.html</feedburner:origLink></item><item><title>Req Labs, Киев, 25 марта</title><link>http://feedproxy.google.com/~r/nvoynov/~3/5xzG5QyBEAo/req-labs-25.html</link><category>Обучение</category><category>Инженерия ПО</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Thu, 24 Feb 2011 03:40:41 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-641931177970719804</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Где-то уже месяц как сформировали &lt;a href="http://www.req-labs.ru/program/"&gt;программу конференции&lt;/a&gt; - приходите, будет интересно.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-641931177970719804?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TJtyga5ToQAcNP_67QM9gmC6CFI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TJtyga5ToQAcNP_67QM9gmC6CFI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TJtyga5ToQAcNP_67QM9gmC6CFI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TJtyga5ToQAcNP_67QM9gmC6CFI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=5xzG5QyBEAo:cpLHiMh5fUg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=5xzG5QyBEAo:cpLHiMh5fUg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=5xzG5QyBEAo:cpLHiMh5fUg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=5xzG5QyBEAo:cpLHiMh5fUg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=5xzG5QyBEAo:cpLHiMh5fUg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/5xzG5QyBEAo" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-24T13:40:41.013+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/02/req-labs-25.html</feedburner:origLink></item><item><title>Re: Андреас Эшбах "Выжжено"</title><link>http://feedproxy.google.com/~r/nvoynov/~3/hTanmAEGWEU/re_28.html</link><category>Книги</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Fri, 18 Feb 2011 09:09:09 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-2590608901629984990</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;blockquote&gt;Захватывающее погружение в нефтяное болото, в котором увязла цивилизация и энергетический коллапс, который неизбежно из этого болота вытекает ...&lt;br /&gt;
&lt;br /&gt;
... глоток свежего воздуха в мутном болоте унылого "сетевого реализма" и прочих вещей, которые следовало бы называть "технотриллером" или "технократическим детективом" &lt;/blockquote&gt;По &lt;a href="http://dimahardie.blogspot.com/2011/01/blog-post_19.html"&gt;наводке Димы Харди&lt;/a&gt; прочел книжку из темы. Очень даже полезное и увлекательное чтиво. Обычно "читаю" только в транспорте по дороге на работу или назад, но эту совсем не хотелось отпускать и тратил еще немного времени перед сном. &lt;a href="http://fantlab.ru/autor932"&gt;Рассказывают&lt;/a&gt;, что автор изучал авиационно-космическую технику в ВУЗе и начинал свою карьеру как программист. Чем-то напомнило Зодиак Нила Стивенсона, который тоже очень даже хорошо в свое время пошел.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS&lt;br /&gt;
&lt;br /&gt;
В продолжение прочел еще "Один триллион долларов" и "Нобелевская премия". "Триллион" не сильно впечатлил после первой книжки, но "премия" пошла очень-и-очень - потрясающая динамика и интересный поворот событий. Вообще, "автор пошел". Признаться раньше "современников" вообще ничего не читал, а тут буквально современная жизнь, детектив, теория заговора. Рекомендую.&lt;br /&gt;
&lt;br /&gt;
Надо сказать, что сильно "присел" на литературу, и "заскучал" когда книга кончилась на пол-пути домой. Дома сразу же зарядил "Распознавание образов" Гибсона ... тоже современно но динамика уже не та.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-2590608901629984990?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CohdNXiDoAqMVGRaeaTXdNfaSXI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CohdNXiDoAqMVGRaeaTXdNfaSXI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CohdNXiDoAqMVGRaeaTXdNfaSXI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CohdNXiDoAqMVGRaeaTXdNfaSXI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=hTanmAEGWEU:gFb9n26qs2A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=hTanmAEGWEU:gFb9n26qs2A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=hTanmAEGWEU:gFb9n26qs2A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=hTanmAEGWEU:gFb9n26qs2A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=hTanmAEGWEU:gFb9n26qs2A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/hTanmAEGWEU" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-18T19:09:09.127+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/01/re_28.html</feedburner:origLink></item><item><title>1С8 и MLM</title><link>http://feedproxy.google.com/~r/nvoynov/~3/oXta8fhpn4Y/18-mlm.html</link><category>1С</category><category>Разработка</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Fri, 18 Feb 2011 08:58:45 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-6686456751752841569</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;В тему 1С предыдущего поста и в связи с пропажей заказчика решил рассказать про очередной проект.&lt;br /&gt;
&lt;br /&gt;
Как-то летом обратился один человек с просьбой сделать ему в 1С учет бонусов сетевого маркетинга. Для первого столкновения с МЛМ, расчет всех необходимых бонусов складывался в голове несколько дней, но&amp;nbsp; таки сложился и я согласился взяться.&lt;br /&gt;
&lt;br /&gt;
Почему 1С - она умеет работать с иерархиями в языке запросов, т.е. можно очень просто вытянуть скажем сумму продаж некоторой ветки контрагентов, если нужно исключить первый уровень, и т.д. Плюс, все расчеты можно делать не в ущерб обычной учетной функциональности оптово-розничных закупок и реализаций.&lt;br /&gt;
&lt;br /&gt;
Первым этапом была разработка структуры сети и реализация алгоритмов расчета, и этот первый этап со всеми разборами уложился в 30 часов договорного рабочего времени. В результате вышли справочники сетевых статусов и структуры сети, регистра расчета статусов и бонусов.&lt;br /&gt;
&lt;br /&gt;
Вторым этапом предполагалось как-то приравнять бонусы к взаиморасчетам, но дело до него так и не дошло - клиент пропал, однако оплатив почти половину работ по первому этапу. Так что если кому такое надо - обращайтесь - уже в теме.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-6686456751752841569?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9L8qaP0n6xQVCH-KQjZeX8RQaAI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9L8qaP0n6xQVCH-KQjZeX8RQaAI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9L8qaP0n6xQVCH-KQjZeX8RQaAI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9L8qaP0n6xQVCH-KQjZeX8RQaAI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=oXta8fhpn4Y:cq9nxhvfiuc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=oXta8fhpn4Y:cq9nxhvfiuc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=oXta8fhpn4Y:cq9nxhvfiuc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=oXta8fhpn4Y:cq9nxhvfiuc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=oXta8fhpn4Y:cq9nxhvfiuc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/oXta8fhpn4Y" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-18T18:58:45.576+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/02/18-mlm.html</feedburner:origLink></item><item><title>Машина процессов и отдел логистики</title><link>http://feedproxy.google.com/~r/nvoynov/~3/cjb2n6Caj7o/blog-post.html</link><category>1С</category><category>BPMS</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Sat, 12 Feb 2011 03:12:44 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-7222049122200538715</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;На работе попросили сделать процесс запроса отделу логистики о возможности доставки, сроках и стоимости некоторых товаров под заказ.&lt;br /&gt;
&lt;br /&gt;
Сама проблема возникает возникает просто из-за того, запрос  фиксируется только в личном или телефонном режиме, все забывают дату  запроса и его срочность, что потом приводит к нервам (хотя все сидят в  одном здании, иногда трудно договорится по различным политическим  вредным причинам).&lt;br /&gt;
&lt;br /&gt;
Отдел логистики но научению нашего продвинутого экономиста предложил приобрести и внедрить в ИС  расширение "1С Документооборот" и долго рассказывали что такой вариант  уберет лишние нервы подразделений продаж и логистики. На первых порах я даже купился, и пока готовили подробное описание  задачи, засел за освоение бизнес-процессов в 1С8 (ес-но  никакой документооборот внедрять не собирался, т.к. лишний). &lt;br /&gt;
&lt;br /&gt;
Отдел логистики пришел с листочком А4 на котором была нарисована простая схемка процесса. (1) менеджер пишет запрос, где указывает товар, комплектацию, актуальность и соображения по поставщикам. (2) запрос попадает к начальнику отдела логистики, который назначает ее выбранному исполнителю из своего отдела. (3) исполнитель находит варианты и передает их заказчику информации.&lt;br /&gt;
&lt;br /&gt;
Получив документ - увидел в нем просто управление задачами после чего, не мудрствуя лукаво, в течении 20 минут, сделал вместо ПРОЦЕССА документ ... с автором, ответственным,&amp;nbsp; статусом и прочими полями. Дальше система позволяет настроить несколько фильтров, типа: (1) новые - для начальника отдела логистики; (2) я автор - для просивших ответов; (3) я ответственный - для исполнителей ... и массу других вариаций на любой вкус, например "я автор + выполненные запросы". В понедельник отдам функциональность побаловаться и расскажу впечатление.&lt;br /&gt;
&lt;br /&gt;
&lt;div style="text-align: right;"&gt;"Если на клетке слона прочтешь "Буйвол" - не верь глазам своим"&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: right;"&gt;(С) Козьма Прутков&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: left;"&gt;PS&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;Первым вариантом заголовка поста был "машина состояний НЕ машина процессов", и навеян он был статьей автора машины процессов &lt;a href="http://ruote.rubyforge.org/"&gt;ruote&lt;/a&gt;. Но потом решил все-таки приземлить. Кстати тем интересная, сколько вообще более обычных вещей заменяют процессами. Безусловно, управление задачами - это процесс, но очень часто вырождающийся в машину состояний. Да и сама функциональность бизнес-процессов в 1С не столь прозрачна для нормальной реализации.&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-7222049122200538715?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KpbR6xH17kYX6CYSsQjIlu9bGoY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KpbR6xH17kYX6CYSsQjIlu9bGoY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KpbR6xH17kYX6CYSsQjIlu9bGoY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KpbR6xH17kYX6CYSsQjIlu9bGoY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=cjb2n6Caj7o:VP70KbSuTEU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=cjb2n6Caj7o:VP70KbSuTEU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=cjb2n6Caj7o:VP70KbSuTEU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=cjb2n6Caj7o:VP70KbSuTEU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=cjb2n6Caj7o:VP70KbSuTEU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/cjb2n6Caj7o" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-12T13:12:44.389+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/02/blog-post.html</feedburner:origLink></item><item><title>railsinstaller.org</title><link>http://feedproxy.google.com/~r/nvoynov/~3/pplHFWxD_kI/railsinstallerorg.html</link><category>Ruby</category><category>Rails</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Tue, 08 Feb 2011 05:25:58 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-7940958331544877472</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_IWZZIEvrm2A/TVFD9aVt4SI/AAAAAAAAGyQ/WqyJ0G28Sm0/s1600/railsinstaller.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="187" src="http://2.bp.blogspot.com/_IWZZIEvrm2A/TVFD9aVt4SI/AAAAAAAAGyQ/WqyJ0G28Sm0/s320/railsinstaller.PNG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
Собственно теперь стартануть с Rails на Windows вообще крайне просто. Все что нужно - это &lt;b&gt;&lt;a href="http://railsinstaller.org/"&gt;http://railsinstaller.org/&lt;/a&gt;&lt;/b&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-7940958331544877472?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/myTKxGYjQyuNQPMQQEh3IrAzmNg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/myTKxGYjQyuNQPMQQEh3IrAzmNg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/myTKxGYjQyuNQPMQQEh3IrAzmNg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/myTKxGYjQyuNQPMQQEh3IrAzmNg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=pplHFWxD_kI:tgBgjnUt0vs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=pplHFWxD_kI:tgBgjnUt0vs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=pplHFWxD_kI:tgBgjnUt0vs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=pplHFWxD_kI:tgBgjnUt0vs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=pplHFWxD_kI:tgBgjnUt0vs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/pplHFWxD_kI" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-08T15:25:58.778+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_IWZZIEvrm2A/TVFD9aVt4SI/AAAAAAAAGyQ/WqyJ0G28Sm0/s72-c/railsinstaller.PNG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/02/railsinstallerorg.html</feedburner:origLink></item><item><title>Назад в будущее</title><link>http://feedproxy.google.com/~r/nvoynov/~3/Gkgns0lV2Zs/blog-post.html</link><category>Разное</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Tue, 18 Jan 2011 06:42:47 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-6932524874619224492</guid><description>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_IWZZIEvrm2A/TS3rNuEMx2I/AAAAAAAAGpk/UGh5CHtOLMs/s1600/P1103645.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://1.bp.blogspot.com/_IWZZIEvrm2A/TS3rNuEMx2I/AAAAAAAAGpk/UGh5CHtOLMs/s400/P1103645.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Летом присел на мануальную оптику Canon FD, основательно набаловавшись с ней на микро 4/3 с его кропом 2 возжелал полный кадр и вот на неделе купил механический пленочный фотоаппарат Canon FTb (1973).&lt;br /&gt;
&lt;br /&gt;
Посмотрим на сколько меня хватит :) Пока ничего еще не успел проявить, но может на следующей неделе чего-то успею. &lt;br /&gt;
&lt;br /&gt;
PS&lt;br /&gt;
&lt;br /&gt;
Примеры можно посмотреть у меня &lt;a href="http://picasaweb.google.com/nvoynov/"&gt;в альбомах Picassa&lt;/a&gt;. Вот например поснимал &lt;a href="http://picasaweb.google.com/nvoynov/18102010#"&gt;на концерте Феди Чистякова&lt;/a&gt; на 100/2.8&lt;br /&gt;
&lt;br /&gt;
Наверное много кто как и я в детстве снимали на ЧБ пленку. Все это доступно и сейчас и в гораздо более широком ассортименте и качестве. Если кому интересно - посмотрите статью &lt;a href="http://fotavoka.org/docs/88"&gt;Современные реалии черно-белой фотографии&lt;/a&gt;. Кажется 15 лет назад, когда я последний раз пользовался увеличителем, все было гораздо проще ...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Принимаются подарки&lt;/b&gt; в виде рукавов для зарядки пленки и бачков для проявки с термометром; увеличителей и ванночек и кадрирующей рамки для бумаги 30 х 40.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-6932524874619224492?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/lgGMdD3oiLRgaacqrzgpzShLJn8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lgGMdD3oiLRgaacqrzgpzShLJn8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/lgGMdD3oiLRgaacqrzgpzShLJn8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/lgGMdD3oiLRgaacqrzgpzShLJn8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Gkgns0lV2Zs:A5XT1JA8tqw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Gkgns0lV2Zs:A5XT1JA8tqw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Gkgns0lV2Zs:A5XT1JA8tqw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=Gkgns0lV2Zs:A5XT1JA8tqw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=Gkgns0lV2Zs:A5XT1JA8tqw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/Gkgns0lV2Zs" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-18T16:42:47.374+02:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_IWZZIEvrm2A/TS3rNuEMx2I/AAAAAAAAGpk/UGh5CHtOLMs/s72-c/P1103645.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/01/blog-post.html</feedburner:origLink></item><item><title>Re: Искусство системного мышления</title><link>http://feedproxy.google.com/~r/nvoynov/~3/mlvpKIWLbSQ/re.html</link><category>Инженерия ПО</category><category>Книги</category><author>noreply@blogger.com (Николай Войнов)</author><pubDate>Sat, 08 Jan 2011 09:00:09 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-5553879771699141855.post-1429096792268966045</guid><description>Разгребая архивы наткнулся на книгу &lt;b&gt;"Искусство системного мышления. Необходимые знания о системах и творческом подходе к решению проблем"&lt;/b&gt; Джозеф О'Коннор, Иан Макдермотт. Из серии "Библиотека MTI". Прочел первую главу, довольно интересно, хорошо написано и очень легко читается. Рекомендовать пока не буду, но приведу немного порезанное резюме первой главы. Если кого заинтересует - поищите электронную копию на uml2.ru, кажется нашел ее именно там.&lt;br /&gt;
&lt;blockquote&gt;Система - это сущность, которая поддерживает свое существование и способность к функционированию благодаря взаимодействию своих частей. Поведение различных систем зависит от того, как связаны между собой их части, а не от самих частей. Поэтому можно, опираясь на одни и те же принципы, понять поведение многих систем.&lt;br /&gt;
&lt;br /&gt;
Системы являются частью более крупных систем и, в свою очередь, образуются меньшими подсистемами.&lt;br /&gt;
&lt;br /&gt;
Свойства систем — это свойства целого. Ни одна из частей ими не обладает. Чем сложнее система, тем более непредсказуемы характеристики системы в целом. Эти свойства систем известны как эмерджентные, или возникающие, свойства - они «возникают», когда система работает.&lt;br /&gt;
&lt;br /&gt;
Разделение целого на части - это анализ. С помощью анализа мы приобретаем знания. Соединение частей в целое - это синтез. С помощью синтеза мы приобретаем понимание. Когда вы разнимаете систему на части и анализируете ее, она теряет свои свойства. Чтобы понять системы, нужно наблюдать за ними в действии.&lt;br /&gt;
&lt;br /&gt;
Детальная сложность означает, что система состоит из большого числа элементов.&lt;br /&gt;
&lt;br /&gt;
Динамическая сложность системы означает, что существует потенциально большое число связей между ее частями, поскольку каждая из них может пребывать в нескольких различных состояниях.&lt;br /&gt;
&lt;br /&gt;
Каждая часть системы может влиять на систему в целом.&lt;br /&gt;
&lt;br /&gt;
При изменении одного элемента системы всегда возникают побочные эффекты.&lt;br /&gt;
&lt;br /&gt;
Системы противятся изменениям, потому что их части взаимосвязаны. Но их изменения могут быть внезапными, очень быстрыми и эффективными. Если понять систему, то можно найти ее уязвимые места. Небольшое воздействие на них может стать причиной значительных&lt;br /&gt;
изменений. Это - принцип рычага.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5553879771699141855-1429096792268966045?l=nvoynov.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4K0QRMX8D-BhPZ3xfiHmUf-QuNc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4K0QRMX8D-BhPZ3xfiHmUf-QuNc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4K0QRMX8D-BhPZ3xfiHmUf-QuNc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4K0QRMX8D-BhPZ3xfiHmUf-QuNc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mlvpKIWLbSQ:Mw3rwxCec8I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mlvpKIWLbSQ:Mw3rwxCec8I:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mlvpKIWLbSQ:Mw3rwxCec8I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?i=mlvpKIWLbSQ:Mw3rwxCec8I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/nvoynov?a=mlvpKIWLbSQ:Mw3rwxCec8I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/nvoynov?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/nvoynov/~4/mlvpKIWLbSQ" height="1" width="1"/&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-08T19:00:09.476+02:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://nvoynov.blogspot.com/2011/01/re.html</feedburner:origLink></item></channel></rss>

