Робота з XML за допомогою продуктів Informix, HTML, XML, DHTML, Інтернет-технології, статті

Андрій Прохоров, КомпьютерПресс

В останні роки все більша кількість постачальників програмного забезпечення заявляють про підтримку в своїх продуктах технологій XML. Не залишився осторонь і такий постачальник СУБД, як компанія Informix Software.

Як саме об’єктно-реляційний сервер може підтримувати XML – питання далеко не однозначний навіть для фахівців. Завдання даної статті – розповісти про те, як в принципі об’єктно-реляційна СУБД (ОРСУБД) може підтримувати XML-технології і як ці підходи реалізовані в СУБД Informix Dynamic Server 9.

Що таке XML і навіщо він потрібен?

По суті XML забезпечує текстове представлення структурованих даних. Погано чи добре, але, для того щоб структуру даних можна було уявити у вигляді XML-документа, вона повинна бути визначена. Нижче наведено приклад заголовка статті, структура якого описана за допомогою XML:

<ARTICLE>
	<AUTHOR>  Петро   Васін 
	</AUTHOR>  СУБД і XML </ TITLE>
	<DATE>25.04.01</DATE>
</ARTICLE></pre>
<p>З першого погляду видно, що гідністю XML є наочність. Однак не  менш очевидно і те, що цього ще не достатньо для розповсюдження даного  стандарту. Головним достоїнством XML є його пристосованість до перетворення.  Значна частина технологій, пов’язаних з XML, націлені саме на забезпечення  перетворення документів з одного подання до іншого.</p>
<p>Потреба в гнучкому процесі перетворення структур даних найчастіше виникає  при організації взаємодії в розподіленої неоднорідною системі. В цьому  випадку існує ряд підсистем, що використовують свої методи зберігання і обробки  даних. При цьому дані повинні бути вилучені в деякий універсальний формат,  яким є XML, з одного додатка, а потім сприйняті іншою програмою.  Таким чином, XML стає форматом, в який можуть вивантажувати і з якого  можуть зчитувати дані переважна більшість продуктів.</p>
<p>Інший прикладної завданням, що вимагає застосування XML-технології, є зберігання  документів, які на вимогу користувача повинні бути надані в самих  різних форматах. Типовим прикладом може служити технічна документація,  яка в будь-який момент повинна бути доступна в самих різних форматах – HTML,  PostScript, PDF і ін</p>
<p>Так формується широкий спектр завдань, що вимагають застосування уніфікованих  засобів перетворення даних в різних форматах.</p>
<p>Інтеграція XML в СУБД</p>
<p>Для зберігання XML в реляційної або об’єктно-реляційної СУБД зараз використовуються  три основні підходи. Перший полягає в тому, що XML-документ зберігається  в незмінному вигляді як послідовність символів. При другому підході XML-документ  розбирається, а його частини розкладаються по деякому набору пов’язаних логічної  схемою таблиць. Третій спосіб полягає в тому, щоб спробувати зберегти ієрархічну  структуру XML та отримати можливість ефективного доступу до її елементів.</p>
<p>Зберігання XML у вигляді BLOB-полів</p>
<p>З точки зору реалізації найпростішим способом є перший. Він дуже часто  застосовується при використанні РСУБД для зберігання XML-даних. Всі можливості  обробки зводяться до запису документа в поле типу BLOB або CLOB і до його вилучення  за запитом користувача. При цьому вся осмислена обробка лягає на додаток.</p>
<p>Використання об’єктно-реляційних технологій дозволило розширити інтелектуальні  можливості СУБД з обробки документів при цьому методі зберігання. Зокрема,  в ОРСУБД Informix Dynamic Server 9 (IDS 9) з’явилася така структура зберігання  даних, як Smart BLOB. Відмінною особливістю Smart BLOB є те, що  сервер може виконувати більш тонкі операції з таким об’єктом. Зокрема,  сервер надає можливість вибирати, змінювати і блокувати не весь Smart  BLOB цілком, а тільки зазначені фрагменти поля даного типу. </p>
<p>Крім того, IDS 9 надає відкритий API для визначення вторинних методів  доступу, тобто індексів. Завдяки такій відкритості розроблені три модулі  повнотекстового пошуку компаніями Excalibur, Verity та RedLab для IDS 9. Зокрема,  модуль Verity дозволяє здійснювати контекстний пошук по XML-документами. При  допомоги Verity Text Search DataBlade можна здійснювати індексований пошук  за певними розділами документа. Якщо повернутися до наведеного вище прикладу  з заголовками статей, то можна запросити всі статті, в заголовках яких зустрічається  вказане слово чи словосполучення.</p>
<p>Таким чином, застосування сервера IDS 9 дозволяє істотно розширити можливості  по обробці XML-документів при їх зберіганні в незмінному вигляді. Простота реалізації  даного способу зберігання цілком виправдана при роботі з даними щодо  нескладної структури.</p>
<p>Представлення документа XML в наборі пов’язаних таблиць</p>
<p>Найпростіший спосіб далеко не завжди виявляється оптимальним. Не всі прикладні  рішення дозволяють зберігати XML-документи у вже сформованому вигляді. Часто виникає  необхідність формувати XML з вмісту класичної реляційної бази даних,  і навпаки, вміст приходить XML-документа вносити в таку базу.</p>
<p>У свою чергу, даний метод формування та розбору XML-документа може бути  реалізований двома способами:</p>
<ul>
<li> шляхом здійснення перетворення зовнішнім додатком;</li>
<li> шляхом перетворення документів усередині сервера баз даних.</li>
</ul>
<p>У першому випадку все навантаження, пов’язана з формуванням і розбором XML-документів,  лягає на клієнтську програму або на сервер додатків. Такий підхід має  як переваги, так і недоліки. До переваг можна віднести:</p>
<ul>
<li> відносну простоту реалізації методу;</li>
<li> рознесення обчислювального навантаження між СУБД та програмою.</li>
</ul>
<p>Природно, що поряд з достоїнствами є й недоліки. В цьому випадку  кожен додаток, що потребує XML-документі, повинна сама дбати про його  формуванні та розборі XML. Для полегшення цього процесу Informix пропонує  інструментальне засіб Informix Object Translator. Це візуальне засіб  розробки дозволяє зв’язати об’єкти, в найзагальнішому розумінні, з реляційної  структурою бази даних. При цьому автоматично генерується код, що забезпечує  збереження та вилучення об’єктів з бази даних. Object Translator має вбудовані  засоби підтримки XML як одного з таких типів об’єктів. Генерація коду забезпечується  для мов Visual Basic і Java.</p>
<p>Спеціальна розширення JAXP інтерфейсу доступу до даних JDBC представила компанія  Sun. Це розширення призначене для роботи з XML-документами з Java-додатків.  Компанія Informix реалізувала підтримку даного розширення в черговий версії  свого JDBC-драйвера 2.20.</p>
<p>Другий спосіб формування XML-документів усередині сервера баз даних є  більш складним, але зате набагато більш елегантним. Справа в тому, що варіант поставки  IDS 9, званий Informix Internet Foundation, включає компонент J / Foundation.  Цей компонент дозволяє виконувати Java-процедури всередині сервера. Таким чином,  можна скористатися безкоштовно розповсюджуються XML-парсер, написаними  на Java, для формування та розбору XML-документів безпосередньо всередині сервера<br />
  Informix.</p>
