<?xml version="1.0" encoding="utf-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Форум программистов и сисадминов Киберфорум - Блоги - xZooYx</title>
		<link>https://www.cyberforum.ru/blogs/292515/</link>
		<description>КиберФорум - форум программистов, системных администраторов, администраторов баз данных, компьютерный форум, форум по электронике и бытовой технике, обсуждение софта. Бесплатная помощь в решении задач по программированию и наукам, решение проблем с компьютером, операционными системам</description>
		<language>ru</language>
		<lastBuildDate>Fri, 04 Sep 2026 10:33:22 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>https://www.cyberforum.ru//cyberstatic.net/images/misc/rss.jpg</url>
			<title>Форум программистов и сисадминов Киберфорум - Блоги - xZooYx</title>
			<link>https://www.cyberforum.ru/blogs/292515/</link>
		</image>
		<item>
			<title>WebAsyst Shop-Script: верстка шаблонов</title>
			<link>https://www.cyberforum.ru/blogs/292515/1122.html</link>
			<pubDate>Mon, 28 Jan 2013 16:37:43 GMT</pubDate>
			<description><![CDATA[Проверка, имеет ли перевод строка локализации 
<div class="codeblock"><table...]]></description>
			<content:encoded><![CDATA[<div><font size="4">Проверка, имеет ли перевод строка локализации</font><br />
<div class="codeblock"><table class="php"><thead><tr><td colspan="2" id="462228991"  class="head">PHP</td></tr></thead><tbody><tr class="li1"><td><div id="462228991" style="height: 110px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
</pre></td><td class="de1"><pre class="de1"><span class="br0">&#123;</span><span class="kw1">if</span> <span class="st_h">'string_id'</span><span class="sy0">|</span>translate <span class="sy0">==</span> <span class="st_h">'string_id'</span><span class="br0">&#125;</span>
&nbsp; &nbsp; перевода нет
<span class="br0">&#123;</span><span class="kw1">else</span><span class="br0">&#125;</span>
&nbsp; &nbsp; перевод есть
<span class="br0">&#123;</span><span class="sy0">/</span><span class="kw1">if</span><span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/1122.html</guid>
		</item>
		<item>
			<title>WebAsyst Shop-Script: перенос сайта</title>
			<link>https://www.cyberforum.ru/blogs/292515/1080.html</link>
			<pubDate>Sun, 13 Jan 2013 09:10:20 GMT</pubDate>
			<description>При переносе сайта с Windows-хостинга (или из Denwer на Windows) на Unix-хостинг может возникнуть...</description>
			<content:encoded><![CDATA[<div>При переносе сайта с Windows-хостинга (или из Denwer на Windows) на Unix-хостинг может возникнуть ситуация, когда файлы и база данных успешно перенесены, но сайт не работает. При этом:<ul><li>при открытии главной страницы сайта отображается сообщение <br />

<table width="95%"  class="bbcode_maincontainer"><tr><td>
	<div class="bbcode_container">
	  <div class="bbcode_quote">
	    <div class="btbtbt">
		<div class="quote_container">
	      	<div class="bbcode_quote_container"></div>
	       	<div class="bbcode_postedby">
	         	
	        </div>
	        <div class="message">Your online store is not yet installed.<br />
To activate your installation simply login to your WebAsyst account — this will complete your storefront setup (if you have WebAsyst Shoping Cart application installed).</div>
	      </div>
			</div> 
		</div>
	</div>
</td></tr></table></li>
<li>при открытии страницы входа для администратора (<a rel="nofollow noopener noreferrer" href="http://domain.ru/published/" target="_blank" title="http://domain.ru/published/">http://domain.ru/published/</a>) отображается ошибка 500 сервера или ошибка <br />

<table width="95%"  class="bbcode_maincontainer"><tr><td>
	<div class="bbcode_container">
	  <div class="bbcode_quote">
	    <div class="btbtbt">
		<div class="quote_container">
	      	<div class="bbcode_quote_container"></div>
	       	<div class="bbcode_postedby">
	         	
	        </div>
	        <div class="message">Cannot use object of type DB_Error as array ...</div>
	      </div>
			</div> 
		</div>
	</div>
</td></tr></table></li>
<li>в панели Installer в разделе диагностики отображаются сообщения, что таблицы базы данных не найдены.</li>
</ul><br />
Происходит это от того, что в MySQL на Windows имена таблиц не зависят от регистра символов, а в Unix-системах имена таблиц регистрозависимы.<br />
Соответственно, достаточно переименовать таблицы так, как они названы в разделе диагностики Installer'а.<br />
Или можно воспользоваться следующим SQL-кодом:<br />
<div class="codeblock"><table class="sql"><thead><tr><td colspan="2" id="850981346"  class="head">SQL</td></tr></thead><tbody><tr class="li1"><td><div id="850981346" style="height: 350px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
</pre></td><td class="de1"><pre class="de1"><span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`accessrights_link`</span> <span class="kw1">TO</span> <span class="st0">`ACCESSRIGHTS_LINK`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`appsettings`</span> <span class="kw1">TO</span> <span class="st0">`APPSETTINGS`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`cfolder`</span> <span class="kw1">TO</span> <span class="st0">`CFOLDER`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`company`</span> <span class="kw1">TO</span> <span class="st0">`COMPANY`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`contact`</span> <span class="kw1">TO</span> <span class="st0">`CONTACT`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`contactfield`</span> <span class="kw1">TO</span> <span class="st0">`CONTACTFIELD`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`contacttype`</span> <span class="kw1">TO</span> <span class="st0">`CONTACTTYPE`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`currency`</span> <span class="kw1">TO</span> <span class="st0">`CURRENCY`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`disk_usage`</span> <span class="kw1">TO</span> <span class="st0">`DISK_USAGE`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`email_contact`</span> <span class="kw1">TO</span> <span class="st0">`EMAIL_CONTACT`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`mmmessage`</span> <span class="kw1">TO</span> <span class="st0">`MMMESSAGE`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`mmmsentto`</span> <span class="kw1">TO</span> <span class="st0">`MMMSENTTO`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`mmsent`</span> <span class="kw1">TO</span> <span class="st0">`MMSENT`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_aff_commissions`</span> <span class="kw1">TO</span> <span class="st0">`SC_aff_commissions`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_aff_payments`</span> <span class="kw1">TO</span> <span class="st0">`SC_aff_payments`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_aux_pages`</span> <span class="kw1">TO</span> <span class="st0">`SC_aux_pages`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_categories`</span> <span class="kw1">TO</span> <span class="st0">`SC_categories`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_category_product`</span> <span class="kw1">TO</span> <span class="st0">`SC_category_product`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_category_product_options__variants`</span> <span class="kw1">TO</span> <span class="st0">`SC_category_product_options__variants`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_category__product_options`</span> <span class="kw1">TO</span> <span class="st0">`SC_category__product_options`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_config_settings`</span> <span class="kw1">TO</span> <span class="st0">`SC_config_settings`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_countries`</span> <span class="kw1">TO</span> <span class="st0">`SC_countries`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_currency_types`</span> <span class="kw1">TO</span> <span class="st0">`SC_currency_types`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_custgroups`</span> <span class="kw1">TO</span> <span class="st0">`SC_custgroups`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_customers`</span> <span class="kw1">TO</span> <span class="st0">`SC_customers`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_customer_addresses`</span> <span class="kw1">TO</span> <span class="st0">`SC_customer_addresses`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_customer_reg_fields`</span> <span class="kw1">TO</span> <span class="st0">`SC_customer_reg_fields`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_customer_reg_fields_values`</span> <span class="kw1">TO</span> <span class="st0">`SC_customer_reg_fields_values`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_customer_reg_fields_values_quickreg`</span> <span class="kw1">TO</span> <span class="st0">`SC_customer_reg_fields_values_quickreg`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_discount_coupons`</span> <span class="kw1">TO</span> <span class="st0">`SC_discount_coupons`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_discussions`</span> <span class="kw1">TO</span> <span class="st0">`SC_discussions`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_divisions`</span> <span class="kw1">TO</span> <span class="st0">`SC_divisions`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_division_access`</span> <span class="kw1">TO</span> <span class="st0">`SC_division_access`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_division_custom_settings`</span> <span class="kw1">TO</span> <span class="st0">`SC_division_custom_settings`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_division_interface`</span> <span class="kw1">TO</span> <span class="st0">`SC_division_interface`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_htmlcodes`</span> <span class="kw1">TO</span> <span class="st0">`SC_htmlcodes`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_interface_interfaces`</span> <span class="kw1">TO</span> <span class="st0">`SC_interface_interfaces`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_language`</span> <span class="kw1">TO</span> <span class="st0">`SC_language`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_linkexchange_categories`</span> <span class="kw1">TO</span> <span class="st0">`SC_linkexchange_categories`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_linkexchange_links`</span> <span class="kw1">TO</span> <span class="st0">`SC_linkexchange_links`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_local`</span> <span class="kw1">TO</span> <span class="st0">`SC_local`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_localgroup`</span> <span class="kw1">TO</span> <span class="st0">`SC_localgroup`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_modules`</span> <span class="kw1">TO</span> <span class="st0">`SC_modules`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_module_configs`</span> <span class="kw1">TO</span> <span class="st0">`SC_module_configs`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_news_table`</span> <span class="kw1">TO</span> <span class="st0">`SC_news_table`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_ordered_carts`</span> <span class="kw1">TO</span> <span class="st0">`SC_ordered_carts`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_orders`</span> <span class="kw1">TO</span> <span class="st0">`SC_orders`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_orders_discount_coupons`</span> <span class="kw1">TO</span> <span class="st0">`SC_orders_discount_coupons`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_order_price_discount`</span> <span class="kw1">TO</span> <span class="st0">`SC_order_price_discount`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_order_status`</span> <span class="kw1">TO</span> <span class="st0">`SC_order_status`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_order_status_changelog`</span> <span class="kw1">TO</span> <span class="st0">`SC_order_status_changelog`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_payment_types`</span> <span class="kw1">TO</span> <span class="st0">`SC_payment_types`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_payment_types__shipping_methods`</span> <span class="kw1">TO</span> <span class="st0">`SC_payment_types__shipping_methods`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_products`</span> <span class="kw1">TO</span> <span class="st0">`SC_products`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_products_opt_val_variants`</span> <span class="kw1">TO</span> <span class="st0">`SC_products_opt_val_variants`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_product_list`</span> <span class="kw1">TO</span> <span class="st0">`SC_product_list`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_product_list_item`</span> <span class="kw1">TO</span> <span class="st0">`SC_product_list_item`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_product_options`</span> <span class="kw1">TO</span> <span class="st0">`SC_product_options`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_product_options_set`</span> <span class="kw1">TO</span> <span class="st0">`SC_product_options_set`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_product_options_values`</span> <span class="kw1">TO</span> <span class="st0">`SC_product_options_values`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_product_pictures`</span> <span class="kw1">TO</span> <span class="st0">`SC_product_pictures`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_related_items`</span> <span class="kw1">TO</span> <span class="st0">`SC_related_items`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_rpost_zones`</span> <span class="kw1">TO</span> <span class="st0">`SC_rpost_zones`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_settings`</span> <span class="kw1">TO</span> <span class="st0">`SC_settings`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_settings_groups`</span> <span class="kw1">TO</span> <span class="st0">`SC_settings_groups`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_shipping_methods`</span> <span class="kw1">TO</span> <span class="st0">`SC_shipping_methods`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_shopping_carts`</span> <span class="kw1">TO</span> <span class="st0">`SC_shopping_carts`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_shopping_cart_items`</span> <span class="kw1">TO</span> <span class="st0">`SC_shopping_cart_items`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_shopping_cart_items_content`</span> <span class="kw1">TO</span> <span class="st0">`SC_shopping_cart_items_content`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_spmodules`</span> <span class="kw1">TO</span> <span class="st0">`SC_spmodules`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_spmodules_settings`</span> <span class="kw1">TO</span> <span class="st0">`SC_spmodules_settings`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_subscribers`</span> <span class="kw1">TO</span> <span class="st0">`SC_subscribers`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_system`</span> <span class="kw1">TO</span> <span class="st0">`SC_system`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_tagged_objects`</span> <span class="kw1">TO</span> <span class="st0">`SC_tagged_objects`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_tags`</span> <span class="kw1">TO</span> <span class="st0">`SC_tags`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_tax_classes`</span> <span class="kw1">TO</span> <span class="st0">`SC_tax_classes`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_tax_rates`</span> <span class="kw1">TO</span> <span class="st0">`SC_tax_rates`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_tax_rates__zones`</span> <span class="kw1">TO</span> <span class="st0">`SC_tax_rates__zones`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_tax_zip`</span> <span class="kw1">TO</span> <span class="st0">`SC_tax_zip`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc_zones`</span> <span class="kw1">TO</span> <span class="st0">`SC_zones`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc__courier_rates`</span> <span class="kw1">TO</span> <span class="st0">`SC__courier_rates`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc__courier_rates2`</span> <span class="kw1">TO</span> <span class="st0">`SC__courier_rates2`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc__intershipper_carriers`</span> <span class="kw1">TO</span> <span class="st0">`SC__intershipper_carriers`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc__module_payment_invoice_jur`</span> <span class="kw1">TO</span> <span class="st0">`SC__module_payment_invoice_jur`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc__module_payment_invoice_phys`</span> <span class="kw1">TO</span> <span class="st0">`SC__module_payment_invoice_phys`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc__module_shipping_bycountries_byzones_rates`</span> <span class="kw1">TO</span> <span class="st0">`SC__module_shipping_bycountries_byzones_rates`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sc__module_shipping_bycountries_byzones_rates_percent`</span> <span class="kw1">TO</span> <span class="st0">`SC__module_shipping_bycountries_byzones_rates_percent`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sms_balance`</span> <span class="kw1">TO</span> <span class="st0">`SMS_BALANCE`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sms_credit_history`</span> <span class="kw1">TO</span> <span class="st0">`SMS_CREDIT_HISTORY`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`sms_history`</span> <span class="kw1">TO</span> <span class="st0">`SMS_HISTORY`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`ugroup`</span> <span class="kw1">TO</span> <span class="st0">`UGROUP`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`ugroup_user`</span> <span class="kw1">TO</span> <span class="st0">`UGROUP_USER`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`ug_accessrights`</span> <span class="kw1">TO</span> <span class="st0">`UG_ACCESSRIGHTS`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`unsubscriber`</span> <span class="kw1">TO</span> <span class="st0">`UNSUBSCRIBER`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`user_disk_quota`</span> <span class="kw1">TO</span> <span class="st0">`USER_DISK_QUOTA`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`user_settings`</span> <span class="kw1">TO</span> <span class="st0">`USER_SETTINGS`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`u_accessrights`</span> <span class="kw1">TO</span> <span class="st0">`U_ACCESSRIGHTS`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`wbs_user`</span> <span class="kw1">TO</span> <span class="st0">`WBS_USER`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`wg_param`</span> <span class="kw1">TO</span> <span class="st0">`WG_PARAM`</span> ;
<span class="kw1">RENAME</span> <span class="kw1">TABLE</span> &nbsp;<span class="st0">`wg_widget`</span> <span class="kw1">TO</span> <span class="st0">`WG_WIDGET`</span> ;</pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/1080.html</guid>
		</item>
		<item>
			<title>WebAsyst Shop-Script: собственные звезды в оценке товара</title>
			<link>https://www.cyberforum.ru/blogs/292515/1064.html</link>
			<pubDate>Mon, 07 Jan 2013 17:12:08 GMT</pubDate>
			<description>Например у нас есть две собственные картинки звезд для рейтинга товара: 
* /images/redstar.gif -...</description>
			<content:encoded><![CDATA[<div>Например у нас есть две собственные картинки звезд для рейтинга товара:<ul><li><i>/images/redstar.gif</i> - активная звезда</li>
<li><i>/images/blackstar.gif</i> - неактивная звезда</li>
</ul>Размер звезды - 12х12 px.<br />
<br />
Стиль стандартных системных звезд рейтинга определен в файле /published/SC/html/scripts/css/general.css.<br />
Для того, чтобы не менять этот файл, можно просто переопределить стили, указав нужные нам файлы со звездами и размеры.<br />
<br />
<div class="codeblock"><table class="css"><thead><tr><td colspan="2" id="563538714"  class="head">CSS</td></tr></thead><tbody><tr class="li1"><td><div id="563538714" style="height: 238px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="de1"><pre class="de1"><span class="re1">.unit-rating</span> <span class="br0">&#123;</span> <span class="kw1">background-image</span><span class="sy0">:</span> <span class="kw3">url</span><span class="br0">&#40;</span><span class="co2">/images/hairpro/blackstar.gif</span><span class="br0">&#41;</span>!important<span class="sy0">;</span> <span class="kw1">height</span><span class="sy0">:</span> <span class="re3">12px</span>!important<span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">60px</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> li<span class="re1">.current-rating</span> <span class="br0">&#123;</span> <span class="kw1">background-image</span><span class="sy0">:</span> <span class="kw3">url</span><span class="br0">&#40;</span><span class="co2">/images/blackstar.gif</span><span class="br0">&#41;</span>!important<span class="sy0">;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">60px</span>!important<span class="sy0">;</span> <span class="kw1">height</span><span class="sy0">:</span> <span class="re3">12px</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> li a <span class="br0">&#123;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">12px</span>!important<span class="sy0">;</span> <span class="kw1">height</span><span class="sy0">:</span> <span class="re3">12px</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> li a<span class="sy0">:</span><span class="kw5">hover</span> <span class="br0">&#123;</span> <span class="kw1">background-image</span><span class="sy0">:</span> <span class="kw3">url</span><span class="br0">&#40;</span><span class="co2">/images/redstar.gif</span><span class="br0">&#41;</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r1-unit</span><span class="sy0">:</span><span class="kw5">hover</span> <span class="br0">&#123;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">12px</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r2-unit</span> <span class="br0">&#123;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="re3">12px</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r2-unit</span><span class="sy0">:</span><span class="kw5">hover</span> <span class="br0">&#123;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">24px</span>!important<span class="sy0">;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="nu0">0</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r3-unit</span> <span class="br0">&#123;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="re3">24px</span>!important<span class="sy0">;</span><span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r3-unit</span><span class="sy0">:</span><span class="kw5">hover</span> <span class="br0">&#123;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">36px</span>!important<span class="sy0">;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="nu0">0</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r4-unit</span> <span class="br0">&#123;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="re3">36px</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r4-unit</span><span class="sy0">:</span><span class="kw5">hover</span> <span class="br0">&#123;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">48px</span>!important<span class="sy0">;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="nu0">0</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r5-unit</span> <span class="br0">&#123;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="re3">48px</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span>
<span class="re1">.unit-rating</span> a<span class="re1">.r5-unit</span><span class="sy0">:</span><span class="kw5">hover</span> &nbsp; <span class="br0">&#123;</span> <span class="kw1">width</span><span class="sy0">:</span> <span class="re3">60px</span>!important<span class="sy0">;</span> <span class="kw1">left</span><span class="sy0">:</span> <span class="nu0">0</span>!important<span class="sy0">;</span> <span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/1064.html</guid>
		</item>
		<item>
			<title>Ninject: Приемы и хитрости</title>
			<link>https://www.cyberforum.ru/blogs/292515/909.html</link>
			<pubDate>Sun, 25 Nov 2012 08:48:18 GMT</pubDate>
			<description>Ninject 
* Подключение в проект ASP.NET MVC4 (https://www.cyberforum.ru/blogs/292515/blog852.html)...</description>
			<content:encoded><![CDATA[<div><font size="4">Ninject</font><ul><li><a href="https://www.cyberforum.ru/blogs/292515/blog852.html">Подключение в проект ASP.NET MVC4</a></li>
<li><a href="https://www.cyberforum.ru/blogs/292515/blog868.html">Простейший пример использования в проекте ASP.NET MVC4</a></li>
<li>Приемы и хитрости</li>
</ul><br />
<br />
<font size="6">Приемы и хитрости</font><br />
<br />
<font size="4">Несколько интерфейсов связаны с одним классом-одиночкой</font><br />
<br />
<div class="codeblock"><table class="csharp"><thead><tr><td colspan="2" id="362230403"  class="head">C#</td></tr></thead><tbody><tr class="li1"><td><div id="362230403" style="height: 78px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
</pre></td><td class="de1"><pre class="de1">kernel<span class="sy0">.</span><span class="me1">Bind</span><span class="sy0">&lt;</span>MyClass<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="me1">ToSelf</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="me1">InRequestScope</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
kernel<span class="sy0">.</span><span class="me1">Bind</span><span class="sy0">&lt;</span>IClass1<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="me1">ToMethod</span><span class="br0">&#40;</span>context<span class="sy0">=&gt;</span>context<span class="sy0">.</span><span class="me1">Kernel</span><span class="sy0">.</span><span class="kw1">Get</span><span class="sy0">&lt;</span>MyClass<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
kernel<span class="sy0">.</span><span class="me1">Bind</span><span class="sy0">&lt;</span>IClass2<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="me1">ToMethod</span><span class="br0">&#40;</span>context<span class="sy0">=&gt;</span>context<span class="sy0">.</span><span class="me1">Kernel</span><span class="sy0">.</span><span class="kw1">Get</span><span class="sy0">&lt;</span>MyClass<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/909.html</guid>
		</item>
		<item>
			<title>Запрет параллельного выполнения части кода в разных потоках</title>
			<link>https://www.cyberforum.ru/blogs/292515/888.html</link>
			<pubDate>Mon, 12 Nov 2012 10:05:48 GMT</pubDate>
			<description>Есть класс и метод, часть кода которого не должна выполняться параллельно в разных потоках....</description>
			<content:encoded><![CDATA[<div>Есть класс и метод, часть кода которого не должна выполняться параллельно в разных потоках.<br />
Например, такая организация кода может понадобиться при реализации автонумерации, когда блок кода должен найти  в БД запись с максимальным номером, увеличить его на 1 и добавить новую запись. И только после окончания работы этого блока кода для одной записи можно выполнить его повторно для другой.<br />
<br />
<div class="codeblock"><table class="csharp"><thead><tr><td colspan="2" id="496054262"  class="head">C#</td></tr></thead><tbody><tr class="li1"><td><div id="496054262" style="height: 350px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
</pre></td><td class="de1"><pre class="de1"><span class="kw1">using</span> <span class="co3">System</span><span class="sy0">;</span>
<span class="kw1">using</span> <span class="co3">System.Collections.Generic</span><span class="sy0">;</span>
<span class="kw1">using</span> <span class="co3">System.Threading</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">namespace</span> Samples<span class="sy0">.</span><span class="me1">Threading</span><span class="sy0">.</span><span class="me1">UseLock</span>
<span class="br0">&#123;</span>
&nbsp; &nbsp; <span class="kw4">class</span> Program
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">static</span> <span class="kw4">void</span> Main<span class="br0">&#40;</span><span class="kw4">string</span><span class="br0">&#91;</span><span class="br0">&#93;</span> args<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">var</span> random <span class="sy0">=</span> <span class="kw3">new</span> Random<span class="br0">&#40;</span>DateTime<span class="sy0">.</span><span class="me1">Now</span><span class="sy0">.</span><span class="me1">Millisecond</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">var</span> q <span class="sy0">=</span> <span class="kw3">new</span> List<span class="sy0">&lt;</span>MyClass<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw1">var</span> i <span class="sy0">=</span> <span class="nu0">1</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> <span class="nu0">11</span><span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; q<span class="sy0">.</span><span class="kw1">Add</span><span class="br0">&#40;</span><span class="kw3">new</span> MyClass<span class="br0">&#40;</span>i, random<span class="sy0">.</span><span class="me1">Next</span><span class="br0">&#40;</span><span class="nu0">100</span>, <span class="nu0">1000</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="kw1">var</span> w <span class="kw1">in</span> q<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">var</span> thread <span class="sy0">=</span> <span class="kw3">new</span> Thread<span class="br0">&#40;</span>w<span class="sy0">.</span><span class="me1">Write</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; thread<span class="sy0">.</span><span class="me1">Start</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console<span class="sy0">.</span><span class="me1">WriteLine</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console<span class="sy0">.</span><span class="me1">ReadKey</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">class</span> MyClass
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">int</span> I <span class="br0">&#123;</span> <span class="kw1">get</span><span class="sy0">;</span> <span class="kw1">set</span><span class="sy0">;</span> <span class="br0">&#125;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">int</span> Sleep <span class="br0">&#123;</span> <span class="kw1">get</span><span class="sy0">;</span> <span class="kw1">set</span><span class="sy0">;</span> <span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> MyClass<span class="br0">&#40;</span><span class="kw4">int</span> index, <span class="kw4">int</span> sleep<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; I <span class="sy0">=</span> index<span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Sleep <span class="sy0">=</span> sleep<span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> Write<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console<span class="sy0">.</span><span class="me1">WriteLine</span><span class="br0">&#40;</span>I<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thread<span class="sy0">.</span><span class="me1">Sleep</span><span class="br0">&#40;</span>Sleep<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console<span class="sy0">.</span><span class="me1">WriteLine</span><span class="br0">&#40;</span>I<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp; &nbsp; <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div>Результат работы программы:<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1489&amp;d=1352714087" rel="Lightbox" id="attachment1489" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1489&amp;thumb=1&amp;d=1352714087" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: NoLock.png
Просмотров: 698
Размер:	40.2 Кб
ID:	1489" style="margin: 5px" /></a><br />
<br />
Видно, что код метода <i>Write</i> выполняется параллельно, поэтому номера выводятся не группами, а в разнобой.<br />
Задача сделать так, чтобы код метода Write выполнялся не параллельно, а последовательно, для всех классов.<br />
<br />
Изменим код класса <i>MyClass</i>, добавив переменную для блокировки и исполтзуем конструкцию <i>lock</i>.<br />
<div class="codeblock"><table class="csharp"><thead><tr><td colspan="2" id="360836682"  class="head">C#</td></tr></thead><tbody><tr class="li1"><td><div id="360836682" style="height: 350px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="de1"><pre class="de1"><span class="kw1">public</span> <span class="kw4">class</span> MyClass
<span class="br0">&#123;</span>
&nbsp; &nbsp; <span class="kw1">private</span> <span class="kw1">static</span> <span class="kw1">readonly</span> <span class="kw4">Object</span> _lock <span class="sy0">=</span> <span class="kw3">new</span> <span class="kw4">object</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="co1">// Конструкция Lock сработает только в том случае, если поле будет объявлено как static</span>
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">int</span> I <span class="br0">&#123;</span> <span class="kw1">get</span><span class="sy0">;</span> <span class="kw1">set</span><span class="sy0">;</span> <span class="br0">&#125;</span>
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">int</span> Sleep <span class="br0">&#123;</span> <span class="kw1">get</span><span class="sy0">;</span> <span class="kw1">set</span><span class="sy0">;</span> <span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp; &nbsp; <span class="kw1">public</span> MyClass<span class="br0">&#40;</span><span class="kw4">int</span> index, <span class="kw4">int</span> sleep<span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; I <span class="sy0">=</span> index<span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; Sleep <span class="sy0">=</span> sleep<span class="sy0">;</span>
&nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">void</span> Write<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">lock</span> <span class="br0">&#40;</span>_lock<span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console<span class="sy0">.</span><span class="me1">WriteLine</span><span class="br0">&#40;</span>I<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Thread<span class="sy0">.</span><span class="me1">Sleep</span><span class="br0">&#40;</span>Sleep<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Console<span class="sy0">.</span><span class="me1">WriteLine</span><span class="br0">&#40;</span>I<span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp; &nbsp; <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div>Результат работы программы:<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1490&amp;d=1352714704" rel="Lightbox" id="attachment1490" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1490&amp;thumb=1&amp;d=1352714704" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Lock.png
Просмотров: 992
Размер:	28.3 Кб
ID:	1490" style="margin: 5px" /></a></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/888.html</guid>
		</item>
		<item>
			<title>Ninject: Простейший пример использования в проекте ASP.NET MVC4</title>
			<link>https://www.cyberforum.ru/blogs/292515/868.html</link>
			<pubDate>Tue, 06 Nov 2012 22:29:15 GMT</pubDate>
			<description>Ninject 
* Подключение в проект ASP.NET MVC4 (https://www.cyberforum.ru/blogs/292515/blog852.html)...</description>
			<content:encoded><![CDATA[<div><font size="4">Ninject</font><ul><li><a href="https://www.cyberforum.ru/blogs/292515/blog852.html">Подключение в проект ASP.NET MVC4</a></li>
<li>Простейший пример использования в проекте ASP.NET MVC4</li>
<li><a href="https://www.cyberforum.ru/blogs/292515/blog909.html">Приемы и хитрости</a></li>
</ul><br />
<br />
<font size="6">Простейший пример использования в проекте ASP.NET MVC4</font><br />
<br />
<br />
Есть чистый только что созданный сайт ASP.NET MVC4 с установленным Ninject.<br />
<br />
Так же есть класс <i>MessageService</i> (реализующий интерфейс <i>IMessageService</i>), который выводит тестовое приветственное сообщение.<br />
<br />
<div class="codeblock"><table class="csharp"><thead><tr><td colspan="2" id="718313195"  class="head">C#</td></tr></thead><tbody><tr class="li1"><td><div id="718313195" style="height: 238px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="de1"><pre class="de1"><span class="kw1">public</span> <span class="kw4">interface</span> IMessageService
<span class="br0">&#123;</span>
&nbsp; &nbsp; <span class="kw4">string</span> GetWelcomeMessage<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
&nbsp;
&nbsp;
<span class="kw1">public</span> <span class="kw4">class</span> MessageService <span class="sy0">:</span> IMessageService
<span class="br0">&#123;</span>
&nbsp; &nbsp; <span class="kw1">public</span> <span class="kw4">string</span> GetWelcomeMessage<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="st0">&quot;Welcome to Ninject MVC4 Example&quot;</span><span class="sy0">;</span>
&nbsp; &nbsp; <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div>Задача - вывести приветственное сообщение на начальной странице, используя класс <i>MessageService</i>. При этом, для обеспечения меньшей связанности кода, не использовать напрямую класс <i>MessageService</i>, а ограничится использованием интерфейса <i>IMessageService</i>.<br />
<br />
<br />
Ninject позволяет создать экземпляр класса, используя интерфейс, реализованный этим классом. При этом получается, что пользовательский код, использующий экземпляр класса, ничего не знает о самом классе и не зависит от него - зависит только от интерфейса.<br />
<br />
Создать экземпляр класса по интерфейсу можно вручную, а можно автоматически, когда это потребуется для корректной работы программы. В нашем примере мы воспользуется автоматическим созданием экземпляра класса.<br />
<br />
Первое что необходимо сделать для решения задачи, это указать связь между классом <i>MessageService</i> и интерфейсом <i>IMessageService</i>, чтобы Ninject мог создать экземпляр класса через интерфейс. Для этого в метод <i>RegisterServices</i> класса <i>NinjectWebCommon</i> добавляем новую связь:<br />
<br />
<div class="codeblock"><table class="csharp"><thead><tr><td colspan="2" id="766288283"  class="head">C#</td></tr></thead><tbody><tr class="li1"><td><div id="766288283" style="height: 94px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
</pre></td><td class="de1"><pre class="de1"><span class="kw1">private</span> <span class="kw1">static</span> <span class="kw4">void</span> RegisterServices<span class="br0">&#40;</span>IKernel kernel<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
&nbsp; &nbsp; kernel<span class="sy0">.</span><span class="me1">Bind</span><span class="sy0">&lt;</span>IMessageService<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="me1">To</span><span class="sy0">&lt;</span>MessageService<span class="sy0">&gt;</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div>Второе и последнее, что нужно сделать, это отредактировать контроллер начальной страницы <i>HomeController</i>:<br />
<br />
<div class="codeblock"><table class="csharp"><thead><tr><td colspan="2" id="595225643"  class="head">C#</td></tr></thead><tbody><tr class="li1"><td><div id="595225643" style="height: 318px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="de1"><pre class="de1"><span class="kw1">public</span> <span class="kw4">class</span> HomeController <span class="sy0">:</span> Controller
<span class="br0">&#123;</span>
&nbsp; &nbsp; <span class="kw1">private</span> <span class="kw1">readonly</span> IMessageService _messageService<span class="sy0">;</span>
&nbsp;
&nbsp;
&nbsp; &nbsp; <span class="kw1">public</span> HomeController<span class="br0">&#40;</span>IMessageService messageService<span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; _messageService <span class="sy0">=</span> messageService<span class="sy0">;</span>
&nbsp; &nbsp; <span class="br0">&#125;</span>
&nbsp;
&nbsp;
&nbsp; &nbsp; <span class="kw1">public</span> ActionResult Index<span class="br0">&#40;</span><span class="br0">&#41;</span>
&nbsp; &nbsp; <span class="br0">&#123;</span>
&nbsp; &nbsp; &nbsp; &nbsp; ViewBag<span class="sy0">.</span><span class="me1">Message</span> <span class="sy0">=</span> _messageService<span class="sy0">.</span><span class="me1">GetWelcomeMessage</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> View<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
&nbsp; &nbsp; <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div>После этого, при создании экземпляра контроллера <i>HomeController</i>, в конструктор автоматически будет подставляться экземпляр класса <i>MessageService</i>.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1469&amp;d=1352240685" rel="Lightbox" id="attachment1469" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1469&amp;thumb=1&amp;d=1352240685" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: NinjectSample.png
Просмотров: 1265
Размер:	104.5 Кб
ID:	1469" style="margin: 5px" /></a></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/868.html</guid>
		</item>
		<item>
			<title>Ninject: Подключение в проект ASP.NET MVC4</title>
			<link>https://www.cyberforum.ru/blogs/292515/852.html</link>
			<pubDate>Thu, 01 Nov 2012 20:38:56 GMT</pubDate>
			<description>Ninject 
* Подключение в проект ASP.NET MVC4 
* Простейший пример использования в проекте ASP.NET...</description>
			<content:encoded><![CDATA[<div><font size="4">Ninject</font><ul><li>Подключение в проект ASP.NET MVC4</li>
<li><a href="https://www.cyberforum.ru/blogs/292515/blog868.html">Простейший пример использования в проекте ASP.NET MVC4</a></li>
<li><a href="https://www.cyberforum.ru/blogs/292515/blog909.html">Приемы и хитрости</a></li>
</ul><br />
<br />
<font size="6">Подключение в проект ASP.NET MVC4</font><br />
<br />
<br />
Самый простой способ подключить Ninject в проект сайта ASP.NET MVC4 - воспользоваться менеджером пакетов библиотек <i>NuGet</i>.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1448&amp;d=1351802034" rel="Lightbox" id="attachment1448" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1448&amp;thumb=1&amp;d=1351802034" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: NinjectInstall_01.png
Просмотров: 1021
Размер:	34.6 Кб
ID:	1448" style="margin: 5px" /></a><br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1449&amp;d=1351802034" rel="Lightbox" id="attachment1449" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1449&amp;thumb=1&amp;d=1351802034" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: NinjectInstall_02.png
Просмотров: 1004
Размер:	88.4 Кб
ID:	1449" style="margin: 5px" /></a><br />
<br />
Для установки необходимо выбрать пакет <b>Ninject.MVC3</b> (по данным на ноябрь 2012 г. специального пакета Ninject для MVC4 нет). Вместе с этим пакетом будут автоматически установлены пакеты <b>Ninject</b> и <b>Ninject.Web.Common</b>.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1450&amp;d=1351802034" rel="Lightbox" id="attachment1450" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1450&amp;thumb=1&amp;d=1351802034" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: NinjectInstall_03.png
Просмотров: 818
Размер:	33.3 Кб
ID:	1450" style="margin: 5px" /></a><br />
<br />
В результате установки пакетов в списке подключенных библиотек появятся три библиотеки:<ul><li><i>Ninject.dll</i></li>
<li><i>Ninject.Web.Common.dll</i></li>
<li><i>Ninject.Web.Mvc.dll</i></li>
<li><i>WebActivator.dll</i></li>
</ul>Так же в папку <i>App_Start</i> будет добавлен файл <b>NinjectWebCommon.cs</b>, содержащий настройки Ninject.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1451&amp;d=1351802034" rel="Lightbox" id="attachment1451" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1451&amp;thumb=1&amp;d=1351802034" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: NinjectInstall_04.png
Просмотров: 989
Размер:	31.2 Кб
ID:	1451" style="margin: 5px" /></a><br />
<br />
На этом подключение Ninject в проект ASP.NET MVC4 завершено и никаких других настроек не требуется (в частности не нужно изменять файл <i>Global.asax</i>).</div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/852.html</guid>
		</item>
		<item>
			<title>Генерация случайной строки, состоящей из заданного диапазона символов</title>
			<link>https://www.cyberforum.ru/blogs/292515/848.html</link>
			<pubDate>Tue, 30 Oct 2012 12:06:51 GMT</pubDate>
			<description>private readonly Random _random = new Random((int)DateTime.Now.Ticks); 
private const string _chars...</description>
			<content:encoded><![CDATA[<div><div class="codeblock"><table class="csharp"><thead><tr><td colspan="2" id="727445156"  class="head">C#</td></tr></thead><tbody><tr class="li1"><td><div id="727445156" style="height: 190px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
</pre></td><td class="de1"><pre class="de1"><span class="kw1">private</span> <span class="kw1">readonly</span> Random _random <span class="sy0">=</span> <span class="kw3">new</span> Random<span class="br0">&#40;</span><span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span>DateTime<span class="sy0">.</span><span class="me1">Now</span><span class="sy0">.</span><span class="me1">Ticks</span><span class="br0">&#41;</span><span class="sy0">;</span>
<span class="kw1">private</span> <span class="kw1">const</span> <span class="kw4">string</span> _chars <span class="sy0">=</span> <span class="st0">&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz&quot;</span><span class="sy0">;</span>
&nbsp;
<span class="kw1">private</span> <span class="kw4">string</span> RandomString<span class="br0">&#40;</span><span class="kw4">int</span> size<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
&nbsp; &nbsp; <span class="kw1">var</span> buffer <span class="sy0">=</span> <span class="kw3">new</span> <span class="kw4">char</span><span class="br0">&#91;</span>size<span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp; &nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="kw4">int</span> i <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span> i <span class="sy0">&lt;</span> size<span class="sy0">;</span> i<span class="sy0">++</span><span class="br0">&#41;</span>
&nbsp; &nbsp; &nbsp; &nbsp; buffer<span class="br0">&#91;</span>i<span class="br0">&#93;</span> <span class="sy0">=</span> _chars<span class="br0">&#91;</span>_random<span class="sy0">.</span><span class="me1">Next</span><span class="br0">&#40;</span>_chars<span class="sy0">.</span><span class="me1">Length</span><span class="br0">&#41;</span><span class="br0">&#93;</span><span class="sy0">;</span>
&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw3">new</span> <span class="kw4">string</span><span class="br0">&#40;</span>buffer<span class="br0">&#41;</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/848.html</guid>
		</item>
		<item>
			<title>Проверка числа на четность</title>
			<link>https://www.cyberforum.ru/blogs/292515/821.html</link>
			<pubDate>Sun, 14 Oct 2012 20:43:40 GMT</pubDate>
			<description>Для проверки числа на четность можно использовать поразрядные операции...</description>
			<content:encoded><![CDATA[<div>Для проверки числа на четность можно использовать <a rel="nofollow noopener noreferrer" href="http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8" target="_blank" title="http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8">поразрядные операции</a>, а точнее <a rel="nofollow noopener noreferrer" href="http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8#.D0.9F.D0.BE.D0.B1.D0.B8.D1.82.D0.BE.D0.B2.D0.BE.D0.B5_.D0.98_.28AND.29" target="_blank" title="http://ru.wikipedia.org/wiki/%D0%91%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%B8#.D0.9F.D0.BE.D0.B1.D0.B8.D1.82.D0.BE.D0.B2.D0.BE.D0.B5_.D0.98_.28AND.29">побитовое И (AND)</a>.<br />
Суть в том, что если число нечетное, то в его последнем разряде будет стоять 1, когда как для четного числа там будет 0. Применив к числу операцию И с единицей можно определить четность числа: если результат будет равен нулю - число четное, если 1 - нечетное.<br />
<br />
Например:<br />
<br />
<b>Число 10</b><br />
в двоичной записи - 1010<br />
операция 10 &amp; 1 = 0<br />
1010<br />
0001<br />
-----<br />
0000<br />
Число четное.<br />
<br />
<b>Число 11</b><br />
в двоичной записи - 1011<br />
операция  11 &amp; 1 = 1<br />
1011<br />
0001<br />
-----<br />
0001<br />
Число нечетное.</div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/821.html</guid>
		</item>
		<item>
			<title>Вставка на страницу содержимого другой страницы с помощью JavaScript</title>
			<link>https://www.cyberforum.ru/blogs/292515/816.html</link>
			<pubDate>Sun, 14 Oct 2012 09:00:58 GMT</pubDate>
			<description><![CDATA[Пример: загрузка на главную страницу страницы новостей. 
 
Страница новостей news.html 
<div...]]></description>
			<content:encoded><![CDATA[<div>Пример: загрузка на главную страницу страницы новостей.<br />
<br />
Страница новостей news.html<br />
<div class="codeblock"><table class="html5"><thead><tr><td colspan="2" id="787867449"  class="head">HTML5</td></tr></thead><tbody><tr class="li1"><td><div id="787867449" style="height: 62px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
</pre></td><td class="de1"><pre class="de1"><span class="sc2">&lt;<span class="kw2">p</span>&gt;</span>Новость 1<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">p</span>&gt;</span>
<span class="sc2">&lt;<span class="kw2">p</span>&gt;</span>Новость 2<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">p</span>&gt;</span></pre></td></tr></table></div></td></tr></tbody></table></div>Главная страница<br />
<div class="codeblock"><table class="html5"><thead><tr><td colspan="2" id="295192284"  class="head">HTML5</td></tr></thead><tbody><tr class="li1"><td><div id="295192284" style="height: 334px" class="codeframe"><table><tr class="li1"><td class="ln" style="padding: 0px 10px 0px 5px;"><pre class="de1">1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="de1"><pre class="de1"><span class="sc2">&lt;<span class="kw2">html</span>&gt;</span>
<span class="sc2">&lt;<span class="kw2">head</span>&gt;</span>
<span class="sc2">&lt;<span class="kw2">script</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;jquery.js&quot;</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">script</span>&gt;</span>
<span class="sc2">&lt;<span class="kw2">script</span>&gt;</span>
$(function() {
&nbsp; &nbsp; $.ajax({ 
&nbsp; &nbsp; &nbsp; &nbsp; url: &quot;news.html&quot; 
&nbsp; &nbsp; })
&nbsp; &nbsp; .done(function(data) { 
&nbsp; &nbsp; &nbsp; &nbsp; $('#News').html(data);
&nbsp; &nbsp; });
});
<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">script</span>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">head</span>&gt;</span>
<span class="sc2">&lt;<span class="kw2">body</span>&gt;</span>
<span class="sc2">&lt;<span class="kw2">h1</span>&gt;</span>Новости<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">h1</span>&gt;</span>
<span class="sc2">&lt;<span class="kw2">div</span> <span class="kw3">id</span><span class="sy0">=</span><span class="st0">&quot;News&quot;</span>&gt;&lt;<span class="sy0">/</span><span class="kw2">div</span>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">body</span>&gt;</span>
<span class="sc2">&lt;<span class="sy0">/</span><span class="kw2">html</span>&gt;</span></pre></td></tr></table></div></td></tr></tbody></table></div></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/816.html</guid>
		</item>
		<item>
			<title>Разработка приложений для Windows 8: Инструменты</title>
			<link>https://www.cyberforum.ru/blogs/292515/812.html</link>
			<pubDate>Thu, 11 Oct 2012 17:34:53 GMT</pubDate>
			<description>Разработка приложений для Windows 8 
* Введение...</description>
			<content:encoded><![CDATA[<div><font size="4">Разработка приложений для Windows 8</font><ul><li><a href="https://www.cyberforum.ru/blogs/292515/blog811.html">Введение</a></li>
<li>Инструменты</li>
</ul><br />
<br />
<font size="6">Инструменты</font><br />
<br />
<br />
Все необходимые инструменты для разработки можно бесплатно скачать <a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/ru-RU/windows/apps/br229516.aspx" target="_blank" title="http://msdn.microsoft.com/ru-RU/windows/apps/br229516.aspx">тут</a>. На странице загрузки представлены среда разработки Visual Studio, все необходимые SDK, а также дополнительные материалы.<br />
<br />
Некоторое полезное ПО, которого нет по ссылке выше можно также бесплатно скачать <a rel="nofollow noopener noreferrer" href="http://www.microsoft.com/visualstudio/rus/downloads" target="_blank" title="http://www.microsoft.com/visualstudio/rus/downloads">тут</a>. В частности по этой ссылке можно скачать Team Foundation Server и ряд других полезных приложений.</div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/812.html</guid>
		</item>
		<item>
			<title>Разработка приложения для Windows 8: Введение</title>
			<link>https://www.cyberforum.ru/blogs/292515/811.html</link>
			<pubDate>Thu, 11 Oct 2012 16:36:20 GMT</pubDate>
			<description>Начал изучение разработки для Windows 8. Данный блог - попытка упорядочить все то, что узнаю в...</description>
			<content:encoded><![CDATA[<div><i>Начал изучение разработки для Windows 8. Данный блог - попытка упорядочить все то, что узнаю в процессе изучения и собрать все это в краткое пособие, в первую очередь, для самого себя.</i><br />
<br />
<br />
<font size="4">Разработка приложений для Windows 8</font><ul><li>Введение</li>
<li><a href="https://www.cyberforum.ru/blogs/292515/blog812.html">Инструменты</a></li>
</ul><br />
<br />
<font size="6">Введение</font><br />
<br />
<br />
C появлением Windows 8 приложения для Windows разделились на 2 группы:<ul><li>классические desktop-приложения,</li>
<li>Windows 8-style UI-приложения.</li>
</ul><br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1383&amp;d=1349971749" rel="Lightbox" id="attachment1383" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1383&amp;thumb=1&amp;d=1349971749" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: jj553243.1411.clip_5F00_image0164_5F00_thumb_5F00_5E0DAFD4(ru-ru,MSDN.10).jpg
Просмотров: 875
Размер:	52.9 Кб
ID:	1383" style="margin: 5px" /></a><br />
<br />
Термин &quot;Windows 8-style UI&quot;  включает в себя две концепции: Windows 8-style UI и Windows Runtime (WinRT).<br />
<br />
<br />
<font size="5">Windows 8-style UI</font><br />
<br />
Приложение в стиле Windows 8-style UI - это сплав новой парадигмы интерфейса (Metro style), нового эффективного API и соответствующей платформы разработки, плюс интеграция с системой и другими приложениями.<br />
<br />
В отличие от классических приложений приложения в стиле Windows 8-style UI содержат одно окно без хрома (рамок и декоративных обрамляющих элементов), по умолчанию занимающее весь экран, чтобы пользователя не отвлекали лишние детали.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1384&amp;d=1349972119" rel="Lightbox" id="attachment1384" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1384&amp;thumb=1&amp;d=1349972119" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8App.jpg
Просмотров: 1035
Размер:	19.6 Кб
ID:	1384" style="margin: 5px" /></a><br />
<br />
Приложение может поддерживать различные компоновки и представления, чтобы обеспечить динамику и удобство пользователя при различных параметрах и размерах экрана устройств.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1385&amp;d=1349972181" rel="Lightbox" id="attachment1385" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1385&amp;thumb=1&amp;d=1349972181" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8AddPositions.png
Просмотров: 688
Размер:	3.7 Кб
ID:	1385" style="margin: 5px" /></a><br />
<br />
Приложения в стиле Windows 8-style UI содержат несколько новых элементов управления, упрощающих организацию эффективного взаимодействия с пользователями. Среди этих элементов можно выделить строку команд (App Bar) приложения и чудо-кнопки (Charms).<br />
<br />
Строка команд приложения (App Bar) размещается вне окна приложения и является его основным командным интерфейсом. Используйте строку команд для размещения элементов навигации, команд и инструментов для пользователей.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1386&amp;d=1349972225" rel="Lightbox" id="attachment1386" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1386&amp;thumb=1&amp;d=1349972225" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8AppBar.png
Просмотров: 649
Размер:	3.5 Кб
ID:	1386" style="margin: 5px" /></a><br />
<br />
Чудо-кнопки — это определенный и согласованный набор кнопок, используемый во всех приложениях для поиска, отправки, подключения, настройки и запуска.<br />
<br />
Пользователи могут:<ul><li>Искать содержимое, размещенное в вашем или другом приложении. Кроме того, поиск содержимого в вашем приложении возможен из другого приложения.</li>
<li>Делиться содержимым из вашего приложения с контактами или службами.</li>
<li>Перейти прямо на Начальный экран.</li>
<li>Подключаться к устройствам и отправлять содержимое, выполнять потоковую передачу мультимедиа, а также печатать документы.</li>
<li>Использовать параметры для настройки приложения по своему усмотрению.</li>
</ul><br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1387&amp;d=1349972310" rel="Lightbox" id="attachment1387" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1387&amp;thumb=1&amp;d=1349972310" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8Charms.png
Просмотров: 535
Размер:	3.8 Кб
ID:	1387" style="margin: 5px" /></a><br />
<br />
Когда пользователь устанавливает приложение, оно появляется на начальном экране как плитка. <br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1388&amp;d=1349972464" rel="Lightbox" id="attachment1388" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1388&amp;thumb=1&amp;d=1349972464" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8Start.jpg
Просмотров: 969
Размер:	23.7 Кб
ID:	1388" style="margin: 5px" /></a><br />
<br />
Приложение может предоставлять содержимое с помощью плитки, даже когда не работает. Используя динамические плитки (Live Tiles), приложение способно выводить на экран полезные данные в краткой форме при минимальном расходе заряда батареи устройства.<br />
<br />
Приложение может настроить систему для периодического запроса обновлений в веб-службе вне зависимости от того, работает ли оно. Кроме того, в приложениях доступна настройка служб push-уведомлений Windows (WNS), чтобы отправлять сообщения напрямую из веб-службы в динамическую плитку.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1389&amp;d=1349972464" rel="Lightbox" id="attachment1389" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1389&amp;thumb=1&amp;d=1349972464" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8Tiles.png
Просмотров: 684
Размер:	24.0 Кб
ID:	1389" style="margin: 5px" /></a><br />
<br />
<br />
<font size="5">Windows Runtime (WinRT)</font><br />
<br />
WinRT - это native API (родной для операционной системы), работающий вместе с оптимизированным COM API. При этом возможна работа manage-сред поверх WinRT (таких как .NET Framework).<br />
<br />
WinRT - это объектно-ориентированный API, включающий универсальный формат метаданных типов. WinRT включает поддержку многих современных свойств персональных компьютеров (сенсоры, камеры и т.п.), а энергосбережение является тут чрезвычайно важным.<br />
<br />
WinRT - это языконезависимый API, изначально поддерживающий различные модели:<ul><li>С++</li>
<li>.NET Framework с C# и Visual Basic</li>
<li>HTML5 и JavaScript</li>
</ul>Современная декларативная модель разработки интерфейсов на XAML или HTML5 является частью WinAPI, а не надстройкой над ним.<br />
<br />
Помимо, собственно функционала, отвечающего за выполнение тех или иных функций, WinRT имеет ряд других важных компонентов.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1390&amp;d=1349972464" rel="Lightbox" id="attachment1390" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1390&amp;thumb=1&amp;d=1349972464" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8Runtime.jpg
Просмотров: 930
Размер:	44.3 Кб
ID:	1390" style="margin: 5px" /></a><br />
<ul><li><b>Подсистема метаданных и языковых проекций</b>. Благодаря ей, компоненты, написанные на разных языках программирования, могут вызывать друг друга.</li>
<li><b>Брокеры.</b> Эти компоненты несут две важные функции: <br />
	<ul><li>Поддержка обмена данными между приложениями. Например, в тех случаях, когда вы хотите отправить данные из какого-то приложения через почтовый клиент.<br /></li>
<li>Защита некоторых важных вызовов через механизм capabilities и явных разрешений. Например, если приложение захочет использовать камеру, система сперва спросит у пользователя, допускает ли он это. Аналогично и, например, с GPS – приложение должно обозначить такую потребность еще на этапе разработки, плюс пользователь может явно разрешить или запретить ему использование информацию о местоположении.<br />
	</li>
</ul></li>
<li><b>Application Model и Windows Store API.</b> Эта группа управляет важными составляющими приложения:<br />
	<ul><li>составом компонентов;<br /></li>
<li>возможностями (capabilities), затрагивающим безопасность и функционирование системы, такими как, доступ к местоположению, файловой системе, сети, идентификации пользователя, всевозможным точкам интеграции с системой и так далее;<br /></li>
<li>взаимодействием с Windows Store и информацией о приложении, которое, как мы уже знаем, в подавляющем большинстве случаев, будет установлено именно оттуда.<br />
	</li>
</ul></li>
<li><b>DirectX  и подмножество Win32 и COM API</b>, доступные для компонентов и приложений, разрабатываемых на C++. Они необходимы с одной стороны разработчикам игр и мультимедиа-приложений (DirectX), с другой стороны – для портирования существующего кода (подмножество Win32).</li>
</ul><br />
<font size="4"><font color="DimGray">Модель выполнения приложений в WinRT</font></font><br />
<br />
Стадии выполнения приложения точно описываются перечислением <a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.activation.applicationexecutionstate.aspx" target="_blank" title="http://msdn.microsoft.com/en-us/library/windows/apps/windows.applicationmodel.activation.applicationexecutionstate.aspx">ApplicationExecutionState</a>.<br />
<br />
<a href="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1391&amp;d=1349972464" rel="Lightbox" id="attachment1391" ><img src="https://www.cyberforum.ru/blog_attachment.php?attachmentid=1391&amp;thumb=1&amp;d=1349972464" class="thumbnail" border="0" alt="Нажмите на изображение для увеличения
Название: Windows8ExecutionState.jpg
Просмотров: 484
Размер:	12.9 Кб
ID:	1391" style="margin: 5px" /></a><br />
<ul><li><a rel="nofollow noopener noreferrer" href="http://go.microsoft.com/fwlink/?LinkId=227329" target="_blank" title="http://go.microsoft.com/fwlink/?LinkId=227329">Introduction to Background Tasks</a><br />
Этот документ описывает модель разработки и жизненного цикла фоновых процессов, а также их взаимодействие с пользовательским интерфейсом.</li>
<li><a rel="nofollow noopener noreferrer" href="http://go.microsoft.com/fwlink/?LinkId=241645" target="_blank" title="http://go.microsoft.com/fwlink/?LinkId=241645">Background Networking</a>  <br />
Этот документ описывает подходы и правила разработки приложений, использующих сетевую подсистему для предоставления пользователю коммуникационных возможностей.</li>
</ul><br />
<font size="4"><font color="DimGray">Файловая система и данные приложений в WinRT</font></font><br />
<br />
Особенность WinRT – порядок работы с файлами и данными. В общем случае данные Windows 8-style UI-приложений изолированы друг от друга. Это обеспечивает стабильность и безопасность как самих приложений, так и системы в целом.<br />
<br />
Подробнее о данных приложений можно прочитать в статье <a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx" target="_blank" title="http://msdn.microsoft.com/en-us/library/windows/apps/hh464917.aspx">Accessing app data with the Windows Runtime (Windows Store apps)</a>. <br />
<br />
Основная суть состоит в том, что у всякого Windows 8-style UI-приложения есть три типа файлового хранилища:<ul><li>локальное,</li>
<li>временное,</li>
<li>переносимое (roaming).</li>
</ul><br />
<b>Локальное хранилище</b> содержит файлы и папки, которые приложение создает на локальном компьютере в специальной области, выделенной этому приложению.<br />
<br />
<b>Временное хранилище</b> очень похоже на локальное с тем исключением, что как только приложение выгружается, система может в любой момент удалить временные данные.<br />
<br />
<b>Переносимое (roaming) хранилище</b> представляет собой файлы и папки синхронизируемые между всеми устройствами с Windows 8, где зарегистрировался тот же пользователь, который в вашем приложении изначально создал данные. Пользователь определяется по Microsoft ID, который также все знают под именем LiveID.<br />
<br />
В случае необходимости, приложение может получить доступ к файлам, находящимся на всем остальном пространстве дисков устройства . Для этого предназначено два механизма: <a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/ru-ru/library/windows/apps/xaml/hh771180.aspx" target="_blank" title="http://msdn.microsoft.com/ru-ru/library/windows/apps/xaml/hh771180.aspx">File Pickers</a>  и <a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh967755.aspx" target="_blank" title="http://msdn.microsoft.com/en-us/library/windows/apps/hh967755.aspx">Libraries</a>.<br />
<br />
<b>Механизм File Pickers</b> позволяет получить доступ к файлам через запрос пользователя на выбор таких файлов. Пользователь явно выбирает файлы, давая таким образом приложению доступ к этим файлам.<br />
<br />
<b>Механизм Libraries</b> дает прямой доступ к файлам <i>библиотек документов Windows</i>: Documents, Pictures, Videos и т.д. Этот подход требует соблюдения двух условий:<ul><li><a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh464936.aspx" target="_blank" title="http://msdn.microsoft.com/en-us/library/windows/apps/hh464936.aspx">Декларация</a>  необходимости получения доступа к библиотекам. Декларация производится еще на этапе разработки приложения. Устанавливая его из Windows Store, пользователь видит, к каким библиотекам приложение будет иметь доступ.</li>
<li>Для некоторых типов библиотек (Documents и файлов на внешних устройствах) необходимо определить <i>ассоциацию приложения с типами файлов</i>. И именно к файлам этих типов оно получит доступ.</li>
</ul>	<br />
Подробнее обо все этом можно прочитать в статье <a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh967755.aspx" target="_blank" title="http://msdn.microsoft.com/en-us/library/windows/apps/hh967755.aspx">File access and permissions in Windows Store apps</a>.<br />
<br />
<br />
<font size="4"><font color="DimGray">Манифест приложения и capabilities</font></font><br />
<br />
Схема пакета приложения важна сама по себе, а файл манифеста как ее часть, говорит очень много о функционале программы.<br />
<br />
Подробнее об это можно почитать  <a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/en-us/library/windows/apps/hh464929.aspx" target="_blank" title="http://msdn.microsoft.com/en-us/library/windows/apps/hh464929.aspx">тут</a>. Также посмотреть и послушать <a rel="nofollow noopener noreferrer" href="http://channel9.msdn.com/events/BUILD/BUILD2011/APP-398T" target="_blank" title="http://channel9.msdn.com/events/BUILD/BUILD2011/APP-398T">эту сессию</a> конференции BUILD.<br />
<br />
<br />
<br />
<font size="5"><font color="Silver">Источники информации</font></font><ul><li><a rel="nofollow noopener noreferrer" href="http://msdn.microsoft.com/ru-ru/jj553243" target="_blank" title="http://msdn.microsoft.com/ru-ru/jj553243"><font color="Silver">Разработка приложений под Windows 8: почему и как</font></a></li>
</ul></div>

]]></content:encoded>
			<dc:creator>xZooYx</dc:creator>
			<guid isPermaLink="true">https://www.cyberforum.ru/blogs/292515/811.html</guid>
		</item>
	</channel>
</rss>
