<?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>Skylord&#039;s notebook &#187; баги</title>
	<atom:link href="http://skylord.ru/tag/bagi/feed/" rel="self" type="application/rss+xml" />
	<link>http://skylord.ru</link>
	<description>Записная книжка</description>
	<lastBuildDate>Mon, 31 Oct 2011 14:49:46 +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>Сеятель РДВ</title>
		<link>http://skylord.ru/2011/05/11/seyatel-rdv/</link>
		<comments>http://skylord.ru/2011/05/11/seyatel-rdv/#comments</comments>
		<pubDate>Tue, 10 May 2011 21:39:22 +0000</pubDate>
		<dc:creator>Skylord</dc:creator>
				<category><![CDATA[Посты]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[баги]]></category>
		<category><![CDATA[бытовуха]]></category>
		<category><![CDATA[программирование]]></category>
		<category><![CDATA[сайты]]></category>

		<guid isPermaLink="false">http://skylord.ru/?p=273</guid>
		<description><![CDATA[Всегда у меня так &#8212; очень хочется взять все готовое, взболтать не смешивая и продать клиенту &#171;за дорого&#187;. Чтобы как у всех и без проблем. Но подводит, судя по всему, генетический перфекционизм &#8212; обязательно стоит сделать шаг в сторону от очередного &#171;Best practice guide&#187;, как натыкаюсь на какие-нибудь очередные грабли, с которыми мужественно начинаю бороться&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Всегда у меня так &#8212; очень хочется взять все готовое, взболтать не смешивая и продать клиенту &#171;за дорого&#187;. Чтобы как у всех и без проблем. Но подводит, судя по всему, генетический перфекционизм &#8212; обязательно стоит сделать шаг в сторону от очередного &#171;Best practice guide&#187;, как натыкаюсь на какие-нибудь очередные грабли, с которыми мужественно начинаю бороться&#8230; В последнее время такими граблями становится <a href="http://drupal.org/">Drupal</a> и все что с ним связано. С одной стороны &#8212; супер-расширяемая (за счет чего &#8212; тяжеловесная) и гибкая система, которая должна обеспечивать спасение котят целыми прайдами.<br />
<a href="http://skylord.ru/wp-content/uploads/2011/05/hack_core.jpg" rel="lightbox[273]"><img class="alignleft size-medium wp-image-274" style="margin: 15px 15px 15px 0;" title="hack_core" src="http://skylord.ru/wp-content/uploads/2011/05/hack_core-300x225.jpg" alt="" width="300" height="225" /></a><br />
С другой &#8212; вся эта гибкость обеспечивается как раз только в ядре, над каждым элементом которого думают месяцами и годами, а в модулях &#8212; в которых и состоит вся сила Друпала &#8212; предполагается зачастую один единственный сценарий работы, а чуть стоит от него отойти хотя бы на шаг (даже на полшага), то оказывается что либо это совсем невозможно, либо глючит все не по-детски. Причем это касается не только мелких и &#171;самопальных&#187;, но и таких &#171;столпов&#187; друпаловского сайтостроительства, как приснопамятный <a href="http://drupal.org/project/views">Views</a>. Кто хакал Views, тот меня поймет&#8230; По написанию для него хендлеров и т.п. и то толковой документации за столько лет не родили&#8230; А потом еще, значится, кто-то рассказывает, как сильно ООП упрощает жизнь&#8230; Тьфу.</p>
<p>В общем, у меня почти каждая серьезная работа с Друпалом выливается в суровое ковыряние внутренностей то Views, то вот теперь <a href="http://drupal.org/project/feeds">Feeds</a>, то каких-нибудь субмодулей <a href="http://drupal.org/project/cck">CCK</a> с целью исправления багов и обеспечения их нормальной работы c последующим отправлением закрывающих эти баги патчей. За предыдущие сутки &#8212; штук пять чужих багов закрыл. Больше всего мозг взорвали, конечно же, те же Views &#8212; не зря же про них вспомнил&#8230; Но была и адаптация одного JavaScript&#8217;а под Оперу, и верстки одного упрямого разработчика (&#171;Я не буду поддерживать браузер 10-летней давности!&#187;) под IE6.</p>
<p>Но самое главное, что я не понимаю логики тех, кто отписывается о багах, но не выкладывает патчи. Человек что, сдает заказчику работу с косяками? Или тупо забивает и не делает этот функционал? Это как вообще? Вот я представляю &#8212; звоню я завтра своему заказчику и объясняю, что вот такой-то блок новостей по федеральным округам мы выводим не сможем, потому что соответствующий субмодуль Views глючит и выкидывает ошибки SQL, я оставил репорт с багтрекере, но когда разработчик среагирует &#8212; неизвестно&#8230; Заказчик после этого пошлет меня на хер и будет совершенно прав &#8212; свои деньги он платит за результат, а не за то, чтобы я в багтрекер чей-то писал. А народ именно так и делает, а потом еще через полгода спрашивает &#8212; ну как, мол, ситуация там &#8212; исправили ошибку или нет? Что они эти полгода делали? И неужели им эта проблема еще актуальна? И вот я выкладываю патч для исправления косяка, который тянется с 2009 года (!!!), они его применяют и что говорят заказчику? &#171;Наконец выложили патч по багрепорту, который я оставлял 2 года назад!&#187; Бррр&#8230; Наверное, еще и деньги за свою работу просят.</p>
<p>Короче, в шоке я от основной массы девелоперов. Или я уже слишком стар, а они не девелоперы, а просто эникейщики, которые вышли на новый уровень? Раньше эникейщик устанавливал софт через виндовый Wizard и был крут по сравнению с пользователем. А теперь эникейщик делает сайты и тоже крут.</p>
<p>В такой ситуации остается только одно &#8212; учиться, учиться и еще раз учиться. Без перерыва. Тренировать мозг. Чтобы никогда в жизни не стать таким &#171;разработчиком&#187;. Разработчик &#8212; который вместо кода и патчей генерирует багрепорты &#8212; уже не может считаться таковым. По-моему так.</p>
]]></content:encoded>
			<wfw:commentRss>http://skylord.ru/2011/05/11/seyatel-rdv/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Internet Explorer убивает</title>
		<link>http://skylord.ru/2009/11/09/internet-explorer-ubivaet/</link>
		<comments>http://skylord.ru/2009/11/09/internet-explorer-ubivaet/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 22:17:10 +0000</pubDate>
		<dc:creator>Skylord</dc:creator>
				<category><![CDATA[Посты]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[баги]]></category>
		<category><![CDATA[верстка]]></category>
		<category><![CDATA[глюки]]></category>

		<guid isPermaLink="false">http://skylord.ru/?p=96</guid>
		<description><![CDATA[В буквальном смысле &#8212; тем что тратит время жизни тем, что вынуждает бороться с его багами. В данном конкретном случае столкнулся с багом, о котором до этого ни разу нигде не читал и не слышал. Более того, уже после решения проблемы поиском в Гугле так найти почти ничего и не смог. Хотя, возможно, плохо искал, [...]]]></description>
			<content:encoded><![CDATA[<p>В буквальном смысле &#8212; тем что тратит время жизни тем, что вынуждает бороться с его багами.</p>
<p>В данном конкретном случае столкнулся с багом, о котором до этого ни разу нигде не читал и не слышал. Более того, уже после решения проблемы поиском в Гугле так найти почти ничего и не смог. Хотя, возможно, плохо искал, так как ситуация достаточно неочевидная и нечастая&#8230; Примеры кода есть по ссылке приведенной ниже, а в тезисах суть следующая. Имеем div с содержимым, которому изначально присвоен некий скрывающий его со страницы класс, типа такого:<br />
<code><br />
.ui-tabs-hide {<br />
left:-15000px;<br />
position:absolute;<br />
top:-15000px;<br />
visibility:hidden;<br />
}<br />
</code><br />
Потом посредством JavaScript этот класс с блока убирается, но содержащиеся внутри div&#8217;а таблицы остаются невидимыми (иногда частично &#8212; границы есть, а содержимого &#8212; нет, что уж совсем футуристично).</p>
<p>Описание проблемы с примерами дается тут &#8212; <a href="http://wiki.orbeon.com/forms/doc/contributor-guide/ie-bugs" target="_blank">http://wiki.orbeon.com/forms/doc/contributor-guide/ie-bugs</a> (пункты 2.1.4, 2.1.5). Сам столкнулся с этим багом при работе с модулем <a href="http://drupal.org/project/tabs" target="_blank">Tabs</a> для Drupal, в котором все реализовано посредством <a href="http://docs.jquery.com/UI/Tabs" target="_blank">JQuery UI Tabs</a>. По приведенной ссылке предлагается вносить изменения в код JavaScript, но мне лезть во внутренности JQuery не хотелось (возможно, проблема решения в новых версиях<a href="http://docs.jquery.com/UI/Tabs" target="_blank"> JQuery UI Tabs</a>, т.к. в комплекте модуля идет 1.6, но обновляться не хотелось, так как могли вылезти какие-нибудь новые грабли, связанные с несовместимостями самого Drupal&#8217;а, а мне срочно надо было решить вопрос), поэтому подумал и добавил в вышеприведенный класс для скрывания блока строчку &#171;<strong>display: none;</strong>&#171;, что полностью решило проблему и IE6/7 стали нормально отображать таблицу внутри div&#8217;а.</p>
]]></content:encoded>
			<wfw:commentRss>http://skylord.ru/2009/11/09/internet-explorer-ubivaet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