<p>В результаті розробники отримують повну свободу вибору при реалізації методів  зберігання XML-документів в класичних реляційних структурах.</p>
<p>Ієрархічна структура зберігання</p>
<p>Найбільш складним і при цьому найбільш перспективним методом організації зберігання  XML-документів є відтворення ієрархічної структури документа в  рамках об’єктно-реляційної моделі. Даний підхід обіцяє досягнення високої ефективності  в обробці даних.</p>
<p>В Informix розроблений прототип ієрархічного методу зберігання у вигляді Node Blade.  В рамках цього модуля реалізований тип даних Node – вузол дерева. З його допомогою  структура наведеного вище прикладу XML-документа може бути представлена ​​в  наступному вигляді:</p>
<pre>Node Value :: Node     Tag Name :: Varchar
1                                    ARTICLE
1.1                                 AUTHOR
1.1.1                             FNAME
1.1.2                             LNAME
1.2                                 TITLE
1.3                                    DATE</pre>
<p>При цьому цілком природним чином можна організувати перехід між різними  рівнями ієрархії. Для їх здійснення можуть бути задіяні звичайні B +-індекси.  Так, для переходу від тега <LNAME> на один рівень вище необхідно урізати  ідентифікатор вихідного вузла 1.1.1 до 1.1. Це цілком очевидна, легко виражається  і, що більш важливо, швидко виконується в термінах SQL операція.</p>
<p>Очевидно, що концепція ще не завершена. Реляційна і об’єктно-реляційна  модель має на увазі, що в одній колонці повинні зберігатися елементи, що належать  одного типу даних. У разі XML ситуація ускладнюється тим, що з різними  тегами можуть бути пов’язані елементи різних типів.</p>
<p>Одним з можливих виходів з даної ситуації може бути використання для зберігання  елементів XML-документа типу даних lvarchar. Всі визначаються типи даних сервера  Informix повинні мати можливість приведення і до цього типу даних. При вилученні  елемента за назвою тега можна визначати тип і приводити lvarchar до потрібного  типу даних.</p>
<p>Так виглядає напрямок розробок Informix із забезпечення зберігання XML-документів  у вигляді природної для них ієрархічної структури даних.</p>
<p>Висновок</p>
<p>Таким чином, Informix підтримує всі основні методи роботи з XML-документами.  При цьому реалізується дана підтримка не тільки на рівні об’єктно-реляційного  сервера баз даних IDS 9, а й на рівні засобів зв’язності і засобів розробки.  Це дозволяє вибрати оптимальне для вирішення конкретної прикладної задачі технологічне  рішення. </p>

