<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-3800969260924753825</id><updated>2010-01-09T17:29:58.364+02:00</updated><title type='text'>Про Українське Micro ISV</title><subtitle type='html'>блог про бізнес та технології програмного забезпечення</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://microisv.org.ua/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default'/><link rel='alternate' type='text/html' href='http://microisv.org.ua/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Максим Шостак</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3800969260924753825.post-1205620530865525260</id><published>2008-11-28T20:34:00.002+02:00</published><updated>2008-11-28T20:39:27.019+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ІТ компанії'/><category scheme='http://www.blogger.com/atom/ns#' term='вовчий квиток'/><category scheme='http://www.blogger.com/atom/ns#' term='фріланс'/><category scheme='http://www.blogger.com/atom/ns#' term='Чорні списки'/><category scheme='http://www.blogger.com/atom/ns#' term='робота'/><title type='text'>Чорні списки в ІТ компаніях</title><content type='html'>&lt;p&gt;Нещодавно потрапила до рук стаття "&lt;strong&gt;Рабы на галерах&lt;/strong&gt;" з газети "Совершенно секретно". В ній розповідається про те, як корпоративна культура здатна перетворити роботу на ярмо.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Сотні російських компаній складають чорні списки своїх бувших співробітників щоб завадити їм знайти пристойну роботу в майбутньому.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Цілком ймовірно що й у нас в Україні існує подібна практика. Наприклад члени асоціації "&lt;a href="http://www.itukraine.org.ua/" target="_blank"&gt;Інформаційні технології України&lt;/a&gt;" скоріш за все ведуть такий список.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;- Шеф примушував мене слідкувати за співробітниками, погрожуючи, що звільнить з &lt;em&gt;вовчим квитком,&lt;/em&gt; - розповідає адміністратор комп'ютерного магазину Сергій.&lt;/p&gt;    &lt;p&gt;- Це означає, що він може внести мене і &lt;em&gt;чорні списки&lt;/em&gt;,&lt;em&gt; &lt;/em&gt;якими користуються інші магазини, й мене нікуди не візьмуть на роботу.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Є декілька способів виходу з ситуації. Якщо у вас теплі стосунки з начальником та є фінансовий резерв, ви можете відмовитися від виконання роботи &lt;em&gt;неефективним&lt;/em&gt; методом або ж просвітити начальника. Це може спрацювати (але не на моєму досвіді :).&lt;/p&gt;  &lt;p&gt;Також можна спробувати найти іншу компанію, зайнятися фрілансом чи навіть розпочати власний проект. Життя надто коротке, щоб витрачати його на роботу в відсталій організації. &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;В Америці та Європі традиції корпоративної культури розвивалися одночасно з трудовим законодавством.&lt;/p&gt;    &lt;p&gt;В Росії, де можна вигнати практично будь-якого співробітника без усіляких наслідків, першими носіями західної корпоративної культури стали компанії з іноземним капіталом. Їх керівники проголошували цивілізований стиль роботи, але по відношенню до співробітників вели себе таким чином, як ніколи б не посміли на Заході.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Проте, в умовах великої кризи, я б радив не ризикувати особливо. &lt;strong&gt;Шануйтеся&lt;/strong&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3800969260924753825-1205620530865525260?l=microisv.org.ua' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://microisv.org.ua/feeds/1205620530865525260/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3800969260924753825&amp;postID=1205620530865525260&amp;isPopup=true' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/1205620530865525260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/1205620530865525260'/><link rel='alternate' type='text/html' href='http://microisv.org.ua/2008/11/blog-post.html' title='Чорні списки в ІТ компаніях'/><author><name>Максим Шостак</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01220416326522902458'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3800969260924753825.post-3703997738452150248</id><published>2008-09-20T20:11:00.006+03:00</published><updated>2008-09-30T13:54:33.486+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Форматирование классов'/><category scheme='http://www.blogger.com/atom/ns#' term='Форматування класу'/><category scheme='http://www.blogger.com/atom/ns#' term='Стиль кода'/><category scheme='http://www.blogger.com/atom/ns#' term='Code Conventions'/><category scheme='http://www.blogger.com/atom/ns#' term='Source File Organization'/><category scheme='http://www.blogger.com/atom/ns#' term='Cтиль коду'/><title type='text'>Форматування і стиль коду</title><content type='html'>&lt;p&gt;Найпоширеніший стиль форматування програмного коду в середовищі Java програмістів це &lt;a href="http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;Sun Java Code Conventions&lt;/span&gt;&lt;/a&gt;. Біда в тому що останній раз той документ переглядався 1999 року.&lt;/p&gt;  &lt;p&gt;Існують і альтернативи. Наприклад рекомендації &lt;a href="http://www.construx.com/" target="_blank"&gt;Стіва Макконнелла&lt;/a&gt; в його книзі "Code Complete". Також деякі поради можна взяти із "Effective Java" Джошуа Блоха. &lt;/p&gt;  &lt;p&gt;Я вирішив скласти до купи вищезгадані поради та запропонувати наступний варіант організації файлу програмного коду.&lt;/p&gt; &lt;style type="text/css"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- body {color: #000000; background-color: #ffffff; font-family: monospaced; font-size: 0.7em;} table {color: #000000; background-color: #e9e8e2; font-family: monospaced} .keyword-directive {color: #0000e6} .st0 {color: #969696; font-family: monospaced; font-weight: bold} .comment {color: #969696} --&gt;&lt;/style&gt;  &lt;pre&gt;&lt;span class="comment"&gt;/* Created: September 8, 2008. Author: Maksym Shostak. &lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;Copyright notice text... */&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;package&lt;/span&gt; org.somecompany;&lt;br /&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;import&lt;/span&gt; edu.umd.cs.findbugs.annotations.*;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/**&lt;/span&gt; &lt;span class="comment"&gt;One&lt;/span&gt;&lt;span class="comment"&gt;-&lt;/span&gt;&lt;span class="comment"&gt;line&lt;/span&gt; &lt;span class="comment"&gt;summary&lt;/span&gt; &lt;span class="comment"&gt;of&lt;/span&gt; &lt;span class="comment"&gt;class&lt;/span&gt; &lt;span class="comment"&gt;goal&lt;/span&gt;&lt;span class="comment"&gt; (&lt;/span&gt;&lt;span class="comment"&gt;responsibility&lt;/span&gt;&lt;span class="comment"&gt;)&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;Description&lt;/span&gt; &lt;span class="comment"&gt;of&lt;/span&gt; &lt;span class="comment"&gt;class&lt;/span&gt; &lt;span class="comment"&gt;including&lt;/span&gt;&lt;span class="comment"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;1&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;Responsibilities&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;2&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;Design&lt;/span&gt; &lt;span class="comment"&gt;patterns&lt;/span&gt; &lt;span class="comment"&gt;used&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;3&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;How&lt;/span&gt; &lt;span class="comment"&gt;to&lt;/span&gt; &lt;span class="comment"&gt;use&lt;/span&gt; &lt;span class="comment"&gt;this&lt;/span&gt; &lt;span class="comment"&gt;class&lt;/span&gt;&lt;span class="comment"&gt; (&lt;/span&gt;&lt;span class="comment"&gt;for&lt;/span&gt; &lt;span class="comment"&gt;clients&lt;/span&gt;&lt;span class="comment"&gt;)&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;Is&lt;/span&gt; &lt;span class="comment"&gt;this&lt;/span&gt; &lt;span class="comment"&gt;class&lt;/span&gt; &lt;span class="comment"&gt;a&lt;/span&gt; &lt;span class="comment"&gt;data&lt;/span&gt;&lt;span class="comment"&gt;&lt;br /&gt; (&lt;/span&gt;&lt;span class="comment"&gt;value&lt;/span&gt;&lt;span class="comment"&gt;) &lt;/span&gt;&lt;span class="comment"&gt;object&lt;/span&gt; &lt;span class="comment"&gt;or&lt;/span&gt; &lt;span class="comment"&gt;a&lt;/span&gt; &lt;span class="comment"&gt;computation&lt;/span&gt; &lt;span class="comment"&gt;one&lt;/span&gt;&lt;span class="comment"&gt;?&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;4&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;Inheritance&lt;/span&gt; &lt;span class="comment"&gt;instructions&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt; &lt;/span&gt;&lt;span class="comment"&gt;Do&lt;/span&gt; &lt;span class="comment"&gt;or&lt;/span&gt; &lt;span class="comment"&gt;do&lt;/span&gt; &lt;span class="comment"&gt;not&lt;/span&gt; &lt;span class="comment"&gt;subclass&lt;/span&gt; &lt;span class="comment"&gt;it&lt;/span&gt;&lt;span class="comment"&gt;?&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;5&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;Thread&lt;/span&gt; &lt;span class="comment"&gt;safety&lt;/span&gt; &lt;span class="comment"&gt;and&lt;/span&gt; &lt;span class="comment"&gt;serrialization&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;Error&lt;/span&gt; &lt;span class="comment"&gt;handling&lt;/span&gt;&lt;span class="comment"&gt;, &lt;/span&gt;&lt;span class="comment"&gt;etc&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="ST0"&gt;@author&lt;/span&gt; &lt;span class="comment"&gt;Maksym&lt;/span&gt; &lt;span class="comment"&gt;Shostak&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="ST0"&gt;@version&lt;/span&gt;&lt;span class="comment"&gt; 1&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;2008&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;public&lt;/span&gt; &lt;span class="keyword-directive"&gt;class&lt;/span&gt; AnotherClass{&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* Methods to Create and Destroy Objects ************&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;  Description of approaches used. */&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;/**&lt;/span&gt; &lt;span class="comment"&gt;Constructor&lt;/span&gt; &lt;span class="comment"&gt;summary&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt; &lt;span class="comment"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;public&lt;/span&gt; AnotherClass(){&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* Public Member Functions *************************/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/**&lt;/span&gt; &lt;span class="comment"&gt;One&lt;/span&gt;&lt;span class="comment"&gt;-&lt;/span&gt;&lt;span class="comment"&gt;line&lt;/span&gt; &lt;span class="comment"&gt;summary&lt;/span&gt; &lt;span class="comment"&gt;of&lt;/span&gt; &lt;span class="comment"&gt;member&lt;/span&gt; &lt;span class="comment"&gt;function&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;span class="comment"&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;Description&lt;/span&gt; &lt;span class="comment"&gt;of&lt;/span&gt; &lt;span class="comment"&gt;function&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;Describe&lt;/span&gt; &lt;span class="comment"&gt;function&lt;/span&gt;&lt;span class="comment"&gt;'&lt;/span&gt;&lt;span class="comment"&gt;s&lt;/span&gt; &lt;span class="comment"&gt;exceptions&lt;/span&gt; &lt;span class="comment"&gt;and&lt;/span&gt; &lt;span class="comment"&gt;return&lt;/span&gt; &lt;span class="comment"&gt;values&lt;/span&gt; &lt;span class="comment"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;public&lt;/span&gt; &lt;span class="keyword-directive"&gt;void&lt;/span&gt; doSomething(&lt;br /&gt;@Nullable &lt;span class="keyword-directive"&gt;int&lt;/span&gt; in_Parameter1, &lt;span class="comment"&gt;// description&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;final&lt;/span&gt; SomeStatuses ch_MethodStatus &lt;span class="comment"&gt;// description &lt;/span&gt;&lt;br /&gt;) &lt;span class="keyword-directive"&gt;throws&lt;/span&gt; Exception{&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;///&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;///&lt;/span&gt;&lt;br /&gt;&lt;span class="comment"&gt;///&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* Member Functions Common to All Objects **********/&lt;/span&gt;&lt;br /&gt;@Override @OverrideMustInvoke&lt;br /&gt;&lt;span class="keyword-directive"&gt;public&lt;/span&gt; String toString(){&lt;br /&gt;&lt;span class="keyword-directive"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span class="comment"&gt;    ///&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* Protected, Package-pr., Private Member Functions*/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;private&lt;/span&gt; &lt;span class="keyword-directive"&gt;static&lt;/span&gt; &lt;span class="keyword-directive"&gt;void&lt;/span&gt; initialize(){&lt;br /&gt;&lt;span class="comment"&gt;///&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* Data Members (Public...Private) *****************/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;public&lt;/span&gt; &lt;span class="keyword-directive"&gt;static&lt;/span&gt; &lt;span class="keyword-directive"&gt;final&lt;/span&gt; &lt;span class="keyword-directive"&gt;int&lt;/span&gt; MAX_COUNT = 10;&lt;br /&gt;&lt;span class="keyword-directive"&gt;private&lt;/span&gt; &lt;span class="keyword-directive"&gt;int&lt;/span&gt; m_Counter = 0;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* Inner Structures Definitions ********************/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;public&lt;/span&gt; &lt;span class="keyword-directive"&gt;enum&lt;/span&gt; SomeStatuses{&lt;br /&gt;Success,&lt;br /&gt;Failure&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;private&lt;/span&gt; &lt;span class="keyword-directive"&gt;class&lt;/span&gt; InnerClass{&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* Initialization Blocks ***************************/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;static&lt;/span&gt;{&lt;br /&gt;initialize();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="comment"&gt;/* main() Function  ********************************/&lt;/span&gt;&lt;br /&gt;&lt;span class="keyword-directive"&gt;public&lt;/span&gt; &lt;span class="keyword-directive"&gt;static&lt;/span&gt; &lt;span class="keyword-directive"&gt;void&lt;/span&gt; main( String in_Arguments[] ){&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span class="comment"&gt;///&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Основні відмінності від рекомендаці Sun це:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Порядок розташування методів та полів класу обумовлений принципом приховування інформації (деталей реалізації). Згідно з яким клієнт класу повинен цікавитися тільки зовнішнім інтерфейсом класу. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Префікси полів класу, параметрів методів мають таке значення: &lt;em&gt;m_&lt;/em&gt; - поле класу (member), &lt;em&gt;in_ - &lt;/em&gt;вхідний параметер (input), &lt;em&gt;out_ - &lt;/em&gt;вихідний параметер (output), &lt;em&gt;ch_&lt;/em&gt; - змінюваний параметер (change),  &lt;em&gt;ret_ - локальна зміння, що її вертає метод (return).&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/li&gt;&lt;li&gt;Розташування вкупі методів, які відповідають за створення та знищення об'єкту, а також методів загальних для всіх класів. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Розташування анотацій, тощо. &lt;/li&gt;&lt;/ul&gt;Альтернативним порядком розташування методів в класі є розташування за алфавітом.&lt;br /&gt;&lt;br /&gt;Отже не забуваймо, що програмний код читається набагато частіше ніж пишеться. Конвенції іменування та форматування програмного коду можуть суттєво впливати на продуктивність програмістів та на здатність розуміти програму, що підтверджено дослідженнями. Але іноді &lt;a href="http://www.stevemcconnell.com/ieeesoftware/eic21.htm"&gt;проходять десятиріччя&lt;/a&gt;, поки кращі практики програмування розповсюджуються достатньо широко.&lt;br /&gt;&lt;br /&gt;А які Ваші конвенції іменування? Чи зустрічали Ви пропозиції щодо організації коду у файлах тестів?&lt;br /&gt;&lt;br /&gt;І на останок трохи гумору з фільму Комп'ютерщики&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-903baa4435715564" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fv7.nonxt7.googlevideo.com%2Fvideoplayback%3Fid%3D903baa4435715564%26itag%3D5%26begin%3D0%26len%3D86400000%26app%3Dblogger%26et%3Dplay%26el%3DEMBEDDED%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1270443476%26sparams%3Did%252Citag%252Cip%252Cipbits%252Cexpire%26signature%3D75669D96207D4146B0BCFC3C3ED32410DFC3FEEF.5E72169D2B696D05D64C1E9D2FC6690ECC79E33C%26key%3Dck1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D903baa4435715564%26offsetms%3D5000%26itag%3Dw320%26sigh%3D9en0x8je7GxHTQHBMOhwh6PYD7s&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den&amp;amp;nogvlm=1"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fv7.nonxt7.googlevideo.com%2Fvideoplayback%3Fid%3D903baa4435715564%26itag%3D5%26begin%3D0%26len%3D86400000%26app%3Dblogger%26et%3Dplay%26el%3DEMBEDDED%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1270443476%26sparams%3Did%252Citag%252Cip%252Cipbits%252Cexpire%26signature%3D75669D96207D4146B0BCFC3C3ED32410DFC3FEEF.5E72169D2B696D05D64C1E9D2FC6690ECC79E33C%26key%3Dck1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D903baa4435715564%26offsetms%3D5000%26itag%3Dw320%26sigh%3D9en0x8je7GxHTQHBMOhwh6PYD7s&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den&amp;amp;nogvlm=1" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3800969260924753825-3703997738452150248?l=microisv.org.ua' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=903baa4435715564&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://microisv.org.ua/feeds/3703997738452150248/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3800969260924753825&amp;postID=3703997738452150248&amp;isPopup=true' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/3703997738452150248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/3703997738452150248'/><link rel='alternate' type='text/html' href='http://microisv.org.ua/2008/09/blog-post.html' title='Форматування і стиль коду'/><author><name>Максим Шостак</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01220416326522902458'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3800969260924753825.post-3698866277298900185</id><published>2008-08-28T20:46:00.001+03:00</published><updated>2008-08-28T20:48:46.533+03:00</updated><title type='text'>Робота під музику</title><content type='html'>&lt;p&gt;Перш за все, вітаю всіх і кожного із Днем Незалежності України! Далі - до справи.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/maximailx/SLbkOw88Z9I/AAAAAAAAARQ/TUM-Hv7ySuE/s1600-h/image5.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="74" alt="image" src="http://lh5.ggpht.com/maximailx/SLbkQLx2yyI/AAAAAAAAARU/mpBlkKblZes/image_thumb3.png?imgmax=800" width="56" align="right" border="0" /&gt;&lt;/a&gt;В своєму бестселері &amp;quot;&lt;a href="http://www.symbol.ru/catalog/book/245375" target="_blank"&gt;Peopleware&lt;/a&gt;&amp;quot; (Людський фактор) Том Демарко й Тімоті Лістер торкаються такої теми, як робота під музику. Базуючись на проведених дослідженнях, вони прийшли до висновку, що прослуховування музики під час інтелектуальної роботи негативно впливає на творчі здібності.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font color="#000000" size="2"&gt;Багато з повсякденних завдань, які виконують професійні працівники обраховуються в центрі послідовних обчислень лівої півкулі. Музика не сильно заважає такій роботі, бо її сприйняттям займається права холістична півкуля мозку. Але не всі завдання можуть виконуватися в лівій півкулі. Є ще й моменти просвітління, коли ви вигукуєте &amp;quot;Ага!&amp;quot;, виявляючи короткий шлях, який дозволяє заощадити багато місяців або навіть років роботи. Таке творче осяяння потребує роботи правої півкулі. Якщо права півкуля зайнята прослуховуванням фортепіанного концерту, можливість творчого осяяння зникає.&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;І все ж, чи працюєте ви вдома чи в офісі, іноді хочеться послухати музику. Вдома, вам може набриднути тиша, або гуркіт болгарки сусіда, який робить ремонт. В офісі це може бути галас людей, телефонів, принтера, тощо.&lt;/p&gt;  &lt;p&gt;До речі, відповідно до &lt;a href="http://blog.businessofsoftware.org/2007/09/start-a-softwar.html" target="_blank"&gt;результатів досліджень&lt;/a&gt; однією із складностей, що з ними стикаються незалежні виробники є мотивація. А одним із способів підсилення мотивації є музика.&lt;/p&gt;  &lt;p&gt;Звісно, коли виконуєш рутинну роботу то можна слухати і рок, і реп, і диско. Але як треба сконцентруватися, потрібно вмикати щось спокійніше. В будь-якому разі, пропоную до уваги свою музичну скриньку.&lt;/p&gt;  &lt;h4&gt;Національна музика &lt;/h4&gt;  &lt;p&gt;Перш за все, сюди входять твори українських кобзарів, бандуристів:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://lh6.ggpht.com/maximailx/SLbkRKr7PUI/AAAAAAAAARY/e9xv-rUw6tg/s1600-h/Booklet127.jpg" target="_blank"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="92" alt="Booklet 1,2" src="http://lh5.ggpht.com/maximailx/SLbkR6jTEBI/AAAAAAAAARc/wktPoU4kk1s/Booklet12_thumb5.jpg?imgmax=800" width="93" align="right" border="0" /&gt; Капела Бандуристів ім. Т.Г Шевченка&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Дует &lt;a href="http://www.umka.com.ua/ukr/catalogue/bandura-kobza-etc/bandurna-rozmova.html" target="_blank"&gt;Бандурна розмова&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.romanhrynkiv.com/golovna.html" target="_blank"&gt;Роман Гринкiв&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.umka.com.ua/ukr/catalogue/bandura-kobza-etc/taras-kompanichenko-kobza-and-lyre-playing-tradition.html" target="_blank"&gt;Тарас Компаніченко&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.umka.com.ua/ukr/catalogue/bandura-kobza-etc/mykola-budnyk-hej-na-chornomu-mori-hey-at-the-black-sea.html" target="_blank"&gt;Микола Будник&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.umka.com.ua/ukr/catalogue/bandura-kobza-etc/" target="_blank"&gt;та інші&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Чудово звучать українські етнічні та фольклорні гурти:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ethnobeats - сучасна інтерпретація традиційної української музики. &lt;a href="http://www.umka.com.ua/ukr/catalogue/electronic/korali-the-modern-treatment-of-traditional-ukrainian-folkmusik-by-molotov-20.html" target="_blank"&gt;Коралі&lt;/a&gt; та &lt;a href="http://www.umka.com.ua/ukr/catalogue/electronic/green-the-modern-treatment-of-traditional-ukrainian-folkmusik-by-aby-mc.html" target="_blank"&gt;Зелене&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Музика з диску &lt;a href="http://www.umka.com.ua/ukr/catalogue/ukrainian-culture/ukrainian-epic-tradition.html" target="_blank"&gt;Українська епічна традиція&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Альбом Дерського Юрiя - &lt;a href="http://www.umka.com.ua/ukr/catalogue/electronic/wedding-songs-the-modern-treatment-of-traditional-ukrainian-folkmusik.html" target="_blank"&gt;Весільні&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;Фонограми народних пiсень. &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.umka.com.ua/ukr/catalogue/folk-rock/vasyl-ljutyj-bojan-zhyvosyl-wake-up-our-great-lord.html" target="_blank"&gt;Просинайся, Наш Великий Боже&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Серед фольклору інших народів світу хочеться виокремити &lt;a href="http://www.amazon.com/Dervish/e/B000APVQK8/ref=ntt_mus_gen_pel" target="_blank"&gt;Dervish&lt;/a&gt; та &lt;a href="http://www.diskoff.net/?pid=90436" target="_blank"&gt;Ethnic Collection Japan&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;Класична музика&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/maximailx/SLbkTHnBaII/AAAAAAAAARg/daD2zZ3QBR8/s1600-h/image6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="93" alt="image" src="http://lh4.ggpht.com/maximailx/SLbkT5PyPRI/AAAAAAAAARk/hAWzbwivcPI/image_thumb3%5B1%5D.png?imgmax=800" width="93" align="right" border="0" /&gt;&lt;/a&gt; Окрім Верді, Вівальді, Чайковського та інших оригінальне звучання знайдете в альбомах оркестру BBC - &lt;a href="http://www.amazon.com/Planet-Earth-Music-George-Fenton/dp/B001610ZM0/ref=sr_1_13?ie=UTF8&amp;amp;s=dmusic&amp;amp;qid=1219940865&amp;amp;sr=8-13" target="_blank"&gt;Planet Earth&lt;/a&gt; та &lt;a href="http://www.amazon.com/The-Blue-Planet/dp/B000SYOO32/ref=dm_ap_alb1?ie=UTF8&amp;amp;qid=1219940865&amp;amp;sr=8-13" target="_blank"&gt;The Blue Planet&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;Музика в стилі New age та Emotions&lt;/h4&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/maximailx/SLbkU4NhecI/AAAAAAAAARo/PU5bT_tFGn8/s1600-h/00zhen_ni_and_gao_zhi_jianthe_first_%5B2%5D.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="90" alt="00-zhen_ni_and_gao_zhi_jian-the_first_chemical_element_vol_1-2005-cover-cocmp3" src="http://lh6.ggpht.com/maximailx/SLbkVo8hjHI/AAAAAAAAARs/q8c6PDhy4hc/00zhen_ni_and_gao_zhi_jianthe_first_%5B1%5D.jpg?imgmax=800" width="96" align="right" border="0" /&gt;&lt;/a&gt; Я останнім часом не дуже тямлю в стилях, але перелічу далі таких виконавців:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.cdonpc.ru/artist/17327/Gao_Zhi_Jian/" target="_blank"&gt;Zhen Ni &amp;amp; Gao Zhi Jian&lt;/a&gt; із двома альбомами The First Chemical Element. &lt;/li&gt;    &lt;li&gt;&lt;span id="btAsinTitle"&gt;&lt;a href="http://www.amazon.com/gp/product/B000QKRTJ4/ref=dm_sp_adp?ie=UTF8&amp;amp;qid=1219941746&amp;amp;sr=8-1" target="_blank"&gt;Julien Majorel&lt;/a&gt;. &lt;/span&gt;&lt;/li&gt;    &lt;li&gt;&lt;span id="btAsinTitle"&gt;&lt;/span&gt;&lt;span id="btAsinTitle"&gt;&lt;a href="http://www.amazon.com/Keiko-Matsui/e/B000APBH6G/ref=ntt_mus_gen_pel" target="_blank"&gt;Keiko Matsui&lt;/a&gt;.&lt;/span&gt; &lt;/li&gt;    &lt;li&gt;&lt;span id="btAsinTitle"&gt;&lt;a href="http://www.amazon.com/iRelax-During-Busy-Various-Artists/dp/B000ICLTXC/ref=sr_1_3?ie=UTF8&amp;amp;s=music&amp;amp;qid=1219942011&amp;amp;sr=1-3" target="_blank"&gt;iRelax During a Busy Day&lt;/a&gt;.&lt;/span&gt; &lt;a href="http://www.cdonpc.ru/artist/17327/Gao_Zhi_Jian/"&gt;&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Мелодії з &amp;quot;кейгенів&amp;quot;&lt;/h4&gt;  &lt;p&gt;Якщо Вам доводилось користуватися піратським ПЗ, то Ви мабуть чули мелодії що лунають при запуску генераторів серійних ключів. Виявляється, &lt;a href="http://www.youtube.com/watch?v=e8GFJeF4j8Q" target="_blank"&gt;можна витягнути&lt;/a&gt; ці мелодії. Є навіть &lt;a href="http://keygenmusic.net" target="_blank"&gt;сайт&lt;/a&gt;, де можна скачати необхідний софт та колекції таких.&lt;/p&gt;  &lt;p&gt;А яку музику під час роботи слухаєте Ви?&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3800969260924753825-3698866277298900185?l=microisv.org.ua' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://microisv.org.ua/feeds/3698866277298900185/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3800969260924753825&amp;postID=3698866277298900185&amp;isPopup=true' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/3698866277298900185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/3698866277298900185'/><link rel='alternate' type='text/html' href='http://microisv.org.ua/2008/08/blog-post_28.html' title='Робота під музику'/><author><name>Максим Шостак</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01220416326522902458'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3800969260924753825.post-3255493647097513428</id><published>2008-08-17T19:34:00.002+03:00</published><updated>2008-08-18T12:53:25.003+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Інсталяційний пакет'/><category scheme='http://www.blogger.com/atom/ns#' term='Обгортка JAR'/><category scheme='http://www.blogger.com/atom/ns#' term='Java Web Start'/><category scheme='http://www.blogger.com/atom/ns#' term='Інструмент для розробки'/><category scheme='http://www.blogger.com/atom/ns#' term='Інсталятор'/><title type='text'>По інсталятору та й зустрічають</title><content type='html'>&lt;p&gt;Перше (після веб сайту) з чим має справу потенційний користувач Вашої програми це "інсталятор". Та якщо його користувацький інтерфейс виглядатиме не привабливо, або в стилі старої операційної системи, це матиме негативний вплив на імідж всієї програми.&lt;/p&gt;&lt;p&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="125" alt="28" src="http://lh4.ggpht.com/maximailx/SKhTABkTsII/AAAAAAAAAQU/ZISgrrYs70M/28_thumb2.png?imgmax=800" width="127" align="right" border="0" /&gt;Цікаво й те, що "28% відсотків збоїв програмного забезпечення трапляється через помилки в інсталяційних скриптах та налаштуванні" [відповідно до "IBM Autonomic Computing research, 2004"].&lt;/p&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/maximailx/SKhTAiAIyaI/AAAAAAAAAQY/fknITsHsfvU/s1600-h/sp1.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 5px; BORDER-RIGHT-WIDTH: 0px" height="151" alt="sp" src="http://lh6.ggpht.com/maximailx/SKhTBewk-lI/AAAAAAAAAQc/ZDKP-gIViY0/sp_thumb.png?imgmax=800" width="150" align="left" border="0" /&gt;&lt;/a&gt;Як виробник ПЗ ви повинні постійно покращувати користувацький комфорт (user experience) та уникати збоїв під час інсталяції. Щоб досягти цих цілей необхідно обирати інструменти, які підтримують новітні, але стабільні та перевірені технології. Інструменти, які забезпечують високу надійність при невисокій ціні.&lt;/p&gt;&lt;p&gt;Перелічені далі програми для створення інсталяційних пакетів переважно наділені функціями, пов'язаними з особливостями встановлення Java програм.&lt;/p&gt;&lt;h4&gt;&lt;/h4&gt;&lt;h4&gt;&lt;a href="http://lh4.ggpht.com/maximailx/SKhTCAjL0DI/AAAAAAAAAQg/72BmeglW7Lc/s1600-h/New%20Image%5B4%5D.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="48" alt="New Image" src="http://lh3.ggpht.com/maximailx/SKhTCpHMSnI/AAAAAAAAAQk/UGYg23V8hLA/New%20Image_thumb%5B2%5D.png?imgmax=800" width="48" align="right" border="0" /&gt;&lt;/a&gt;NSIS&lt;/h4&gt;&lt;p&gt;NSIS (Nullsoft Scriptable Install System) -  це "верстат" призначений для створення інсталяцій лише для Windows. З його допомогою створено безліч інсталяторів для різноманітних програм, серед яких і відомий всім Winamp.&lt;/p&gt;&lt;p&gt;До основних плюсів я б відніс те, що він безкоштовний, давно в розробці та розвивається; має хорошу документацію та багато прикладів; додаткові модулі та супутні програми, як редактор HM NIS Edit та Form Designer, полегшують роботу зі скриптами; інсталяційні пакети добре виглядають на Windows Vista.&lt;/p&gt;&lt;p&gt;До мінусів же віднесу необхідність вивчення пласкої скриптової мови; відсутність вбудованої реалізації поширених функції (встановлення для одного чи всіх користувачів, перевірка версії ОС, тощо).&lt;/p&gt;&lt;h4&gt;&lt;a href="http://lh3.ggpht.com/maximailx/SKhTDW8924I/AAAAAAAAAQo/XfEW_FtylAE/s1600-h/teaser-install4j-02%5B14%5D.gif"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="41" alt="teaser-install4j-02" src="http://lh6.ggpht.com/maximailx/SKhTDwoGQaI/AAAAAAAAAQs/NtLDIRVss-k/teaser-install4j-02_thumb%5B10%5D.gif?imgmax=800" width="140" align="right" border="0" /&gt;&lt;/a&gt; Install4j&lt;/h4&gt;&lt;p&gt;За допомогою install4j Ви можете створювати  інсталяційні пакети Windows, Mac OS та Linux. На відміну від NSIS він також має графічний інтерфейс користувача. Містить багато корисних функцій, таких як оновлення програми, вмонтовування JRE, створення пускових програм (Java launcher). Проте &lt;strong&gt;$1200&lt;/strong&gt; за одну (мультиплатформну) ліцензію можуть швидко привести Вас до тями...&lt;/p&gt;&lt;h4&gt;&lt;a href="http://lh5.ggpht.com/maximailx/SKhTEGSwGrI/AAAAAAAAAQw/fMFWnVo1iDI/s1600-h/logo-caphyon%5B14%5D.gif"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="41" alt="logo-caphyon" src="http://lh4.ggpht.com/maximailx/SKhTEuvtR4I/AAAAAAAAAQ0/mXHHp7yY9kk/logo-caphyon_thumb%5B5%5D.gif?imgmax=800" width="150" align="right" border="0" /&gt;&lt;/a&gt;Advanced Installer&lt;/h4&gt;&lt;p&gt;Використовуючи Advanced Installer на виход і отримуєте MSI пакет. Таким чином Ви користуєтесь всією міццю Windows Installer, що забезпечує Вам підтримку найрідніших технологій Windows (UAC, Windows Vista Logo Certification). &lt;/p&gt;&lt;p&gt;Він також має підтримку Mac OS та специфічних для Java функції, перевірку серійного номера. Для створення найпростіших інсталяцій існує безкоштовна версія. Багатофункціональні ж версії інструменту коштують від &lt;strong&gt;$249&lt;/strong&gt; до &lt;strong&gt;$800&lt;/strong&gt;.&lt;/p&gt;&lt;h4&gt;&lt;a href="http://lh4.ggpht.com/maximailx/SKhTFLtX5-I/AAAAAAAAAQ4/rSbk634-rN4/s1600-h/12%5B11%5D.gif"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="46" alt="12" src="http://lh4.ggpht.com/maximailx/SKhTFkPps2I/AAAAAAAAAQ8/kGJVp3dteeM/12_thumb%5B7%5D.gif?imgmax=800" width="142" align="right" border="0" /&gt;&lt;/a&gt; Witem Installer&lt;/h4&gt;&lt;p&gt;При ціні в &lt;strong&gt;$229&lt;/strong&gt; він має графічний інтерфейс та невеликий набір функцій: стандартний Windows Installer, вбудування та встановлення JRE, створення Windows сервісів.&lt;/p&gt;&lt;h4&gt;&lt;a href="http://lh6.ggpht.com/maximailx/SKhTHhb3SbI/AAAAAAAAARA/0KjEPMgtlws/s1600-h/javalogo%5B5%5D.png"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="48" alt="javalogo" src="http://lh4.ggpht.com/maximailx/SKhTIOObiVI/AAAAAAAAARE/jMSa6SUoeuQ/javalogo_thumb%5B3%5D.png?imgmax=800" width="58" align="right" border="0" /&gt;&lt;/a&gt;Java Web Start&lt;/h4&gt;&lt;p&gt;Виявляється, Java Web Start (JWS) можна використовувати не тільки для розповсюдження Java програм через мережу, але й на CD. &lt;/p&gt;&lt;p&gt;Як пишу автор &lt;a href="http://today.java.net/pub/a/today/2008/07/10/distributing-web-start-via-cd-rom.html" target="_blank"&gt;цієї статті&lt;/a&gt;, Вам знадобиться цей спосіб при великих розмірах дистрибутиву програми, відсутності у користувачів Інтернету. А ще при розповсюдженні її на дисках, що йдуть з комп'ютерними журналами. &lt;/p&gt;&lt;h4&gt;&lt;a href="http://lh4.ggpht.com/maximailx/SKhTJd-C3LI/AAAAAAAAARI/GL2cUshTWic/s1600-h/launch4j%5B10%5D.gif"&gt;&lt;img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="35" alt="launch4j" src="http://lh6.ggpht.com/maximailx/SKhTJ3pCpyI/AAAAAAAAARM/fJnNZadsLB8/launch4j_thumb%5B6%5D.gif?imgmax=800" width="150" align="right" border="0" /&gt;&lt;/a&gt;Обгортка для JAR&lt;/h4&gt;&lt;p&gt;Мало кому зі звичайних користувачів цікаво що програма написана на Java. Тому й мало хто з них здогадається, що файлом, який треба запускати (якщо користувач зайде в теку з встановленою програмою) є той що з розширенням *.jar.&lt;/p&gt;&lt;p&gt;Для вирішення цієї проблеми, а також, щоб Ваша програма мала іконку й ім'я процесу (в Windows) існують обгортальники JAR'ів. Серед них і безкоштовний &lt;strong&gt;launch4j&lt;/strong&gt;, і платний &lt;strong&gt;exe4j&lt;/strong&gt;. До того ж, в багато з перелічених вище та нижче інсталяційних інструментах мають такі функції обгортання.&lt;/p&gt;&lt;h4&gt;Посилання на перелічені та інші&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://nsis.sourceforge.net/" target="_blank"&gt;NSIS&lt;/a&gt;, &lt;a href="http://nsis.sourceforge.net/Developer_Center" target="_blank"&gt;центр ресурсів&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ej-technologies.com/products/install4j/" target="_blank"&gt;install4j&lt;/a&gt;, &lt;a href="http://www.ej-technologies.com/products/exe4j/overview.html" target="_blank"&gt;exe4j&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.advancedinstaller.com/" target="_blank"&gt;Advanced Installer&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.witemsoft.com/" target="_blank"&gt;Witem Installer&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://launch4j.sourceforge.net/" target="_blank"&gt;launch4j&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.innosetup.com/" target="_blank"&gt;Inno Setup&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ethalone.com/" target="_blank"&gt;Ghost Installer&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.excelsior-usa.com/jet.html" target="_blank"&gt;Excelsior JET&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.acresso.com/products/installation/installanywhere.htm" target="_blank"&gt;InstallAnywhere&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.thraexsoftware.com/aiw/index.html" target="_blank"&gt;Astrum InstallWizard&lt;/a&gt;* &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;em&gt;*Приваблива ціна й функцій достатньо.&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;В статті було використано матеріали з відео презентації &lt;a href="http://www.acresso.com/webdocuments/productdemos/IS2009_productdemo/demo.html" target="_blank"&gt;InstallShield&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3800969260924753825-3255493647097513428?l=microisv.org.ua' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://microisv.org.ua/feeds/3255493647097513428/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3800969260924753825&amp;postID=3255493647097513428&amp;isPopup=true' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/3255493647097513428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/3255493647097513428'/><link rel='alternate' type='text/html' href='http://microisv.org.ua/2008/08/blog-post.html' title='По інсталятору та й зустрічають'/><author><name>Максим Шостак</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01220416326522902458'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3800969260924753825.post-7890864064907651361</id><published>2008-07-26T15:19:00.001+03:00</published><updated>2008-07-28T15:59:00.386+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Glidepath'/><category scheme='http://www.blogger.com/atom/ns#' term='Micro ISV Show'/><category scheme='http://www.blogger.com/atom/ns#' term='Micro ISV'/><category scheme='http://www.blogger.com/atom/ns#' term='Office Small Business'/><title type='text'>Корисні ресурси від Майкрософт</title><content type='html'>&lt;p&gt;Сьогодні я хочу розповісти про відомі мені ресурси, які будуть корисні для Micro ISV від компанії Microsoft. Мова піде про &lt;strong&gt;Project Glidepath&lt;/strong&gt;,&lt;strong&gt; Micro ISV Show&lt;/strong&gt;, &lt;strong&gt;Office Small Business&lt;/strong&gt;, &lt;strong&gt;Virtual PC&lt;/strong&gt;, &lt;strong&gt;Expression Web&lt;/strong&gt;, та інше.&lt;/p&gt;  &lt;p&gt;Хоча я й використовую Sun Java в якості основної технології, поради та інструменти від флагмана програмної індустрії не варто оминати стороною.&lt;/p&gt;  &lt;h4&gt;Project Glidepath&lt;/h4&gt;  &lt;p class="p1" style="padding-top: 12px"&gt;- проповідницька ініціатива Майкрософт для незалежних розробників програм. Це путівник, який крок-за-кроком надає вам інструкції, від початку створення продукту до його випуску. В ньому ви знайдете: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;p&gt;інструкції з аналізу ринку ПЗ, позиціонування та планування своєї програми від Боба Уолша (Bob Walsh);&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;посібники та приклади коду для доступу до даних, створення користувацького інтерфейсу, тощо;&lt;/p&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;p&gt;рекомендації по випуску свого програмного продукту &amp;quot;на люди&amp;quot;, маркетингу, пошуковій оптимізації та багато іншого.&lt;/p&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p class="p1" style="padding-top: 12px"&gt;Великим плюсом Project Glidepath вважаю те, що &lt;strong&gt;інформація в ньому є досить організованою та цілісною&lt;/strong&gt;. Як казав Арістотель - &amp;quot;To organize something is to understand it&amp;quot;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/maximailx/SIsxTfTqCQI/AAAAAAAAANs/rZNN7lYxKqQ/Glidepath13.png?imgmax=800"&gt;&lt;img height="226" alt="Glidepath Screenshot" src="http://lh3.ggpht.com/maximailx/SIsxT-JIzWI/AAAAAAAAANw/kNE4nAJ5Xxs/Glidepath_thumb11.png?imgmax=800" width="152" align="right" /&gt;&lt;/a&gt; Трохи не забув сказати. Цей путівник являє собою додатковий модуль до MS Visual Studio. Після встановлення всіх необхідних компонентів ви побачите перелік так званих точок погляду (viewpoints), якими й пропонується керуватися (або крізь які дивитися на проект). Зауважте, що мені прийшлось докачувати точки Marketing, Podcasting, Press Releases, ProductLaunch, SearchEngineOptimization. Їх не було після встановлення. &lt;/p&gt;  &lt;p&gt;Хоч сам проект, його блог та форум вже з рік не оновлювались, він є та буде актуальний. Дізнатися більше та скачати Project Glidepath ви можете на &lt;a href="http://www.projectglidepath.net/glidepath/" target="_blank"&gt;сайті проекту&lt;/a&gt;. Є також ввідне &lt;a href="http://channel9.msdn.com/shows/The+MicroISV+Show/The-MicroISV-Show-9-Craig-Krantz-Building-Project-Glidepath/" target="_blank"&gt;інтерв'ю&lt;/a&gt; на Micro ISV Show.&lt;/p&gt;  &lt;h4&gt;Micro ISV Show&lt;/h4&gt;  &lt;div class="description"&gt;Майкл Леман (Michael Lehman), євангеліст MicroISV, та Боб Уолш, автор книги &amp;#8220;MicroISV: From Vision to Reality&amp;#8221;, удвох ведуть інтерв'ю із розробниками, які створюють ПЗ та роблять на цьому бізнес.&lt;/div&gt;  &lt;div class="description"&gt;&lt;/div&gt;  &lt;div class="description"&gt;Всього записано більше 20-ти півгодинних інтерв'ю. Серед них ви почуєте Еріка Сінка (Eric Sink), Джоела Спольски (Joel Spolsky), Джессіку Лівінгстон (Jessica Livingston)... Особливо хочеться виділити інтерв'ю Луі Кабона (Lou Carbone), про те, як люди почуваються користуючись комп'ютерами (user expirience). Також дуже цікаве інтерв'ю №21 про скажену зайнятість (Crazy Busy).&lt;/div&gt;  &lt;p&gt;Скачати ці аудіо та відео інтерв'ю можна на сайті &lt;a href="http://channel9.msdn.com/shows/The_MicroISV_Show" target="_blank"&gt;Microsoft Channel 9&lt;/a&gt;.&lt;/p&gt;  &lt;h4&gt;Office Small Business&lt;/h4&gt;  &lt;p&gt;це комплекс послуг та продуктів які дозволяють вашому бізнесу швидко стати присутнім в Інтернеті. Пропонується безкоштовний домен, хостинг, система електронної комерції, пошта, маркетингові штучки, тощо. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://smallbusiness.officelive.com/" target="_blank"&gt;&lt;img src="http://render.officelive.com/Images/OL/Merchandising/Images/NoLoc/OLSB_logo.gif" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Я не користувався цією &amp;quot;платформою&amp;quot;, але гадаю варто буде хоч спробувати. Звичайно, в доменному імені та в інших місцях буде їх реклама. Безкоштовний сир...&lt;/p&gt;  &lt;p&gt;Не залежно від того, чи будете ви користуватися &amp;quot;цим сиром&amp;quot;, рекомендую переглянути добірку &lt;a href="http://smallbusiness.officelive.com/ResourceCenter/expertadvice" target="_blank"&gt;порад від експертів&lt;/a&gt; та &lt;a href="http://smallbusiness.officelive.com/Seminars" target="_blank"&gt;відео семінарів&lt;/a&gt;. Там ви обов'язково знайдете для себе щось цікаве.&lt;/p&gt;  &lt;h4&gt;Virtual PC&lt;/h4&gt;  &lt;p&gt;використовується щоб одночасно виконувати декілька операційних систем на одному ПК. За допомогою virtual PC можна протестувати роботу вашої програми на різних &lt;strong&gt;чистих&lt;/strong&gt; операційних системах. Є опція відкату віртуальних дисків змін (undo virtual disk &lt;a href="http://lh5.ggpht.com/maximailx/SIsxWKuJRFI/AAAAAAAAAN0/g3VL9yeN7c0/vpc%5B5%5D.png?imgmax=800"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="125" alt="vpc" src="http://lh4.ggpht.com/maximailx/SIsxXD7E4_I/AAAAAAAAAN4/ymR6Qpho72I/vpc_thumb%5B3%5D.png?imgmax=800" width="175" align="right" border="0" /&gt;&lt;/a&gt;changes).&lt;/p&gt;  &lt;p&gt;Відвідайте &lt;a href="http://www.microsoft.com/windows/products/winfamily/virtualpc/" target="_blank"&gt;сайт програми&lt;/a&gt;. Корисними є також деякі &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&amp;amp;displaylang=en" target="_blank"&gt;віртуальні образи&lt;/a&gt; (вони не єдині).&lt;/p&gt;  &lt;h4&gt;Expression Web&lt;/h4&gt;  &lt;p&gt;це достатньо новий візуальний (WYSIWYG) редактор для веб дизайнерів. Відзначу, що він перевіряє доступність посилань вашого сайту, проблеми з CSS, проблеми сумісності та доступності (accessibility). Я не знайшов кращого інструмента щоб публікувати свої веб сторінки на веб сайт (не люблю скрипти).&lt;a href="http://lh6.ggpht.com/maximailx/SIsxX4ejCvI/AAAAAAAAAN8/pxso5rf-bMQ/clip_image002%5B7%5D.jpg?imgmax=800"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="117" alt="clip_image002" src="http://lh3.ggpht.com/maximailx/SIsxYSTqZ2I/AAAAAAAAAOA/MOphlG5WlHI/clip_image002_thumb%5B4%5D.jpg?imgmax=800" width="143" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Окрім &lt;a href="http://www.microsoft.com/expression/products/Overview.aspx?key=web" target="_blank"&gt;Expression Web&lt;/a&gt; на сайті доступно ще багато програм для дизайнерів.&lt;/p&gt;  &lt;h4&gt;Інше&lt;/h4&gt;  &lt;p&gt;Ще хотілося б зазначити про &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/" target="_blank"&gt;MSDN&lt;/a&gt;&lt;/strong&gt;. Це велика бібліотека документації (презентацій, тощо) необхідна для тих, чиї програми працюють на Windows. &lt;/p&gt;  &lt;p&gt;Статті про створення програм, які легко мігруватимуть на нові версії Windows, про&amp;#160; дизайн графічного інтерфейсу, про відмінності при встановленні програм для всіх, або для одного користувача на різних версіях Windows шукайте саме в MSDN. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/maximailx/SIsxY44mU4I/AAAAAAAAAOE/hzhrKsXw5uc/two%20minds%5B4%5D.jpg?imgmax=800"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="80" alt="two minds" src="http://lh6.ggpht.com/maximailx/SIsxZF4eQUI/AAAAAAAAAOI/ZcMLbDtgBOo/two%20minds_thumb%5B2%5D.jpg?imgmax=800" width="92" align="right" border="0" /&gt;&lt;/a&gt;Також, існує так звана &lt;strong&gt;&lt;a href="http://msdn.microsoft.com/en-us/isv/bb190446.aspx" target="_blank"&gt;ISV Buddy Program&lt;/a&gt;&lt;/strong&gt;. Суть програми у співпраці вас та їх спеціаліста (приятеля). Ви отримуєте консультації у питаннях створенні продуктів для їх платформ. А вони відповідно швидше можуть дізнатися про нові (в т.ч. ваші) ідеї та купити. Звісно є також інші партнерські програми від компанії.&lt;/p&gt;  &lt;p&gt;P.S. Довга вийшла стаття. Для мене особисто, всі перелічені ресурси стали в тій чи іншій нагоді. Чого і вам бажаю. А чи була ця інформація корисною? Пишіть.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3800969260924753825-7890864064907651361?l=microisv.org.ua' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://microisv.org.ua/feeds/7890864064907651361/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3800969260924753825&amp;postID=7890864064907651361&amp;isPopup=true' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/7890864064907651361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/7890864064907651361'/><link rel='alternate' type='text/html' href='http://microisv.org.ua/2008/07/blog-post_26.html' title='Корисні ресурси від Майкрософт'/><author><name>Максим Шостак</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01220416326522902458'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3800969260924753825.post-4489299179096645108</id><published>2008-07-19T16:00:00.034+03:00</published><updated>2008-07-19T20:27:00.966+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='програмний продукт'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='бізнес програмного забезпечення'/><category scheme='http://www.blogger.com/atom/ns#' term='Micro ISV'/><category scheme='http://www.blogger.com/atom/ns#' term='незалежний виробник ПЗ'/><title type='text'>Чужого навчайтесь, й свого не цурайтесь</title><content type='html'>Отже, в цей суботній день я таки вирішив розпочати блог про "незалежне мікро-виробництво програмного забезпечення" (Micro ISV) :)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/redirect.html%3FASIN=1590596234%26tag=msnspaces04-20%26lcode=sp1%26cID=2025%26ccmID=165953%26location=/Eric-Business-Software-Experts-Voice/dp/1590596234%253FSubscriptionId=1KDHEGDEXZNBKYAEECR2"&gt;&lt;/a&gt;І перше питання - &lt;strong&gt;Що таке "Micro ISV"&lt;/strong&gt;?&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_S8wr7oALrSU/SIH3sN97TkI/AAAAAAAAAJ0/J5pVefO36fM/s1600-h/bos.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5224729381762190914" style="FLOAT: right; MARGIN: 0px 0px 10px 10px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_S8wr7oALrSU/SIH3sN97TkI/AAAAAAAAAJ0/J5pVefO36fM/s320/bos.png" border="0" /&gt;&lt;/a&gt;Відповідно до визначення, що його дав Ерік Сінк (Eric Sink) в своїй книзі "&lt;a href="http://www.piter.com/book.phtml?978591180811"&gt;Бізнес програмного забезпечення&lt;/a&gt;":&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;НВП (ISV) означає незалежний виробник програмного забезпечення (ПЗ) . Цей акронім найчастіше застосовують в екосистемі Майкрософт, тож вважається що "тут присутній з Windows-центричним підтекст" (а-баба-галамага), але насправді це не так.&lt;/p&gt;&lt;p&gt;НВП створює, знаходить ринок збуту, та продає програмні продукти. Консалтингові фірми не є НВП, хоча іноді останні заробляють консультуючи. Активні посередники (перепродавці) не є НВП, хоча іноді останні перепродають продукти для когось. В НВП ви повинні уявити продукт, який хочете створити та взяти на себе ризик, що хтось досі хотітиме його купити поки ви його створите. Якщо у вас немає програмного продукту - ви не є НВП.&lt;/p&gt;&lt;p&gt;Маленький НВП, це НВП який не є великим :)&lt;/p&gt;&lt;/blockquote&gt;Друге питання - "&lt;strong&gt;Про що йтиметься&lt;/strong&gt; в цьому блозі?" Про:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;бізнес програмного забезпечення&lt;/strong&gt;. Це маркетинг, продаж, ліцензування, авторське право, і т.ін.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;технічні питання&lt;/strong&gt; створення програм (продуктів). Сюди відноситься вимоги, архітектура та дизайн, конструювання (на &lt;strong&gt;Java&lt;/strong&gt;), тестування, процеси, методології, контроль версій, тощо.&lt;/li&gt;&lt;li&gt;але в межах, що стосуються &lt;strong&gt;настільних&lt;/strong&gt; програмних продуктів споживацької та бізнес категорій (consumer and business desktop applications).&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;До ідеї створення цього блогу я прийшов працюючи над своїм Micro ISV, а також виходячи із результатів &lt;a href="http://blog.businessofsoftware.org/2007/09/micro-isv-sur-1.html"&gt;дослідження незалежних розробників - частина 1&lt;/a&gt; та &lt;a href="http://blog.businessofsoftware.org/2007/09/start-a-softwar.html"&gt;частина 2.&lt;/a&gt; І ще, після обговорення на форумі Construx: &lt;a href="http://forums.construx.com/forums/t/961.aspx"&gt;Software Best Practices&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;В українському Інтернет середовищі я не знайшов місця, де б зазначені вище питання висвітлювалися в достатньому обсязі. Іноді випливають цікаві теми на developers.org.ua, forum.jug.com.ua та різних інтернет дослідженнях. Та все якось малувато, та й не українською пишуть :) &lt;/p&gt;&lt;p&gt;Доречі, як краще звучить "незалежний &lt;strong&gt;виробник&lt;/strong&gt;" &lt;strong&gt;чи&lt;/strong&gt; "незалежний &lt;strong&gt;розробник&lt;/strong&gt;"? Цікаво почути ваші пропозиції.&lt;/p&gt;P.S. &lt;p&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-4ae3af034bdc489b" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fv13.nonxt3.googlevideo.com%2Fvideoplayback%3Fid%3D4ae3af034bdc489b%26itag%3D5%26begin%3D0%26len%3D86400000%26app%3Dblogger%26et%3Dplay%26el%3DEMBEDDED%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1270443476%26sparams%3Did%252Citag%252Cip%252Cipbits%252Cexpire%26signature%3D69A7B67CE3A4CBF23DA7EF8BD166F76C04416729.32A283BE8732C1C7545FCF564B784979DEA78952%26key%3Dck1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D4ae3af034bdc489b%26offsetms%3D5000%26itag%3Dw320%26sigh%3DlNTYc-aYzNmn-OSbZPuFgMbt-kQ&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den&amp;amp;nogvlm=1"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;embed width="320" height="266" src="http://www.blogger.com/img/videoplayer.swf?videoUrl=http%3A%2F%2Fv13.nonxt3.googlevideo.com%2Fvideoplayback%3Fid%3D4ae3af034bdc489b%26itag%3D5%26begin%3D0%26len%3D86400000%26app%3Dblogger%26et%3Dplay%26el%3DEMBEDDED%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1270443476%26sparams%3Did%252Citag%252Cip%252Cipbits%252Cexpire%26signature%3D69A7B67CE3A4CBF23DA7EF8BD166F76C04416729.32A283BE8732C1C7545FCF564B784979DEA78952%26key%3Dck1&amp;amp;thumbnailUrl=http%3A%2F%2Fvideo.google.com%2FThumbnailServer2%3Fapp%3Dblogger%26contentid%3D4ae3af034bdc489b%26offsetms%3D5000%26itag%3Dw320%26sigh%3DlNTYc-aYzNmn-OSbZPuFgMbt-kQ&amp;amp;messagesUrl=video.google.com%2FFlashUiStrings.xlb%3Fframe%3Dflashstrings%26hl%3Den&amp;amp;nogvlm=1" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3800969260924753825-4489299179096645108?l=microisv.org.ua' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://microisv.org.ua/feeds/4489299179096645108/comments/default' title='Дописати коментарі'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=3800969260924753825&amp;postID=4489299179096645108&amp;isPopup=true' title='0 коментарі(в)'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/4489299179096645108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3800969260924753825/posts/default/4489299179096645108'/><link rel='alternate' type='text/html' href='http://microisv.org.ua/2008/07/blog-post.html' title='Чужого навчайтесь, й свого не цурайтесь'/><author><name>Максим Шостак</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='01220416326522902458'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_S8wr7oALrSU/SIH3sN97TkI/AAAAAAAAAJ0/J5pVefO36fM/s72-c/bos.png' height='72' width='72'/><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>