<?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"
	>

<channel>
	<title>Engel Side</title>
	<atom:link href="http://engelside.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://engelside.net</link>
	<description>Ольга 'Engel' Алексашенко: личный блог</description>
	<pubDate>Fri, 18 Jul 2008 19:27:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Enlarge your brain</title>
		<link>http://engelside.net/enlarge-your-brain/</link>
		<comments>http://engelside.net/enlarge-your-brain/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 18:57:26 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/?p=20</guid>
		<description><![CDATA[Наступило лето, сезон отпусков, и самое время задуматься, как бы провести время не только с удовольствием, но и с пользой. Получить полезные знания даже на отдыхе вам поможет чтение западных блогов на тему веб-разработки. Читая их регулярно, вы будете впереди планеты всей вместе с маститыми западными разработчиками, и заодно подтянете английский.
Вот дайджесты и блоги разработчиков, [...]]]></description>
			<content:encoded><![CDATA[<p>Наступило лето, сезон отпусков, и самое время задуматься, как бы провести время не только с удовольствием, но и с пользой. Получить полезные знания даже на отдыхе вам поможет чтение западных блогов на тему веб-разработки. Читая их регулярно, вы будете впереди планеты всей вместе с маститыми западными разработчиками, и заодно подтянете английский.</p>
<p>Вот дайджесты и блоги разработчиков, которые есть у меня в фидах:</p>
<ul>
<li><a href="http://clagnut.com/">Clagnut</a></li>
<li><a href="http://www.molly.com/">Molly Holzschlag</a></li>
<li><a href="http://microformatique.com/">Microformatique</a></li>
<li><a href="http://www.quirksmode.org/blog/">QuirksBlog</a></li>
<li><a href="http://www.456bereastreet.com/">456 Berea Street</a></li>
<li><a href="http://www.andybudd.com/">Andy Budd</a></li>
<li><a href="http://meyerweb.com/">Eric Meyer</a></li>
<li><a href="http://alistapart.com/">A List Apart</a></li>
<li><a href="http://www.digital-web.com/">Digital Web</a></li>
<li><a href="http://htmleditors.shadowboxcreative.ca/">HTML Editor Reviews</a></li>
<li><a href="http://snook.ca/jonathan/">Snook</a></li>
<li><a href="http://www.ejeliot.com/">Ed Eliot</a></li>
<li><a href="http://domscripting.com/blog/">DOMScripting</a></li>
<li><a href="http://allinthehead.com/">All in the HEAD</a></li>
<li><a href="http://www.howtocreate.co.uk/">How To Create</a></li>
<li><a href="http://microformats.org/">Microformats</a></li>
<li><a href="http://www.css3.info/">CSS3 Info</a></li>
<li><a href="http://www.thinkvitamin.com/">Vitamin</a></li>
<li><a href="http://www.smashingmagazine.com/">Smashing Magazine</a></li>
</ul>
<p>Может быть, у вас тоже что-нибудь есть? Кидайте в комменты.</p>
<p>За этот список выражаю благодарность <a href="http://pepelsbey.net">Вадиму pepelsbey Макееву</a>, в незапамятные времена поделившемуся со мной своим opml-листом :)</p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/enlarge-your-brain/feed/</wfw:commentRss>
		</item>
		<item>
		<title>5 советов верстальщику</title>
		<link>http://engelside.net/5-for-coder/</link>
		<comments>http://engelside.net/5-for-coder/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 10:42:03 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/5-for-coder/</guid>
		<description><![CDATA[Ну вот и меня осалили.
Итак:

Если вы работаете не в Яндексе, не в Гугле, и вообще не в любом подобного размаха проекте, забейте на IE &#60; 6, Opera &#60; 8, Safari &#60; 3, Firefox &#60; 2. Исключив поддержку данных браузеров, вы упростите свою работу и сократите её время. Тем самым вы будете успевать больше, а код [...]]]></description>
			<content:encoded><![CDATA[<p>Ну вот и меня <a href="http://webdev.lovata.com/2008/05/27/5-sovetov-verstalshhiku/">осалили</a>.</p>
<p>Итак:</p>
<ol>
<li>Если вы работаете не в Яндексе, не в Гугле, и вообще не в любом подобного размаха проекте, забейте на IE &lt; 6, Opera &lt; 8, Safari &lt; 3, Firefox &lt; 2. Исключив поддержку данных браузеров, вы упростите свою работу и сократите её время. Тем самым вы будете успевать больше, а код ваш будет лучше. Короче, вашему работодателю понравится. И, да — старые браузеры должны умереть.</li>
<li>Если дизайнер что-то не доделал или не предусмотрел в макете, а вы не чувствуете себя с Фотошопом на ты, не стесняйтесь послать дизайнеру макет на переделку/доделку, и самого дизайнера послать не стесняйтесь тоже, если он вдруг заартачится. Лучше потратьте время на улучшение верстки, чем на попытку кособоко нарисовать недостающую кнопочку, которую заказчик, скорее всего, все равно завернёт.</li>
<li>Если вы евангелист семантической верстки или собираетесь им стать, подумайте хорошенько и выведите логичную концепцию, почему именно вы применяете данную доктрину, и в каких случаях вы готовы от неё отступаться. Четко аргументируйте свою точку зрения. Если у вас нет аргументов, и вы не готовы со спокойной душой отступать от своей идеи, вы фанатик, и в Яндекс вас не возьмут. Зато, возможно, возьмут в W3C.</li>
<li>Учитесь всегда, учитесь везде. Пробуйте все новое в отрасли, читайте блоги по веб-разработке, дискутируйте, спрашивайте, убеждайте. Истина рождается в споре. Взаимодействуйте с сообществом, это поможет вам не отстать от жизни.</li>
<li>Храните все сделанные вами проекты в статическом варианте. Периодически просматривайте свои работы, думайте, что можно было бы сделать лучше, где можно было бы применить новые технологии, ищите ошибки. Если в какой-то момент вы понимаете, что в последних 10 проектах вам нечего улучшить, вы либо Виталий Харисов, либо остали от отрасли. Не дайте себе деградировать!</li>
</ol>
<p>Возможно, мои советы покажутся вам фашисткими, но что же делать, да, я фашист.</p>
<p>Роли исполняли:</p>
<ol>
<li><a href="http://seleckis.lv/journal/css/5-sovetov-verstalschiku">Никита Селицкий</a></li>
<li><a href="http://uggallery.audiopeace.ru/2008/05/19/5-advices">Александр Исаков</a></li>
<li><a href="http://blog.sribna.com/5-sovetov-verstalschiku.htm">Юрий Дроздов</a></li>
<li><a href="http://cssing.org.ua/2008/05/21/5-things-to-remembe/">Юрий Артюх</a></li>
<li><a href="http://pepelsbey.net/2008/05/soviet-country/">Вадим Макеев</a></li>
<li><a href="http://habrahabr.ru/blog/webdev/43163.html">Владимир Агафонкин</a></li>
<li><a href="http://www.webmakerslounge.com/news/work-advices/">Денис</a></li>
<li><a href="http://pokrovskii.com/5-sovetov-verstalshhiku/">Максим Покровский</a></li>
<li><a href="http://lusever.livejournal.com/21502.html">Павел Корнилов</a></li>
<li><a href="http://harisov.livejournal.com/105323.html">Виталий Харисов</a></li>
<li><a href="http://tanalin.com/blog/2008/05/xhtml-css-coding-tips-n-tricks/">Марат Таналин</a></li>
<li><a href="http://absolvo.ru/2008-05-27/neskolko-sovetov-verstalshhiku-krajne-poleznyj-fleshmob/">Волотко Дмитрий</a></li>
<li><a href="http://webmolot.com/5-sovetov-verstalshhiku/">webmolot</a></li>
<li><a href="http://rmcreative.ru/blog/post/neskolko-sovetov-verstalschikam">Александр Макаров</a></li>
<li><a href="http://www.alexilin.ru/5-sovetov-po-html-i-css/">alexilin.ru</a></li>
<li><a href="http://absolvo.ru/2008-05-27/neskolko-sovetov-verstalshhiku-krajne-poleznyj-fleshmob/">Волотко Дмитрий</a></li>
<li><a href="http://webdev.lovata.com/2008/05/27/5-sovetov-verstalshhiku/">Павел Ловцевич</a></li>
<li><a href="http://www.amazedev.com/5-sovetov-verstalshhiku/">Павел Коноплицкий</a></li>
<li><a href="http://blog.sjinks.org.ua/css/171-five-tips-my-five-cents/">Владимир</a></li>
<li><a href="http://forum.htmlbook.ru/viewtopic.php?id=9063">Влад Мержевич</a></li>
<li><a href="http://www.morozoff.info/2008/05/30/5-sovetov-verstalshhiku/">Игорь Морозов</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/5-for-coder/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ClientSide 2007 и WSG Meeting #3</title>
		<link>http://engelside.net/clientside-wsgmeeting/</link>
		<comments>http://engelside.net/clientside-wsgmeeting/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 09:14:22 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<category><![CDATA[Человек]]></category>

		<guid isPermaLink="false">http://engelside.net/clientside-wsgmeeting/</guid>
		<description><![CDATA[Конференции, семинары и встречи профессиональных сообществ — это прекрасно. Я не могу сказать, что подобные мероприятия сильно повышают мой профессиональный уровень — слушая доклад, я зачастую понимаю, что всё это либо мне известно, либо лежит в области, которая меня пока не интересует. Гораздо более интересны эти собрания в плане общения с коллегами. Ещё с первой [...]]]></description>
			<content:encoded><![CDATA[<p>Конференции, семинары и встречи профессиональных сообществ — это прекрасно. Я не могу сказать, что подобные мероприятия сильно повышают мой профессиональный уровень — слушая доклад, я зачастую понимаю, что всё это либо мне известно, либо лежит в области, которая меня пока не интересует. Гораздо более интересны эти собрания в плане общения с коллегами. Ещё с первой конференции <a href="http://rit2007.ru/">РИТ-2007</a> у меня появилась масса приятных знакомств с интереснейшими людьми, настоящими гуру от веб-разработки, и мне было очень радостно увидеть всех их снова. Опять же, интересно поломать копья в любимых всеми холиворах, ну и афтепати с неизменными яндексоидами — это тоже фан :)<br />
<a href="http://client2007.ru/">ClientSide</a> прошёл очень спокойно, честь и хвала организаторам. Я, имея доступ в святая святых конференции — штаб, наблюдала полное спокойствие, собранность и слаженную работу команды. Я на этот раз не участвовала в организации, зато была членом Программного Комитета. На конференции у меня был красивый бэйджик с надписью «Гуру» :) К следующему РИТу буду готовить доклад.</p>
<p>Что касается третьей встречи русского крыла <a href="http://webstandardsgroup.org/">Web Standards Group</a>, она превзошла все наши ожидания. Пришло около 70 человек из собиравшихся 120 — огромная явка, мы считаем. На встрече прошли четыре доклада от наших бессменных хедлайнеров <a href="http://pepelsbey.net">Вадима Макеева</a> и <a href="http://flack.ru">Алексея Рыбакова</a>, а также доклад гуру javascript&#8217;а Андрея Сумина и рассказ Алексея Николаенкова и его коллеги о Kandy — среде разработки для вебтехнологов. Снимал всё это дело веб-разработчик и гениальный фотограф <a href="http://www.livejournal.com/userinfo.bml?user=basic"><img src="http://www.livejournal.com/img/userinfo.gif" alt="basic"/></a><a href="http://www.livejournal.com/users/basic/">Вадим Пацев</a>. Причём, благодаря <a href="http://webdev.lovata.com/">Павлу Ловцевичу</a> и ещё одному молодому человеку, имя которого мне, к сожалению, неизвестно, съёмка была не только фото, но и видео! Как всегда, итогом встречи стала вербовка новых людей в нашу тихую песочницу, ну и, как мне кажется, нам удалось заинтересовать людей веб-стандартами и деятельностью нашей группы в частности. За официальной частью последовали две афтепати для наиболее выносливых. Наши афтепати — это вообще что-то с чем-то. Я считаю, стоит вступать в нашу группу уже хотя бы затем, чтобы посмотреть, как отжигают напару <a href="http://www.livejournal.com/userinfo.bml?user=ninja_127"><img src="http://www.livejournal.com/img/userinfo.gif" alt="ninja_127" /></a><a href="http://www.livejournal.com/users/ninja_127/">Марат Мамяшев</a> и Алексей Рыбаков. Лично я была в полном восторге.</p>
<p>В общем, встречи WSG Russia ещё обязательно будут, скорее всего, в начале 2008 года в Москве пройдёт следующее собрание. А что касается конференций, то <a href="http://oleg-bunin.livejournal.com/69782.html">План Бунина</a> на 2008 год действительно велик. Присоединятесь к оффлайновому сообществу веб-разработчиков! Это полезно и весело ;)</p>
<p>Ну и пара фотографий с мероприятий, пока вы совсем не забыли, как я выгляжу:</p>
<p><img src="http://farm3.static.flickr.com/2255/1930969594_b321585c41.jpg" alt=""/><br />
Это на конфе, фото <a href="http://www.livejournal.com/userinfo.bml?user=thebits"><img src="http://www.livejournal.com/img/userinfo.gif" alt="thebits"/></a><a href="http://www.livejournal.com/users/thebits/">Серёжи Мезенцева</a>.</p>
<p><img src="http://images.lovata.com/photos/wsg-russia-3/IMGP0052.jpg" alt=""/><br />
А это на встрече WSG. Фото by basic, а лицо у меня такое, потому что накануне мы с Анди изрядно приняли в «Заводных яйцах».</p>
<p>В общем, будьте с нами, будьте как мы, будьте лучше нас! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/clientside-wsgmeeting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Учебники по вёрстке</title>
		<link>http://engelside.net/books-for-coder/</link>
		<comments>http://engelside.net/books-for-coder/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 07:58:57 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/books-for-coder/</guid>
		<description><![CDATA[Меня часто спрашивают, какие книги я могу посоветовать начинающему верстальщику, чтобы он смог научиться верстать семантически. Вот список этих книг:
1. «Языки HTML и CSS — официальный учебный курс» Молли Хольцшлаг
2. «Пуленепробиваемый Web-дизайн» Дэн Седерхольм
3. «Мастерская CSS. Профессиональное применение Web-стандартов» Энди Бадд, Камерон Молл, Саймон Коллизон
4. «CSS-каскадные таблицы стилей. Подробное руководство» Эрик А. Мейер (это, по [...]]]></description>
			<content:encoded><![CDATA[<p>Меня часто спрашивают, какие книги я могу посоветовать начинающему верстальщику, чтобы он смог научиться верстать семантически. Вот список этих книг:</p>
<p>1. «<a href="http://oz.by/books/more1018544.html">Языки HTML и CSS — официальный учебный курс</a>» Молли Хольцшлаг<br />
2. «<a href="http://www.ozon.ru/context/detail/id/2719992/">Пуленепробиваемый Web-дизайн</a>» Дэн Седерхольм<br />
3. «<a href="http://www.ozon.ru/context/detail/id/3221769/">Мастерская CSS. Профессиональное применение Web-стандартов</a>» Энди Бадд, Камерон Молл, Саймон Коллизон<br />
4. «<a href="http://www.ozon.ru/context/detail/id/2468908/">CSS-каскадные таблицы стилей. Подробное руководство</a>» Эрик А. Мейер (это, по сути, расшифровка спецификации, и поэтому самая сложная книга, но если её осилить, можно стать мега-монстром).</p>
<p>Ну и к вопросу о становлении мега-монстром: учебники — это, конечно, хорошо и полезно. Но ничто так не учит, как собственный опыт. Поэтому смело могу посоветовать: верстайте больше, не бойтесь сложных макетов, экспериментируйте. Только опыт делает из специалиста профессионала ;)</p>
<p>P.S. Вот, кстати, ещё <a href="http://webdev.lovata.com/2007/09/28/kogda-derevya-byli-bolshimi-ili-o-tom-s-chego-vse-nachinali-2/">хороший список мест</a>, где начинающий верстальщик может получить информацию. Но на мой взгляд, часть книг, которые там даны, заметно устарела.</p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/books-for-coder/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Как воспитать дизайнера</title>
		<link>http://engelside.net/coder-vs-designer/</link>
		<comments>http://engelside.net/coder-vs-designer/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 10:32:50 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/coder-vs-designer/</guid>
		<description><![CDATA[За несколько лет профессиональной деятельности мне довелось повидать огромное количество макетов сайтов. Среди них были хорошие, плохие и совершенно ужасные, но не было ни одного идеального, хотя, если сложить несколько из этих макетов, тот самый идеальный вполне мог бы получиться.
Можно довольно долго рассуждать о том, почему дизайнеры в огромном количестве гонят некачественный продукт. Мне кажется, [...]]]></description>
			<content:encoded><![CDATA[<p>За несколько лет профессиональной деятельности мне довелось повидать огромное количество макетов сайтов. Среди них были хорошие, плохие и совершенно ужасные, но не было ни одного идеального, хотя, если сложить несколько из этих макетов, тот самый идеальный вполне мог бы получиться.</p>
<p>Можно довольно долго рассуждать о том, почему дизайнеры в огромном количестве гонят некачественный продукт. Мне кажется, основная проблема в том, что на веб-дизайнера нигде не учат. Более того, сейчас в Рунете каждый второй считает себя веб-дизайнером. «Умеешь рисовать в фотошопе скруглённые уголки, градиенты и отражения? Отлично, значит, и разработать интерфейс огромного информационного портала тоже сможешь», — такое чувство, что так рассуждает большинство нанимателей этих самых дизайнеров. И очень жаль. Поскольку для комфортной работы с дизайнером он должен иметь представление об информационной архитектуре, юзабилити, веб-технологиях — программировании и вёрстке, чтобы не рисовать заведомо то, что невозможно или очень сложно реализовать.  Однако на деле получается, что скруглённые уголки круче всех.</p>
<p>Поскольку у меня по ходу работы всё время возникает масса проблем с дизайнерами, я решила написать некоторые рекомендации, способные серьёзно упростить работу верстальщику. Эта статья адресована мудрым начальникам, которые хотят улучшить работу в своей команде, а также дизайнерам, которые не хотят заработать диарею в результате постоянных проклятий.<br />
<span id="more-16"></span><br />
Правило №1. <strong>Рисуйте макет сайта только в Photoshop.</strong></p>
<p>Некоторые дизайнеры почему-то очень любят использовать для создания макетов Adobe Illustrator. Это очень крутая программа, но предназначение у неё совершенно иное. В результате, всё равно приходится экспортировать макет в Photoshop, что зачастую вызывает массу ошибок. Ещё одна модная нынче фишка — Fireworks. Да, это уже гораздо лучше, чем Иллюстратор, но всё равно плохо, потому что традиционно верстальщики учатся работать с Photoshop, и когда дизайнер присылает им файл в формате .png, они просто-таки не знают, что с ним делать.  Про макеты в .jpg и прочих подобных форматах я вообще молчу. Да, такое тоже бывает!</p>
<p>Правило №2. <strong>Аккуратные слои.</strong></p>
<p>В Photoshop существует очень удобный механизм группировки слоёв. Это очень полезное свойство: гораздо легче разобраться в макете, если слои сгруппированы по элементам (например, шапка-контент-подвал). Также следует уделить внимание осмысленному именованию слоёв и групп, причём, желательно использовать английский язык — верстальщик всё равно именует элементы по-английски.  Слои, которые не используются в макете, необходимо удалять, а не оставлять отключёнными — верстальщик в процессе работы отключает разные слои, а потом включает всё сразу и может сильно испугаться. Иногда в одном макете помещают группы или слои для всех разновидностей данного типа страницы: например, форма регистрации и страница о том, что регистрация прошла успешно. В таком случае, отключённую группу или слой нужно помечать цветом, чтобы верстальщик её не пропустил.</p>
<p>Правило №3. <strong>Модульная сетка.</strong></p>
<p>Хороший дизайнер создаёт макет сайта по модульной сетке. Благодаря её присутствию в файле верстальщику гораздо проще высчитать размеры каких-либо элементов. Поэтому, призыв к дизайнерам : оставляйте в макете сетку, по которой работали.  Ну, и призыв к тем, кто сетку не использует: немедленно изучите эту основу композиции, пока вас не засмеяли. Все вспомогательные, неиспользуемые рулеры необходимо удалять.</p>
<p>Правило №4. <strong>«Липкие листочки».</strong></p>
<p>В фотошопе есть такой замечательный инструмент, как «липкие листочки» — специально для заметок на каком-либо элементе дизайна. Не ленитесь комментировать свой макет — как любят говорить на Вебмасконе, все телепаты ушли в отпуск: зачастую очень сложно догадаться, является ли какой-нибудь элемент  активным, и какие в макетах существуют скрытые закономерности.</p>
<p>Правило №5. <strong>Помните о динамике.</strong></p>
<p>В отличие от картины, сайт — это динамическая система, в которой есть активные элементы, в которой постоянно что-то происходит и изменяется. Всю динамику поведения активных элементов должен придумать дизайнер, создав дополнительные слои: например, ссылка, ссылка при наведении, посещённая ссылка. Очень часто дизайнеры почему-то не придают значения такому важному аспекту веб-дизайна. Также, необходимо описывать, что должно происходить при изменении размеров экрана или при переполнении каких-либо элементов.</p>
<p>Правило №6. <strong>«Рыба» и типографика.</strong></p>
<p>Совершенно естественно, что при разработке сайта почти никогда не используется тот контент, который там будет — зачастую, это контента ещё просто не существует. Поэтому дизайнеры, да и верстальщики используют «рыбу» — произвольный текст, который вписывается в контентные блоки. Но, к сожалению, делается это зачастую без проблеска мысли — например, на русскоязычном сайте везде используется популярная рыба на английском — «Lorem Ipsum…», которая не даёт представления, как будет выглядеть этот текст, набранный кириллическим шрифтом. Используйте подходящие к случаю рыбы!</p>
<p>Что касается типографики, то тут я убеждена: дизайнер просто обязан знать основы типографского искусства: осмысленно задавать интерлиньяж, размеры и семейства шрифтов, отступы и поля. А то как-то был у меня случай: прислали макет, в котором достаточно значимые подписи были исполнены шестым кеглем. А когда же я изменила размер шрифта на более читабельный, дизайнер капризно заныл, что у него на макете всё по-другому!</p>
<p>Правило №7. <strong>Шрифты.</strong></p>
<p>О шрифтах нужно сказать отдельно. Почему-то каждый дизайнер, купивший на Горбушке диск с двумя тысячами бесплатных шрифтов, считает своим долгом тут же эти шрифты засунуть куда только можно. Я даже не знаю, может быть, это последствия непросвещённости? Что ж, просвещаю: на компьютере пользователя, который зайдёт на ваш сайт, в 99% случаев есть только системные шрифты, и в 99.9% — это стандартные шрифты Windows. Поэтому, как не старайся, милый сердцу маковода Lucida Grande увидит, дай бог, 1% пользователей, а все остальные всё равно увидят Arial. Конечно, в небольших объёмах оригинальные шрифты более чем уместны: это касается логотипов, статичных заголовков и прочих подобных вещей. Но фигачить напропалую весь текст на сайте каким-нибудь Neo Sans Pro, а потом ругаться, что всё не так, как на макете  — подвергать себя опасности быть укушенным взбесившимся верстальщиком.<br />
Если вы всё же используете в своём макете нестандартные шрифты, присылайте их верстальщику вместе с макетом, иначе он не сможет нормально измерить кегль и начертание. За растрированные же текстовые блоки вам вообще могут оторвать голову! Так что будьте осторожны и внимательны.</p>
<p>Правило №8. <strong>Техническое задание.</strong></p>
<p>Перед  тем, как приступить к созданию макета, обязательно прочтите техническое задание: что будет на этом сайте, как он должен работать, какую именно интерактивность иметь… Если же в вашей компании экономят на техническом писателе, попытайтесь хотя бы в устной форме ознакомиться с требованиями к сайту. А то очень часто случается ситуация, когда дизайнер нарисовал красивый макет, верстальщик его заверстал, а потом оказывается, что, к примеру, настоящая флэшка, которая должна быть центральным элементом сайта, шире нарисованной на 10 пикселов. Сколько времени и сил впустую! А ещё кошмарнее, когда дизайнер не понимает, что возможно реализовать при помощи веб-технологий, а что нельзя. И в результате на свет появляются блоки с аудио-плеером, в которых по ходу прослушивания радиопередачи должен плавно пролистываться текст этой самой передачи! Нет, это, конечно, реализуемо, но такие задачи должны осмысленно закладываться в планируемое время разработки, чего обычно не происходит.</p>
<p>Правило №9. <strong>Цветовая гамма.</strong></p>
<p>Милый дизайнер! Я очень рада, что на твоём столе стоит тридцатидюймовый дорогущий монитор с отличной матрицей. Но ты должен понять, что ты пока — в меньшинстве подобных счастливчиков, а большинство пользователей сайта, который ты рисуешь, пользуются обычным ноутбуком или монитором с разрешением 1280 на сколько-нибудь там и не супер-качественной матрицей. Поэтому не нужно рисовать макет в 3000 пикселов шириной. Всё равно обычный пользователь не оценит всей красоты огромной подложки, но может очень рассердиться, когда поймет, что ему пришлось загрузить лишние полмегабайта картинки. Также, воздержись, пожалуйста, от использования очень светлых тонов вроде #F1F1F1. Доказано, что подобные оттенки не воспринимаются на сознательном уровне, однако, создают «шум» в глазах пользователя, который мешает ему сосредоточиться на полезных частях сайта. И ещё: постарайся не пользоваться цветовыми профилями. Обычно это заканчивается тем, что после вёрстки кто-нибудь обязательно начнёт вопить, что в макете-то цвета другие! Побереги нервы: свои и верстальщика.</p>
<p>Правило №10. <strong>Системные контролы.</strong></p>
<p>Это немного спорная тема, но я всё же её коснусь. Ни для кого не секрет, что дизайнеры очень любят рисовать кастомные элементы форм. В чём-то они правы: в Windows, особенно в стандартной теме, далеко не самые красивые контролы, и они действительно могут испортить внешний вид сайта. Однако, во-первых, все эти красивые скруглённые штучки с градиентами довольно слабо реализуемы на кроссбраузерном уровне, а во-вторых, среднестатистический пользователь потратит куда больше мозговых усилий на то, чтобы понять, куда ему ввести своё имя, если перед ним что-то очень красивое, но абсолютно непохожее на стандартные контролы его операционной системы, к которым он привык. А заставлять пользователей задумываться над интерфейсом — значит, потерять какую-то особо нетерпеливую часть аудитории.</p>
<p>Правило №11. <strong>Продумайте всё.</strong></p>
<p>Когда я пришла на работу в компанию, которая занималась разработкой сайтов для T-Mobile, первое, что мне пришлось сделать — это прочитать Style Guide. Style Guide представлял собой папку А4, толщиной примерно сантиметров в двадцать, в которой были описаны все цвета, шрифты, размеры и тому подобные вещи, которые можно применять в оформлении каких-либо материалов для T-Mobile. При помощи этого стайлгайда наши дизайнеры рисовали макеты, уделяя внимание всем деталям. Кажется, это были лучшие макеты, с которыми мне доводилось работать. Я веду свою мысль к следующему: не ленитесь отрисовывать все элементы, которые могут встретиться на странице. Все заголовки, абзацы, подписи к картинкам, цитаты, врезки и так далее и тому подобное. Потому что чаще всего, если верстальщик сам берётся додумать недостающие элементы, это заканчивается истерикой у дизайнера. Позаботьтесь обо всём сразу.</p>
<p><strong>В общем, резюмируя всё вышесказанное — дизайнер должен уметь не только обосновать, что эти три колонки цветов «вырви глаз» символизируют собой российский флаг, но и тщательно продумать, спроектировать свою работу, аккуратно и дотошно её выполнить, не забывая при том, что с макетом в дальнейшем будут работать ещё несколько человек. Работайте профессионально. Это приятно и полезно.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/coder-vs-designer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Портфолио</title>
		<link>http://engelside.net/my-portfolio/</link>
		<comments>http://engelside.net/my-portfolio/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 11:29:31 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/portfolio/</guid>
		<description><![CDATA[Обновила своё портфолио.
По здравому размышлению решила не давать ссылок на живые проекты, кроме тех, которые я контролирую сама (этот блог, например). Такое решение обусловлено тем, что чистенький html-прототип от меня попадает прямиком в руки программистов или контент-менеджеров, и эти люди зачастую делают с ним нечто кошмарное.
Чтобы получить представление о моих навыках вёрстки, статических прототипов более [...]]]></description>
			<content:encoded><![CDATA[<p>Обновила своё <a href="http://engelside.net/portfolio/">портфолио</a>.</p>
<p>По здравому размышлению решила не давать ссылок на живые проекты, кроме тех, которые я контролирую сама (этот блог, например). Такое решение обусловлено тем, что чистенький html-прототип от меня попадает прямиком в руки программистов или контент-менеджеров, и эти люди зачастую делают с ним нечто кошмарное.</p>
<p>Чтобы получить представление о моих навыках вёрстки, статических прототипов более чем достаточно, а пугать потенциальных заказчиков очередным кошмаром, в который другие разработчики превратили мой макет, совершенно не хочется.</p>
<p>И, да - я по-прежнему открыта для фриланса.<br />
U r welcome -)</p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/my-portfolio/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rammstein «Engel»: текст, перевод и песня</title>
		<link>http://engelside.net/rammstein-engel-text-translate-download/</link>
		<comments>http://engelside.net/rammstein-engel-text-translate-download/#comments</comments>
		<pubDate>Mon, 07 May 2007 07:42:35 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Человек]]></category>

		<guid isPermaLink="false">http://engelside.net/rammstein-engel-text-translate-download/</guid>
		<description><![CDATA[Чтобы не разочаровывать пользователей, которые приходят на этот сайт с поисковиков по запросу «engel», выкладываю сюда песню Rammstein, которой я и обязана своим ником.


Текст
Перевод



Wer zur Lebzeit gut auf Erden,
Wird nach dem Tod ein Engel werden.
Den Blick &#8216;den Himmel fragst Du dann,
Warum man sie nicht sehen kann.
Erst wenn die Wolken schlafen gehen,
Kann man uns am Himmel [...]]]></description>
			<content:encoded><![CDATA[<p>Чтобы не разочаровывать пользователей, которые приходят на этот сайт с поисковиков по запросу «engel», выкладываю сюда песню Rammstein, которой я и обязана своим ником.</p>
<table cellpadding="0" style="width:100%;border:1px solid #CCC;border-collapse:collapse;margin-bottom:.7em;">
<tr>
<th style="background:#C0C0C0;text-align:center;padding:.3em;border:1px solid #E7E7E7;color:#F7F7F7;">Текст</th>
<th style="background:#C0C0C0;text-align:center;padding:.3em;border:1px solid #E7E7E7;color:#F7F7F7;">Перевод</th>
</tr>
<tr>
<td style="padding:.8em .8em 0;border:1px solid #CCC;">
<p>Wer zur Lebzeit gut auf Erden,<br />
Wird nach dem Tod ein Engel werden.<br />
Den Blick &#8216;den Himmel fragst Du dann,<br />
Warum man sie nicht sehen kann.</p>
<p>Erst wenn die Wolken schlafen gehen,<br />
Kann man uns am Himmel sehen.<br />
Wir haben Angst und sind allein.<br />
Gott weiß, ich will kein Engel sein.</p>
<p>Sie leben hinter&#8217;m Sonnenschein;<br />
Getrennt von uns unendlich weit.<br />
Sie müssen sich an Sterne krallen,<br />
Damit sie nicht vom Himmel fallen.</p>
<p>Erst wenn die Wolken schlafen gehen,<br />
Kann man uns am Himmel sehen.<br />
Wir haben Angst und sind allein.<br />
Gott weiß, ich will kein Engel sein.</p>
<p>Gott weiß, ich will kein Engel sein.<br />
Gott weiß, ich will kein Engel sein.</p>
<p>&copy; Rammstein</p>
</td>
<td style="padding:.8em .8em 0;border:1px solid #CCC;vertical-align:top;">
<p>Кто на Земле жил праведно,<br />
Станет после смерти ангелом<br />
Смотря в небо, думаешь,<br />
Почему же их не видно?</p>
<p>Только когда облака уснут,<br />
Можно на небе нас увидеть,<br />
Нам страшно и одиноко.<br />
Боже! Я не хочу быть ангелом.</p>
<p>Они живут за солнечными лучами<br />
Отделены от нас бесконечной далью<br />
Постоянно цепляясь за звёзды,<br />
Чтобы с неба вниз не свалиться.</p>
<p>Только когда облака уснут,<br />
Можно на небе нас увидеть,<br />
Нам страшно и одиноко.<br />
Боже! Я не хочу быть ангелом.</p>
<p>Боже! Я не хочу быть ангелом.<br />
Боже! Я не хочу быть ангелом.</p>
<p>&copy; Андрей Дюк</p>
</td>
</tr>
</table>
<p>Скачать песню: <a href="http://engelside.net/music/rammstein.engel.mp3">Rammstein «Engel»</a> (6 Mb)</p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/rammstein-engel-text-translate-download/feed/</wfw:commentRss>
<enclosure url="http://engelside.net/music/rammstein.engel.mp3" length="6371079" type="audio/mpeg" />
		</item>
		<item>
		<title>Статья «Как написать плагин для Wordpress» (Writing a Plugin) — перевод</title>
		<link>http://engelside.net/writing-a-plugin-translate/</link>
		<comments>http://engelside.net/writing-a-plugin-translate/#comments</comments>
		<pubDate>Thu, 03 May 2007 16:11:02 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/writing-a-plugin-translate/</guid>
		<description><![CDATA[В процессе работы над сайтом на Wordpress мне понадобилось написать плагин. Документации на русском языке я нигде не нашла, поэтому пришлось читать на английском - официальную статью Writing a plugin. По ходу дела и перевела.
Так как это мой первый опыт перевода больших технических текстов, ляпы имеются. Любые исправления будут приняты с радостью ;)
Перевод под катом.

Написание [...]]]></description>
			<content:encoded><![CDATA[<p>В процессе работы над сайтом на Wordpress мне понадобилось написать плагин. Документации на русском языке я нигде не нашла, поэтому пришлось читать на английском - официальную статью <a href="http://codex.wordpress.org/Writing_a_Plugin">Writing a plugin</a>. По ходу дела и перевела.</p>
<p>Так как это мой первый опыт перевода больших технических текстов, ляпы имеются. Любые исправления будут приняты с радостью ;)</p>
<p>Перевод под катом.<br />
<span id="more-12"></span></p>
<h3>Написание плагина</h3>
<h4>Введение</h4>
<p>Вплоть до версии Wordpress 1.2, если вы хотели изменить его поведение, вам нужно было редактировать (или «хакать») исходный код Wordpress. Однако, в большинстве текущих версий Wordpress вы можете с легкостью модифицировать функциональность ядра Wordpress или добавлять новую с помощью «<a href="http://codex.wordpress.org/Plugins">плагинов</a>». Основная идея использования расширяемой архитектуры состоит в том, чтобы при сохранении ядра относительно простым, но достаточно гибким, каждый аспект его ввода и вывода мог быть изменен с помощью плагинов. Вот определение:</p>
<p><strong>Плагин Wordpress</strong></p>
<blockquote><p>Плагин Wordpress - это программа или набор функций, написанных на PHP, которые добавляют определенный набор возможностей или сервисов к блогу на Wordpress, которые легко объединяются с системой управления и методами Wordpress при помощи <a href="http://codex.wordpress.org/Plugin_API">Plugin Application Program Interface (API)</a>.</p></blockquote>
<p>Если вы хотите добавить или изменить какую-либо функциональность Wordpress, первое, что вам нужно сделать, это поискать в разнообразных хранилищах плагинов (которые вы найдете в статье <a href="http://codex.wordpress.org/Plugins">Plugins</a>) - может быть, кто-нибудь уже создал плагин, который удовлетворит ваши потребности. Если же вы ничего не нашли, эта статья поможет вам понять процесс создания собственных плагинов.</p>
<p>Эта статья подразумевает, что вы уже знакомы с основами функциональности Wordpress, а также с языком программирования PHP.</p>
<h4>Ресурсы</h4>
<p><a href="http://codex.wordpress.org/Plugin_Resources">Plugin Resources</a> — всеобъемлющий список статей и средств для разработчиков плагинов, включающий в себя развернутые статьи по написанию плагинов, и статьи на специфические «узкие» темы.</p>
<p>Другой хороший путь изучить устройство плагинов - это смотреть в исходные PHP-коды хорошо написанных плагинов, таких как <a href="http://codex.wordpress.org/Plugins#Default_Plugins">Hello Dolly</a>, плагин, входящий в базовую поставку Wordpress.</p>
<p>Если вы написали плагин к Wordpress, прочитайте  <a href="http://codex.wordpress.org/Plugin_Submission_and_Promotion">Plugin Submission and Promotion</a>, чтобы узнать, как распространить ваш плагин.</p>
<h3>Создание плагина</h3>
<p><em>Эта часть статьи даст вам понять, какие шаги вы должны предпринять для создания  хорошего плагина.</em></p>
<h4>Имена, файлы, и местоположения файлов</h4>
<h5>Имя плагина</h5>
<p>Первая задача при создании плагина - подумать, что плагин будет делать, и придумать для него имя (желательно уникальное). Проверьте <a href="http://codex.wordpress.org/Plugins">Plugins</a> и другие хранилища, чтобы убедиться в том, что придуманное вами имя - уникальное; вы можете также погуглить по выбранному вами имени. Большинство разработчиков плагинов выбирают имена, которые отражают функциональность их плагина; например, плагин для отображения погоды может иметь в названии слово &#8220;погода&#8221;. Название может состоять из нескольких слов. <em>(Естественно, ваш плагин должен иметь название на английском языке. - прим. переводчика)</em></p>
<h5>Файлы плагина</h5>
<p>Следующий шаг - создание файла PHP с именем, производным от названия плагина. Например, если ваш плагин будет называться «Fabulous Functionality», вы можете назвать ваш файл fabfunc.php. Опять же, попробуйте создать уникальное имя. Люди, которые установят ваш плагин, положат этот файл в свою директорию для плагинов wp-content/plugins/, и два плагина, которые человек использует, могут иметь одинаковое имя файла.</p>
<p>Другой вариант - разбить ваш плагин на несколько файлов. Ваш плагин должен иметь как минимум один файл PHP; он также может содержать файлы Javascript, CSS, изображения, языковые файлы и т.п. Если ваш плагин состоит из нескольких файлов, задайте уникальное имя для директории, в которой они лежат, и для главного файла PHP, такие как fabfunc и fabfunc.php в нашем примере, положите ваши файлы в эту директорию, и дайте пользователям возможность устанавливать целую директорию в свою папку для плагинов.</p>
<p><em>В этой статье «PHP файл плагина» означает главный PHP-файл, который находится в директории для плагинов или в ее поддиректории. </em></p>
<h5>Файл «Прочитай меня» (Read me)</h5>
<p>Если вы хотите разместить ваш плагин на <a href="http://Wordpress-plugins.org/">http://Wordpress-plugins.org</a>, вам необходимо создать файл readme.txt в стандартном формате, и включить его в свой плагин. Смотрите <a href="http://wordpress.org/extend/plugins/about/readme.txt">http://wordpress.org/extend/plugins/about/readme.txt</a> для получения разъяснений по формату.</p>
<h5>Домашняя страница</h5>
<p>Также, очень удобно создать веб-страницу, играющую роль «домашней страницы» вашего плагина. Эта страница должна объяснять, как установить плагин, что он делает, с какими версиями Wordpress совместим, что менялось от версии к версии вашего плагина, и как использовать плагин.</p>
<h4>Заголовки файлов</h4>
<p><em>Самое время дать некоторую информацию по поводу вашего главного файла PHP.</em></p>
<h5>Стандартная информация о плагине</h5>
<p>Начало вашего файла должно содержать стандартный информационный заголовок. Этот заголовок позволяет Wordpress понять, что ваш плагин существует, добавить его в панель управления плагинами, где он может быть активирован, загрузить его и запустить его функции; без заголовка ваш плагин никогда не будет активирован и запущен. Это формат заголовка:</p>
<p><code>&lt;?php<br />
/*<br />
Plugin Name: Название вашего плагина<br />
Plugin URI: http://URI_страницы_которая_описывает_ваш_плагин<br />
Description: небольшое описание плагина.<br />
Version: номер версии<br />
Author: имя автора<br />
Author URI: http://URI_автора<br />
*/<br />
?&gt;</code></p>
<p><em>(естественно, все должно быть по-английски - прим. переводчика)</em></p>
<p>Минимальная информация, которая нужна Wordpress, чтобы обнаружить ваш плагин - его название (Plugin Name). Остальная информация (если она есть) используется для создания таблицы плагинов на странице управления плагинами. Порядок строк неважен.</p>
<h5>Лицензия</h5>
<p>За стандартным заголовком обычно следует информация о лицензии на плагин. большинство плагинов используют лицензию <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a> или лицензию, <a href="http://www.fsf.org/licensing/licenses/index_html#GPLCompatibleLicenses">совместимую с GPL</a>. Для указания лицензии GPL добавьте следующие строки в файл вашего плагина:</p>
<p><code>&lt;?php<br />
/*  Copyright YEAR  PLUGIN_AUTHOR_NAME  (email : PLUGIN AUTHOR EMAIL)<br />
This program is free software; you can redistribute it and/or modify<br />
    it under the terms of the GNU General Public License as published by<br />
    the Free Software Foundation; either version 2 of the License, or<br />
    (at your option) any later version.<br />
 This program is distributed in the hope that it will be useful,<br />
    but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the<br />
    GNU General Public License for more details.<br />
You should have received a copy of the GNU General Public License<br />
    along with this program; if not, write to the Free Software<br />
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA<br />
*/<br />
?&gt;<br /></code></p>
<h4>Программирование плагина</h4>
<p><em>Самое время заставить ваш плагин что-либо делать. Эта часть статьи содержит несколько основных идей разработки плагинов, и объясняет, как довести до совершенства несколько задач, которые ваш плагин будет делать.</em></p>
<h5>«Ловушки» (Hooks) плагина</h5>
<p>Множество плагинов выполняют свои задачи с помощью соединения с одной или более «ловушками». «Ловушки» работают в то время, пока Wordpress запущен. Wordpress проверяет, имеют ли несколько плагинов одинаковые зарегистрированные функции, и если это так, функции запускаются. Эти функции меняют стандартное поведение Wordpress.</p>
<p>Например, перед тем как Wordpress добавляет заголовок поста в вывод браузера, сначала он проверяет, имеет ли какой-либо плагин зарегистрированную функцию для «фильтра-ловушки» под названием «the_title». Если имеет, текст заголовка пропускается через каждую зарегистрированную функцию, и конечный результат выводится. Таким образом, если ваш плагин должен добавлять некую информацию к заголовку поста, он может зарегистрировать функцию-фильтр «the_title».</p>
<p>Другой пример - «действующая ловушка» под названием «wp_footer». Перед концом HTML-страницы, которую генерирует Wordpress, он проверяет, имеют ли какие-нибудь плагины зарегистрированную функцию «wp_footer», и запускает ее.</p>
<p>Вы можете узнать больше о том, как регистрировать функции для фильтров и «ловушек», и какие «ловушки» доступны в Wordpress, в <a href="http://codex.wordpress.org/Plugin_API">Plugin API</a>. Если вы нашли место в коде Wordpress, где вы хотели бы иметь действие или фильтр, но в Wordpress его нет, вы можете предложить новые «ловушки» (предложения в основном принимаются); как это сделать, вы можете узнать в <a href="http://codex.wordpress.org/Reporting_Bugs">Reporting Bugs</a>.</p>
<h5>Теги шаблонов</h5>
<p>Другой путь добавления функциональности с помощью плагина - создание <a href="http://codex.wordpress.org/Template_Tags">Тегов шаблонов</a>. Тот, кто хочет использовать ваш плагин, может добавить эти теги в свою тему, в панель, в секцию содержимого поста, или в другое соответствующее место. Например, плагин, который добавляет географические теги к постам, может определяться функцией тега шаблона под названием geotag_list_states() в панели, который составляет список всех постов, помеченных гео-тегами, со ссылкой на архив страниц плагина.</p>
<p>Чтобы объявить тег шаблона, просто напишите функцию php, и задокументируйте ее для пользователей плагина на вашей странице, посвященной плагину и/или в главном файле плагина. Хорошая идея, документируя функцию, приводить пример выполнения содержащий &lt;?php и ?&gt;, который нужно добавить в тему для получения результата.</p>
<h5>Сохранение данных плагина в базу</h5>
<p>Большинство плагинов получают некую информацию от владельца блога или от его пользователейдля использования ее в фильтрах, рабочих функциях, и функциях шаблонов, которую нужно хранить между сессиями. Эта информация требует сохранения в базе Wordpress на длительное время между сессиями. Вот два основных метода сохранения данных в базу:</p>
<ol>
<li>Используйте механизм Wordpress Options (о нем рассказывается ниже). Этот метод предназначен для хранения относительно небольшого количества статической информации, называемой «массивом данных» - тип данных, которые владелец блога вводит при первом запуске плагина, и затем редко изменяет.</li>
<li>Создайте новую отдельную таблицу в базе данных. Этот метод предназначен для данных, связанных с определенными постингами, страницами, прикрепленными файлами или комментариями - тип данных, которые растет с течением времени, и которые не имеют индивидуальных имен. Смотрите <a href="http://codex.wordpress.org/Creating_Tables_with_Plugins">Creating Tables with Plugins</a> для получения информации, как создать таблицу плагина.</li>
</ol>
<h5>Механизм настроек (Options) Wordpress</h5>
<p>Wordpress имеет механизм для сохранения, обновления и извлечения индивидуально поименованных массивов данных (настроек), хранящихся в базе Wordpress. Значения настроек могут быть строками, массивами или объектами PHP (они будут сериализованы или сконвертированы в строку перед записью, и разсериализованы перед извлечением). Названия настроек - строки, и они должны быть уникальными, чтобы не конфликтовать с Wordpress или другими плагинами.</p>
<p>Вот главные функции, которые ваш плагин может использовать, чтобы получить доступ к настройкам Wordpress:</p>
<p><strong>add_option($name, $value, $description, $autoload);</strong></p>
<p>Создает новую настройку; не делает ничего, если опция уже существует.</p>
<ul>
<li><strong>$name</strong> - обязательный (строка). Имя настройки.</li>
<li><strong>$value</strong> - необязательный (строка), по умолчанию пустая строка. Значение настройки.</li>
<li><strong>$description</strong> - необязательный (строка), по умолчанию пустая строка. Описание настройки, которое находится в базе, чтобы кто-либо, просматривающий базу, понимал, что это за настройка.</li>
<li><strong>$autoload</strong> - необязательный, по умолчанию - «да» («да» или «нет»). Если установлено «да», настройки автоматически извлекаются функцией get_alloptions.</li>
</ul>
<p><strong>get_option($option);</strong></p>
<p>Извлекает значение настройки из базы.</p>
<ul>
<li><strong>$option</strong> - обязательный (строка). Имя настройки, значение которой нужно получить.</li>
</ul>
<p><strong>update_option($option_name, $newvalue);</strong></p>
<p>Обновляет или создает значение настройки в базе (примечание: add_option не может быть вызвана без использования $description или $autoload параметров).</p>
<ul>
<li><strong>$option_name</strong> - обязательный (строка). Имя настройки для обновления.</li>
<li><strong>$newvalue</strong> - обязательный. Новое значение настройки.</li>
</ul>
<h5>Панели администрирования</h5>
<p>При условии, что ваш плагин имеет некие опции, хранящиеся в базе Wordpress (см. раздел выше), вы, вероятно, захотите иметь административную панель, которая позволит пользователям смотреть и редактировать настройки вашего плагина. Методы создания панелей описаны в <a href="http://codex.wordpress.org/Adding_Administration_Menus">Adding Administration Menus</a>.</p>
<h5>Интернационализация плагина</h5>
<p>После того, как вы закончили писать ваш плагин, его необходимо интернационализовать (при условии, что вы планируете распространять ваш плагин). Интернационализация - это процесс настройки программного обеспечения под локализацию; локализация - это процесс перевода на различные языки отображаемого программой текста. Wordpress используется по всему миру, и интернационализация и локализация встроены в его структуру, в том числе, и локализация плагинов. Wordpress использует &#8220;GNU gettext&#8221; для локализации (см. <a href="http://codex.wordpress.org/Translating_WordPress">Translating WordPress</a>).</p>
<p>Очень рекомендуется интернационализовать ваш плагин, чтобы люди из разных стран могли локализовать его. Процесс прост:</p>
<ul>
<li>Выберите имя для пространства перевода вашего плагина. Обычно оно такое же, как имя главного файла вашего плагина (только без .php). Имя должно быть уникальным.</li>
<li>Везде, где ваш плагин использует строки текста, которые будут показаны пользователю (известны как «сообщения»), заключите их в одну из двух gettext-функция Wordpress. Заметьте, что в вашем плагине вы должны использовать второй аргумент - имя пространства перевода, которое вы выбрали (в ядре Wordpress этот аргумент остается пустым).</li>
</ul>
<p><strong>__($message, $domain)</strong></p>
<p>Переводит $message, используя текущую локаль для $domain. Поместите строки, которые собираетесь использовать в расчетах, в эту функцию.</p>
<p><strong>_e($message, $domain)</strong></p>
<p>Переводит $message, используя текущую локаль для $domain. Поместите в эту функцию строки, которые собираетесь показывать пользователю.</p>
<ul>
<li>Создайте для вашего плагина файл POT (каталог переводов для всех переводных сообщений), и распространяйте его вместе с плагином. Пользователям необходимо будет положить MO-файл перевода в директорию вашего плагина. и назвать его domain-ll_CC.mo, где ll_CC - имя нужной локали. Для получении информации о файлах POT, MO и локалях см. <a href="http://codex.wordpress.org/Translating_WordPress">Translating WordPress</a>.</li>
<li>Загружайте перевод для текущей локали и ваше текстовое пространство с помощью функции load_plugin_textdomain до того, как вызываются функции gettext, но настолько поздно, насколько возможно в сессии (потому что некоторые многоязычные плагины меняют локаль при загрузке). Одна из возможностей имплементации - объявление функции инициализации, которая вызывается выше всех функций вашего плагина. Например, ваше пространство текста называется «fabfunc»:</li>
</ul>
<p><code>$fabfunc_domain = 'fabfunc';<br />
$fabfunc_is_setup = 0;<br />
function fabfunc_setup()<br />
{<br />
global $fabfunc_domain, $fabfunc_is_setup;<br />
if($fabfunc_is_setup) {<br />
return;<br />
} <br />
load_plugin_textdomain($fabfunc_domain, &#8216;wp-content/plugins&#8217;);<br />
}<br /></code></p>
<p>Если ваш плагин находится в собственной поддиректории, присоедините ее имя ко второму аргументу функции load_plugin_textdomain.</p>
<h5>Советы по разработке плагина</h5>
<p><em>Это последняя часть статьи, включающая в себя различные советы по разработке плагина.</em></p>
<ol>
<li>Код плагина должен соответствовать стандартам разработки Wordpress (<a href="http://codex.wordpress.org/WordPress_Coding_Standards">WordPress Coding Standards</a>). Пожалуйста, примите во внимание стандарты <a href="http://codex.wordpress.org/Inline_Documentation">Inline Documentation</a>.</li>
<li>Все функции вашего плагина должны иметь уникальные имена, отличные от имен функций ядра Wordpress, других плагинов или тем. По этой причине, хорошая идея - использовать уникальный префикс для имен функций вашего плагина. Другая возможность - объявлять ваши функции внутри класса (который тоже должен иметь уникальное имя).</li>
<li>Не используйте явно префикс базы Wordpress (обычно wp_) в вашем плагине. Вместо этого используйте переменную $wpdb->prefix</li>
<li>Чтение базы - легкий процесс, а вот запись в базу - сложный. Базы исключительно хороши при сборке данных и их выдаче, эти операции обычно выполняются быстро. Внесение изменений в базу - более комплексный процесс, следовательно более ресурсоемкий. В результате, постарайтесь уменьшить количество записей в базу. Держите все готовым в коде, тогда вы сможете делать только те записи в базу, которые действительно нужны.</li>
<li>Выбирайте из базы при помощи SELECT только то, что вам нужно. Даже несмотря на то, что базы извлекают данные достаточно быстро, вы можете уменьшить нагрузку на базу, выбирая только те данные, которые вам нужны. Если вам нужно подсчитать количество строк в таблице, не используйте SELECT * FROM, потому что все данные всех строк будут занимать память. Подобно этому, если вам нужны только post_id и post_author в вашем плагине, выбирайте SELECT&#8217;ом только конкретные поля, чтобы уменьшить нагрузку. Помните: сотни других процессов могут обращаться к базе одновременно с вами. База и сервер могут только распределять ресурсы между процессами. Изучите, как минимизировать обращения вашего плагина к базе, чтобы гарантировать, что ваш плагин не злоупотребляет ресурсами.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/writing-a-plugin-translate/feed/</wfw:commentRss>
		</item>
		<item>
		<title>РИТ-2007: первая профессиональная конференция веб-разработчиков</title>
		<link>http://engelside.net/rit-2007/</link>
		<comments>http://engelside.net/rit-2007/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 13:36:57 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/rit-2007/</guid>
		<description><![CDATA[Вчера закончился РИТ - профессиональная конференция веб-разработчиков.
Так как я находилась в стане организаторов, у меня достаточно однобокие впечатления от конференции - в основном, как раз в плане организации.
По этой части мы были просто молодцы, я считаю. Слаженная работа команды, грамотная организация процесса, ну и множество других приятных мелочей.
Конечно, не обошлось и без ляпов, но это [...]]]></description>
			<content:encoded><![CDATA[<p>Вчера закончился РИТ - профессиональная конференция веб-разработчиков.<br />
Так как я находилась в стане организаторов, у меня достаточно однобокие впечатления от конференции - в основном, как раз в плане организации.</p>
<p>По этой части мы были просто молодцы, я считаю. Слаженная работа команды, грамотная организация процесса, ну и множество других приятных мелочей.</p>
<p>Конечно, не обошлось и без ляпов, но это была наша первая попытка организации конференции, и она прошла на ура.<br />
Еще бы, на РИТ пришло более полутысячи разработчиков всех мастей! Причем, во второй день, вопреки ожиданиям, было вовсе не хуже.</p>
<p>Программа конференции очень порадовала разнообразием - хотелось успеть везде. К сожалению, в силу своих обязанностей я видела почти полностью только секцию &#8220;Клиент&#8221;, а остальные - мельком, но даже те обрывки докладов, которые я успела усвоить, были очень и очень интересны.</p>
<p>Что касается секции &#8220;Клиентское программирование&#8221;, то в ней мне было интересно все, так как я специалист именно в данной области. Все доклады были очень интересны, особенно понравились доклады <a href="http://flack.ru">Леши Рыбакова</a>, <a href="http://pepelsbey.net">Вадима Макеева</a> и <a href="http://rossomachin.livejournal.com/">Макса Россомахина</a> (так как они относились непосредственно к верстке). Леша Рыбаков вообще отжог не по-детски, огромный респект :)</p>
<p>В общем, я считаю, конференция удалась на все сто, несмотря на весь скепсис в самом начале этого проекта.<br />
Большое спасибо всем участникам, докладчикам и организаторам!</p>
<p>Ссылок же по теме в этот раз очень много, дам только ссылку на статьи на Вебпланете:</p>
<ul>
<li><a href="http://webplanet.ru/company/soft/2007/04/17/rit.html">РИТ-2007: день первый</a></li>
<li><a href="http://webplanet.ru/company/soft/2007/04/18/rit2.html">РИТ-2007: день второй, заключительный</a></li>
</ul>
<p>Фотографии:</p>
<ul>
<li><a href="http://users.livejournal.com/olorin_/689810.html">Фото от Олорина</a></li>
<li><a href="http://www.tagirov.org/blog/30/">Отчет на tagirov.org</a></li>
</ul>
<p>Остальное ищите в <a href="http://blogs.yandex.ru/search.xml?text=%D0%C8%D2+%EA%EE%ED%F4%E5%F0%E5%ED%F6%E8%FF&amp;p=1">поиске по блогам</a> от Яндекса.</p>
<p>P.S. Вчера после окончания пили пиво с яндексоидами, вебстандартистами и другими разработчиками - милейшие люди работают в Яндексе :) Ну и вообще невероятно рада появившимся новым знакомствам.</p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/rit-2007/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Синхронизация жизненных необходимостей</title>
		<link>http://engelside.net/sync-yourself/</link>
		<comments>http://engelside.net/sync-yourself/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 14:48:28 +0000</pubDate>
		<dc:creator>Engel</dc:creator>
		
		<category><![CDATA[Разработчик]]></category>

		<guid isPermaLink="false">http://engelside.net/sync-yourself/</guid>
		<description><![CDATA[Когда я начала работать в офисе, передо мной встал вопрос синхронизации вещей, используемых повседневно, на домашнем и рабочем компьютере. Сначала дело ограничивалось переносом opml-листов из домашнего агрегатора на рабочий, и тщательным запоминанием паролей от всяких сервисов. Но, естественно, что для полноценной жизни без всяких забот этого было мало - не хватало закладок, паролей, запомненного прочитанного [...]]]></description>
			<content:encoded><![CDATA[<p>Когда я начала работать в офисе, передо мной встал вопрос синхронизации вещей, используемых повседневно, на домашнем и рабочем компьютере. Сначала дело ограничивалось переносом opml-листов из домашнего агрегатора на рабочий, и тщательным запоминанием паролей от всяких сервисов. Но, естественно, что для полноценной жизни без всяких забот этого было мало - не хватало закладок, паролей, запомненного прочитанного в фидах, и т.д.</p>
<p>Со временем этот вопрос решился на 99% - все, что касается моей работы в интернете, у меня одинаковое на любой машине, на которой будет нужно.<br />
Получаю я такое безоблачное существование следующим образом:</p>
<p>1. я использую <a href="http://www.mozilla.com/en-US/firefox/">Firefox</a> в качестве основного браузера, а к нему использую дополнение <a href="http://www.google.com/tools/firefox/browsersync/">Google Browser Sync</a>, которое хранит все мои данные на сервере и синхронизирует их (пароли, закладки, сессии, историю и т.п.)<br />
2. я пользуюсь сервисом букмарков <a href="http://del.icio.us/">Del.icio.us</a>, где храню свои закладки, в том числе, и ссылки на те расширения для Firefox, которые необходимы мне для работы.<br />
3. фиды я читаю при помощи сервиса <a href="http://www.netvibes.com/">Netvibes</a>. Раньше это была Яндекс.Лента, но Netvibes категорически круче всех.<br />
4. работа с фтп происходит с помощью FTPRush. Он не синхронизируется через веб, но умеет экспортировать настройки, в том числе и учетные записи серверов.<br />
5. жизненно важные программы я таскаю с собой на iPod</p>
<p>Таким образом, где бы я ни была, на какой бы системе мне не приходилось работать - все мое всегда со мной, стоит только поставить Firefox (проверено на Linux, win2k и многочисленных компах друзей, не считая домашнего и рабочего).<br />
Собственно, не хватает только синхронизации локальных файлов. Существуют и такие программки (<a href="http://www.handybackup.ru/synchronize-files-and-folders.shtml">Handy Backup</a>, к примеру), но у меня пока нет необходимости ими пользоваться - большинство времени я работаю непосредственно в интернете.</p>
<p>А как вы облегчаете себе жизнь?</p>
]]></content:encoded>
			<wfw:commentRss>http://engelside.net/sync-yourself/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