<div class="ad-top2">
<!-- Top article #956715 -->
<script>(function(e){var t="DIV_DA_"+e+"_"+parseInt(Math.random()*1e3); document.write('<div id="'+t+'" class="directadvert-block directadvert-block-'+e+'"></div>'); if("undefined"===typeof loaded_blocks_directadvert){loaded_blocks_directadvert=[]; function n(){var e=loaded_blocks_directadvert.shift(); var t=e.adp_id; var r=e.div; var i=document.createElement("script"); i.type="text/javascript"; i.async=true; i.charset="windows-1251"; i.src="//code.directadvert.ru/data/"+t+".js?async=1&div="+r+"&t="+Math.random(); var s=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]; s.appendChild(i); var o=setInterval(function(){if(document.getElementById(r).innerHTML&&loaded_blocks_directadvert.length){n(); clearInterval(o)}},50)} setTimeout(n)}loaded_blocks_directadvert.push({adp_id:e,div:t})})(956715)</script>
</div>

<div style="float:right">
<div class="yashare-auto-init" data-yashareL10n="ua" data-yashareType="icon" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,moikrug,gplus"></div>
</div>
<h4>Схожі статті:</h4><ul><li><a href="http://easy-code.com.ua/2011/02/vikoristannya-som-v-seredovishhi-delphi/" title="Використання СOM в середовищі Delphi">Використання СOM в середовищі Delphi</a> (0)</li><li><a href="http://easy-code.com.ua/2011/05/pereglyad-yarusiv-tier-view/" title="Перегляд ярусів (Tier View)">Перегляд ярусів (Tier View)</a> (0)</li><li><a href="http://easy-code.com.ua/2011/03/shho-novogo-v-db2-viper/" title="Що нового в DB2 Viper">Що нового в DB2 Viper</a> (0)</li><li><a href="http://easy-code.com.ua/2011/03/kontrol-zapitiv-za-dopomogoyu-sql-monitor/" title="Контроль запитів за допомогою SQL Monitor.">Контроль запитів за допомогою SQL Monitor.</a> (0)</li><li><a href="http://easy-code.com.ua/2011/03/rol-servera-dodatkiv/" title="Роль сервера додатків">Роль сервера додатків</a> (0)</li><li><a href="http://easy-code.com.ua/2011/03/trivimirni-menedzheri-robochogo-stolu/" title="Тривимірні менеджери робочого столу">Тривимірні менеджери робочого столу</a> (0)</li><li><a href="http://easy-code.com.ua/2011/02/peretvorennya-rastrovix-formativ/" title="Перетворення растрових форматів">Перетворення растрових форматів</a> (0)</li></ul>	<!--for paginate posts-->
		
	<hr/>
	
	<p><strong><em>
    Сподобалася стаття? Ви можете <a href="#comments"> залишити відгук </a> або <a href = "http://easy-code.com.ua/feed/" > підписатися на RSS </a>, щоб автоматично отримувати інформацію про нові статтях.
	    </em></strong></p>

	<!--Post Meta-->
	<div class="post-meta">
	<strong>Метки: </strong><a href="http://easy-code.com.ua/tag/informix/" rel="tag">Informix</a>, <a href="http://easy-code.com.ua/tag/xml-dokumentiv/" rel="tag">XML-документів</a>, <a href="http://easy-code.com.ua/tag/xml-dokumenta/" rel="tag">XML-документа</a>, <a href="http://easy-code.com.ua/tag/viglyadi/" rel="tag">вигляді</a>, <a href="http://easy-code.com.ua/tag/zberigannya/" rel="tag">зберігання</a>, <a href="http://easy-code.com.ua/tag/peretvorennya/" rel="tag">перетворення</a>, <a href="http://easy-code.com.ua/tag/servera/" rel="tag">сервера</a><br />	<strong>Рубрики:</strong> <a href="http://easy-code.com.ua/category/dhtml/" rel="category tag">DHTML</a>, <a href="http://easy-code.com.ua/category/html/" rel="category tag">HTML</a>, <a href="http://easy-code.com.ua/category/xml/" rel="category tag">XML</a>	</div>		
		
	<!--include comments template-->
	<div id="comments-wrap">

	<p>Коментарів поки що немає.</p>

