

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Denis Martynkin &#187; article</title>
	<atom:link href="http://danstudio.ru/tag/article/feed/" rel="self" type="application/rss+xml" />
	<link>http://danstudio.ru</link>
	<description>Around the net // around the world</description>
	<lastBuildDate>Fri, 10 Feb 2012 08:56:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Установка Windows 7 с флэш-диска</title>
		<link>http://danstudio.ru/2009/11/18/ustanovka-windows-7-s-flesh-diska/</link>
		<comments>http://danstudio.ru/2009/11/18/ustanovka-windows-7-s-flesh-diska/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 15:21:57 +0000</pubDate>
		<dc:creator>Denis Martynkin</dc:creator>
				<category><![CDATA[Авторские статьи]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[netbook]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://danstudio.ru/?p=69</guid>
		<description><![CDATA[Фактически этот рецепт имеет основную ценность для владельцев нетбуков, в большинстве своем не имеющих DVD-привода, нотакже может быть полезен и различным экспериметаторам, а также любому, не желающему таскать с собой двд с windows7, ведь на флешку можно всегда закинуть что-то еще.<p class="read-more"><a href="http://danstudio.ru/2009/11/18/ustanovka-windows-7-s-flesh-diska/">Читать далее &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://danstudio.ru/2009/11/18/ustanovka-windows-7-s-flesh-diska/" title="Установка Windows 7 с флэш-диска"></a><p>Фактически этот рецепт имеет основную ценность для владельцев нетбуков, в большинстве своем не имеющих DVD-привода, нотакже может быть полезен и различным экспериметаторам, а также любому, не желающему таскать с собой двд с windows7, ведь на флешку можно всегда закинуть что-то еще.</p>
<p>Итак приступим.</p>
<p>Для создания загрузочной флешки нам понадобится:</p>
<ul>
<li> компьютер с Windows XP или старше </li>
<li> флешка или SD-карта размером больше 2.5 гб (так как объема в 3Гб у носителей я не видел, минимально-подходящая &#8211; 4 Гб)</li>
<li> Дистрибутив Windows 7 в виде ISO-образа на диске или уже записанный DVD с W7</li>
</ul>
<p><b><font color=red>Внимание: все данные на съемном носителе будут уничтожены!!!</font></b></p>
<p><b>Шаг 1 &#8211; Diskpart</b><br />
Вставляем флешку (или SD) в соответствующее устройство на компьютере.<br />
вызываем командную оболочку (Win + R или Пуск-Выполнить-cmd) и запускаем <b>diskpart</b><br />
В командной строке DiskPart&#8217;а выполняем следующие команды:<br />
<b>list disk</b> &#8211; отобразит нам список дисков представленных на компьютере, среди которых должна быть наша флешка (или SD). Если в списке отображенных дисков Вашей флешки или SD-карты нет, попробуйте сделать <b>list volume</b>.<br />
выбираем свой сменный накопитель командой <b>select disk #</b>, где # &#8211; номер нашего диска в списке, выведенном предыдущей командой. <i>(если на предыдущем шаге Вы пользовались list volume, то и сейчас надо будет select volume #)</i><br />
удаляем все партиции на флешке командой <b>clean</b><br />
создаем первичную командой <b>create partition primary</b><br />
выбираем ее <b>select partition 1</b><br />
делаем активной <b>active</b><br />
форматируем <b>format fs=fat32</b><br />
назначаем ей букву в системе <b>assign</b> (если вдруг не сработает попробуйте указать букву напрямую, например <b>assign letter=Q</b> &#8211; у вас появится новый диск <img src='http://danstudio.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
выходим из дискпарта <b>exit</b></p>
<p><b>Шаг второй &#8211; переносим контент</b><br />
Если у Вас ISO-образ W7, его можно просто распаковать на винчестер, в любую директорию, любым архиватором, работающим с этим форматом, а затем скопировать на флешку.<br />
Если у Вас DVD &#8211; выполняем в командной строке следующую команду <b>xcopy x:*.* /s/e/f y:</b> где <strong>x</strong> &#8211; имя вашего DVD-привода со вставленным диском W7, а <strong>y</strong>-имя Вашего USB-привода (SD-карты)<br />
через некоторое время контент будет успешно скопирован</p>
<p><strong>Шаг третий &#8211; делаем привод загрузочным</strong><br />
Идем в директорию boot нашего распакованного образа (или на DVD-диске) и выполняем там команду <strong>bootsect.exe /nt60 Y:</strong>, где <strong>Y</strong> &#8211; имя вашего USB-привода (или SD).</p>
<p>Вуаля!</p>
]]></content:encoded>
			<wfw:commentRss>http://danstudio.ru/2009/11/18/ustanovka-windows-7-s-flesh-diska/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QA vs QC: часть 1 &#8211; займемся определениями</title>
		<link>http://danstudio.ru/2009/10/02/qa-vs-qc-%d1%87%d0%b0%d1%81%d1%82%d1%8c-1-%d0%b7%d0%b0%d0%b9%d0%bc%d0%b5%d0%bc%d1%81%d1%8f-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f%d0%bc%d0%b8/</link>
		<comments>http://danstudio.ru/2009/10/02/qa-vs-qc-%d1%87%d0%b0%d1%81%d1%82%d1%8c-1-%d0%b7%d0%b0%d0%b9%d0%bc%d0%b5%d0%bc%d1%81%d1%8f-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f%d0%bc%d0%b8/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 16:49:09 +0000</pubDate>
		<dc:creator>Denis Martynkin</dc:creator>
				<category><![CDATA[Авторские статьи]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[qc]]></category>
		<category><![CDATA[theory]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://danstudio.ru/?p=43</guid>
		<description><![CDATA[<a href="http://danstudio.ru/2009/10/02/qa-vs-qc-%d1%87%d0%b0%d1%81%d1%82%d1%8c-1-%d0%b7%d0%b0%d0%b9%d0%bc%d0%b5%d0%bc%d1%81%d1%8f-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f%d0%bc%d0%b8/" title="QA vs QC: часть 1 - займемся определениями"></a>Давайте в первую очередь разграничим Контроль качества (QC) и Обеспечение качества (QA). Многие инженеры, даже занимающиеся тестированием не первый день, не могут четко дифференцировать Контроль качества (QC) и Обеспечение качества (QA). Присмотревшись нетрудно понять, что большинство QA-групп на самом деле &#8230;<p class="read-more"><a href="http://danstudio.ru/2009/10/02/qa-vs-qc-%d1%87%d0%b0%d1%81%d1%82%d1%8c-1-%d0%b7%d0%b0%d0%b9%d0%bc%d0%b5%d0%bc%d1%81%d1%8f-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f%d0%bc%d0%b8/">Читать далее &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://danstudio.ru/2009/10/02/qa-vs-qc-%d1%87%d0%b0%d1%81%d1%82%d1%8c-1-%d0%b7%d0%b0%d0%b9%d0%bc%d0%b5%d0%bc%d1%81%d1%8f-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f%d0%bc%d0%b8/" title="QA vs QC: часть 1 - займемся определениями"></a><p>Давайте в первую очередь разграничим Контроль качества (QC) и Обеспечение качества (QA).</p>
<p>Многие инженеры, даже занимающиеся тестированием не первый день, не могут четко дифференцировать Контроль качества (QC) и Обеспечение качества (QA). Присмотревшись нетрудно понять, что большинство QA-групп на самом деле занимаются QC (что, впрочем, не мешает им эффективно выполнять свои обязанности). В любом случае, это очень важный труд, но из этих двух, обеспечение качества (QA) более значимо для процесса в целом, в то время как QC оказывает большее влияние на конечный продукт.</p>
<p>Качество это параметр конечного продукта. Продуктом может быть что угодно &#8211; выработанные требования, сгенерированные тестовые данные, написанный исходный код, и так далее. Сервис тоже является продуктом — таким образом встречи с клиентом, работа службы поддержки,обучение персонала — все это попадает под определение «продукт» и, как результат, имеет тот же набор параметров — качество в том числе. Каждый продукт является результатом какого-либо процесса, а смысл процесса &#8211; производить один и тот же продукт снова и снова с теми же характеристиками. Это применимо ко всем областям разработки ПО. Обеспечение качества (QA) прежде всего интегрируется с процессом разработки, и, будучи интегрированным в процесс разработки, может, при соблюдении всех его составляющих, на постоянной основе гарантировать соответствующий уровень конечного продукта. </p>
<p><b>Контроль качества (QC)</b></p>
<p>Контроль качества это, по сути, набор методов сравнения проверяемого продукта с существующими требованиями и применимыми стандартами плюс набор процедур, выполняемых при нахождении несоответствия. С помощью циклов тестирования и обзоров ошибки выявляются и отправляются на доработку. Теоретически, контроль качества должен проводиться тем же подразделением, которое занимается разработкой продукта, однако, во многих организациях, контроль не только вынесен в отдельную структуру, но и может передаваться в сторонние организации.</p>
<p><b>Обеспечение качества (QA)</b></p>
<p>Обеспечение качества нацелено на создание уверенности в том, что существующие процессы приносят адекватный результат и постоянно совершенствуются, чтобы конечный продукт соответствовал предъявленным требованиям и удовлетворял запросы потребителей. Обычно, необходимость в построении процесса QA возникает из-за менеджмента, который, в большинстве своем, стремится к получению результата и уделяет мало внимания управлению и контролю процесса разработки. Сигналом о необходимости введения QA будут следующие факты:</p>
<ul>
<li>Управляющий персонал не настаивает на следовании установленным правилам</li>
<li>Служащие не уверены в важности формальных процессов.</li>
<li>Существующие процедуры сложны для использования или просто устарели.</li>
<li>Исполнителям не хватает квалификации.</li>
<li>Существующая деятельность неоценима — не в плане ее чрезвычайной важности , а в плане отсутствия соответствующих инструментов и методов.</li>
<li>Работники избегают конкретной оценки деятельности, чтобы скрыть низкую эффективность.</li>
<li>Существующая деятельность не направлена на критические участки продукта.</li>
</ul>
<hr />
<p><b>Давайте подытожим и окончательно разграничим контроль качества и обеспечение качества</b></p>
<p>Контроль качества (QC) это деятельность направленная на проверку соответствия продукта заданным стандартам качества. QA же оценивает эффективность контроля качества, устанавливает и выверяет все процессы производства. Если нет устоявшегося рабочего процесса, то и все постулаты QA соответственно неприменимы, ведь именно основываясь на них производится выбор методик, расчет приблизительных значений, и так далее.</p>
<p>Именно QA, Будучи внедренным в существующий процесс, выявит его слабые места и позволит избавиться от них, повышая качество разработки.</p>
<p>Контроль качества возможен в любой среде — даже с отсутствующим QA. И наоборот.</p>
<p>Контроль качества относится к конкретному продукту или сервису, в то время как в зону внимания  QA автоматически попадают все продукты, которые рано или поздно будут произведены существующим процессом разработки.</p>
<p>Контроль качества занимается проверкой выполнения (или не выполнения) конкретных условий в заданном продукте (или сервисе). Основная цель контроля качества — выявить существующие недостатки в продукте для их последующего устранения, а обеспечение качества занимается выстраиванием процесса -указывает на слабые места и помогает устранить их. Иногда QA даже называют «контролем за контролем качества». Тем не менее, QA-специалисты не выполняют задания по контролю качества, за исключением случаев, когда им необходимо проверить что они корректны и выполняют свою функцию.</p>
<p>Контролем качества занимается рядовой персонал (пусть даже отдельный отдел), в то время как обеспечение качества — забота менеджмента.</p>
<p>В итоге, Вы, будучи на должности QA-инженера, можете обнаружить, что на самом деле занимаетесь QC. Ничего, конечно, страшного в этом нет. Необходимо (хотя бы для себя) четко разделять эти два понятия, ибо мы, в дальнейшем, будем строги с ними.</p>
]]></content:encoded>
			<wfw:commentRss>http://danstudio.ru/2009/10/02/qa-vs-qc-%d1%87%d0%b0%d1%81%d1%82%d1%8c-1-%d0%b7%d0%b0%d0%b9%d0%bc%d0%b5%d0%bc%d1%81%d1%8f-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd%d0%b8%d1%8f%d0%bc%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Какие бывают баги: экзотика</title>
		<link>http://danstudio.ru/2009/02/02/exoticbugs/</link>
		<comments>http://danstudio.ru/2009/02/02/exoticbugs/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 16:42:48 +0000</pubDate>
		<dc:creator>Denis Martynkin</dc:creator>
				<category><![CDATA[Авторские статьи]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[qa]]></category>
		<category><![CDATA[qc]]></category>
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://danstudio.ru/?p=35</guid>
		<description><![CDATA[<a href="http://danstudio.ru/2009/02/02/exoticbugs/" title="Какие бывают баги: экзотика"></a>1. Немного этимологии и энтомологии Давайте посмотрим попристальней на такое знакомое и (до боли?) родное слово БАГ. Происходит оно от английского слова Bug, означающего «насекомое». Есть еще много сторонних значений, в частности английское выражение «to go bugs» &#8211; сойти с &#8230;<p class="read-more"><a href="http://danstudio.ru/2009/02/02/exoticbugs/">Читать далее &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://danstudio.ru/2009/02/02/exoticbugs/" title="Какие бывают баги: экзотика"></a><p><b>1.	Немного этимологии и энтомологии</b></p>
<p>Давайте посмотрим попристальней на такое знакомое и (до боли?) родное слово БАГ. Происходит оно от английского слова Bug, означающего «насекомое». Есть еще много сторонних значений, в частности английское выражение «to go bugs» &#8211; сойти с ума, что легко кореллируется со вполне русским «тараканы в голове завелись». Также вспоминаются и «жучки на линии» (тоже, кстати, по-английски – bugs). И опять мы пришли к насекомым.</p>
<p>Еще в 1878 году, Томас Альва Эдисон (да-да, тот самый!) в письмах к своему соратнику Пускасу писал: <i>«It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise — this thing gives out and [it is] then that &#8216;Bugs&#8217; — as such little faults and difficulties are called — show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached»</i>. Тем же словом, инженеры называли и сбои радарной электроники во время второй Мировой Войны. Конечно, более распространена история о том, что в 1946 году разработка компьютера Марк-2 (Mark-II) были приостановлена из-за сбоя его функционирования, вызванного попаданием мотылька между контактов. Трупик мотылька был извлечен и приклеен к отчету липкой лентой с комментарием «First actual case of bug being found.» («Первый случай нахождения настоящего жучка»). Как нетрудно догадаться, примерно оттуда же «растут уши» и слова «дебаггер» (debugger) – буквально «избавитель от жучков».</p>
<p><b>2.	Виды багов.</b></p>
<p>Простейший (не как инфузория-туфелька, а самый простой для понимания, можно сказать «классический») баг – это несоответствие между ожидаемым результатом (ОР) и фактическим результатом (ФР). Разберем это на примере:</p>
<table align=center>
<tr align="center" bgcolor="#999999">
<th>Действия</th>
<th>Ожидаемый результат</th>
<th>Фактический результат</th>
</tr>
<tr align="center" bgcolor="#999999">
<td>Ввести в ячейку выражение «=2+2*2» (без кавычек) и нажать ENTER</td>
<td>6</td>
<td>8 <font color=red>БАГ!!!!</font></td>
</tr>
</table>
<p><small>(это, кстати, реальный баг старого Microsoft Excel – он не учитывал приоритета математических операций, по которому умножение имеет высший приоритет по сравнению со сложением)</small></p>
<p>Все просто. Ждем одно – получаем другое. Баг.</p>
<p>Я не буду перечислять все подвиды бага классического – от опечаток в данных и опечаток в коде до бесконечных циклов, от использования оператора присвоения вместо оператора проверки равенства до использования неинициализированной переменной, от состояния гонки (race condition) в мультипоточных приложения до переполнения буфера, и так далее, и тому подобное – все это достаточно обыденные и ясные явления. Обратимся к малознакомой экзотике.</p>
<p><b>2.1.	Гейзенбаг (Heisenbug)</b></p>
<p>Баг, названный в честь Гейзенбергского Принципа неопределенности – концепции  квантовой физики. Простым (хоть слово «просто» здесь и не очень применимо) примером подобного бага будет являться ошибка, проявляющаяся, когда программа запускается на исполнение в рабочей среде, но исчезающая, когда программу запускают в дебаггере.</p>
<p><b>2.2.	Борбаг (Bohrbug)</b></p>
<p>Тип бага, названный так в честь атомной модели Бора. В противоположность Гейзенбагу, он проявляется постоянно при одном и том же стечении обстоятельств. Вопрос в том, что весь набор обстоятельств бывет невозможно (или очень трудно) отследить.</p>
<p><b>2.3.	Мандельбаг (Mandelbug)</b></p>
<p>Назван в честь Бенуа Мандельброта, внесшего огромный вклад в теорию фракталов. Мандельбагами называют ошибки, чьи причины настолько сложны и неясны, что фактически кажутся хаотичными и не поддающимися описаниями. (ключевое слово «кажутся»). Подобное, может быть вызвано, например, медленной реакцией системы – то есть ошибка уже произошла, но об этом вы узнаете только через некоторое время, что сильно затруднит локализацию причин.</p>
<p><b>2.4.	Шрединбаг (Schroedinbug)</b></p>
<p>Шрединбаг назван в честь известного парадокса с кошкой Шредингера (или эта несчастная животина – кот?). Он заключается в том, что кто-нибудь читает код программы (работающей уже некоторое время) и восклицает «Да этого не может быть! Она просто не может функционировать!», после чего программа прекращает свое функционирование пока данная ошибка не будет исправлена. Будучи, казалось бы, абсолютно фантастической, данная ошибка попадается в реальности – спросите знакомых ветеранов- разработчиков, они подтвердят. Хотя, конечно, последующий анализ, как правило, позволяет отнести ошибку к разделам 2.1, 2.2 или 2.3, это удается не всегда.</p>
<p><b>2.5.	Фазы луны</b></p>
<p>На самом деле такой ошибки не существует – это популярная отговорка тех, кто не хочет (не имеет желания и/или времени) разбираться в сложных причинах возникновения ошибки. Тем не менее, в истории существует пара примеров, когда ошибки возникали буквально из-за фаз луны. Я не буду приводить здесь эти истории, надеясь, что никому из нас не придется работать со столь сложными устройствами. Тем не менее, в любом случае, хотелось бы предостеречь всех от неосторожных умозаключений и попросить быть более внимательными, настойчивыми и скрупулезными в своей работе.</p>
<p><b>2.6.	Статистический (более известный как количественный) баг</b></p>
<p>Баг возникающий при произведении программой большого количества каких-либо действий. Примером данной ошибки может служить запуск программы, которая должна равномерно расположить на плоскости некоторое количество точек. Если, например, при большом количестве точек программа не только неправильно располагает их, но и норовит расположить все на одной стороне плоскости (при этом до определенного количества точек работая прекрасно) – вуаля, количественный баг.</p>
<p><b>2.7.	Демонстрационный эффект.</b></p>
<p>Ну и конечно, известный всем, «эффект первого показа», не раз случавшийся и с вашим покорным слугой. Как только приходит пора показать, например, прекрасно функционировавший на тестовом стенде юнит, обязательно происходит что-то ужасное. Причны, как правило, тривиальны – пропуск «незначительных» тест-кейсов, невнимательность к деталям и неучтенные юз-кейсы. Опять же – будьте внимательней.</p>
<p>На этом я закончу краткий обзор багов, буду рад Вашим замечаниям и предложениям.</p>
<p>Автор,<br />
Мартынкин Денис</p>
]]></content:encoded>
			<wfw:commentRss>http://danstudio.ru/2009/02/02/exoticbugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