<!--
<p><a href="http://easy-code.com.ua/2012/09/robota-z-xml-za-dopomogoyu-produktiv-informix-html-xml-dhtml-internet-texnologi%d1%97-statti/feed/">RSS-стрічка коментарів.</a> 
	<a href="http://easy-code.com.ua/2012/09/robota-z-xml-za-dopomogoyu-produktiv-informix-html-xml-dhtml-internet-texnologi%d1%97-statti/trackback/" rel="trackback">Адреса для трекбек</a>
</p>
-->

<h3 class="postcomment">Ваш отзыв</h3>

<p>Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> </code></p>

<form action="http://easy-code.com.ua/wp-comments-post.php" method="post" id="commentform">
	
	<p>
	<input type="text" name="author" id="author" class="textarea" value="" size="28" tabindex="1" />
	<label for="author">Им'я</label> *	</p>

	<p>
	<input type="text" name="email" id="email" value="" size="28" tabindex="2" />
	<label for="email">E-mail</label> *	</p>

	<p>
	<input type="text" name="url" id="url" value="" size="28" tabindex="3" />
	<label for="url">Сайт</label>
	</p>

	
	<p>
	<label for="comment">Повідомлення</label>
	<br />
	<textarea name="comment" id="comment" cols="60" rows="10" tabindex="4"></textarea>
	</p>

	<p>
	<input name="submit" id="submit" type="submit" tabindex="5" value="відправити" />
	<input type="hidden" name="comment_post_ID" value="15115" />
	<input type="hidden" name="redirect_to" value="/2012/09/robota-z-xml-za-dopomogoyu-produktiv-informix-html-xml-dhtml-internet-texnologi%D1%97-statti/" />
	</p>
	<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="567fa380fa" /></p><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="100"/></p></form>

</div>
	
	<!--do not delete-->
		
	
<!--single.php end-->
</div>

<!--include sidebar-->
<!--sidebar.php-->
<div id="sidebar">

	<div class="sidebar-rss">
	<h3>Подписка через RSS</h3>
	<p><a href="http://easy-code.com.ua/feed/"><img src="http://easy-code.com.ua/wp-content/themes/elegantblue/images/rss.jpg" alt="Подписка на RSS" ></img></a>Якщо вам сподобалася інформація на нашому сайті, ви можете підписатися на оновлення через RSS.</p>
	</div>
<BR>


<div class="something">
<a href='http://easy-code.com.ua/tag/download/' class='tag-link-563 tag-link-position-1' title='648 topics' style='font-size: 12.328358208955pt;'>Download</a>
<a href='http://easy-code.com.ua/tag/microsoft/' class='tag-link-66 tag-link-position-2' title='772 topics' style='font-size: 13.522388059701pt;'>Microsoft</a>
<a href='http://easy-code.com.ua/tag/oracle/' class='tag-link-18322 tag-link-position-3' title='357 topics' style='font-size: 8.4477611940299pt;'>Oracle</a>
<a href='http://easy-code.com.ua/tag/windows/' class='tag-link-18319 tag-link-position-4' title='1,383 topics' style='font-size: 17.253731343284pt;'>Windows</a>
<a href='http://easy-code.com.ua/tag/internet/' class='tag-link-132 tag-link-position-5' title='366 topics' style='font-size: 8.5970149253731pt;'>Інтернет</a>
<a href='http://easy-code.com.ua/tag/merezhi/' class='tag-link-143 tag-link-position-6' title='438 topics' style='font-size: 9.7910447761194pt;'>Мережі</a>
<a href='http://easy-code.com.ua/tag/modeli/' class='tag-link-530 tag-link-position-7' title='360 topics' style='font-size: 8.5970149253731pt;'>моделі</a>
<a href='http://easy-code.com.ua/tag/mozhete/' class='tag-link-3 tag-link-position-8' title='569 topics' style='font-size: 11.582089552239pt;'>можете</a>
<a href='http://easy-code.com.ua/tag/mozhut/' class='tag-link-311 tag-link-position-9' title='384 topics' style='font-size: 9.044776119403pt;'>можуть</a>
<a href='http://easy-code.com.ua/tag/dopomogoyu/' class='tag-link-273 tag-link-position-10' title='731 topics' style='font-size: 13.074626865672pt;'>допомогою</a>
<a href='http://easy-code.com.ua/tag/dozvolyaye/' class='tag-link-542 tag-link-position-11' title='664 topics' style='font-size: 12.477611940299pt;'>дозволяє</a>
<a href='http://easy-code.com.ua/tag/kompani%d1%97/' class='tag-link-554 tag-link-position-12' title='546 topics' style='font-size: 11.283582089552pt;'>компанії</a>
<a href='http://easy-code.com.ua/tag/koristuvachiv/' class='tag-link-137 tag-link-position-13' title='337 topics' style='font-size: 8.1492537313433pt;'>користувачів</a>
<a href='http://easy-code.com.ua/tag/potribno/' class='tag-link-18 tag-link-position-14' title='566 topics' style='font-size: 11.432835820896pt;'>потрібно</a>
<a href='http://easy-code.com.ua/tag/programi/' class='tag-link-387 tag-link-position-15' title='1,547 topics' style='font-size: 18pt;'>програми</a>
<a href='http://easy-code.com.ua/tag/prosto/' class='tag-link-99 tag-link-position-16' title='328 topics' style='font-size: 8pt;'>просто</a>
<a href='http://easy-code.com.ua/tag/vikoristannya/' class='tag-link-690 tag-link-position-17' title='368 topics' style='font-size: 8.7462686567164pt;'>використання</a>
<a href='http://easy-code.com.ua/tag/vikoristovuvati/' class='tag-link-890 tag-link-position-18' title='427 topics' style='font-size: 9.6417910447761pt;'>використовувати</a>
<a href='http://easy-code.com.ua/tag/znachennya/' class='tag-link-198 tag-link-position-19' title='1,003 topics' style='font-size: 15.164179104478pt;'>значення</a>
<a href='http://easy-code.com.ua/tag/roboti/' class='tag-link-123 tag-link-position-20' title='1,104 topics' style='font-size: 15.761194029851pt;'>роботи</a>
<a href='http://easy-code.com.ua/tag/rozrobki/' class='tag-link-1235 tag-link-position-21' title='328 topics' style='font-size: 8pt;'>розробки</a>
<a href='http://easy-code.com.ua/tag/sistemi/' class='tag-link-476 tag-link-position-22' title='1,131 topics' style='font-size: 15.910447761194pt;'>системи</a>
<a href='http://easy-code.com.ua/tag/upravlinnya/' class='tag-link-556 tag-link-position-23' title='760 topics' style='font-size: 13.373134328358pt;'>управління</a>
<a href='http://easy-code.com.ua/tag/server/' class='tag-link-197 tag-link-position-24' title='650 topics' style='font-size: 12.328358208955pt;'>сервер</a>
<a href='http://easy-code.com.ua/tag/stvorennya/' class='tag-link-439 tag-link-position-25' title='460 topics' style='font-size: 10.089552238806pt;'>створення</a>
<a href='http://easy-code.com.ua/tag/tablici/' class='tag-link-496 tag-link-position-26' title='469 topics' style='font-size: 10.238805970149pt;'>таблиці</a>
<a href='http://easy-code.com.ua/tag/tilki/' class='tag-link-6 tag-link-position-27' title='1,295 topics' style='font-size: 16.805970149254pt;'>тільки</a>
<a href='http://easy-code.com.ua/tag/fajliv/' class='tag-link-293 tag-link-position-28' title='410 topics' style='font-size: 9.3432835820896pt;'>файлів</a>
<a href='http://easy-code.com.ua/tag/funkci%d1%97/' class='tag-link-218 tag-link-position-29' title='439 topics' style='font-size: 9.7910447761194pt;'>функції</a>
<a href='http://easy-code.com.ua/tag/informaci%d1%97/' class='tag-link-24 tag-link-position-30' title='368 topics' style='font-size: 8.7462686567164pt;'>інформації</a></div>
	<!--l_sidebar.php-->
<div id="l_sidebar">
	<ul>
<br>
	<!--favorite posts-->
	<li>
    	<h2>Нове на сайті</h2>
        <ul>
        	<li><a href='http://easy-code.com.ua/2015/11/keruyuchi-klavishi-i-menyu-informix/'>Керуючі клавіші і меню INFORMIХ</a></li>
	<li><a href='http://easy-code.com.ua/2015/10/vipushheno-reliz-fastreport-fmx/'>Випущено реліз FastReport FMX</a></li>
	<li><a href='http://easy-code.com.ua/2015/10/oracle/'>Oracle</a></li>
	<li><a href='http://easy-code.com.ua/2015/09/func-hgi-35i-vertolit-z-keruvannyam-vid-iphone/'>Func HGI-35i: вертоліт з керуванням від iPhone</a></li>
	<li><a href='http://easy-code.com.ua/2015/08/faq-po-grafiku-i-animaciyu-dlya-web/'>FAQ по графіку і анімацію для Web</a></li>
	<li><a href='http://easy-code.com.ua/2015/07/funkciya-viznachennya-kilkosti-robochix-dniv/'>Функція визначення кількості робочих днів</a></li>
	<li><a href='http://easy-code.com.ua/2015/07/inshi-mozhlivosti-obyednannya-fajliv/'>Інші можливості об’єднання файлів</a></li>
	<li><a href='http://easy-code.com.ua/2015/07/oglyad-navushnikiv-z-aktivnim-shumozaglushennyam-asus-nc1/'>Огляд навушників з активним шумозаглушенням ASUS NC1</a></li>
	<li><a href='http://easy-code.com.ua/2015/06/net-service-oriented-architecture-soa/'>.NET: Service Oriented Architecture (SOA)</a></li>
	<li><a href='http://easy-code.com.ua/2015/06/oglyad-behold-betab-7004/'>Огляд Behold BeTAB 7004</a></li>
        </ul>
	</li>
	<li>
    	<h2>Реклама</h2>
        <ul>
<div class="adcontentcen1">
<!-- Sidebar 160x600 #956693 -->
<script>(function(e){var t="DIV_DA_"+e+"_"+parseInt(Math.random()*1e3); document.write('<div id="'+t+'" class="directadvert-block directadvert-block-'+e+'"></div>'); if("undefined"===typeof loaded_blocks_directadvert){loaded_blocks_directadvert=[]; function n(){var e=loaded_blocks_directadvert.shift(); var t=e.adp_id; var r=e.div; var i=document.createElement("script"); i.type="text/javascript"; i.async=true; i.charset="windows-1251"; i.src="//code.directadvert.ru/data/"+t+".js?async=1&div="+r+"&t="+Math.random(); var s=document.getElementsByTagName("head")[0]||document.getElementsByTagName("body")[0]; s.appendChild(i); var o=setInterval(function(){if(document.getElementById(r).innerHTML&&loaded_blocks_directadvert.length){n(); clearInterval(o)}},50)} setTimeout(n)}loaded_blocks_directadvert.push({adp_id:e,div:t})})(956693)</script>
</div>

        </ul>
	</li>

	
	</ul>
</div>
<!--l_sidebar.php end-->	<!--r_sidebar.php-->
<div id="r_sidebar">
	<ul>

<br>
<li>
<h2>Популярне</h2>
<ul>
<!-- 2017-08-23 23:10:04 -->
<li><a href="http://easy-code.com.ua/2012/09/yak-vidaliti-numeraciyu-storinok-ms-office-programni-kerivnictva-statti/">Як видалити нумерацію сторінок, MS Office, Програмні керівництва, статті (8)</a></li>
<li><a href="http://easy-code.com.ua/2011/01/riznovidi-printeriv-zvichajni-ta-nezvichajni-printeri/">Різновиди принтерів. Звичайні та незвичайні принтери (5)</a></li>
<li><a href="http://easy-code.com.ua/2011/02/ustanovka-movnix-paketiv-windows-7-vruchnu/">Установка мовних пакетів Windows 7 вручну (8)</a></li>
<li><a href="http://easy-code.com.ua/2010/11/velika-kognitivna-revolyuciya/">Велика когнітивна революція (13)</a></li>
<li><a href="http://easy-code.com.ua/2012/08/nalashtuvannya-ekrannix-zastavok-v-windows-7-za-dopomogoyu-reyestru-windows-operacijni-sistemi-statti/">Налаштування екранних заставок в Windows 7 за допомогою реєстру, Windows, Операційні системи, статті (14)</a></li>
<li><a href="http://easy-code.com.ua/2012/08/suputnikovij-internet-ta-telebachennya-na-noutbuci-za-dopomogoyu-prof-dvb-s-1100-usb-gadzheti-oglyadi/">Супутниковий інтернет та телебачення на ноутбуці за допомогою Prof DVB-S 1100 USB, Гаджети, огляди (13)</a></li>
<li><a href="http://easy-code.com.ua/2014/11/pereklad-pdf-dokumentiv-za-dopomogoyu-google-translate/">Переклад PDF-документів за допомогою Google Translate (15)</a></li>
<li><a href="http://easy-code.com.ua/2014/07/kalkulyator-teplotexnichnij-rozraxunok/">Калькулятор «Теплотехнічний розрахунок» (22)</a></li>
<li><a href="http://easy-code.com.ua/2012/06/formatuvannya-abzaciv-u-word-2010-ms-office-programni-kerivnictva-statti/">Форматування абзаців у Word 2010, MS Office, Програмні керівництва, статті (25)</a></li>
<li><a href="http://easy-code.com.ua/2012/08/gibernaciya-son-i-gibridnij-splyachij-rezhim-v-windows-7-pitannya-i-vidpovidi-windows-operacijni-sistemi-statti/">Гібернація, сон і гібридний сплячий режим в Windows 7 – питання і відповіді, Windows, Операційні системи, статті (11)</a></li>
<!-- 2017-08-23 23:10:05 --></ul>
</li>


	</ul>
</div>
<!--r_sidebar.php end-->

</div>
<!--sidebar.php end--><!--include footer-->
</div>
<div id="footer">
<p>
При використанні матеріалів даного сайту пряме і явне посилання на сайт <a href="http://www.easy-code.com.ua/"> www.easy-code.com.ua </a> є обов'язковим.
</p>
<!--footer.php-->
<div id="footer-wrap">
<noindex>
<!--LiveInternet counter--><script type="text/javascript"><!--
document.write("<a href='http://www.liveinternet.ru/click' "+
"target=_blank><img src='//counter.yadro.ru/hit?t19.6;r"+
escape(document.referrer)+((typeof(screen)=="undefined")?"":
";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
";"+Math.random()+
"' alt='' title='LiveInternet: показано число просмотров за 24"+
" часа, посетителей за 24 часа и за сегодня' "+
"border='0' width='88' height='31'><\/a>")
//--></script><!--/LiveInternet-->
<!-- Yandex.Metrika counter -->
<div style="display:none;"><script type="text/javascript">
(function(w, c) {
    (w[c] = w[c] || []).push(function() {
        try {
            w.yaCounter10604395 = new Ya.Metrika({id:10604395, enableAll: true});
        }
        catch(e) { }
    });
})(window, "yandex_metrika_callbacks");
</script></div>
<script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript" defer="defer"></script>
<noscript><div><img src="//mc.yandex.ru/watch/10604395" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<script type="text/javascript" src="//yandex.st/share/share.js"
charset="utf-8"></script>
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
  {lang: 'ru'}
</script>
</noindex>
<BR><strong>ЕasyСode</strong>	

                 
<!--necessary-->
<script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/akismet/_inc/form.js?ver=3.3'></script>
<script type='text/javascript' src='http://easy-code.com.ua/wp-includes/js/wp-embed.min.js?ver=4.7.5'></script>
<script type='text/javascript' src='http://easy-code.com.ua/wp-includes/js/jquery/jquery.js?ver=1.12.4'></script>
<script type='text/javascript' src='http://easy-code.com.ua/wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1'></script>
<script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/easy-fancybox/fancybox/jquery.fancybox-1.3.8.min.js?ver=1.5.8.2'></script>
<script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/easy-fancybox/js/jquery.easing.min.js?ver=1.3.2'></script>
<script type='text/javascript' src='http://easy-code.com.ua/wp-content/plugins/easy-fancybox/js/jquery.mousewheel.min.js?ver=3.1.12'></script>
<script type="text/javascript">
jQuery(document).on('ready post-load', function(){ jQuery('.nofancybox,a.pin-it-button,a[href*="pinterest.com/pin/create/button"]').addClass('nolightbox'); });
jQuery(document).on('ready post-load',easy_fancybox_handler);
jQuery(document).on('ready',easy_fancybox_auto);</script>
</div>
</div>
<div class="soc-buttons">
<div  class="yashare-auto-init" data-yashareL10n="ru" data-yashareQuickServices="vkontakte,facebook,twitter,odnoklassniki,moimir,gplus" data-yashareTheme="counter"></div>
</div>
<script>!window.jQuery && document.write('<script src="http://yastatic.net/jquery/2.1.3/jquery.min.js"><\/script>');</script>
<script src="http://easy-code.com.ua/wp-content/themes/elegantblue/js/jquery.hc-sticky.min.js"></script>
<script>
jQuery(document).ready(function($){
$('.soc-buttons').hcSticky({
    top: 25,
    bottomEnd: 90,
    wrapperClassName: 'sidebar-sticky2',
    noContainer: false
});
});
</script>
<script type="text/javascript" src="//yastatic.net/share/share.js" charset="utf-8"></script>
</body>
</html>