<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Блог it-інженера: PHP, JS, Mysql]]></title><description><![CDATA[Розбираємо складність світу IT: все про розробку якісних продуктів ]]></description><link>https://badtry.net/</link><image><url>https://badtry.net/favicon.png</url><title>Блог it-інженера: PHP, JS, Mysql</title><link>https://badtry.net/</link></image><generator>Ghost 5.85</generator><lastBuildDate>Wed, 15 Apr 2026 02:47:50 GMT</lastBuildDate><atom:link href="https://badtry.net/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[В серці. Назавжди.]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>&#x412;&#x447;&#x43E;&#x440;&#x430; &#x443; &#x43C;&#x435;&#x43D;&#x435; &#x43F;&#x43E;&#x43C;&#x435;&#x440; &#x43E;&#x434;&#x43D;&#x43E;&#x43A;&#x43B;&#x430;&#x441;&#x43D;&#x438;&#x43A;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x431;&#x430;&#x431;&#x443;&#x441;&#x44F;. &#x406; &#x445;&#x442;&#x43E; &#x431; &#x43C;&#x456;&#x433; &#x443;</p>]]></description><link>https://badtry.net/v-siertsi-nazavzhdi/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2384</guid><category><![CDATA[Серьёзный разговор]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Fri, 20 May 2022 19:26:45 GMT</pubDate><media:content url="https://badtry.net/content/images/2022/05/heart-broken_98487.png" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2022/05/heart-broken_98487.png" alt="&#x412; &#x441;&#x435;&#x440;&#x446;&#x456;. &#x41D;&#x430;&#x437;&#x430;&#x432;&#x436;&#x434;&#x438;."><p>&#x412;&#x447;&#x43E;&#x440;&#x430; &#x443; &#x43C;&#x435;&#x43D;&#x435; &#x43F;&#x43E;&#x43C;&#x435;&#x440; &#x43E;&#x434;&#x43D;&#x43E;&#x43A;&#x43B;&#x430;&#x441;&#x43D;&#x438;&#x43A;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x431;&#x430;&#x431;&#x443;&#x441;&#x44F;. &#x406; &#x445;&#x442;&#x43E; &#x431; &#x43C;&#x456;&#x433; &#x443;&#x44F;&#x432;&#x438;&#x442;&#x438;, &#x449;&#x43E; &#x446;&#x435;&#x439; &#x440;&#x456;&#x43A; &#x43F;&#x440;&#x438;&#x43D;&#x435;&#x441;&#x435; &#x432;&#x456;&#x439;&#x43D;&#x443;, &#x441;&#x43C;&#x435;&#x440;&#x442;&#x44C; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x438;&#x448;&#x430;, &#x442;&#x430; &#x441;&#x43C;&#x435;&#x440;&#x442;&#x44C; &#x447;&#x43B;&#x435;&#x43D;&#x430; &#x441;&#x456;&#x43C;&apos;&#x457;?<br>
&#x426;&#x435; &#x431;&#x43E;&#x43B;&#x44F;&#x447;&#x435;... &#x41F;&#x440;&#x43E;&#x442;&#x435; &#x446;&#x435; &#x434;&#x43E;&#x431;&#x440;&#x435; &#x43D;&#x430;&#x433;&#x430;&#x434;&#x443;&#x432;&#x430;&#x43D;&#x43D;&#x44F; &#x43F;&#x440;&#x43E; &#x442;&#x435;, &#x44F;&#x43A; &#x448;&#x432;&#x438;&#x434;&#x43A;&#x43E; &#x442;&#x435;&#x447;&#x435; &#x447;&#x430;&#x441;. &#x406; &#x44F;&#x43A; &#x439;&#x43E;&#x433;&#x43E; &#x446;&#x456;&#x43D;&#x430; &#x437;&#x431;&#x456;&#x43B;&#x44C;&#x448;&#x443;&#x454;&#x442;&#x44C;&#x441;&#x44F; &#x43A;&#x43E;&#x436;&#x43D;&#x43E;&#x457; &#x43C;&#x430;&#x440;&#x43D;&#x43E; &#x432;&#x438;&#x442;&#x440;&#x430;&#x447;&#x435;&#x43D;&#x43E;&#x457; &#x441;&#x435;&#x43A;&#x443;&#x43D;&#x434;&#x438;. &#x406; &#x44F; &#x43D;&#x435; &#x441;&#x43A;&#x430;&#x436;&#x443; &#x449;&#x43E;&#x441;&#x44C; &#x43D;&#x43E;&#x432;&#x435;. &#x424;&#x440;&#x430;&#x437;&#x430;: &quot;&#x447;&#x430;&#x441; &#x448;&#x432;&#x438;&#x434;&#x43A;&#x43E;&#x43F;&#x43B;&#x438;&#x43D;&#x43D;&#x438;&#x439;&quot; &#x43B;&#x443;&#x43D;&#x430;&#x454; &#x437;&#x432;&#x456;&#x434;&#x443;&#x441;&#x456;&#x43B;&#x44C;. &#x41F;&#x440;&#x43E;&#x442;&#x435;, &#x445;&#x442;&#x43E; &#x457;&#x457; &#x440;&#x43E;&#x437;&#x443;&#x43C;&#x456;&#x454;? &#x425;&#x442;&#x43E; &#x457;&#x457; &#x440;&#x43E;&#x437;&#x443;&#x43C;&#x456;&#x454;, &#x43F;&#x43E;&#x43A;&#x438;...</p>
<p>&#x429;&#x435; &#x432;&#x447;&#x43E;&#x440;&#x430; &#x43C;&#x438; &#x433;&#x440;&#x430;&#x43B;&#x438; &#x440;&#x430;&#x437;&#x43E;&#x43C; &#x432; &#x444;&#x443;&#x442;&#x431;&#x43E;&#x43B; &#x432; &#x43E;&#x434;&#x43D;&#x456;&#x439; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x456;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x442;&#x435;&#x431;&#x435; &#x445;&#x43E;&#x432;&#x430;&#x44E;&#x442;&#x44C;.<br>
&#x429;&#x435; &#x432;&#x447;&#x43E;&#x440;&#x430; &#x442;&#x438; &#x434;&#x456;&#x43B;&#x438;&#x432;&#x441;&#x44F; &#x441;&#x43E;&#x441;&#x438;&#x441;&#x43A;&#x430;&#x43C;&#x438; &#x432; &#x441;&#x442;&#x43E;&#x43B;&#x43E;&#x432;&#x456;&#x439;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x442;&#x438; &#x434;&#x456;&#x43B;&#x438;&#x448; &#x437;&#x456; &#x43C;&#x43D;&#x43E;&#x44E; &#x442;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x441;&#x43F;&#x43E;&#x433;&#x430;&#x434;&#x438;.<br>
&#x429;&#x435; &#x432;&#x447;&#x43E;&#x440;&#x430; &#x43C;&#x438; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x430;&#x433;&#x430;&#x43B;&#x438; &#x437; &#x442;&#x43E;&#x431;&#x43E;&#x439;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x43C;&#x438; &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43B;&#x438;, &#x434;&#x440;&#x443;&#x436;&#x435;.</p>
<p>&#x429;&#x435; &#x432;&#x447;&#x43E;&#x440;&#x430;, &#x442;&#x438; &#x431;&#x430;&#x431;&#x443;&#x441;&#x44E; &#x43A;&#x443;&#x43F;&#x443;&#x432;&#x430;&#x43B;&#x430; &#x43C;&#x435;&#x43D;&#x456; &#x441;&#x43E;&#x43B;&#x43E;&#x434;&#x43A;&#x456; &#x43F;&#x430;&#x43B;&#x438;&#x447;&#x43A;&#x438;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x43C;&#x438; &#x43A;&#x443;&#x43F;&#x443;&#x454;&#x43C;&#x43E; &#x442;&#x43E;&#x431;&#x456; &#x43F;&#x430;&#x43C;&apos;&#x44F;&#x442;&#x43D;&#x438;&#x43A;.<br>
&#x429;&#x435; &#x432;&#x447;&#x43E;&#x440;&#x430; &#x442;&#x438; &#x43A;&#x440;&#x438;&#x447;&#x430;&#x43B;&#x430; &#x43D;&#x430; &#x43D;&#x430;&#x441; &#x437; &#x431;&#x440;&#x430;&#x442;&#x43E;&#x43C;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x43C;&#x438; &#x43F;&#x43B;&#x430;&#x447;&#x435;&#x43C;&#x43E; &#x437;&#x430; &#x442;&#x43E;&#x431;&#x43E;&#x44E;.<br>
&#x429;&#x435; &#x432;&#x447;&#x43E;&#x440;&#x430; &#x442;&#x438; &#x432;&#x435;&#x437;&#x43B;&#x430; &#x43D;&#x430;&#x441; &#x43D;&#x430; &#x43C;&#x43E;&#x440;&#x435;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x43C;&#x438; &#x432;&#x456;&#x434;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x454;&#x43C;&#x43E; &#x442;&#x435;&#x431;&#x435;. &#x421;&#x43F;&#x43E;&#x434;&#x456;&#x432;&#x430;&#x44E;&#x441;&#x44F; &#x442;&#x430;&#x43C; &#x454; &#x43C;&#x43E;&#x440;&#x435;!<br>
&#x429;&#x435; &#x432;&#x447;&#x43E;&#x440;&#x430; &#x43C;&#x438; &#x437; &#x442;&#x43E;&#x431;&#x43E;&#x44E; &#x441;&#x432;&#x430;&#x440;&#x438;&#x43B;&#x438;&#x441;&#x44F;. &#x410; &#x441;&#x44C;&#x43E;&#x433;&#x43E;&#x434;&#x43D;&#x456; &#x44F; &#x441;&#x432;&#x430;&#x440;&#x44E; &#x441;&#x435;&#x431;&#x435;, &#x447;&#x43E;&#x43C;&#x443; &#x44F; &#x431;&#x443;&#x432; &#x442;&#x430;&#x43A; &#x434;&#x430;&#x43B;&#x435;&#x43A;&#x43E; &#x432;&#x456;&#x434; &#x442;&#x435;&#x431;&#x435;.<br>
&#x42F; &#x431;&#x443;&#x434;&#x443; &#x441;&#x443;&#x43C;&#x443;&#x432;&#x430;&#x442;&#x438;. &#x42F; &#x431;&#x443;&#x434;&#x443; &#x436;&#x430;&#x43B;&#x456;&#x442;&#x438;, &#x449;&#x43E; &#x442;&#x430;&#x43A; &#x456; &#x43D;&#x435; &#x441;&#x43A;&#x430;&#x437;&#x430;&#x432; &#x442;&#x43E;&#x431;&#x456; &#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43D;&#x435;.</p>
<p>&#x422;&#x438; &#x437;&#x430;&#x432;&#x436;&#x434;&#x438; &#x43C;&#x435;&#x43D;&#x456; &#x43A;&#x430;&#x437;&#x430;&#x43B;&#x430; &#x449;&#x43E; &#x445;&#x43E;&#x447;&#x435;&#x448; &#x43F;&#x43E;&#x431;&#x430;&#x447;&#x438;&#x442;&#x438; &#x43F;&#x440;&#x430;&#x432;&#x43D;&#x443;&#x43A;&#x456;&#x432;. &#x410; &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x43D;&#x44C;&#x43E;&#x433;&#x43E; &#x440;&#x430;&#x437;&#x443; &#x441;&#x43A;&#x430;&#x437;&#x430;&#x43B;&#x430;, &#x449;&#x43E; &#x43D;&#x430;&#x432;&#x440;&#x44F;&#x434; &#x447;&#x438; &#x434;&#x43E;&#x436;&#x438;&#x432;&#x435;&#x448;. &#x422;&#x432;&#x43E;&#x44E; &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x43D;&#x456; &#x441;&#x43B;&#x43E;&#x432;&#x430; &#x442;&#x435;&#x43F;&#x435;&#x440; &#x437;&#x432;&#x443;&#x447;&#x430;&#x442;&#x44C; &#x437;&#x43E;&#x432;&#x441;&#x456;&#x43C; &#x456;&#x43D;&#x430;&#x43A;&#x448;&#x435;. &#x417;&#x43E;&#x432;&#x441;&#x456;&#x43C;. &#x406;&#x43D;&#x430;&#x43A;&#x448;&#x435;.<br>
&#x42F;&#x43A;&#x431;&#x438; &#x44F; &#x437;&#x43D;&#x430;&#x432;, &#x431;&#x430;&#x431;&#x443;&#x441;&#x44E;, &#x44F;&#x43A;&#x431;&#x438; &#x44F; &#x437;&#x43D;&#x430;&#x432;...</p>
<p>&#x421;&#x43F;&#x43E;&#x434;&#x456;&#x432;&#x430;&#x44E;&#x441;&#x44F; &#x442;&#x430;&#x43C; &#x454; &#x449;&#x43E;&#x441;&#x44C;, &#x434;&#x435; &#x432;&#x438; &#x437;&#x43D;&#x430;&#x439;&#x448;&#x43B;&#x438; &#x441;&#x43E;&#x431;&#x456; &#x43C;&#x456;&#x441;&#x446;&#x435;.</p>
<p>&#x41B;&#x443;&#x433;&#x430;&#x43D;&#x441;&#x44C;&#x43A; &#x437;&#x43D;&#x43E;&#x432;&#x443; &#x441;&#x442;&#x430;&#x43D;&#x435; &#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x43E;&#x44E;. &#x42F; &#x43F;&#x440;&#x438;&#x457;&#x434;&#x443;, &#x43E;&#x431;&#x456;&#x446;&#x44F;&#x44E;! &#x42F; &#x43F;&#x440;&#x438;&#x457;&#x434;&#x443; &#x434;&#x43E; &#x442;&#x435;&#x431;&#x435; &#x431;&#x430;&#x431;&#x443;&#x441;&#x44E;. &#x42F; &#x43F;&#x440;&#x438;&#x457;&#x434;&#x443; &#x434;&#x43E; &#x442;&#x435;&#x431;&#x435;, &#x434;&#x44F;&#x434;&#x44F; &#x41A;&#x43E;&#x43B;&#x44F;.</p>
<p>&#x41C;&#x43E;&#x454; &#x441;&#x435;&#x440;&#x446;&#x435; &#x440;&#x43E;&#x437;&#x431;&#x438;&#x442;&#x43E;. &#x41F;&#x440;&#x43E;&#x442;&#x435;... &#x412; &#x441;&#x435;&#x440;&#x446;&#x456;. &#x41D;&#x430;&#x437;&#x430;&#x432;&#x436;&#x434;&#x438;. &#x417;&#x430;&#x43F;&#x430;&#x43C;&apos;&#x44F;&#x442;&#x430;&#x44E; &#x432;&#x430;&#x448; &#x43F;&#x440;&#x438;&#x43A;&#x43B;&#x430;&#x434;. &#x41F;&#x440;&#x43E;&#x43D;&#x435;&#x441;&#x443; &#x43B;&#x44E;&#x431;&#x43E;&#x432; &#x432; &#x441;&#x435;&#x440;&#x446;&#x456; &#x43D;&#x430; &#x43F;&#x440;&#x43E;&#x442;&#x44F;&#x437;&#x456; &#x432;&#x441;&#x44C;&#x43E;&#x433;&#x43E; &#x436;&#x438;&#x442;&#x442;&#x44F;.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Ось такий він, руський мир]]></title><description><![CDATA[Відверто про руський мир і спец.операцію. Як воно, жити під час русського миру...]]></description><link>https://badtry.net/os-takii-vin-ruskii-mir/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2383</guid><category><![CDATA[true stories]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sat, 16 Apr 2022 09:46:49 GMT</pubDate><media:content url="https://badtry.net/content/images/2022/04/Ukraine.png" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2022/04/Ukraine.png" alt="&#x41E;&#x441;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x439; &#x432;&#x456;&#x43D;, &#x440;&#x443;&#x441;&#x44C;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;"><p>&quot;&#x420;&#x443;&#x441;&#x44C;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;&quot; - &#x437;&#x432;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x443;&#x436;&#x435; &#x441;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x442;&#x430; &#x432;&#x438;&#x43F;&#x440;&#x430;&#x432;&#x434;&#x43E;&#x432;&#x443;&#x44E;&#x447;&#x435;. &#x413;&#x430;&#x440;&#x43D;&#x430; &#x43E;&#x431;&#x433;&#x43E;&#x440;&#x442;&#x43A;&#x430; &#x432;&#x438;&#x43F;&#x440;&#x430;&#x432;&#x434;&#x430;&#x43D;&#x43D;&#x44F; &#x441;&#x43B;&#x430;&#x431;&#x43A;&#x43E;&#x441;&#x442;&#x456;, &#x430;&#x43C;&#x43E;&#x440;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x456; &#x442;&#x430; &#x43D;&#x456;&#x43A;&#x447;&#x435;&#x43C;&#x43D;&#x43E;&#x441;&#x442;&#x456; &#x441;&#x432;&#x43E;&#x457;&#x445; &#x434;&#x456;&#x439;&#x441;&#x43D;&#x438;&#x445; &#x43D;&#x430;&#x43C;&#x456;&#x440;&#x456;&#x432;. &#x420;&#x443;&#x441;&#x44C;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;, &#x44F;&#x43A;&#x438;&#x439; &#x434;&#x443;&#x436;&#x435; &#x441;&#x43E;&#x43B;&#x43E;&#x434;&#x43A;&#x43E; &#x437;&#x432;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x456;&#x445;, &#x445;&#x442;&#x43E; &#x445;&#x43E;&#x447;&#x435; &#x437;&#x430;&#x43A;&#x440;&#x438;&#x442;&#x438; &#x43E;&#x447;&#x456; &#x43D;&#x430; &#x444;&#x430;&#x43A;&#x442; &#x43F;&#x43E;&#x432;&#x43D;&#x43E;&#x43C;&#x430;&#x441;&#x448;&#x442;&#x430;&#x431;&#x43D;&#x43E;&#x457; &#x432;&#x456;&#x439;&#x43D;&#x438;. &#x414;&#x443;&#x436;&#x435; &#x434;&#x43E;&#x431;&#x440;&#x435; &#x432;&#x438;&#x43F;&#x440;&#x430;&#x432;&#x434;&#x430;&#x43D;&#x43D;&#x44F; &#x432;&#x431;&#x438;&#x432;&#x441;&#x442;&#x432;&#x430; &#x434;&#x43B;&#x44F; &#x43A;&#x443;&#x43F;&#x43A;&#x438; &#x437;&#x432;&#x456;&#x440;&#x456;&#x432;. &#x412;&#x442;&#x456;&#x43C;, &#x446;&#x435; &#x436; &#x440;&#x43E;&#x441;&#x456;&#x44F;, &#x432; &#x44F;&#x43A;&#x456;&#x439; &#x432;&#x441;&#x435; &#x432;&#x438;&#x433;&#x43B;&#x44F;&#x434;&#x430;&#x454; &#x43B;&#x43E;&#x433;&#x456;&#x447;&#x43D;&#x43E; &#x437;&#x43E;&#x432;&#x43D;&#x456;, &#x433;&#x43D;&#x438;&#x43B;&#x43E; &#x437;&#x441;&#x435;&#x440;&#x435;&#x434;&#x438;&#x43D;&#x438;.</p>
<p>&#x420;&#x43E;&#x441;&#x456;&#x44F;&#x43D;&#x438; &#x437;&#x43D;&#x430;&#x44E;&#x442;&#x44C;, &#x44F;&#x43A; &#x446;&#x435;, &#x440;&#x435;&#x43F;&#x440;&#x435;&#x441;&#x456;&#x457;, &#x437;&#x430;&#x440;&#x430;&#x434;&#x438; &quot;&#x43C;&#x438;&#x440;&#x443;&quot;. &#x42F;&#x43A; &#x446;&#x435;, &#x437;&#x43D;&#x438;&#x449;&#x435;&#x43D;&#x43D;&#x44F; &#x43E;&#x43F;&#x43E;&#x437;&#x438;&#x446;&#x438;&#x438;, &#x437;&#x430;&#x440;&#x430;&#x434;&#x438; &quot;&#x431;&#x43B;&#x430;&#x433;&#x43E;&#x457; &#x446;&#x456;&#x43B;&#x456; &#x442;&#x430; &#x440;&#x43E;&#x437;&#x446;&#x432;&#x456;&#x442;&#x443; &#x43A;&#x440;&#x430;&#x457;&#x43D;&#x438;&quot;. &#x412;&#x438; &#x432;&#x441;&#x435; &#x43F;&#x440;&#x435;&#x43A;&#x440;&#x430;&#x441;&#x43D;&#x43E; &#x440;&#x43E;&#x437;&#x443;&#x43C;&#x457;&#x454;&#x442;&#x435;, &#x430;&#x43B;&#x435; &#x43D;&#x435; &#x445;&#x43E;&#x447;&#x435; &#x43F;&#x440;&#x438;&#x439;&#x43C;&#x430;&#x442;&#x438; &#x442;&#x443; &#x43F;&#x440;&#x430;&#x432;&#x434;&#x443;, &#x44F;&#x43A;&#x443; &#x43A;&#x43E;&#x457;&#x442;&#x435; &#x432;&#x43B;&#x430;&#x441;&#x43D;&#x43E;&#x440;&#x443;&#x447;. &#x412;&#x438; &#x431;&#x43E;&#x457;&#x442;&#x435;&#x441;&#x44F; &#x431;&#x443;&#x442;&#x438; &#x447;&#x435;&#x441;&#x43D;&#x438;&#x43C; &#x43F;&#x435;&#x440;&#x435;&#x434; &#x441;&#x43E;&#x431;&#x43E;&#x44E;, &#x449;&#x43E; &#x446;&#x44F; &#x432;&#x456;&#x439;&#x43D;&#x430; - &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442; &#x434;&#x456;&#x439; &#x43A;&#x43E;&#x436;&#x43D;&#x43E;&#x433;&#x43E; &#x440;&#x43E;&#x441;&#x456;&#x44F;&#x43D;&#x438;&#x43D;&#x430;: &#x43C;&#x430;&#x442;&#x435;&#x440;&#x456;, &#x441;&#x438;&#x43D;&#x430;, &#x431;&#x430;&#x442;&#x44C;&#x43A;&#x430;, &#x434;&#x440;&#x443;&#x436;&#x438;&#x43D;&#x438;.</p>
<p>&#x412;&#x438; &#x446;&#x435; &#x432;&#x441;&#x435; &#x43F;&#x440;&#x435;&#x43A;&#x440;&#x430;&#x441;&#x43D;&#x43E; &#x440;&#x43E;&#x437;&#x443;&#x43C;&#x456;&#x454;&#x442;&#x435;, &#x430;&#x43B;&#x435; &#x434;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x443;&#x454;&#x442;&#x435;&#x441;&#x44C; &#x432;&#x438;&#x433;&#x456;&#x434;&#x43D;&#x43E;&#x457; &#x43F;&#x43E;&#x437;&#x438;&#x446;&#x456;&#x457;. &#x410;&#x43B;&#x435; &#x446;&#x44F; &#x43A;&#x440;&#x43E;&#x432; &#x43D;&#x430; &#x432;&#x430;&#x448;&#x438;&#x445; &#x440;&#x443;&#x43A;&#x430;&#x445;. &#x42F;&#x43A; &#x442;&#x43E; &#x436;&#x438;&#x442;&#x438; &#x437; &#x446;&#x438;&#x43C; &#x432;&#x456;&#x434;&#x447;&#x443;&#x442;&#x442;&#x44F;&#x43C;?</p>
<p><img src="https://badtry.net/content/images/2022/04/photo_2022-03-04_09-34-51-2-983x655.jpg" alt="&#x41E;&#x441;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x439; &#x432;&#x456;&#x43D;, &#x440;&#x443;&#x441;&#x44C;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;" loading="lazy"></p>
<p>&#x412;&#x430;&#x448; &#x43C;&#x438;&#x440; &#x43F;&#x440;&#x43E; &#x442;&#x435; &#x449;&#x43E; &#x440;&#x43E;&#x441;&#x456;&#x44F; &#x432;&#x442;&#x43E;&#x440;&#x433;&#x43B;&#x430;&#x441;&#x44F; &#x442;&#x430; &#x43F;&#x440;&#x438;&#x43D;&#x435;&#x441;&#x43B;&#x430; &#x432;&#x456;&#x439;&#x43D;&#x443; &#x43D;&#x430; &#x43D;&#x430;&#x448;&#x443; &#x437;&#x435;&#x43C;&#x43B;&#x44E;.<br>
&#x412;&#x438;, &#x43E;&#x440;&#x43A;&#x438;, &#x43A;&#x430;&#x436;&#x435;&#x442;&#x435; &#x449;&#x43E; &#x43F;&#x440;&#x438;&#x439;&#x448;&#x43B;&#x438; &#x43F;&#x440;&#x438;&#x43D;&#x435;&#x441;&#x442;&#x438; &#x43C;&#x438;&#x440;.<br>
&#x410;&#x43B;&#x435; &#x43C;&#x438;&#x440; &#x432;&#x456;&#x439;&#x43D;&#x43E;&#x44E; &#x43D;&#x435; &#x434;&#x43E;&#x441;&#x44F;&#x433;&#x430;&#x454;&#x442;&#x44C;&#x441;&#x44F;.<br>
&#x422;&#x438;&#x43F; &#x43F;&#x430;&#x447;&#x435;, &#x441;&#x43E;&#x431;&#x430;&#x447;&#x438;&#x439; &#x43C;&#x438;&#x440;.</p>
<p>&#x41C;&#x438;&#x440;, &#x432; &#x44F;&#x43A;&#x43E;&#x43C;&#x443; &#x43E;&#x434;&#x43D;&#x443; &#x43F;&#x43E;&#x43B;&#x43E;&#x432;&#x438;&#x43D;&#x443; &#x43C;&#x456;&#x441;&#x442;&#x430; &#x431;&#x43E;&#x43C;&#x431;&#x43B;&#x44F;&#x442;&#x44C; &#x440;&#x430;&#x43A;&#x435;&#x442;&#x438;.<br>
&#x41C;&#x438;&#x440;, &#x432; &#x44F;&#x43A;&#x43E;&#x43C;&#x443; &#x456;&#x43D;&#x448;&#x443; &#x43F;&#x43E;&#x43B;&#x43E;&#x432;&#x438;&#x43D;&#x443; &#x43C;&#x456;&#x441;&#x442;&#x430; &#x440;&#x43E;&#x437;&#x433;&#x440;&#x430;&#x431;&#x43B;&#x44F;&#x44E;&#x442;&#x44C; &#x43C;&#x430;&#x440;&#x43E;&#x434;&#x435;&#x440;&#x438;.<br>
&#x41C;&#x438;&#x440;, &#x432; &#x44F;&#x43A;&#x43E;&#x43C;&#x443; &#x43D;&#x435; &#x43F;&#x440;&#x430;&#x446;&#x44E;&#x454; &#x456;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x43D;&#x435;&#x442; &#x442;&#x430; &#x437;&#x432;&apos;&#x44F;&#x437;&#x43E;&#x43A;, &#x449;&#x43E;&#x434; &#x437;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x444;&#x43E;&#x43D;&#x443;&#x432;&#x430;&#x442;&#x438; &#x440;&#x456;&#x434;&#x43D;&#x438;&#x43C;.<br>
&#x41C;&#x438;&#x440;, &#x432; &#x44F;&#x43A;&#x43E;&#x43C;&#x443; &#x437;&apos;&#x44F;&#x432;&#x43B;&#x44F;&#x454;&#x442;&#x44C;&#x441;&#x44F; &#x41B;&#x443;&#x433;&#x430;&#x43D;&#x435;&#x442;, &#x430;&#x43B;&#x435; &#x437;&#x43D;&#x438;&#x43A;&#x430;&#x454; &#x447;&#x435;&#x441;&#x442;&#x44C; &#x456; &#x433;&#x456;&#x434;&#x43D;&#x456;&#x441;&#x442;&#x44C; &#x43A;&#x43E;&#x436;&#x43D;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43F;&#x43B;&#x456;&#x447;&#x43D;&#x438;&#x43A;&#x430; &#x432;&#x456;&#x439;&#x43D;&#x438;.<br>
&#x41C;&#x438;&#x440;, &#x432; &#x44F;&#x43A;&#x43E;&#x43C;&#x443; &#x431;&#x43E;&#x43C;&#x431;&#x430;&#x440;&#x434;&#x443;&#x44E;&#x442;&#x44C; &#x43F;&#x43E;&#x43B;&#x43E;&#x433;&#x43E;&#x432;&#x438;&#x439; &#x431;&#x443;&#x434;&#x438;&#x43D;&#x43E;&#x43A;, &#x448;&#x43A;&#x43E;&#x43B;&#x443; &#x442;&#x430; &#x43B;&#x456;&#x43A;&#x430;&#x440;&#x43D;&#x44E;.<br>
&#x41C;&#x438;&#x440;, &#x432; &#x44F;&#x43A;&#x43E;&#x43C;&#x443; &#x43B;&#x44E;&#x434;&#x438; &#x445;&#x43E;&#x434;&#x44F;&#x442;&#x44C; &#x432; &#x433;&#x43E;&#x441;&#x442;&#x456; &#x434;&#x43E; &#x431;&#x43E;&#x43C;&#x431;&#x43E;&#x441;&#x445;&#x43E;&#x432;&#x438;&#x449;.<br>
&#x41C;&#x438;&#x440;, &#x432; &#x44F;&#x43A;&#x43E;&#x43C;&#x443; &#x436;&#x456;&#x43D;&#x43A;&#x438; &#x440;&#x43E;&#x441;&#x456;&#x439;&#x441;&#x44C;&#x43A;&#x438;&#x445; &#x432;&#x43E;&#x457;&#x43D;&#x456;&#x432; &#x43F;&#x440;&#x43E;&#x441;&#x44F;&#x442;&#x44C; &#x432;&#x43A;&#x440;&#x430;&#x441;&#x442;&#x438; &#x441; &#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x438; &#x43D;&#x43E;&#x432;&#x438;&#x439; &#x43D;&#x43E;&#x443;&#x442;&#x431;&#x443;&#x43A;. &#x41D;&#x430;&#x447;&#x435;&#x431;&#x442;&#x43E; &#x446;&#x435; &#x43F;&#x43E;&#x457;&#x437;&#x434;&#x43A;&#x430; &#x434;&#x43E; &#x441;&#x443;&#x43F;&#x435;&#x440;&#x43C;&#x430;&#x440;&#x43A;&#x435;&#x442;&#x443;.<br>
&#x410; &#x432;&#x430;&#x43C; &#x43F;&#x43E;&#x442;&#x440;&#x456;&#x431;&#x435;&#x43D; &#x442;&#x430;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;?</p>
<p><img src="https://badtry.net/content/images/2022/04/b3adb88-mariupol-likarnya.jpg" alt="&#x41E;&#x441;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x439; &#x432;&#x456;&#x43D;, &#x440;&#x443;&#x441;&#x44C;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;" loading="lazy"></p>
<p>&#x410;&#x43B;&#x435; &#x446;&#x435;&#x439; &#x43F;&#x43E;&#x441;&#x442; &#x437;&#x43E;&#x432;&#x441;&#x456;&#x43C; &#x41D;&#x415; &#x43F;&#x440;&#x43E; &#x43C;&#x438;&#x440;.<br>
&#x426;&#x435;&#x439; &#x43F;&#x43E;&#x441;&#x442; &#x43F;&#x440;&#x43E; &#x43D;&#x435;&#x43D;&#x430;&#x432;&#x438;&#x441;&#x442;&#x44C; &#x434;&#x43E; &#x432;&#x441;&#x456;&#x445; &#x43F;&#x440;&#x438;&#x447;&#x435;&#x442;&#x43D;&#x438;&#x445; &#x432; &#x432;&#x456;&#x439;&#x43D;&#x456; &#x432; &#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x456;.<br>
&#x41D;&#x435;&#x43D;&#x430;&#x432;&#x438;&#x434;&#x436;&#x443; &#x432;&#x430;&#x441; &#x441;&#x442;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x440;&#x430;&#x437;&#x456;&#x432;, &#x441;&#x43A;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x440;&#x430;&#x43A;&#x435;&#x442; &#x442;&#x430; &#x43A;&#x443;&#x43B;&#x44C; &#x431;&#x443;&#x43B;&#x43E; &#x432;&#x438;&#x43F;&#x443;&#x449;&#x435;&#x43D;&#x43E; &#x432;&#x430;&#x43C;&#x438;.<br>
&#x41D;&#x435;&#x43D;&#x430;&#x432;&#x438;&#x434;&#x436;&#x443; &#x432;&#x430;&#x441; &#x441;&#x442;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x440;&#x430;&#x437;&#x456;&#x432;, &#x441;&#x43A;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x43B;&#x44E;&#x434;&#x435;&#x439; &#x431;&#x443;&#x43B;&#x438; &#x437;&#x43C;&#x443;&#x448;&#x435;&#x43D;&#x456; &#x43F;&#x43E;&#x43A;&#x438;&#x43D;&#x443;&#x43B;&#x438; &#x441;&#x432;&#x43E;&#x457; &#x431;&#x443;&#x434;&#x438;&#x43D;&#x43A;&#x438;.<br>
&#x41D;&#x435;&#x43D;&#x430;&#x432;&#x438;&#x434;&#x436;&#x443; &#x432;&#x430;&#x441; &#x441;&#x442;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x436;, &#x441;&#x43A;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x43B;&#x44E;&#x434;&#x435;&#x439; &#x43D;&#x435; &#x43C;&#x43E;&#x436;&#x443;&#x442;&#x44C; &#x43F;&#x43E;&#x43A;&#x438;&#x43D;&#x443;&#x442;&#x438; &#x441;&#x432;&#x43E;&#x457; &#x434;&#x43E;&#x43C;&#x456;&#x432;&#x43A;&#x438; &#x447;&#x435;&#x440;&#x435;&#x437; &#x43E;&#x431;&#x441;&#x442;&#x440;&#x456;&#x43B;&#x438;.<br>
&#x41D;&#x435;&#x43D;&#x430;&#x432;&#x438;&#x434;&#x436;&#x443; &#x437;&#x430; &#x442;&#x435;, &#x449;&#x43E; &#x432;&#x438; &#x43D;&#x430;&#x437;&#x438;&#x432;&#x430;&#x44E;&#x447;&#x438;&#x441;&#x44C; &#x431;&#x440;&#x430;&#x442;&#x43D;&#x456;&#x43C; &#x43D;&#x430;&#x440;&#x43E;&#x434;&#x43E;&#x43C;, &#x445;&#x43E;&#x432;&#x430;&#x43B;&#x438; &#x430;&#x432;&#x442;&#x43E;&#x43C;&#x430;&#x442; &#x437;&#x430; &#x441;&#x43F;&#x438;&#x43D;&#x43E;&#x44E;.<br>
&#x41D;&#x435;&#x43D;&#x430;&#x432;&#x438;&#x434;&#x436;&#x443; &#x43A;&#x43E;&#x436;&#x43D;&#x43E;&#x457; &#x445;&#x432;&#x438;&#x43B;&#x438;&#x43D;&#x438;, &#x437;&#x430; &#x442;&#x43E;&#x439; &#x432;&#x438;&#x431;&#x456;&#x440;, &#x449;&#x43E; &#x432;&#x438; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x432;&#x436;&#x443;&#x454;&#x442;&#x435; &#x440;&#x43E;&#x431;&#x438;&#x442;&#x438;.<br>
&#x412;&#x438; &#x43D;&#x435; &#x437;&#x430;&#x441;&#x43B;&#x443;&#x433;&#x43E;&#x432;&#x443;&#x454;&#x442;&#x435; &#x431;&#x443;&#x442;&#x438; &#x43D;&#x430; &#x446;&#x456;&#x439; &#x437;&#x435;&#x43C;&#x43B;&#x456;. &#x412;&#x438; &#x43D;&#x456;&#x43A;&#x447;&#x435;&#x43C;&#x43D;&#x456;.<br>
&#x41D;&#x435;&#x43D;&#x430;&#x432;&#x438;&#x434;&#x436;&#x443;, &#x456; &#x43C;&#x435;&#x43D;&#x456; &#x432;&#x430;&#x441; &#x43D;&#x435; &#x448;&#x43A;&#x43E;&#x434;&#x430;. &#x428;&#x43A;&#x43E;&#x434;&#x430;, &#x449;&#x43E; &#x432;&#x438; &#x437;&#x430;&#x439;&#x448;&#x43B;&#x438; &#x442;&#x430;&#x43A; &#x434;&#x430;&#x43B;&#x435;&#x43A;&#x43E;, &#x430;&#x43B;&#x435; &#x432;&#x441;&#x435; &#x43E;&#x434;&#x43D;&#x43E; &#x43D;&#x430;&#x441; &#x442;&#x430;&#x43A; &#x456; &#x43D;&#x435; &#x437;&#x440;&#x43E;&#x437;&#x443;&#x43C;&#x456;&#x43B;&#x438;.<br>
&#x412;&#x438; &#x43F;&#x440;&#x438;&#x439;&#x448;&#x43B;&#x438; &#x441;&#x44E;&#x434;&#x438;, &#x449;&#x43E;&#x431; &#x449;&#x43E;&#x441;&#x44C; &#x443; &#x43D;&#x430;&#x441; &#x437;&#x430;&#x431;&#x440;&#x430;&#x442;&#x438;. &#x410;&#x43B;&#x435;, &#x442;&#x435;, &#x447;&#x43E;&#x433;&#x43E; &#x432;&#x430;&#x43C; &#x431;&#x440;&#x430;&#x43A;&#x443;&#x454; - &#x437;&#x430;&#x431;&#x440;&#x430;&#x442;&#x438; &#x43D;&#x435;&#x43C;&#x43E;&#x436;&#x43B;&#x438;&#x432;&#x43E;.<br>
&#x421;&#x430;&#x43C;&#x435; &#x456;&#x440;&#x43E;&#x43D;&#x456;&#x447;&#x43D;&#x435; &#x442;&#x435;, &#x449;&#x43E; &#x446;&#x44F; &#x432;&#x456;&#x439;&#x43D;&#x430; &#x437;&#x430;&#x43A;&#x456;&#x43D;&#x447;&#x438;&#x442;&#x44C;&#x441;&#x44F;, &#x430; &#x432;&#x438; &#x443;&#x439;&#x43E;&#x431;&#x43A;&#x430;&#x43C;&#x438; &#x442;&#x430;&#x43A; &#x456; &#x437;&#x430;&#x43B;&#x438;&#x448;&#x438;&#x442;&#x435;&#x441;&#x44C; &#x43D;&#x430; &#x432;&#x441;&#x435; &#x436;&#x438;&#x442;&#x442;&#x44F;.<br>
&#x413;&#x430;&#x43D;&#x44C;&#x431;&#x430; - &#x431;&#x443;&#x442;&#x438; &#x442;&#x430;&#x43A;&#x438;&#x43C; &#x440;&#x43E;&#x441;&#x456;&#x44F;&#x43D;&#x438;&#x43D;&#x43E;&#x43C;.<br>
&#x412;&#x430;&#x43C; &#x446;&#x44C;&#x43E;&#x433;&#x43E; &#x43D;&#x456;&#x445;&#x442;&#x43E; &#x43D;&#x456;&#x43A;&#x43E;&#x43B;&#x438; &#x43D;&#x435; &#x43F;&#x440;&#x43E;&#x431;&#x430;&#x447;&#x438;&#x442;&#x44C;.</p>
<p><img src="https://badtry.net/content/images/2022/04/-----------artist---------------------2022----------7262987.jpeg" alt="&#x41E;&#x441;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x439; &#x432;&#x456;&#x43D;, &#x440;&#x443;&#x441;&#x44C;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;" loading="lazy"></p>
<p>&#x425;&#x456;&#x431;&#x430; &#x43E;&#x434;&#x438;&#x43D; &#x431;&#x43E;&#x436;&#x435;&#x432;&#x456;&#x43B;&#x44C;&#x43D;&#x438;&#x439; &#x43C;&#x43E;&#x436;&#x435; &#x442;&#x430;&#x43A; &#x434;&#x435;&#x448;&#x435;&#x432;&#x43E; &#x440;&#x43E;&#x437;&#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x436;&#x430;&#x442;&#x438;&#x441;&#x44F; &#x432;&#x430;&#x448;&#x438;&#x43C;&#x438; &#x436;&#x438;&#x442;&#x442;&#x44F;&#x43C;&#x438;, &#x43D;&#x430;&#x447;&#x435;&#x431;&#x442;&#x43E; &#x432;&#x43E;&#x43D;&#x438; &#x43D;&#x456;&#x447;&#x43E;&#x433;&#x43E; &#x456; &#x43D;&#x435; &#x432;&#x430;&#x440;&#x442;&#x456;? &#x425;&#x43E;&#x447;&#x430;, &#x43C;&#x430;&#x431;&#x443;&#x442;&#x44C;, &#x436;&#x438;&#x442;&#x442;&#x44F; &#x442;&#x438;&#x445;, &#x445;&#x442;&#x43E; &#x441;&#x432;&#x456;&#x434;&#x43E;&#x43C;&#x43E; &#x439;&#x434;&#x435; &quot;&#x447;&#x442;&#x43E;&#x431; &#x43F;&#x43E;&#x441;&#x442;&#x440;&#x435;&#x43B;&#x44F;&#x442;&#x44C;&quot;, &#x434;&#x456;&#x439;&#x441;&#x43D;&#x43E;, &#x43D;&#x456;&#x447;&#x43E;&#x433;&#x43E; &#x43D;&#x435; &#x432;&#x430;&#x440;&#x442;&#x456;.</p>
<p><strong>&#x412;&#x430;&#x448;&#x456; &#x434;&#x456;&#x457; &#x432;&#x431;&#x438;&#x43B;&#x438; &#x43C;&#x43E;&#x44E; &#x432;&#x456;&#x440;&#x443; &#x432; &#x43B;&#x44E;&#x434;&#x441;&#x442;&#x432;&#x43E;.</strong></p>
<p>&#x417;&#x440;&#x430;&#x434;&#x430; - &#x446;&#x435; &#x437;&#x430;&#x432;&#x436;&#x434;&#x438; &#x431;&#x43E;&#x43B;&#x44F;&#x447;&#x435;. &#x41F;&#x440;&#x43E;&#x442;&#x435; &#x456; &#x446;&#x435; &#x43C;&#x438; &#x43F;&#x435;&#x440;&#x435;&#x436;&#x438;&#x432;&#x435;&#x43C;&#x43E;. &#x412;&#x438; &#x431; &#x442;&#x456;&#x43B;&#x44C;&#x43A;&#x438; &#x437;&#x43D;&#x430;&#x43B;&#x438;, &#x44F;&#x43A;&#x456; &#x43B;&#x44E;&#x434;&#x438; &#x436;&#x438;&#x432;&#x443;&#x442;&#x44C; &#x432; &#x446;&#x456;&#x439; &#x43A;&#x440;&#x430;&#x457;&#x43D;&#x456;. &#x42F;&#x43A;&#x431;&#x438; &#x432;&#x438; &#x445;&#x43E;&#x447; &#x43D;&#x430;&#x43F;&#x43E;&#x43B;&#x43E;&#x432;&#x438;&#x43D;&#x443; &#x431;&#x443;&#x43B;&#x438; &#x441;&#x445;&#x43E;&#x436;&#x438;&#x43C;&#x438; &#x43D;&#x430; &#x43B;&#x44E;&#x434;&#x435;&#x439; &#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x438;, &#x442;&#x43E; &#x432;&#x436;&#x435; &#x434;&#x430;&#x432;&#x43D;&#x43E; &#x431; &#x437;&#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x441;&#x442;&#x430;&#x442;&#x438; &#x449;&#x430;&#x441;&#x43B;&#x438;&#x432;&#x438;&#x43C;&#x438;.</p>
<p>&#x412; &#x442;&#x430;&#x43A;&#x456; &#x441;&#x43A;&#x440;&#x443;&#x442;&#x43D;&#x456; &#x447;&#x430;&#x441;&#x438;, &#x456; &#x43F;&#x43E;&#x447;&#x438;&#x43D;&#x430;&#x435;&#x448;&#x44C; &#x440;&#x43E;&#x437;&#x443;&#x43C;&#x456;&#x442;&#x438;, &#x449;&#x43E; &#x437;&#x430; &#x43B;&#x44E;&#x434;&#x438; &#x442;&#x435;&#x431;&#x435; &#x43E;&#x442;&#x43E;&#x447;&#x443;&#x44E;&#x442;&#x44C;.<br>
&#x406; &#x442;&#x435;&#x43F;&#x435;&#x440; &#x44F; &#x440;&#x43E;&#x437;&#x443;&#x43C;&#x456;&#x44E;, &#x44F;&#x43A; &#x446;&#x435;, &#x431;&#x443;&#x442;&#x438; &#x43D;&#x430;&#x432;&#x43A;&#x43E;&#x43B;&#x43E; &#x41B;&#x44E;&#x434;&#x435;&#x439;, &#x41B;&#x44E;&#x434;&#x435;&#x439; &#x437; &#x432;&#x435;&#x43B;&#x438;&#x43A;&#x43E;&#x457; &#x43B;&#x456;&#x442;&#x435;&#x440;&#x438;.<br>
&#x41B;&#x44E;&#x434;&#x435;&#x439;, &#x43A;&#x43E;&#x442;&#x440;&#x456; &#x437;&#x430;&#x445;&#x438;&#x449;&#x430;&#x44E;&#x442;&#x44C;, &#x435;&#x432;&#x430;&#x43A;&#x443;&#x44E;&#x44E;&#x442;&#x44C;, &#x437;&#x434;&#x430;&#x44E;&#x442;&#x44C; &#x43A;&#x440;&#x43E;&#x432;, &#x432;&#x43E;&#x43B;&#x43E;&#x43D;&#x442;&#x435;&#x440;&#x44F;&#x442;&#x44C;, &#x440;&#x44F;&#x442;&#x443;&#x44E;&#x442;&#x44C; &#x442;&#x432;&#x430;&#x440;&#x438;&#x43D;, &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x432;&#x436;&#x443;&#x44E;&#x442;&#x44C; &#x43F;&#x440;&#x430;&#x446;&#x44E;&#x432;&#x430;&#x442;&#x438;.<br>
&#x41B;&#x44E;&#x434;&#x435;&#x439;, &#x449;&#x43E; &#x43D;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x441;&#x442;&#x430;&#x44E;&#x442;&#x44C; &#x432;&#x456;&#x440;&#x438;&#x442;&#x438; &#x456; &#x432;&#x441;&#x435;&#x43B;&#x44F;&#x442;&#x438; &#x432;&#x456;&#x440;&#x443;, &#x44F;&#x43A; &#x431;&#x438; &#x432;&#x430;&#x436;&#x43A;&#x43E; &#x437;&#x430;&#x440;&#x430;&#x437; &#x446;&#x435; &#x43D;&#x435; &#x431;&#x443;&#x43B;&#x43E;.<br>
&#x41B;&#x44E;&#x434;&#x435;&#x439;, &#x449;&#x43E; &#x434;&#x43E;&#x43F;&#x43E;&#x43C;&#x430;&#x433;&#x430;&#x44E;&#x442;&#x44C; &#x43E;&#x434;&#x438;&#x43D; &#x43E;&#x434;&#x43D;&#x43E;&#x43C;&#x443;: &#x457;&#x436;&#x435;&#x44E;, &#x43E;&#x441;&#x435;&#x43B;&#x435;&#x44E;, &#x441;&#x43B;&#x43E;&#x432;&#x43E;&#x43C;.<br>
&#x41A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x456;&#x44F;&#x43C;, &#x449;&#x43E; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x432;&#x436;&#x443;&#x44E;&#x442;&#x44C; &#x43F;&#x440;&#x430;&#x446;&#x44E;&#x432;&#x430;&#x442;&#x438;, &#x43F;&#x43B;&#x430;&#x442;&#x438;&#x442;&#x438; &#x43F;&#x43E;&#x434;&#x430;&#x442;&#x43A;&#x438; &#x442;&#x430; &#x43F;&#x456;&#x434;&#x442;&#x440;&#x438;&#x43C;&#x443;&#x432;&#x430;&#x442;&#x438; &#x435;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x456;&#x43A;&#x443; &#x43A;&#x440;&#x430;&#x457;&#x43D;&#x443;.<br>
&#x41F;&#x438;&#x448;&#x430;&#x44E;&#x441;&#x44F; &#x432;&#x430;&#x43C;&#x438;. &#x41E;&#x442;&#x430;&#x43A;&#x456; &#x432;&#x438;, &#x441;&#x443;&#x43F;&#x435;&#x440;&#x433;&#x435;&#x440;&#x43E;&#x457; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x432;&#x456;&#x442;&#x443;.</p>
<p>&#x41C;&#x435;&#x43D;&#x456; &#x43F;&#x43E;&#x449;&#x430;&#x441;&#x442;&#x438;&#x43B;&#x43E; &#x43D;&#x430;&#x440;&#x43E;&#x434;&#x438;&#x442;&#x438;&#x441;&#x44F; &#x432; &#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x456;. &#x42F; &#x43F;&#x438;&#x448;&#x430;&#x44E;&#x441;&#x44F; &#x43A;&#x43E;&#x436;&#x43D;&#x438;&#x43C; &#x437; &#x432;&#x430;&#x441;.<br>
&#x417;&#x430;&#x432;&#x434;&#x44F;&#x43A;&#x438; &#x432;&#x430;&#x43C; &#x43C;&#x43E;&#x44F; &#x432;&#x456;&#x440;&#x430; &#x432; &#x43B;&#x44E;&#x434;&#x441;&#x442;&#x432;&#x43E; &#x43F;&#x43E;&#x432;&#x435;&#x440;&#x43D;&#x443;&#x43B;&#x430;&#x441;&#x44F; &#x437;&#x43D;&#x43E;&#x432;&#x443;.</p>
<p>&#x426;&#x435; &#x43C;&#x456;&#x439; &#x43F;&#x435;&#x440;&#x448;&#x438;&#x439; &#x43F;&#x43E;&#x441;&#x442; &#x43D;&#x430; &#x443;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x441;&#x44C;&#x43A;&#x456;&#x439; &#x43C;&#x43E;&#x432;&#x456;.<br>
&#x41F;&#x43E;&#x441;&#x442; &#x43D;&#x435; &#x43F;&#x440;&#x43E; &#x442;&#x435;, &#x449;&#x43E;&#x431; &#x43F;&#x435;&#x440;&#x435;&#x43A;&#x43E;&#x43D;&#x430;&#x442;&#x438; &#x43A;&#x43E;&#x433;&#x43E;&#x441;&#x44C; &#x43F;&#x43E;&#x447;&#x430;&#x442;&#x438; &#x440;&#x43E;&#x431;&#x438;&#x442;&#x438; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x456; &#x440;&#x435;&#x447;&#x456;. &#x414;&#x43B;&#x44F; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x438;&#x445; &#x440;&#x435;&#x447;&#x435;&#x439; &#x43D;&#x435; &#x43F;&#x43E;&#x442;&#x440;&#x456;&#x431;&#x43D;&#x43E; &#x43A;&#x43E;&#x433;&#x43E;&#x441;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x43A;&#x43E;&#x43D;&#x443;&#x432;&#x430;&#x442;&#x438;.<br>
&#x426;&#x435; &#x43F;&#x43E;&#x441;&#x442; &#x441;&#x430;&#x43C;&#x43E;&#x43C;&#x443; &#x441;&#x43E;&#x431;&#x456;.<br>
&#x429;&#x43E;&#x431; &#x43F;&#x430;&#x43C;&apos;&#x44F;&#x442;&#x430;&#x442;&#x438;...</p>
<p>&#x420;&#x430;&#x43D;&#x456;&#x448;&#x435; &#x44F; &#x43D;&#x435; &#x440;&#x43E;&#x437;&#x434;&#x456;&#x43B;&#x44F;&#x432; &#x443;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x446;&#x456;&#x432;, &#x440;&#x43E;&#x441;&#x456;&#x44F;&#x43D;. &#x42F; &#x43F;&#x43E;&#x432;&#x430;&#x436;&#x430;&#x432; &#x43A;&#x43E;&#x436;&#x43D;&#x43E;&#x433;&#x43E;. &#x411;&#x456;&#x43B;&#x44C;&#x448;&#x456;&#x441;&#x442;&#x44C; &#x43C;&#x43E;&#x454;&#x457; &#x430;&#x443;&#x434;&#x438;&#x442;&#x43E;&#x440;&#x456;&#x457; &#x431;&#x443;&#x43B;&#x430; &#x437; &#x440;&#x43E;&#x441;&#x456;&#x456;. &#x406; &#x431;&#x430;&#x433;&#x430;&#x442;&#x44C;&#x43E;&#x43C; &#x44F; &#x434;&#x43E;&#x43F;&#x456;&#x433;, &#x441;&#x442;&#x432;&#x43E;&#x440;&#x44E;&#x44E;&#x447;&#x438; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43D;&#x442;, &#x432;&#x456;&#x434;&#x43F;&#x43E;&#x432;&#x456;&#x434;&#x430;&#x44E;&#x447;&#x438; &#x43D;&#x430; &#x43F;&#x438;&#x442;&#x430;&#x43D;&#x43D;&#x44F; &#x43D;&#x430; &#x435;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x443; &#x43F;&#x43E;&#x448;&#x442;&#x443;. &#x410;&#x43B;&#x435; &#x432;&#x438; &#x432;&#x441;&#x456; &#x43D;&#x430;&#x441; &#x43E;&#x431;&#x434;&#x443;&#x440;&#x438;&#x43B;&#x438;. &#x41E;&#x431;&#x434;&#x443;&#x440;&#x438;&#x43B;&#x438; &#x447;&#x435;&#x440;&#x435;&#x437; &#x442;&#x435;, &#x449;&#x43E; &#x43C;&#x438; &#x434;&#x43E;&#x432;&#x456;&#x440;&#x44F;&#x43B;&#x438; &#x432;&#x430;&#x43C; &#x431;&#x456;&#x43B;&#x44C;&#x448;&#x435; &#x43D;&#x456;&#x436; &#x432;&#x438; &#x437;&#x430;&#x441;&#x43B;&#x443;&#x433;&#x43E;&#x432;&#x443;&#x454;&#x442;&#x435;.</p>
<p>&#x41E;&#x441;&#x44C;, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43A;&#x43B;&#x430;&#x434; &#x43B;&#x438;&#x441;&#x442; &#x432;&#x456;&#x434; &#x43E;&#x434;&#x43D;&#x43E;&#x433;&#x43E; &#x437; <s>&#x442;&#x432;&#x430;&#x440;&#x438;&#x43D;</s> &#x43F;&#x456;&#x434;&#x43F;&#x438;&#x441;&#x43D;&#x438;&#x43A;&#x456;&#x432;.<br>
<img src="https://badtry.net/content/images/2022/04/------------.png" alt="&#x41E;&#x441;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x439; &#x432;&#x456;&#x43D;, &#x440;&#x443;&#x441;&#x44C;&#x43A;&#x438;&#x439; &#x43C;&#x438;&#x440;" loading="lazy"> &#x422;&#x43E;&#x43C;&#x443;, &#x44F;&#x43A; &#x432;&#x438; &#x432;&#x436;&#x435; &#x434;&#x43E;&#x431;&#x440;&#x435; &#x437;&#x43D;&#x430;&#x454;&#x442;&#x435;: &quot;&#x420;&#x443;&#x441;&#x441;&#x43A;&#x438;&#x439; &#x432;&#x43E;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x440;&#x430;&#x431;&#x43B;&#x44C;, &#x438;&#x434;&#x438; &#x43D;&#x430;&#x445;&#x443;&#x439;&quot;.<br>
<br>&#x421;&#x43B;&#x430;&#x432;&#x430; &#x423;&#x43A;&#x440;&#x430;&#x457;&#x43D;&#x456;!</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Перехват запросов и ответов JavaScript Fetch API]]></title><description><![CDATA[Как настроить перехват AJAX запросов и ответов в нативной библиотеке fetch для JavaScript и NodeJs]]></description><link>https://badtry.net/pieriekhvat-zaprosov-i-otvietov-javascript-fetch-api/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2382</guid><category><![CDATA[JavaScript]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Wed, 16 Feb 2022 17:39:47 GMT</pubDate><media:content url="https://badtry.net/content/images/2022/02/jspreview.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2022/02/jspreview.jpg" alt="&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x438; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x43E;&#x432; JavaScript Fetch API"><p>&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; - &#x44D;&#x442;&#x43E; &#x431;&#x43B;&#x43E;&#x43A;&#x438; &#x43A;&#x43E;&#x434;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x435;&#x434;&#x432;&#x430;&#x440;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x438;&#x43B;&#x438; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x439; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438; HTTP-&#x432;&#x44B;&#x437;&#x43E;&#x432;&#x43E;&#x432;, &#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x44F; &#x432; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x435; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43E;&#x448;&#x438;&#x431;&#x43E;&#x43A;, &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;, &#x43B;&#x43E;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;, &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x442;&#x435;&#x43B;&#x430; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x438; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x43C; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x43C;. &#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x432;&#x44B; &#x443;&#x437;&#x43D;&#x430;&#x435;&#x442;&#x435;, <strong>&#x43A;&#x430;&#x43A; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x44B;</strong> JavaScript Fetch API.</p>
<p>&#x415;&#x441;&#x442;&#x44C; &#x434;&#x432;&#x430; &#x442;&#x438;&#x43F;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;, &#x434;&#x43B;&#x44F; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x437;&#x430;&#x445;&#x43E;&#x442;&#x435;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x438;&#x442;&#x44C; HTTP-&#x432;&#x44B;&#x437;&#x43E;&#x432;&#x44B;: &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;. &#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x431;&#x44B;&#x442;&#x44C; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D; &#x434;&#x43E; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43A;&#x438; &#x444;&#x430;&#x43A;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x433;&#x43E; HTTP-&#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;, &#x432; &#x442;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x43A;&#x430;&#x43A; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x431;&#x44B;&#x442;&#x44C; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D; &#x434;&#x43E; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A; &#x43E;&#x43D; &#x434;&#x43E;&#x441;&#x442;&#x438;&#x433;&#x43D;&#x435;&#x442; &#x43A;&#x43E;&#x434;&#x430; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;, &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x432;&#x448;&#x435;&#x433;&#x43E; &#x432;&#x44B;&#x437;&#x43E;&#x432;.</p>
<p>&#x41F;&#x440;&#x435;&#x436;&#x434;&#x435; &#x447;&#x435;&#x43C; &#x43F;&#x43E;&#x433;&#x440;&#x443;&#x437;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x432; &#x43A;&#x43E;&#x434;, &#x43D;&#x430;&#x43C; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432;&#x430;&#x436;&#x43D;&#x44B;&#x445; &#x444;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x43E;&#x432;. &#x412;&#x43E;-&#x43F;&#x435;&#x440;&#x432;&#x44B;&#x445;, <a href="https://developer.mozilla.org/docs/Web/API/Fetch_API?ref=badtry.net" target="_blank">Fetch API</a> <strong>&#x43D;&#x435; &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x438;&#x432;&#x430;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;</strong>. &#x41A;&#x440;&#x43E;&#x43C;&#x435; &#x442;&#x43E;&#x433;&#x43E;, &#x434;&#x43B;&#x44F; <a href="#nodejs">&#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; Fetch API</a> &#x432; Node.js &#x442;&#x440;&#x435;&#x431;&#x443;&#x44E;&#x442;&#x441;&#x44F; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43F;&#x430;&#x43A;&#x435;&#x442;&#x44B;.</p>
<h2 id="javascriptfetchapi">JavaScript Fetch API</h2>
<p>&#x421;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x44B; Fetch API, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x441;&#x438;&#x43D;&#x442;&#x430;&#x43A;&#x441;&#x438;&#x441;:</p>
<pre><code class="lang-js">const fetchResponsePromise = fetch(resource [, init])
</code></pre>
<br>
<p><code>resource</code> &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x44F;&#x435;&#x442; &#x440;&#x435;&#x441;&#x443;&#x440;&#x441;, &#x43A; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C;&#x443; &#x432;&#x44B; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;: &#x44D;&#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43B;&#x438;&#x431;&#x43E; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; Request, &#x43B;&#x438;&#x431;&#x43E; URL.<br>
<code>init</code> - &#x43D;&#x435;&#x43E;&#x431;&#x44F;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x431;&#x443;&#x434;&#x435;&#x442; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x443;&#x44E; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x441;&#x43A;&#x443;&#x44E; &#x43A;&#x43E;&#x43D;&#x444;&#x438;&#x433;&#x443;&#x440;&#x430;&#x446;&#x438;&#x44E;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x443;&#x44E; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x43A; &#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x43C;&#x443; &#x43A;&#x43E;&#x43D;&#x43A;&#x440;&#x435;&#x442;&#x43D;&#x43E;&#x43C;&#x443; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x443;.</p>
<p>Fetch API &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x430;&#x43D; &#x43D;&#x430; &#x43F;&#x440;&#x43E;&#x43C;&#x438;&#x441;&#x430;&#x445;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x44B; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>Fetch</code>, &#x432;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442;&#x435; &#x43F;&#x440;&#x43E;&#x43C;&#x438;&#x441; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;. &#x417;&#x434;&#x435;&#x441;&#x44C; &#x43E;&#x43D;&#x43E; &#x43E;&#x431;&#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43A;&#x430;&#x43A; <code>fetchResponsePromise</code>, &#x43A;&#x430;&#x43A; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E; &#x432; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x432;&#x44B;&#x448;&#x435;.</p>
<p>&#x41F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E; Fetch &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442; &#x43C;&#x435;&#x442;&#x43E;&#x434; GET &#x434;&#x43B;&#x44F; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x43E;&#x432; API, &#x43A;&#x430;&#x43A; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E; &#x43D;&#x438;&#x436;&#x435;:</p>
<pre><code class="lang-js">fetch(&apos;https://jsonplaceholder.typicode.com/todos/1&apos;)
    .then((response) =&gt; response.json())
    .then((json) =&gt; console.log(json))
</code></pre>
<br>
<p>&#x41D;&#x438;&#x436;&#x435; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; POST &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; Fetch:</p>
<pre><code class="lang-js">fetch(&apos;https://jsonplaceholder.typicode.com/todos&apos;, {
  method: &apos;POST&apos;,
  body: JSON.stringify({
    completed: false,
    id: 1,
    title: &apos;New Todo&apos;,
    userId: 1,
  }),
  headers: new Headers({
    &apos;Content-Type&apos;: &apos;application/json; charset=UTF-8&apos;,
  }),
})
    .then((response) =&gt; response.json())
    .then((json) =&gt; console.log(json))
</code></pre>
<br>
<p>POST &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; <strong>&#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x442;&#x435;&#x43B;&#x43E;</strong> (&#x442;.&#x435;. &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440; body). &#x412;&#x437;&#x433;&#x43B;&#x44F;&#x43D;&#x438;&#x442;&#x435; &#x43D;&#x430; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x44E; <a href="https://developer.mozilla.org/en-US/docs/Web/API/fetch?ref=badtry.net" target="_blank">Fetch</a> &#x434;&#x43B;&#x44F; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E;&#x439; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x438;.</p>
<h2 id>&#x420;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432;</h2>
<p>&#x415;&#x441;&#x442;&#x44C; &#x434;&#x432;&#x430; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x430; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x43A; &#x43D;&#x430;&#x448;&#x438;&#x43C; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x430;&#x43C; Fetch API; &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43B;&#x438;&#x431;&#x43E; &#x43E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x438;&#x439; &#x43F;&#x430;&#x442;&#x447;, &#x43B;&#x438;&#x431;&#x43E; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x443; <a href="https://github.com/werk85/fetch-intercept?ref=badtry.net" target="_blank">fetch-intercept</a>.</p>
<h3 id="fetch">&#x41E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x438;&#x439; &#x43F;&#x430;&#x442;&#x447;&#x438;&#x43D;&#x433; Fetch</h3>
<p>&#x41E;&#x434;&#x438;&#x43D; &#x438;&#x437; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x43E;&#x432; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x430; &#x434;&#x43B;&#x44F; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x438;&#x43B;&#x438; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; JavaScript - &#x44D;&#x442;&#x43E; <strong>&#x43E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x44C;&#x435; &#x438;&#x441;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435;</strong>. &#x41E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x44C;&#x435; &#x438;&#x441;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; - &#x44D;&#x442;&#x43E; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434; &#x43A; &#x43F;&#x435;&#x440;&#x435;&#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x438;&#x44E; &#x43E;&#x440;&#x438;&#x433;&#x438;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x432;&#x430;&#x448;&#x435;&#x439; &#x432;&#x435;&#x440;&#x441;&#x438;&#x438; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438;.</p>
<p>&#x414;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x448;&#x430;&#x433; &#x437;&#x430; &#x448;&#x430;&#x433;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x434;&#x43B;&#x44F; Fetch API &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x44C;&#x435;&#x433;&#x43E; &#x43F;&#x430;&#x442;&#x447;&#x430;:</p>
<pre><code class="lang-js">const { fetch: originalFetch } = window;

window.fetch = async (...args) =&gt; {
    let [resource, config ] = args;
    // &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x437;&#x434;&#x435;&#x441;&#x44C;
    const response = await originalFetch(resource, config);
    // &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x43E;&#x432; &#x437;&#x434;&#x435;&#x441;&#x44C;
    return response;
};
</code></pre>
<br>
<p>&#x41F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x432;&#x44B;&#x448;&#x435; &#x43A;&#x43E;&#x434; &#x43F;&#x435;&#x440;&#x435;&#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x44F;&#x435;&#x442; &#x438;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x44B;&#x439; &#x43C;&#x435;&#x442;&#x43E;&#x434; Fetch &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x441;&#x43A;&#x43E;&#x439; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x435;&#x439; &#x438; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x438;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x44B;&#x439; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>Fetch</code> &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x441;&#x435;&#x431;&#x44F;. &#x412;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; &#x448;&#x430;&#x431;&#x43B;&#x43E;&#x43D;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x434; &#x434;&#x43B;&#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x438; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x43E;&#x432;.</p>
<h4 id>&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;</h4>
<p>&#x412; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x43C;&#x44B; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x434;&#x438;&#x43C; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x439; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x44F;&#x435;&#x442; URL &#x440;&#x435;&#x441;&#x443;&#x440;&#x441;&#x430; &#x438;&#x43B;&#x43B;&#x44E;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438;:</p>
<pre><code class="lang-js">const { fetch: originalFetch } = window;
window.fetch = async (...args) =&gt; {
    let [resource, config ] = args;

    // &#x43D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x430; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;
    resource = &apos;https://jsonplaceholder.typicode.com/todos/2&apos;;
    // &#x43A;&#x43E;&#x43D;&#x435;&#x446; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x430; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;

    const response = await originalFetch(resource, config);

    // &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;
    return response;
};


fetch(&apos;https://jsonplaceholder.typicode.com/todos/1&apos;)
    .then((response) =&gt; response.json())
    .then((json) =&gt; console.log(json));

// log
// {
//   &quot;userId&quot;: 1,
//   &quot;id&quot;: 2,
//   &quot;title&quot;: &quot;quis ut nam facilis et officia qui&quot;,
//   &quot;completed&quot;: false
// }
</code></pre>
<br>
<p>&#x42D;&#x442;&#x43E;&#x442; &#x432;&#x44B;&#x437;&#x43E;&#x432; API &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x442;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x441; <a href="https://jsonplaceholder.typicode.com/todos/2?ref=badtry.net">https://jsonplaceholder.typicode.com/todos/2</a>, &#x430; &#x43D;&#x435; &#x441; <a href="https://jsonplaceholder.typicode.com/todos/1?ref=badtry.net">https://jsonplaceholder.typicode.com/todos/1</a>, &#x432; &#x447;&#x435;&#x43C; &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x443;&#x431;&#x435;&#x434;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x43F;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44E; &#x43F;&#x43E;&#x43B;&#x44F; ID, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x440;&#x430;&#x432;&#x43D;&#x43E; <strong>2</strong>.</p>
<blockquote>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;: &#x43E;&#x434;&#x43D;&#x438;&#x43C; &#x438;&#x437; &#x43D;&#x430;&#x438;&#x431;&#x43E;&#x43B;&#x435;&#x435; &#x440;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x43D;&#x44B;&#x445; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x432; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x43E;&#x432; &#x434;&#x43B;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;.</p>
</blockquote>
<h4 id>&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;</h4>
<p>&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x432;&#x435;&#x442; API &#x434;&#x43E; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A; &#x43E;&#x43D; &#x431;&#x443;&#x434;&#x435;&#x442; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x44E;&#x449;&#x435;&#x43C;&#x443; &#x43A;&#x43E;&#x434;&#x443;. &#x414;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x43D;&#x430; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;:</p>
<pre><code class="lang-js">const { fetch: originalFetch } = window;
window.fetch = async (...args) =&gt; {
  let [resource, config] = args;

  let response = await originalFetch(resource, config);

  // &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;
  const json = () =&gt;
    response
      .clone()
      .json()
      .then((data) =&gt; ({ ...data, title: `Intercepted: ${data.title}` }));

  response.json = json;
  return response;
};

fetch(&apos;https://jsonplaceholder.typicode.com/todos/1&apos;)
  .then((response) =&gt; response.json())
  .then((json) =&gt; console.log(json));

// log
// {
//     &quot;userId&quot;: 1,
//     &quot;id&quot;: 1,
//     &quot;title&quot;: &quot;Intercepted: delectus aut autem&quot;,
//     &quot;completed&quot;: false
// }
</code></pre>
<br>
<p>&#x412; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x43E;&#x43C; &#x432;&#x44B;&#x448;&#x435; &#x43A;&#x43E;&#x434;&#x435; &#x43C;&#x44B; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x43B;&#x438; &#x43C;&#x435;&#x442;&#x43E;&#x434; JSON, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x435;&#x440;&#x43D;&#x443;&#x442;&#x44C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x441;&#x43A;&#x438;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x43E; &#x438;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x44B;&#x445;. &#x41E;&#x437;&#x43D;&#x430;&#x43A;&#x43E;&#x43C;&#x44C;&#x442;&#x435;&#x441;&#x44C; &#x441; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x435;&#x439;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x443;&#x437;&#x43D;&#x430;&#x442;&#x44C; <a href="https://developer.mozilla.org/docs/Web/API/Response?ref=badtry.net" target="_blank">&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43E; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430;&#x445;</a>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C;.</p>
<blockquote>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;: &#x43E;&#x442;&#x432;&#x435;&#x442;&#x44B; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x44B; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x434;&#x438;&#x43D; &#x440;&#x430;&#x437;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432;&#x430;&#x43C; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x43A;&#x43B;&#x43E;&#x43D;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x432;&#x435;&#x442; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x440;&#x430;&#x437;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x435;&#x433;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;.</p>
</blockquote>
<h4 id>&#x41E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430; &#x43E;&#x448;&#x438;&#x431;&#x43E;&#x43A;</h4>
<p>&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x438; &#x434;&#x43B;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;, &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x44F; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x434;&#x43B;&#x44F; <code>response.ok</code> &#x438; <code>response.status</code>. &#x412; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x43E;&#x43C; &#x43D;&#x438;&#x436;&#x435; &#x444;&#x440;&#x430;&#x433;&#x43C;&#x435;&#x43D;&#x442;&#x435; &#x43A;&#x43E;&#x434;&#x430; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x438;&#x442;&#x44C; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x443; 404:</p>
<pre><code class="lang-js">const { fetch: originalFetch } = window;
window.fetch = async (...args) =&gt; {
  let [resource, config] = args;
  let response = await originalFetch(resource, config);
  if (!response.ok &amp;&amp; response.status === 404) {
    // &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A; 404 &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x438;
    return Promise.reject(response);
  }
  return response;
};
fetch(&apos;https://jsonplaceholder.typicode.com/todos/1000000&apos;)
  .then((response) =&gt; response.json())
  .then((json) =&gt; console.log(json))
  .catch((error) =&gt; console.error(error));
</code></pre>
<br>
<h3 id="nodejs">Node.js</h3>
<p>&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x43E;&#x442; &#x436;&#x435; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434; &#x432; Node.js. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; Node.js &#x43D;&#x435; &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x438;&#x432;&#x430;&#x435;&#x442; Fetch API &#x43D;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E; (&#x445;&#x43E;&#x442;&#x44F; &#x43D;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x430;&#x44F; &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x43A;&#x430; Fetch API &#x431;&#x443;&#x434;&#x435;&#x442; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x430; <a href="https://github.com/nodejs/node/pull/41749?ref=badtry.net">&#x432; &#x431;&#x443;&#x434;&#x443;&#x449;&#x438;&#x445; &#x432;&#x435;&#x440;&#x441;&#x438;&#x44F;&#x445;</a> Node.js). &#x41F;&#x43E;&#x43A;&#x430; &#x447;&#x442;&#x43E; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x43F;&#x430;&#x43A;&#x435;&#x442; <a href="https://github.com/node-fetch/node-fetch?ref=badtry.net">Node Fetch</a>, &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x44C; &#x43E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x438;&#x439; &#x43F;&#x430;&#x442;&#x447;&#x438;&#x43D;&#x433; &#x434;&#x43B;&#x44F; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; <code>fetch</code>.</p>
<h2 id="fetchintercept">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438; fetch-intercept</h2>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43D;&#x435; &#x43B;&#x44E;&#x431;&#x438;&#x442;&#x435; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x433;&#x440;&#x44F;&#x437;&#x43D;&#x443;&#x44E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; (&#x43A;&#x430;&#x43B;&#x430;&#x43C;&#x431;&#x443;&#x440; &#x43D;&#x435; &#x443;&#x434;&#x430;&#x43B;&#x441;&#x44F;), &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x430; <a href="https://github.com/werk85/fetch-intercept?ref=badtry.net" target="_blank">fetch-intercept</a> &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x441; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x447;&#x438;&#x441;&#x442;&#x44B;&#x43C; API. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; npm &#x438;&#x43B;&#x438; Yarn &#x434;&#x43B;&#x44F; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x438; &#x44D;&#x442;&#x43E;&#x439; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;:</p>
<pre><code class="lang-js">npm install fetch-intercept whatwg-fetch --save
// or
yarn install fetch-intercept whatwg-fetch
</code></pre>
<br>
<blockquote>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;: &#x411;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x430; <code>fetch-intercept</code> &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x438;&#x432;&#x430;&#x435;&#x442; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x431;&#x440;&#x430;&#x443;&#x437;&#x435;&#x440;&#x44B; &#x438; &#x43D;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x432; Node.js. &#x41A;&#x440;&#x43E;&#x43C;&#x435; &#x442;&#x43E;&#x433;&#x43E;, &#x434;&#x43B;&#x44F; &#x435;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x44C; <code>whatwg-fetch</code>.</p>
</blockquote>
<p>&#x421; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x43D;&#x438;&#x436;&#x435; &#x43A;&#x43E;&#x434;&#x430; &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x435; &#x436;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x438; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x43E;&#x432;, &#x447;&#x442;&#x43E; &#x438; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x441; &#x43E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x44C;&#x438;&#x43C; &#x43F;&#x430;&#x442;&#x447;&#x438;&#x43D;&#x433;&#x43E;&#x43C;:</p>
<pre><code class="lang-js">import * as fetchIntercept from &apos;fetch-intercept&apos;;

const unregister = fetchIntercept.register({
  request: function (url, config) {
    const modifiedUrl = `https://jsonplaceholder.typicode.com/todos/2`;
    return [modifiedUrl, config];
  },

  requestError: function (error) {
    return Promise.reject(error);
  },

  response: function (response) {
    const clonedResponse = response.clone();
    const json = () =&gt;
      clonedResponse
        .json()
        .then((data) =&gt; ({ ...data, title: `Intercepted: ${data.title}` }));

    response.json = json;
    return response;
  },

  responseError: function (error) {
    return Promise.reject(error);
  },
});

fetch(&apos;https://jsonplaceholder.typicode.com/todos/1&apos;)
  .then((response) =&gt; response.json())
  .then((json) =&gt; console.log(json));

// &#x43E;&#x442;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x44E; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432;
unregister();
</code></pre>
<br>
<p>&#x41C;&#x435;&#x442;&#x43E;&#x434; <code>register</code> &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x437;&#x430;&#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x434;&#x43B;&#x44F; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x43E;&#x432; Fetch API. &#x41E;&#x43D; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441; &#x43A;&#x43E;&#x43B;&#x431;&#x435;&#x43A;&#x43E;&#x43C; <code>request</code>, <code>requestError</code>, <code>response</code> &#x438; <code>responseError</code>. &#x41C;&#x435;&#x442;&#x43E;&#x434; <code>register</code> &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x442; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x439; &#x43C;&#x435;&#x442;&#x43E;&#x434;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x43B;&#x44F; &#x43E;&#x442;&#x43C;&#x435;&#x43D;&#x44B; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432;.</p>
<p><code>Fetch API</code> &#x43D;&#x435; &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x438;&#x432;&#x430;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x438;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x442; &#x434;&#x440;&#x443;&#x433;&#x438;&#x435; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438; &#x434;&#x43B;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; HTTP-&#x432;&#x44B;&#x437;&#x43E;&#x432;&#x43E;&#x432;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x438;&#x432;&#x430;&#x44E;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438;. &#x412;&#x437;&#x433;&#x43B;&#x44F;&#x43D;&#x438;&#x442;&#x435; &#x43D;&#x430; <a href="https://badtry.net/nachalo-raboty-s-axios-v-nuxt/" target="_blank">Axios</a>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x44D;&#x442;&#x443; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x438;&#x437; &#x43A;&#x43E;&#x440;&#x43E;&#x431;&#x43A;&#x438;.</p>
<h1 id>&#x420;&#x435;&#x437;&#x44E;&#x43C;&#x435;</h1>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x43C;&#x44B; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x43B;&#x438;, &#x447;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; JavaScript, &#x43D;&#x430;&#x443;&#x447;&#x438;&#x43B;&#x438;&#x441;&#x44C; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x43A;&#x430;&#x43A; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43E;&#x431;&#x435;&#x437;&#x44C;&#x44F;&#x43D;&#x44C;&#x435;&#x433;&#x43E; &#x43F;&#x430;&#x442;&#x447;&#x438;&#x43D;&#x433;&#x430; <strong>Fetch API</strong>, &#x442;&#x430;&#x43A; &#x438; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438; <code>fetch-intercept</code>.</p>
<p>&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438;, &#x438;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x43E;&#x44F;&#x432;&#x438;&#x432;&#x448;&#x438;&#x435;&#x441;&#x44F; &#x432; Angular, &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x44B; &#x432; &#x441;&#x430;&#x43C;&#x44B;&#x445; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x44F;&#x445;, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43F;&#x440;&#x438; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x435; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43E;&#x448;&#x438;&#x431;&#x43E;&#x43A;, &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;, &#x43F;&#x440;&#x43E;&#x442;&#x43E;&#x43A;&#x43E;&#x43B;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x438; &#x442;.&#x43F;. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x44B;, &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;, &#x434;&#x43B;&#x44F; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432; &#x432; &#x432;&#x430;&#x448;&#x438; JavaScript-&#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;, &#x43E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x43F;&#x43E;&#x43C;&#x43D;&#x438;&#x442;&#x435; &#x43E; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x44B;&#x445; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x44F;&#x445; <strong>&#x434;&#x43B;&#x44F; Node.js</strong>.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Как сохранить sRGB изображение в Photoshop]]></title><description><![CDATA[Простая пошаговая инструкция. Как сохранять и конвертировать фотографии в Lightroom/Photoshop в sRGB профиль.]]></description><link>https://badtry.net/kak-sokhranit-srgb-izobrazhieniie-v-photoshop/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2381</guid><category><![CDATA[Фотографии]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sat, 11 Dec 2021 14:05:17 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/12/preview-srgb.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/12/preview-srgb.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop"><p>&#x41F;&#x43E; &#x445;&#x440;&#x43E;&#x43D;&#x438;&#x43A;&#x430;&#x43C; &#x43F;&#x440;&#x43E;&#x448;&#x43B;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438; &#x43F;&#x43E; &#x438;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C;&#x443; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x443; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x439; &#x43F;&#x440;&#x438; &#x43F;&#x443;&#x431;&#x43B;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x438;&#x445; &#x432; &#x441;&#x43E;&#x446;.&#x441;&#x435;&#x442;&#x44F;&#x445;, &#x441;&#x435;&#x433;&#x43E;&#x434;&#x43D;&#x44F; &#x44F; &#x440;&#x435;&#x448;&#x438;&#x43B; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x432;&#x442;&#x43E;&#x440;&#x443;&#x44E; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E;, &#x43A;&#x430;&#x43A; &#x44D;&#x442;&#x43E; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43D;&#x430; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x43A;&#x435;. &#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x443;, &#x43A;&#x430;&#x43A; &#x432; Photoshop &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x443;&#x44E; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x44E; <strong>&#x432; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x435; sRGB</strong>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x430;&#x43A;&#x441;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x434;&#x43E;&#x441;&#x442;&#x43E;&#x432;&#x435;&#x440;&#x43D;&#x44B;&#x435; &#x446;&#x432;&#x435;&#x442;&#x430; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x438; &#x432; &#x441;&#x43E;&#x446;.&#x441;&#x435;&#x442;&#x44F;&#x445; &#x438; &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43E;&#x43D;&#x438; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x43E;&#x432;&#x430;&#x43B;&#x438; &#x442;&#x435;&#x43C; &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x432;&#x438;&#x434;&#x438;&#x442;&#x435; &#x432; &#x440;&#x435;&#x434;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x435;.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x443; &#x43A;&#x430;&#x43A; &#x43C;&#x435;&#x43D;&#x44F;&#x442;&#x44C; &#x446;&#x432;&#x435;&#x442;&#x43E;&#x432;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x444;&#x438;&#x43B;&#x44C; &#x432; Photoshop. &#x418; &#x43A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x44F;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x44B;&#x435; &#x441;&#x432;&#x43E;&#x438; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x432; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x435; sRGB.</p>
<h2 id>&#x425;&#x44C;&#x44E;&#x441;&#x442;&#x43E;&#x43D;, &#x43F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x430;</h2>
<p>&#x41F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x438;&#x43C;, &#x447;&#x442;&#x43E; &#x43C;&#x44B; &#x432; Lightroom-&#x435; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B;&#x438; &#x44D;&#x442;&#x443; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x44E; &#x438; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x435;&#x451; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C;.</p>
<p><img src="https://badtry.net/content/images/2021/12/yy2Y4kMoRL2TU1SZJSRsLg.png" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
<p>&#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443;, &#x432; Lightroom &#x43D;&#x430;&#x436;&#x43C;&#x435;&#x43C; &#x43F;&#x440;&#x430;&#x432;&#x43E;&#x439; &#x43A;&#x43D;&#x43E;&#x43F;&#x43A;&#x43E;&#x439; &#x43C;&#x44B;&#x448;&#x438; &#x43D;&#x430; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x438; <code>Edit in</code> -&gt; <code>Edit In Photoshop</code>. &#x422;&#x430;&#x43C; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x43C; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x44E; &#x438; &#x43F;&#x43E;&#x43F;&#x440;&#x43E;&#x431;&#x443;&#x435;&#x43C; &#x435;&#x435; &#x43A;&#x443;&#x434;&#x430;-&#x442;&#x43E; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x44C;, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x432; &#x442;&#x435;&#x43B;&#x435;&#x433;&#x440;&#x430;&#x43C;.</p>
<p>&#x418; &#x43E;&#x43A;&#x430;&#x436;&#x435;&#x442;&#x441;&#x44F;, &#x447;&#x442;&#x43E; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43A;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x443;&#x44E; &#x43C;&#x44B; &#x432;&#x438;&#x434;&#x435;&#x43B;&#x438; &#x432; &#x440;&#x435;&#x434;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x435; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x442; &#x442;&#x43E;&#x439;, &#x447;&#x442;&#x43E; &#x432;&#x438;&#x434;&#x438;&#x43C; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43A;&#x438;. &#x412;&#x43E;&#x442; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43A;&#x430;&#x43A; &#x43E;&#x436;&#x438;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43D;&#x435; &#x441;&#x43E;&#x432;&#x43F;&#x430;&#x434;&#x430;&#x435;&#x442; &#x441; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C;&#x44E; (&#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x44F; &#x441;&#x442;&#x430;&#x43B;&#x430; &#x43A;&#x430;&#x43A;&#x43E;&#x439;-&#x442;&#x43E; &#x431;&#x43B;&#x435;&#x43A;&#x43B;&#x43E;&#x439; &#x438; &#x441;&#x435;&#x440;&#x43E;&#x439;):</p>
<p><img src="https://badtry.net/content/images/2021/12/preview-expected-real.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
<p>&#x41F;&#x43E;&#x447;&#x435;&#x43C;&#x443; &#x442;&#x430;&#x43A; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x44F; &#x43E;&#x43F;&#x438;&#x441;&#x44B;&#x432;&#x430;&#x43B; &#x432; <a href="https://badtry.net/luchshiie-nastroiki-eksporta-fotoghrafii-dlia-instagram-instruktsiia-dlia-lightroom-i-photoshop/" target="_blank">&#x43F;&#x440;&#x43E;&#x448;&#x43B;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;</a>. &#x410; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x440;&#x430;&#x441;&#x441;&#x43A;&#x430;&#x436;&#x443;, &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x44F;&#x442;&#x44C; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x438; <strong>sRGB &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x430; &#x432; Photoshop</strong>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x442;&#x430;&#x43A;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x44B; &#x43D;&#x435; &#x431;&#x44B;&#x43B;&#x43E;.</p>
<h2 id>&#x420;&#x435;&#x448;&#x435;&#x43D;&#x438;&#x435;</h2>
<p>&#x41D;&#x438;&#x436;&#x435; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x430; &#x438;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43A;&#x446;&#x438;&#x44F; &#x438;&#x437; &#x442;&#x440;&#x435;&#x445; &#x448;&#x430;&#x433;&#x43E;&#x432; &#x43F;&#x43E; &#x43F;&#x440;&#x435;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x43A; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x443; sRGB.</p>
<h3 id="srgb">&#x41F;&#x440;&#x435;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x435;&#x439; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x438; &#x432; sRGB:</h3>
<ol>
<li>
<p>&#x41E;&#x442;&#x43A;&#x440;&#x43E;&#x439;&#x442;&#x435; &#x444;&#x43E;&#x442;&#x43E;&#x433;&#x440;&#x430;&#x444;&#x438;&#x44E; &#x432; Photoshop</p>
</li>
<li>
<p>&#x41F;&#x435;&#x440;&#x435;&#x439;&#x434;&#x438;&#x442;&#x435; &#x432; &#x43C;&#x435;&#x43D;&#x44E; <code>&#x420;&#x435;&#x434;&#x430;&#x43A;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;</code> (<em>Edit</em>)<br>
&#x43D;&#x430;&#x436;&#x43C;&#x438;&#x442;&#x435; <code>&#x41F;&#x440;&#x435;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432; &#x43F;&#x440;&#x43E;&#x444;&#x438;&#x43B;&#x44C;...</code> (<em>Convert to Profile</em>).<br>
<img src="https://badtry.net/content/images/2021/12/convert-to-profile.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
</li>
<li>
<p>&#x41D;&#x430;&#x436;&#x43C;&#x438;&#x442;&#x435; &#x43D;&#x430; &#x432;&#x44B;&#x43F;&#x430;&#x434;&#x430;&#x44E;&#x449;&#x435;&#x435; &#x43F;&#x43E;&#x43B;&#x435; <code>&#x41F;&#x440;&#x43E;&#x444;&#x438;&#x43B;&#x44C;</code> &#x432; &#x43C;&#x435;&#x43D;&#x44E; <code>&#x426;&#x435;&#x43B;&#x435;&#x432;&#x43E;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x441;&#x442;&#x432;&#x43E;</code><br>
<img src="https://badtry.net/content/images/2021/12/selectprofile.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
</li>
<li>
<p>&#x412;&#x44B;&#x431;&#x435;&#x440;&#x438;&#x442;&#x435; &#x43E;&#x43F;&#x446;&#x438;&#x44E; <strong>sRGB</strong><br>
<img src="https://badtry.net/content/images/2021/12/seelct-srgboption.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
</li>
<li>
<p>&#x41D;&#x430;&#x436;&#x43C;&#x438;&#x442;&#x435; <code>&#x41E;&#x43A;&#x435;&#x439;</code>.</p>
</li>
</ol>
<h3 id="photoshop">&#x41D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x430; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x43E;&#x432; &#x446;&#x432;&#x435;&#x442;&#x430; &#x432; Photoshop:</h3>
<ol>
<li>
<p>&#x41F;&#x435;&#x440;&#x435;&#x439;&#x434;&#x438;&#x442;&#x435; &#x432;&#x43E; &#x432;&#x43A;&#x43B;&#x430;&#x434;&#x43A;&#x443; <code>&#x420;&#x435;&#x434;&#x430;&#x43A;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;</code> (<em>Edit</em>)<br>
&#x43D;&#x430;&#x436;&#x43C;&#x438;&#x442;&#x435; <code>&#x41D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x430; &#x446;&#x432;&#x435;&#x442;&#x43E;&#x432;...</code> ( <em>Color Settings</em>).<br>
<img src="https://badtry.net/content/images/2021/12/color-settings.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
</li>
<li>
<p>&#x41D;&#x430;&#x436;&#x43C;&#x438;&#x442;&#x435; &#x43D;&#x430; &#x432;&#x44B;&#x43F;&#x430;&#x434;&#x430;&#x44E;&#x449;&#x435;&#x435; &#x43C;&#x435;&#x43D;&#x44E; <code>&#x41D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438;</code> (<em>Settings</em>)<br>
<img src="https://badtry.net/content/images/2021/12/america-settings.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
</li>
<li>
<p>&#x412;&#x44B;&#x431;&#x435;&#x440;&#x438;&#x442;&#x435; <code>&#x423;&#x43D;&#x438;&#x432;&#x435;&#x440;&#x441;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438; &#x434;&#x43B;&#x44F; &#x421;&#x435;&#x432;&#x435;&#x440;&#x43D;&#x43E;&#x439; &#x410;&#x43C;&#x435;&#x440;&#x438;&#x43A;&#x438; 2</code> (<em>North America General Purpose 2</em>)<br>
<img src="https://badtry.net/content/images/2021/12/general-settings-america.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
</li>
<li>
<p>&#x41D;&#x430;&#x436;&#x43C;&#x438;&#x442;&#x435; <code>&#x41E;&#x43A;&#x435;&#x439;</code>.</p>
</li>
</ol>
<h3 id="srgb">&#x421;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x432; sRGB &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x435;:</h3>
<ol>
<li>&#x421;&#x43A;&#x43E;&#x43F;&#x438;&#x440;&#x443;&#x439;&#x442;&#x435; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;, &#x432;&#x44B;&#x434;&#x435;&#x43B;&#x438;&#x432; &#x432;&#x441;&#x44E; &#x43E;&#x431;&#x43B;&#x430;&#x441;&#x442;&#x44C; &#x438; &#x43D;&#x430;&#x436;&#x430;&#x432; <code>CTRL + C</code> <img src="https://badtry.net/content/images/2021/12/copyimage.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></li>
<li>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x439;&#x442;&#x435; &#x43D;&#x43E;&#x432;&#x43E;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; (Ctrl + N) &#x438;&#x43B;&#x438; <code>File</code> -&gt; <code>New</code> <img src="https://badtry.net/content/images/2021/12/---------.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></li>
<li>&#x423;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x435; &#x444;&#x43B;&#x430;&#x436;&#x43E;&#x43A; <code>&#x426;&#x432;&#x435;&#x442;&#x43E;&#x432;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x444;&#x438;&#x43B;&#x44C;</code> (<em>Color Profile</em>) &#x432; &#x440;&#x430;&#x437;&#x434;&#x435;&#x43B;&#x435; <code>&#x414;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x44B;</code> (<em>Advanced</em>)<br>
<img src="https://badtry.net/content/images/2021/12/profile-change.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></li>
<li>&#x415;&#x441;&#x43B;&#x438; &#x446;&#x432;&#x435;&#x442;&#x43E;&#x432;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x444;&#x438;&#x43B;&#x44C; &#x43D;&#x435; sRGB, &#x449;&#x435;&#x43B;&#x43A;&#x43D;&#x438;&#x442;&#x435; &#x432;&#x44B;&#x43F;&#x430;&#x434;&#x430;&#x44E;&#x449;&#x435;&#x435; &#x43F;&#x43E;&#x43B;&#x435; &#x438; &#x432;&#x44B;&#x431;&#x435;&#x440;&#x438;&#x442;&#x435; &#x432;&#x430;&#x440;&#x438;&#x430;&#x43D;&#x442; <strong>sRGB</strong>.</li>
<li>&#x41D;&#x430;&#x436;&#x43C;&#x438;&#x442;&#x435; <code>&#x41E;&#x43A;&#x435;&#x439;</code>.</li>
<li>&#x412;&#x441;&#x442;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x441;&#x43A;&#x43E;&#x43F;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x43E;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; (<em>CTRL + V</em>) &#x438; &#x421;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x435;.</li>
</ol>
<p>&#x412; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x435;, &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442; &#x441; &#x43F;&#x440;&#x435;&#x434;&#x44B;&#x434;&#x443;&#x449;&#x438;&#x43C;, &#x43E;&#x43F;&#x44F;&#x442;&#x44C; &#x437;&#x430;&#x43B;&#x438;&#x432; &#x432; &#x442;&#x435;&#x43B;&#x435;&#x433;&#x440;&#x430;&#x43C;: <img src="https://badtry.net/content/images/2021/12/result-teelgram.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; sRGB &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x432; Photoshop" loading="lazy"></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[От А до Я про Event Dispatching]]></title><description><![CDATA[Статья о том, как внутри построен Event Dispatcher. Из каких компонентов он состоит, как создавать правильные события, и каким лучшим практикам следовать.]]></description><link>https://badtry.net/kak-rabotaiet-event-dispatcher-v-raznykh-frieimvorkakh/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2376</guid><category><![CDATA[php]]></category><category><![CDATA[symfony]]></category><category><![CDATA[laravel]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Mon, 06 Dec 2021 18:59:16 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/10/event-dispatching.png" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/10/event-dispatching.png" alt="&#x41E;&#x442; &#x410; &#x434;&#x43E; &#x42F; &#x43F;&#x440;&#x43E; Event Dispatching"><p>&#x412;&#x43F;&#x435;&#x440;&#x432;&#x44B;&#x435; &#x44F; &#x441;&#x442;&#x43E;&#x43B;&#x43A;&#x43D;&#x443;&#x43B;&#x441;&#x44F; &#x441; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;&#x43C;&#x438;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B; &#x441; Symfony. &#x421;&#x43C;&#x43E;&#x442;&#x440;&#x44F; &#x43E;&#x431;&#x443;&#x447;&#x430;&#x44E;&#x449;&#x438;&#x435; &#x443;&#x440;&#x43E;&#x43A;&#x438;, &#x44F; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x43B;, &#x447;&#x442;&#x43E; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x43E; &#x437;&#x430;&#x434;&#x430;&#x447; &#x440;&#x435;&#x448;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; (&#x434;&#x438;&#x441;&#x43F;&#x430;&#x442;&#x447;&#x438;&#x43D;&#x433;&#x430;) &#x438; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x445; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; (&#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C;&#x438;). &#x412; &#x442;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x43C;&#x43D;&#x435; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x44D;&#x442;&#x43E; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x43E;&#x439; &#x43A;&#x43E;&#x43D;&#x446;&#x435;&#x43F;&#x446;&#x438;&#x435;&#x439; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x44F;. &#x41D;&#x43E;, &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44F; &#x441; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x43C;&#x438; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;&#x43C;&#x438; &#x438; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x430;&#x43C;&#x438;, &#x44D;&#x442;&#x438; &#x432;&#x435;&#x449;&#x438; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x43B;&#x436;&#x430;&#x43B;&#x438; &#x43F;&#x43E;&#x44F;&#x432;&#x43B;&#x44F;&#x442;&#x44C;&#x441;&#x44F;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x43C;&#x43D;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x441; &#x44D;&#x442;&#x438;&#x43C; &#x440;&#x430;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x442;&#x44C;&#x441;&#x44F;. &#x418; &#x432; &#x438;&#x442;&#x43E;&#x433;&#x435;, &#x44F; &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x43B; &#x442;&#x430;&#x431;&#x43B;&#x435;&#x442;&#x43A;&#x443; &#x43F;&#x440;&#x430;&#x432;&#x434;&#x44B;, &#x438; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43D;&#x438;&#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43D;&#x435; &#x445;&#x43E;&#x447;&#x443; &#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x431;&#x435;&#x437; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x440;&#x430;&#x441;&#x441;&#x43A;&#x430;&#x436;&#x443; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E; &#x43F;&#x440;&#x43E; Event Dispatching: &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442;, &#x43A;&#x430;&#x43A;&#x438;&#x435; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x442; &#x432; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x430;&#x445; &#x438; &#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x443; &#x432;&#x430;&#x43C; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x44C; &#x438;&#x445; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x43E;&#x439; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;. &#x41E;&#x431;&#x441;&#x443;&#x434;&#x438;&#x43C;, &#x447;&#x435;&#x43C; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x445;&#x443;&#x43A;&#x438; &#x43E;&#x442; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x43E;&#x432;, &#x438; &#x43A;&#x430;&#x43A;&#x438;&#x435; <strong>&#x43B;&#x443;&#x447;&#x448;&#x438;&#x435; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x43A;&#x438;</strong> &#x43F;&#x43E; &#x438;&#x43C;&#x435;&#x43D;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;.</p>
<h2 id>&#x427;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;?</h2>
<p>&#x41F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x441;&#x435;&#x431;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x43D;&#x438;&#x446;&#x443; &#x43D;&#x430; &#x444;&#x430;&#x431;&#x440;&#x438;&#x43A;&#x435;: &#x43E;&#x43D;&#x430; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x432;&#x435;&#x449;&#x438;, &#x438; &#x443; &#x43D;&#x435;&#x451; &#x44D;&#x442;&#x43E; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F;. &#x412; &#x43A;&#x430;&#x43A;&#x43E;&#x439;-&#x442;&#x43E; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x435;&#x451; &#x43C;&#x435;&#x43D;&#x435;&#x434;&#x436;&#x435;&#x440; &#x445;&#x43E;&#x447;&#x435;&#x442;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43E;&#x43D;&#x430; &#x432;&#x435;&#x43B;&#x430; &#x438;&#x43D;&#x432;&#x435;&#x43D;&#x442;&#x430;&#x440;&#x43D;&#x44B;&#x439; &#x443;&#x447;&#x435;&#x442; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x430; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43B;&#x430;, &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x440;&#x430;&#x437;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43E;&#x43D;&#x430; &#x437;&#x430;&#x43A;&#x430;&#x43D;&#x447;&#x438;&#x432;&#x430;&#x435;&#x442; &#x43E;&#x434;&#x438;&#x43D; &#x438;&#x437; &#x441;&#x432;&#x43E;&#x438;&#x445; &#x43F;&#x440;&#x43E;&#x434;&#x443;&#x43A;&#x442;&#x43E;&#x432;. &#x415;&#x439; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x430; &#x441;&#x447;&#x438;&#x442;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x44D;&#x442;&#x43E; <strong>&#x43D;&#x435; &#x435;&#x451; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x44C;</strong>, &#x430; &#x441;&#x43A;&#x43E;&#x440;&#x435;&#x435; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x430; &#x438;&#x43D;&#x432;&#x435;&#x43D;&#x442;&#x430;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438;. &#x415;&#x451; &#x43C;&#x435;&#x43D;&#x435;&#x434;&#x436;&#x435;&#x440; &#x441;&#x43E;&#x433;&#x43B;&#x430;&#x448;&#x430;&#x435;&#x442;&#x441;&#x44F;, &#x438; &#x43E;&#x43D;&#x438; &#x440;&#x435;&#x448;&#x430;&#x44E;&#x442;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x430; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x430; &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x443; &#x438;&#x43D;&#x432;&#x435;&#x43D;&#x442;&#x430;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x430; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x43B;&#x430; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441;&#x440;&#x430;&#x437;&#x443; &#x436;&#x435; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x435;&#x435; &#x43E;&#x43A;&#x43E;&#x43D;&#x447;&#x430;&#x43D;&#x438;&#x44F;. &#x418;&#x43D;&#x432;&#x435;&#x43D;&#x442;&#x430;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44B;&#x432;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x430; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43B;&#x430;, &#x432; &#x43A;&#x430;&#x43A;&#x43E;&#x439; &#x434;&#x435;&#x43D;&#x44C; &#x438; &#x432;&#x440;&#x435;&#x43C;&#x44F;, &#x430; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43B;&#x44E;&#x431;&#x443;&#x44E; &#x434;&#x440;&#x443;&#x433;&#x443;&#x44E; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x443;&#x44E; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E;.</p>
<p>&#x412;&#x441;&#x451; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x43E;, &#x43D;&#x43E; &#x447;&#x435;&#x440;&#x435;&#x437; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x435;&#x451; &#x43F;&#x440;&#x43E;&#x441;&#x44F;&#x442; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x43D;&#x435;&#x434;&#x436;&#x435;&#x440;&#x443;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43E;&#x43D;&#x430; &#x437;&#x430;&#x43A;&#x430;&#x43D;&#x447;&#x438;&#x432;&#x430;&#x435;&#x442; &#x43E;&#x434;&#x438;&#x43D; &#x438;&#x437; &#x441;&#x432;&#x43E;&#x438;&#x445; &#x43F;&#x440;&#x43E;&#x434;&#x443;&#x43A;&#x442;&#x43E;&#x432;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43E;&#x43D; &#x43C;&#x43E;&#x433; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44C; &#x435;&#x451; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443;. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x43E; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x441;&#x43E;&#x433;&#x43B;&#x430;&#x441;&#x438;&#x442;&#x44C;&#x441;&#x44F;, &#x43E;&#x43D;&#x430; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x44D;&#x442;&#x43E; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43E;&#x442;&#x432;&#x43B;&#x435;&#x43A;&#x430;&#x442;&#x44C; &#x435;&#x451; &#x43E;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B;, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43F;&#x440;&#x435;&#x434;&#x43B;&#x430;&#x433;&#x430;&#x435;&#x442; &#x430;&#x43B;&#x44C;&#x442;&#x435;&#x440;&#x43D;&#x430;&#x442;&#x438;&#x432;&#x443;: &quot;&#x410; &#x447;&#x442;&#x43E;, &#x435;&#x441;&#x43B;&#x438; &#x44F; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x441;&#x43A;&#x430;&#x436;&#x443; &#x432;&#x441;&#x435;&#x43C; &#x441;&#x440;&#x430;&#x437;&#x443;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x437;&#x430;&#x43A;&#x43E;&#x43D;&#x447;&#x443; &#x441;&#x432;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x434;&#x443;&#x43A;&#x442;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43B;&#x44E;&#x431;&#x43E;&#x439;, &#x43A;&#x442;&#x43E; &#x437;&#x430;&#x445;&#x43E;&#x447;&#x435;&#x442;, &#x43C;&#x43E;&#x433; &#x43E;&#x442;&#x440;&#x435;&#x430;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438; &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x442;&#x44C; &#x43C;&#x435;&#x440;&#x44B;?&quot;.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43E;&#x43D;&#x430; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43A;&#x440;&#x438;&#x447;&#x430;&#x442;&#x44C; &quot;&#x42F; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43B;&#x430; &#x43E;&#x434;&#x438;&#x43D; &#x442;&#x43E;&#x432;&#x430;&#x440;!&quot; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x440;&#x430;&#x437;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43E;&#x43D;&#x430; &#x437;&#x430;&#x43A;&#x430;&#x43D;&#x447;&#x438;&#x432;&#x430;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x43D;&#x430;&#x434; &#x43E;&#x434;&#x43D;&#x438;&#x43C; &#x43F;&#x440;&#x43E;&#x434;&#x443;&#x43A;&#x442;&#x43E;&#x43C; - &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x43C;&#x435;&#x440;&#x44B;. &#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43E;&#x43D;&#x430; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x43B;&#x436;&#x430;&#x442;&#x44C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C;, &#x438; &#x432; &#x431;&#x443;&#x434;&#x443;&#x449;&#x435;&#x43C; &#x435;&#x451; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43D;&#x438; &#x43E; &#x447;&#x451;&#x43C; &#x43F;&#x43E;&#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x43D;&#x435;&#x43C; &#x43D;&#x435; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x440;&#x43E;&#x441;&#x438;&#x442;&#x44C;. &#x41C;&#x435;&#x43D;&#x435;&#x434;&#x436;&#x435;&#x440; &#x441;&#x43C;&#x43E;&#x436;&#x435;&#x442; &#x432;&#x435;&#x441;&#x442;&#x438; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44C; &#x434;&#x43B;&#x44F; &#x441;&#x432;&#x43E;&#x435;&#x439; &#x441;&#x442;&#x430;&#x442;&#x438;&#x441;&#x442;&#x438;&#x43A;&#x438;, &#x430; &#x438;&#x43D;&#x432;&#x435;&#x43D;&#x442;&#x430;&#x440;&#x44C; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x438; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x438;.</p>
<p>&#x42D;&#x442;&#x43E; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x442;&#x430; &#x436;&#x435; &#x43A;&#x43E;&#x43D;&#x446;&#x435;&#x43F;&#x446;&#x438;&#x44F;, &#x447;&#x442;&#x43E; &#x438; <strong>&#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;</strong>. &#x41C;&#x44B; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x435;&#x43D;&#x438;&#x435; &#x441; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x43C; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x43E;&#x43C; (&#x43E;&#x43F;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;, &#x43D;&#x43E; &#x436;&#x435;&#x43B;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;), &#x430; &#x432;&#x441;&#x435;, &#x43A;&#x43E;&#x43C;&#x443; &#x432;&#x430;&#x436;&#x43D;&#x43E; &#x43D;&#x430;&#x448;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x43A;&#x430;&#x43A;-&#x442;&#x43E; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x44E;&#x442; &#x435;&#x433;&#x43E; &#x432; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x438;&#x438; &#x441;&#x43E; &#x441;&#x432;&#x43E;&#x435;&#x439; &#x43B;&#x43E;&#x433;&#x438;&#x43A;&#x43E;&#x439;.</p>
<h2 id="eventdispatching">&#x418;&#x437; &#x43A;&#x430;&#x43A;&#x438;&#x445; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x43E;&#x432; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x438;&#x442; Event Dispatching?</h2>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43C;&#x44B; &#x438;&#x43C;&#x435;&#x435;&#x43C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x43E; &#x442;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;, &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x443;&#x433;&#x43B;&#x443;&#x431;&#x438;&#x43C;&#x441;&#x44F; &#x438; &#x43F;&#x43E;&#x437;&#x43D;&#x430;&#x43A;&#x43E;&#x43C;&#x438;&#x43C;&#x441;&#x44F; &#x441;&#x43E; &#x432;&#x441;&#x435;&#x43C;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;&#x43C;&#x438;, &#x443;&#x447;&#x430;&#x432;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x43C;&#x438; &#x432; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;.</p>
<h3 id="event">Event (&#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;)</h3>
<p>&#x422;&#x435;&#x43E;&#x440;&#x435;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;, &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x44B;&#x43C;. &#x41B;&#x438;&#x448;&#x44C; &#x431;&#x44B; &#x443; &#x43D;&#x435;&#x433;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x438;&#x43C;&#x44F; &#x438;&#x43B;&#x438; ID. &#x42D;&#x442;&#x43E; &#x438;&#x43C;&#x44F; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x432;&#x441;&#x435;&#x43C; &#x437;&#x43D;&#x430;&#x442;&#x44C;, &#x43D;&#x430; &#x43A;&#x430;&#x43A;&#x43E;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x440;&#x435;&#x430;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C;. &#x41A;&#x430;&#x43A; &#x43C;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x438;&#x43C; &#x434;&#x430;&#x43B;&#x435;&#x435;, &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x432; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x44F;&#x445; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x43C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x438;&#x43B;&#x438; &#x434;&#x430;&#x436;&#x435; &#x432;&#x43E;&#x43E;&#x431;&#x449;&#x435; &#x43D;&#x435; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;; &#x43D;&#x43E; &#x432; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x435; &#x441;&#x43E;&#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x44B;&#x445; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x43E;&#x432; &#x44D;&#x442;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x439; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x430;, &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x449;&#x438;&#x439; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;. &#x41F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43A;&#x43B;&#x430;&#x441;&#x441; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x438;&#x43C;&#x44F; (&#x432;&#x43C;&#x435;&#x441;&#x442;&#x435; &#x441; &#x43D;&#x435;&#x439;&#x43C;&#x441;&#x43F;&#x435;&#x439;&#x441;&#x43E;&#x43C;), &#x435;&#x433;&#x43E; &#x438;&#x43C;&#x44F; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x438;&#x43C;&#x435;&#x43D;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;.</p>
<p>&#x41C;&#x44B; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E; &#x43F;&#x43E;&#x437;&#x436;&#x435; &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x430;&#x445; &#x438;&#x437; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x43E;&#x432;.</p>
<h3 id="dispatcher">Dispatcher</h3>
<p>&#x41F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43A;&#x43E;&#x434; &#x43D;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43A;&#x440;&#x438;&#x447;&#x430;&#x442;&#x44C;, &#x435;&#x43C;&#x443; &#x43D;&#x443;&#x436;&#x435;&#x43D; &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433; &#x43C;&#x438;&#x43A;&#x440;&#x43E;&#x444;&#x43E;&#x43D;&#x430;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x441;&#x435; &#x436;&#x435;&#x43B;&#x430;&#x44E;&#x449;&#x438;&#x435; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x435;&#x433;&#x43E; &#x443;&#x441;&#x43B;&#x44B;&#x448;&#x430;&#x442;&#x44C;. &#x42D;&#x442;&#x43E;&#x442; &#x43C;&#x438;&#x43A;&#x440;&#x43E;&#x444;&#x43E;&#x43D; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x43E;&#x43C; (<mark>Dispatcher</mark>), &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x43E;&#x43D; &#x440;&#x430;&#x441;&#x441;&#x44B;&#x43B;&#x430;&#x435;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x432;&#x441;&#x435;&#x43C; &#x436;&#x435;&#x43B;&#x430;&#x44E;&#x449;&#x438;&#x43C; (<strong>&#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C;</strong>).</p>
<p>&#x414;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x43D;&#x438;&#x43A;&#x43E;&#x43C; &#x432; &#x43E;&#x431;&#x449;&#x435;&#x43D;&#x438;&#x438; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;&#x43C;&#x438; &#x438; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C;&#x438;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; - &#x44D;&#x442;&#x43E; &#x442;&#x43E;&#x442;, &#x43A;&#x442;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x43E;&#x442; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x43A;&#x430;&#x44E;&#x449;&#x435;&#x433;&#x43E; &#x43A;&#x43E;&#x434;&#x430; (&#x438;&#x43D;&#x43E;&#x433;&#x434;&#x430; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x43C;&#x43E;&#x433;&#x43E; <mark>&#x44D;&#x43C;&#x438;&#x442;&#x442;&#x435;&#x440;&#x43E;&#x43C;</mark>) - &#x43A;&#x43E;&#x43D;&#x442;&#x440;&#x43E;&#x43B;&#x43B;&#x435;&#x440;&#x430; &#x438;&#x43B;&#x438; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;&#x430;. &#x41F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x435;&#x43C;&#x443; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43D;&#x443;&#x436;&#x435;&#x43D; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x436;&#x434;&#x443;&#x442; &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43E;&#x43D; &#x43C;&#x43E;&#x433; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x438;&#x43C; &#x432;&#x441;&#x435;&#x43C;. &#x42D;&#x442;&#x43E;&#x442; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x438;&#x43D;&#x43E;&#x433;&#x434;&#x430; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x44E;&#x442; <code>Listener Provider-&#x43E;&#x43C;</code>.</p>
<blockquote>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;. &#x442;&#x430;&#x43A; &#x436;&#x435;, &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x442; &#x442;&#x435;&#x440;&#x43C;&#x438;&#x43D;&#x44B; - <strong>Emitter</strong> &#x438; <strong>Listener Provider</strong>. &#x42D;&#x442;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x441;&#x43B;&#x43E;&#x432;&#x430; &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x43E;&#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;: &#x432;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x435;&#x433;&#x43E; &#x43A;&#x43E;&#x434;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;, &#x438; &#x43A;&#x43E;&#x43D;&#x444;&#x438;&#x433;&#x443;&#x440;&#x430;&#x446;&#x438;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43F;&#x440;&#x438; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x43D;&#x430;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x43D;&#x443;&#x436;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x438; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x442; &#x435;&#x43C;&#x443; &#x432;&#x435;&#x441;&#x44C; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;. &#x41F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x439; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x438; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43F;&#x43E;-&#x440;&#x430;&#x437;&#x43D;&#x43E;&#x43C;&#x443; &#x432; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x430;&#x445;.</p>
</blockquote>
<h3 id="listener">Listener (&#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C;)</h3>
<p>&#x421;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442; &#x43A;&#x43E;&#x434;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D; &#x43F;&#x440;&#x438; &#x441;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;. &#x421;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x43F;&#x440;&#x43E;&#x441;&#x43B;&#x443;&#x448;&#x438;&#x432;&#x430;&#x435;&#x442; <strong>&#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x434;&#x43D;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;</strong>. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x443; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43D;&#x435;&#x43E;&#x433;&#x440;&#x430;&#x43D;&#x438;&#x447;&#x435;&#x43D;&#x43D;&#x43E;&#x435; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x44C; &#x43E;&#x434;&#x43D;&#x43E; &#x438; &#x442;&#x43E; &#x436;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x438; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x432;&#x435;&#x440;&#x448;&#x435;&#x43D;&#x43D;&#x43E; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x435; &#x432;&#x435;&#x449;&#x438;.</p>
<p>&#x421;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; - &#x44D;&#x442;&#x43E; &#x43B;&#x438;&#x431;&#x43E; &#x430;&#x43D;&#x43E;&#x43D;&#x438;&#x43C;&#x43D;&#x430;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F;, &#x43B;&#x438;&#x431;&#x43E; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x430;, &#x43B;&#x438;&#x431;&#x43E; &#x434;&#x430;&#x436;&#x435; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x439; (invokable) &#x43A;&#x43B;&#x430;&#x441;&#x441;. &#x42D;&#x442;&#x430; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x43C;&#x430;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x438;&#x43B;&#x438; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x431;&#x44B;&#x43B;&#x438; &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430; - &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;. &#x418;&#x43D;&#x43E;&#x433;&#x434;&#x430; &#x438;&#x43C;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E;&#x439; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x435;&#x439; &#x434;&#x43B;&#x44F; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;, &#x43D;&#x43E; &#x447;&#x430;&#x449;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x435;&#x43C;&#x443; &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x438;&#x43B;&#x438; &#x43D;&#x430;&#x431;&#x43E;&#x440; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;.</p>
<h3 id="subscriber">Subscriber (&#x43F;&#x43E;&#x434;&#x43F;&#x438;&#x441;&#x447;&#x438;&#x43A;)</h3>
<p>&#x412;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;, &#x432;&#x44B; &#x441;&#x43B;&#x44B;&#x448;&#x430;&#x43B;&#x438; &#x43E; &#x43F;&#x43E;&#x434;&#x43F;&#x438;&#x441;&#x447;&#x438;&#x43A;&#x430;&#x445; &#x432; &#x441;&#x432;&#x44F;&#x437;&#x43A;&#x435; &#x441; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;&#x43C;&#x438;. &#x41C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x447;&#x442;&#x43E; &#x43F;&#x43E;&#x434;&#x43F;&#x438;&#x441;&#x447;&#x438;&#x43A;&#x438; &#x438; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438; - &#x44D;&#x442;&#x43E; &#x43E;&#x434;&#x43D;&#x43E; &#x438; &#x442;&#x43E; &#x436;&#x435;, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x442;&#x430;&#x43A;. &#x41A;&#x430;&#x43A; &#x431;&#x44B;&#x43B;&#x43E; &#x441;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E; &#x440;&#x430;&#x43D;&#x435;&#x435;, &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x435;&#x442; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x434;&#x43D;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;. &#x421; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x439; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x44B;, &#x43F;&#x43E;&#x434;&#x43F;&#x438;&#x441;&#x447;&#x438;&#x43A; - &#x44D;&#x442;&#x43E; &#x43A;&#x43B;&#x430;&#x441;&#x441;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x438;&#x440;&#x443;&#x435;&#x442; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;. &#x41F;&#x43E;&#x434;&#x43F;&#x438;&#x441;&#x447;&#x438;&#x43A;&#x438; &#x432; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x43E;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x433;&#x440;&#x443;&#x43F;&#x43F;&#x438;&#x440;&#x43E;&#x432;&#x43A;&#x438; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x44B; &#x434;&#x43B;&#x44F; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43E;&#x434;&#x43D;&#x43E;&#x439; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x438;&#x43B;&#x438; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438;.</p>
<p>&#x418;&#x442;&#x430;&#x43A;, &#x432;&#x43A;&#x440;&#x430;&#x442;&#x446;&#x435;: &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; - &#x44D;&#x442;&#x43E; (&#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x43E;) &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B; &#x441; &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x43C; &#x438;&#x434;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x43C;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x441;&#x44B;&#x43B;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x43E;&#x43C; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x43C; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C;, &#x436;&#x435;&#x43B;&#x430;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x442;&#x440;&#x435;&#x430;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43D;&#x430; &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;.</p>
<blockquote>
<p>&#x424;&#x430;&#x43A;&#x442;: &#x437;&#x43D;&#x430;&#x43B;&#x438; &#x43B;&#x438; &#x432;&#x44B;, &#x447;&#x442;&#x43E; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x435;&#x442; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x430;&#x446;&#x438;&#x439; &#x434;&#x43B;&#x44F; PHP &#x43F;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x43A;&#x43E;&#x43D;&#x446;&#x435;&#x43F;&#x446;&#x438;&#x44F;&#x43C;&#x438;? &#x42D;&#x442;&#x43E; PHP Standard Recommendations, &#x438;&#x43B;&#x438; &#x436;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; PSR. &#x41E;&#x434;&#x43D;&#x43E;&#x439; &#x438;&#x437; &#x442;&#x430;&#x43A;&#x438;&#x445; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x430;&#x446;&#x438;&#x439; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; <a href="https://www.php-fig.org/psr/psr-14/?ref=badtry.net" taget="_blank">PSR-14: Event Dispatcher</a>. &#x42D;&#x442;&#x430; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x430;&#x446;&#x438;&#x44F;, &#x432; &#x442;&#x435;&#x445;&#x43D;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x445; &#x442;&#x435;&#x440;&#x43C;&#x438;&#x43D;&#x430;&#x445;, &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x44F;&#x435;&#x442; &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;.</p>
</blockquote>
<h2 id="vs">&#x421;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;: &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; vs &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B;, &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x43E;</h2>
<p>&#x415;&#x441;&#x442;&#x44C; &#x434;&#x432;&#x430; &#x432;&#x430;&#x440;&#x438;&#x430;&#x43D;&#x442;&#x430; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43A;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;: &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44E; &#x441; &#x43D;&#x430;&#x431;&#x43E;&#x440;&#x43E;&#x43C; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x43E;&#x432; &#x438;&#x43B;&#x438; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;. &#x414;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x44D;&#x442;&#x438; &#x432;&#x430;&#x440;&#x438;&#x430;&#x43D;&#x442;&#x44B; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x435;&#x435;.</p>
<h3 id>&#x417;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;</h3>
<p>&#x415;&#x441;&#x43B;&#x438; &#x438; &#x435;&#x441;&#x442;&#x44C; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x441;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;&#x43C;&#x438; &#x432;&#x43E;&#x437;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x44B; &#x432; &#x440;&#x430;&#x43D;&#x433; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430;, &#x442;&#x43E; &#x44D;&#x442;&#x43E; WordPress. &#x42D;&#x442;&#x43E;&#x442; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A; &#x43F;&#x435;&#x440;&#x435;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;&#x43C;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x432;&#x441;&#x451;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x437;&#x430;&#x445;&#x43E;&#x442;&#x438;&#x442;&#x435;. &#x42D;&#x442;&#x43E; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x43F;&#x443;&#x442;&#x435;&#x43C; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43A;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x441; &#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43C;, &#x441;&#x43E;&#x43F;&#x440;&#x43E;&#x432;&#x43E;&#x436;&#x434;&#x430;&#x435;&#x43C;&#x43E;&#x433;&#x43E; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; &#x43D;&#x430;&#x431;&#x43E;&#x440;&#x43E;&#x43C; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x43E;&#x432;. &#x41A;&#x43E;&#x433;&#x434;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F;, &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x444;&#x430;&#x43A;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442; &#x432;&#x441;&#x435; &#x44D;&#x442;&#x438; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x44B; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x43E;&#x432;. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x439; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442; - &#x44D;&#x442;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x43E;. &#x422;&#x430;&#x43A;&#x43E;&#x439; &#x442;&#x438;&#x43F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; <strong>&#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x445;&#x443;&#x43A;&#x43E;&#x43C;</strong> (&#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x435;&#x435; &#x43E;&#x431; &#x44D;&#x442;&#x43E;&#x43C; &#x43F;&#x43E;&#x437;&#x436;&#x435;). &#x41E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x44B; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44E; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;. &#x41E;&#x43D;&#x438; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x430;&#x431;&#x441;&#x43E;&#x43B;&#x44E;&#x442;&#x43D;&#x43E; &#x43B;&#x44E;&#x431;&#x44B;&#x43C;&#x438;.</p>
<p>PHP &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x442;&#x44C; &#x441;&#x43A;&#x430;&#x43B;&#x44F;&#x440;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; (<code>string</code>, <code>bool</code>, <code>int</code> &#x438;&#x43B;&#x438; <code>float</code>) &#x438;&#x43B;&#x438; &#x434;&#x430;&#x436;&#x435; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x442;&#x43E;&#x43C; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x44E;&#x449;&#x430;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F;. &#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x43D;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x438;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x443;&#x44E; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x43C;&#x443;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43B;&#x43E; &#x438; &#x432; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C; &#x43A;&#x43E;&#x434;&#x435;. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x432; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x44E;&#x442; &#x43D;&#x43E;&#x432;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x443;.</p>
<p><strong>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;</strong>: &#x445;&#x43E;&#x442;&#x44F; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x43E;&#x439; &#x447;&#x435;&#x440;&#x435;&#x437; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E;, &#x435;&#x441;&#x43B;&#x438; &#x43E;&#x43D;&#x430; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x43D;&#x430; &#x43F;&#x43E; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x435;, &#x44D;&#x442;&#x43E; &#x43D;&#x435;&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x435; &#x434;&#x435;&#x43B;&#x43E;. &#x418; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E;; &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x44B; &#x437;&#x430;&#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x443; &#x436;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x43F;&#x43E;&#x437;&#x436;&#x435; &#x438; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x43E;&#x436;&#x438;&#x434;&#x430;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x430; &#x43F;&#x43E;-&#x43F;&#x440;&#x435;&#x436;&#x43D;&#x435;&#x43C;&#x443; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;.</p>
<p>&#x41F;&#x43E;&#x434;&#x445;&#x43E;&#x434; &#x441; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x435;&#x43D; &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x445;, &#x441;&#x43A;&#x430;&#x43B;&#x44F;&#x440;&#x43D;&#x44B;&#x445; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;: &#x431;&#x443;&#x43B;&#x435;&#x432;&#x44B;&#x445; &#x438;&#x43B;&#x438; &#x441;&#x442;&#x440;&#x43E;&#x43A;. &#x412; WordPress &#x434;&#x430;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x43D;&#x435;&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x435; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x442;&#x438;&#x43F;&#x430; <code>__return_true()</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x44E;&#x442; <code>true</code>. &#x41E;&#x43D;&#x438; &#x443;&#x434;&#x43E;&#x431;&#x43D;&#x44B; &#x434;&#x43B;&#x44F; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E;&#x433;&#x43E; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43A; &#x447;&#x435;&#x440;&#x435;&#x437; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;. &#x41D;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43A;&#x43E;&#x43C; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x430; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x43F;&#x43E; &#x43C;&#x435;&#x440;&#x435; &#x440;&#x43E;&#x441;&#x442;&#x430; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x430; &#x43F;&#x43E;&#x434;&#x43E;&#x431;&#x43D;&#x44B;&#x445; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x43E;&#x432;, &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C; &#x438;&#x445; &#x432;&#x441;&#x435; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x43E;&#x432;. &#x423; &#x43C;&#x435;&#x43D;&#x44F; &#x431;&#x44B;&#x43B;&#x438; &#x441;&#x438;&#x442;&#x443;&#x430;&#x446;&#x438;&#x438;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43C;&#x43D;&#x435; &#x442;&#x440;&#x435;&#x431;&#x43E;&#x432;&#x430;&#x43B;&#x441;&#x44F; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; 11-&#x439;(!) &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440; &#x432; &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442; &#x438;&#x437; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;.</p>
<h4 id="wordpress">&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x432; WordPress:</h4>
<pre class="lang-php"><code>// &#x413;&#x434;&#x435;-&#x442;&#x43E; &#x432; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x435; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x438;&#x440;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; `get_title`.
$post = get_post();
$title = &apos;Original title&apos;;
$title = apply_filters(&apos;get_title&apos;, $title, $post);
 
// &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x433;&#x434;&#x435;-&#x43D;&#x438;&#x431;&#x443;&#x434;&#x44C; &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; functions.php:
// &#x414;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x438;&#x434;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x442;&#x43E;&#x440;&#x430; &#x43F;&#x43E;&#x441;&#x442;&#x430; &#x43F;&#x435;&#x440;&#x435;&#x434; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x43E;&#x43C;.
add_filter(&apos;get_title&apos;, function(string $title, ?WP_Post $post): string {
    return ($post ? $post-&gt;ID . &apos;: &apos; : &apos;&apos;) .  $title;
}, 10, 2);
</code></pre>
<br>
<h3 id>&#x41E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B;</h3>
<p>&#x41F;&#x43E;&#x447;&#x442;&#x438; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A; &#x438;&#x43B;&#x438; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x441; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x430;&#x43C;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;. &#x42D;&#x442;&#x43E;&#x442; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x442;&#x441;&#x44F; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x43A;&#x43E;&#x434;&#x430;, &#x43F;&#x43E;&#x440;&#x43E;&#x436;&#x434;&#x430;&#x44E;&#x449;&#x435;&#x433;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x442;&#x441;&#x44F; Event Dispatcher-&#x443;. &#x41F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x43E;&#x43C;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x43A; &#x43D;&#x435;&#x43C;&#x443; &#x43B;&#x44E;&#x431;&#x44B;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x44B;. &#x41C;&#x435;&#x442;&#x43E;&#x434;&#x44B; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x438;&#x43B;&#x438; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x435;&#x441;&#x43B;&#x438; &#x44D;&#x442;&#x43E; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;. &#x418; &#x432; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x438;&#x435; &#x43E;&#x442; &#x441;&#x43A;&#x430;&#x43B;&#x44F;&#x440;&#x43D;&#x44B;&#x445; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439; &#x438;&#x43B;&#x438; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x43E;&#x432;, &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B; <strong>&#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x432; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; &#x43F;&#x43E; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x435;</strong>.</p>
<p>&#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x43D;&#x435; &#x441; &#x43A;&#x43E;&#x43F;&#x438;&#x435;&#x439;, &#x430; &#x441; &#x442;&#x435;&#x43C; &#x436;&#x435; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x43E;&#x43C; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x430;. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43D;&#x438;&#x447;&#x435;&#x433;&#x43E; &#x43D;&#x435; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x442;&#x44C; &#x447;&#x435;&#x440;&#x435;&#x437; <code>return</code>, &#x430; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43E;&#x43C; &#x447;&#x435;&#x440;&#x435;&#x437; &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x44B; &#x438; &#x43C;&#x43E;&#x434;&#x438;&#x444;&#x438;&#x446;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;.</p>
<p>&#x421;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x44E;&#x442; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442; &#x43A; &#x441;&#x430;&#x43C;&#x43E;&#x43C;&#x443; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x443; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44E; &#x431;&#x435;&#x437; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x438;&#x433;&#x43D;&#x430;&#x442;&#x443;&#x440;&#x443; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;.</p>
<p>&#x412; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x438;&#x435; &#x43E;&#x442; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; WordPress, &#x43A;&#x43E;&#x434; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43E;&#x432; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x43C; &#x438; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x43D;&#x44B;&#x43C; &#x432; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438;. &#x425;&#x43E;&#x442;&#x44F;, &#x441;&#x43F;&#x440;&#x430;&#x432;&#x435;&#x434;&#x43B;&#x438;&#x432;&#x43E;&#x441;&#x442;&#x438; &#x440;&#x430;&#x434;&#x438;, WordPress &#x43F;&#x440;&#x44F;&#x447;&#x435;&#x442; &#x441;&#x432;&#x43E;&#x439; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; &#x432; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x43E;&#x439;, &#x43A; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x439; &#x43E;&#x431;&#x440;&#x430;&#x449;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x432;&#x44B;&#x448;&#x435;&#x443;&#x43F;&#x43E;&#x43C;&#x44F;&#x43D;&#x443;&#x442;&#x44B;&#x435; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438;.</p>
<h3 id="thephpleageevent">&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43D;&#x44B;&#x445; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x432; thephpleage/event:</h3>
<p>&#x42D;&#x442;&#x43E;&#x442; <a href="https://github.com/thephpleague/event?ref=badtry.net" target="_blank">&#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;</a> &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x435;&#x439; PSR-14.</p>
<pre class="lang-php"><code>// &#x413;&#x434;&#x435;-&#x442;&#x43E; &#x432;&#x44B; &#x43F;&#x43E;&#x434;&#x43F;&#x438;&#x441;&#x430;&#x43B;&#x438;&#x441;&#x44C; &#x43D;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;.
$dispatcher-&gt;subscribeTo(PostCreatedEvent::class, function(PostCreatedEvent $event): void {
    $post = $event-&gt;getPost();
    $newTitle = sprintf(&apos;%d: %s&apos;, $post-&gt;getId(), $post-&gt;getTitle());
    $post-&gt;setTitle($newTitle);
});
 
// &#x413;&#x434;&#x435;-&#x442;&#x43E; &#x432; &#x43A;&#x43E;&#x434;&#x435;, &#x433;&#x434;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x442;&#x441;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;.
$post = $this-&gt;createPost(&apos;Original title&apos;);
$event = $dispatcher-&gt;dispatch(new PostCreatedEvent($post));
$title = $event-&gt;getPost()-&gt;getTitle(); // &#x422;&#x443;&#x442; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x432;&#x435;&#x434;&#x435;&#x43D; &#x43D;&#x43E;&#x432;&#x44B;&#x439; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A;
</code></pre>
<br>
<p>&#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443;, &#x445;&#x43E;&#x442;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439; &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x441;&#x432;&#x43E;&#x435; &#x43C;&#x435;&#x441;&#x442;&#x43E; &#x438; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x435;, &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; <strong>&#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;</strong>, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43E;&#x43D;&#x438; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x433;&#x438;&#x431;&#x43A;&#x438;&#x435; &#x438; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x440;&#x430;&#x441;&#x448;&#x438;&#x440;&#x44F;&#x435;&#x43C;&#x44B;&#x435; &#x432; &#x431;&#x443;&#x434;&#x443;&#x449;&#x435;&#x43C;.</p>
<blockquote>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;: &#x445;&#x43E;&#x442;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43E;&#x432; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x432; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;&#x445; &#x438; &#x442;&#x435;&#x43C;&#x430;&#x445; WordPress &#x43D;&#x435; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x43E;&#x439; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x43A;&#x43E;&#x439;, &#x44F; &#x441;&#x447;&#x438;&#x442;&#x430;&#x44E;, &#x447;&#x442;&#x43E; &#x44D;&#x442;&#x43E; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x44D;&#x442;&#x43E; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;&#x430; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x440;&#x438;&#x44F;&#x442;&#x43D;&#x43E;&#x439;. &#x41F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x439;&#x442;&#x435; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x435; &#x438; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x435;&#x433;&#x43E; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x435;&#x441;&#x442;&#x44C; &#x441;&#x43C;&#x44B;&#x441;&#x43B;.</p>
</blockquote>
<h2 id>&#x41A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;?</h2>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x44B; &#x438;&#x43C;&#x435;&#x435;&#x442;&#x435; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x43E;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x43E; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;, &#x43F;&#x440;&#x438;&#x448;&#x43B;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x43A;&#x43E;&#x43F;&#x43D;&#x443;&#x442;&#x44C; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x433;&#x43B;&#x443;&#x431;&#x436;&#x435;. &#x427;&#x442;&#x43E; &#x438;&#x43C;&#x435;&#x43D;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x445;&#x43E;&#x434;&#x438;&#x442;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x44B; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;?</p>
<h3 id>&#x421;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x43C;&#x438;</h3>
<p>&#x41A;&#x43E;&#x433;&#x434;&#x430; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x432; &#x441;&#x432;&#x44F;&#x437;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x441; &#x43D;&#x438;&#x43C; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438;, &#x43E;&#x43D; &#x43D;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x43E;&#x441;&#x43B;&#x430;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x432;&#x441;&#x435;&#x43C; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C; &#x441;&#x440;&#x430;&#x437;&#x443;. &#x41A;&#x430;&#x43A; &#x438; &#x432;&#x435;&#x441;&#x44C; &#x43A;&#x43E;&#x434; &#x43D;&#x430; PHP, &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;, &#x442;&#x43E; &#x435;&#x441;&#x442;&#x44C; &#x43E;&#x43D;&#x438; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x43E;&#x434;&#x43D;&#x43E; &#x437;&#x430; &#x434;&#x440;&#x443;&#x433;&#x438;&#x43C;. &#x41E;&#x43D;&#x438; &#x442;&#x430;&#x43A; &#x436;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x44E;&#x442; &#x43E;&#x434;&#x438;&#x43D; &#x438; &#x442;&#x43E;&#x442; &#x436;&#x435; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x438;&#x43B;&#x438; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;.</p>
<p>&#x42D;&#x442;&#x43E; &#x43F;&#x43E;&#x445;&#x43E;&#x436;&#x435; &#x43D;&#x430; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x44B;&#x439; &#x43B;&#x438;&#x441;&#x442;: &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x435;&#x442; &#x43B;&#x438;&#x441;&#x442; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x43C;&#x443; &#x447;&#x435;&#x43B;&#x43E;&#x432;&#x435;&#x43A;&#x443;. &#x42D;&#x442;&#x43E;&#x442; &#x447;&#x435;&#x43B;&#x43E;&#x432;&#x435;&#x43A; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x441;&#x432;&#x43E;&#x435; &#x438;&#x43C;&#x44F; &#x438; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x435;&#x442; &#x43B;&#x438;&#x441;&#x442; &#x432;&#x442;&#x43E;&#x440;&#x43E;&#x43C;&#x443; &#x447;&#x435;&#x43B;&#x43E;&#x432;&#x435;&#x43A;&#x443;; &#x442;&#x43E;&#x442; &#x442;&#x43E;&#x436;&#x435; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F;, &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x432;&#x430;&#x44F; &#x435;&#x433;&#x43E; &#x434;&#x430;&#x43B;&#x44C;&#x448;&#x435;, &#x43F;&#x43E;&#x43A;&#x430; &#x432;&#x441;&#x435; &#x43D;&#x435; &#x437;&#x430;&#x43A;&#x43E;&#x43D;&#x447;&#x430;&#x442;. &#x41F;&#x43E;&#x441;&#x43B;&#x435; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x432;&#x435;&#x441;&#x44C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44E;. &#x41D;&#x435; &#x432;&#x441;&#x435; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44B;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x43D;&#x43E; &#x43E;&#x43D;&#x438; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x43B;&#x438;&#x441;&#x442; &#x434;&#x430;&#x43B;&#x44C;&#x448;&#x435;.</p>
<p>&#x422;&#x43E; &#x436;&#x435; &#x441;&#x430;&#x43C;&#x43E;&#x435; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x438; &#x441; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;&#x43C;&#x438;. &#x421;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43A;&#x43E;&#x434;&#x43E;&#x43C;, &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x447;&#x435;&#x440;&#x435;&#x437; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x43C;&#x443; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44E;. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E;, &#x432; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x438;&#x435; &#x43E;&#x442; <code>Middleware</code>, &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x43D;&#x435; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x44E;&#x442; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x433;&#x43E; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x43E; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x437;&#x430;&#x434;&#x430;&#x447;&#x430; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x430; - &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x43C;&#x443; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44E;. &#x42D;&#x442;&#x43E;&#x442; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x447;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x440;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; (<strong>Event propagation</strong>).</p>
<h3 id>&#x41F;&#x440;&#x438;&#x43E;&#x440;&#x438;&#x442;&#x435;&#x442;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;</h3>
<p>&#x41F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x43F;&#x43E;&#x445;&#x43E;&#x436;&#x430; &#x43D;&#x430; &#x438;&#x433;&#x440;&#x443; &#x432; &quot;&#x433;&#x43E;&#x440;&#x44F;&#x447;&#x443;&#x44E; &#x43A;&#x430;&#x440;&#x442;&#x43E;&#x448;&#x43A;&#x443;&quot;, &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x430; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x432;&#x430;&#x436;&#x43D;&#x44B;&#x43C;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432;&#x43E; &#x432;&#x441;&#x435;&#x445; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F;&#x445; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x435;&#x441;&#x442;&#x44C; <strong>&#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x438;&#x435; &#x43F;&#x440;&#x438;&#x43E;&#x440;&#x438;&#x442;&#x435;&#x442;&#x430;</strong>. &#x41F;&#x43E;&#x447;&#x442;&#x438; &#x432; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x44D;&#x442;&#x43E;&#x442; &#x43F;&#x440;&#x438;&#x43E;&#x440;&#x438;&#x442;&#x435;&#x442; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x443;&#x442;&#x435;&#x43C; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x432;&#x435;&#x441;&#x430; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44E;. &#x417;&#x430;&#x442;&#x435;&#x43C; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440; &#x441;&#x43E;&#x440;&#x442;&#x438;&#x440;&#x443;&#x435;&#x442; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x43F;&#x43E; &#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432;&#x435;&#x441;&#x443;, &#x43F;&#x440;&#x435;&#x436;&#x434;&#x435; &#x447;&#x435;&#x43C; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;. Laravel &#x438;&#x43C;&#x435;&#x43B; &#x442;&#x430;&#x43A;&#x443;&#x44E; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x434;&#x43E; &#x432;&#x435;&#x440;&#x441;&#x438;&#x438; 5.4, &#x43D;&#x43E; &#x440;&#x435;&#x448;&#x438;&#x43B; &#x443;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x443; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C;.</p>
<pre class="lang-php"><code>// &#x437;&#x430;&#x434;&#x430;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43E;&#x440;&#x438;&#x442;&#x435;&#x442; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x430; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x432; WordPress. &#x427;&#x435;&#x43C; &#x43D;&#x438;&#x436;&#x435; &#x43D;&#x43E;&#x43C;&#x435;&#x440;, &#x442;&#x435;&#x43C; &#x440;&#x430;&#x43D;&#x44C;&#x448;&#x435; &#x43E;&#x43D; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x43D;.
add_filter(&apos;the_event_name&apos;, &apos;__return_true&apos;, 10);
 
// Symfony &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x43D;&#x430;&#x43E;&#x431;&#x43E;&#x440;&#x43E;&#x442;. &#x427;&#x435;&#x43C; &#x432;&#x44B;&#x448;&#x435; &#x43D;&#x43E;&#x43C;&#x435;&#x440;, &#x442;&#x435;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43E;&#x440;&#x438;&#x442;&#x435;&#x442;.
$dispatcher-&gt;addListener(SomeEvent::class, [$listener, &apos;onBeforeSave&apos;], 30); // 0 - &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;.
 
// `thephpleage/event` &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x435; &#x442;&#x430;&#x43A;&#x436;&#x435;, &#x447;&#x435;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43D;&#x43E;&#x43C;&#x435;&#x440;, &#x442;&#x435;&#x43C; &#x440;&#x430;&#x43D;&#x44C;&#x448;&#x435; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x43D;.
$dispatcher-&gt;subscribeTo(SomeEvent::class, [$listener, &apos;onBeforeSave&apos;], PHP_INT_MAX); // &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x43E; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x43C;
</code></pre>
<br>
<h3 id>&#x41E;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;</h3>
<p>&#x418;&#x43D;&#x43E;&#x433;&#x434;&#x430; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x43D;&#x430;&#x441;&#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432;&#x430;&#x436;&#x435;&#x43D;, &#x447;&#x442;&#x43E; &#x43E;&#x43D; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x442;&#x432;&#x440;&#x430;&#x442;&#x438;&#x442;&#x44C; &#x432;&#x44B;&#x437;&#x43E;&#x432; &#x43B;&#x44E;&#x431;&#x44B;&#x445; &#x434;&#x440;&#x443;&#x433;&#x438;&#x445; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x434;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;. &#x41F;&#x43E; &#x441;&#x443;&#x442;&#x438;, &#x432; &#x44D;&#x442;&#x43E;&#x442; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x43E;&#x43D; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x437;&#x430;&#x43C;&#x44B;&#x43A;&#x430;&#x442;&#x44C;&#x441;&#x44F;. &#x418;&#x43C;&#x435;&#x43D;&#x43D;&#x43E; &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x435; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x43E;&#x432; &#x435;&#x441;&#x442;&#x44C; &#x43A;&#x43E;&#x43D;&#x446;&#x435;&#x43F;&#x446;&#x438;&#x44F; &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x445; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;. &#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; (&#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;) &#x438;&#x43C;&#x435;&#x435;&#x442; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x43D;&#x430;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x434;&#x430;&#x442;&#x44C; &#x441;&#x438;&#x433;&#x43D;&#x430;&#x43B; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x443; &#x43F;&#x440;&#x435;&#x43A;&#x440;&#x430;&#x442;&#x438;&#x442;&#x44C; &#x432;&#x44B;&#x437;&#x43E;&#x432; &#x434;&#x430;&#x43B;&#x44C;&#x43D;&#x435;&#x439;&#x448;&#x438;&#x445; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;.</p>
<h4 id>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x44B;:</h4>
<p>&#x41D;&#x435; &#x432;&#x441;&#x435; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x438; &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x43E;&#x434;&#x438;&#x43D;&#x430;&#x43A;&#x43E;&#x432;&#x44B;&#x439; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;. &#x418; &#x43D;&#x430; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; WordPress &#x43D;&#x435; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x43A;&#x438; &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x445; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;.</p>
<pre class="lang-php"><code>// &#x412; Symfony &#x435;&#x441;&#x442;&#x44C; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x439; &#x43A;&#x43B;&#x430;&#x441;&#x441; `Event`, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442; &#x43C;&#x435;&#x442;&#x43E;&#x434; `stopPropagation()`.
// &#x422;&#x43E; &#x436;&#x435; &#x441;&#x430;&#x43C;&#x43E;&#x435; &#x441;&#x43F;&#x440;&#x430;&#x432;&#x435;&#x434;&#x43B;&#x438;&#x432;&#x43E; &#x438; &#x434;&#x43B;&#x44F; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438; `thephpleage/event`, &#x43D;&#x43E; &#x442;&#x430;&#x43C; &#x432;&#x44B; &#x440;&#x430;&#x441;&#x448;&#x438;&#x440;&#x44F;&#x435;&#x442;&#x435; `StubStoppableEvent`.
// &#x438;&#x43B;&#x438; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x444;&#x435;&#x439;&#x441; `StoppableEventInterface` (PSR-14).
public function listener(SomeEvent $event): void {
    // &#x442;&#x443;&#x442; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C;
    $event-&gt;stopPropagation();
}
 
// Laravel &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x435;, &#x435;&#x441;&#x43B;&#x438; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x432;&#x435;&#x440;&#x43D;&#x435;&#x442; `false`.
public function listener(SomeEvent $event) {
    // &#x442;&#x443;&#x442; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C;
    return false;
}
</code></pre>
<br>
<h2 id>&#x425;&#x443;&#x43A;&#x438; &#x438; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B;</h2>
<p>&#x421;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x435;&#x442; &#x434;&#x432;&#x430; &#x442;&#x438;&#x43F;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; <strong>&#x445;&#x443;&#x43A;&#x438;</strong> &#x438;&#x43B;&#x438; <strong>&#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B;</strong>. WordPress &#x444;&#x430;&#x43A;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x43D;&#x438;&#x433;&#x434;&#x435; &#x43D;&#x435; &#x441;&#x441;&#x44B;&#x43B;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43D;&#x430; &quot;&#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;&quot; &#x432; &#x441;&#x432;&#x43E;&#x435;&#x439; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x438;. &#x41E;&#x43D;&#x438; &#x43F;&#x43E;&#x43B;&#x43D;&#x43E;&#x441;&#x442;&#x44C;&#x44E; &#x440;&#x430;&#x437;&#x434;&#x435;&#x43B;&#x44F;&#x44E;&#x442; &#x44D;&#x442;&#x438; &#x434;&#x432;&#x430; &#x442;&#x438;&#x43F;&#x430;, &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; <code>apply_filter()</code> (&#x445;&#x443;&#x43A;) &#x438; <code>do_action()</code> (&#x44D;&#x43A;&#x448;&#x435;&#x43D;). &#x422;&#x430;&#x43A; &#x432; &#x447;&#x435;&#x43C; &#x436;&#x435; &#x440;&#x430;&#x437;&#x43D;&#x438;&#x446;&#x430;? &#x412;&#x441;&#x435; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x442; &#x43E;&#x442; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A;&#x43E;&#x439; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442; &#x43D;&#x443;&#x436;&#x435;&#x43D; &#x432;&#x430;&#x448;&#x435;&#x43C;&#x443; &#x43A;&#x43E;&#x434;&#x443;.</p>
<h3 id>&#x425;&#x443;&#x43A;&#x438;</h3>
<p><strong>&#x425;&#x443;&#x43A;</strong> - &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x43A;&#x43E;&#x434;&#x43E;&#x43C; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x430; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x435;&#x433;&#x43E; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x438; &#x434;&#x43E; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A; &#x43E;&#x43D; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442; &#x43A;&#x430;&#x43A;&#x43E;&#x435;-&#x442;&#x43E; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x435;. &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;: &#x443; &#x432;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x442; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x430;. &#x42D;&#x442;&#x43E;&#x442; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x43B;&#x43E;&#x433;&#x438;&#x447;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;, &#x43D;&#x43E; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x435;&#x433;&#x43E; &#x43F;&#x435;&#x440;&#x435;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C;. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x449;&#x435;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>setTitle()</code>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x435;&#x433;&#x43E;. &#x412; &#x43A;&#x43E;&#x434;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x438;&#x437; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;.</p>
<p>&#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x435;&#x433;&#x43E; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x43D;&#x430;&#x434; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C;&#x438; &#x431;&#x443;&#x434;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F;. &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;: &#x443; &#x432;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x43A;&#x430;&#x43A;&#x430;&#x44F;-&#x442;&#x43E; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; &#x438;&#x43C;&#x43F;&#x43E;&#x440;&#x442;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x447;&#x430;&#x441;. &#x42D;&#x442;&#x430; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x43B;&#x44E;&#x431;&#x44B;&#x43C; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x43E;&#x43C;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x443;&#x435;&#x442; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x439; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x444;&#x435;&#x439;&#x441;. &#x412;&#x44B; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x438;&#x442;&#x44C;, &#x43A;&#x430;&#x43A;&#x438;&#x435; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x44B; &#x43E;&#x43D; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x43B;&#x44F; &#x438;&#x43C;&#x43F;&#x43E;&#x440;&#x442;&#x430;. &#x421;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>addDataSource()</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x43B;&#x44F; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x430; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;. &#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x443; &#x432;&#x430;&#x441; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x441;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x44E;&#x442; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x442;&#x43E;&#x433;&#x434;&#x430;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x438;&#x43C; &#x44D;&#x442;&#x43E; &#x43D;&#x443;&#x436;&#x43D;&#x43E;. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x434;&#x430;&#x436;&#x435; &#x435;&#x441;&#x43B;&#x438; &#x432;&#x430;&#x448; &#x438;&#x43C;&#x43F;&#x43E;&#x440;&#x442;&#x435;&#x440; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x43A;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x447;&#x430;&#x441;, &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x43D;&#x435; &#x43E;&#x431;&#x44F;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x432;&#x43A;&#x43B;&#x44E;&#x447;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x447;&#x430;&#x441;.</p>
<pre class="lang-php"><code>// &#x441;&#x442;&#x438;&#x43B;&#x44C; Laravel &#x44D;&#x432;&#x435;&#x43D;&#x442;-&#x434;&#x438;&#x441;&#x43F;&#x430;&#x442;&#x447;&#x438;&#x43D;&#x433;&#x430;
$event = DetermineDataSourcesEvent::dispatch();
 
foreach($event-&gt;getImporters() as $importer) {
    $this-&gt;importFrom($importer);
}
</code></pre>
<br>
<p><strong>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;</strong>: &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x445;&#x443;&#x43A; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x43A;&#x43E;&#x434;&#x43E;&#x43C; &#x434;&#x43E; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A; &#x441;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x43E;&#x435; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x435;, &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x442;&#x43E; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x445; &#x432; &#x43D;&#x430;&#x441;&#x442;&#x43E;&#x44F;&#x449;&#x435;&#x43C; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438;. &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, <code>DetermineDataSourcesEvent</code> &#x438;&#x43B;&#x438; <code>BeforeSaveEvent</code>.</p>
<h3 id>&#x42D;&#x43A;&#x448;&#x435;&#x43D;&#x44B;</h3>
<p><strong>&#x42D;&#x43A;&#x448;&#x435;&#x43D;</strong> (&#x447;&#x438;&#x442;&#x430;&#x439; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x435;) - &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x434;&#x43B;&#x44F; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x43E;&#x442;&#x440;&#x435;&#x430;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43B;&#x438; &#x43D;&#x430; &#x43D;&#x435;&#x433;&#x43E; &#x43A;&#x430;&#x43A;&#x438;&#x43C;-&#x442;&#x43E; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;. &#x421;&#x430;&#x43C; &#x43A;&#x43E;&#x434; &#x43D;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x435;&#x433;&#x43E; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; &#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x43A;&#x430;&#x43A;&#x43E;&#x433;&#x43E;-&#x442;&#x43E; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x44F;. &#x421;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x435; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x43E;&#x439; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x446;&#x438;&#x438;. &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x435;&#x441;&#x43B;&#x438; &#x431;&#x44B;&#x43B;&#x430; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x430; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44C; &#x432; &#x431;&#x43B;&#x43E;&#x433;&#x435;, &#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x43E; &#x43A; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44E; &#x43F;&#x440;&#x438;&#x43A;&#x440;&#x435;&#x43F;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x44D;&#x442;&#x430; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44C; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x441; &#x43D;&#x435;&#x439; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C;.</p>
<blockquote>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;: &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x43A;&#x430;&#x43A;&#x43E;&#x433;&#x43E;-&#x43B;&#x438;&#x431;&#x43E; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x44F;, &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x442;&#x43E; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x445; &#x432; &#x43F;&#x440;&#x43E;&#x448;&#x435;&#x434;&#x448;&#x435;&#x43C; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438;: &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, <code>BlogPostCreatedEvent</code> &#x438;&#x43B;&#x438; <code>AfterSaveEvent</code>.</p>
</blockquote>
<pre class="lang-php"><code>// &#x421;&#x442;&#x438;&#x43B;&#x44C; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x432; Symfony
use Symfony\Component\EventDispatcher\EventDispatcher;
 
$post = $this-&gt;createBlogPost(); // &#x43A;&#x430;&#x43A;&#x43E;&#x439;-&#x442;&#x43E; &#x43A;&#x43E;&#x434;, &#x447;&#x442;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x442; &#x43F;&#x43E;&#x441;&#x442;
 
$dispatcher = new EventDispatcher();
$dispatcher-&gt;dispatch(new BlogPostCreatedEvent($post));
</code></pre>
<br>
<blockquote>
<p>&#x41E;&#x431;&#x43E;&#x431;&#x449;&#x443;: &#x445;&#x443;&#x43A;&#x438; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x430;&#x442;&#x440;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x435;&#x434;&#x448;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;, &#x430; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; - &#x43A;&#x430;&#x43A; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;.</p>
</blockquote>
<h2 id>&#x42F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x43B;&#x438; &#x432;&#x435;&#x431;&#x445;&#x443;&#x43A;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;&#x43C;&#x438;?</h2>
<p>&#x412;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;, &#x432;&#x44B; &#x441;&#x43B;&#x44B;&#x448;&#x430;&#x43B;&#x438; &#x43E; &#x432;&#x435;&#x431;&#x445;&#x443;&#x43A;&#x430;&#x445; &#x438; &#x437;&#x430;&#x434;&#x430;&#x451;&#x442;&#x435;&#x441;&#x44C; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x43C;, &#x43D;&#x435; &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x43B;&#x438; &#x43E;&#x43D;&#x438; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x434;&#x440;&#x443;&#x433;&#x438;&#x43C; &#x442;&#x435;&#x440;&#x43C;&#x438;&#x43D;&#x43E;&#x43C; &#x434;&#x43B;&#x44F; &#x445;&#x443;&#x43A;&#x43E;&#x432;. <strong>&#x42D;&#x442;&#x43E; &#x43D;&#x435; &#x442;&#x430;&#x43A;</strong>. &#x425;&#x43E;&#x442;&#x44F; &#x432;&#x435;&#x431;&#x445;&#x443;&#x43A;&#x438; - &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;, &#x43D;&#x43E; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x43A;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x43F;&#x43E; HTTP-&#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x443;. &#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &quot;&#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C;&#x438;&quot; &#x44D;&#x442;&#x438;&#x445; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439; &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; URL-&#x430;&#x434;&#x440;&#x435;&#x441;&#x430; (&#x434;&#x440;&#x443;&#x433;&#x438;&#x445;) &#x432;&#x435;&#x431;-&#x441;&#x430;&#x439;&#x442;&#x43E;&#x432;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x441;&#x43B;&#x443;&#x448;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x43C; &#x43D;&#x435; &#x43E;&#x431;&#x44F;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x431;&#x44B;&#x442;&#x44C; PHP-&#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;. &#x42D;&#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x43E;&#x435; &#x432;&#x435;&#x431;-&#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;. &#x41E;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;.</p>
<h2 id>&#x417;&#x430;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435;</h2>
<p>&#x421;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F; - &#x44D;&#x442;&#x43E; &#x43C;&#x43E;&#x449;&#x43D;&#x44B;&#x439; &#x438;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43C;&#x435;&#x43D;&#x442;, &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x44E;&#x449;&#x438;&#x439; &#x441;&#x442;&#x440;&#x443;&#x43A;&#x442;&#x443;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432;&#x430;&#x448; &#x43A;&#x43E;&#x434; &#x438; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x447;&#x438;&#x442;&#x430;&#x435;&#x43C;&#x44B;&#x43C;, &#x440;&#x430;&#x437;&#x434;&#x435;&#x43B;&#x44F;&#x44F; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x43D;&#x430; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x437;&#x43E;&#x43D;&#x44B; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x438;. &#x41E;&#x43D;&#x438; &#x434;&#x430;&#x44E;&#x442; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x440;&#x430;&#x441;&#x448;&#x438;&#x440;&#x438;&#x442;&#x44C; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43A;&#x43E;&#x434;, &#x43D;&#x435; &#x43C;&#x435;&#x43D;&#x44F;&#x44F; &#x431;&#x438;&#x437;&#x43D;&#x435;&#x441;-&#x43B;&#x43E;&#x433;&#x438;&#x43A;&#x443;. &#x411;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x43E; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;&#x43E;&#x432; &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x442;&#x443; &#x438;&#x43B;&#x438; &#x438;&#x43D;&#x443;&#x44E; &#x444;&#x43E;&#x440;&#x43C;&#x443; &#x434;&#x438;&#x441;&#x43F;&#x435;&#x442;&#x447;&#x435;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x439;, &#x438; &#x432;&#x441;&#x435; &#x43E;&#x43D;&#x438; &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x441;&#x432;&#x43E;&#x438; &#x43F;&#x43B;&#x44E;&#x441;&#x44B; &#x438; &#x43C;&#x438;&#x43D;&#x443;&#x441;&#x44B;.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Как сравнивать даты в MySQL]]></title><description><![CDATA[Научись правильно работать с датами в Mysql. Как правильно выбирать даты по интервалу, работа с CURDATE, DATE и INTERVAL]]></description><link>https://badtry.net/kak-vypolniat-sravnieniie-dat-v-mysql/</link><guid isPermaLink="false">62a6324e0f555f2eef8c237d</guid><category><![CDATA[MySql]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 05 Dec 2021 11:56:51 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/12/preview-mysql-date.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/12/preview-mysql-date.jpg" alt="&#x41A;&#x430;&#x43A; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x430;&#x442;&#x44B; &#x432; MySQL"><p>MySQL &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x434;&#x430;&#x442;&#x44B; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x441;&#x43E;&#x431;&#x43E;&#x439;, &#x438;&#x43B;&#x438; &#x441; &#x43A;&#x430;&#x43A;&#x438;&#x43C;-&#x442;&#x43E; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; &#x432;&#x44B;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;&#x43C;. &#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x43C;&#x44B; &#x43E;&#x431;&#x441;&#x443;&#x434;&#x438;&#x43C;, &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x434;&#x430;&#x442;&#x43E;&#x439; &#x432; Mysql, &#x43A;&#x430;&#x43A; &#x438;&#x437; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x438; &#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x441; &#x443;&#x447;&#x435;&#x442;&#x43E;&#x43C; &#x434;&#x430;&#x442;.</p>
<p>&#x41A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x442;&#x44C; &#x434;&#x430;&#x442;&#x443; &#x43A;&#x430;&#x43A;&#x43E;&#x433;&#x43E;-&#x442;&#x43E; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; &#x441; &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x434;&#x430;&#x442;&#x43E;&#x439;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; <code>DATE()</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x438;&#x437;&#x432;&#x43B;&#x435;&#x43A;&#x430;&#x435;&#x442; &#x434;&#x430;&#x442;&#x443; &#x438;&#x437; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430; (&#x431;&#x435;&#x437; &#x443;&#x447;&#x435;&#x442;&#x430; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438;) &#x438; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x442;&#x44C; &#x435;&#x435; &#x441;&#x43E; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x43E;&#x439; &#x43D;&#x443;&#x436;&#x43D;&#x43E;&#x439; &#x432;&#x430;&#x43C; &#x434;&#x430;&#x442;&#x44B;.</p>
<p>&#x412; &#x43F;&#x440;&#x43E;&#x448;&#x43B;&#x43E;&#x439; &#x441;&#x432;&#x43E;&#x435;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x43F;&#x438;&#x441;&#x430;&#x43B; &#x43F;&#x440;&#x43E; <a href="https://badcode.ru/riealnyi-primier-indieksirovaniia-nieskolkikh-poliei-s-poiskom-po-diapazonu-v-mysql/?ref=badtry.net" target="_blank">&#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;&#x43C;&#x438;</a>. &#x410; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x437;&#x430;&#x442;&#x440;&#x43E;&#x43D;&#x443; &#x43D;&#x435; &#x43C;&#x435;&#x43D;&#x435;&#x435; &#x432;&#x430;&#x436;&#x43D;&#x443;&#x44E; &#x442;&#x435;&#x43C;&#x443; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; &#x434;&#x430;&#x442;&#x43E;&#x439; &#x432; MySQL, &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x435; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x43C;&#x443; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;&#x443;.</p>
<p>&#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x438;&#x43C;, &#x447;&#x442;&#x43E; &#x443; &#x432;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x430; MySQL &#x43F;&#x43E;&#x434; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; <code>users</code> &#x441;&#x43E; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C;&#x438; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x430;&#x43C;&#x438;:</p>
<pre><code class="lang-js">mysql&gt; SELECT * FROM users;
+---------+------------+-----------+---------------------+
| user_id | first_name | last_name | last_update         |
+---------+------------+-----------+---------------------+
|     201 | Peter      | Parker    | 2021-08-01 16:15:00 |
|     202 | Thor       | Odinson   | 2021-08-02 12:15:00 |
|     204 | Loki       | Laufeyson | 2021-08-03 10:43:24 |
+---------+------------+-----------+---------------------+
3 rows in set (0.00 sec)
</code></pre>
<br>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438; &#x438;&#x437; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x44B; <code>users</code>, &#x443; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; <code>last_update</code> &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; <code>2021-08-01</code>.</p>
<p>&#x418; &#x44D;&#x442;&#x43E; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C;:</p>
<pre><code class="lang-js">SELECT 
    user_id,
    first_name,
    last_name,
    last_update
FROM 
    users
WHERE 
    DATE(last_update) &gt; &quot;2021-08-01&quot;
ORDER BY 
    last_update ASC
</code></pre>
<br>
<p>&#x420;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x432;&#x44B;&#x448;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C;:</p>
<pre><code class="lang-js">+---------+------------+-----------+---------------------+
| user_id | first_name | last_name | last_update         |
+---------+------------+-----------+---------------------+
|     202 | Thor       | Odinson   | 2021-08-02 12:15:00 |
|     204 | Loki       | Laufeyson | 2021-08-03 10:43:24 |
+---------+------------+-----------+---------------------+
2 rows in set (0.00 sec)
</code></pre>
<br>
<p>&#x41F;&#x440;&#x438; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x438; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; &#x442;&#x438;&#x43F;&#x430; <code>DATETIME</code> &#x438;&#x43B;&#x438; <code>TIMESTAMP</code> &#x441; &#x434;&#x430;&#x442;&#x43E;&#x439; &#x432; &#x432;&#x438;&#x434;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438; (&#x43A;&#x430;&#x43A; &#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435; &#x432;&#x44B;&#x448;&#x435;), MySQL &#x430;&#x432;&#x442;&#x43E;&#x43C;&#x430;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x43F;&#x440;&#x435;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x443;&#x435;&#x442; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x43A; &#x435;&#x434;&#x438;&#x43D;&#x43E;&#x43C;&#x443; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x443; &#x434;&#x43B;&#x44F; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x438; &#x432;&#x435;&#x440;&#x43E;&#x43D;&#x435;&#x442; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x44F;&#x449;&#x437;&#x438;&#x435; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x44B;.</p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44C; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; <code>ORDER BY</code> &#x432; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x432;&#x44B;&#x448;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;.</p>
<p>&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x440;&#x430;&#x437;&#x443; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x438;&#x442;&#x44C;, &#x443;&#x434;&#x43E;&#x432;&#x43B;&#x435;&#x442;&#x432;&#x43E;&#x440;&#x44F;&#x435;&#x442; &#x43B;&#x438; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x432;&#x430;&#x448;&#x435;&#x43C;&#x443; &#x442;&#x440;&#x435;&#x431;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E;, &#x432;&#x437;&#x433;&#x43B;&#x44F;&#x43D;&#x443;&#x432; &#x43D;&#x430; &#x43F;&#x435;&#x440;&#x432;&#x443;&#x44E; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x443;. &#x41A;&#x430;&#x43A; &#x438; &#x432; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x43E;&#x43C; &#x432;&#x44B;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435;, &#x441;&#x430;&#x43C;&#x43E;&#x435; &#x440;&#x430;&#x43D;&#x43D;&#x435;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; <code>last_update</code> &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x43E; &#x431;&#x44B;&#x442;&#x44C; <code>2021-08-02</code>.</p>
<p>&#x412;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; <code>BETWEEN</code>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x435;&#x446; &#x434;&#x430;&#x442;&#x44B; &#x43D;&#x430;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x441;&#x44F; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x434;&#x432;&#x443;&#x43C;&#x44F; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x432;&#x44B;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;&#x43C;&#x438; &#x434;&#x430;&#x442;&#x44B;:</p>
<pre><code class="lang-js">SELECT 
    user_id,
    first_name,
    last_name,
    last_update
FROM 
    users
WHERE 
    BETWEEN &quot;2021-08-01&quot; AND &quot;2021-08-02&quot;
ORDER BY 
    last_update ASC
</code></pre>
<br>
<p>&#x41F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x432;&#x44B;&#x448;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x432;&#x44B;&#x432;&#x435;&#x434;&#x435;&#x442; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;:</p>
<pre><code class="lang-js">+---------+------------+-----------+---------------------+
| user_id | first_name | last_name | last_update         |
+---------+------------+-----------+---------------------+
|     201 | Peter      | Parker    | 2021-08-01 16:15:00 |
|     202 | Thor       | Odinson   | 2021-08-02 12:15:00 |
+---------+------------+-----------+---------------------+
2 rows in set (0.00 sec)
</code></pre>
<br>
<p><strong>&#x41D;&#x41E;!</strong> MySQL &#x434;&#x43E;&#x43F;&#x443;&#x441;&#x43A;&#x430;&#x435;&#x442; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x434;&#x438;&#x43D; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442; &#x434;&#x430;&#x442;&#x44B;: <code>yyyy-mm-dd</code>, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x43E;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x43E;&#x432;&#x43E;&#x435; &#x432;&#x44B;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x430;&#x442;&#x44B; &#x43F;&#x43E; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x442;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43A; &#x43D;&#x443;&#x436;&#x43D;&#x43E;&#x43C;&#x443; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x443;.</p>
<h2 id="date">&#x417;&#x430;&#x447;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; DATE() &#x434;&#x43B;&#x44F; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x434;&#x430;&#x442;</h2>
<p>&#x424;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; MySQL <code>DATE()</code> &#x438;&#x437;&#x432;&#x43B;&#x435;&#x43A;&#x430;&#x435;&#x442; &#x447;&#x430;&#x441;&#x442;&#x44C; &#x434;&#x430;&#x442;&#x44B; &#x438;&#x437; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; <code>DATETIME</code> &#x438;&#x43B;&#x438; <code>TIMESTAMP</code> &#x438; &#x43F;&#x440;&#x438;&#x432;&#x43E;&#x434;&#x438;&#x442; &#x435;&#x451; &#x43A; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x443; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438;, &#x43A;&#x430;&#x43A; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E; &#x43D;&#x438;&#x436;&#x435;:</p>
<pre><code class="lang-js">mysql&gt; SELECT DATE(&apos;2005-08-28 01:02:03&apos;);
-&gt; &apos;2005-08-28&apos;
</code></pre>
<br>
<p>&#x42D;&#x442;&#x430; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; MySQL &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B; &#x434;&#x43B;&#x44F; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x447;&#x430;&#x441;&#x442;&#x44C; &#x434;&#x430;&#x442;&#x44B; &#x432;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430;, &#x431;&#x435;&#x437; &#x443;&#x447;&#x435;&#x442;&#x430; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x43D;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; <code>DATE()</code>, &#x442;&#x43E; MySQL &#x442;&#x430;&#x43A;&#x436;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x438; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; &#x441; &#x432;&#x430;&#x448;&#x438;&#x43C; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x43E;&#x432;&#x44B;&#x43C; &#x432;&#x44B;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;&#x43C;. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x43E;&#x43C; &#x431;&#x443;&#x434;&#x443;&#x442; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x438;, &#x43F;&#x43E;&#x43B;&#x43D;&#x43E;&#x441;&#x442;&#x44C;&#x44E; &#x441;&#x43E;&#x432;&#x43F;&#x430;&#x434;&#x430;&#x44E;&#x430;&#x449;&#x438;&#x435; &#x434;&#x43E; &#x441;&#x435;&#x43A;&#x443;&#x43D;&#x434;&#x44B;.</p>
<p>&#x412;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x44F;&#x441;&#x44C; &#x43A; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x43E;&#x43C;&#x443; &#x432;&#x44B;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x443; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x44B;, &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;:</p>
<pre><code class="lang-js">SELECT 
    user_id,
    first_name,
    last_name,
    last_update
FROM 
    users
WHERE 
    last_update &gt; &quot;2021-08-01&quot;
ORDER BY 
    last_update ASC
</code></pre>
<br>
<p>&#x412;&#x435;&#x440;&#x43D;&#x435;&#x442; &#x442;&#x430;&#x43A;&#x438;&#x435; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x44B;:</p>
<pre><code class="lang-js">+---------+------------+-----------+---------------------+
| user_id | first_name | last_name | last_update         |
+---------+------------+-----------+---------------------+
|     201 | Peter      | Parker    | 2021-08-01 16:15:00 |
|     202 | Thor       | Odinson   | 2021-08-02 12:15:00 |
|     204 | Loki       | Laufeyson | 2021-08-03 10:43:24 |
+---------+------------+-----------+---------------------+
3 rows in set (0.01 sec)
</code></pre>
<br>
<p>&#x41A;&#x430;&#x43A; &#x432;&#x438;&#x434;&#x43D;&#x43E; &#x438;&#x437; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x43E;&#x432;, &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x44F; <code>last_update &gt; &quot;2021-08-01&quot;</code> &#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x441;&#x44F; <code>last_update &gt; &quot;2021-08-01 00:00:00&quot;</code>, &#x438; MySQL &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x442; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43D;&#x430;&#x431;&#x43E;&#x440; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x43E;&#x432;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x441;&#x43E;&#x431;&#x438;&#x440;&#x430;&#x435;&#x442;&#x435;&#x441;&#x44C; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x438; &#x432;&#x43A;&#x43B;&#x44E;&#x447;&#x430;&#x44F; &#x432;&#x440;&#x435;&#x43C;&#x44F;, &#x442;&#x43E; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x447;&#x430;&#x441;&#x442;&#x44C; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438; &#x432; &#x432;&#x430;&#x448;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x43E;&#x432;&#x43E;&#x435; &#x432;&#x44B;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;.</p>
<p>&#x421;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x438;&#x437; &#x442;&#x43E;&#x439; &#x436;&#x435; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x44B;:</p>
<pre><code class="lang-js">SELECT 
    user_id,
    first_name,
    last_name,
    last_update
FROM 
    users
WHERE 
    last_update &gt; &quot;2021-08-01 20:00:00&quot;
ORDER BY 
    last_update ASC
</code></pre>
<br>
<p>&#x414;&#x430;&#x441;&#x442; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;:</p>
<pre><code class="lang-js">+---------+------------+-----------+---------------------+
| user_id | first_name | last_name | last_update         |
+---------+------------+-----------+---------------------+
|     202 | Thor       | Odinson   | 2021-08-02 12:15:00 |
|     204 | Loki       | Laufeyson | 2021-08-03 10:43:24 |
+---------+------------+-----------+---------------------+
2 rows in set (0.00 sec)
</code></pre>
<br>
<h2 id>&#x421;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x430;&#x442; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x434;&#x432;&#x443;&#x43C;&#x44F; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430;&#x43C;&#x438; &#x434;&#x430;&#x442;</h2>
<p>&#x415;&#x441;&#x43B;&#x438; &#x443; &#x432;&#x430;&#x441; &#x443;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x434;&#x432;&#x430; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; &#x434;&#x430;&#x442;&#x44B;, &#x442;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x440;&#x430;&#x437;&#x443; &#x436;&#x435; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x442;&#x44C; &#x438;&#x445; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432; <code>&lt;</code>, <code>&lt;=</code>, <code>=</code>, <code>&gt;=</code>, <code>&gt;</code> &#x438;&#x43B;&#x438; <code>BETWEEN</code>.</p>
<p>&#x41F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x438;&#x43C;, &#x447;&#x442;&#x43E; &#x432; &#x432;&#x430;&#x448;&#x435;&#x439; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x44B; <code>last_update</code> &#x438; <code>last_login</code>, &#x43A;&#x430;&#x43A; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E; &#x43D;&#x438;&#x436;&#x435;:</p>
<pre><code class="lang-js">+---------+------------+-----------+---------------------+---------------------+
| user_id | first_name | last_name | last_update         | last_login          |
+---------+------------+-----------+---------------------+---------------------+
|     201 | Peter      | Parker    | 2021-08-01 16:15:00 | 2021-08-17 10:00:00 |
|     202 | Thor       | Odinson   | 2021-08-02 12:15:00 | 2021-08-02 08:00:00 |
|     204 | Loki       | Laufeyson | 2021-08-03 10:43:24 | 2021-08-10 06:00:00 |
+---------+------------+-----------+---------------------+---------------------+
</code></pre>
<br>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x435;&#x446; <code>last_login</code> &#x43D;&#x430;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x437;&#x436;&#x435; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; <code>last_update</code>, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;:</p>
<pre><code class="lang-js">SELECT 
    user_id,
    first_name,
    last_name,
    last_update
FROM 
    users
WHERE 
    last_login &gt; last_update
ORDER BY 
    last_update ASC
</code></pre>
<br>
<p>&#x420;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442; &#x431;&#x443;&#x434;&#x435;&#x442; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C;:</p>
<pre><code class="lang-js">+---------+------------+-----------+---------------------+---------------------+
| user_id | first_name | last_name | last_update         | last_login          |
+---------+------------+-----------+---------------------+---------------------+
|     204 | Loki       | Laufeyson | 2021-08-03 10:43:24 | 2021-08-10 06:00:00 |
|     201 | Peter      | Parker    | 2021-08-01 16:15:00 | 2021-08-17 10:00:00 |
+---------+------------+-----------+---------------------+---------------------+
2 rows in set (0.00 sec)
</code></pre>
<br>
<p>&#x412;&#x43E;&#x442; &#x43A;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x442;&#x44C; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x430;&#x442; &#x432; MySQL.</p>
<p>&#x41D;&#x435; &#x437;&#x430;&#x431;&#x443;&#x434;&#x44C;&#x442;&#x435;, &#x447;&#x442;&#x43E; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x43E;&#x432;&#x43E;&#x435; &#x432;&#x44B;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x430;&#x442;&#x44B;, &#x43E;&#x442;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x43E;&#x435; &#x43A;&#x430;&#x43A; <code>yyyy-mm-dd</code> &#x438;&#x43B;&#x438; <code>yyyy-mm-dd hh:mm:ss</code>, &#x435;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x438;&#x442;&#x44C; &#x438; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x447;&#x430;&#x441;&#x442;&#x44C;.</p>
<h2 id>&#x412;&#x44B;&#x431;&#x43E;&#x440; &#x434;&#x430;&#x442; &#x437;&#x430; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x43D;&#x43D;&#x44B;&#x439; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x432;&#x430;&#x43B;</h2>
<p>&#x41E;&#x447;&#x435;&#x43D;&#x44C; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x441;&#x44F; &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x438; &#x441; &#x434;&#x430;&#x442;&#x43E;&#x439; &#x437;&#x430; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x43D;&#x43D;&#x44B;&#x439; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x432;&#x430;&#x43B;. &#x414;&#x43B;&#x44F; &#x44D;&#x442;&#x438;&#x445; &#x446;&#x435;&#x43B;&#x435;&#x439; &#x432; MySql &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x442; &#x432;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43D;&#x43D;&#x430;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; <code>INTERVAL</code>, &#x443;&#x43F;&#x440;&#x43E;&#x449;&#x430;&#x44E;&#x449;&#x430;&#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; &#x434;&#x430;&#x442;&#x430;&#x43C;&#x438; &#x437;&#x430; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x43F;&#x435;&#x440;&#x438;&#x43E;&#x434;.</p>
<p>&#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x434;&#x43B;&#x44F; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x438;, &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x437;&#x430; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x439; &#x433;&#x43E;&#x434;, &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;:</p>
<pre><code class="lang-js">SELECT
    user_id,
    first_name,
    last_name,
    last_update
FROM
    users
WHERE
    last_login &gt; CURDATE() - INTERVAL 1 YEAR
ORDER BY
    last_update ASC
</code></pre>
<br>
<p>&#x41F;&#x440;&#x438; &#x442;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; <code>INTERVAL</code> &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x43C;&#x438; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x432;&#x430;&#x43B;&#x430;&#x43C;&#x438; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438;:</p>
<ul>
<li>SECOND - &#x441;&#x435;&#x43A;&#x443;&#x43D;&#x434;&#x44B;</li>
<li>MINUTE - &#x43C;&#x438;&#x43D;&#x443;&#x442;&#x44B;</li>
<li>HOUR - &#x447;&#x430;&#x441;&#x44B;</li>
<li>DAY - &#x434;&#x43D;&#x438;</li>
<li>MONTH - &#x43C;&#x435;&#x441;&#x44F;&#x446;&#x44B;</li>
<li>YEAR - &#x433;&#x43E;&#x434;&#x430;</li>
</ul>
<p>&#x422;&#x435; &#x436;&#x435; &#x441;&#x430;&#x43C;&#x44B;&#x435; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x44F; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x438;&#x43C;&#x44B; &#x438; &#x43A; UPDATE-&#x43E;&#x43F;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44F;&#x43C;:</p>
<pre><code class="lang-js">UPDATE 
    users
SET 
    last_update = CURDATE() - INTERVAL 10 DAY
WHERE
    id = 1
</code></pre>
<br>
<h2 id>&#x420;&#x435;&#x437;&#x44E;&#x43C;&#x435;</h2>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x43F;&#x43E;&#x433;&#x43E;&#x432;&#x43E;&#x440;&#x438;&#x43B;&#x438; &#x43F;&#x440;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; &#x434;&#x430;&#x442;&#x430;&#x43C;&#x438; &#x432; Mysql. &#x41A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x434;&#x430;&#x442;&#x44B; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x43E;&#x439; &#x434;&#x430;&#x442;&#x44B;, &#x438;&#x43B;&#x438; &#x43F;&#x43E; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43D;&#x43E;&#x43C;&#x443; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x432;&#x430;&#x43B;&#x443;. &#x410; &#x442;&#x430;&#x43A; &#x436;&#x435;, &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43A;&#x430;&#x43C;&#x438; &#x434;&#x430;&#x442; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x442;&#x438;&#x43F;&#x43E;&#x432;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x43F;&#x43E;&#x443;&#x43F;&#x440;&#x430;&#x436;&#x43D;&#x44F;&#x442;&#x44C;&#x441;&#x44F; &#x441; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;&#x43C;&#x438;, &#x442;&#x43E; &#x432;&#x43E;&#x442; &#x432;&#x430;&#x43C; &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x430;&#x44F; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x430;:</p>
<pre><code class="lang-js">CREATE TABLE `users` (
  `user_id` smallint unsigned NOT NULL AUTO_INCREMENT,
  `first_name` varchar(45) NOT NULL,
  `last_name` varchar(45) NOT NULL,
  `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_login` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

INSERT INTO `users` (`user_id`, `first_name`, `last_name`, `last_update`, `last_login`)
VALUES
	(201,&apos;Peter&apos;,&apos;Parker&apos;,&apos;2021-08-01 16:15:00&apos;,&apos;2021-08-17 10:00:00&apos;),
	(202,&apos;Thor&apos;,&apos;Odinson&apos;,&apos;2021-08-02 12:15:00&apos;,&apos;2021-08-02 08:00:00&apos;),
	(204,&apos;Loki&apos;,&apos;Laufeyson&apos;,&apos;2021-08-03 10:43:24&apos;,&apos;2021-08-10 06:00:00&apos;);
</code></pre>
<br>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Реальный пример индексирования нескольких полей с поиском по диапазону в MySQL]]></title><description><![CDATA[Узнай как правильно строить составные индексы для оптимальной работы. Как правильно искать по диапазонам значения индекса]]></description><link>https://badtry.net/riealnyi-primier-indieksirovaniia-nieskolkikh-poliei-s-poiskom-po-diapazonu-v-mysql/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2380</guid><category><![CDATA[MySql]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 05 Dec 2021 11:00:20 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/12/mysqlindex.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/12/mysqlindex.jpg" alt="&#x420;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x43F;&#x43E;&#x43B;&#x435;&#x439; &#x441; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x43C; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x432; MySQL"><p>&#x420;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44F; &#x43D;&#x430;&#x434; &#x43F;&#x43E;&#x432;&#x44B;&#x448;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x43E;&#x434;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438; &#x43E;&#x434;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x437; &#x441;&#x430;&#x43C;&#x44B;&#x445; &#x43C;&#x435;&#x434;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x43A; MySQL, &#x447;&#x442;&#x43E; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x43B;&#x441;&#x44F; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x439; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x435;, &#x43C;&#x44B; &#x441;&#x442;&#x43E;&#x43B;&#x43A;&#x43D;&#x443;&#x43B;&#x438;&#x441;&#x44C; &#x441; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x44B;&#x43C; &#x441;&#x446;&#x435;&#x43D;&#x430;&#x440;&#x438;&#x435;&#x43C;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x43B; &#x43A; &#x446;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; &#x43E;&#x431;&#x441;&#x443;&#x436;&#x434;&#x435;&#x43D;&#x438;&#x44F;&#x43C; &#x438; &#x440;&#x430;&#x437;&#x43C;&#x44B;&#x448;&#x43B;&#x435;&#x43D;&#x438;&#x44F;&#x43C;. &#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x44E; &#x44D;&#x442;&#x43E;&#x442; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x438; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x443; &#x440;&#x435;&#x448;&#x435;&#x43D;&#x438;&#x435;, &#x432;&#x44B;&#x434;&#x435;&#x43B;&#x438;&#x432; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x434;&#x435;&#x442;&#x430;&#x43B;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x443;&#x447;&#x438;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43D;&#x438;&#x438; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432; &#x434;&#x43B;&#x44F; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x44B;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;.</p>
<p>&#x42D;&#x442;&#x430; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44F; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x441;&#x43E;&#x431;&#x43E;&#x439; &#x43E;&#x431;&#x437;&#x43E;&#x440; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x44F;, &#x441; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C; &#x43C;&#x44B; &#x441;&#x442;&#x43E;&#x43B;&#x43A;&#x43D;&#x443;&#x43B;&#x438;&#x441;&#x44C;, &#x433;&#x434;&#x435; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;&#x446;&#x438;&#x438; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x43E;&#x43B;&#x435;&#x439;, &#x433;&#x434;&#x435; &#x43E;&#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x438;&#x441;&#x43A; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;. &#x427;&#x442;&#x43E;&#x431;&#x44B; &#x43D;&#x435; &#x437;&#x430;&#x442;&#x44F;&#x433;&#x438;&#x432;&#x430;&#x442;&#x44C;, &#x44F; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x44E; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x44B;&#x435; &#x43A;&#x43E;&#x43D;&#x446;&#x435;&#x43F;&#x446;&#x438;&#x438; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;, &#x43D;&#x435;&#x43F;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E; &#x441;&#x432;&#x44F;&#x437;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x441; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43E;&#x43C;. &#x414;&#x43B;&#x44F; &#x434;&#x430;&#x43B;&#x44C;&#x43D;&#x435;&#x439;&#x448;&#x435;&#x433;&#x43E; &#x438;&#x437;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x435; &#x437;&#x43D;&#x430;&#x43D;&#x438;&#x44F; &#x43F;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E; MySQL.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x43F;&#x43E;&#x433;&#x43E;&#x432;&#x43E;&#x440;&#x438;&#x43C; &#x43F;&#x440;&#x43E; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x439; <strong>&#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x432; Mysql</strong>, &#x438; &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x435;&#x433;&#x43E; &#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x432; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x44F;&#x445;. &#x41D;&#x430; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x435;&#x43C; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434; &#x43A; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432; &#x438; &#x432;&#x44B;&#x431;&#x43E;&#x440;&#x430; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43A;&#x430; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43E;&#x43A; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;. &#x410; &#x442;&#x430;&#x43A; &#x436;&#x435;, &#x440;&#x430;&#x437;&#x431;&#x435;&#x440;&#x435;&#x43C;&#x441;&#x44F;, &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x43C; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x438; &#x43A;&#x430;&#x43A;&#x438;&#x435; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x44B; &#x435;&#x441;&#x442;&#x44C; &#x43E;&#x431;&#x43E;&#x439;&#x442;&#x438; &#x43E;&#x433;&#x440;&#x430;&#x43D;&#x438;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x442;&#x430;&#x43A;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;.</p>
<h2 id>&#x41F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x430;</h2>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x44B; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x430;&#x43D;&#x44B; &#x43D;&#x430; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x439; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x435;.</p>
<pre><code class="lang-js">CREATE TABLE `blog_index_example_table` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `to_be_processed_at` datetime NOT NULL,
  `booking_confirmed_at` datetime DEFAULT NULL,
  `processed_at` datetime DEFAULT NULL,
  `canceled_at` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ready_to_be_processed_idx_1` (`processed_at`, `canceled_at`, `to_be_processed_at`),
  KEY `ready_to_be_processed_idx_2` (`processed_at`, `canceled_at`, `to_be_processed_at`, `booking_confirmed_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
</code></pre>
<br>
<p>&#x41F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x438;&#x43C;, &#x447;&#x442;&#x43E; <strong>blog_index_example_table</strong> - &#x44D;&#x442;&#x43E; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x430;&#x44F; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x430;, &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x449;&#x430;&#x44F; &#x43C;&#x438;&#x43B;&#x43B;&#x438;&#x43E;&#x43D;&#x44B; &#x441;&#x442;&#x440;&#x43E;&#x43A;. &#x41C;&#x44B; &#x441;&#x442;&#x440;&#x435;&#x43C;&#x438;&#x43C;&#x441;&#x44F; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x44D;&#x444;&#x444;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43A; &#x44D;&#x442;&#x43E;&#x439; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x435;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;:</p>
<pre><code class="lang-js">SELECT 
  blog_index_example_table.*
FROM 
  blog_index_example_table
WHERE
  booking_confirmed_at IS NOT NULL
  AND to_be_processed_at <= "2020-10-08 09:45:02" and processed_at is null canceled_at null; < code></=></code></pre>
<br>
<p>&#x414;&#x43B;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x43A; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x435;, &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x449;&#x435;&#x439; &#x43C;&#x438;&#x43B;&#x43B;&#x438;&#x43E;&#x43D;&#x44B; &#x441;&#x442;&#x440;&#x43E;&#x43A;, &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x43E; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;. &#x41D;&#x43E; &#x43A;&#x430;&#x43A; &#x43D;&#x430;&#x43C; &#x441;&#x442;&#x440;&#x443;&#x43A;&#x442;&#x443;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;, <strong>&#x43F;&#x43E; &#x43A;&#x430;&#x43A;&#x438;&#x43C; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43A;&#x430;&#x43C;</strong> &#x43C;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x435;&#x433;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C;? &#x41F;&#x435;&#x440;&#x432;&#x430;&#x44F; &#x438; &#x43E;&#x447;&#x435;&#x432;&#x438;&#x434;&#x43D;&#x430;&#x44F; &#x438;&#x434;&#x435;&#x44F; &#x434;&#x43B;&#x44F; &#x43C;&#x43D;&#x43E;&#x433;&#x438;&#x445; &#x438;&#x437; &#x43D;&#x430;&#x441;, &#x432;&#x43A;&#x43B;&#x44E;&#x447;&#x430;&#x44F; &#x43C;&#x435;&#x43D;&#x44F; - &#x44D;&#x442;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x447;&#x435;&#x442;&#x44B;&#x440;&#x435;&#x445;-&#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x439; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x442;&#x438;&#x43F;&#x430; <mark>ready_to_be_processed_idx_2</mark>.</p>
<p>&#x42D;&#x442;&#x43E;&#x442; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x435;&#x434;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x438; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x437;&#x430; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43C;&#x438;&#x43B;&#x43B;&#x438;&#x441;&#x435;&#x43A;&#x443;&#x43D;&#x434;. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x43D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435; &#x44D;&#x442;&#x43E;&#x442; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x440;&#x435;&#x441;&#x443;&#x440;&#x441;&#x43E;&#x432;, &#x447;&#x435;&#x43C; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E;. &#x41F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44C;&#x442;&#x435; &#x43C;&#x43D;&#x435; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x438;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x441; &#x43D;&#x438;&#x43C; &#x43D;&#x435; &#x442;&#x430;&#x43A;.</p>
<h2 id="mysql">MySQL &#x443;&#x43C;&#x43D;&#x430; - &#x43D;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x435;&#x435; &#x443;&#x43C;&#x43D;&#x435;&#x435;</h2>
<p>&#x41A;&#x430;&#x43A; &#x43C;&#x43D;&#x43E;&#x433;&#x438;&#x435; &#x438;&#x437; &#x432;&#x430;&#x441; &#x443;&#x436;&#x435; &#x437;&#x43D;&#x430;&#x44E;&#x442;, &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x439; &#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435; WHERE &#x43D;&#x435; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x43D;&#x438;&#x43A;&#x430;&#x43A;&#x43E;&#x433;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;. MySQL &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x443;&#x43C;&#x43D;&#x430;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x43B;&#x443;&#x447;&#x448;&#x438;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x434;&#x43B;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x438; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x439; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x430; WHERE.</p>
<p>&#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; MySQL &#x43D;&#x435; &#x43C;&#x435;&#x43D;&#x44F;&#x435;&#x442; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x441;&#x430;&#x43C;&#x43E;&#x433;&#x43E; <strong>&#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;</strong>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x44D;&#x444;&#x444;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E; &#x432; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x43E;&#x442; &#x432;&#x430;&#x448;&#x438;&#x445; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x439;. &#x42D;&#x442;&#x43E; &#x441;&#x442;&#x43E;&#x438;&#x43B;&#x43E; &#x431;&#x44B; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x440;&#x435;&#x441;&#x443;&#x440;&#x441;&#x43E;&#x432;, &#x438; &#x432;&#x441;&#x435; &#x440;&#x430;&#x432;&#x43D;&#x43E; &#x43D;&#x435; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x431;&#x44B;&#x43B;&#x43E; &#x431;&#x44B; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x441;&#x446;&#x435;&#x43D;&#x430;&#x440;&#x438;&#x438;. &#x414;&#x440;&#x443;&#x433;&#x438;&#x43C;&#x438; &#x441;&#x43B;&#x43E;&#x432;&#x430;&#x43C;&#x438;: <strong>&#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x43E;&#x432; &#x432;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;</strong> (&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x43E;&#x435;).</p>
<p>&#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x43E;&#x432; &#x432; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x435; &#x43D;&#x435; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x43E;&#x434;&#x438;&#x43D;&#x430;&#x43A;&#x43E;&#x432;. &#x42D;&#x442;&#x43E; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x442; &#x43E;&#x442; &#x432;&#x430;&#x448;&#x438;&#x445; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x438; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x43D;&#x43E;&#x441;&#x442;&#x435;&#x439;. &#x412; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x43E;&#x43C; &#x432;&#x44B;&#x448;&#x435; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; <mark>processed_at &gt;</mark> &#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x443;&#x435;&#x442; &#x43D;&#x430;&#x438;&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;&#x435; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x441;&#x442;&#x440;&#x43E;&#x43A;. &#x41F;&#x43E; &#x44D;&#x442;&#x43E;&#x439; &#x43F;&#x440;&#x438;&#x447;&#x438;&#x43D;&#x435; &#x43C;&#x44B; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x43B;&#x438; &#x435;&#x433;&#x43E; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;. &#x41A; &#x441;&#x43E;&#x436;&#x430;&#x43B;&#x435;&#x43D;&#x438;&#x44E;, &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x442;&#x440;&#x438; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43F;&#x43E;&#x445;&#x43E;&#x436;&#x438; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438;. &#x41A;&#x430;&#x43A; &#x436;&#x435; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x434;&#x43B;&#x44F; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445;?</p>
<blockquote>
<p>&#x427;&#x442;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x438;&#x442;: &#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x443;&#x435;&#x442; &#x43D;&#x430;&#x438;&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;&#x435; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x441;&#x442;&#x440;&#x43E;&#x43A;?<br>
&#x41F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x438;&#x43C;, &#x447;&#x442;&#x43E; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435; &#x43D;&#x435; 4 &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; WHERE, &#x430; 4 &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x441; &#x43E;&#x434;&#x43D;&#x438;&#x43C; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435;&#x43C;:</p>
<ul>
<li><code>WHERE booking_confirmed_at IS NOT NULL</code></li>
<li><code>WHERE booking_confirmed_at IS NOT NULL</code></li>
<li><code>WHERE processed_at IS NULL</code></li>
<li><code>WHERE canceled_at IS NULL</code></li>
</ul>
<p>&#x418; &#x43A;&#x430;&#x43A;&#x43E;&#x435; &#x438;&#x437; &#x44D;&#x442;&#x438;&#x445; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x439; &#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x443;&#x435;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;&#x435; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x441;&#x442;&#x440;&#x43E;&#x43A; (&#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x442; &#x43C;&#x435;&#x43D;&#x44C;&#x448;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x435;&#x439;), &#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x43D;&#x430;&#x43C; &#x438; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E;.</p>
</blockquote>
<h3 id>&#x423;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;</h3>
<p>&#x412; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x442;&#x440;&#x438; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43A;&#x438;, &#x43D;&#x435; &#x43F;&#x43E;&#x43F;&#x430;&#x434;&#x430;&#x44E;&#x449;&#x438;&#x435; &#x432; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;. &#x41D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x438; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x44B; &#x432; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;, &#x43E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x43C;&#x44B; &#x43D;&#x435; &#x443;&#x432;&#x435;&#x440;&#x435;&#x43D;&#x44B; &#x43D;&#x430; 100%, &#x432; &#x43A;&#x430;&#x43A;&#x43E;&#x43C; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43A;&#x435; &#x438;&#x445; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x435;&#x442; &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x442;&#x44C;. &#x425;&#x43E;&#x440;&#x43E;&#x448;&#x438;&#x43C; &#x43D;&#x430;&#x447;&#x430;&#x43B;&#x43E;&#x43C; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x437;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x442;&#x438;&#x43F;&#x430; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x439;. &#x42D;&#x442;&#x43E; &#x43E;&#x434;&#x438;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x438;&#x43B;&#x438; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430;? &#x42F; &#x441;&#x435;&#x439;&#x447;&#x430;&#x441; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x44E; &#x43F;&#x43E;&#x447;&#x435;&#x43C;&#x443; &#x44D;&#x442;&#x43E; &#x432;&#x430;&#x436;&#x43D;&#x43E; &#x438; &#x432; &#x447;&#x435;&#x43C; &#x440;&#x430;&#x437;&#x43D;&#x438;&#x446;&#x430;.</p>
<h4 id>&#x41E;&#x434;&#x438;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;</h4>
<p>&#x414;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x441;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; <code>canceled_at</code>:</p>
<pre><code class="lang-js">WHERE ... canceled_at IS NULL</code></pre>
<br>
<p>&#x41D;&#x430; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x439; &#x432;&#x437;&#x433;&#x43B;&#x44F;&#x434; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x447;&#x442;&#x43E; <strong>IS NULL</strong> - &#x44D;&#x442;&#x43E; &#x43A;&#x440;&#x438;&#x442;&#x435;&#x440;&#x438;&#x439; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x44F; &#x43C;&#x43D;&#x43E;&#x436;&#x435;&#x441;&#x442;&#x432;&#x430; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; NULL &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442; &#x43D;&#x435;&#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;. &#x41D;&#x43E;, &#x435;&#x441;&#x43B;&#x438; &#x43F;&#x440;&#x438;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C;&#x441;&#x44F; &#x432;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x435;&#x435;, NULL - &#x44D;&#x442;&#x43E; &#x43E;&#x434;&#x438;&#x43D;&#x43E;&#x447;&#x43D;&#x43E;&#x435; &#x438; &#x43A;&#x43E;&#x43D;&#x43A;&#x440;&#x435;&#x442;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43E;&#x43D;&#x43E; &#x43F;&#x43E;&#x434;&#x434;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x434;&#x441;&#x447;&#x435;&#x442;&#x443; &#x438; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E;.</p>
<p>&#x414;&#x440;&#x443;&#x433;&#x438;&#x43C;&#x438; &#x441;&#x43B;&#x43E;&#x432;&#x430;&#x43C;&#x438;, &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43F;&#x435;&#x440;&#x435;&#x447;&#x438;&#x441;&#x43B;&#x438;&#x442;&#x44C; NULL &#x442;&#x430;&#x43A; &#x436;&#x435; &#x43A;&#x430;&#x43A; &#x438; &#x43A;&#x43E;&#x43D;&#x43A;&#x440;&#x435;&#x442;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;: <code>10, 20, 500, 15, 0, NULL, 1, 10923</code>... &#x418;&#x441;&#x445;&#x43E;&#x434;&#x44F; &#x438;&#x437; &#x44D;&#x442;&#x43E;&#x433;&#x43E;, &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x432;&#x44B;&#x432;&#x43E;&#x434;, &#x447;&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x432;&#x44B;&#x448;&#x435; &#x444;&#x440;&#x430;&#x433;&#x43C;&#x435;&#x43D;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x434;&#x438;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x43C; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435;&#x43C;, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x443;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x43D;&#x430; &#x432;&#x43F;&#x43E;&#x43B;&#x43D;&#x435; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;.</p>
<h4 id>&#x423;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430;</h4>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x43D;&#x430; &#x43E;&#x441;&#x442;&#x430;&#x432;&#x448;&#x438;&#x435;&#x441;&#x44F; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x432;&#x44B;&#x431;&#x43E;&#x440;&#x43A;&#x438; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;:</p>
<pre><code class="lang-js">WHERE ... booking_confirmed_at IS NOT NULL
  ... to_be_processed_at <= "2020-10-08 09:45:02"< code></=></code></pre>
<br>
<p>&#x412;&#x44B; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x43B;&#x438; &#x440;&#x430;&#x437;&#x43D;&#x438;&#x446;&#x443;? <code>booking_confirmed_at</code> &#x438; <code>to_be_processed_at</code> &#x43E;&#x431;&#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x44E;&#x442; &#x43D;&#x435; &#x435;&#x434;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;, &#x430; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;. &#x41F;&#x43E;&#x441;&#x43B;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x43D;&#x430; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x43F;&#x43E;&#x43B;&#x44F;, &#x443;&#x447;&#x430;&#x432;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x432; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x43C; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x435;, &#x442;&#x435;&#x440;&#x44F;&#x44E;&#x442; &#x44D;&#x444;&#x444;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x441;&#x442;&#x44C;, &#x442;&#x430;&#x43A; &#x43A;&#x430;&#x43A; MySQL &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43A;&#x430;&#x442;&#x44C; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x43F;&#x43E;&#x434;&#x43C;&#x43D;&#x43E;&#x436;&#x435;&#x441;&#x442;&#x432;&#x430; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x43B;&#x436;&#x438;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x43F;&#x43E;&#x438;&#x441;&#x43A; &#x432; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x435;.</p>
<p>&#x422;&#x43E; &#x435;&#x441;&#x442;&#x44C;, &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x43F;&#x43E; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43F;&#x43E;&#x43B;&#x44F;&#x43C; &#x43F;&#x435;&#x440;&#x435;&#x441;&#x442;&#x430;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C;. &#x412;&#x430;&#x436;&#x43D;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x432; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x441;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x43F;&#x43E;&#x43B;&#x44F;, &#x441; &#x43E;&#x434;&#x438;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x43C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;&#x43C;, &#x430; &#x43F;&#x43E;&#x442;&#x43E;&#x43C; &#x43F;&#x43E;&#x43B;&#x44F; &#x441; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x43E;&#x43C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;.</p>
<p><strong>&#x417;&#x43E;&#x43B;&#x43E;&#x442;&#x43E;&#x435; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x43E;</strong>: &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x441;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x443;&#x439;&#x442;&#x435; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x44B; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435; &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x434;&#x43D;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;, &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x441;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x43E;&#x442;&#x43E;&#x447;&#x44C;&#x442;&#x435;&#x441;&#x44C; &#x43D;&#x430; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;&#x445; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430;.</p>
<p>&#x421;&#x442;&#x43E;&#x43B;&#x431;&#x435;&#x446; &#x434;&#x43B;&#x44F; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x433;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x437;&#x430;&#x434;&#x430;&#x43D;&#x43E; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x435;&#x442; &#x43F;&#x43E;&#x43C;&#x435;&#x449;&#x430;&#x442;&#x44C; &#x432; &#x43A;&#x43E;&#x43D;&#x435;&#x446; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x430;&#x442;&#x43E;&#x440; &#x43C;&#x43E;&#x433; &#x43C;&#x430;&#x43A;&#x441;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;.</p>
<p>&#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x43C;&#x44B; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x43B;&#x438; <strong>canceled_at</strong> &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x432;&#x442;&#x43E;&#x440;&#x43E;&#x433;&#x43E; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;. &#x427;&#x442;&#x43E; &#x434;&#x430;&#x43B;&#x44C;&#x448;&#x435; &#x431;&#x43E;&#x441;&#x441;?</p>
<blockquote>
<p>&#x423;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430; &#x44D;&#x442;&#x43E;: <code>BETWEEN</code>, <code>&lt;&gt;</code>, <code>!=</code>, <code>IS NOT NULL</code> &#x438; &#x442;.&#x434;.<br>
&#x420;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; <strong>&#x445;&#x430;&#x43A;&#x43E;&#x43C; &#x43E;&#x431;&#x445;&#x43E;&#x434;&#x430; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443;</strong> &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; - &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x430; <code>IN(...)</code>.</p>
<p>&#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x432;&#x43C;&#x435;&#x441;&#x442;&#x43E; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;: <code>WHERE age BETWEEN 10 AND 12</code> &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x44C; <code>WHERE age IN(10, 11, 12)</code>, &#x447;&#x442;&#x43E; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x438;&#x442; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x430;&#x442;&#x43E;&#x440;&#x443; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43A;&#x438; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;.</p>
</blockquote>
<h4 id>&#x423;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x43F;&#x43E; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430;&#x43C;</h4>
<p>&#x41E;&#x441;&#x442;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x434;&#x432;&#x435; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43A;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x432; &#x43D;&#x430;&#x448; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;. &#x41F;&#x43E; &#x43E;&#x431;&#x43E;&#x438;&#x43C; &#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43A;&#x430;&#x43C; &#x43C;&#x44B; &#x438;&#x449;&#x435;&#x43C; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439; &#x441; &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x438;&#x447;&#x43D;&#x44B;&#x43C; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x43E;&#x43C; &#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438;. &#x41A;&#x430;&#x43A;&#x438;&#x435; &#x438;&#x437; &#x43D;&#x438;&#x445; &#x43C;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438; &#x432; &#x43A;&#x430;&#x43A;&#x43E;&#x43C; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43A;&#x435;? &#x418;&#x43D;&#x441;&#x442;&#x438;&#x43D;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E; &#x432;&#x430;&#x43C; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x447;&#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x43E;&#x431;&#x430; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x432; &#x43B;&#x44E;&#x431;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A;&#x43E;&#x43C; &#x443;&#x433;&#x43E;&#x434;&#x43D;&#x43E; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43A;&#x435;. &#x41E;&#x442;&#x434;&#x430;&#x432;&#x430;&#x44F; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x447;&#x442;&#x435;&#x43D;&#x438;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44E;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43E;&#x442;&#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x43E;&#x432;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x438;&#x43B;&#x438; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x442;&#x43E;&#x442; &#x436;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x43A;&#x440;&#x430;&#x442;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C;&#x44B;&#x43C;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x44B;&#x43C; &#x432; &#x434;&#x440;&#x443;&#x433;&#x438;&#x445; &#x441;&#x446;&#x435;&#x43D;&#x430;&#x440;&#x438;&#x44F;&#x445;. &#x42D;&#x442;&#x43E; &#x441;&#x43F;&#x440;&#x430;&#x432;&#x435;&#x434;&#x43B;&#x438;&#x432;&#x43E;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;, &#x43D;&#x43E; &#x43E;&#x43D;&#x43E; &#x432;&#x435;&#x440;&#x43D;&#x43E; &#x43B;&#x438;&#x448;&#x44C; &#x43D;&#x430;&#x43F;&#x43E;&#x43B;&#x43E;&#x432;&#x438;&#x43D;&#x443;.</p>
<p>&#x41D;&#x430; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x43E; &#x440;&#x435;&#x448;&#x435;&#x43D;&#x438;&#x439;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x43B;&#x438; &#x437;&#x434;&#x435;&#x441;&#x44C;, &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x443;&#x442; &#x43A; &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x438;&#x447;&#x43D;&#x44B;&#x43C; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x430;&#x43C;. &#x41D;&#x430;&#x441;&#x442;&#x43E;&#x44F;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x442;&#x44C; &#x442;&#x440;&#x435;&#x442;&#x438;&#x439; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x435;&#x446; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;, <strong>&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43E;&#x442;&#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x43E;&#x432;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;</strong>. &#x422;&#x430;&#x43A;&#x436;&#x435;, &#x435;&#x441;&#x43B;&#x438; &#x44D;&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x438;&#x43C;&#x43E;, &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x43E; &#x43F;&#x43E;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43D;&#x43E;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x442;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x435;&#x433;&#x43E; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432; &#x434;&#x440;&#x443;&#x433;&#x438;&#x445; &#x441;&#x446;&#x435;&#x43D;&#x430;&#x440;&#x438;&#x44F;&#x445;. &#x421;&#x43E;&#x43A;&#x440;&#x430;&#x449;&#x435;&#x43D;&#x438;&#x435; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x430; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432; &#x438; &#x438;&#x445; &#x440;&#x430;&#x437;&#x43C;&#x435;&#x440;&#x430; - &#x44D;&#x442;&#x43E; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x430;&#x44F; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x441;&#x442;&#x432;&#x430; &#x438; &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x43E;&#x434;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438;.</p>
<p>&#x412; &#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x443; &#x43D;&#x430;&#x441; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x439; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443;. &#x41A;&#x430;&#x43A; &#x43C;&#x44B; &#x443;&#x436;&#x435; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x44F;&#x43B;&#x438;, &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x439; &#x441;&#x43E;&#x431;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x435;&#x440;&#x435;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x434; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;. &#x42D;&#x442;&#x43E; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x430;&#x44F; &#x43A;&#x43E;&#x43D;&#x446;&#x435;&#x43F;&#x446;&#x438;&#x44F;, &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x430;&#x44F; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x44F; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x43A;&#x435;&#x439;&#x441;&#x430;:</p>
<blockquote>
<p>&#x41A;&#x430;&#x43A; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432;&#x44B; &#x434;&#x43E;&#x441;&#x442;&#x438;&#x433;&#x43D;&#x435;&#x442;&#x435; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430;, &#x43B;&#x44E;&#x431;&#x43E;&#x435; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435; &#x43D;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x430;&#x43B;&#x44C;&#x43D;&#x435;&#x439;&#x448;&#x438;&#x435; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x44B;.</p>
</blockquote>
<p>&#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x43E;&#x431;&#x43E;&#x438;&#x445; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432; <strong>&#x43D;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;</strong> &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x43E;&#x434;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;. &#x41F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x434;&#x438;&#x441;&#x43A;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x441;&#x442;&#x432;&#x430; &#x434;&#x43B;&#x44F; &#x445;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;. &#x412;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x430;&#x431;&#x441;&#x43E;&#x43B;&#x44E;&#x442;&#x43D;&#x43E; &#x43E;&#x434;&#x438;&#x43D;&#x430;&#x43A;&#x43E;&#x432;&#x443;&#x44E; &#x441;&#x43A;&#x43E;&#x440;&#x43E;&#x441;&#x442;&#x44C; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430; &#x441; &#x447;&#x435;&#x442;&#x432;&#x435;&#x440;&#x442;&#x44B;&#x43C; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x43E;&#x43C; &#x438;&#x43B;&#x438; &#x431;&#x435;&#x437; &#x43D;&#x435;&#x433;&#x43E;, &#x447;&#x442;&#x43E; &#x44F; &#x43F;&#x440;&#x43E;&#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x438;&#x440;&#x443;&#x44E; &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x43D;&#x438;&#x436;&#x435;. &#x41B;&#x443;&#x447;&#x448;&#x438;&#x43C; &#x432;&#x44B;&#x431;&#x43E;&#x440;&#x43E;&#x43C; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x441; &#x442;&#x440;&#x435;&#x43C;&#x44F; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430;&#x43C;&#x438;, &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x44F; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x43E;&#x441;&#x442;&#x430;&#x432;&#x448;&#x438;&#x43C;&#x438;&#x441;&#x44F; &#x434;&#x432;&#x443;&#x43C;&#x44F; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x430;&#x43C;&#x438; &#x43D;&#x430;&#x438;&#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x44F;&#x449;&#x438;&#x439; &#x434;&#x43B;&#x44F; &#x432;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x441;&#x446;&#x435;&#x43D;&#x430;&#x440;&#x438;&#x44F;.</p>
<p>&#x41C;&#x44B; &#x440;&#x435;&#x448;&#x438;&#x43B;&#x438; &#x434;&#x432;&#x438;&#x433;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x434;&#x430;&#x43B;&#x44C;&#x448;&#x435; &#x441; <code>processed_at</code>, <code>canceled_at</code>, <code>to_be_processed_at</code>. &#x41E;&#x43D; &#x43B;&#x443;&#x447;&#x448;&#x435; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x438;&#x445; &#x441;&#x446;&#x435;&#x43D;&#x430;&#x440;&#x438;&#x435;&#x432;, &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x44B;&#x432;&#x430;&#x44F;&#x441;&#x44C; &#x43D;&#x430; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430;&#x445; &#x441;&#x442;&#x440;&#x43E;&#x43A; &#x438; &#x43F;&#x43E;&#x442;&#x435;&#x43D;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x432; &#x434;&#x440;&#x443;&#x433;&#x438;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;&#x445;.</p>
<h2 id>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x441; &#x43A;&#x43D;&#x438;&#x436;&#x43D;&#x44B;&#x43C; &#x43A;&#x430;&#x442;&#x430;&#x43B;&#x43E;&#x433;&#x43E;&#x43C;</h2>
<p>&#x41F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x441;&#x435;&#x431;&#x435; &#x43A;&#x430;&#x442;&#x430;&#x43B;&#x43E;&#x433; &#x436;&#x438;&#x432;&#x43E;&#x442;&#x43D;&#x44B;&#x445;, &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43F;&#x43E; &quot;&#x438;&#x43C;&#x435;&#x43D;&#x438;&quot; &#x438; &quot;&#x446;&#x432;&#x435;&#x442;&#x443;&quot;. &#x415;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x43E;&#x440;&#x433;&#x430;&#x43D;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x43D; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43D;&#x43E; &#x442;&#x430;&#x43A;:</p>
<pre><code class="lang-js">Type, Color  - Page
...
Dog,  Black  -  11
Dog,  Blue   -  12
Dog,  Brown  -  13
Duck, Black  -  14
Duck, White  -  15
...
Rat,  Black  -  32
Rat,  Gray   -  33
Rat,  White  -  34
...
</code></pre>
<br>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x43C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x43A; &#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43A;&#x430;&#x442;&#x430;&#x43B;&#x43E;&#x433;&#x443; &#x438; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C;, &#x43A;&#x430;&#x43A; &#x43E;&#x43D; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;:</p>
<h3 id="1">1. &#x41E;&#x434;&#x438;&#x43D;&#x43E;&#x447;&#x43D;&#x43E;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;</h3>
<pre><code class="lang-js">
SELECT * FROM catalog WHERE type = &quot;Duck&quot; AND color = &quot;Black&quot;;
SELECT * FROM catalog WHERE type = &quot;Rat&quot;  AND color = &quot;Black&quot;;
SELECT * FROM catalog WHERE type = &quot;Dog&quot;  AND color = &quot;Brown&quot;;
SELECT * FROM catalog WHERE type = &quot;Rat&quot;  AND color = &quot;White&quot;;
</code></pre>
<br>
<p>&#x41E;&#x431;&#x440;&#x430;&#x442;&#x438;&#x442;&#x435; &#x432;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x435;, &#x447;&#x442;&#x43E; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43D;&#x43E;&#x433;&#x43E; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x442;&#x43E;&#x447;&#x43D;&#x44B;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446; &#x434;&#x43B;&#x44F; &#x44D;&#x442;&#x438;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;. &#x414;&#x43B;&#x44F; &#x43F;&#x430;&#x440;&#x44B; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x439; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x43D;&#x430;&#x439;&#x434;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x434;&#x43D;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;.</p>
<h3 id="2">2. &#x423;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x43E;&#x434;&#x438;&#x43D;&#x43E;&#x447;&#x43D;&#x43E;&#x433;&#x43E; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;</h3>
<pre><code class="lang-js">SELECT * FROM catalog WHERE type = &quot;Duck&quot; AND color != &quot;Black&quot;;
SELECT * FROM catalog WHERE type = &quot;Rat&quot;  AND color != &quot;Black&quot;;
SELECT * FROM catalog WHERE type = &quot;Dog&quot;  AND color != &quot;Brown&quot;;
SELECT * FROM catalog WHERE type = &quot;Rat&quot;  AND color != &quot;White&quot;;
</code></pre>
<br>
<p>&#x41E;&#x431;&#x440;&#x430;&#x442;&#x438;&#x442;&#x435; &#x432;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x435;, &#x447;&#x442;&#x43E; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x435;&#x441;&#x442;&#x44C; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x448;&#x430;&#x433; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x438;&#x445; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;. &#x42D;&#x442;&#x43E; &#x432;&#x441;&#x435; &#x435;&#x449;&#x435; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;, &#x445;&#x43E;&#x442;&#x44F; &#x438; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x435;&#x435;, &#x447;&#x435;&#x43C; &#x432; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435;. &#x41F;&#x435;&#x440;&#x432;&#x430;&#x44F; &#x447;&#x430;&#x441;&#x442;&#x44C; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x441;&#x443;&#x436;&#x430;&#x435;&#x442; &#x432;&#x430;&#x448;&#x443; &#x432;&#x44B;&#x431;&#x43E;&#x440;&#x43A;&#x443; &#x434;&#x43E; &#x43E;&#x434;&#x43D;&#x43E;&#x433;&#x43E; &#x442;&#x438;&#x43F;&#x430;. &#x417;&#x430;&#x442;&#x435;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x438;&#x441;&#x43A;&#x43B;&#x44E;&#x447;&#x438;&#x442;&#x44C; &#x43D;&#x435;&#x43D;&#x443;&#x436;&#x43D;&#x44B;&#x439; &#x446;&#x432;&#x435;&#x442;, &#x438; &#x432;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x435; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;, &#x43D;&#x430; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x43D;&#x430;&#x445;&#x43E;&#x434;&#x44F;&#x442;&#x441;&#x44F; &#x432;&#x430;&#x448;&#x438; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x44B;. &#x412;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432;, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x441;&#x442;&#x440;&#x430;&#x448;&#x43D;&#x43E;. MySQL &#x441;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x44D;&#x442;&#x43E; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x44D;&#x444;&#x444;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E;.</p>
<h3 id="3">3. &#x423;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x447;&#x438;&#x441;&#x442;&#x43E; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443;</h3>
<pre><code class="lang-js">SELECT * FROM catalog WHERE type != &quot;Duck&quot; AND color != &quot;Black&quot;;
SELECT * FROM catalog WHERE type != &quot;Rat&quot;  AND color != &quot;Black&quot;;
SELECT * FROM catalog WHERE type != &quot;Dog&quot;  AND color != &quot;Brown&quot;;
SELECT * FROM catalog WHERE type != &quot;Rat&quot;  AND color  = &quot;White&quot;;
</code></pre>
<br>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x441;&#x435; &#x441;&#x442;&#x430;&#x43B;&#x43E; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x435;&#x435;. &#x412;&#x430;&#x448; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432; &#x43D;&#x430;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;, &#x447;&#x435;&#x43C; &#x440;&#x430;&#x43D;&#x44C;&#x448;&#x435;, &#x438; &#x432;&#x44B; &#x43D;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;. &#x414;&#x43B;&#x44F; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x430;&#x440; &#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x439;, &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x445; &#x432;&#x430;&#x448;&#x435;&#x43C;&#x443; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x443;, &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x447;&#x442;&#x438; &#x43F;&#x43E;&#x43B;&#x43D;&#x43E;&#x435; &#x441;&#x43A;&#x430;&#x43D;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;. &#x417;&#x434;&#x435;&#x441;&#x44C; MySQL &#x442;&#x430;&#x43A;&#x436;&#x435; &#x438;&#x441;&#x43F;&#x44B;&#x442;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x442;&#x440;&#x443;&#x434;&#x43D;&#x43E;&#x441;&#x442;&#x438;. &#x427;&#x435;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x443; &#x432;&#x430;&#x441; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;, &#x442;&#x435;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x44F;&#x442;&#x441;&#x44F; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x44B;, &#x430; &#x437;&#x43D;&#x430;&#x447;&#x438;&#x442;, &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x434;&#x43B;&#x44F; &#x441;&#x43A;&#x430;&#x43D;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;. &#x412; &#x438;&#x442;&#x43E;&#x433;&#x435; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x441;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x442; &#x441;&#x43A;&#x430;&#x43D;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x44B;, &#x442;.&#x435;. &#x43F;&#x440;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x430; &#x432;&#x441;&#x435;&#x439; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x44B; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x430; &#x437;&#x430; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x43E;&#x439;. &#x42D;&#x444;&#x444;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43B;&#x430;&#x441;&#x44C; &#x43F;&#x43E;&#x434; &#x443;&#x433;&#x440;&#x43E;&#x437;&#x43E;&#x439;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C; &#x43D;&#x430; &#x43D;&#x430;&#x448; &#x438;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x44B;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;, &#x442;&#x43E; &#x44D;&#x442;&#x43E;&#x442; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;, &#x43F;&#x43E;&#x447;&#x435;&#x43C;&#x443; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; <code>booking_confirmed_at</code> &#x43D;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442; &#x43F;&#x43E;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x438;&#x435; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x438; &#x43D;&#x435; &#x443;&#x441;&#x43A;&#x43E;&#x440;&#x438;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43C;&#x44B; &#x434;&#x43E;&#x43A;&#x430;&#x436;&#x435;&#x43C; &#x432;&#x44B;&#x448;&#x435;&#x441;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43D;&#x43E;&#x435;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; MySQL <code>EXPLAIN</code>.</p>
<h3 id>&#x414;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x441;&#x442;&#x432;&#x43E;</h3>
<p>&#x41C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; <code>EXPLAIN</code>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x440;&#x43E;&#x430;&#x43D;&#x430;&#x43B;&#x438;&#x437;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C;, &#x43A;&#x430;&#x43A; &#x434;&#x432;&#x430; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x44E;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x44B; &#x43E;&#x431;&#x441;&#x443;&#x436;&#x434;&#x430;&#x43B;&#x438; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;. &#x41E;&#x431;&#x430; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x43E;&#x434;&#x438;&#x43D;&#x430;&#x43A;&#x43E;&#x432;&#x44B;&#x435; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x446;&#x44B; &#x438; &#x43F;&#x43E;&#x440;&#x44F;&#x434;&#x43E;&#x43A;, &#x43D;&#x43E; &#x43E;&#x434;&#x438;&#x43D; &#x438;&#x437; &#x43D;&#x438;&#x445; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x447;&#x435;&#x442;&#x432;&#x435;&#x440;&#x442;&#x44B;&#x439; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x435;&#x446;. &#x414;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x44B; &#x432; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x443;&#x44E; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x443; &#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x434;&#x435;&#x43C; &#x442;&#x435;&#x441;&#x442;&#x44B;:</p>
<pre><code class="lang-js">KEY `ready_to_be_processed_idx_1` (`processed_at`, `canceled_at`, `to_be_processed_at`),
KEY `ready_to_be_processed_idx_2` (`processed_at`, `canceled_at`, `to_be_processed_at`, `booking_confirmed_at`)
</code></pre>
<br>
<p>&#x412;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x438;&#x437; &#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438;, &#x43C;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x43C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x44B;:<br>
<img src="https://badtry.net/content/images/2021/12/0_x4iwvambIKcpoNiM.png" alt="&#x420;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x43F;&#x43E;&#x43B;&#x435;&#x439; &#x441; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x43C; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x432; MySQL" loading="lazy"></p>
<p><img src="https://badtry.net/content/images/2021/12/0_c-6XkhiPlP5TagYK.png" alt="&#x420;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x43F;&#x43E;&#x43B;&#x435;&#x439; &#x441; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x43C; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x432; MySQL" loading="lazy"></p>
<p>&#x41C;&#x44B; &#x432;&#x438;&#x434;&#x438;&#x43C;, &#x447;&#x442;&#x43E; &#x432; &#x43E;&#x431;&#x43E;&#x438;&#x445; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x44F;&#x445; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B;&#x441;&#x44F; &#x43E;&#x434;&#x438;&#x43D; &#x438; &#x442;&#x43E;&#x442; &#x436;&#x435; &#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x432;&#x43E;&#x439; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; (17). &#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B;&#x438; &#x43E;&#x434;&#x43D;&#x443; &#x438; &#x442;&#x443; &#x436;&#x435; &#x447;&#x430;&#x441;&#x442;&#x44C; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x438; &#x447;&#x442;&#x43E; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x447;&#x435;&#x442;&#x432;&#x435;&#x440;&#x442;&#x44B;&#x439; &#x441;&#x442;&#x43E;&#x43B;&#x431;&#x435;&#x446; &#x431;&#x44B;&#x43B; &#x43F;&#x440;&#x43E;&#x438;&#x433;&#x43D;&#x43E;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;.</p>
<p>&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x432;&#x43D;&#x435;&#x441;&#x442;&#x438; &#x43D;&#x435;&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x432; &#x441;&#x432;&#x43E;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x442; &#x435;&#x43C;&#x443; &#x43F;&#x43E;&#x43B;&#x43D;&#x43E;&#x441;&#x442;&#x44C;&#x44E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x447;&#x435;&#x442;&#x44B;&#x440;&#x435;&#x445;&#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;. &#x41C;&#x44B; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x43C; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; to_be_processed_at &#x43D;&#x430; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x43E;&#x434;&#x43D;&#x43E;&#x433;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F;: <code>to_be_processed_at = &quot;2020-10-08 09:45:02&quot;</code>. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x443; &#x43D;&#x430;&#x441; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x435;&#x441;&#x442;&#x44C; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x434;&#x43D;&#x43E; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x430;.</p>
<p>&#x421;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x442;&#x435; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x44B; &#x43D;&#x438;&#x436;&#x435;:<br>
<img src="https://badtry.net/content/images/2021/12/0_JkimfCA6x68exN3D.png" alt="&#x420;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x43F;&#x43E;&#x43B;&#x435;&#x439; &#x441; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x43C; &#x43F;&#x43E; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x443; &#x432; MySQL" loading="lazy"></p>
<p>&#x412;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x431;&#x44B;&#x43B;&#x438; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43C;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; key_range &#x440;&#x430;&#x432;&#x43D;&#x44B;&#x439; <code>23</code>, &#x447;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x439; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430;, &#x43A;&#x430;&#x43A; &#x438; &#x43E;&#x436;&#x438;&#x434;&#x430;&#x43B;&#x43E;&#x441;&#x44C;. &#x425;&#x43E;&#x442;&#x44F; &#x44D;&#x442;&#x43E; &#x434;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x447;&#x435;&#x442;&#x432;&#x435;&#x440;&#x442;&#x44B;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;, &#x43E;&#x43D; &#x43D;&#x435; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x44F;, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x435;&#x43D; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x441; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D;&#x43E;&#x43C; &#x434;&#x430;&#x442;.</p>
<h2 id>&#x420;&#x435;&#x437;&#x44E;&#x43C;&#x435;</h2>
<p>&#x412;&#x441;&#x435; &#x442;&#x440;&#x438; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x438;, &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;, &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44E;&#x442; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x44F; - &#x438; &#x442;&#x440;&#x435;&#x445;&#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;, &#x438; &#x447;&#x435;&#x442;&#x44B;&#x440;&#x435;&#x445;&#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43E;&#x447;&#x43D;&#x44B;&#x439;. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x447;&#x435;&#x442;&#x44B;&#x440;&#x435;&#x445;&#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43E;&#x447;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x440;&#x435;&#x441;&#x443;&#x440;&#x441;&#x43E;&#x432;: &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;&#x435; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432; &#x43F;&#x440;&#x438;&#x432;&#x43E;&#x434;&#x438;&#x442; &#x43A; &#x443;&#x432;&#x435;&#x43B;&#x438;&#x447;&#x435;&#x43D;&#x438;&#x44E; &#x440;&#x430;&#x437;&#x43C;&#x435;&#x440;&#x430; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446; &#x438; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43C;&#x435;&#x434;&#x43B;&#x435;&#x43D;&#x43D;&#x43E;&#x43C;&#x443; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44E; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x435;&#x439;, &#x43D;&#x43E; &#x43E;&#x431;&#x435;&#x441;&#x43F;&#x435;&#x447;&#x438;&#x432;&#x430;&#x435;&#x442; &#x43E;&#x434;&#x438;&#x43D;&#x430;&#x43A;&#x43E;&#x432;&#x43E;&#x435; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;. &#x412;&#x44B;&#x431;&#x43E;&#x440; &#x442;&#x440;&#x435;&#x445;&#x43A;&#x43E;&#x43B;&#x43E;&#x43D;&#x43E;&#x447;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x430; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x438;&#x440;&#x443;&#x435;&#x442; &#x43D;&#x430;&#x448; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x432; &#x43D;&#x430;&#x438;&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;&#x439; &#x441;&#x442;&#x435;&#x43F;&#x435;&#x43D;&#x438;: &#x43A;&#x430;&#x43A; &#x43F;&#x43E; &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x43E;&#x434;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438;, &#x442;&#x430;&#x43A; &#x438; &#x43F;&#x43E; &#x434;&#x438;&#x441;&#x43A;&#x43E;&#x432;&#x43E;&#x43C;&#x443; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x441;&#x442;&#x432;&#x443;.</p>
<p>&#x412; &#x438;&#x442;&#x43E;&#x433;&#x435; &#x43C;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x448;&#x43B;&#x438; &#x43E;&#x442; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; 6&#x441; &#x43A; 17&#x43C;&#x441; &#x434;&#x43B;&#x44F; &#x442;&#x43E;&#x433;&#x43E; &#x436;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;.<br>
&#x418;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x44B; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x43C;&#x438; &#x43D;&#x430; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x439; &#x432;&#x437;&#x433;&#x43B;&#x44F;&#x434;, &#x438; &#x438;&#x445; &#x438;&#x434;&#x435;&#x44F; &#x434;&#x43E;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x430;. &#x41E;&#x434;&#x43D;&#x430;&#x43A;&#x43E;, &#x43F;&#x43E;&#x442;&#x440;&#x430;&#x442;&#x438;&#x432; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x43D;&#x430; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432;, &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x434;&#x43E;&#x431;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x437;&#x43D;&#x430;&#x447;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x443;&#x43B;&#x443;&#x447;&#x448;&#x435;&#x43D;&#x438;&#x439; &#x432; &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x43E;&#x434;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438; &#x438; &#x437;&#x430;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x43C;&#x43E;&#x43C; &#x434;&#x438;&#x441;&#x43A;&#x43E;&#x432;&#x43E;&#x43C; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x441;&#x442;&#x432;&#x435;.<br>
&#x426;&#x435;&#x43B;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x430; - &#x43F;&#x440;&#x43E;&#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x438;&#x434;&#x435;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432;&#x430;&#x436;&#x43D;&#x43E; &#x443;&#x447;&#x438;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x438; &#x438;&#x43B;&#x438; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43E;&#x432; SQL.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Как экономить при покупке на Розетке]]></title><description><![CDATA[Если вы задавались вопросом, как можно экономить, покупая товары на Розетке, эта статья для вас! Представляем сервис, позволяющий находить товары по скидке]]></description><link>https://badtry.net/kak-ekonomit-pri-pokupkie-na-rozietkie/</link><guid isPermaLink="false">62a6324e0f555f2eef8c237f</guid><category><![CDATA[true stories]]></category><category><![CDATA[Серьёзный разговор]]></category><category><![CDATA[проекты]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 28 Nov 2021 14:21:45 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/11/preview.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/11/preview.jpg" alt="&#x41A;&#x430;&#x43A; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x435; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;"><p>&#x42F; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x430;&#x44E; &#x432; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x43D;&#x435;&#x442;&#x435;, &#x443;&#x432;&#x435;&#x440;&#x435;&#x43D;, &#x43A;&#x430;&#x43A; &#x438; &#x432;&#x44B;. &#x418; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x440;&#x430;&#x437; &#x44F; &#x437;&#x430;&#x434;&#x430;&#x44E;&#x441;&#x44C; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; <strong>&#x441;&#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x435;</strong> &#x442;&#x43E;&#x432;&#x430;&#x440;&#x43E;&#x432; &#x432; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x43D;&#x435;&#x442;&#x435;. &#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x440;&#x430;&#x441;&#x441;&#x43A;&#x430;&#x436;&#x443;, &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C;, &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x430;&#x44F; &#x43D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x43F;&#x43E;&#x43F;&#x443;&#x43B;&#x44F;&#x440;&#x43D;&#x43E;&#x43C; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x43D;&#x435;&#x442; &#x43C;&#x430;&#x433;&#x430;&#x437;&#x438;&#x43D;&#x435; &#x423;&#x43A;&#x440;&#x430;&#x438;&#x43D;&#x44B; - rozetka.com.ua.</p>
<p>&#x41D;&#x438; &#x434;&#x43B;&#x44F; &#x43A;&#x43E;&#x433;&#x43E; &#x43D;&#x435; &#x441;&#x435;&#x43A;&#x440;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x430;&#x43A;&#x446;&#x438;&#x438; &#x432; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x43D;&#x435;&#x442;&#x435; - &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43C;&#x430;&#x440;&#x43A;&#x435;&#x442;&#x438;&#x43D;&#x433;, &#x447;&#x435;&#x43C; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x430;&#x43A;&#x446;&#x438;&#x44F;. &#x41E;&#x431;&#x44B;&#x447;&#x43D;&#x43E; &#x446;&#x435;&#x43D;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x434; &#x440;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x434;&#x430;&#x436;&#x430;&#x43C;&#x438; &#x437;&#x43D;&#x430;&#x447;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x437;&#x430;&#x432;&#x44B;&#x448;&#x430;&#x44E;&#x442;&#x441;&#x44F;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x440;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x434;&#x430;&#x436;&#x438;, &#x43F;&#x43E;&#x43D;&#x438;&#x437;&#x438;&#x442;&#x44C; &#x435;&#x451;, &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x438;&#x440;&#x443;&#x44F; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x43D;&#x442; &#x441;&#x43A;&#x438;&#x434;&#x43A;&#x438;. &#x41D;&#x43E;, &#x43F;&#x43E; &#x444;&#x430;&#x43A;&#x442;&#x443;, &#x430;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x430;&#x44F; &#x446;&#x435;&#x43D;&#x430; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;&#x439; &#x447;&#x435;&#x43C; &#x442;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x431;&#x44B;&#x43B;&#x430; &#x434;&#x43E; &#x44D;&#x442;&#x438;&#x445; &quot;&#x43C;&#x430;&#x440;&#x43A;&#x435;&#x442;&#x438;&#x43D;&#x433;&#x43E;&#x432;&#x44B;&#x445; &#x448;&#x442;&#x443;&#x43A;&quot;.</p>
<p>&#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x438; &#x431;&#x44B;&#x43B;&#x43E; &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x442;&#x43E; &#x440;&#x435;&#x448;&#x435;&#x43D;&#x438;&#x435; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x441;&#x43E;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E;&#x435;, &#x447;&#x442;&#x43E; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x438;&#x43B;&#x43E; &#x431;&#x44B; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F; &#x43C;&#x430;&#x433;&#x430;&#x437;&#x438;&#x43D;&#x43D;&#x44B;&#x445; &#x430;&#x43A;&#x446;&#x438;&#x439; &#x438; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C;, &#x434;&#x435;&#x43B;&#x430;&#x44F; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x438; &#x432; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x43D;&#x435;&#x442;&#x435;.</p>
<p>&#x427;&#x430;&#x449;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x44F; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x430;&#x44E; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x44B; &#x43D;&#x430; &#x440;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x438; &#x431;&#x44B;&#x43B;&#x43E; &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x442;&#x43E; &#x440;&#x435;&#x448;&#x435;&#x43D;&#x438;&#x435; - &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x438;&#x442; &#x43E;&#x442;&#x441;&#x43B;&#x435;&#x436;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x446;&#x435;&#x43D; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x43E;&#x432; &#x43D;&#x430; &#x44D;&#x442;&#x43E;&#x43C; &#x441;&#x430;&#x439;&#x442;&#x435;. &#x426;&#x435;&#x43B;&#x44C; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;&#x430; - &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x446;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x442;&#x43E;&#x432;&#x430;&#x440; &#x438; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C; <strong>&#x438;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x44E; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x446;&#x435;&#x43D; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;</strong> &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x443;&#x431;&#x435;&#x434;&#x438;&#x442;&#x44C;&#x441;&#x44F;, &#x447;&#x442;&#x43E; &#x441;&#x43A;&#x438;&#x434;&#x43A;&#x430; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x435;&#x441;&#x442;&#x44C;.</p>
<h2 id="badsellernet">Badseller.net - &#x43C;&#x43E;&#x43D;&#x438;&#x442;&#x43E;&#x440;&#x438;&#x43D;&#x433; &#x446;&#x435;&#x43D; &#x43D;&#x430; &#x440;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;</h2>
<p>&#x417;&#x430;&#x445;&#x43E;&#x434;&#x44F; &#x43D;&#x430; &#x441;&#x430;&#x439;&#x442; <a href="https://badseller.net/?ref=badtry.net" target="_blank">badseller.net</a> &#x432;&#x44B; &#x441;&#x440;&#x430;&#x437;&#x443; &#x436;&#x435; &#x443;&#x432;&#x438;&#x434;&#x438;&#x442;&#x435; &#x433;&#x43B;&#x430;&#x432;&#x432;&#x43D;&#x443;&#x44E; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443;, &#x43D;&#x430; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x44B; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x44B;, &#x43D;&#x430; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x443;&#x435;&#x442; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x441;&#x43A;&#x438;&#x434;&#x43A;&#x430; &#x43D;&#x430; &#x441;&#x435;&#x433;&#x43E;&#x434;&#x43D;&#x44F;&#x448;&#x43D;&#x438;&#x439; &#x434;&#x435;&#x43D;&#x44C;.</p>
<p>&#x414;&#x43B;&#x44F; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x43D;&#x443;&#x436;&#x43D;&#x44B;&#x439; &#x432;&#x430;&#x43C; &#x442;&#x43E;&#x432;&#x430;&#x440;, &#x441; &#x435;&#x433;&#x43E; &#x438;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x435;&#x439; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x446;&#x435;&#x43D;, &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x441;&#x43A;&#x43E;&#x43F;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x443; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x430; &#x441; &#x440;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x438; &#x438; &#x432;&#x441;&#x442;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x435;&#x451; &#x432; &#x43F;&#x43E;&#x43B;&#x435; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430;.</p>
<p><img src="https://badtry.net/content/images/2021/11/mina-page.jpg" alt="&#x41A;&#x430;&#x43A; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x435; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;" loading="lazy"></p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x442;&#x43E;&#x432;&#x430;&#x440; &#x431;&#x44B;&#x43B; &#x43D;&#x430;&#x439;&#x434;&#x435;&#x43D;, &#x432;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x438;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x446;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x442;&#x43E;&#x432;&#x430;&#x440;.</p>
<p><img src="https://badtry.net/content/images/2021/11/product.jpg" alt="&#x41A;&#x430;&#x43A; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x435; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;" loading="lazy"></p>
<p>&#x41D;&#x430; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435; &#x43C;&#x43E;&#x436;&#x43D;&#x43E;:</p>
<ul>
<li><strong>&#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x442;&#x43E;&#x432;&#x430;&#x440; &#x432; &#x438;&#x437;&#x431;&#x440;&#x430;&#x43D;&#x43D;&#x43E;&#x435;</strong> (&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x434;&#x43B;&#x44F; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E;&#x433;&#x43E; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x430; &#x43A; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x430;&#x43C;)</li>
<li><strong>&#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x432; &#x43E;&#x442;&#x441;&#x43B;&#x435;&#x436;&#x438;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x435; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x44B;</strong> (&#x44D;&#x442;&#x43E; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x438;&#x442; &#x432;&#x430;&#x43C; &#x43E;&#x442;&#x441;&#x43B;&#x435;&#x436;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x446;&#x435;&#x43D;&#x44B; &#x438; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x442;&#x44C; &#x443;&#x432;&#x435;&#x434;&#x43E;&#x43C;&#x43B;&#x435;&#x43D;&#x438;&#x44F; <mark>&#x43D;&#x430; &#x43F;&#x43E;&#x447;&#x442;&#x443;</mark> &#x438;/&#x438;&#x43B;&#x438; <mark>telegram</mark>)</li>
</ul>
<p>&#x41D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435; &#x43E;&#x442;&#x441;&#x43B;&#x435;&#x436;&#x438;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x445; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x43E;&#x432; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x432; &#x443;&#x434;&#x43E;&#x431;&#x43D;&#x43E;&#x43C; &#x432;&#x438;&#x434;&#x435; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x432;&#x441;&#x435;&#x445; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x43E;&#x432; &#x438; &#x438;&#x445; &#x43A;&#x440;&#x430;&#x442;&#x43A;&#x443;&#x44E; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E;. &#x41F;&#x43E; &#x432;&#x441;&#x435;&#x43C; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x430;&#x43C; &#x432;&#x430;&#x43C; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x440;&#x438;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x44C; &#x443;&#x432;&#x435;&#x434;&#x43E;&#x43C;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x440;&#x430;&#x437;&#x443; &#x436;&#x435; &#x43F;&#x440;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x438; &#x446;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x44B;.</p>
<p><img src="https://badtry.net/content/images/2021/11/subscriptions.jpg" alt="&#x41A;&#x430;&#x43A; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x435; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;" loading="lazy"></p>
<p>&#x41A;&#x430;&#x43A; &#x443;&#x436;&#x435; &#x443;&#x43F;&#x43E;&#x43C;&#x438;&#x43D;&#x430;&#x43B;&#x43E;&#x441;&#x44C;, &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x434;&#x43A;&#x43B;&#x44E;&#x447;&#x438;&#x442;&#x44C; &#x43F;&#x43E;&#x447;&#x442;&#x443; &#x438;&#x43B;&#x438; &#x442;&#x435;&#x43B;&#x435;&#x433;&#x440;&#x430;&#x43C;. &#x418; &#x432;&#x43E;&#x442; &#x432; &#x442;&#x430;&#x43A;&#x43E;&#x43C; &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;&#x435; &#x432;&#x430;&#x43C; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x440;&#x438;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x44C; &#x443;&#x432;&#x435;&#x434;&#x43E;&#x43C;&#x43B;&#x435;&#x43D;&#x438;&#x44F;:</p>
<p><img src="https://badtry.net/content/images/2021/11/telegram.jpg" alt="&#x41A;&#x430;&#x43A; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x435; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;" loading="lazy"></p>
<p>&#x41F;&#x440;&#x438; &#x442;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43E;&#x434;&#x43D;&#x438;&#x43C; &#x430;&#x43A;&#x43A;&#x430;&#x443;&#x43D;&#x442;&#x43E;&#x43C; &#x43D;&#x430; &#x43B;&#x44E;&#x431;&#x43E;&#x43C; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x434;&#x435;&#x432;&#x430;&#x439;&#x441;&#x435;.<br>
&#x414;&#x43B;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x432;&#x430;&#x43C; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x43F;&#x435;&#x440;&#x435;&#x439;&#x442;&#x438; &#x43F;&#x43E; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x435; &#x438;&#x437; Telegram/Email &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x435;&#x43D;&#x438;&#x44F; &#x438; <strong>&#x43F;&#x440;&#x43E;&#x438;&#x437;&#x43E;&#x439;&#x434;&#x451;&#x442; &#x430;&#x432;&#x442;&#x43E;&#x43B;&#x43E;&#x433;&#x438;&#x43D;</strong> &#x432; &#x430;&#x43A;&#x43A;&#x430;&#x443;&#x43D;&#x442;.<br>
<img src="https://badtry.net/content/images/2021/11/autologin3-1.jpg" alt="&#x41A;&#x430;&#x43A; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x435; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;" loading="lazy"></p>
<h2 id>&#x420;&#x435;&#x437;&#x44E;&#x43C;&#x435;</h2>
<p>&#x418; &#x432;&#x43E;&#x442;, &#x441;&#x435;&#x440;&#x432;&#x438;&#x441; &#x443;&#x436;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x43F;&#x43E;&#x43B; &#x433;&#x43E;&#x434;&#x430;, &#x43F;&#x440;&#x438;&#x43D;&#x43E;&#x441;&#x44F; &#x43C;&#x43D;&#x435; &#x43B;&#x438;&#x447;&#x43D;&#x443;&#x44E; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;. &#x418; &#x43F;&#x440;&#x438;&#x448;&#x43B;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x438; &#x432;&#x430;&#x43C;! &#x417;&#x430;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x435; &#x43D;&#x430; badseller &#x438; &#x434;&#x435;&#x43B;&#x430;&#x439;&#x442;&#x435; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x438;. &#x410; &#x442;&#x430;&#x43A; &#x436;&#x435;, &#x43F;&#x43E;&#x43C;&#x438;&#x43C;&#x438; &#x438;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x446;&#x435;&#x43D; &#x43D;&#x430; &#x441;&#x430;&#x439;&#x442;&#x435; &#x43F;&#x43E;&#x44F;&#x432;&#x438;&#x43B;&#x441;&#x44F; &#x43D;&#x43E;&#x432;&#x44B;&#x439; &#x440;&#x430;&#x437;&#x434;&#x435;&#x43B; <a href="https://badseller.net/alcohol?ref=badtry.net" target="_blank"><strong>&#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x446;&#x435;&#x43D; &#x43D;&#x430; &#x430;&#x43B;&#x43A;&#x43E;&#x433;&#x43E;&#x43B;&#x44C;</strong></a> &#x432; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x43C;&#x430;&#x433;&#x430;&#x437;&#x438;&#x43D;&#x430;&#x445; &#x438; &#x441;&#x443;&#x43F;&#x435;&#x440;&#x43C;&#x430;&#x440;&#x43A;&#x435;&#x442;&#x430;&#x445; &#x423;&#x43A;&#x440;&#x430;&#x438;&#x43D;&#x44B;. &#x427;&#x442;&#x43E; &#x442;&#x43E;&#x436;&#x435; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x43A;&#x440;&#x443;&#x442;&#x43E; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C;. &#x41D;&#x43E; &#x44D;&#x442;&#x43E; &#x443;&#x436;&#x435; &#x442;&#x435;&#x43C;&#x430; &#x434;&#x43B;&#x44F; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438;.</p>
<p>&#x41A; &#x441;&#x43B;&#x43E;&#x432;&#x443;, &#x44D;&#x442;&#x43E;&#x442; &#x441;&#x430;&#x439;&#x442; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x437;&#x434;&#x43E;&#x440;&#x43E;&#x432;&#x43E; &#x43C;&#x43D;&#x435; &#x43F;&#x43E;&#x43C;&#x43E;&#x433; &#x43F;&#x440;&#x438; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x438;&#x438; <strong>&#x441;&#x43A;&#x438;&#x434;&#x43A;&#x438; 11.11 &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;</strong>. &#x42F; &#x43F;&#x43E;&#x43D;&#x44F;&#x43B;, &#x447;&#x442;&#x43E; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x435;&#x441;&#x442;&#x44C; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x43D;&#x438;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x446;&#x435;&#x43D; &#x43D;&#x430; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x44B; &#x432;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x430;&#x43A;&#x446;&#x438;&#x439;. &#x418; &#x431;&#x43B;&#x430;&#x433;&#x43E;&#x434;&#x430;&#x440;&#x44F; &#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;&#x443; &#x44F; &#x43F;&#x440;&#x438;&#x43A;&#x443;&#x43F;&#x438;&#x43B; &#x441;&#x435;&#x431;&#x435; &#x43D;&#x43E;&#x432;&#x435;&#x43D;&#x44C;&#x43A;&#x443;&#x44E; &#x43A;&#x43B;&#x430;&#x432;&#x438;&#x430;&#x442;&#x443;&#x440;&#x443; (&#x447;&#x442;&#x43E; &#x43D;&#x430; &#x441;&#x43A;&#x440;&#x438;&#x43D;&#x430;&#x445; &#x432;&#x44B;&#x448;&#x435;).</p>
<p><strong>&#x41A;&#x430;&#x43A; &#x44D;&#x43A;&#x43E;&#x43D;&#x43E;&#x43C;&#x438;&#x442;&#x44C;</strong> &#x43F;&#x440;&#x438; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43A;&#x430;&#x445; &#x43D;&#x430; Rozetka? &#x41F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x430;&#x439;&#x442;&#x435; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x44B; &#x43D;&#x430; &#x420;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43F;&#x43E; &#x430;&#x43A;&#x446;&#x438;&#x438; &#x43D;&#x430; &#x440;&#x43E;&#x437;&#x435;&#x442;&#x43A;&#x435; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x435;&#x441;&#x442;&#x44C; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x441;&#x43A;&#x438;&#x434;&#x43A;&#x438;. &#x410; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x43E; &#x432;&#x44B; &#x441;&#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x43E; &#x433;&#x440;&#x430;&#x444;&#x438;&#x43A;&#x443; &#x446;&#x435;&#x43D; badseller.net.</p>
<p>&#x417;&#x430;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x435; &#x43D;&#x430; &#x441;&#x430;&#x439;&#x442;, &#x43F;&#x438;&#x448;&#x438;&#x442;&#x435; &#x43F;&#x43E;&#x436;&#x435;&#x43B;&#x430;&#x43D;&#x438;&#x44F; (&#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43D;&#x430; <a href="mailto:guruloz99@gmail.com">guruloz99@gmail.com</a>). &#x421;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x43B;&#x443;&#x447;&#x448;&#x438;&#x439; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441; &#x43E;&#x43D;&#x43B;&#x430;&#x439;&#x43D; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x43E;&#x43A; &#x432; &#x423;&#x43A;&#x440;&#x430;&#x438;&#x43D;&#x435; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x435;!<br>
&#x415;&#x441;&#x43B;&#x438; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x43E;, &#x442;&#x43E; &#x432; &#x431;&#x443;&#x434;&#x443;&#x449;&#x435;&#x43C; &#x43C;&#x43E;&#x433;&#x443; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E;, &#x43A;&#x430;&#x43A; &#x431;&#x44B;&#x43B; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43D; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;. &#x41A;&#x430;&#x43A; &#x43F;&#x43E;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43D; &#x431;&#x435;&#x43A;&#x435;&#x43D;&#x434;, &#x441;&#x432;&#x44F;&#x437;&#x44C; &#x441; &#x444;&#x440;&#x43E;&#x43D;&#x442;&#x435;&#x43D;&#x434;&#x43E;&#x43C;: &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430;, &#x434;&#x435;&#x43F;&#x43B;&#x43E;&#x439;, &#x43C;&#x43E;&#x43D;&#x438;&#x442;&#x43E;&#x440;&#x438;&#x43D;&#x433;.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Реальные примеры использования генераторов в PHP]]></title><description><![CDATA[Реальные примеры применения генераторов в PHP. В этой статье показано где чаще всего используются генераторы и как.]]></description><link>https://badtry.net/primiery-ispolzovaniia-ghienieratorov-v-php/</link><guid isPermaLink="false">62a6324e0f555f2eef8c237b</guid><category><![CDATA[php]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 07 Nov 2021 18:40:27 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/11/generatorsphp.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/11/generatorsphp.jpg" alt="&#x420;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432; &#x432; PHP"><p>&#x41D;&#x435;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x44F; &#x43D;&#x430; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B; &#x441; &#x432;&#x435;&#x440;&#x441;&#x438;&#x438; PHP 5.5, &#x43E;&#x43D;&#x438; &#x434;&#x43E; &#x441;&#x438;&#x445; &#x43F;&#x43E;&#x440; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x442;&#x441;&#x44F; &#x43A;&#x440;&#x430;&#x439;&#x43D;&#x435; &#x440;&#x435;&#x434;&#x43A;&#x43E;. &#x41D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435;, &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x43E; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x44F; &#x437;&#x43D;&#x430;&#x44E;, &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x44E;&#x442;, &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44E;&#x442; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B;, &#x43D;&#x43E; &#x43D;&#x435; &#x432;&#x438;&#x434;&#x44F;&#x442;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43E;&#x43D;&#x438; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x44B; &#x432; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x441;&#x438;&#x442;&#x443;&#x430;&#x446;&#x438;&#x44F;&#x445;.</p>
<blockquote>
<p>&quot;&#x414;&#x430;, &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B;, &#x431;&#x435;&#x437;&#x443;&#x441;&#x43B;&#x43E;&#x432;&#x43D;&#x43E;, &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x44F;&#x442; &#x437;&#x434;&#x43E;&#x440;&#x43E;&#x432;&#x43E;, &#x43D;&#x43E; &#x437;&#x43D;&#x430;&#x435;&#x442;&#x435;... &#x437;&#x430; &#x438;&#x441;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x432;&#x44B;&#x447;&#x438;&#x441;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438; &#x424;&#x438;&#x431;&#x43E;&#x43D;&#x430;&#x447;&#x447;&#x438;, &#x44F; &#x43D;&#x435; &#x432;&#x438;&#x436;&#x443;, &#x447;&#x435;&#x43C; &#x43E;&#x43D;&#x438; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43C;&#x43D;&#x435; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x44B;.&quot;</p>
</blockquote>
<p>&#x418; &#x432; &#x447;&#x435;&#x43C;-&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x438;&#x435; &#x43B;&#x44E;&#x434;&#x438; &#x43F;&#x440;&#x430;&#x432;&#x44B;, &#x432;&#x435;&#x434;&#x44C; &#x434;&#x430;&#x436;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x44B; &#x432; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x438; PHP &#x43E; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x430;&#x445; &#x434;&#x43E;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E; &#x443;&#x43F;&#x440;&#x43E;&#x449;&#x435;&#x43D;&#x44B;. &#x41E;&#x43D;&#x438; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x44E;&#x442;, &#x43A;&#x430;&#x43A; &#x44D;&#x444;&#x444;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x438;&#x430;&#x43F;&#x430;&#x437;&#x43E;&#x43D; &#x438;&#x43B;&#x438; &#x438;&#x442;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44E; &#x43F;&#x43E; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x430;&#x43C; &#x444;&#x430;&#x439;&#x43B;&#x430;.</p>
<p>&#x41D;&#x43E; &#x434;&#x430;&#x436;&#x435; &#x438;&#x437; &#x44D;&#x442;&#x438;&#x445; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x445; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43E;&#x432; &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x44C; &#x441;&#x443;&#x442;&#x44C; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432;: &#x44D;&#x442;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x443;&#x43F;&#x440;&#x43E;&#x449;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x438;&#x442;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B;.</p>
<blockquote>
<p>&#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x432;&#x430;&#x43C; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x43A;&#x43E;&#x434;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442; foreach &#x434;&#x43B;&#x44F; &#x438;&#x442;&#x435;&#x440;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x43E; &#x43D;&#x430;&#x431;&#x43E;&#x440;&#x443; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x431;&#x435;&#x437; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432; &#x432; &#x43F;&#x430;&#x43C;&#x44F;&#x442;&#x438;.</p>
</blockquote>
<p>&#x423;&#x447;&#x438;&#x442;&#x44B;&#x432;&#x430;&#x44F; &#x44D;&#x442;&#x43E;, &#x44F; &#x43F;&#x43E;&#x43F;&#x44B;&#x442;&#x430;&#x44E;&#x441;&#x44C; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x438;&#x442;&#x44C;, &#x43F;&#x43E;&#x447;&#x435;&#x43C;&#x443; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B; &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x442;&#x440;&#x44F;&#x441;&#x430;&#x44E;&#x449;&#x438;&#x43C;&#x438;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x44B;, &#x432;&#x437;&#x44F;&#x442;&#x44B;&#x435; &#x438;&#x437; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43C;&#x43E;&#x438;&#x445; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x439;, &#x43D;&#x430;&#x434; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C;&#x438; &#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44E;.</p>
<h2 id>&#x41D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;</h2>
<p>&#x423; &#x43C;&#x435;&#x43D;&#x44F; &#x431;&#x44B;&#x43B; &#x43E;&#x434;&#x438;&#x43D; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;, &#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x43D;&#x430; &#x447;&#x442;&#x435;&#x43D;&#x438;&#x435; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x43A;&#x43D;&#x438;&#x433;. &#x41A;&#x43D;&#x438;&#x433;&#x430; &#x43F;&#x440;&#x43E;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x432;&#x435;&#x441;&#x44C; &#x43F;&#x443;&#x442;&#x44C; &#x43E;&#x442; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x444;&#x430;&#x439;&#x43B;&#x43E;&#x432; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x43A;&#x43D;&#x438;&#x433; &#x43E;&#x442; &#x438;&#x437;&#x434;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x434;&#x43E; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x435;&#x435; &#x43D;&#x430; &#x441;&#x430;&#x439;&#x442;&#x435; &#x438; &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43A;&#x43E;&#x43D;&#x435;&#x447;&#x43D;&#x43E;&#x43C;&#x443; &#x43F;&#x43E;&#x43A;&#x443;&#x43F;&#x430;&#x442;&#x435;&#x43B;&#x44E; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x438; &#x447;&#x438;&#x442;&#x430;&#x442;&#x44C; &#x438;&#x445; &#x43E;&#x43D;&#x43B;&#x430;&#x439;&#x43D; (&#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x432;&#x435;&#x431;-&#x440;&#x438;&#x434;&#x435;&#x440;&#x430;) &#x438;&#x43B;&#x438; &#x43D;&#x430; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x43E;&#x439; &#x447;&#x438;&#x442;&#x430;&#x43B;&#x43A;&#x435;.</p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x438; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x435; &#x43A;&#x43D;&#x438;&#x433;&#x438; &#x438; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x443;&#x44E; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x438;&#x445; &#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;&#x43E;&#x432;, &#x43D;&#x430;&#x43C; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x43C;&#x43D;&#x43E;&#x436;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x438;&#x445; &#x43A;&#x43D;&#x438;&#x433; (&#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;, &#x444;&#x43E;&#x440;&#x43C;&#x430;&#x442;, &#x446;&#x435;&#x43D;&#x430;, &#x438;&#x437;&#x434;&#x430;&#x442;&#x435;&#x43B;&#x44C;, &#x430;&#x432;&#x442;&#x43E;&#x440;(&#x44B;), ...).</p>
<p>&#x412; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43D;&#x441;&#x442;&#x432;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43E;&#x432; &#x43A;&#x43E;&#x434;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x44B; &#x43D;&#x438;&#x436;&#x435;, &#x44F; &#x431;&#x443;&#x434;&#x443; &#x441;&#x441;&#x44B;&#x43B;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43D;&#x430; &#x44D;&#x442;&#x438; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x434; &#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43C; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x43E;&#x439; &#x43A;&#x43D;&#x438;&#x433;&#x438;.</p>
<p>&#x418;&#x442;&#x430;&#x43A;, &#x43D;&#x430;&#x447;&#x43D;&#x435;&#x43C;!</p>
<h2 id>&#x418;&#x442;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44F; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x445; &#x43D;&#x430;&#x431;&#x43E;&#x440;&#x43E;&#x432; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;</h2>
<p>&#x414;&#x43B;&#x44F; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x430; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x438;&#x43C;, &#x447;&#x442;&#x43E; &#x443; &#x43C;&#x435;&#x43D;&#x44F; &#x435;&#x441;&#x442;&#x44C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x430;&#x44F; &#x43A;&#x43E;&#x43B;&#x43B;&#x435;&#x43A;&#x446;&#x438;&#x44F; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x43A;&#x43D;&#x438;&#x433;, &#x438; &#x44F; &#x445;&#x43E;&#x447;&#x443; &#x43E;&#x442;&#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x447;&#x438;&#x442;&#x430;&#x442;&#x44C; &#x432; &#x432;&#x435;&#x431;-&#x447;&#x438;&#x442;&#x430;&#x43B;&#x43A;&#x435;.</p>
<p>&#x422;&#x440;&#x430;&#x434;&#x438;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x43E; &#x44F; &#x431;&#x44B; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43B; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x432;&#x440;&#x43E;&#x434;&#x435; &#x44D;&#x442;&#x43E;&#x433;&#x43E;:</p>
<pre><code class="language-php">private function getEbooksEligibleToWebReader($ebooks)
{
    $rule = &apos;format = &quot;EPUB&quot; AND protection != &quot;Adobe DRM&quot;&apos;;
    $filteredEbooks = [];

    foreach ($ebooks as $ebook) {
        if ($this-&gt;rulerz-&gt;satisfies($ebook, $rule)) {
            $filteredEbooks[] = $ebook;
        }
    }

    return $filteredEbooks;
}
</code></pre>
<p>&#x41F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x430; &#x437;&#x434;&#x435;&#x441;&#x44C; &#x43E;&#x447;&#x435;&#x432;&#x438;&#x434;&#x43D;&#x430;: &#x447;&#x435;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x443; &#x43C;&#x435;&#x43D;&#x44F; &#x431;&#x435;&#x441;&#x43F;&#x43B;&#x430;&#x442;&#x43D;&#x44B;&#x445; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x43A;&#x43D;&#x438;&#x433;, &#x442;&#x435;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x430;&#x44F; <code>$filteredEbooks</code> &#x431;&#x443;&#x434;&#x435;&#x442; &#x437;&#x430;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C; &#x43F;&#x430;&#x43C;&#x44F;&#x442;&#x438;.</p>
<p>&#x420;&#x435;&#x448;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x43C;&#x43E;&#x433;&#x43B;&#x43E; &#x431;&#x44B; &#x441;&#x442;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x438;&#x442;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x431;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x431;&#x438;&#x440;&#x430;&#x43B; <code>$ebooks</code> &#x438; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x43B; &#x442;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x442; &#x442;&#x440;&#x435;&#x431;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;&#x43C;. &#x41D;&#x43E; &#x434;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x448;&#x43B;&#x43E;&#x441;&#x44C; &#x431;&#x44B; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43D;&#x43E;&#x432;&#x44B;&#x439; &#x43A;&#x43B;&#x430;&#x441;&#x441;, &#x430; &#x438;&#x442;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x443;&#x442;&#x43E;&#x43C;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B; &#x432; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x438;... &#x41A; &#x441;&#x447;&#x430;&#x441;&#x442;&#x44C;&#x44E;, &#x43D;&#x430;&#x447;&#x438;&#x43D;&#x430;&#x44F; &#x441; PHP 5.5 &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B;!</p>
<pre><code class="language-php">private function getEbooksEligibleToWebReader($ebooks)
{
    $rule = &apos;format = &quot;EPUB&quot; AND protection != &quot;Adobe DRM&quot;&apos;;

    foreach ($ebooks as $ebook) {
        if ($this-&gt;rulerz-&gt;satisfies($ebook, $rule)) {
            yield $ebook;
        }
    }
}
</code></pre>
<p>&#x414;&#x430;, &#x440;&#x435;&#x444;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x438;&#x43D;&#x433; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; <code>getEbooksEligibleToWebReader</code> &#x434;&#x43B;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432; &#x442;&#x430;&#x43A; &#x436;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;, &#x43A;&#x430;&#x43A; &#x437;&#x430;&#x43C;&#x435;&#x43D;&#x430; &#x43F;&#x440;&#x438;&#x441;&#x432;&#x430;&#x438;&#x432;&#x430;&#x43D;&#x438;&#x44F; <code>$filteredEbooks</code> &#x43D;&#x430; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; <code>yield</code>.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x438;&#x442;&#x44C;, &#x447;&#x442;&#x43E; <code>$ebooks</code> - &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432; &#x441;&#x43E; &#x432;&#x441;&#x435;&#x43C;&#x438; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x43A;&#x43D;&#x438;&#x433;&#x430;&#x43C;&#x438;, &#x430; &#x438;&#x442;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x438;&#x43B;&#x438; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; (&#x435;&#x449;&#x435; &#x43B;&#x443;&#x447;&#x448;&#x435;!), &#x442;&#x43E; <strong>&#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x43F;&#x430;&#x43C;&#x44F;&#x442;&#x438; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x43D;&#x44B;&#x43C;</strong>, &#x43D;&#x435;&#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E; &#x43E;&#x442; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x430; &#x43A;&#x43D;&#x438;&#x433;, &#x438; &#x43C;&#x44B; &#x43E;&#x431;&#x44F;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43D;&#x430;&#x439;&#x434;&#x435;&#x43C; &#x44D;&#x442;&#x438; &#x43A;&#x43D;&#x438;&#x433;&#x438; &#x442;&#x43E;&#x433;&#x434;&#x430;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43E;&#x43D;&#x438; &#x43D;&#x430;&#x43C; &#x43F;&#x43E;&#x43D;&#x430;&#x434;&#x43E;&#x431;&#x44F;&#x442;&#x441;&#x44F;.</p>
<h2 id>&#x410;&#x433;&#x440;&#x435;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x441; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432;</h2>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x447;&#x430;&#x441;&#x442;&#x44C;, &#x441;&#x432;&#x44F;&#x437;&#x430;&#x43D;&#x43D;&#x443;&#x44E; &#x441; &#x438;&#x437;&#x432;&#x43B;&#x435;&#x447;&#x435;&#x43D;&#x438;&#x435;&#x43C; <code>$ebooks</code>. &#x42F; &#x43D;&#x435; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x438;&#x43B; &#x432;&#x430;&#x43C;, &#x43D;&#x43E; &#x44D;&#x442;&#x438; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x435; &#x43A;&#x43D;&#x438;&#x433;&#x438; &#x43F;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x430;&#x44E;&#x442; &#x438;&#x437; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;: &#x440;&#x435;&#x43B;&#x44F;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x43E;&#x439; &#x431;&#x430;&#x437;&#x44B; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; Mysql &#x438; Elasticsearch.</p>
<p>&#x41C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x439; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x434;&#x438;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x44D;&#x442;&#x438;&#x445; &#x434;&#x432;&#x443;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432;:</p>
<pre><code class="language-php">private function getEbooks()
{
    $ebooks = [];

    // fetch from the DB
    $stmt = $this-&gt;db-&gt;prepare(&quot;SELECT * FROM ebook_catalog&quot;);
    $stmt-&gt;execute();
    $stmt-&gt;setFetchMode(\PDO::FETCH_ASSOC);

    foreach ($stmt as $data) {
        $ebooks[] = $this-&gt;hydrateEbook($data);
    }

    // and from Elasticsearch (findAll uses ES scan/scroll)
    $cursor = $this-&gt;esClient-&gt;findAll();

    foreach ($cursor as $data) {
        $ebooks[] = $this-&gt;hydrateEbook($data);
    }

    return $ebooks;
}
</code></pre>
<p>&#x41D;&#x43E; &#x43E;&#x43F;&#x44F;&#x442;&#x44C; &#x436;&#x435;, &#x43E;&#x431;&#x44A;&#x435;&#x43C; &#x43F;&#x430;&#x43C;&#x44F;&#x442;&#x438;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C;&#x44B;&#x439; &#x44D;&#x442;&#x438;&#x43C; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x43E;&#x43C;, &#x441;&#x43B;&#x438;&#x448;&#x43A;&#x43E;&#x43C; &#x441;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x442; &#x43E;&#x442; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x430; &#x44D;&#x43B;&#x435;&#x43A;&#x442;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x43A;&#x43D;&#x438;&#x433;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x438;&#x43C;&#x435;&#x435;&#x43C; &#x432; &#x431;&#x430;&#x437;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x438; &#x432; Elasticsearch.</p>
<p>&#x41C;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x431;&#x44B; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x441; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x43C;&#x435;&#x440;&#x434;&#x436;&#x430; &#x44D;&#x442;&#x438;&#x445; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x441; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432;:</p>
<pre><code class="language-php">private function getEbooks()
{
    // fetch from the DB
    $stmt = $this-&gt;db-&gt;prepare(&quot;SELECT * FROM ebook_catalog&quot;);
    $stmt-&gt;execute();
    $stmt-&gt;setFetchMode(\PDO::FETCH_ASSOC);

    foreach ($stmt as $data) {
        yield $this-&gt;hydrateEbook($data);
    }

    // and from Elasticsearch (findAll uses ES scan/scroll)
    $cursor = $this-&gt;esClient-&gt;findAll();

    foreach ($cursor as $data) {
        yield $this-&gt;hydrateEbook($data);
    }
}
</code></pre>
<p>&#x42D;&#x442;&#x43E; &#x43B;&#x443;&#x447;&#x448;&#x435;, &#x43D;&#x43E; &#x443; &#x43D;&#x430;&#x441; &#x432;&#x441;&#x435; &#x435;&#x449;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x430;: &#x43D;&#x430;&#x448; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>getBooks</code> &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x435;&#x442; &#x441;&#x43B;&#x438;&#x448;&#x43A;&#x43E;&#x43C; &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B;! &#x41C;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x440;&#x430;&#x437;&#x434;&#x435;&#x43B;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x438; &#x434;&#x432;&#x435; &#x43E;&#x431;&#x44F;&#x437;&#x430;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x438; (&#x447;&#x442;&#x435;&#x43D;&#x438;&#x435; &#x438;&#x437; &#x431;&#x430;&#x437;&#x44B; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x438; &#x432;&#x44B;&#x437;&#x43E;&#x432; Elasticsearch) &#x43D;&#x430; &#x434;&#x432;&#x430; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430;:</p>
<pre><code class="language-php">private function getEbooks()
{
    yield from $this-&gt;getEbooksFromDatabase();
    yield from $this-&gt;getEbooksFromEs();
}

private function getEbooksFromDatabase()
{
    $stmt = $this-&gt;db-&gt;prepare(&quot;SELECT * FROM ebook_catalog&quot;);
    $stmt-&gt;execute();
    $stmt-&gt;setFetchMode(\PDO::FETCH_ASSOC);

    foreach ($stmt as $data) {
        yield $this-&gt;hydrateEbook($data);
    }
}

private function getEbooksFromEs()
{
    // and from Elasticsearch (findAll uses ES scan/scroll)
    $cursor = $this-&gt;esClient-&gt;findAll();

    foreach ($cursor as $data) {
        yield $this-&gt;hydrateEbook($data);
    }
}
</code></pre>
<p>&#x412;&#x44B; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x430; <code>yield from</code> (&#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x43E;&#x433;&#x43E; &#x441; PHP 7.0), &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x434;&#x435;&#x43B;&#x435;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432;. &#x42D;&#x442;&#x43E; &#x438;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x438;&#x442;, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x434;&#x438;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x449;&#x438;&#x445; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B;.</p>
<p>&#x41D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435;, &#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x432;&#x43E;&#x435; &#x441;&#x43B;&#x43E;&#x432;&#x43E; <code>yield from</code> &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x441; &#x43B;&#x44E;&#x431;&#x44B;&#x43C; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43E;&#x43C; <code>Traversable</code>, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x44B; &#x438;&#x43B;&#x438; &#x438;&#x442;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x44B; &#x441; &#x44D;&#x442;&#x438;&#x43C; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;.</p>
<p>&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x44D;&#x442;&#x43E; &#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x432;&#x43E;&#x435; &#x441;&#x43B;&#x43E;&#x432;&#x43E;, &#x43C;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x431;&#x44B; &#x43E;&#x431;&#x44A;&#x435;&#x434;&#x438;&#x43D;&#x438;&#x442;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x43C;&#x438; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x430;&#x43C;&#x438; &#x43A;&#x43E;&#x434;&#x430;:</p>
<pre><code class="language-php">private function getEbooks()
{
    yield new Ebook(&#x2026;);
    yield from [new Ebook(&#x2026;), new Ebook(&#x2026;)];
    yield from new ArrayIterator([new Ebook(&#x2026;), new Ebook(&#x2026;)]);
    yield from $this-&gt;getEbooksFromCSV();
    yield from $this-&gt;getEbooksFromDatabase();
}
</code></pre>
<h2 id>&#x421;&#x43B;&#x43E;&#x436;&#x43D;&#x430;&#x44F; &#x433;&#x438;&#x434;&#x440;&#x430;&#x442;&#x430;&#x446;&#x438;&#x44F; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x434;&#x43B;&#x44F; &#x441;&#x442;&#x440;&#x43E;&#x43A; &#x431;&#x430;&#x437;&#x44B; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x441;&#x43E; &#x441;&#x432;&#x44F;&#x437;&#x44F;&#x43C;&#x438;</h2>
<p>&#x414;&#x440;&#x443;&#x433;&#x438;&#x43C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43E;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x44F; &#x43D;&#x430;&#x448;&#x435;&#x43B;, &#x431;&#x44B;&#x43B;&#x430; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x44F; &#x433;&#x438;&#x434;&#x440;&#x430;&#x442;&#x430;&#x446;&#x438;&#x438; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43C;&#x43E;&#x433;&#x43B;&#x430; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x432;&#x44F;&#x437;&#x438;.</p>
<p>&#x41C;&#x43D;&#x435; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x438;&#x43C;&#x43F;&#x43E;&#x440;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x442;&#x43D;&#x438; &#x442;&#x44B;&#x441;&#x44F;&#x447; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x43E;&#x432; &#x438;&#x437; &#x441;&#x442;&#x430;&#x440;&#x43E;&#x439; &#x431;&#x430;&#x437;&#x44B; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x432; &#x43D;&#x430;&#x448;&#x443; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443;, &#x43F;&#x440;&#x438;&#x447;&#x435;&#x43C; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x437;&#x430;&#x43A;&#x430;&#x437; &#x438;&#x43C;&#x435;&#x43B; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x441;&#x432;&#x44F;&#x437;&#x435;&#x439; - &#x442;&#x43E;&#x432;&#x430;&#x440;&#x43E;&#x432;.</p>
<p>&#x41D;&#x430;&#x43B;&#x438;&#x447;&#x438;&#x435;, &#x438; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438; &#x442;&#x43E;&#x432;&#x430;&#x440;&#x43E;&#x432; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x430; &#x431;&#x44B;&#x43B;&#x43E; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x44B;&#x43C; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x435;&#x43C; &#x434;&#x43B;&#x44F; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C;, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x44F; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x431;&#x44B;&#x43B; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x43E;&#x433; &#x431;&#x44B; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x442;&#x44C; &#x43E;&#x431;&#x44A;&#x435;&#x434;&#x438;&#x43D;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x430;&#x43C;, &#x43D;&#x435; &#x431;&#x443;&#x434;&#x443;&#x447;&#x438; &#x441;&#x43B;&#x438;&#x448;&#x43A;&#x43E;&#x43C; &#x43C;&#x435;&#x434;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; &#x438; &#x43D;&#x435; &#x437;&#x430;&#x43D;&#x438;&#x43C;&#x430;&#x44F; &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x43F;&#x430;&#x43C;&#x44F;&#x442;&#x438;.</p>
<p>&#x418;&#x434;&#x435;&#x44F; &#x434;&#x43E;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E; &#x43D;&#x430;&#x438;&#x432;&#x43D;&#x430;: &#x441;&#x43E;&#x435;&#x434;&#x438;&#x43D;&#x438;&#x442;&#x44C; &#x437;&#x430;&#x43A;&#x430;&#x437; &#x438; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438;, &#x441;&#x433;&#x440;&#x443;&#x43F;&#x43F;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43A;&#x430;&#x437; &#x438; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x430; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x435; &#x432; &#x446;&#x438;&#x43A;&#x43B;&#x435;.</p>
<pre><code class="language-php">public function loadOrdersWithItems()
{
    $oracleQuery = &lt;&lt;&lt;SQL
SELECT o.*, item.*
FROM order_history o
INNER JOIN ORDER_ITEM item ON item.order_id = o.id
ORDER BY order.id
SQL;

    if (($stmt = oci_parse($oracleDb, $oracleQuery)) === false) {
        throw new \RuntimeException(&apos;Prepare fail in &apos;);
    }
    if (oci_execute($stmt) === false) {
        throw new \RuntimeException(&apos;Execute fail in &apos;);
    }

    $currentOrderId = null;
    $currentOrder = null;
    while (($row = oci_fetch_assoc($stmt)) !== false) {
        // did we move to the next order?
        if ($row[&apos;ID&apos;] !== $currentOrderId) {
            if ($currentOrderId !== null) {
                yield $currentOrder;
            }

            $currentOrderId = $row[&apos;ID&apos;];

            $currentOrder = $row;
            $currentOrder[&apos;lines&apos;] = [];
        }

        $currentOrder[&apos;lines&apos;][] = $row;
    }

    yield $currentOrder;
}
</code></pre>
<p>&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;, &#x43C;&#x43D;&#x435; &#x443;&#x434;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x44B; &#x438;&#x437; &#x431;&#x430;&#x437;&#x44B; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x438; &#x441;&#x43E;&#x435;&#x434;&#x438;&#x43D;&#x44F;&#x442;&#x44C; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x43E;&#x432;. &#x412;&#x441;&#x435; &#x44D;&#x442;&#x43E; &#x43F;&#x440;&#x438; &#x441;&#x442;&#x430;&#x431;&#x438;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x43B;&#x435;&#x43D;&#x438;&#x438; &#x43F;&#x430;&#x43C;&#x44F;&#x442;&#x438;. &#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x443;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x43B; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x44C; &#x43E;&#x442;&#x441;&#x43B;&#x435;&#x436;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x44B; &#x441; &#x438;&#x445; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x430;&#x43C;&#x438; &#x437;&#x430;&#x43A;&#x430;&#x437;&#x43E;&#x432;: &#x442;&#x435;&#x43A;&#x443;&#x449;&#x438;&#x439; &#x437;&#x430;&#x43A;&#x430;&#x437; - &#x44D;&#x442;&#x43E; &#x432;&#x441;&#x435;, &#x447;&#x442;&#x43E; &#x43C;&#x43D;&#x435; &#x431;&#x44B;&#x43B;&#x43E; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x434;&#x438;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x432;&#x441;&#x435;&#x445; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;.</p>
<h2 id>&#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B; &#x43F;&#x440;&#x438; &#x43F;&#x430;&#x440;&#x441;&#x438;&#x43D;&#x433;&#x435; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x445; &#x43E;&#x431;&#x44A;&#x435;&#x43C;&#x43E;&#x432; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;</h2>
<p>&#x412; &#x441;&#x432;&#x43E;&#x435;&#x439; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x438; &#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;&#x445; &#x43C;&#x43D;&#x435; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x441;&#x44F; &#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x43F;&#x430;&#x440;&#x441;&#x435;&#x440;&#x44B;. &#x418; &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x434;&#x435;&#x43B;&#x43E; &#x434;&#x43E;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x434;&#x43E; &#x43F;&#x430;&#x440;&#x441;&#x438;&#x43D;&#x433;&#x430; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x445; &#x43E;&#x431;&#x44A;&#x435;&#x43C;&#x43E;&#x432; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x442;&#x43E; &#x442;&#x443;&#x442; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x432;&#x44B;&#x440;&#x443;&#x447;&#x430;&#x44E;&#x442; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x44B; &#x438; &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B;.</p>
<p>&#x420;&#x430;&#x43D;&#x435;&#x435; &#x44F; &#x443;&#x436;&#x435; &#x43F;&#x438;&#x441;&#x430;&#x43B; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438; &#x43F;&#x43E; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x44E; <a href="https://badcode.ru/bystryi-php-parsier-s-razborom-dom-i-asinkhronnymi-zaprosami/?ref=badtry.net" target="_blank">&#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x43F;&#x430;&#x440;&#x441;&#x435;&#x440;&#x43E;&#x432; &#x43D;&#x430; PHP</a>. &#x41D;&#x43E;, &#x432; &#x441;&#x432;&#x43E;&#x438;&#x445; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;&#x445;, &#x44F;, &#x432; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x43E;&#x43C;, &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x441;&#x44C; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x439; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x43E;&#x439; &#x434;&#x43B;&#x44F; &#x43F;&#x430;&#x440;&#x441;&#x438;&#x43D;&#x433;&#x430; - <a href="https://docs.guzzlephp.org/?ref=badtry.net" target="_blank">Guzzle</a>. &#x42D;&#x442;&#x43E; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43A;&#x440;&#x443;&#x442;&#x430;&#x44F; &#x438; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x430; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x442;&#x44C; &#x43F;&#x430;&#x440;&#x430;&#x43B;&#x43B;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435;, &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x432; PHP, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x43E;&#x432;, &#x43C;&#x43E;&#x434;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x442;&#x43E;&#x440;&#x44B; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;, middleware &#x438; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x435; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x435;. &#x41A; &#x442;&#x43E;&#x43C;&#x443; &#x436;&#x435;, <a href="https://badtry.net/tag/laravel/" target="_blank">&#x441; Laravel</a> &#x43E;&#x43D;&#x430; &#x438;&#x434;&#x435;&#x442; &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;.</p>
<p>&#x412; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x438; Guzzle &#x435;&#x441;&#x442;&#x44C; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x432; &#x441; &#x438;&#x445; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x43E;&#x439; <a href="https://docs.guzzlephp.org/en/stable/quickstart.html?ref=badtry.net#concurrent-requests" target="_blank">&#x434;&#x43B;&#x44F; &#x43F;&#x430;&#x440;&#x430;&#x43B;&#x43B;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;</a>. &#x41D;&#x43E; &#x44F; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x443; &#x441;&#x432;&#x43E;&#x439; &#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x434; &#x438;&#x437; &#x43F;&#x435;&#x440;&#x441;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;.</p>
<p>&#x423; &#x43C;&#x435;&#x43D;&#x44F; &#x435;&#x441;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442; &#x43F;&#x43E; &#x441;&#x431;&#x43E;&#x440;&#x443; &#x431;&#x435;&#x441;&#x43F;&#x43B;&#x430;&#x442;&#x43D;&#x44B;&#x445; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x441; &#x43C;&#x43D;&#x43E;&#x433;&#x438;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432; &#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x430; &#x438;&#x445; &#x43D;&#x430; &#x432;&#x430;&#x43B;&#x438;&#x434;&#x43D;&#x43E;&#x441;&#x442;&#x44C;. &#x417;&#x430;&#x434;&#x430;&#x447;&#x430;, &#x43F;&#x43E; &#x444;&#x430;&#x43A;&#x442;&#x443;, &#x434;&#x435;&#x43B;&#x438;&#x442;&#x441;&#x44F; &#x43D;&#x430; 2 &#x44D;&#x442;&#x430;&#x43F;&#x430;: &#x441;&#x431;&#x43E;&#x440; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x430; &#x43D;&#x430; &#x432;&#x430;&#x43B;&#x438;&#x434;&#x43D;&#x43E;&#x441;&#x442;&#x44C;. &#x421;&#x431;&#x43E;&#x440; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x43D;&#x43E; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x430;&#x44F; &#x43E;&#x43F;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44F;. &#x41D;&#x430; &#x43E;&#x434;&#x438;&#x43D; &#x441;&#x430;&#x439;&#x442;, &#x43E;&#x442;&#x43A;&#x443;&#x434;&#x430; &#x43C;&#x44B; &#x43F;&#x430;&#x440;&#x441;&#x438;&#x43C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x43C;&#x44B; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x43E;&#x442; 1 &#x434;&#x43E; 5 &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;. &#x415;&#x441;&#x43B;&#x438; &#x442;&#x430;&#x43A;&#x438;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x447;&#x43D;&#x438;&#x43A;&#x43E;&#x432; &#x431;&#x443;&#x434;&#x435;&#x442; 15-20, &#x442;&#x43E; &#x434;&#x430;&#x436;&#x435; &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x44D;&#x442;&#x438; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x44C; &#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x43E; &#x433;&#x434;&#x435;-&#x442;&#x43E; &#x432; &#x43E;&#x447;&#x435;&#x440;&#x435;&#x434;&#x438;.</p>
<p>&#x41F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x44B; &#x43D;&#x430;&#x447;&#x438;&#x43D;&#x430;&#x44E;&#x442;&#x441;&#x44F;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44C; &#x432;&#x435;&#x441;&#x44C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x441;&#x43F;&#x430;&#x440;&#x448;&#x435;&#x43D;&#x43D;&#x44B;&#x445; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x43D;&#x430; &#x432;&#x430;&#x43B;&#x438;&#x434;&#x43D;&#x43E;&#x441;&#x442;&#x44C;. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x442;&#x443;&#x442; &#x434;&#x432;&#x430; &#x43D;&#x44E;&#x430;&#x43D;&#x441;&#x430;: &#x43A;-&#x432;&#x43E; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x44D;&#x442;&#x430;&#x43F;&#x430; &#x440;&#x430;&#x432;&#x43D;&#x43E; &#x433;&#x434;&#x435;-&#x442;&#x43E; &#x43E;&#x442; 15-20&#x43A;. &#x41F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x430; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x430; &#x431;&#x44B;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E;&#x439;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x431;&#x44B;&#x43B;&#x430; &#x446;&#x435;&#x43B;&#x435;&#x441;&#x43E;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x43D;&#x43E;&#x441;&#x442;&#x44C;. &#x415;&#x441;&#x43B;&#x438; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x432; &#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x43E;&#x43C; &#x440;&#x435;&#x436;&#x438;&#x43C;&#x435; &#x436;&#x434;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x438; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x433;&#x43E; &#x438;&#x437; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438;-&#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430; &#x441; &#x43C;&#x430;&#x43A;&#x441;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x43C; &#x442;&#x430;&#x43C;&#x439;&#x43C;&#x430;&#x443;&#x442;&#x43E;&#x43C; &#x432; 5 &#x441;&#x435;&#x43A;&#x443;&#x43D;&#x434;. &#x422;&#x43E; &#x432; &#x445;&#x443;&#x434;&#x448;&#x435;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435;, 100 &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x441;&#x44F; &#x437;&#x430; 500 &#x441;&#x435;&#x43A;&#x443;&#x43D;&#x434;. &#x410; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x430; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x441;&#x43F;&#x438;&#x441;&#x43A;&#x430; &#x437;&#x430;&#x439;&#x43C;&#x435;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; 27 &#x447;&#x430;&#x441;&#x43E;&#x432;.</p>
<p>&#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443;, &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x444;&#x43E;&#x440;&#x43C;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x443;&#x43B;&#x43B; &#x438;&#x437; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x438; &#x43F;&#x430;&#x440;&#x440;&#x430;&#x43B;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x442;&#x44C; &#x438;&#x445; &#x432;&#x430;&#x43B;&#x438;&#x434;&#x43D;&#x43E;&#x441;&#x442;&#x44C;. &#x418; &#x43A;&#x430;&#x43A; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x434;&#x438;&#x43D; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x435;&#x43D;, &#x432; &#x43F;&#x443;&#x43B;&#x43B; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43D;&#x43E;&#x432;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;. &#x422;&#x43E; &#x435;&#x441;&#x442;&#x44C;, &#x432; &#x43E;&#x434;&#x438;&#x43D; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x442;&#x44C;&#x441;&#x44F; N-&#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x439;.</p>
<pre><code class="language-php">$handler = HandlerStack::create();

$iterator = function () use ($handler, $proxies, $url, $project) {
    /* @var Proxy $proxy */
    foreach($proxies as $proxy) {
        $request = new Request(&apos;GET&apos;, $project-&gt;ping_url, []);

        $startTime = microtime(true);

        yield (new Client([
            &apos;handler&apos; =&gt; $handler,
            RequestOptions::TIMEOUT =&gt; 5,
            RequestOptions::CONNECT_TIMEOUT =&gt; 5,
            RequestOptions::READ_TIMEOUT =&gt; 5,
            RequestOptions::PROXY =&gt; $proxy-&gt;getFullProxy(),
            RequestOptions::ALLOW_REDIRECTS =&gt; true,
            RequestOptions::HEADERS =&gt; [
                &apos;user-agent&apos; =&gt; &apos;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36&apos;,
            ],
        ]))
            -&gt;sendAsync($request)
            -&gt;then(
                function (Response $response) use ($request, $proxy, $startTime, $project) {
                    $responseTime = microtime(true) - $startTime;

                    $validator = new RulesValidator($response-&gt;getBody()-&gt;__toString());
                    // &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x438; &#x432;&#x430;&#x43B;&#x438;&#x434;&#x430;&#x446;&#x438;&#x438; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;
                    if($validator-&gt;validate() === false) {
                        return $proxy-&gt;update([
                            &apos;status&apos; =&gt; Proxy::STATUS_FAULT,
                            &apos;response_time&apos; =&gt; $responseTime,
                            &apos;response_status&apos; =&gt; $response-&gt;getStatusCode(),
                            // ...
                        ]);
                    }

                    $proxy-&gt;update([
                        &apos;status&apos; =&gt; Proxy::STATUS_SUCCESS,
                        &apos;response_time&apos; =&gt; $responseTime,
                        &apos;response_status&apos; =&gt; $response-&gt;getStatusCode(),
                        // ...
                    ]);
                },
                function($reason) use($proxy, $startTime) {
                    // &#x43E;&#x431;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x435;&#x43C; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x443;
                });
    }
};

// &#x43A;&#x43E;&#x43D;&#x43A;&#x443;&#x440;&#x435;&#x43D;&#x442;&#x43D;&#x43E; &#x43F;&#x430;&#x440;&#x441;&#x438;&#x442;&#x44C; &#x432; 100 &#x43F;&#x43E;&#x442;&#x43E;&#x43A;&#x43E;&#x432;
$promise = each_limit_all($iterator(), 100);

$promise-&gt;wait();
</code></pre>
<p><br>
&#x415;&#x441;&#x43B;&#x438; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x43E;, &#x43F;&#x438;&#x448;&#x438;&#x442;&#x435; &#x43D;&#x430; &#x43F;&#x43E;&#x447;&#x442;&#x443;, &#x438; &#x44F; &#x43E;&#x431;&#x44F;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43D;&#x430;&#x43F;&#x438;&#x448;&#x443; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x443;&#x44E; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E; &#x43A;&#x430;&#x43A; &#x44F; &#x43F;&#x438;&#x441;&#x430;&#x43B; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442; &#x43D;&#x430; Laravel &#x43F;&#x43E; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x43F;&#x43E;&#x442;&#x43E;&#x447;&#x43D;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x435; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438;, &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x438; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;, &#x441;&#x43A;&#x43E;&#x440;&#x43E;&#x441;&#x442;&#x438; &#x441;&#x43E;&#x435;&#x434;&#x438;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x438; &#x44D;&#x442;&#x43E; &#x432;&#x441;&#x435; &#x43D;&#x430; PHP.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Как настроить Axios в приложении Nuxt]]></title><description><![CDATA[Шпаргалка по настройке и работе с axios в приложении Nuxt. Как устанавливать, создавать плагин, делать несколько экземпляров, внедрять axios как зависимость]]></description><link>https://badtry.net/kak-nastroit-axios-v-prilozhienii-nuxt/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2379</guid><category><![CDATA[Nuxt]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Vue Js]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 17 Oct 2021 18:50:54 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/10/axios-nuxt-preview-1.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/10/axios-nuxt-preview-1.jpg" alt="&#x41A;&#x430;&#x43A; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; Axios &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt"><p>&#x412;&#x44B;, &#x432;&#x435;&#x440;&#x43E;&#x44F;&#x442;&#x43D;&#x43E;, &#x441;&#x43B;&#x44B;&#x448;&#x430;&#x43B;&#x438; &#x43F;&#x440;&#x43E; axios &#x438;&#x43B;&#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B;&#x438; &#x435;&#x433;&#x43E; &#x432; &#x441;&#x432;&#x43E;&#x438;&#x445; &#x432;&#x435;&#x431;-&#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;&#x445;. Axios - &#x44D;&#x442;&#x43E; HTTP-&#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442; &#x434;&#x43B;&#x44F; &#x431;&#x440;&#x430;&#x443;&#x437;&#x435;&#x440;&#x430; &#x438; node.js. &#x41E;&#x43D; &#x437;&#x43D;&#x430;&#x447;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x443;&#x43F;&#x440;&#x43E;&#x449;&#x430;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; API-&#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;&#x43C;&#x438;. &#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442;&#x435; &#x441; Nuxt, &#x435;&#x441;&#x442;&#x44C; &#x43E;&#x444;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x435;&#x449;&#x451; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x443;&#x43F;&#x440;&#x43E;&#x449;&#x430;&#x435;&#x442; &#x437;&#x430;&#x434;&#x430;&#x447;&#x443; &#x438;&#x43D;&#x442;&#x435;&#x433;&#x440;&#x430;&#x446;&#x438;&#x438; &#x44D;&#x442;&#x43E;&#x439; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438; &#x432; &#x444;&#x440;&#x435;&#x439;&#x43C;&#x432;&#x43E;&#x440;&#x43A;: <code>@nuxtjs/axios</code>. &#x418;&#x43C;&#x435;&#x43D;&#x43D;&#x43E; &#x43D;&#x430; &#x43D;&#x451;&#x43C; &#x44F; &#x441;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x43E;&#x442;&#x43E;&#x447;&#x443;&#x441;&#x44C; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;. &#x41F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x43B;&#x430;&#x433;&#x430;&#x435;&#x442;&#x441;&#x44F;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x437;&#x43D;&#x430;&#x43A;&#x43E;&#x43C;&#x44B; &#x441; Nuxt &#x438; &#x443;&#x436;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x43B;&#x438; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;. &#x42F; &#x43D;&#x435; &#x431;&#x443;&#x434;&#x443; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E; &#x440;&#x430;&#x441;&#x441;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43E; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; axios, &#x43E;&#x431; &#x44D;&#x442;&#x43E;&#x43C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x442;&#x44C; <a href="https://badcode.ru/nachalo-raboty-s-axios-v-nuxt/?ref=badtry.net" target="_blank">&#x432; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;</a>. &#x417;&#x434;&#x435;&#x441;&#x44C; &#x432;&#x44B; &#x443;&#x437;&#x43D;&#x430;&#x435;&#x442;&#x435;, &#x43A;&#x430;&#x43A; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; axios &#x434;&#x43B;&#x44F; &#x432;&#x430;&#x448;&#x438;&#x445; &#x43D;&#x443;&#x436;&#x434; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt.</p>
<h2 id="axios">&#x41A;&#x430;&#x43A; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; axios</h2>
<p>&#x412; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x43C; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x435; Nuxt &#x437;&#x430;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x442;&#x435; <code>yarn add @nuxtjs/axios</code> &#x438;&#x43B;&#x438; <code>npm install @nuxtjs/axios</code> &#x432; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x43E;&#x442; &#x432;&#x430;&#x448;&#x435;&#x439; &#x440;&#x430;&#x431;&#x43E;&#x447;&#x435;&#x439; &#x441;&#x440;&#x435;&#x434;&#x44B;.</p>
<p>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; <code>@nuxtjs/axios</code> &#x432; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x439; &#x432; <code>nuxt.config.js</code>.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; axios &#x433;&#x43E;&#x442;&#x43E;&#x432; &#x43A; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E;!</p>
<h2 id>&#x411;&#x430;&#x437;&#x43E;&#x432;&#x43E;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;</h2>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; axios &#x432; &#x432;&#x430;&#x448;&#x438;&#x445; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;&#x445; &#x438; &#x432; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x447;&#x430;&#x441;&#x442;&#x438; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x443; Nuxt. &#x41C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; axios &#x432; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442; &#x438; &#x43E;&#x43D; &#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x441;&#x44F; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x435;&#x43D; &#x43F;&#x43E;&#x434; &#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43C; <code>$axios</code>. &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; <code>this.$axios.get(url)</code> &#x438;&#x43B;&#x438; <code>this.$axios.post(url, data)</code> &#x432; &#x43B;&#x44E;&#x431;&#x43E;&#x43C; <code>.vue</code> &#x444;&#x430;&#x439;&#x43B;&#x435;.</p>
<h2 id="axios">&#x41D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x430; axios &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;</h2>
<p>&#x41E;&#x434;&#x43D;&#x438;&#x43C; &#x438;&#x437; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x43E;&#x432; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438; axios &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x437;&#x430;&#x434;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x432;&#x441;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;. &#x42D;&#x442;&#x43E; &#x442;&#x43E; &#x436;&#x435; &#x441;&#x430;&#x43C;&#x43E;&#x435;, &#x447;&#x442;&#x43E; &#x438; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43B;&#x44E;&#x431;&#x43E;&#x433;&#x43E; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x433;&#x43E; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; &#x434;&#x43B;&#x44F; Nuxt. &#x41A;&#x43E;&#x434; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x43A;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43E; &#x438;&#x43D;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x44F;&#x434;&#x440;&#x430; Vue.</p>
<h3 id>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;</h3>
<ul>
<li>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x439;&#x442;&#x435; &#x444;&#x430;&#x439;&#x43B; &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; <code>plugins</code>. &#x41D;&#x430;&#x437;&#x43E;&#x432;&#x438;&#x442;&#x435; &#x435;&#x433;&#x43E; &#x43A;&#x430;&#x43A; &#x443;&#x433;&#x43E;&#x434;&#x43D;&#x43E;, &#x43D;&#x43E;, &#x44F; &#x441;&#x43E;&#x432;&#x435;&#x442;&#x443;&#x44E; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x442;&#x44C; <code>axios.js</code> - &#x44D;&#x442;&#x43E; &#x43E;&#x431;&#x449;&#x435;&#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x442;&#x43E;&#x435; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;.</li>
<li>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x444;&#x430;&#x439;&#x43B; &#x432; &#x441;&#x43F;&#x438;&#x441;&#x43A;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x43E;&#x432; &#x432; <code>nuxt.config.js</code> &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>plugins</code>.</li>
<li>&#x413;&#x43E;&#x442;&#x43E;&#x432;&#x43E;!</li>
</ul>
<h3 id>&#x41D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x430; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;</h3>
<p>&#x41A;&#x430;&#x43A; &#x436;&#x435; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;?</p>
<pre><code class="lang-js">export default function ({ $axios, store }, inject) {
    // &#x442;&#x443;&#x442; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x432;&#x441;&#x451; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x430;&#x438;&#x432;&#x430;&#x442;&#x44C;
})</code></pre>
<br>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; <code>$axios</code> &#x438; <code>store</code> &#x438;&#x437; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;. &#x41D;&#x43E; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x43E;&#x432; &#x432; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438; &#x43D;&#x430;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435;. &#x420;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x44E; &#x43F;&#x440;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x44E; <a href="https://nuxtjs.org/docs/internals-glossary/context/?ref=badtry.net" target="_blank">&#x43F;&#x43E; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x443; Nuxt</a>, &#x433;&#x434;&#x435; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x451;&#x43D; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x432;&#x441;&#x435;&#x445; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B;&#x445; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x43E;&#x432; &#x438; &#x438;&#x445; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435;.</p>
<p>&#x412;&#x43E;&#x442; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43E;&#x432; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; <code>plugins/axios.js</code>:</p>
<ul>
<li>&#x423;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x439; URL &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x435;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;</li>
<li>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x44B; axios, &#x432;&#x43D;&#x435;&#x434;&#x440;&#x438;&#x442;&#x44C; &#x438;&#x445; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432; &#x43D;&#x443;&#x436;&#x43D;&#x44B;&#x445; &#x43C;&#x435;&#x441;&#x442;&#x430;&#x445; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x44B;&#x435; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x44B;</li>
<li>&#x41F;&#x440;&#x438;&#x43A;&#x440;&#x435;&#x43F;&#x438;&#x442;&#x44C; &#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x43A; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x43C;&#x443; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x443;</li>
<li>&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x432;&#x435;&#x442; &#x434;&#x43E; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A; &#x43E;&#x43D; &#x43F;&#x43E;&#x43F;&#x430;&#x434;&#x430;&#x435;&#x442; &#x432; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x439; &#x43A;&#x43E;&#x434; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;</li>
</ul>
<h3 id="url">&#x423;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x430; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x43E;&#x433;&#x43E; URL &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x435;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;</h3>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x441;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x43E;&#x434;&#x438;&#x43D; &#x438; &#x442;&#x43E;&#x442; &#x436;&#x435; API, &#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x437;&#x430;&#x434;&#x430;&#x442;&#x44C; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x439; URL &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;&#x445; &#x43A; API &#x43C;&#x44B; &#x43D;&#x435; &#x445;&#x430;&#x440;&#x434;&#x43A;&#x43E;&#x434;&#x438;&#x43B;&#x438; &#x434;&#x43E;&#x43C;&#x435;&#x43D;, &#x438; &#x432; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x447;&#x435;&#x433;&#x43E;, &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x432; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x445;&#x43E;&#x441;&#x442; &#x43D;&#x430; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x439;. &#x41C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; <code>axios</code> &#x442;&#x430;&#x43A;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43E;&#x43D; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B; &#x44D;&#x442;&#x43E;&#x442; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x439; URL.</p>
<p>&#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x43C; &#x43D;&#x435; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x43F;&#x438;&#x441;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x43E;&#x43B;&#x43D;&#x44B;&#x439; URL &#x432; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C;. &#x41F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x44D;&#x442;&#x43E; &#x432; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;:</p>
<pre><code class="lang-js">$axios.setBaseUrl(&apos;https://api.badcode.ru/&apos;)</code></pre>
<br>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43F;&#x440;&#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438; <code>$axios</code> &#x44D;&#x442;&#x43E;&#x442; URL &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x431;&#x443;&#x434;&#x435;&#x442; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x43E;&#x433;&#x43E; URL-&#x430;&#x434;&#x440;&#x435;&#x441;&#x430;. &#x427;&#x442;&#x43E; &#x434;&#x430;&#x451;&#x442; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x44B;&#x43C; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x442;&#x430;&#x43A;&#x43E;&#x439; &#x432;&#x44B;&#x437;&#x43E;&#x432; api:</p>
<pre><code class="lang-js">$axios.get(&apos;/post/1&apos;)</code></pre>
<br>
<h2 id="axios">&#x414;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x430; axios &#x438; &#x432;&#x43D;&#x435;&#x434;&#x440;&#x435;&#x43D;&#x438;&#x435; &#x435;&#x433;&#x43E; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;</h2>
<p>&#x41D;&#x43E; &#x447;&#x442;&#x43E;, &#x435;&#x441;&#x43B;&#x438; &#x43D;&#x430;&#x43C; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x431;&#x440;&#x430;&#x449;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43A; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x43C; &#x434;&#x43E;&#x43C;&#x435;&#x43D;&#x430;&#x43C; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; API? &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43D;&#x43E;&#x432;&#x44B;&#x439; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; <code>axios</code> &#x441; &#x43B;&#x44E;&#x431;&#x44B;&#x43C; &#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43C;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x432;&#x44B; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x435;&#x442;&#x435;, &#x438; &#x432;&#x43D;&#x435;&#x434;&#x440;&#x438;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;.</p>
<p>&#x414;&#x43E;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x43C;, &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43E; <strong>&#x43F;&#x43E;&#x441;&#x442;&#x430;&#x445; &#x431;&#x43B;&#x43E;&#x433;&#x430;</strong> &#x438; <strong>&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x445;</strong>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x445;&#x43E;&#x441;&#x442;&#x44F;&#x442;&#x441;&#x44F; &#x43D;&#x430; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; API. &#x41C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x434;&#x432;&#x430; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x430; axios &#x441; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x43C;&#x438; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x43C;&#x438; &#x430;&#x434;&#x440;&#x435;&#x441;&#x430;&#x43C;&#x438;.</p>
<pre><code class="lang-js">const postsApi = $axios.create()
const membersApi = $axios.create()

postsApi.setBaseUrl(&apos;https://api.badcode.ru/&apos;)
membersApi.setBaseUrl(&apos;https://members.badcode.ru/&apos;)

inject(&apos;postsApi&apos;, postsApi)
inject(&apos;membersApi&apos;, membersApi)</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; <code>inject</code>, &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C;&#x44B;&#x439; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;&#x43C;&#x438; Nuxt. <code>Inject</code> &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x434;&#x432;&#x430; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;: &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x439; - <strong>&#x43A;&#x43B;&#x44E;&#x447;</strong>, &#x432;&#x442;&#x43E;&#x440;&#x43E;&#x439; - <strong>&#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;</strong>.</p>
<p>&#x422;&#x43E; &#x435;&#x441;&#x442;&#x44C;, &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x430; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; <code>inject</code>, &#x432; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; Nuxt &#x43F;&#x43E;&#x44F;&#x432;&#x438;&#x442;&#x441;&#x44F; &#x43D;&#x43E;&#x432;&#x43E;&#x435; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; &#x441; &#x442;&#x430;&#x43A;&#x438;&#x43C; &#x43A;&#x43B;&#x44E;&#x447;&#x43E;&#x43C; &#x438; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x43A;&#x430;&#x43A; &#x431;&#x44B;&#x43B;&#x43E; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E;. Nuxt &#x430;&#x432;&#x442;&#x43E;&#x43C;&#x430;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; <strong>&#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x437;&#x43D;&#x430;&#x43A; &#x434;&#x43E;&#x43B;&#x43B;&#x430;&#x440;&#x430; &#x43A; &#x432;&#x43D;&#x435;&#x434;&#x440;&#x44F;&#x435;&#x43C;&#x43E;&#x43C;&#x443; &#x43A;&#x43B;&#x44E;&#x447;&#x443;</strong>.</p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x44B; axios, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B;&#x438;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43E;&#x431;&#x440;&#x430;&#x442;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x442;&#x430;&#x43A;:</p>
<pre><code class="lang-js">this.$membersApi.get(&apos;/people/1&apos;)
this.$postsApi.get(&apos;/posts/1&apos;)</code></pre>
<br>
<p>&#x412;&#x441;&#x451; &#x44D;&#x442;&#x43E; &#x443;&#x43F;&#x440;&#x43E;&#x449;&#x430;&#x435;&#x442; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x438; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x44F;&#x432;&#x43D;&#x44B;&#x43C; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x437;&#x430;&#x43F;&#x440;&#x430;&#x448;&#x438;&#x432;&#x430;&#x435;&#x442;&#x435;. &#x421;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43D;&#x430;&#x43C;&#x438; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x44B; axios &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x442;&#x435; &#x436;&#x435; &#x432;&#x441;&#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438;, &#x447;&#x442;&#x43E; &#x438; &#x438;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x44B;&#x439; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; <code>$axios</code>.</p>
<h2 id>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x442;&#x43E;&#x43A;&#x435;&#x43D;&#x430; &#x432; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x43F;&#x440;&#x438; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435;</h2>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x430;&#x448;&#x438; API &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x44B; &#x442;&#x440;&#x435;&#x431;&#x443;&#x44E;&#x442; &#x43A;&#x430;&#x43A;&#x43E;&#x433;&#x43E;-&#x442;&#x43E; &#x442;&#x43E;&#x43A;&#x435;&#x43D;&#x430; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438;, &#x44D;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;. &#x427;&#x442;&#x43E;&#x431;&#x44B; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435;, &#x43C;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x437;&#x430;&#x434;&#x430;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x432; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x435; <code>option</code>.</p>
<p>&#x414;&#x43E;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x43C;, &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x430;, API &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x438; &#x43E; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x445; &#x431;&#x43B;&#x43E;&#x433;&#x430; (<code>membersApi</code>) &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;.<br>
&#x412;&#x43E;&#x442; &#x43E;&#x434;&#x438;&#x43D; &#x438;&#x437; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x43E;&#x432; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; <code>Authorization</code> <strong>&#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x432; axios</strong>:</p>
<pre><code class="lang-js">this.$membersApi.get(&apos;/people/1&apos;, {
    headers: {
        Authorization: `Bearer ${token}`,
    },
})</code></pre>
<br>
<p>&#x42D;&#x442;&#x43E;&#x442; &#x43A;&#x43E;&#x434; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442;, &#x43D;&#x43E; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E; &#x43D;&#x430;&#x434;&#x43E;&#x435;&#x434;&#x430;&#x435;&#x442;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43F;&#x440;&#x438;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x441;&#x44F; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x432; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43C;&#x435;&#x441;&#x442;. &#x421; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; <code>@nuxtjs/axios</code> &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x442;&#x43E;&#x43A;&#x435;&#x43D;&#x430; &#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x43E;&#x43A;&#x435;&#x43D; Bearer, &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43F;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x438;&#x442;&#x44C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;:</p>
<pre><code class="lang-js">const token = &apos;test_token&apos;
$axios.setToken(token, &apos;Bearer&apos;)</code></pre>
<br>
<p>&#x42D;&#x442;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442; &#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x432; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x43F;&#x43E;&#x434; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; <code>Authorization</code>. &#x41E;&#x431;&#x44B;&#x447;&#x43D;&#x43E; &#x44D;&#x442;&#x43E;&#x442; &#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x441;&#x44F; &#x432; <code>localstorage</code> &#x438;&#x43B;&#x438; &#x432; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435; <code>Vuex</code>. &#x42F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E; &#x434;&#x43B;&#x44F; &#x445;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x442;&#x43E;&#x43A;&#x435;&#x43D;&#x430; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x433;&#x43E; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; <code>Vuex state</code>. &#x412; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; &#x443; &#x432;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; Vuex &#x438;&#x437; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430; Nuxt.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44C;, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43B;&#x438; &#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43A; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x43C;&#x443; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x443; axios.</p>
<pre><code class="lang-js">const token = store.state.currentUser.token
membersApi.setToken(token, &apos;Bearer&apos;)
</code></pre>
<br>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x435; refresh-&#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x438;&#x43B;&#x438; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x435; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x438;&#x439; &#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x43A;&#x430;&#x43A;&#x438;&#x43C;-&#x43B;&#x438;&#x431;&#x43E; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x43E;&#x43C;, &#x432;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>setToken</code>, &#x432; &#x442;&#x43E;&#x43C; &#x43C;&#x435;&#x441;&#x442;&#x435;, &#x433;&#x434;&#x435; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F;. &#x412; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x435; &#x438;&#x43B;&#x438; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435; Vuex store &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435;, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x44C;:</p>
<pre><code class="lang-js">this.$membersApi.setToken(newToken, &apos;Bearer&apos;)
</code></pre>
<br>
<h2 id="axios">&#x41F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430; axios</h2>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x442;&#x44C; &#x441;&#x442;&#x430;&#x442;&#x443;&#x441; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430; &#x43F;&#x440;&#x438; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x43C; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x435; axios, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x437;&#x430;&#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A; &#x440;&#x435;&#x441;&#x43F;&#x43E;&#x43D;&#x441;&#x43E;&#x432;.</p>
<p><code>@nuxtjs/axios</code> &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x432;&#x441;&#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x44B; &#x434;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x433;&#x43E;. &#x414;&#x43E;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x43C;, &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x43B;&#x43E;&#x433;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x43E;&#x435; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x440;&#x430;&#x437;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x441;&#x442;&#x430;&#x442;&#x443;&#x441; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430; &#x440;&#x430;&#x432;&#x435;&#x43D; <code>404</code>. &#x42D;&#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; <code>onResponse</code>.</p>
<pre><code class="lang-js">$axios.onResponse((response) =&gt; {
    if (response.status === 404) {
        console.log(&apos;&#x418; &#x432;&#x43E;&#x442; &#x43E;&#x43D;, 404 &#x43A;&#x43E;&#x434;&apos;)
    }
})
</code></pre>
<br>
<h2 id="axios">&#x418;&#x442;&#x43E;&#x433;&#x43E;&#x432;&#x44B;&#x439; &#x444;&#x430;&#x439;&#x43B; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; axios</h2>
<p>&#x412; &#x437;&#x430;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435;, &#x43F;&#x43E;&#x43B;&#x43D;&#x44B;&#x439; &#x444;&#x430;&#x439;&#x43B; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; (<code>/plugins/axios.js</code>) &#x441;&#x43E; &#x432;&#x441;&#x435;&#x439; &#x43A;&#x43E;&#x43D;&#x444;&#x438;&#x433;&#x443;&#x440;&#x430;&#x446;&#x438;&#x435;&#x439;, &#x443;&#x43F;&#x43E;&#x43C;&#x44F;&#x43D;&#x443;&#x442;&#x43E;&#x439; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;, &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x442;&#x44C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43D;&#x43E; &#x442;&#x430;&#x43A;:</p>
<pre><code class="lang-js">export default function ({ $axios, store }, inject) {
    const postsApi = $axios.create()
    const membersApi = $axios.create()

    postsApi.setBaseUrl(&apos;https://api.badcode.ru/&apos;)
    membersApi.setBaseUrl(&apos;https://members.badcode.ru/&apos;)

    const token = store.state.currentUser.token
    membersApi.setToken(token, &apos;Bearer&apos;)

    membersApi.onResponse((response) =&gt; {
        if (response.status === 404) {
            console.log(&apos;&#x418; &#x432;&#x43E;&#x442; &#x43E;&#x43D;, 404 &#x43A;&#x43E;&#x434;&apos;)
        }
    })

    inject(&apos;postsApi&apos;, postsApi)
    inject(&apos;membersApi&apos;, membersApi)
}
</code></pre>
<br>
<h2 id="axios">&#x412;&#x43D;&#x435;&#x434;&#x440;&#x435;&#x43D;&#x438;&#x435; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; axios-&#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;&#x430; &#x432; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;</h2>
<p>&#x41E;&#x447;&#x435;&#x43D;&#x44C; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x432;&#x43E;&#x437;&#x43D;&#x438;&#x43A;&#x430;&#x435;&#x442; &#x437;&#x430;&#x434;&#x430;&#x447;&#x430; - &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43A;&#x43B;&#x430;&#x441;&#x441;, &#x440;&#x435;&#x448;&#x430;&#x44E;&#x449;&#x438;&#x439; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x434;&#x430;&#x447;&#x438;, &#x43F;&#x440;&#x438; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; API. &#x418; &#x432; &#x442;&#x430;&#x43A;&#x438;&#x445; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;&#x430;&#x445; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x43D;&#x443;&#x436;&#x435;&#x43D; HTTP-&#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;. &#x41C;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x431;&#x44B; &#x43F;&#x43E;&#x434;&#x43A;&#x43B;&#x44E;&#x447;&#x438;&#x442;&#x44C; <code>axios</code> &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x43C; &#x438;&#x43C;&#x43F;&#x43E;&#x440;&#x442;&#x43E;&#x43C; &#x432; &#x43D;&#x443;&#x436;&#x43D;&#x43E;&#x43C; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x435;, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x441;&#x43E;&#x432;&#x441;&#x435;&#x43C; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E;.</p>
<p>&#x418;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x431;&#x44B; &#x432; &#x43A;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43A;&#x442;&#x43E;&#x440; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; HTTP-&#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;, &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x449;&#x438;&#x439;&#x441;&#x44F; &#x430;&#x431;&#x441;&#x442;&#x440;&#x430;&#x43A;&#x446;&#x438;&#x435;&#x439; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x444;&#x435;&#x439;&#x441;&#x430;. &#x412; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x435; &#x447;&#x435;&#x433;&#x43E;, &#x432; &#x43A;&#x430;&#x43A;&#x43E;&#x43C;-&#x442;&#x43E; &#x43E;&#x434;&#x43D;&#x43E;&#x43C; &#x43C;&#x435;&#x441;&#x442;&#x435;, &#x43C;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x431;&#x44B; &#x43F;&#x43E;&#x434;&#x43C;&#x435;&#x43D;&#x44F;&#x442;&#x44C; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; HTTP-&#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;&#x43E;&#x432;.</p>
<p>&#x418;&#x43B;&#x438; &#x436;&#x435; &#x43F;&#x440;&#x43E;&#x449;&#x435;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x438;&#x43D;&#x441;&#x442;&#x430;&#x43D;&#x441; axios, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; (&#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43D;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x438;, &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x439; URL &#x438; &#x442;.&#x434;.). &#x41D;&#x43E; &#x43F;&#x440;&#x438; &#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x43E;&#x43C; &#x438;&#x43C;&#x43F;&#x43E;&#x440;&#x442;&#x435; &#x43C;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x43C; &#x441;&#x43E;&#x432;&#x435;&#x440;&#x448;&#x435;&#x43D;&#x43D;&#x43E; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x439; &#x438;&#x43D;&#x441;&#x442;&#x430;&#x43D;&#x441;. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443;, &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x435;&#x43A;&#x446;&#x438;&#x438; &#x44F; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x443;, &#x43A;&#x430;&#x43A; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; <strong>axios &#x432; &#x43A;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43A;&#x442;&#x43E;&#x440; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438;</strong> &#x432; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x435; Nuxt.</p>
<p>&#x41F;&#x440;&#x435;&#x436;&#x434;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E;, &#x430;&#x43D;&#x430;&#x43B;&#x43E;&#x433;&#x438;&#x447;&#x43D;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44E; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; <code>axios</code>, &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43D;&#x43E;&#x432;&#x44B;&#x439; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x43E;&#x431;&#x44A;&#x44F;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x43D;&#x430;&#x448;&#x438; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;&#x44B; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; (&#x447;&#x438;&#x442;&#x430;&#x439; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x439;&#x43D;&#x435;&#x440;). &#x41A;&#x430;&#x436;&#x434;&#x43E;&#x43C;&#x443; &#x438;&#x437; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;&#x43E;&#x432; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438;, &#x431;&#x443;&#x434;&#x44C; &#x442;&#x43E; API &#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442; &#x434;&#x43B;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;, &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x430; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x432; <code>cookie/localStorage</code>.</p>
<p>&#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443;, &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x430;, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x434;&#x438;&#x43C; <code>plugins/services.js</code> &#x441; &#x442;&#x430;&#x43A;&#x438;&#x43C; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x43C;&#x44B;&#x43C;:</p>
<pre><code class="lang-js">import PostService from &quot;~/Services/Blog/PostService&quot;;
import FavoriteService from &quot;~/Services/Catalog/FavoriteService&quot;;
import ConfigService from &quot;~/Services/Shared/ConfigService&quot;;

// $cookies - &#x44D;&#x442;&#x43E; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x43D;&#x44F;&#x44F; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x430; &#x43F;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; cookie (https://www.npmjs.com/package/cookie-universal-nuxt)
export default ({ app: { $axios, $cookies } }, inject) =&gt; {
  // &#x43A;&#x430;&#x43A; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x43C; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; axios
  inject(&apos;postService&apos;, new PostService($axios));
  inject(&apos;favoriteService&apos;, new FavoriteService($cookies));
  
  // &#x43A;&#x430;&#x43A; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x43C; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; axios &#x438; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x443; $cookies 
  inject(&apos;configService&apos;, new ConfigService($axios, $cookies));
}
</code></pre>
<br>
<p>&#x417;&#x430;&#x442;&#x435;&#x43C;, &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; <code>nuxt.config</code> &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x434;&#x43A;&#x43B;&#x44E;&#x447;&#x438;&#x442;&#x44C; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;.</p>
<pre><code class="lang-js">plugins: [
    &apos;~/plugins/axios&apos;,
    &apos;~/plugins/services.js&apos;,
  ],
</code></pre>
<br>
<p>&#x418; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x447;&#x435;&#x433;&#x43E;, &#x432; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; Nuxt &#x43F;&#x43E;&#x44F;&#x432;&#x44F;&#x442;&#x441;&#x44F; &#x437;&#x430;&#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x432; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x435; &#x441;&#x435;&#x440;&#x432;&#x438;&#x441;&#x44B;. &#x412;&#x44B;&#x437;&#x432;&#x430;&#x442;&#x44C; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x43C;&#x438; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x430;&#x43C;&#x438;:</p>
<ul>
<li>&#x447;&#x435;&#x440;&#x435;&#x437; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430; <code>({ route, redirect, $postService, $configService, store })</code></li>
<li>&#x432; &#x43B;&#x44E;&#x431;&#x43E;&#x43C; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x435;, &#x438;&#x43B;&#x438; Vuex &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435; - <code>this.$favoriteService.add(productId)</code>, <code>this.$configService.getParams()</code></li>
</ul>
<h2 id>&#x420;&#x435;&#x437;&#x44E;&#x43C;&#x435;</h2>
<p>&#x42D;&#x442;&#x43E; &#x431;&#x44B;&#x43B; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x43B;&#x438;&#x448;&#x44C; &#x43A;&#x440;&#x430;&#x442;&#x43A;&#x438;&#x439; &#x43E;&#x431;&#x437;&#x43E;&#x440; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; axios &#x434;&#x43B;&#x44F; &#x43B;&#x443;&#x447;&#x448;&#x435;&#x439; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x430; Nuxt.js. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43D;&#x430;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x438; &#x43D;&#x430;&#x432;&#x435;&#x440;&#x43D;&#x44F;&#x43A;&#x430; &#x441;&#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43E;&#x442;&#x440;&#x435;&#x444;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; &#x43A;&#x43E;&#x434;&#x430; &#x438; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x438;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D; &#x434;&#x43B;&#x44F; &#x441;&#x432;&#x43E;&#x438;&#x445; &#x446;&#x435;&#x43B;&#x435;&#x439;.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x442;&#x430;&#x43A; &#x436;&#x435; &#x431;&#x44B;&#x43B;&#x43E; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E;, &#x43A;&#x430;&#x43A; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x432;&#x435;&#x442; &#x432; axios. &#x422;&#x430;&#x43A; &#x436;&#x435;, &#x440;&#x430;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x43B;&#x438;&#x441;&#x44C; &#x43A;&#x430;&#x43A; &#x432;&#x43D;&#x435;&#x434;&#x440;&#x44F;&#x442;&#x44C; <strong>&#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x432; &#x432;&#x438;&#x434;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430; axios</strong> &#x432; &#x441;&#x43E;&#x431;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x44B;.</p>
<p>&#x41D;&#x430;&#x434;&#x435;&#x44E;&#x441;&#x44C;, &#x432;&#x44B; &#x43D;&#x430;&#x448;&#x43B;&#x438; &#x44D;&#x442;&#x443; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E;&#x439;.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Начало работы с Axios в Nuxt]]></title><description><![CDATA[Разобрались как подключить и настроить axios в приложении Nuxt. Чем отличаются  fetch и asyncData. Подключили авторизацию и сделали приватные маршруты]]></description><link>https://badtry.net/nachalo-raboty-s-axios-v-nuxt/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2377</guid><category><![CDATA[Nuxt]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[Vue Js]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 17 Oct 2021 18:22:50 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/10/preview-axios-nuxt-1.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/10/preview-axios-nuxt-1.jpg" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt"><p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x440;&#x430;&#x441;&#x441;&#x43A;&#x430;&#x436;&#x443;, &#x43A;&#x430;&#x43A; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; &#x43D;&#x430; Nuxt.js &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; Axios. &#x412;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x443;&#x437;&#x43D;&#x430;&#x435;&#x442;&#x435;, &#x43A;&#x430;&#x43A; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x44B; <code>asncData</code> &#x438; <code>fetch</code> &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; Axios &#x438; &#x432; &#x447;&#x435;&#x43C; &#x440;&#x430;&#x437;&#x43D;&#x438;&#x446;&#x430; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x44D;&#x442;&#x438;&#x43C;&#x438; &#x434;&#x432;&#x443;&#x43C;&#x44F; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430;&#x43C;&#x438;. &#x418;, &#x43D;&#x430;&#x43A;&#x43E;&#x43D;&#x435;&#x446;, &#x44F; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x443;, &#x43A;&#x430;&#x43A; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x44E; &#x432; &#x43D;&#x430;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; Auth.</p>
<p>&#x42D;&#x442;&#x43E; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E;&#x435; &#x440;&#x443;&#x43A;&#x43E;&#x432;&#x43E;&#x434;&#x441;&#x442;&#x432;&#x43E; &#x43F;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; axios &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt. &#x415;&#x441;&#x43B;&#x438; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x430; &#x448;&#x43F;&#x430;&#x440;&#x433;&#x430;&#x43B;&#x43A;&#x430; &#x43F;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E; axios, &#x442;&#x43E; &#x447;&#x438;&#x442;&#x430;&#x439;&#x442;&#x435; &#x442;&#x430;&#x43A; &#x436;&#x435; <a href="https://badtry.net/kak-nastroit-axios-v-prilozhienii-nuxt" target="_blank">&#x44D;&#x442;&#x443; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E;</a>.</p>
<p><strong>Nuxt.js</strong> &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Axios &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x439; &#x438;&#x43D;&#x442;&#x435;&#x433;&#x440;&#x430;&#x446;&#x438;&#x438; &#x432; &#x432;&#x430;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;. <strong>Axios</strong> - &#x44D;&#x442;&#x43E; HTTP-&#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44E;&#x449;&#x438;&#x439; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x43F;&#x440;&#x43E;&#x43C;&#x438;&#x441;&#x43E;&#x432; (Promise), &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x438; &#x432; &#x431;&#x440;&#x430;&#x443;&#x437;&#x435;&#x440;&#x435; &#x438; &#x432; &#x441;&#x440;&#x435;&#x434;&#x435; Node.js. &#x418;&#x43B;&#x438;, &#x43F;&#x440;&#x43E;&#x449;&#x435; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x44F;, &#x44D;&#x442;&#x43E; &#x438;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43C;&#x435;&#x43D;&#x442; &#x434;&#x43B;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; (&#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x43E;&#x432; API) &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;&#x445; &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;&#x430; &#x438; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430; &#x43D;&#x430; Node.js.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x43C; &#x440;&#x443;&#x43A;&#x43E;&#x432;&#x43E;&#x434;&#x441;&#x442;&#x432;&#x435; &#x43C;&#x44B; &#x443;&#x437;&#x43D;&#x430;&#x435;&#x43C;, &#x43A;&#x430;&#x43A; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Axios &#x438; &#x43A;&#x430;&#x43A; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; <a href="https://nuxtjs.org/docs/features/data-fetching/?ref=badtry.net#async-data" target="_blank">asyncData</a> &#x438; <code>fetch</code>. &#x42D;&#x442;&#x438; &#x434;&#x432;&#x430; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x44E;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430;, &#x43D;&#x43E; &#x443; &#x43D;&#x438;&#x445; &#x435;&#x441;&#x442;&#x44C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x440;&#x430;&#x441;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C;. &#x41D;&#x430;&#x43A;&#x43E;&#x43D;&#x435;&#x446;, &#x43C;&#x44B; &#x443;&#x437;&#x43D;&#x430;&#x435;&#x43C;, &#x43A;&#x430;&#x43A; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x442;&#x44C; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x44E;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; <code>auth</code> &#x438; <code>middleware</code>, &#x438; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x432;&#x430;&#x442;&#x43D;&#x44B;&#x435; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B;/&#x440;&#x43E;&#x443;&#x442;&#x44B;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x431;&#x443;&#x434;&#x443;&#x442; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x446;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x43C; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C;.</p>
<p>&#x42D;&#x442;&#x430; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44F; &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x445; &#x437;&#x43D;&#x430;&#x43D;&#x438;&#x439; Nuxtjs &#x438; Vuejs, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x43D;&#x430; &#x438;&#x445; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435;. &#x422;&#x435;&#x43C;, &#x43A;&#x442;&#x43E; &#x43D;&#x435; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x43E;&#x43F;&#x44B;&#x442;&#x430; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Vuejs, &#x44F; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x44E; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x441; <a href="https://badtry.net/tag/vue-js/" target="_blank">&#x438;&#x437;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x442;&#x430;&#x442;&#x435;&#x439;</a>, <a href="http://vuejs.org/?ref=badtry.net" target="_blank">&#x43E;&#x444;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x438;</a> &#x438; &#x43E;&#x444;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; <a href="https://nuxtjs.org/?ref=badtry.net" target="_blank">&#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B; Nuxt</a>, &#x43F;&#x440;&#x435;&#x436;&#x434;&#x435; &#x447;&#x435;&#x43C; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x43B;&#x436;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x443; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E;.</p>
<h2 id="nuxtjsaxios">&#x427;&#x442;&#x43E; &#x44D;&#x442;&#x43E; &#x437;&#x430; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; &#x442;&#x430;&#x43A;&#x43E;&#x439; - Nuxt.Js Axios?</h2>
<p>&#x421;&#x43E;&#x433;&#x43B;&#x430;&#x441;&#x43D;&#x43E; <a href="https://axios.nuxtjs.org/?ref=badtry.net" target="_blank">&#x43E;&#x444;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x438;</a>:</p>
<blockquote>
<p>&#xAB;&#x42D;&#x442;&#x43E; &#x431;&#x435;&#x437;&#x43E;&#x43F;&#x430;&#x441;&#x43D;&#x430;&#x44F; &#x438; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x430;&#x44F; &#x438;&#x43D;&#x442;&#x435;&#x433;&#x440;&#x430;&#x446;&#x438;&#x44F; Axios &#x441; Nuxt.js.&#xBB;</p>
</blockquote>
<p>&#x412;&#x43E;&#x442; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x438;&#x437; &#x435;&#x451; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43E;&#x441;&#x43E;&#x431;&#x435;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x435;&#x439;:</p>
<ul>
<li>&#x410;&#x432;&#x442;&#x43E;&#x43C;&#x430;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x430;&#x44F; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x430; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x43E;&#x433;&#x43E; URL &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;&#x430; &#x438; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430;</li>
<li>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; <code>setToken</code> &#x434;&#x43B;&#x44F; <code>$axios</code>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43C;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x442;&#x43E;&#x43A;&#x435;&#x43D; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;</li>
<li>&#x41F;&#x440;&#x43E;&#x43A;&#x441;&#x438; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x438; &#x434;&#x43B;&#x44F; SSR &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;</li>
<li>&#x417;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x432; &#x441;&#x442;&#x438;&#x43B;&#x435; <a href="https://developer.mozilla.org/ru/docs/Web/API/Fetch_API/Using_Fetch?ref=badtry.net" target="_blank">Fetch</a></li>
<li>&#x418;&#x43D;&#x442;&#x435;&#x433;&#x440;&#x430;&#x446;&#x438;&#x44F; &#x441; &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x435;&#x441;&#x441;-&#x431;&#x430;&#x440;&#x43E;&#x43C; Nuxt</li>
<li>&#x418;&#x43D;&#x442;&#x435;&#x433;&#x440;&#x430;&#x446;&#x438;&#x44F; &#x441; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x43C; &#x43F;&#x440;&#x43E;&#x43A;&#x441;&#x438;</li>
<li>&#x410;&#x432;&#x442;&#x43E;&#x43C;&#x430;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x435; &#x43F;&#x43E;&#x432;&#x442;&#x43E;&#x440;&#x435;&#x43D;&#x438;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>axios-retry</code></li>
</ul>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; <code>axios</code> &#x432; &#x441;&#x432;&#x43E;&#x451;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;, &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>npm</code> &#x438;&#x43B;&#x438; <code>yarn</code>.</p>
<p>YARN:</p>
<pre class="lang-js"><code>yarn add @nuxtjs/axios</code></pre>
<br>
<p>NPM:</p>
<pre class="lang-js"><code>npm install @nuxtjs/axios</code></pre>
<br>
<p>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x442;&#x430;&#x43A;&#x438;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438; &#x432; &#x441;&#x432;&#x43E;&#x439; &#x444;&#x430;&#x439;&#x43B; <code>nuxt.config.js</code>:</p>
<pre class="lang-js"><code>
  modules: [
    &apos;@nuxtjs/axios&apos;,
  ],

  axios: {
    // &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438;
    // BaseURL: &apos;https://link-to-API&apos;
  }
</code></pre>
<br>
<p>&#x41C;&#x430;&#x441;&#x441;&#x438;&#x432; <code>modules</code> &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x439; Nuxt.js, &#x442;&#x430;&#x43A;&#x438;&#x445; &#x43A;&#x430;&#x43A; <em>dotenv</em>, <em>auth</em> &#x438;, &#x432; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435;, <em>axios</em>. &#x41C;&#x44B; &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x438;&#x43B;&#x438; &#x43D;&#x430;&#x448;&#x435;&#x43C;&#x443; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44E;, &#x447;&#x442;&#x43E; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; <code>axios</code>, &#x43D;&#x430; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x44B; &#x441;&#x441;&#x44B;&#x43B;&#x430;&#x435;&#x43C;&#x441;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>@nuxtjs/axios</code>. &#x417;&#x430;&#x442;&#x435;&#x43C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x435;&#x442; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; axios, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x441;&#x43E;&#x431;&#x43E;&#x439; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43A; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F;, &#x442;&#x430;&#x43A;&#x438;&#x445; &#x43A;&#x430;&#x43A; <code>baseURL</code>, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;. &#x421;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x432;&#x441;&#x435;&#x445; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B;&#x445; &#x43E;&#x43F;&#x446;&#x438;&#x439; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438; Axios &#x432; Nuxt &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C; <a href="https://axios.nuxtjs.org/options?ref=badtry.net" target="_blank">&#x437;&#x434;&#x435;&#x441;&#x44C;</a>.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; axios &#x438;&#x437; &#x43B;&#x44E;&#x431;&#x43E;&#x433;&#x43E; &#x43C;&#x435;&#x441;&#x442;&#x430; &#x441;&#x432;&#x43E;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;, &#x432;&#x44B;&#x437;&#x432;&#x430;&#x432; <code>this.$axios.method</code> &#x438;&#x43B;&#x438; <code>this.$axios.$method</code>. &#x413;&#x434;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; <code>get</code>, <code>post</code>, <code>put</code> &#x438;&#x43B;&#x438; <code>delete</code>.</p>
<h2 id="axios">&#x414;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x441;&#x432;&#x43E;&#x439; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; Axios</h2>
<p>&#x414;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x443;&#x440;&#x43E;&#x43A;&#x430; &#x44F; &#x441;&#x43E;&#x431;&#x440;&#x430;&#x43B; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; <a href="https://github.com/Timibadass/nuxt-report-app?ref=badtry.net" target="_blank">&#x43D;&#x430; Github</a>. &#x420;&#x435;&#x43F;&#x43E;&#x437;&#x438;&#x442;&#x43E;&#x440;&#x438;&#x439; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442; &#x434;&#x432;&#x435; &#x43F;&#x430;&#x43F;&#x43A;&#x438;, start &#x438; finish.</p>
<p>&#x412; <a href="https://github.com/Timibadass/nuxt-report-app/tree/master/start?ref=badtry.net" target="_blank">&#x43F;&#x430;&#x43F;&#x43A;&#x435; start</a> &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442;&#x441;&#x44F; &#x432;&#x441;&#x451;, &#x447;&#x442;&#x43E; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x440;&#x438;&#x441;&#x442;&#x443;&#x43F;&#x438;&#x442;&#x44C; &#x43A; &#x438;&#x437;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44E; &#x443;&#x440;&#x43E;&#x43A;&#x430;. &#x41F;&#x430;&#x43F;&#x43A;&#x430; <a href="https://github.com/Timibadass/nuxt-report-app/tree/master/finishfinish?ref=badtry.net" target="_blank">finish</a> &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442; &#x437;&#x430;&#x43A;&#x43E;&#x43D;&#x447;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x432;&#x435;&#x440;&#x441;&#x438;&#x44E; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E; &#x432; &#x438;&#x442;&#x43E;&#x433;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x43B;&#x43E;&#x441;&#x44C;.</p>
<p>&#x41F;&#x43E;&#x441;&#x43B;&#x435; &#x43A;&#x43B;&#x43E;&#x43D;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x440;&#x435;&#x43F;&#x43E;&#x437;&#x438;&#x442;&#x43E;&#x440;&#x438;&#x44F; &#x438; &#x43E;&#x442;&#x43A;&#x440;&#x44B;&#x442;&#x438;&#x44F; &#x43F;&#x430;&#x43F;&#x43A;&#x438; start &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430; &#x438;&#x437; <code>package.json</code>, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43E;&#x442;&#x43A;&#x440;&#x43E;&#x439;&#x442;&#x435; &#x442;&#x435;&#x440;&#x43C;&#x438;&#x43D;&#x430;&#x43B; &#x438; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x443;&#x44E; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x443;:</p>
<pre class="lang-js"><code>npm install</code></pre>
<br>
<p>&#x41A;&#x430;&#x43A; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x44D;&#x442;&#x43E; &#x431;&#x443;&#x434;&#x435;&#x442; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43D;&#x43E;, &#x43C;&#x44B; &#x441;&#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x442;&#x44C; &#x43D;&#x430;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x44B; <code>npm run dev</code>. &#x418; &#x432;&#x43E;&#x442;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43F;&#x435;&#x440;&#x435;&#x439;&#x434;&#x451;&#x442;&#x435; &#x43D;&#x430; <code>localhost:3000</code>.</p>
<p><img src="https://badtry.net/content/images/2021/10/01-landing-page.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x421;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x435;, &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C;, &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x444;&#x430;&#x439;&#x43B; <code>.env</code> &#x432; &#x43A;&#x43E;&#x440;&#x43D;&#x435; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x438; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x432; &#x43D;&#x435;&#x433;&#x43E; URL &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; API. &#x412; &#x44D;&#x442;&#x43E;&#x43C; &#x442;&#x443;&#x442;&#x43E;&#x440;&#x438;&#x430;&#x43B;&#x435; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x43E;&#x435; API, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x435; &#x434;&#x43B;&#x44F; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x43E;&#x442;&#x447;&#x451;&#x442;&#x43E;&#x432; &#x43E;&#x442; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;.</p>
<pre class="lang-js"><code>API_URL=https://ireporter-endpoint.herokuapp.com/api/v2/</code></pre>
<br>
<p>&#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x43D;&#x430;&#x43C; &#x43D;&#x435; &#x43F;&#x440;&#x438;&#x434;&#x451;&#x442;&#x441;&#x44F; &#x436;&#x435;&#x441;&#x442;&#x43A;&#x43E; &#x445;&#x430;&#x440;&#x434;&#x43A;&#x43E;&#x434;&#x438;&#x442;&#x44C; URL &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; API &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;, &#x447;&#x442;&#x43E; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E; &#x43F;&#x440;&#x438; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; &#x434;&#x432;&#x443;&#x43C;&#x44F; API (development &#x438; production).</p>
<p>&#x421;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x448;&#x430;&#x433;&#x43E;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43E;&#x442;&#x43A;&#x440;&#x44B;&#x442;&#x44C; &#x444;&#x430;&#x439;&#x43B; <code>nuxt.config.js</code> &#x438; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x43E;&#x43A;&#x440;&#x443;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x432; &#x43A;&#x43E;&#x43D;&#x444;&#x438;&#x433;&#x443;&#x440;&#x430;&#x446;&#x438;&#x44E; axios, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x443;&#x44E; &#x43C;&#x44B; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B;&#x438; &#x432;&#x44B;&#x448;&#x435;.</p>
<pre class="lang-js"><code>/*
** Axios module configuration
*/
axios: {
    // &#x412;&#x441;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x438; &#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x442;&#x435; &#x437;&#x434;&#x435;&#x441;&#x44C; https://github.com/nuxt-community/axios-module#options
    baseURL: process.env.API_URL,
},
</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x44B; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x438;&#x43C; Nuxt.js &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; <code>baseURL</code> &#x43A;&#x430;&#x43A; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x438;&#x445; &#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;&#x441;&#x43A;&#x438;&#x445;, &#x442;&#x430;&#x43A; &#x438; &#x434;&#x43B;&#x44F; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x43D;&#x44B;&#x445; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x432;&#x441;&#x44F;&#x43A;&#x438;&#x439; &#x440;&#x430;&#x437;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43C;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; &#x44D;&#x442;&#x43E;&#x442; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Axios.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x43E;&#x442;&#x447;&#x435;&#x442;&#x43E;&#x432; &#x43F;&#x43E; API, &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x43E;&#x442;&#x43A;&#x440;&#x43E;&#x435;&#x43C; &#x444;&#x430;&#x439;&#x43B; <code>index.vue</code> &#x438; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x432; &#x440;&#x430;&#x437;&#x434;&#x435;&#x43B; <code>script</code>.</p>
<pre class="lang-js"><code>async getIncidents() {
  let response = await this.$store.dispatch(&apos;getIncidents&apos;);
  this.incidents = response.data.incidents;
}
</code></pre>
<br>
<p>&#x41C;&#x44B; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B;&#x438; &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x443;&#x44E; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x443;&#x44E; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43B;&#x438; <code>getIncidents()</code>, &#x438; &#x43F;&#x43E; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x44E; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x430; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; - &#x43E;&#x43D;&#x430; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x438;&#x43D;&#x446;&#x438;&#x434;&#x435;&#x43D;&#x442;&#x43E;&#x432;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x430; Vuex - <code>this.$store.dispatch</code>. &#x41C;&#x44B; &#x43F;&#x440;&#x438;&#x441;&#x432;&#x430;&#x438;&#x432;&#x430;&#x435;&#x43C; &#x43E;&#x442;&#x432;&#x435;&#x442; &#x43E;&#x442; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; &#x43D;&#x430;&#x448;&#x435;&#x43C;&#x443; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x443; <code>incidents</code>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x432; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x435;.</p>
<p>&#x41C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>getIncidents()</code> &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x440;&#x430;&#x437;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442; &#x43C;&#x43E;&#x43D;&#x442;&#x438;&#x440;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x432; DOM. &#x41C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x43E; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43D;&#x430;&#x432;&#x435;&#x448;&#x438;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x43D;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; <code>mounted</code>.</p>
<pre class="lang-js"><code>mounted() {
    this.getIncidents()
}
</code></pre>
<br>
<p><code>mount()</code> - &#x44D;&#x442;&#x43E; <a href="https://vuejs.org/v2/guide/instance.html?ref=badtry.net#Lifecycle-Diagram" target="_blank">&#x445;&#x443;&#x43A; &#x436;&#x438;&#x437;&#x43D;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x446;&#x438;&#x43A;&#x43B;&#x430;</a>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x440;&#x438; &#x43C;&#x43E;&#x43D;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; &#x432; DOM. &#x421;&#x440;&#x430;&#x437;&#x443; &#x436;&#x435; &#x43F;&#x440;&#x438; &#x43C;&#x43E;&#x43D;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;, &#x43C;&#x44B; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; API &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;. &#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x437;&#x430;&#x439;&#x434;&#x435;&#x43C; &#x432; &#x43D;&#x430;&#x448; &#x444;&#x430;&#x439;&#x43B; <code>index.js</code> &#x432; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x430; Vuex &#x441;&#x43E;&#x437;&#x434;&#x430;&#x434;&#x438;&#x43C; action, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43D;&#x430;&#x448; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; Axios:</p>
<pre class="lang-js"><code>export const actions = {
  async getIncidents() {
    const response = await this.$axios.get(&apos;/incidents&apos;)
    return response.data;
  }
}
</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x44B; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B;&#x438; action &#x43F;&#x43E;&#x434; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; <code>getIncidents</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x43E;&#x439; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x435;&#x439;, &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43C;&#x44B; &#x43E;&#x436;&#x438;&#x434;&#x430;&#x435;&#x43C; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430; &#x43E;&#x442; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430; &#x438; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x43C; &#x44D;&#x442;&#x43E;&#x442; &#x43E;&#x442;&#x432;&#x435;&#x442;. &#x41E;&#x442;&#x432;&#x435;&#x442; &#x43E;&#x442; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x430; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x431;&#x440;&#x430;&#x442;&#x43D;&#x43E; &#x432; &#x43D;&#x430;&#x448; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>getIncidents()</code> &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; <code>index.vue</code>.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x43C;&#x44B; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x438;&#x43C; &#x43D;&#x430;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;, &#x442;&#x43E; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43C;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C; &#x434;&#x43B;&#x438;&#x43D;&#x43D;&#x44B;&#x439; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x448;&#x435;&#x441;&#x442;&#x432;&#x438;&#x439;, &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x430;&#x435;&#x43C;&#x44B;&#x439; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435;.</p>
<p><img src="https://badtry.net/content/images/2021/10/02-landing-page-with-incidents-list.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x41C;&#x44B; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43B;&#x438; &#x43D;&#x430;&#x448; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; Axios, &#x43D;&#x43E; &#x43C;&#x44B; &#x43D;&#x435; &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x43C;&#x441;&#x44F; &#x43D;&#x430; &#x434;&#x43E;&#x441;&#x442;&#x438;&#x433;&#x43D;&#x443;&#x442;&#x43E;&#x43C;, &#x43C;&#x44B; &#x441;&#x43E;&#x431;&#x438;&#x440;&#x430;&#x435;&#x43C;&#x441;&#x44F; &#x43E;&#x43F;&#x440;&#x43E;&#x431;&#x43E;&#x432;&#x430;&#x442;&#x44C; <code>asyncData</code> &#x438; <code>fetch</code>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C; <strong>&#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x438;&#x44F; &#x43C;&#x435;&#x436;&#x434;&#x443; &#x43D;&#x438;&#x43C;&#x438;</strong> &#x432; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; axios.</p>
<h2 id="asyncdata">AsyncData</h2>
<p><strong>AsyncData</strong> &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430; &#x438; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x414;&#x41E; &#x437;&#x430;&#x433;&#x440;&#x443;&#x437;&#x43A;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B;. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443;, &#x443; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; &#x43D;&#x435;&#x442; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x430; &#x43A; <code>this</code> &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x43E;&#x43D; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x441;&#x430;&#x43C;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B;. <code>this</code> &#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x441;&#x44F; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B;&#x43C; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x430; &#x445;&#x443;&#x43A;&#x430; <code>created</code>. &#x418; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x44D;&#x442;&#x43E;&#x433;&#x43E; Nuxt.js &#x430;&#x432;&#x442;&#x43E;&#x43C;&#x430;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x43E;&#x431;&#x44A;&#x435;&#x434;&#x438;&#x43D;&#x44F;&#x435;&#x442; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x432; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x435; <code>asyncData</code> &#x441; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; (data).</p>
<p>&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; <code>asyncData</code> &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; SEO, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x43E;&#x43D; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x442; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430;. &#x41E;&#x431;&#x440;&#x430;&#x442;&#x438;&#x442;&#x435; &#x432;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x435;, &#x447;&#x442;&#x43E; &#x43C;&#x435;&#x442;&#x43E;&#x434; asyncData &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; <strong>&#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; pages</strong> &#x432;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;, &#x438; &#x43E;&#x43D; &#x43D;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; <code>components</code>.</p>
<p>&#x420;&#x435;&#x437;&#x43E;&#x43D;&#x43D;&#x44B;&#x439; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441; - &#x430; &#x43F;&#x43E;&#x447;&#x435;&#x43C;&#x443; <strong>asyncData &#x43D;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; components</strong>? &#x42D;&#x442;&#x43E; &#x432;&#x441;&#x451; &#x441;&#x432;&#x44F;&#x437;&#x430;&#x43D;&#x43E; &#x441; &#x442;&#x435;&#x43C;, &#x447;&#x442;&#x43E; &#x445;&#x443;&#x43A; <code>asyncData</code> &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;.</p>
<p><img src="https://badtry.net/content/images/2021/10/03-new-fetch-lifecycle-hooks.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x414;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; <code>asyncData</code> &#x432; &#x43D;&#x430;&#x448; &#x444;&#x430;&#x439;&#x43B; <code>index.vue</code> &#x438; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C;, &#x43A;&#x430;&#x43A; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E; &#x437;&#x430;&#x433;&#x440;&#x443;&#x436;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43E;&#x431; &#x438;&#x43D;&#x446;&#x438;&#x434;&#x435;&#x43D;&#x442;&#x430;&#x445;. &#x414;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43A;&#x43E;&#x434; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; <strong>components</strong> &#x438; &#x443;&#x434;&#x430;&#x43B;&#x438;&#x442;&#x435; &#x43A;&#x43E;&#x434; &#x445;&#x443;&#x43A;&#x430; <code>mounted</code>.</p>
<pre class="lang-js"><code>async asyncData({ $axios }) {
    const { data } = await $axios.get(&quot;/incidents&quot;);
    return { incidents: data.incidents };
  },
  // mounted() {
  //   this.getIncidents();
  // },
</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>asyncData</code> &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; &#x438;&#x437; <a href="https://nuxtjs.org/docs/internals-glossary/context/?ref=badtry.net" target="_blank">&#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;</a> - <code>$axios</code>. &#x412; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440; &#x441; &#x438;&#x43C;&#x435;&#x43D;&#x435;&#x43C; $axios &#x43C;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x43C; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x443; Axios.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C;, &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; Axios &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x43C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x438;&#x43D;&#x446;&#x438;&#x434;&#x435;&#x43D;&#x442;&#x43E;&#x432;, &#x438; &#x432;&#x435;&#x440;&#x43D;&#x451;&#x43C; &#x438;&#x437; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; asyncData &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; <code>{ incidents: ... }</code>. &#x418; &#x44D;&#x442;&#x43E; &#x437;&#x43D;&#x430;&#x447;&#x438;&#x442;, &#x447;&#x442;&#x43E; &#x43A;&#x43B;&#x44E;&#x447;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x432;&#x435;&#x440;&#x43D;&#x443;&#x43B;&#x438; &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x435; &#x431;&#x443;&#x434;&#x443;&#x442; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x44B; &#x432; data-&#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x430;&#x445; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; (&#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;), &#x432;&#x43C;&#x435;&#x441;&#x442;&#x435; &#x441; &#x442;&#x435;&#x43C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;&#x43C;, &#x447;&#x442;&#x43E; &#x43C;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x438;.</p>
<p>&#x41E;&#x442;&#x43A;&#x440;&#x44B;&#x432; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x437;&#x430;&#x43D;&#x43E;&#x432;&#x43E;, &#x443;&#x432;&#x438;&#x434;&#x438;&#x43C;, &#x447;&#x442;&#x43E; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43A;&#x43E;&#x440;&#x440;&#x435;&#x43A;&#x442;&#x43D;&#x43E; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x43B;&#x438;&#x441;&#x44C; &#x432; &#x43D;&#x430;&#x448; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;. &#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x442;&#x44C;, &#x43D;&#x430;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E; &#x437;&#x430;&#x433;&#x440;&#x443;&#x436;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x430;&#x448; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43D;&#x442;, &#x435;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x435; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443;, &#x430; &#x432;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x440;&#x435;&#x43D;&#x434;&#x435;&#x440;&#x438;&#x43D;&#x433;&#x430; &#x43D;&#x435; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x43D;&#x438;&#x43A;&#x430;&#x43A;&#x438;&#x445; &#x43E;&#x448;&#x438;&#x431;&#x43E;&#x43A;.</p>
<h2 id="fetch">Fetch</h2>
<p>&#x41C;&#x435;&#x442;&#x43E;&#x434; <strong>Fetch</strong> &#x442;&#x430;&#x43A;&#x436;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432; &#x43D;&#x430; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x435; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;&#x430;. &#x41E;&#x43D; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x445;&#x443;&#x43A;&#x430; &#x436;&#x438;&#x437;&#x43D;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x446;&#x438;&#x43A;&#x43B;&#x430; <code>created</code>, &#x447;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x43E;&#x43D; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x43C; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;. &#x412; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x438;&#x435; &#x43E;&#x442; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; <code>asyncData</code>, &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>fetch</code> &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x432;&#x43E; &#x432;&#x441;&#x435;&#x445; &#x444;&#x430;&#x439;&#x43B;&#x430;&#x445; <code>.vue</code> &#x438; &#x432;&#x437;&#x430;&#x438;&#x43C;&#x43E;&#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441; <a href="https://badtry.net/rabota-s-nuxt-i-vuex/" target="_blank">Vuex Store</a>.</p>
<p>&#x42D;&#x442;&#x43E; &#x43E;&#x437;&#x43D;&#x430;&#x447;&#x430;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x435;&#x441;&#x43B;&#x438; &#x443; &#x432;&#x430;&#x441; &#x432; <code>data</code> &#x435;&#x441;&#x442;&#x44C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;.</p>
<pre class="lang-js"><code>data() {
    return {
      incidents: [],
      id: 5,
      gender: &apos;male&apos;
    };
}
</code></pre>
<br>
<p>&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; ID &#x438;&#x43B;&#x438; gender, &#x432;&#x44B;&#x437;&#x432;&#x430;&#x432; <code>this.id</code> &#x438;&#x43B;&#x438; <code>this.gender</code> &#x438;&#x437; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; <code>fetch</code>.</p>
<h2 id="axios">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; Axios &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;</h2>
<p>&#x412; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43E;&#x431;&#x43D;&#x430;&#x440;&#x443;&#x436;&#x438;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x432;&#x430;&#x43C; &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x430; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x438;, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x447;&#x438;&#x43A;&#x43E;&#x432; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x43E;&#x432;, &#x432;&#x441;&#x451;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x430;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B;&#x43E; &#x442;&#x430;&#x43A;, &#x43A;&#x430;&#x43A; &#x437;&#x430;&#x434;&#x443;&#x43C;&#x430;&#x43D;&#x43E;. &#x418;, &#x43A; &#x441;&#x447;&#x430;&#x441;&#x442;&#x44C;&#x44E;, &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x43E;, &#x440;&#x430;&#x441;&#x448;&#x438;&#x440;&#x438;&#x432; Axios &#x432; &#x432;&#x438;&#x434;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;.</p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x440;&#x430;&#x441;&#x448;&#x438;&#x440;&#x438;&#x442;&#x44C; Axios, &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D; (&#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, <code>axios.js</code>) &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; <code>plugins</code>.</p>
<pre class="lang-js"><code>export default function ({
  $axios,
  store,
  redirect
}) {
  $axios.onError(error =&gt; {
    if (error.response &amp;&amp; error.response.status === 500) {
      redirect(&apos;/login&apos;)
    }
  })
  $axios.interceptors.response.use(
    response =&gt; {
      if (response.status === 200) {
        if (response.request.responseURL &amp;&amp; response.request.responseURL.includes(&apos;login&apos;)) {
          store.dispatch(&quot;setUser&quot;, response);
        }
      }
      return response
    }
  )
}
</code></pre>
<br>
<p>&#x42D;&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x44F; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43B; &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; Nuxt. &#x417;&#x434;&#x435;&#x441;&#x44C; &#x432;&#x430;&#x448;&#x430; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; <a href="https://nuxtjs.org/docs/internals-glossary/context/?ref=badtry.net" target="_blank">&#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;</a>, &#x438;&#x437; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x433;&#x43E; &#x43C;&#x44B; &#x438;&#x437;&#x432;&#x43B;&#x435;&#x43A;&#x430;&#x435;&#x43C; <code>$axios</code>, <code>store</code> &#x438; <code>redirect</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x440;&#x438; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x435; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D;&#x430;. &#x41F;&#x435;&#x440;&#x432;&#x43E;&#x435;, &#x447;&#x442;&#x43E; &#x43C;&#x44B; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C;, &#x44D;&#x442;&#x43E; &#x43E;&#x442;&#x441;&#x43B;&#x435;&#x436;&#x438;&#x432;&#x430;&#x435;&#x43C; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x443; &#x441;&#x43E; &#x441;&#x442;&#x430;&#x442;&#x443;&#x441;&#x43E;&#x43C; 500 &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>$axios.onError</code> &#x438; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x43B;&#x43E;&#x433;&#x438;&#x43D;&#x430;.</p>
<p>&#x423; &#x43D;&#x430;&#x441; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x43E;&#x442;&#x432;&#x435;&#x442; &#x43D;&#x430; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x44B; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;, &#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x435;&#x442;, &#x447;&#x442;&#x43E; &#x441;&#x442;&#x430;&#x442;&#x443;&#x441; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x43C;, &#x440;&#x430;&#x432;&#x435;&#x43D; <code>200</code>. &#x415;&#x441;&#x43B;&#x438; &#x44D;&#x442;&#x43E; &#x442;&#x430;&#x43A;, &#x43C;&#x44B; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x435;&#x43C;, &#x435;&#x441;&#x442;&#x44C; &#x43B;&#x438; &#x432; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x435; <code>response.request.responseURL</code> &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440; login. &#x415;&#x441;&#x43B;&#x438; &#x434;&#x430;, &#x442;&#x43E; &#x43C;&#x44B; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x44D;&#x442;&#x43E;&#x442; &#x43E;&#x442;&#x432;&#x435;&#x442; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; <code>dispatch</code> &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x430; Vuex, &#x433;&#x434;&#x435; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435;.</p>
<p>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x44D;&#x442;&#x43E;&#x442; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D; &#x432; &#x432;&#x430;&#x448; &#x444;&#x430;&#x439;&#x43B; <code>nuxt.config.js</code>:</p>
<pre class="lang-js"><code>plugins: [
    &apos;~/plugins/axios&apos;
]
</code></pre>
<br>
<p>&#x41F;&#x43E;&#x441;&#x43B;&#x435; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x432;&#x430;&#x448; &#x43F;&#x43B;&#x430;&#x433;&#x438;&#x43D; Axios &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x445;&#x432;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x432;&#x44B; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442;&#x435;. &#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x44B;&#x435; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x438;, &#x438; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B;/&#x43E;&#x442;&#x432;&#x435;&#x442;&#x44B; &#x432; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x441; &#x432;&#x430;&#x448;&#x435;&#x439; &#x431;&#x438;&#x437;&#x43D;&#x435;&#x441; &#x43B;&#x43E;&#x433;&#x438;&#x43A;&#x43E;&#x439;, &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x44F;&#x44F; &#x43A;&#x430;&#x43A;&#x438;&#x435;-&#x442;&#x43E; &#x43E;&#x441;&#x43E;&#x431;&#x44B;&#x435; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x438; &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438;.</p>
<h2 id="auth">&#x412;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x438;&#x435; &#x432; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Auth</h2>
<p><strong>&#x41C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Auth</strong> &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; Nuxt-&#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;, &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C;&#x443; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x438;&#x437; &#x43B;&#x44E;&#x431;&#x43E;&#x433;&#x43E; &#x43C;&#x435;&#x441;&#x442;&#x430; &#x432;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>$this.auth</code>. &#x41E;&#x43D; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x435;&#x43D; &#x432; <code>fetch</code>, <code>asyncData</code>, <code>middleware</code> &#x438; <code>NuxtInitServer</code> &#x438;&#x437; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x430; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430; (&#x43F;&#x43E; &#x43A;&#x43B;&#x44E;&#x447;&#x443; <code>$auth</code>).</p>
<p>&#x41E;&#x431;&#x44A;&#x435;&#x43A;&#x442; <code>context</code> &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x44B; &#x438;&#x437; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x43E;&#x432; Nuxt &#x438; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x435;&#x43D; &#x432; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43E;&#x431;&#x43B;&#x430;&#x441;&#x442;&#x44F;&#x445; &#x436;&#x438;&#x437;&#x43D;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x446;&#x438;&#x43A;&#x43B;&#x430; Nuxt, &#x43F;&#x43E;&#x434;&#x43E;&#x431;&#x43D;&#x44B;&#x445; &#x443;&#x43F;&#x43E;&#x43C;&#x44F;&#x43D;&#x443;&#x442;&#x44B;&#x43C; &#x432;&#x44B;&#x448;&#x435;.</p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; auth &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;, &#x432;&#x430;&#x43C; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>yarn</code> &#x438;&#x43B;&#x438; <code>npm</code>.</p>
<p>YARN</p>
<pre class="lang-js"><code>yarn add @nuxtjs/auth</code></pre>
<br>
<p>NPM</p>
<pre class="lang-js"><code>npm install @nuxtjs/auth</code></pre>
<br>
<p>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x435;&#x433;&#x43E; &#x432; &#x441;&#x432;&#x43E;&#x439; &#x444;&#x430;&#x439;&#x43B; <code>nuxt.config.js</code>.</p>
<pre class="lang-js"><code>modules: [
  &apos;@nuxtjs/auth&apos;
],
auth: {
  // &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x43E;&#x43F;&#x446;&#x438;&#x438;
}</code></pre>
<br>
<p>&#x421;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; auth &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;, &#x442;&#x430;&#x43A;&#x438;&#x445; &#x43A;&#x430;&#x43A; <code>strategies</code> &#x438; <code>redirect</code>. &#x417;&#x434;&#x435;&#x441;&#x44C; <code>strategies</code> &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x435;&#x43C;&#x44B;&#x439; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C;:</p>
<ul>
<li><strong>local</strong> - &#x434;&#x43B;&#x44F; &#x444;&#x43B;&#x43E;&#x443; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x43B;&#x43E;&#x433;&#x438;&#x43D;&#x430;/&#x43F;&#x43E;&#x447;&#x442;&#x44B; &#x438; &#x43F;&#x430;&#x440;&#x43E;&#x43B;&#x44F;.</li>
<li><strong>facebook</strong> - &#x434;&#x43B;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x443;&#x447;&#x435;&#x442;&#x43D;&#x44B;&#x445; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x435;&#x439; Facebook &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x441;&#x440;&#x435;&#x434;&#x441;&#x442;&#x432;&#x430; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;.</li>
<li><strong>Github</strong> - &#x434;&#x43B;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x441; &#x443;&#x447;&#x435;&#x442;&#x43D;&#x44B;&#x43C;&#x438; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44F;&#x43C;&#x438; Github.</li>
<li><strong>Google</strong> - &#x434;&#x43B;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x441; &#x443;&#x447;&#x435;&#x442;&#x43D;&#x44B;&#x43C;&#x438; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44F;&#x43C;&#x438; Google.</li>
<li><strong>Auth0</strong> - &#x434;&#x440;&#x430;&#x439;&#x432;&#x435;&#x440; &#x434;&#x43B;&#x44F; <a href="https://auth0.com/?ref=badtry.net" target="_blank">Auth0</a></li>
<li><strong>Laravel Passport</strong> - &#x434;&#x440;&#x430;&#x439;&#x432;&#x435;&#x440; &#x434;&#x43B;&#x44F; <a href="https://laravel.com/docs/passport?ref=badtry.net" target="_blank">Laravel Passport</a></li>
</ul>
<p>&#x421;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <strong>redirect</strong> &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x441;&#x441;&#x44B;&#x43B;&#x43E;&#x43A; &#x434;&#x43B;&#x44F; &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442;&#x43E;&#x432;:</p>
<ul>
<li><strong>login</strong> - &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x44D;&#x442;&#x443; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x443;, &#x435;&#x441;&#x43B;&#x438; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x445;&#x43E;&#x434; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443;.</li>
<li><strong>logout</strong> - &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442; &#x43A;&#x443;&#x434;&#x430; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;, &#x435;&#x441;&#x43B;&#x438; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x438;&#x439; &#x43C;&#x430;&#x440;&#x448;&#x440;&#x443;&#x442; &#x431;&#x443;&#x434;&#x435;&#x442; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x434;&#x43B;&#x44F; &#x437;&#x430;&#x43B;&#x43E;&#x433;&#x438;&#x43D;&#x435;&#x43D;&#x43D;&#x44B;&#x445; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;.</li>
<li><strong>home</strong> - &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x438; &#x431;&#x443;&#x434;&#x443;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x441;&#x44E;&#x434;&#x430; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x432;&#x445;&#x43E;&#x434;&#x430; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443;.</li>
</ul>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x435; &#x432; &#x43D;&#x430;&#x448; &#x444;&#x430;&#x439;&#x43B; <strong>nuxt.config.js</strong>.</p>
<pre class="lang-js"><code>/*
 ** Auth module configuration
 */
auth: {
  redirect: {
    login: &apos;/login&apos;,
    logout: &apos;/&apos;,
    home: &apos;/my-reports&apos;
  },
  strategies: {
    local: {
      endpoints: {
        login: {
          url: &apos;/user/login&apos;,
          method: &apos;post&apos;,
          propertyName: &apos;data.token&apos;,
        },
        logout: false,
        user: false,
      },
      tokenType: &apos;&apos;,
      tokenName: &apos;x-auth&apos;,
      autoFetchUser: false
    },
  },
}</code></pre>
<br>
<p>&#x412;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x430; &#x43A;&#x43E;&#x43D;&#x444;&#x438;&#x433;&#x443;&#x440;&#x430;&#x446;&#x438;&#x438; <code>auth</code> &#x443; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x43E;&#x43F;&#x446;&#x438;&#x44F; <code>redirect</code>, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x439; &#x43C;&#x44B; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x43C; &#x43C;&#x430;&#x440;&#x448;&#x440;&#x443;&#x442; &#x432;&#x445;&#x43E;&#x434;&#x430; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443; &#x43D;&#x430; <code>/login</code>, &#x43C;&#x430;&#x440;&#x448;&#x440;&#x443;&#x442; &#x432;&#x44B;&#x445;&#x43E;&#x434;&#x430; &#x438;&#x437; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x44B; &#x43D;&#x430; <code>/</code> &#x438; &#x43C;&#x430;&#x440;&#x448;&#x440;&#x443;&#x442; home &#x43D;&#x430; <code>/my-reports</code>. &#x423; &#x43D;&#x430;&#x441; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>tokenType</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x442;&#x438;&#x43F; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x432; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x435; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;. &#x41F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E; &#x43E;&#x43D; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D; &#x43D;&#x430; <em>Bearer</em>, &#x43D;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D; &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; &#x43B;&#x44E;&#x431;&#x44B;&#x43C; &#x442;&#x438;&#x43F;&#x43E;&#x43C; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438;.</p>
<p>&#x414;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; API &#x442;&#x438;&#x43F; &#x442;&#x43E;&#x43A;&#x435;&#x43D;&#x430; &#x43E;&#x442;&#x441;&#x443;&#x442;&#x441;&#x442;&#x432;&#x443;&#x435;&#x442;, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43C;&#x44B; &#x43E;&#x441;&#x442;&#x430;&#x432;&#x438;&#x43C; &#x435;&#x433;&#x43E; &#x43F;&#x443;&#x441;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x43E;&#x439;. <code>TokenName</code> &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x438;&#x43C;&#x44F; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x430; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; (&#x438;&#x43B;&#x438; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x430;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x442;&#x43E;&#x43A;&#x435;&#x43D;) &#x432; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x435; &#x43A; &#x431;&#x435;&#x43A;&#x435;&#x43D;&#x434;&#x443;.</p>
<p>&#x41F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E; &#x43E;&#x43D;&#x43E; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x43E; &#x43D;&#x430; <code>Authorization</code>, &#x43D;&#x43E; &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; API &#x438;&#x43C;&#x44F; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; - <code>x-auth</code>. &#x421;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>autoFetchUser</code> &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x432;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x430; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x432;&#x445;&#x43E;&#x434;&#x430; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443; &#x43F;&#x43E; &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442;&#x443;, &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43D;&#x43E;&#x43C; &#x43F;&#x43E;&#x434; &#x43A;&#x43B;&#x44E;&#x447;&#x43E;&#x43C; <code>user</code>. &#x41F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E; &#x43E;&#x43D;&#x43E; &#x440;&#x430;&#x432;&#x43D;&#x43E; true, &#x43D;&#x43E; &#x43D;&#x430;&#x448; API &#x43F;&#x43E;&#x43A;&#x430; &#x43D;&#x435; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x442;&#x430;&#x43A;&#x43E;&#x433;&#x43E; &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442;&#x430;, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43C;&#x44B; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x43B;&#x438; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; <code>false</code>.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x43C; &#x442;&#x443;&#x442;&#x43E;&#x440;&#x438;&#x430;&#x43B;&#x435; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x442;&#x440;&#x430;&#x442;&#x435;&#x433;&#x438;&#x44E; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; <code>local</code>. &#x412; &#x43D;&#x430;&#x448;&#x438;&#x445; &#x441;&#x442;&#x440;&#x430;&#x442;&#x435;&#x433;&#x438;&#x44F;&#x445; &#x435;&#x441;&#x442;&#x44C; &#x43E;&#x43F;&#x446;&#x438;&#x44F; local &#x441; &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442;&#x430;&#x43C;&#x438; &#x434;&#x43B;&#x44F; <code>login</code>, <code>user</code> &#x438; <code>logout</code>, &#x43D;&#x43E; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43E;&#x43F;&#x446;&#x438;&#x44E; <em>login</em>, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43D;&#x430;&#x448; &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x44B;&#x439; API &#x43D;&#x435; &#x438;&#x43C;&#x435;&#x435;&#x442;  &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442;&#x430; <em>logout</em>.</p>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x447;&#x430;&#x43D;&#x438;&#x435;: &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; auth &#x43D;&#x435; &#x438;&#x43C;&#x435;&#x435;&#x442; &#x43E;&#x43F;&#x446;&#x438;&#x438; &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442;&#x430; <code>register</code>, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x442;&#x440;&#x430;&#x434;&#x438;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x44B;&#x43C; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x43E;&#x43C; &#x438; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x432;&#x445;&#x43E;&#x434;&#x430;, &#x433;&#x434;&#x435; &#x43C;&#x44B; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x43C; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x44E; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>this.$auth.loginWith</code>. &#x42D;&#x442;&#x43E; &#x43C;&#x435;&#x442;&#x43E;&#x434;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C;&#x44B;&#x439; &#x434;&#x43B;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;. &#x412; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x430;&#x440;&#x433;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430; &#x43E;&#x43D; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &quot;&#x441;&#x442;&#x440;&#x430;&#x442;&#x435;&#x433;&#x438;&#x44E;&quot; (&#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, local), &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x434;&#x43B;&#x44F; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;. &#x41F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x442;&#x435; &#x43D;&#x430; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;.</p>
<pre class="lang-js"><code>let data {
    email: &apos;test@test.com&apos;,
    password: &apos;123456&apos;
}
this.$auth.loginWith(&apos;local&apos;, { data })</code></pre>
<br>
<h2 id="auth">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; Auth</h2>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43C;&#x44B; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x43B;&#x438; &#x43D;&#x430;&#x448; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;, &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43F;&#x435;&#x440;&#x435;&#x439;&#x442;&#x438; &#x43A; &#x43D;&#x430;&#x448;&#x435;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438;. &#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43F;&#x43E;&#x441;&#x435;&#x442;&#x438;&#x442;&#x435; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; <code>/register</code>, &#x432;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C; &#x444;&#x43E;&#x440;&#x43C;&#x443; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438;.</p>
<p><img src="https://badtry.net/content/images/2021/10/04-register-page.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x414;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x44D;&#x442;&#x443; &#x444;&#x43E;&#x440;&#x43C;&#x443; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x439;, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x432; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43A;&#x43E;&#x434;:</p>
<pre class="lang-js"><code>methods: {
  async registerUser() {
    this.loading = true;
    let data = this.register;
    try {
      await this.$axios.post(&apos;/user/create&apos;, data);
      this.$router.push(&apos;/login&apos;);
      this.loading = false;
      this.$notify({
        group: &apos;success,
        title: &apos;Success!&apos;,
        text: &apos;Account created successfully&apos;
      });
    } catch (error) {
      this.loading = false;
      this.$notify({
        group: &apos;error&apos;,
        title: &apos;Error!&apos;,
        text: error.response
          ? error.response.data.error
          : &apos;Sorry an error occured, check your internet&apos;
      });
    }
  }
}</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x443; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x430;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; <code>registerUser</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43D;&#x430;&#x432;&#x435;&#x448;&#x435;&#x43D;&#x430; &#x43D;&#x430; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; <code>click</code> &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x448;&#x430;&#x431;&#x43B;&#x43E;&#x43D;&#x435; &#x438; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x435;&#x442; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; Axios &#x43A; &#x44D;&#x43D;&#x434;&#x43F;&#x43E;&#x438;&#x43D;&#x442;&#x443; <code>/user/create</code>. &#x41F;&#x43E;&#x441;&#x43B;&#x435; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; <code>/login</code> &#x441; &#x443;&#x432;&#x435;&#x434;&#x43E;&#x43C;&#x43B;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x43E;&#x431; &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x43E;&#x439; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438;.</p>
<p>&#x423; &#x43D;&#x430;&#x441; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x431;&#x43B;&#x43E;&#x43A; catch, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x440;&#x435;&#x434;&#x443;&#x43F;&#x440;&#x435;&#x436;&#x434;&#x430;&#x435;&#x442; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x43E; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x435;, &#x435;&#x441;&#x43B;&#x438; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43D;&#x435; &#x431;&#x44B;&#x43B; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D; &#x43F;&#x43E; &#x43A;&#x430;&#x43A;&#x43E;&#x439;-&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x447;&#x438;&#x43D;&#x435;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x440;&#x435;&#x433;&#x438;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x44F; &#x43F;&#x440;&#x43E;&#x448;&#x43B;&#x430; &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x43E;, &#x432;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x432;&#x445;&#x43E;&#x434;&#x430; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443;.</p>
<p><img src="https://badtry.net/content/images/2021/10/05-login-page.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; <code>this.$auth.loginWith(&apos;local&apos;, loginData)</code>, &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x447;&#x435;&#x433;&#x43E; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x435;&#x43C; <code>this.$auth.setUser(userObj)</code> &#x434;&#x43B;&#x44F; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x438; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x432; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x43C; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x435; auth.</p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430; &#x432;&#x445;&#x43E;&#x434;&#x430; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443; &#x437;&#x430;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B;&#x430;, &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x43A;&#x43E;&#x434; &#x432; &#x43D;&#x430;&#x448; &#x444;&#x430;&#x439;&#x43B; <code>login.vue</code>.</p>
<pre class="lang-js"><code>methods: {
  async logIn() {
    let data = this.login;
    this.loading = true;
    try {
      let res = await this.$auth.loginWith(&apos;local&apos;, {
        data
      });
      this.loading = false;
      let user = res.data.data.user;
      this.$auth.setUser(user);
      this.$notify({
        group: &apos;success&apos;,
        title: &apos;Success!&apos;,
        text: &apos;Welcome!&apos;
      });
    } catch (error) {
      this.loading = false;
      this.$notify({
        group: &apos;error&apos;,
        title: &apos;Error!&apos;,
        text: error.response
          ? error.response.data.error
          : &apos;Sorry an error occured, check your internet&apos;
      });
    }
  }
}</code></pre>
<br>
<p>&#x41C;&#x44B; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43B;&#x438; &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x443;&#x44E; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; <code>logIn</code>, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; auth <code>this.$auth.loginWith(&apos;local, loginData)</code>.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x43F;&#x43E;&#x43F;&#x44B;&#x442;&#x43A;&#x430; &#x432;&#x445;&#x43E;&#x434;&#x430; &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x430;, &#x43C;&#x44B; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x44F;&#x435;&#x43C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x432; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x438;&#x439; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; auth &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>this.$auth.setUser(userInfo)</code> &#x438; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; <code>/my-report</code>.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <code>this.$auth.user</code> &#x438;&#x43B;&#x438; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; Vuex, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; <code>this.$store.state.auth.user</code>, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x435;&#x449;&#x451; &#x43D;&#x435; &#x432;&#x441;&#x451;. &#x42D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; <code>auth</code> &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442; &#x435;&#x449;&#x451; &#x434;&#x440;&#x443;&#x433;&#x438;&#x435; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C;, &#x435;&#x441;&#x43B;&#x438; &#x432;&#x43E;&#x439;&#x434;&#x435;&#x442;&#x435; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443; &#x438;&#x43B;&#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x435; &#x441;&#x432;&#x43E;&#x451; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x438;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x43E;&#x432; Vue-devtools.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x432;&#x44B;&#x432;&#x435;&#x434;&#x435;&#x442;&#x435; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x43C;&#x43E;&#x435; <code>this.$store.state.auth</code> &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; console.log, &#x442;&#x43E; &#x443;&#x432;&#x438;&#x434;&#x438;&#x442;&#x435; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x435;:</p>
<pre class="lang-js"><code>{
  &quot;auth&quot;: {
    &quot;user&quot;: {
      &quot;id&quot;: &quot;d7a5efdf-0c29-48aa-9255-be818301d602&quot;,
      &quot;email&quot;: &quot;tmxo@test.com&quot;,
      &quot;lastName&quot;: &quot;Xo&quot;,
      &quot;firstName&quot;: &quot;Tm&quot;,
      &quot;othernames&quot;: null,
      &quot;isAdmin&quot;: false,
      &quot;phoneNumber&quot;: null,
      &quot;username&quot;: null
    },
    &quot;loggedIn&quot;: true,
    &quot;strategy&quot;: &quot;local&quot;,
    &quot;busy&quot;: false
  }
}</code></pre>
<br>
<p>&#x42D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440; <code>auth</code> &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>loggedIn</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x43D;&#x430;&#x432;&#x438;&#x433;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x441;&#x441;&#x44B;&#x43B;&#x43E;&#x43A; &#x434;&#x43B;&#x44F; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x446;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439; &#x438; &#x433;&#x43E;&#x441;&#x442;&#x435;&#x439;. &#x41E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x438;&#x442; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>strategy</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x442;&#x438;&#x43F; &#x441;&#x442;&#x440;&#x430;&#x442;&#x435;&#x433;&#x438;&#x438;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C;&#x43E;&#x439; &#x44D;&#x43A;&#x437;&#x435;&#x43C;&#x43F;&#x43B;&#x44F;&#x440;&#x43E;&#x43C; (&#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, <code>local</code>).</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43C;&#x44B; &#x432;&#x43E;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C;&#x441;&#x44F; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E;&#x43C; <code>loggedIn</code> &#x434;&#x43B;&#x44F; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x430;&#x448;&#x438;&#x445; &#x43D;&#x430;&#x432;&#x438;&#x433;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x441;&#x441;&#x44B;&#x43B;&#x43E;&#x43A;. &#x41E;&#x431;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x435; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442; <code>navBar</code> &#x434;&#x43E; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x433;&#x43E; &#x432;&#x438;&#x434;&#x430;:</p>
<pre class="lang-html"><code>&lt;template&gt;
    &lt;header class=&quot;header&quot;&gt;
      &lt;div class=&quot;logo&quot;&gt;
          &lt;nuxt-link to=&quot;/&quot;&gt;
              &lt;Logo /&gt;
          &lt;/nuxt-link&gt;
        &lt;/div&gt;
        &lt;nav class=&quot;nav&quot;&gt;
          &lt;div class=&quot;nav__user&quot; v-if=&quot;auth.loggedIn&quot;&gt;
            &lt;p&gt;{{ auth.user.email }}&lt;/p&gt;
            &lt;button class=&quot;nav__link nav__link--long&quot;&gt;
              &lt;nuxt-link to=&quot;/report-incident&quot;&gt;Report incident&lt;/nuxt-link&gt;
            &lt;/button&gt;
            &lt;button class=&quot;nav__link nav__link--long&quot;&gt;
              &lt;nuxt-link to=&quot;/my-reports&quot;&gt;My Reports&lt;/nuxt-link&gt;
            &lt;/button&gt;
            &lt;button class=&quot;nav__link&quot; @click.prevent=&quot;logOut&quot;&gt;Log out&lt;/button&gt;
        &lt;/div&gt;
        &lt;button class=&quot;nav__link&quot; v-if=&quot;!auth.loggedIn&quot;&gt;
          &lt;nuxt-link to=&quot;/login&quot;&gt;Login&lt;/nuxt-link&gt;
        &lt;/button&gt;
        &lt;button class=&quot;nav__link&quot; v-if=&quot;!auth.loggedIn&quot;&gt;
          &lt;nuxt-link to=&quot;/register&quot;&gt;Register&lt;/nuxt-link&gt;
        &lt;/button&gt;
        &lt;/nav&gt;
    &lt;/header&gt;
&lt;/template&gt;

&lt;script&gt;
  import { mapState } from &quot;vuex&quot;;
  import Logo from &quot;@/components/Logo&quot;;
  
  export default {
      name: &quot;nav-bar&quot;,
      data() {
          return {};
      },
      computed: {
          ...mapState([&quot;auth&quot;])
      },
      methods: {
          logOut() {
          this.$store.dispatch(&apos;logOut&apos;);
          this.$router.push(&apos;/login&apos;);
      }
    },
    components: {
        Logo
    }
};
&lt;/script&gt;

&lt;style&gt;&lt;/style&gt;</code></pre>
<br>
<p>&#x412; &#x441;&#x435;&#x43A;&#x446;&#x438;&#x438; <code>template</code> &#x435;&#x441;&#x442;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x441;&#x441;&#x44B;&#x43B;&#x43E;&#x43A; &#x43D;&#x430; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x447;&#x430;&#x441;&#x442;&#x438; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x43C;&#x44B; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; <code>auth.loggedIn</code> &#x434;&#x43B;&#x44F; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x445; &#x441;&#x441;&#x44B;&#x43B;&#x43E;&#x43A; &#x432; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x43E;&#x442; &#x441;&#x442;&#x430;&#x442;&#x443;&#x441;&#x430; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438;. &#x423; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x43A;&#x43D;&#x43E;&#x43F;&#x43A;&#x430; &#x432;&#x44B;&#x445;&#x43E;&#x434;&#x430; &#x438;&#x437; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x44B;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43E;&#x442;&#x441;&#x43B;&#x435;&#x436;&#x438;&#x432;&#x430;&#x435;&#x442; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x435; <code>click</code>, &#x43F;&#x440;&#x438; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; <code>logOut()</code>.</p>
<p>&#x41C;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x430;&#x435;&#x43C; &#x43F;&#x43E;&#x447;&#x442;&#x443; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F;, &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x438;&#x437; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; <code>auth</code>. &#x414;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x443; &#x43E;&#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x447;&#x435;&#x440;&#x435;&#x437; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x44F; Vuex &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x430; <code>mapState</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x441;&#x43E;&#x43F;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; <code>auth</code> &#x441; &#x432;&#x44B;&#x447;&#x438;&#x441;&#x43B;&#x44F;&#x435;&#x43C;&#x44B;&#x43C; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E;&#x43C; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; <code>nav</code>. &#x423; &#x43D;&#x430;&#x441; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>logout</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; Vuex-&#x44D;&#x43A;&#x448;&#x435;&#x43D; <code>logOut</code> &#x438; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x432;&#x445;&#x43E;&#x434;&#x430;.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x438;&#x43C; &#x43A;&#x43E;&#x434; <a href="https://badtry.net/rabota-s-nuxt-i-vuex/" target="_blank">Vuex-&#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x430;</a> &#x438; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x432; &#x43D;&#x435;&#x433;&#x43E; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x443; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x44F; <code>logOut</code>.</p>
<pre class="lang-js"><code>export const actions = {
  // ....
  logOut() {
    this.$auth.logout();
  }
}</code></pre>
<br>
<p>&#x42D;&#x43A;&#x448;&#x435;&#x43D; <code>logOut</code> &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>logout</code> &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; auth, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43E;&#x447;&#x438;&#x449;&#x430;&#x435;&#x442; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F;, &#x443;&#x434;&#x430;&#x43B;&#x44F;&#x435;&#x442; &#x442;&#x43E;&#x43A;&#x435;&#x43D;&#x44B; &#x438;&#x437; <code>localStorage</code> &#x438; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x442; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; <code>loggedIn</code> &#x432; false.</p>
<p>&#x422;&#x430;&#x43A;&#x438;&#x435; &#x43C;&#x430;&#x440;&#x448;&#x440;&#x443;&#x442;&#x44B;, &#x43A;&#x430;&#x43A; <code>/my-reports</code> &#x438; <code>/report-incident</code> &#x43D;&#x435; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x431;&#x44B;&#x442;&#x44C; &#x432;&#x438;&#x434;&#x43D;&#x44B; &#x433;&#x43E;&#x441;&#x442;&#x44F;&#x43C;, &#x43D;&#x43E; &#x43D;&#x430; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x442;&#x430;&#x43A;. &#x412; Nuxt &#x43D;&#x435;&#x442; <a href="https://router.vuejs.org/ru/guide/advanced/navigation-guards.html?ref=badtry.net" target="_blank">&#x43D;&#x430;&#x432;&#x438;&#x433;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x44B;&#x445; &#x445;&#x443;&#x43A;&#x43E;&#x432;</a>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x431;&#x44B; &#x43F;&#x43E;&#x43C;&#x43E;&#x447;&#x44C; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x435; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B;&#x43C;&#x438; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x437;&#x430;&#x43B;&#x43E;&#x433;&#x438;&#x43D;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F;&#x43C;.</p>
<p>&#x414;&#x43B;&#x44F; &#x44D;&#x442;&#x438;&#x445; &#x446;&#x435;&#x43B;&#x435;&#x439; &#x43D;&#x430;&#x43C; &#x43F;&#x43E;&#x43D;&#x430;&#x434;&#x43E;&#x431;&#x438;&#x442;&#x441;&#x44F; <code>auth middleware</code>. &#x42D;&#x442;&#x43E;&#x442; &#x43C;&#x438;&#x434;&#x43B;&#x432;&#x430;&#x440; &#x434;&#x430;&#x451;&#x442; &#x432;&#x430;&#x43C; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x431;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x438;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x43E;&#x433;&#x440;&#x430;&#x43D;&#x438;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430; &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x433;&#x440;&#x443;&#x43F;&#x43F; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;.</p>
<p>&#x41C;&#x438;&#x434;&#x43B;&#x432;&#x430;&#x440; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x434;&#x432;&#x443;&#x43C;&#x44F; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x430;&#x43C;&#x438;:</p>
<ul>
<li>&#x41E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x433;&#x43E; &#x43C;&#x430;&#x440;&#x448;&#x440;&#x443;&#x442;&#x430;.</li>
<li>&#x413;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; (&#x43D;&#x430;&#x441;&#x442;&#x440;&#x430;&#x438;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x444;&#x430;&#x439;&#x43B;&#x435; <code>nuxt.config.js</code>).</li>
</ul>
<pre class="lang-js"><code>router: {
  middleware: [&apos;auth&apos;]
}</code></pre>
<br>
<p>&#x41C;&#x438;&#x434;&#x43B;&#x432;&#x430;&#x440; <code>auth</code> &#x438;&#x434;&#x451;&#x442; &#x43F;&#x43E; &#x434;&#x435;&#x444;&#x43E;&#x43B;&#x442;&#x443; &#x441; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x43C; <code>auth</code>, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432;&#x430;&#x43C; &#x43D;&#x435; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x444;&#x430;&#x439;&#x43B; <code>auth.js</code> &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; middleware.</p>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x44D;&#x442;&#x43E;&#x442; &#x43C;&#x438;&#x434;&#x43B;&#x432;&#x430;&#x440; &#x432; &#x444;&#x430;&#x439;&#x43B;&#x44B; <code>my-reports.vue</code> &#x438; <code>report-incident.vue</code>. &#x414;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x441;&#x442;&#x440;&#x43E;&#x43A;&#x438; &#x43A;&#x43E;&#x434;&#x430; &#x432; &#x441;&#x435;&#x43A;&#x446;&#x438;&#x44E; <code>script</code> &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x433;&#x43E; &#x444;&#x430;&#x439;&#x43B;&#x430;.</p>
<pre class="lang-js"><code>middleware: &apos;auth&apos;</code></pre>
<br>
<p>&#x418; &#x432;&#x441;&#x451;, &#x43D;&#x430;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x442;&#x44C;, &#x438;&#x43C;&#x435;&#x435;&#x442; &#x43B;&#x438; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;, &#x43F;&#x44B;&#x442;&#x430;&#x44E;&#x449;&#x438;&#x439;&#x441;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x44D;&#x442;&#x438;&#x43C; &#x43C;&#x430;&#x440;&#x448;&#x440;&#x443;&#x442;&#x430;&#x43C;, &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; <code>auth.loggedIn</code>, &#x440;&#x430;&#x432;&#x43D;&#x43E;&#x435; <code>true</code>. &#x415;&#x441;&#x43B;&#x438; &#x43D;&#x435;&#x442;, &#x442;&#x43E; &#x43E;&#x43D; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x432;&#x445;&#x43E;&#x434;&#x430; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x432;&#x430;&#x448; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440; &#x440;&#x435;&#x434;&#x438;&#x440;&#x435;&#x43A;&#x442;&#x430; &#x432; &#x43A;&#x43E;&#x43D;&#x444;&#x438;&#x433;&#x443;&#x440;&#x430;&#x446;&#x438;&#x43E;&#x43D;&#x43D;&#x43E;&#x43C; &#x444;&#x430;&#x439;&#x43B;&#x435; <code>auth</code>. &#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43D;&#x435; &#x432;&#x43E;&#x448;&#x43B;&#x438; &#x432; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x443; &#x438; &#x43F;&#x44B;&#x442;&#x430;&#x435;&#x442;&#x435;&#x441;&#x44C; &#x43E;&#x442;&#x43A;&#x440;&#x44B;&#x442;&#x44C; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; <code>/my-report</code> &#x438;&#x43B;&#x438; <code>report-incident</code>, &#x432;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x43D;&#x430; <code>/login</code>.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x439;&#x434;&#x435;&#x442;&#x435; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; <code>/report-incidents</code>, &#x432;&#x43E;&#x442; &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x438;&#x442;&#x435;.</p>
<p><img src="https://badtry.net/content/images/2021/10/06-report-incident-page.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x42D;&#x442;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430; &#x43F;&#x440;&#x435;&#x434;&#x43D;&#x430;&#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x430; &#x434;&#x43B;&#x44F; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x435;&#x439; &#x43E; &#x43F;&#x440;&#x43E;&#x438;&#x441;&#x448;&#x435;&#x441;&#x442;&#x432;&#x438;&#x44F;&#x445;, &#x43D;&#x43E; &#x441;&#x435;&#x439;&#x447;&#x430;&#x441; &#x444;&#x43E;&#x440;&#x43C;&#x430; &#x43D;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x444;&#x43E;&#x440;&#x43C;&#x44B; &#x43D;&#x430; &#x43D;&#x430;&#x448; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x43C;&#x44B; &#x43D;&#x435; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43A; API, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x441;&#x430;&#x431;&#x43C;&#x438;&#x442; &#x444;&#x43E;&#x440;&#x43C;&#x44B;.</p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x440;&#x435;&#x448;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x443; &#x43F;&#x440;&#x43E;&#x431;&#x43B;&#x435;&#x43C;&#x443;, &#x43C;&#x44B; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>reportIncident</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C; &#x43D;&#x430;&#x436;&#x43C;&#x435;&#x442; &#x43D;&#x430; &#x43A;&#x43D;&#x43E;&#x43F;&#x43A;&#x443; <strong>Report</strong>. &#x41C;&#x44B; &#x440;&#x430;&#x441;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x438;&#x43C; &#x435;&#x433;&#x43E; &#x432; &#x441;&#x435;&#x43A;&#x446;&#x438;&#x438; <code>script</code> &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;. &#x42D;&#x442;&#x43E;&#x442; &#x43C;&#x435;&#x442;&#x43E;&#x434; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x444;&#x43E;&#x440;&#x43C;&#x44B; &#x43D;&#x430; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;.</p>
<p>&#x41E;&#x431;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x435; &#x444;&#x430;&#x439;&#x43B; <code>report-incident.vue</code> &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;:</p>
<pre class="lang-html"><code>&lt;template&gt;
  &lt;section class=&quot;report&quot;&gt;
    &lt;h1 class=&quot;report__heading&quot;&gt;Report an Incident&lt;/h1&gt;
    &lt;form class=&quot;report__form&quot;&gt;
      &lt;div class=&quot;input__container&quot;&gt;
        &lt;label for=&quot;title&quot; class=&quot;input__label&quot;&gt;Title&lt;/label&gt;
        &lt;input
          type=&quot;text&quot;
          name=&quot;title&quot;
          id=&quot;title&quot;
          v-model=&quot;incident.title&quot;
          class=&quot;input__field&quot;
          required
        /&gt;
      &lt;/div&gt;
      &lt;div class=&quot;input__container&quot;&gt;
        &lt;label for=&quot;location&quot; class=&quot;input__label&quot;&gt;Location&lt;/label&gt;
        &lt;input
          type=&quot;text&quot;
          name=&quot;location&quot;
          id=&quot;location&quot;
          v-model=&quot;incident.location&quot;
          required
          class=&quot;input__field&quot;
        /&gt;
      &lt;/div&gt;
      &lt;div class=&quot;input__container&quot;&gt;
        &lt;label for=&quot;comment&quot; class=&quot;input__label&quot;&gt;Comment&lt;/label&gt;
        &lt;textarea
          name=&quot;comment&quot;
          id=&quot;comment&quot;
          v-model=&quot;incident.comment&quot;
          class=&quot;input__area&quot;
          cols=&quot;30&quot;
          rows=&quot;10&quot;
          required
        &gt;&lt;/textarea&gt;
      &lt;/div&gt;
      &lt;input type=&quot;submit&quot; value=&quot;Report&quot; class=&quot;input__button&quot; @click.prevent=&quot;reportIncident&quot; /&gt;
      &lt;p class=&quot;loading__indicator&quot; v-if=&quot;loading&quot;&gt;Please wait....&lt;/p&gt;
    &lt;/form&gt;
  &lt;/section&gt;
&lt;/template&gt;

&lt;script&gt;
export default {
  name: &quot;report-incident&quot;,
  middleware: &quot;auth&quot;,
  data() {
    return {
      loading: false,
      incident: {
        type: &apos;red-flag&apos;,
        title: &apos;&apos;,
        location: &apos;&apos;,
        comment: &apos;&apos;;
      }
    };
  },
  methods: {
    async reportIncident() {
      let data = this.incident;
      let formData = new FormData();
      formData.append(&apos;title&apos;, data.title);
      formData.append(&apos;type&apos;, data.type);
      formData.append(&apos;location&apos;, data.location);
      formData.append(&apos;comment&apos;, data.comment);
      this.loading = true;
      
      try {
        let res = await this.$store.dispatch(&apos;reportIncident&apos;, formData);
        this.$notify({
          group: &apos;success&apos;,
          title: &apos;Success&apos;,
          text: &apos;Incident reported successfully!&apos;;
        });
        this.loading = false;
        
        this.$router.push(&apos;/my-reports&apos;);
      } catch (error) {
        this.loading = false;
        this.$notify({
          group: &apos;error&apos;,
          title: &apos;Error!&apos;,
          text: error.response
            ? error.response.data.error
            : &apos;Sorry an error occured, check your internet&apos;;
        });
      }
    }
  }
};
&lt;/script&gt;
&lt;style&gt;
&lt;/style&gt;</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x443; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x444;&#x43E;&#x440;&#x43C;&#x430; &#x441; &#x43F;&#x43E;&#x43B;&#x44F;&#x43C;&#x438; &#x434;&#x43B;&#x44F; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x430;, &#x43C;&#x435;&#x441;&#x442;&#x43E;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x438; &#x43A;&#x43E;&#x43C;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x440;&#x438;&#x44F; &#x441; &#x434;&#x432;&#x443;&#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x43D;&#x435;&#x439;, &#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x439; &#x43F;&#x440;&#x438;&#x432;&#x44F;&#x437;&#x43A;&#x43E;&#x439; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; v-model. &#x423; &#x43D;&#x430;&#x441; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x43A;&#x43D;&#x43E;&#x43F;&#x43A;&#x430; submit &#x441;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x44E;&#x449;&#x430;&#x44F; &#x43F;&#x440;&#x438; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x438; click. &#x412; &#x441;&#x435;&#x43A;&#x446;&#x438;&#x438; script &#x443; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>reportIncident</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x441;&#x43E;&#x431;&#x438;&#x440;&#x430;&#x435;&#x442; &#x432;&#x441;&#x44E; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E;, &#x437;&#x430;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x432; &#x444;&#x43E;&#x440;&#x43C;&#x435;, &#x438; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x435;&#x451; &#x43D;&#x430; &#x43D;&#x430;&#x448; &#x441;&#x435;&#x440;&#x432;&#x435;&#x440;, &#x43D;&#x430;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; <code>FormData</code>, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; API &#x442;&#x430;&#x43A; &#x436;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x438; &#x432;&#x438;&#x434;&#x435;&#x43E;.</p>
<p>&#x417;&#x430;&#x442;&#x435;&#x43C; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x44D;&#x43A;&#x448;&#x435;&#x43D; Vuex <code>reportIncident</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C;&#x443; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x442;&#x441;&#x44F; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x438;&#x437; &#x444;&#x43E;&#x440;&#x43C;&#x44B;, &#x438; &#x435;&#x441;&#x43B;&#x438; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x443;&#x441;&#x43F;&#x435;&#x448;&#x435;&#x43D;, &#x432;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; <code>/my-reports</code> &#x441; &#x443;&#x432;&#x435;&#x434;&#x43E;&#x43C;&#x43B;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x43E;&#x431; &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x43E;&#x43C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x435;. &#x412; &#x43F;&#x440;&#x43E;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x432;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x435; &#x443;&#x432;&#x435;&#x434;&#x43E;&#x43C;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x441; &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x43E;&#x431; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x435;.</p>
<p>&#x41D;&#x430; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; Vuex &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435; &#x435;&#x449;&#x451; &#x43D;&#x435;&#x442; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x430; <code>reportIncident</code>, &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x432; &#x43A;&#x43E;&#x43D;&#x441;&#x43E;&#x43B;&#x438; &#x431;&#x440;&#x430;&#x443;&#x437;&#x435;&#x440;&#x430; &#x432;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x438;&#x442;&#x435; &#x43E;&#x448;&#x438;&#x431;&#x43A;&#x443;, &#x435;&#x441;&#x43B;&#x438; &#x43F;&#x43E;&#x43F;&#x44B;&#x442;&#x430;&#x435;&#x442;&#x435;&#x441;&#x44C; &#x43D;&#x430;&#x436;&#x430;&#x442;&#x44C; &#x43A;&#x43D;&#x43E;&#x43F;&#x43A;&#x443; submit &#x43D;&#x430; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435;.</p>
<p><img src="https://badtry.net/content/images/2021/10/07-action-error-message.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x427;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x441;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x43E;, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x44D;&#x43A;&#x448;&#x435;&#x43D; <code>reportIncident</code> &#x432; &#x444;&#x430;&#x439;&#x43B; <code>store/index.js</code>.</p>
<pre class="lang-js"><code>export const actions = {
  // ...
  async reportIncident({}, data) {
    let res = await this.$axios.post(&apos;/incident/create&apos;, data)
    return res.data;
  }
}</code></pre>
<br>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x443; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; <code>reportIncident</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442; &#x43F;&#x443;&#x441;&#x442;&#x43E;&#x439; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430; &#x438; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x43C; &#x438;&#x437; &#x444;&#x43E;&#x440;&#x43C;&#x44B;. &#x417;&#x430;&#x442;&#x435;&#x43C; &#x44D;&#x442;&#x438; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x432; &#x442;&#x435;&#x43B;&#x435; POST-&#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x442; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x44C; &#x432; API.</p>
<p>&#x41D;&#x430; &#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x43C; &#x44D;&#x442;&#x430;&#x43F;&#x435; &#x432;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x43E;&#x442;&#x447;&#x435;&#x442; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x444;&#x43E;&#x440;&#x43C;&#x44B;, &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x447;&#x435;&#x433;&#x43E; &#x432;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x442;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x44B; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; <code>/my-reports</code>.</p>
<p><img src="https://badtry.net/content/images/2021/10/08-my-reports.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x42D;&#x442;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x430; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x430;&#x442;&#x44C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x435;&#x439;, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x43C;, &#x43D;&#x43E; &#x441;&#x435;&#x439;&#x447;&#x430;&#x441; &#x43E;&#x43D;&#x430; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x43C;&#x44B; &#x432;&#x438;&#x434;&#x438;&#x43C; &#x432;&#x44B;&#x448;&#x435;, &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x43C; &#x44D;&#x442;&#x43E;.</p>
<p>&#x414;&#x43B;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x441;&#x43F;&#x438;&#x441;&#x43A;&#x430; &#x43C;&#x44B; &#x431;&#x443;&#x434;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>fetch</code>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x44B; &#x43E;&#x431;&#x441;&#x443;&#x436;&#x434;&#x430;&#x43B;&#x438; &#x440;&#x430;&#x43D;&#x435;&#x435;.</p>
<p>&#x41E;&#x431;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x435; &#x444;&#x430;&#x439;&#x43B; <code>my-reports.vue</code> &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;:</p>
<pre class="lang-js"><code>&lt;script&gt;
import incidentCard from &quot;@/components/incidentCard.vue&quot;;
export default {
  middleware: &apos;auth&apos;,
  name: &apos;my-reports&apos;,
  data() {
    return {
      incidents: []
    };
  },
  
  async fetch() {
    let { data } = await this.$axios.get(&apos;/user/incidents&apos;);
    this.incidents = data.data;
  },
  
  components: {
    incidentCard
  }
};
&lt;/script&gt;
</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>fetch</code> &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x432;&#x441;&#x435;&#x445; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x435;&#x439;, &#x43E;&#x442;&#x43D;&#x43E;&#x441;&#x44F;&#x449;&#x438;&#x445;&#x441;&#x44F; &#x43A; &#x43A;&#x43E;&#x43D;&#x43A;&#x440;&#x435;&#x442;&#x43D;&#x43E;&#x43C;&#x443; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44E;, &#x43F;&#x440;&#x438;&#x441;&#x432;&#x430;&#x438;&#x432;&#x430;&#x44F; &#x43E;&#x442;&#x432;&#x435;&#x442; &#x43E;&#x442; API &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x43E;&#x439; <code>incidents</code>.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x435; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x438;&#x43D;&#x446;&#x438;&#x434;&#x435;&#x43D;&#x442;&#x430;, &#x432;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x443;&#x432;&#x438;&#x434;&#x435;&#x442;&#x44C; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x432;&#x440;&#x43E;&#x434;&#x435; &#x44D;&#x442;&#x43E;&#x433;&#x43E;.</p>
<p><img src="https://badtry.net/content/images/2021/10/09-my-reports-filled.png" alt="&#x41D;&#x430;&#x447;&#x430;&#x43B;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Axios &#x432; Nuxt" loading="lazy"></p>
<p>&#x41D;&#x430; &#x44D;&#x442;&#x43E;&#x43C; &#x44D;&#x442;&#x430;&#x43F;&#x435; &#x43C;&#x44B; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x43C; &#x440;&#x430;&#x437;&#x43D;&#x438;&#x446;&#x443; &#x432; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>fetch</code> &#x438; <code>asyncData</code> &#x437;&#x430;&#x433;&#x440;&#x443;&#x436;&#x430;&#x44E;&#x442; &#x43D;&#x430;&#x448;&#x438; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;.</p>
<h2 id>&#x417;&#x430;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435;</h2>
<p>&#x418;&#x442;&#x430;&#x43A;, &#x438;&#x437; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438; &#x432;&#x44B; &#x443;&#x437;&#x43D;&#x430;&#x43B;&#x438; &#x43E; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435; axios &#x438; &#x432;&#x441;&#x435;&#x445; &#x435;&#x433;&#x43E; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44F;&#x445;. &#x412;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x443;&#x437;&#x43D;&#x430;&#x43B;&#x438; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43E; <strong>&#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x438;&#x44F;&#x445; asyncData &#x438; fetch</strong>, &#x438; &#x43E; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x431;&#x430; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x435;, &#x43D;&#x435;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x44F; &#x43D;&#x430; &#x438;&#x445; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x438;&#x44F;. &#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x442;&#x430;&#x43A; &#x436;&#x435; &#x431;&#x44B;&#x43B;&#x43E; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E;, &#x43A;&#x430;&#x43A; &#x43F;&#x43E;&#x434;&#x43A;&#x43B;&#x44E;&#x447;&#x438;&#x442;&#x44C; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x44E; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; Nuxt.js. &#x410; &#x442;&#x430;&#x43A; &#x436;&#x435;, &#x43A;&#x430;&#x43A; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x44F;&#x442;&#x44C; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x44E; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; auth &#x438; &#x43A;&#x430;&#x43A; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x438;&#x434;&#x43B;&#x432;&#x430;&#x440;&#x44B; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43A;&#x438; &#x430;&#x443;&#x442;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x43D;&#x430; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430;&#x445; &#x441;&#x430;&#x439;&#x442;&#x430;.</p>
<p>&#x421;&#x43E;&#x432;&#x435;&#x442;&#x443;&#x44E; &#x442;&#x430;&#x43A; &#x436;&#x435;, &#x43F;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x442;&#x44C; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x443;&#x44E; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E; &#x43F;&#x440;&#x43E; <a href="https://badtry.net/kak-rabotat-s-mieta-tieghami-v-prilozhienii-nuxt/" target="_blank">&#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; &#x41C;&#x435;&#x442;&#x430;-&#x442;&#x435;&#x433;&#x430;&#x43C;&#x438;</a> &#x432; Nuxt.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Работа с Vuex в Nuxt]]></title><description><![CDATA[Примеры кода и детальные инструкции, как правильно работать с Vuex Store в приложении Nuxt. Как делать запросы к бекенду до загрузки страницы.]]></description><link>https://badtry.net/rabota-s-nuxt-i-vuex/</link><guid isPermaLink="false">62a6324e0f555f2eef8c237a</guid><category><![CDATA[Nuxt]]></category><category><![CDATA[Vue Js]]></category><category><![CDATA[JavaScript]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 17 Oct 2021 17:32:36 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/10/vuext-nuxt-preview.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/10/vuext-nuxt-preview.jpg" alt="&#x420;&#x430;&#x431;&#x43E;&#x442;&#x430; &#x441; Vuex &#x432; Nuxt"><p>&#x412; &#x43E;&#x434;&#x43D;&#x43E;&#x439; &#x441;&#x432;&#x43E;&#x435;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x443;&#x436;&#x435; &#x440;&#x430;&#x441;&#x441;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x43B; &#x43E; &#x43B;&#x443;&#x447;&#x448;&#x438;&#x445; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x43A;&#x430;&#x445; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; <a href="https://badcode.ru/arkhitiektura-upravlieniia-sostoianiiem-v-krupnom-prilozhienii-na-vuejs-vue-js-shared-and-local-state/?ref=badtry.net" target="_blank">Vuex &#x432; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x445; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;&#x445;</a>. &#x410; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x443; &#x432;&#x430;&#x43C;, &#x43A;&#x430;&#x43A; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; Vuex &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt. &#x41A;&#x430;&#x43A; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x439; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x439; Vuex &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; &#x438; &#x43A;&#x430;&#x43A; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x443;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435;&#x43C; &#x432; &#x432;&#x430;&#x448;&#x438;&#x445; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;&#x445; &#x438; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430;&#x445; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; Nuxt.js. &#x42F; &#x43D;&#x435; &#x431;&#x443;&#x434;&#x443; &#x432;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x432; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E;&#x441;&#x442;&#x438; &#x43E; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x44F;. &#x42F; &#x441;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x43E;&#x442;&#x43E;&#x447;&#x443;&#x441;&#x44C; &#x43D;&#x430; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; Vuex &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt &#x438; &#x43F;&#x43E;&#x43A;&#x430;&#x436;&#x443; &#x43A;&#x430;&#x43A; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x441; &#x43D;&#x438;&#x43C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C;.</p>
<h2 id="vuex">&#x427;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; Vuex</h2>
<p>&#x421;&#x430;&#x43C;&#x43E;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x435; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x437;&#x430;&#x43A;&#x43B;&#x44E;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432; &#x442;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; Vuex - &#x44D;&#x442;&#x43E; &#x438;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43C;&#x435;&#x43D;&#x442; &#x443;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435;&#x43C; &#x434;&#x43B;&#x44F; Vue. &#x41E;&#x43D; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x442; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x43E; &#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x43E; &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;. &#x41E;&#x43D; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x432;&#x430;&#x43C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435;&#x43C; &#x43E;&#x447;&#x435;&#x432;&#x438;&#x434;&#x43D;&#x44B;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C; &#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x435; &#x441;&#x43E;&#x433;&#x43B;&#x430;&#x448;&#x435;&#x43D;&#x438;&#x44F;, &#x43A;&#x430;&#x43A; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; &#x438; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438;, &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x439; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x44F;.</p>
<p>&#x42D;&#x442;&#x43E; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; &#x432; &#x44D;&#x43A;&#x43E;&#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x435; Vue, &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x438;&#x432;&#x430;&#x435;&#x43C;&#x44B;&#x439; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x447;&#x438;&#x43A;&#x430;&#x43C;&#x438; &#x44F;&#x434;&#x440;&#x430; Vue &#x438; &#x441;&#x43E;&#x43E;&#x431;&#x449;&#x435;&#x441;&#x442;&#x432;&#x43E;&#x43C;.</p>
<p>&#x412;&#x430;&#x43C; &#x43D;&#x435; &#x43E;&#x431;&#x44F;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; Vuex &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Vue, &#x43D;&#x43E; &#x43A;&#x430;&#x43A; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432;&#x430;&#x43C; &#x43F;&#x43E;&#x43D;&#x430;&#x434;&#x43E;&#x431;&#x438;&#x442;&#x441;&#x44F; &#x43A;&#x430;&#x43A;&#x43E;&#x435;-&#x442;&#x43E; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x438;&#x43B;&#x438; &#x446;&#x435;&#x43D;&#x442;&#x440;&#x430;&#x43B;&#x438;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x43E;&#x435; &#x43C;&#x435;&#x441;&#x442;&#x43E; &#x434;&#x43B;&#x44F; &#x445;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; Vuex. &#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x443;&#x437;&#x43D;&#x430;&#x442;&#x44C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43E; Vuex &#x432; &#x434;&#x435;&#x442;&#x430;&#x43B;&#x44F;&#x445;, &#x44F; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x44E; &#x432;&#x430;&#x43C; &#x43F;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x442;&#x44C; <a href="https://vuex.vuejs.org/?ref=badtry.net" target="_blank">&#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x44E; Vuex</a> &#x434;&#x43B;&#x44F; &#x434;&#x430;&#x43B;&#x44C;&#x43D;&#x435;&#x439;&#x448;&#x435;&#x433;&#x43E; &#x443;&#x433;&#x43B;&#x443;&#x431;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x43E; &#x44D;&#x442;&#x43E;&#x439; &#x442;&#x435;&#x43C;&#x435;.</p>
<h2 id="vuexnuxt">&#x41A;&#x430;&#x43A; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; Vuex &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; Nuxt</h2>
<p>Vuex &#x43F;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x435; &#x441; Nuxt &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;. &#x41F;&#x440;&#x438; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x438; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430; &#x432;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x442;&#x44C; &#x43F;&#x443;&#x441;&#x442;&#x443;&#x44E; &#x43F;&#x430;&#x43F;&#x43A;&#x443; store. &#x42D;&#x442;&#x43E; &#x43C;&#x435;&#x441;&#x442;&#x43E;, &#x433;&#x434;&#x435; &#x43C;&#x44B; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x43C; &#x441; Vuex. &#x41F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E; &#x43E;&#x43D; &#x43E;&#x442;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;, &#x43D;&#x43E; &#x431;&#x443;&#x434;&#x435;&#x442; &#x430;&#x43A;&#x442;&#x438;&#x432;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;, &#x43A;&#x430;&#x43A; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x43F;&#x430;&#x43F;&#x43A;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D; <code>.js</code> &#x444;&#x430;&#x439;&#x43B;. &#x41A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x444;&#x430;&#x439;&#x43B; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x43F;&#x430;&#x43F;&#x43A;&#x435; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x440;&#x435;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x432;&#x430;&#x43D; &#x432; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Vuex. &#x424;&#x430;&#x439;&#x43B; <code>index.js</code> &#x431;&#x443;&#x434;&#x435;&#x442; &#x43A;&#x43E;&#x440;&#x43D;&#x435;&#x432;&#x44B;&#x43C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x43C;.</p>
<p>&#x412;&#x43E;&#x442; &#x447;&#x435;&#x442;&#x44B;&#x440;&#x435; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x44B;&#x445; &#x431;&#x43B;&#x43E;&#x43A;&#x430;, &#x438;&#x437; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x438;&#x442; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Vuex:</p>
<pre><code class="lang-js">// store/index.js

export const state = () =&gt; {}

export const mutations = {}

export const actions = {}

export const getters = {}</code></pre>
<br>
<p>&#x414;&#x43E;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x43C;, &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x435;&#x43D; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; Vuex &#x434;&#x43B;&#x44F; &#x443;&#x447;&#x451;&#x442;&#x430; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x43E;&#x432; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;. &#x414;&#x430;, &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x430;&#x43C;&#x438;. &#x41F;&#x43E;&#x447;&#x435;&#x43C;&#x443; &#x431;&#x44B; &#x438; &#x43D;&#x435;&#x442;. &#x42D;&#x442;&#x43E; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x430;&#x44F; &#x43C;&#x435;&#x442;&#x430;&#x444;&#x43E;&#x440;&#x430;.</p>
<p>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x439;&#x442;&#x435; &#x43D;&#x43E;&#x432;&#x44B;&#x439; <code>.js</code> &#x444;&#x430;&#x439;&#x43B; &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; <code>store</code> &#x43F;&#x43E;&#x434; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; <code>store/fruits.js</code> &#x438; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x44C;&#x442;&#x435; &#x432; &#x43D;&#x435;&#x433;&#x43E; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x43E;&#x432;.</p>
<pre><code class="lang-js">// store/fruits.js

export const state = () =&gt; ({
    fruits: [],
})

export const mutations = {
    addFruit(state, fruit) {
        state.fruits.push(fruit)
    },
    removeFruit(state, fruitId) {
        state.fruits = state.fruits.filter((fruit) =&gt; fruit.id !== fruitId)
    },
}

export const actions = {
    addFruit(context, fruit) {
        const slicedFruit = sliceFruit(fruit)
        context.commit(slicedFruit)
    },
}

export const getters = {
    getApples: (state) =&gt; {
        return state.fruits.filter((fruit) =&gt; fruit.type === &apos;Apple&apos;)
    },
}</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; &#x438; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x44E;, &#x438; &#x44D;&#x43A;&#x448;&#x435;&#x43D; &#x434;&#x43B;&#x44F; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x430;. &#x42D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x432;&#x445;&#x43E;&#x434;&#x44F;&#x449;&#x438;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x438;&#x43B;&#x438; &#x432;&#x44B;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x44C; &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x43E;&#x435; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x434; &#x43A;&#x43E;&#x43C;&#x438;&#x442;&#x43E;&#x43C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x432; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435;. &#x412; &#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x43C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x43C;&#x44B; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x43C; &#x43C;&#x435;&#x442;&#x43E;&#x434;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43D;&#x430;&#x440;&#x435;&#x436;&#x435;&#x442; &#x444;&#x440;&#x443;&#x43A;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x434; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435;&#x43C; (&#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44F; <code>sliceFruit</code>).</p>
<p>&#x41D;&#x430; &#x43C;&#x43E;&#x439; &#x432;&#x437;&#x433;&#x43B;&#x44F;&#x434;, &#x435;&#x441;&#x43B;&#x438; &#x435;&#x441;&#x442;&#x44C; &#x44D;&#x43A;&#x448;&#x435;&#x43D;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x451;&#x442; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438;, &#x44D;&#x442;&#x43E;&#x442; &#x44D;&#x43A;&#x448;&#x435;&#x43D; <strong>&#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x443;&#x434;&#x430;&#x43B;&#x438;&#x442;&#x44C;</strong> &#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x44E; &#x43D;&#x430;&#x43F;&#x440;&#x44F;&#x43C;&#x443;&#x44E;. &#x41D;&#x435;&#x442; &#x441;&#x43C;&#x44B;&#x441;&#x43B;&#x430; &#x432; &#x431;&#x435;&#x441;&#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E;&#x439; &#x43F;&#x440;&#x43E;&#x441;&#x43B;&#x43E;&#x439;&#x43A;&#x435;.</p>
<p>&#x41C;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B;&#x438; &#x433;&#x435;&#x442;&#x442;&#x435;&#x440;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x431;&#x443;&#x434;&#x435;&#x442; &#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x43E;&#x432; &#x432; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x435;&#x440;&#x43D;&#x443;&#x442;&#x44C; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x44F;&#x431;&#x43B;&#x43E;&#x43A;. &#x42D;&#x442;&#x43E; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E;, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x433;&#x435;&#x442;&#x442;&#x435;&#x440; &#x431;&#x443;&#x434;&#x435;&#x442; &#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x43C;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x43E;&#x432; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x442;&#x44C;&#x441;&#x44F;, &#x433;&#x435;&#x442;&#x442;&#x435;&#x440; &#x431;&#x443;&#x434;&#x435;&#x442; &#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x43E; &#x43E;&#x442;&#x440;&#x430;&#x436;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F;.</p>
<p>&#x418;&#x442;&#x430;&#x43A;, &#x43A;&#x430;&#x43A; &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44C; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;?</p>
<h2 id="vuexpages">&#x420;&#x430;&#x431;&#x43E;&#x442;&#x430; &#x441; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435;&#x43C; Vuex &#x438;&#x437; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446; (pages) &#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x43E;&#x432;</h2>
<h3 id="nuxt">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x430; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x43D;&#x43E;&#x433;&#x43E; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x430; Nuxt</h3>
<h4 id>&#x414;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x44E;</h4>
<p>Nuxt &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>store</code> &#x43A; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x443; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;, &#x43A; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C;&#x443; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x430; <code>this.$store</code> &#x432; &#x43B;&#x44E;&#x431;&#x43E;&#x43C; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x435; Vue. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x435;&#x441;&#x43B;&#x438; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x432;&#x44B;&#x432;&#x435;&#x441;&#x442;&#x438; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x43E;&#x432;, &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x432;&#x440;&#x43E;&#x434;&#x435; &#x44D;&#x442;&#x43E;&#x433;&#x43E;:</p>
<pre><code class="lang-html">&lt;template&gt;
    &lt;ul&gt;
        &lt;li v-for=&quot;fruit in fruits&quot; :key=&quot;fruit.id&quot;&gt;
            {{ fruit.name }} - {{ fruit.type }}
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/template&gt;

&lt;script&gt;
export default {
    computed: {
        fruits() {
            return this.$store.fruits.state.fruits
        },
    },
}
&lt;/script&gt;</code></pre>
<br>
<p>&#x41E;&#x431;&#x440;&#x430;&#x442;&#x438;&#x442;&#x435; &#x432;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x435;, &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43E;&#x431;&#x440;&#x430;&#x449;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43F;&#x43E; &#x438;&#x43C;&#x435;&#x43D;&#x438; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; (&#x43F;&#x43E; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x44E; &#x444;&#x430;&#x439;&#x43B;&#x430;), &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x438;&#x437;&#x432;&#x43B;&#x435;&#x447;&#x44C; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F; &#x438;&#x437; <code>$store</code>. &#x415;&#x441;&#x43B;&#x438; &#x431;&#x44B; &#x43C;&#x44B; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43B;&#x438; &#x43D;&#x430;&#x448;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x432; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;&#x43D;&#x44B;&#x439; &#x444;&#x430;&#x439;&#x43B;, &#x43C;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x431;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x43D;&#x435;&#x43C;&#x443; &#x43D;&#x435;&#x43F;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E; &#x43F;&#x43E; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x443; <code>$store.state.fruits</code>. &#x410; &#x432; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x43C;&#x44B; &#x435;&#x449;&#x451; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; &#x432;&#x44B;&#x447;&#x438;&#x441;&#x43B;&#x44F;&#x435;&#x43C;&#x43E;&#x435; (computed) &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x439; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x44F;&#x431;&#x43B;&#x43E;&#x43A;.</p>
<h3 id>&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x43E;&#x432; &#x438; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x439;</h3>
<p>&#x418;&#x442;&#x430;&#x43A;, &#x43A;&#x430;&#x43A; &#x43C;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; &#x438; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438; &#x434;&#x43B;&#x44F; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x430;? &#x414;&#x43B;&#x44F; &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438; &#x44F; &#x436;&#x435;&#x441;&#x442;&#x43A;&#x43E; &#x437;&#x430;&#x445;&#x430;&#x440;&#x434;&#x43A;&#x43E;&#x434;&#x438;&#x43B; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x430;.</p>
<pre><code class="lang-js">&lt;script&gt;
export default {
    methods: {
        addFruitFromComponent() {
            const newFruit = {
                name: &apos;Pink Lady&apos;,
                type: &apos;Apple&apos;,
                id: 2,
            }

            // &#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; dispatch &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x43A;&#x448;&#x435;&#x43D;
            this.$store.dispatch(&apos;fruits/addFruit&apos;, newFruit)

            // &#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x43C; &#x43A;&#x43E;&#x43C;&#x43C;&#x438;&#x442; &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x44E;
            this.$store.commit(&apos;fruits/addFruit&apos;, newFruit)
        },
    },
}
&lt;/script&gt;</code></pre>
<br>
<p>&#x42D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; &#x438; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43D;&#x435;&#x43F;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E; &#x438;&#x437; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; <code>$store</code>. &#x421;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x435;&#x442; &#x434;&#x432;&#x430; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430;: <code>dispatch</code> &#x438; <code>commit</code>.<br>
<strong>Dispatch</strong> &#x437;&#x430;&#x43F;&#x443;&#x441;&#x43A;&#x430;&#x435;&#x442; &#x44D;&#x43A;&#x448;&#x435;&#x43D;, &#x430; <strong>commit</strong> &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x439; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;.</p>
<p>&#x412; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x43D;&#x43E;&#x43C; &#x432;&#x44B;&#x448;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x43E;&#x431;&#x430; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x44F;&#x442; &#x43D;&#x43E;&#x432;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x432; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x43E;&#x432;, &#x43D;&#x43E; &#x44D;&#x43A;&#x448;&#x435;&#x43D; &#x441;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x435;&#x442; &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>sliceFruit(...)</code>. &#x415;&#x441;&#x43B;&#x438; &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43C;&#x430;&#x43D;&#x438;&#x43F;&#x443;&#x43B;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C;, &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x44F;&#x442;&#x44C; &#x438;&#x43B;&#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x44F;&#x442;&#x44C; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C;&#x44B;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;, <strong>&#x44D;&#x442;&#x43E; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x435;&#x442; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x432; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x435;</strong>, &#x430; &#x43D;&#x435; &#x432; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x435; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438;. &#x410; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C;, &#x438; &#x432;&#x43E;&#x43E;&#x431;&#x449;&#x435; &#x43F;&#x435;&#x440;&#x435;&#x434; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43A;&#x43E;&#x439; &#x432; Store, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x443;&#x436;&#x435; &#x434;&#x440;&#x443;&#x433;&#x430;&#x44F; &#x442;&#x435;&#x43C;&#x430;.</p>
<p>&#x412;&#x430;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x43C;&#x43D;&#x438;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; <strong>&#x43C;&#x43E;&#x433;&#x443;&#x442; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x430;&#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x435; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x44B;</strong>. &#x412; &#x442;&#x43E; &#x432;&#x440;&#x435;&#x43C;&#x44F; &#x43A;&#x430;&#x43A; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438; &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x438; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x434;&#x43B;&#x44F; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x44F;.</p>
<h3 id="getters">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x433;&#x435;&#x442;&#x442;&#x435;&#x440;&#x43E;&#x432; (getters)</h3>
<p>&#x413;&#x435;&#x442;&#x442;&#x435;&#x440;&#x44B; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44E;&#x442; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43F;&#x43E;&#x445;&#x43E;&#x436;&#x435; &#x43D;&#x430; &#x432;&#x44B;&#x447;&#x438;&#x441;&#x43B;&#x44F;&#x435;&#x43C;&#x44B;&#x435; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430;. &#x421; &#x442;&#x43E;&#x439; &#x43B;&#x438;&#x448;&#x44C; &#x440;&#x430;&#x437;&#x43D;&#x438;&#x446;&#x435;&#x439;, &#x447;&#x442;&#x43E; &#x43E;&#x43D;&#x438; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B; &#x433;&#x43B;&#x43E;&#x431;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x438;&#x437; &#x43B;&#x44E;&#x431;&#x43E;&#x433;&#x43E; &#x43C;&#x435;&#x441;&#x442;&#x430; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;. &#x412; &#x43D;&#x430;&#x448;&#x435;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x433;&#x435;&#x442;&#x442;&#x435;&#x440; <code>getApples</code> &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x442;&#x44C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;:</p>
<pre><code class="lang-html">&lt;template&gt;
    &lt;ul&gt;
        &lt;li v-for=&quot;apple in apples&quot; :key=&quot;apple.id&quot;&gt;
            {{ apple.name }}
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/template&gt;

&lt;script&gt;
export default {
    computed: {
        apples() {
            return this.$store.fruits.getters.getApples()
        },
    },
}
&lt;/script&gt;
</code></pre>
<br>
<h3 id="vuexmappers">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x43E;&#x432; Vuex (mappers)</h3>
<p>Vuex &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442; &#x43C;&#x430;&#x43F;&#x43F;&#x435;&#x440;&#x44B;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x43E; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x430; <code>this.$store</code> &#x43D;&#x430;&#x43F;&#x440;&#x43C;&#x44F;&#x43C;&#x443;&#x44E;. &#x414;&#x43B;&#x44F; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E;&#x433;&#x43E; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x442;&#x43E;&#x433;&#x43E;, &#x43A;&#x430;&#x43A; &#x438;&#x445; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;, &#x44F; &#x441;&#x43D;&#x43E;&#x432;&#x430; &#x43E;&#x431;&#x440;&#x430;&#x449;&#x430;&#x44E;&#x441;&#x44C; &#x43A; &#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x438; Vuex, &#x430; &#x43E;&#x441;&#x43E;&#x431;&#x435;&#x43D;&#x43D;&#x43E;, &#x43A; &#x440;&#x430;&#x437;&#x434;&#x435;&#x43B;&#x443; &#x43E; <a href="https://vuex.vuejs.org/api/?ref=badtry.net#component-binding-helpers" target="_blank">&#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x430;&#x445; &#x431;&#x438;&#x43D;&#x434;&#x438;&#x43D;&#x433;&#x430;</a>.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x437;&#x44F;&#x442;&#x44C; &#x442;&#x43E;&#x442; &#x436;&#x435; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x447;&#x442;&#x43E; &#x438; &#x432;&#x44B;&#x448;&#x435;, &#x43D;&#x43E; &#x441; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x43E;&#x432; &#x431;&#x438;&#x43D;&#x434;&#x438;&#x43D;&#x433;&#x430;, &#x442;&#x43E; &#x43A;&#x43E;&#x434; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x442;&#x44C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;:</p>
<pre><code class="lang-html">&lt;template&gt;
    &lt;ul&gt;
        &lt;li v-for=&quot;apple in apples&quot; :key=&quot;apple.id&quot;&gt;
            {{ apple.name }}
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/template&gt;

&lt;script&gt;
import { mapState } from &quot;vuex&quot;;

export default {
  computed: {
    ...mapState(&apos;fruits&apos;, [&apos;fruits&apos;]
  }
}
&lt;/script&gt;
</code></pre>
<br>
<p>&#x410; &#x435;&#x441;&#x43B;&#x438; &#x435;&#x449;&#x451; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x44B; &#x438; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x439;:</p>
<pre><code class="lang-js">&lt;script&gt;
import { mapActions, mapMutations } from &apos;vuex&apos;

export default {
    methods: {
        ...mapMutations(&apos;fruits&apos;, [&apos;removeFruit&apos;]),
        ...mapActions(&apos;fruits&apos;, [&apos;addFruit&apos;]),
        handleFruits() {
            const newFruit = {
                name: &apos;Pink Lady&apos;,
                type: &apos;Apple&apos;,
                id: 2,
            }

            // &#x412;&#x44B;&#x437;&#x43E;&#x432; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x430; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x430;
            this.addFruit(newFruit)

            // &#x412;&#x44B;&#x437;&#x43E;&#x432; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438; &#x443;&#x434;&#x430;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x444;&#x440;&#x443;&#x43A;&#x442;&#x430;
            this.removeFruit(newFruit.id)
        },
    },
}
&lt;/script&gt;
</code></pre>
<br>
<p>&#x41E;&#x434;&#x43D;&#x438;&#x43C; &#x438;&#x437; &#x43F;&#x440;&#x435;&#x438;&#x43C;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x43E;&#x432; &#x431;&#x438;&#x43D;&#x434;&#x438;&#x43D;&#x433;&#x430; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x44B; &#x441; &#x43C;&#x435;&#x43D;&#x44C;&#x448;&#x438;&#x43C; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E;&#x43C; &#x43A;&#x43E;&#x434;&#x430;. &#x42D;&#x442;&#x43E; &#x43E;&#x441;&#x43E;&#x431;&#x435;&#x43D;&#x43D;&#x43E; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E; &#x43F;&#x440;&#x438; &#x432;&#x44B;&#x437;&#x43E;&#x432;&#x435; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x430; &#x438;&#x43B;&#x438; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438; &#x43D;&#x435;&#x43F;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E; &#x432; &#x448;&#x430;&#x431;&#x43B;&#x43E;&#x43D;&#x435; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; (<code>template</code>).</p>
<pre><code class="lang-html">&lt;!-- &#x421; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x43E;&#x43C; &#x431;&#x438;&#x43D;&#x434;&#x438;&#x43D;&#x433;&#x430; --&gt;
&lt;template&gt;
    &lt;button @click=&quot;addFruit(fruit)&quot; /&gt;
&lt;/template&gt;

&lt;!-- &#x421; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x43E;&#x43C; $store--&gt;
&lt;template&gt;
    &lt;button @click=&quot;$store.addFruit(fruit)&quot; /&gt;
&lt;/template&gt;
</code></pre>
<br>
<p>&#x41E;&#x434;&#x43D;&#x438;&#x43C; &#x438;&#x437; &#x43D;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43A;&#x43E;&#x432; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; <strong>&#x43F;&#x43E;&#x442;&#x435;&#x440;&#x44F;&#x442;&#x44C;&#x441;&#x44F; &#x432;&#x438;&#x437;&#x443;&#x430;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x441;&#x432;&#x44F;&#x437;&#x44C;</strong> &#x441; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x435;&#x43C; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438; Store. &#x41D;&#x435; &#x43E;&#x447;&#x435;&#x432;&#x438;&#x434;&#x43D;&#x43E;, &#x43C;&#x435;&#x442;&#x43E;&#x434; <code>this.addFruit</code> &#x43E;&#x442;&#x43D;&#x43E;&#x441;&#x438;&#x442;&#x441;&#x44F; &#x43A; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x43C;&#x443; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x443; &#x438;&#x43B;&#x438; &#x43A; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x443; Vuex. &#x41F;&#x43E;&#x43F;&#x440;&#x43E;&#x431;&#x443;&#x439;&#x442;&#x435; &#x44D;&#x442;&#x438; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x44B; &#x438; &#x440;&#x435;&#x448;&#x438;&#x442;&#x435;, &#x447;&#x442;&#x43E; &#x432;&#x430;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x438;&#x442;. &#x412; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x445; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;&#x445; &#x432;&#x44B;, &#x441;&#x43A;&#x43E;&#x440;&#x435;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E;, &#x441;&#x442;&#x43E;&#x43B;&#x43A;&#x43D;&#x435;&#x442;&#x435;&#x441;&#x44C; &#x441; &#x43E;&#x431;&#x43E;&#x438;&#x43C;&#x438; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x430;&#x43C;&#x438;. &#x42D;&#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43E;&#x43F;&#x430;&#x441;&#x43D;&#x43E;, &#x438; &#x44F; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x44E; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x441;&#x442;&#x440;&#x435;&#x43C;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x43A; &#x43E;&#x434;&#x43D;&#x43E;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x43D;&#x43E;&#x43C;&#x443; &#x441;&#x442;&#x438;&#x43B;&#x44E;. &#x412;&#x44B;&#x44F;&#x441;&#x43D;&#x438;&#x442;&#x435;, &#x43A;&#x430;&#x43A; &#x432;&#x44B; &#x438;&#x43B;&#x438; &#x432;&#x430;&#x448;&#x430; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x430; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x435;&#x442; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43F;&#x43E;&#x434;&#x43E;&#x431;&#x43D;&#x44B;&#x435; &#x432;&#x435;&#x449;&#x438;, &#x438; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x44F;&#x439;&#x442;&#x435; &#x44D;&#x442;&#x43E; &#x432;&#x43E; &#x432;&#x441;&#x435;&#x445; &#x43C;&#x435;&#x441;&#x442;&#x430;&#x445; &#x432; &#x435;&#x434;&#x438;&#x43D;&#x43E;&#x43C; &#x441;&#x442;&#x438;&#x43B;&#x435;.</p>
<h2 id="nuxtserverinit">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; nuxtServerInit</h2>
<p>Nuxt &#x43F;&#x440;&#x435;&#x434;&#x43B;&#x430;&#x433;&#x430;&#x435;&#x442; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x44D;&#x43A;&#x448;&#x435;&#x43D;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43D;&#x430; &#x431;&#x435;&#x43A;&#x435;&#x43D;&#x434; (&#x434;&#x43E; &#x441;&#x442;&#x430;&#x440;&#x442;&#x430; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;), &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x43A;&#x430;&#x43A;&#x438;&#x435;-&#x442;&#x43E; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; (&#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; <a href="https://badtry.net/kak-nastroit-axios-v-prilozhienii-nuxt" target="_blank">axios</a>, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;), &#x438; &#x438;&#x445; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x442;&#x44C; &#x432; &#x43D;&#x430;&#x447;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; Vuex. &#x410; &#x437;&#x430;&#x442;&#x435;&#x43C;, &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x438;&#x437;&#x438;&#x440;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x441; &#x43A;&#x43B;&#x438;&#x435;&#x43D;&#x442;&#x43E;&#x43C;. &#x414;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x442;&#x440;&#x435;&#x431;&#x443;&#x435;&#x442;&#x441;&#x44F;, &#x447;&#x442;&#x43E;&#x431;&#x44B; Nuxt &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B; &#x432; &#x443;&#x43D;&#x438;&#x432;&#x435;&#x440;&#x441;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C; &#x440;&#x435;&#x436;&#x438;&#x43C;&#x435; (<code>universal</code>) &#x438; &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x44D;&#x43A;&#x448;&#x435;&#x43D; <code>nuxtServerInit</code> &#x431;&#x44B;&#x43B; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D; &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; <code>index.js</code>.</p>
<p>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x432;&#x437;&#x44F;&#x442; &#x43D;&#x435;&#x43F;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x43E; &#x438;&#x437; <a href="https://nuxtjs.org/docs/directory-structure/store/?ref=badtry.net#the-nuxtserverinit-action" target="_blank">&#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;&#x446;&#x438;&#x438; &#x44D;&#x43A;&#x448;&#x435;&#x43D;&#x430; nuxtServerInit</a>.</p>
<pre><code class="lang-js">// store/index.js

export const actions = {
    nuxtServerInit({ commit }, { req }) {
        if (req.session.user) {
            commit(&apos;user&apos;, req.session.user)
        }
    },
}
</code></pre>
<br>
<p>&#x41C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x447;&#x442;&#x43E; <code>nuxtServerInit</code> &#x43D;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x432; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F;&#x445; Vuex. &#x418; &#x442;&#x430;&#x43A; &#x43E;&#x43D;&#x43E; &#x438; &#x435;&#x441;&#x442;&#x44C; - &#x44D;&#x442;&#x43E;&#x442; &#x44D;&#x43A;&#x448;&#x435;&#x43D; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x435;&#x441;&#x43B;&#x438; &#x435;&#x433;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x432; <code>store/index.js</code>. &#x412; &#x434;&#x440;&#x443;&#x433;&#x438;&#x445; &#x436;&#x435; &#x434;&#x43E;&#x447;&#x435;&#x440;&#x43D;&#x438;&#x445; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F;&#x445; &#x43E;&#x43D; &#x41D;&#x415; &#x441;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x435;&#x442;. &#x418; &#x44D;&#x442;&#x43E; &#x43B;&#x43E;&#x433;&#x438;&#x447;&#x43D;&#x43E;, &#x432;&#x435;&#x434;&#x44C; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x439; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; 100500 &#x448;&#x442;&#x443;&#x43A;, &#x438; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x43C;&#x443; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x43E;&#x442;&#x440;&#x435;&#x431;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441; &#x43D;&#x430; &#x431;&#x435;&#x43A;&#x435;&#x43D;&#x434;, &#x447;&#x442;&#x43E; &#x441;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x437;&#x430;&#x442;&#x43E;&#x440;&#x43C;&#x43E;&#x437;&#x438;&#x442; &#x441;&#x442;&#x430;&#x440;&#x442; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;. &#x410; &#x43D;&#x430;&#x445;&#x43E;&#x436;&#x434;&#x435;&#x43D;&#x438;&#x435; &#x432;&#x441;&#x435;&#x439; &#x43B;&#x43E;&#x433;&#x438;&#x43A;&#x438; &#x432; <code>index.js</code> &#x444;&#x430;&#x439;&#x43B;&#x435; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x434;&#x435;&#x440;&#x436;&#x430;&#x442;&#x44C; &#x43F;&#x43E;&#x434; &#x43A;&#x43E;&#x43D;&#x442;&#x440;&#x43E;&#x43B;&#x435;&#x43C; &#x432;&#x441;&#x44E; &#x43A;&#x43E;&#x43C;&#x43F;&#x43B;&#x435;&#x43A;&#x441;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x43B;&#x43E;&#x433;&#x438;&#x43A;&#x438; &#x438;&#x43D;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x44F; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x438; &#x432;&#x438;&#x434;&#x435;&#x442;&#x44C; &#x432;&#x441;&#x435; &#x43D;&#x430;&#x447;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B;.</p>
<p>&#x41D;&#x43E;, &#x435;&#x441;&#x43B;&#x438; &#x432;&#x434;&#x443;&#x433; &#x432;&#x430;&#x43C; &#x43F;&#x43E;&#x43D;&#x430;&#x434;&#x43E;&#x431;&#x438;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x445; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x439; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x43D;&#x430; &#x431;&#x435;&#x43A;&#x435;&#x43D;&#x434;&#x435; &#x438; &#x437;&#x430;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x434;&#x43E; &#x441;&#x442;&#x430;&#x440;&#x442;&#x430; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;, &#x432;&#x44B;&#x445;&#x43E;&#x434; &#x435;&#x441;&#x442;&#x44C; :) &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43D;&#x443;&#x436;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x432;  <code>nuxtServerInit</code> (store/index.js), &#x430; &#x43F;&#x43E;&#x442;&#x43E;&#x43C; &#x43F;&#x43E;&#x43E;&#x447;&#x435;&#x440;&#x435;&#x434;&#x43D;&#x43E; &#x432;&#x44B;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x443;&#x442;&#x430;&#x446;&#x438;&#x438; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x433;&#x43E; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;&#x433;&#x43E; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x44F;:</p>
<p>&#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43A;&#x430;&#x43A; &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x438;&#x437; &#x43C;&#x43E;&#x435;&#x433;&#x43E; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;:</p>
<pre><code class="lang-js">// store/index.js
export const state = () =&gt; ({
  usdRate: 0.0,
})

export const mutations = {
  setUsdRate(state, usdRate) {
    state.usdRate = usdRate
  }
}

export const actions = {
  async nuxtServerInit ({ commit }) {
    const initParams = await this.$configService.getInitParams();
    commit(&apos;setUsdRate&apos;, initParams.usdRate)
    commit(&apos;user/setAuth&apos;, initParams.user)
    commit(&apos;user/setSubscriptions&apos;, initParams.subscriptions)

    const favorites = initParams.user.favorites
    commit(&apos;favorite/setFavoriteList&apos;, favorites)
  }
}
</code></pre>
<br>
<h2 id>&#x417;&#x430;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435;</h2>
<p>&#x420;&#x430;&#x431;&#x43E;&#x442;&#x430; &#x441; Vuex &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x430; &#x438; &#x443;&#x434;&#x43E;&#x431;&#x43D;&#x430;. Vuex &#x43E;&#x431;&#x435;&#x441;&#x43F;&#x435;&#x447;&#x438;&#x432;&#x430;&#x435;&#x442; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43C;&#x43E;&#x434;&#x443;&#x43B;&#x435;&#x439; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x441;&#x442;&#x440;&#x443;&#x43A;&#x442;&#x443;&#x440;&#x44B; &#x43F;&#x430;&#x43F;&#x43E;&#x43A; &#x438; &#x444;&#x430;&#x439;&#x43B;&#x43E;&#x432; &#x432; &#x43F;&#x430;&#x43F;&#x43A;&#x435; <code>store</code>. &#x412;&#x441;&#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43A;&#x441;&#x442;&#x430; <code>$store</code> &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E; &#x43F;&#x440;&#x438; &#x43E;&#x431;&#x440;&#x430;&#x449;&#x435;&#x43D;&#x438;&#x438; &#x43A; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x43B;&#x438;&#x449;&#x443; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x44F; &#x438;&#x437; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x43E;&#x432;. &#x41A;&#x440;&#x43E;&#x43C;&#x435; &#x44D;&#x442;&#x43E;&#x433;&#x43E;, &#x432; Nuxt &#x43D;&#x435;&#x442; &#x43D;&#x438;&#x43A;&#x430;&#x43A;&#x438;&#x445; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x444;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x445; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x43E;&#x432; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; Vuex &#x43F;&#x43E; &#x441;&#x440;&#x430;&#x432;&#x43D;&#x435;&#x43D;&#x438;&#x44E; &#x441; &#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x44B;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;&#x43C; Vue. Nuxt &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x441;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x43E;&#x442;&#x43E;&#x447;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x43D;&#x430; &#x440;&#x435;&#x430;&#x43B;&#x438;&#x437;&#x430;&#x446;&#x438;&#x438;, &#x430; &#x43D;&#x435; &#x43D;&#x430; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x43A;&#x435;.</p>
<p>&#x41D;&#x430;&#x434;&#x435;&#x44E;&#x441;&#x44C; &#x447;&#x442;&#x43E; &#x44D;&#x442;&#x430; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44F; &#x431;&#x44B;&#x43B;&#x430; &#x432;&#x430;&#x43C; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x430; &#x438; &#x432;&#x44B; &#x443;&#x437;&#x43D;&#x430;&#x43B;&#x438;, &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; Vuex &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt. &#x414;&#x443;&#x43C;&#x430;&#x44E;, &#x432;&#x44B; &#x43F;&#x43E;&#x434;&#x447;&#x435;&#x440;&#x43F;&#x43D;&#x443;&#x43B;&#x438; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x44B;&#x435; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x43A;&#x438; &#x438;&#x437; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438;. &#x423;&#x432;&#x435;&#x440;&#x435;&#x43D;, &#x447;&#x442;&#x43E; &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x443; &#x432;&#x430;&#x441; &#x43D;&#x435; &#x432;&#x43E;&#x437;&#x43D;&#x438;&#x43A;&#x430;&#x435;&#x442; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;, &#x43A;&#x430;&#x43A; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x437;&#x430;&#x43F;&#x440;&#x43E;&#x441;&#x44B; &#x43A; &#x431;&#x435;&#x43A;&#x435;&#x43D;&#x434;&#x443; <strong>&#x434;&#x43E; &#x437;&#x430;&#x433;&#x440;&#x443;&#x437;&#x43A;&#x438; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B;</strong> &#x438; &#x441;&#x438;&#x43D;&#x445;&#x440;&#x43E;&#x43D;&#x438;&#x437;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x43D;&#x438;&#x435; &#x431;&#x435;&#x43A;&#x435;&#x43D;&#x434;&#x430; &#x438; Nuxt &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Как работать с мета-данными в Nuxt]]></title><description><![CDATA[В этой статье приведены примеры работы с мета-тегами в приложении Nuxt. Как менять различные метаданные, динамически изменять теги, передавая из компонента]]></description><link>https://badtry.net/kak-rabotat-s-mieta-tieghami-v-prilozhienii-nuxt/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2378</guid><category><![CDATA[Nuxt]]></category><category><![CDATA[Vue Js]]></category><category><![CDATA[JavaScript]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 17 Oct 2021 16:02:06 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/10/meta-tags-nuxt.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h2 id>&#x427;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x43C;&#x435;&#x442;&#x430;-&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;?</h2>
<img src="https://badtry.net/content/images/2021/10/meta-tags-nuxt.jpg" alt="&#x41A;&#x430;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x43C;&#x435;&#x442;&#x430;-&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x432; Nuxt"><p>&#x421;&#x43D;&#x430;&#x447;&#x430;&#x43B;&#x430; &#x434;&#x430;&#x432;&#x430;&#x439;&#x442;&#x435; &#x43F;&#x43E;&#x433;&#x43E;&#x432;&#x43E;&#x440;&#x438;&#x43C; &#x43E; &#x442;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x443;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E; &#x43E; html-&#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x435; &#x432; &#x442;&#x435;&#x433;&#x430;&#x445; &lt;meta&gt;. &#x41C;&#x435;&#x442;&#x430;-&#x442;&#x435;&#x433;&#x438; &#x440;&#x430;&#x441;&#x43F;&#x43E;&#x43B;&#x430;&#x433;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x44D;&#x43B;&#x435;&#x43C;&#x435;&#x43D;&#x442;&#x430; &lt;head&gt; html-&#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;&#x430;. &#x41C;&#x435;&#x442;&#x430;&#x442;&#x435;&#x433;&#x438; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x442;&#x44C; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E; &#x43E; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x435;&#x43C;:</p>
<ul>
<li>&#x418;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44F; &#x434;&#x43B;&#x44F; &#x431;&#x440;&#x430;&#x443;&#x437;&#x435;&#x440;&#x430; &#x43E; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x430;&#x442;&#x44C; HTML-&#x434;&#x43E;&#x43A;&#x443;&#x43C;&#x435;&#x43D;&#x442;</li>
<li>&#x418;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43A;&#x446;&#x438;&#x438; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x432;&#x44B;&#x445; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C; &#x43E; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x43F;&#x440;&#x435;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x430;&#x442;&#x44C; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E;</li>
<li>&#x41E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435; &#x434;&#x43B;&#x44F; &#x43F;&#x43B;&#x430;&#x442;&#x444;&#x43E;&#x440;&#x43C; &#x441;&#x43E;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x441;&#x435;&#x442;&#x435;&#x439;, &#x43A;&#x430;&#x43A; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x430;&#x442;&#x44C; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E; &#x43F;&#x440;&#x438; &#x43F;&#x443;&#x431;&#x43B;&#x438;&#x43A;&#x430;&#x446;&#x438;&#x438; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x438; &#x432; &#x43E;&#x431;&#x449;&#x435;&#x43C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x435;.</li>
</ul>
<p>&#x41C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43D;&#x435; &#x432;&#x438;&#x434;&#x43D;&#x44B; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435;. &#x41E;&#x43D;&#x438; &#x430;&#x43D;&#x430;&#x43B;&#x438;&#x437;&#x438;&#x440;&#x443;&#x44E;&#x442;&#x441;&#x44F; &#x431;&#x440;&#x430;&#x443;&#x437;&#x435;&#x440;&#x43E;&#x43C; &#x438; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x432;&#x44B;&#x43C;&#x438; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&#x430;&#x43C;&#x438;. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C; &#x432;&#x435;&#x431;-&#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443; &#x438; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x432; &#x442;&#x435;&#x433;&#x435; &lt;head&gt; &#x432;&#x441;&#x435; &#x442;&#x435;&#x433;&#x438; &lt;meta&gt;, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x43D;&#x430; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435;. &#x414;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x43C;&#x435;&#x442;&#x430;&#x442;&#x435;&#x433;&#x43E;&#x432; &#x43D;&#x435; &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x441;&#x43A;&#x440;&#x44B;&#x442;&#x44B;&#x43C;&#x438; &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x441;&#x43C;&#x44B;&#x441;&#x43B;&#x435;.</p>
<h3 id>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x43C;&#x435;&#x442;&#x430;-&#x442;&#x435;&#x433;&#x43E;&#x432;</h3>
<pre><code class="lang-html">&lt;head&gt;
    &lt;title&gt;Current title&lt;/title&gt;
    &lt;meta charset=&quot;UTF-8&quot; /&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot; /&gt;
    &lt;meta name=&quot;description&quot; content=&quot;&#x42D;&#x442;&#x43E; &#x43C;&#x43E;&#x451; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x432;&#x438;&#x434;&#x43D;&#x43E; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430;&#x445; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x43E;&#x432; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x432;&#x44B;&#x445; &#x441;&#x438;&#x441;&#x442;&#x435;&#x43C;&quot; /&gt;
    &lt;meta name=&quot;author&quot; content=&quot;Badcode.ru&quot; /&gt;
&lt;/head&gt;</code></pre>
<br>
<p>&#x422;&#x435;&#x445;&#x43D;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x442;&#x435;&#x433; &lt;title&gt; &#x43D;&#x435; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43C;&#x435;&#x442;&#x430;&#x442;&#x435;&#x433;&#x43E;&#x43C;. &#x415;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x442;&#x43E; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;&#x438;, &#x438; &#x43E;&#x43D; &#x432;&#x43B;&#x438;&#x44F;&#x435;&#x442; &#x43D;&#x430; SEO &#x438; &#x443;&#x434;&#x43E;&#x431;&#x441;&#x442;&#x432;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x44F; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x443;&#x44E; &#x43E;&#x442;&#x43D;&#x43E;&#x441;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x43A; &#x43D;&#x435;&#x43C;&#x443; &#x438;&#x43C;&#x435;&#x43D;&#x43D;&#x43E; &#x442;&#x430;&#x43A;.</p>
<p>&#x41F;&#x43E;&#x43B;&#x43D;&#x44B;&#x439; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B;&#x445; HTML &#x43C;&#x435;&#x442;&#x430;&#x442;&#x435;&#x433;&#x43E;&#x432; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C; &#x43D;&#x430; <a href="https://gist.github.com/lancejpollard/1978404?ref=badtry.net" target="_blank">&#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435;</a>.</p>
<h3 id="opengraph">&#x427;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; Open Graph?</h3>
<p><strong>Open Graph</strong> - &#x44D;&#x442;&#x43E; &#x43F;&#x440;&#x43E;&#x442;&#x43E;&#x43A;&#x43E;&#x43B;, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; Facebook. &#x421; &#x446;&#x435;&#x43B;&#x44C;&#x44E; &#x441;&#x442;&#x440;&#x443;&#x43A;&#x442;&#x443;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x438; &#x43E; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x430;&#x445;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C;&#x438; &#x434;&#x435;&#x43B;&#x44F;&#x442;&#x441;&#x44F; &#x43D;&#x430; &#x43F;&#x43B;&#x430;&#x442;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x445; &#x441;&#x43E;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x441;&#x435;&#x442;&#x435;&#x439;. &#x422;&#x435;&#x433;&#x438; &#x434;&#x430;&#x44E;&#x442; &#x430;&#x432;&#x442;&#x43E;&#x440;&#x443; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x440;&#x435;&#x448;&#x430;&#x442;&#x44C;, &#x43A;&#x430;&#x43A;&#x43E;&#x439; &#x43A;&#x43E;&#x43D;&#x442;&#x435;&#x43D;&#x442; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43D; &#x432; &#x43F;&#x440;&#x435;&#x434;&#x432;&#x430;&#x440;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C; &#x43F;&#x440;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435; &#x43F;&#x440;&#x438; &#x43E;&#x431;&#x43C;&#x435;&#x43D;&#x435; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x43E;&#x439;.</p>
<p>&#x41C;&#x435;&#x442;&#x430;&#x442;&#x435;&#x433;&#x438; Open Graph &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x44E;&#x442; &#x43A; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x443; &#x43F;&#x440;&#x435;&#x444;&#x438;&#x43A;&#x441; <code>og:</code>. &#x423; Twitter &#x442;&#x430;&#x43A;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x438; &#x441;&#x43E;&#x431;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x442;&#x435;&#x433;&#x438; &#x434;&#x43B;&#x44F; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x438;&#x44F; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;. &#x412;&#x43C;&#x435;&#x441;&#x442;&#x43E; <code>og:</code> &#x43E;&#x43D;&#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x442; <code>twitter:</code>. &#x41D;&#x43E; Twitter &#x442;&#x430;&#x43A;&#x436;&#x435; &#x440;&#x430;&#x441;&#x43F;&#x43E;&#x437;&#x43D;&#x430;&#x451;&#x442; <code>og</code> &#x442;&#x435;&#x433;&#x438; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x437;&#x430;&#x43F;&#x430;&#x441;&#x43D;&#x43E;&#x433;&#x43E; &#x432;&#x430;&#x440;&#x438;&#x430;&#x43D;&#x442;&#x430;, &#x435;&#x441;&#x43B;&#x438; &#x442;&#x435;&#x433;&#x438; <code>twitter:*</code> &#x43D;&#x435; &#x431;&#x44B;&#x43B;&#x438; &#x43D;&#x430;&#x439;&#x434;&#x435;&#x43D;&#x44B;.</p>
<pre><code class="lang-html">&lt;head&gt;
    &lt;meta property=&quot;og:title&quot; content=&quot;&#x422;&#x435;&#x43A;&#x443;&#x449;&#x438;&#x439; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A;&quot; /&gt;
    &lt;meta property=&quot;og:description&quot; content=&quot;&#x41E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435;. &#x41C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x43C; &#x436;&#x435;, &#x43A;&#x430;&#x43A; meta description&quot; /&gt;
    &lt;meta property=&quot;og:image&quot; content=&quot;https://badcode.ru/content/images/2020/01/cover-1.jpg&quot; /&gt;
    &lt;meta property=&quot;og:url&quot; content=&quot;https://badcode.ru/&quot; /&gt;
&lt;/head&gt;</code></pre>
<br>
<p><strong>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x441; &#x442;&#x435;&#x433;&#x430;&#x43C;&#x438; Twitter</strong></p>
<pre><code class="lang-html">&lt;head&gt;
    &lt;meta name=&quot;twitter:card&quot; content=&quot;summary&quot; /&gt;
    &lt;meta name=&quot;twitter:creator&quot; content=&quot;@true_hero99&quot; /&gt;
    &lt;meta name=&quot;twitter:description&quot; content=&quot;&#x41E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435;. &#x41C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x43C; &#x436;&#x435;, &#x43A;&#x430;&#x43A; meta description&quot; /&gt;
&lt;/head&gt;</code></pre>
<br>
<h2 id="nuxt">&#x41A;&#x430;&#x43A; &#x443;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x432; Nuxt</h2>
<p>&#x418;&#x442;&#x430;&#x43A;, &#x442;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43C;&#x44B; &#x437;&#x43D;&#x430;&#x435;&#x43C;, &#x447;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x43C;&#x435;&#x442;&#x430;-&#x442;&#x435;&#x433;&#x438; &#x438; &#x43A;&#x430;&#x43A; &#x43E;&#x43D;&#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x438; &#x43E; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x441;&#x430;&#x439;&#x442;&#x435;. &#x41D;&#x43E; &#x43A;&#x430;&#x43A; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; <strong>&#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x43C;&#x435;&#x442;&#x430;-&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;</strong> &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt? &#x414;&#x43E;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x43C;, &#x443; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x431;&#x43B;&#x43E;&#x433;. &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x44D;&#x442;&#x43E;&#x442;. &#x413;&#x434;&#x435; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x438; &#x438; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x44F;, &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438;.</p>
<p>&#x412; Nuxt &#x443; &#x432;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C;&#x443; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x443; &#x43F;&#x43E;&#x434; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; <code>head</code>. &#x421;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>head</code> &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x442;&#x430;&#x43A; &#x436;&#x435;, &#x43A;&#x430;&#x43A; &#x438; &#x432;&#x441;&#x435; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;. &#x41D;&#x430; &#x442;&#x43E;&#x43C; &#x436;&#x435; &#x443;&#x440;&#x43E;&#x432;&#x43D;&#x435;, &#x447;&#x442;&#x43E; &#x438; <code>data</code>, <code>fetch</code>, <code>methods</code> &#x438; &#x442;.&#x434;. &#x41E;&#x43D;&#x43E; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43A;&#x430;&#x43A; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43E;&#x43C;, &#x442;&#x430;&#x43A; &#x438; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x435;&#x439;. &#x421;&#x43A;&#x43E;&#x440;&#x43E; &#x44F; &#x43E;&#x431;&#x44A;&#x44F;&#x441;&#x43D;&#x44E; &#x440;&#x430;&#x437;&#x43D;&#x438;&#x446;&#x443;.</p>
<p>&#x421; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; <code>head</code> &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x438; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B; &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;. &#x412;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; <code>head</code> &#x434;&#x43B;&#x44F; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x438; &#x432;&#x441;&#x435;&#x433;&#x43E;, &#x447;&#x442;&#x43E; &#x441;&#x432;&#x44F;&#x437;&#x430;&#x43D;&#x43E; &#x441; &#x442;&#x435;&#x433;&#x43E;&#x43C; &lt;head&gt;. &#x422;&#x43E; &#x435;&#x441;&#x442;&#x44C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x442;&#x44C; &#x442;&#x430;&#x431;&#x43B;&#x438;&#x446;&#x44B; &#x441;&#x442;&#x438;&#x43B;&#x435;&#x439;, &#x442;&#x435;&#x433;&#x438; &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x43E;&#x432;, &#x442;&#x435;&#x433;&#x438; &#x441;&#x441;&#x44B;&#x43B;&#x43E;&#x43A; &#x438; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x435; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x435;. &#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x441;&#x43E;&#x441;&#x440;&#x435;&#x434;&#x43E;&#x442;&#x43E;&#x447;&#x443;&#x441;&#x44C; &#x43D;&#x430; &#x447;&#x430;&#x441;&#x442;&#x438; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x43D;&#x43E; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E; &#x437;&#x43D;&#x430;&#x442;&#x44C; &#x438; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435;.</p>
<h3 id="head">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; head</h3>
<p>&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x432; <code>head</code> &#x438;&#x437; &#x43B;&#x44E;&#x431;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430; Vue. &#x427;&#x430;&#x449;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E; <code>head</code> &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x43E;&#x432; &#x432;&#x430;&#x448;&#x438;&#x445; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;. &#x41D;&#x435; &#x442;&#x430;&#x43A; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x432;&#x441;&#x442;&#x440;&#x435;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x434;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x438;&#x437; &#x43F;&#x43E;&#x434;&#x43A;&#x43B;&#x44E;&#x447;&#x430;&#x435;&#x43C;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x43D;&#x430; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x445; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x430;&#x445;. &#x41D;&#x43E; &#x44D;&#x442;&#x43E; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;. &#x418;&#x442;&#x430;&#x43A;, &#x443; &#x43D;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;, &#x438; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;. &#x412;&#x441;&#x451;, &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C;, &#x44D;&#x442;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>head</code> &#x438; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C; &#x43D;&#x443;&#x436;&#x43D;&#x44B;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;.</p>
<p>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x43C; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x438; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435;.</p>
<pre><code class="lang-js">export default {
    head: {
        title: &apos;&#x41C;&#x43E;&#x439; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A;&apos;,
        meta: [
            {
                hid: &apos;description&apos;,
                name: &apos;description&apos;,
                content: &apos;&#x41C;&#x43E;&#x451; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435;... Badcode.ru...&apos;,
            },
        ],
    },
}</code></pre>
<br>
<p>&#x41A;&#x430;&#x43A; &#x44F; &#x443;&#x436;&#x435; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x438;&#x43B;, &#x442;&#x435;&#x433; <code>title</code> &#x43D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435; &#x43D;&#x435; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x43C;&#x435;&#x442;&#x430;-&#x442;&#x435;&#x433;&#x43E;&#x43C;. &#x41F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43E;&#x43D; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x43D;&#x435; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x430; &#x442;&#x435;&#x433;&#x43E;&#x432; <code>meta</code>. &#x415;&#x441;&#x43B;&#x438; &#x43C;&#x44B; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x43C; &#x43D;&#x430; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>description</code>, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x437;&#x430;&#x434;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; <strong>&#x44D;&#x442;&#x43E; &#x437;&#x430; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; <code>hid</code></strong>. &#x42D;&#x442;&#x43E; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x444;&#x438;&#x447;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; Nuxt &#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x43A;&#x430;&#x43A; &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x438;&#x434;&#x435;&#x43D;&#x442;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x442;&#x43E;&#x440;, &#x431;&#x43B;&#x430;&#x433;&#x43E;&#x434;&#x430;&#x440;&#x44F; &#x447;&#x435;&#x43C;&#x443; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x437;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x44B; &#x434;&#x43E;&#x447;&#x435;&#x440;&#x43D;&#x438;&#x43C;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;&#x43C;&#x438;. &#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x435;&#x441;&#x43B;&#x438; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435; &#x432; &#x434;&#x43E;&#x447;&#x435;&#x440;&#x43D;&#x435;&#x43C; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x435;, &#x43C;&#x44B; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x43E; &#x436;&#x435; &#x441;&#x430;&#x43C;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; <strong>hid</strong>.</p>
<p>&#x41F;&#x440;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x438; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x43A;&#x430;&#x43A; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43E; &#x432;&#x44B;&#x448;&#x435;, &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; <code>title</code> &#x438; <code>description</code> &#x43C;&#x44B; &#x437;&#x430;&#x434;&#x430;&#x43B;&#x438; &#x441;&#x442;&#x430;&#x442;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;. &#x418; &#x435;&#x441;&#x43B;&#x438; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x442;&#x430;&#x442;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x443;&#x44E; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E;, &#x43C;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x44F;&#x442;&#x44C; head &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x430;, &#x43A;&#x430;&#x43A; &#x432;&#x44B;&#x448;&#x435;. &#x41D;&#x43E; &#x435;&#x441;&#x43B;&#x438; &#x43C;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x43C; <strong>&#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;</strong>, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, <code>title</code> &#x438; <code>description</code> &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x439; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x438; &#x431;&#x43B;&#x43E;&#x433;&#x430;, &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; <strong><code>head</code> &#x43A;&#x430;&#x43A; &#x43C;&#x435;&#x442;&#x43E;&#x434;</strong>.</p>
<p>&#x41F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44C;&#x442;&#x435; &#x43C;&#x43D;&#x435; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C; &#x432;&#x430;&#x43C;, &#x43A;&#x430;&#x43A; &#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B; &#x431;&#x44B; <code>head</code> &#x434;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x439; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x438; &#x432; &#x431;&#x43B;&#x43E;&#x433;&#x435;.</p>
<pre><code class="lang-js">head() {
    return {
        title: this.article.title,
        meta: [
            {
                hid: &apos;description&apos;,
                name: &apos;description&apos;,
                content: this.article.description,
            },
            {
                hid: &apos;og:title&apos;,
                name: &apos;og:title&apos;,
                content: this.article.title,
            },
            {
                hid: &apos;og:image&apos;,
                property: &apos;og:image&apos;,
                content: `${this.article.image}`,
            },
            {
                hid: &apos;og:description&apos;,
                property: &apos;og:description&apos;,
                content: this.article.description,
            },
            {
                hid: &apos;og:url&apos;,
                property: &apos;og:url&apos;,
                content: `https://badcode.ru/${this.article.slug}`,
            },
        ],
    }
},</code></pre>
<br>
<p>&#x417;&#x434;&#x435;&#x441;&#x44C; &#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E; <code>head</code> &#x43A;&#x430;&#x43A; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x442; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;. &#x42F; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x430;&#x432;&#x43B;&#x438;&#x432;&#x430;&#x44E; &#x432;&#x441;&#x435; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x438; &#x43E; &#x442;&#x435;&#x43A;&#x443;&#x449;&#x435;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;. &#x42D;&#x442;&#x43E; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x438;&#x445; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x43D;&#x44B;&#x43C;&#x438; &#x438; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x43C;&#x438; &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B;.</p>
<h2 id="nuxtconfig">&#x423;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x430; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x432; nuxt.config</h2>
<p>&#x423; &#x432;&#x430;&#x441; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x43A; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x443; <code>head</code> &#x432; &#x444;&#x430;&#x439;&#x43B;&#x435; <code>nuxt.config.js</code>. &#x417;&#x434;&#x435;&#x441;&#x44C; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x43F;&#x43E; &#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E; &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x435;&#x445; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;. &#x42D;&#x442;&#x43E; &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x43E;, &#x435;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43D;&#x435; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x43A;&#x43E;&#x43F;&#x438;&#x43F;&#x430;&#x441;&#x442;&#x438;&#x442;&#x44C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x44B;&#x435; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x44B; &#x432;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F;.</p>
<p>&#x412;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; <strong>&#x448;&#x430;&#x431;&#x43B;&#x43E;&#x43D; &#x434;&#x43B;&#x44F; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43A;&#x430;</strong>. &#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x445;&#x43E;&#x442;&#x438;&#x442;&#x435;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x43D;&#x430; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x441;&#x430;&#x439;&#x442;&#x435; &#x437;&#x430;&#x43A;&#x430;&#x43D;&#x447;&#x438;&#x432;&#x430;&#x43B;&#x441;&#x44F;, &#x43D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x435;&#x43C; &#x432;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x441;&#x430;&#x439;&#x442;&#x430;. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x43E; &#x437;&#x434;&#x435;&#x441;&#x44C; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; <code>titleTemplate</code>.</p>
<pre><code class="lang-js">head: {
    title: &apos;&#x41C;&#x43E;&#x439; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x43F;&#x43E;-&#x443;&#x43C;&#x43E;&#x43B;&#x447;&#x430;&#x43D;&#x438;&#x44E;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x43F;&#x435;&#x440;&#x435;&#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x438;&#x442;&#x44C;, &#x435;&#x441;&#x43B;&#x438; &#x447;&#x442;&#x43E;&apos;,
    titleTemplate: &apos;%s - badcode.ru&apos;,
    meta: [
        ...
    ]
}</code></pre>
<br>
<p>&#x422;&#x435;&#x43F;&#x435;&#x440;&#x44C; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x442;&#x435;&#x433; <code>title</code> &#x431;&#x443;&#x434;&#x435;&#x442; &#x437;&#x430;&#x43A;&#x430;&#x43D;&#x447;&#x438;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43D;&#x430; - <strong>badcode.ru</strong>. &#x421;&#x438;&#x43C;&#x432;&#x43E;&#x43B; %s &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x444;&#x438;&#x43A;&#x430;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x43F;&#x440;&#x435;&#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x43E;&#x442;&#x43E;&#x43C; &#x431;&#x443;&#x434;&#x435;&#x442; &#x437;&#x430;&#x43C;&#x435;&#x43D;&#x451;&#x43D; &#x43D;&#x430; &#x437;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; <code>title</code>.</p>
<h2 id="usemeta">&#x418;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;&#x430; useMeta</h2>
<p>&#x41D;&#x435;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x44F; &#x43D;&#x430; &#x442;&#x43E;, &#x447;&#x442;&#x43E; Nuxt 3 &#x435;&#x449;&#x435; &#x43D;&#x435; &#x432;&#x44B;&#x43F;&#x443;&#x449;&#x435;&#x43D;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43D;&#x43E;&#x432;&#x44B;&#x435; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x438;, &#x441;&#x432;&#x44F;&#x437;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x441; Vue 3. &#x41D;&#x430;&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440; <code>useMeta</code>. &#x411;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x443;&#x44E; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44E; &#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;&#x442;&#x435; &#x432; <a href="https://composition-api.nuxtjs.org/?ref=badtry.net" target="_blank">Nuxt Composion API Module</a>.</p>
<p>&#x425;&#x435;&#x43B;&#x43F;&#x435;&#x440; <code>useMeta</code> &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x432; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x435; <code>setup()</code>. &#x427;&#x442;&#x43E; &#x443;&#x43F;&#x440;&#x43E;&#x449;&#x430;&#x435;&#x442; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x443; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x445; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x438; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x44F;&#x432;&#x43D;&#x43E; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;, &#x43A;&#x430;&#x43A;&#x438;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x442;&#x441;&#x44F;. &#x427;&#x442;&#x43E;&#x431;&#x44B; &#x437;&#x430;&#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C; <code>useMeta</code>, &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x438;&#x43C;&#x43F;&#x43E;&#x440;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440; &#x438; &#x437;&#x430;&#x434;&#x430;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x443; <code>head</code> &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x43F;&#x443;&#x441;&#x442;&#x43E;&#x439; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;. &#x411;&#x430;&#x437;&#x43E;&#x432;&#x44B;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x43C;&#x43E;&#x436;&#x435;&#x442; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x442;&#x44C; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;.</p>
<pre><code class="lang-js">import { defineComponent, useMeta } from &apos;@nuxtjs/composition-api&apos;

export default defineComponent({
    head: {},
    setup() {
        useMeta({
            title: &apos;&#x41C;&#x43E;&#x439; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A;&apos;,
            meta: [
                {
                    hid: &apos;description&apos;,
                    name: &apos;description&apos;,
                    content: &apos;&#x41C;&#x43E;&#x451; &#x43E;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x435;...&apos;,
                },
            ],
        })
    },
})</code></pre>
<br>
<p>&#x42D;&#x442;&#x43E; &#x438;&#x437;&#x44F;&#x449;&#x43D;&#x44B;&#x439; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x432;&#x43E;&#x438;&#x445; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;. &#x41D;&#x43E; &#x43E;&#x43D; &#x43D;&#x438;&#x447;&#x435;&#x43C; &#x43D;&#x435; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x442; &#x43F;&#x440;&#x44F;&#x43C;&#x43E;&#x433;&#x43E; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x432; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x435; <code>head</code>. <code>useMeta</code> - &#x44D;&#x442;&#x43E; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440;. &#x412;&#x44B; &#x442;&#x430;&#x43A; &#x436;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x442; &#x445;&#x435;&#x43B;&#x43F;&#x435;&#x440; <code>useMeta</code> &#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x438;&#x445; &#x43D;&#x430;&#x43F;&#x440;&#x44F;&#x43C;&#x443;&#x44E;.</p>
<pre><code class="lang-js">import { defineComponent, useMeta } from &apos;@nuxtjs/composition-api&apos;

export default defineComponent({
    head: {},
    setup() {
        const { title } = useMeta()
        title.value = &apos;&#x41C;&#x43E;&#x439; &#x43F;&#x435;&#x440;&#x435;&#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x44B;&#x439; &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A;&apos;
    },
})</code></pre>
<br>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; <code>title</code> &#x432; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x435; <code>setup</code>. &#x41C;&#x44B; &#x442;&#x430;&#x43A;&#x436;&#x435; &#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E; <code>meta</code> &#x438; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x43A; <code>description</code> &#x438; &#x432;&#x441;&#x435;&#x43C; &#x43C;&#x435;&#x442;&#x430;-&#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430;&#x43C;, &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B;&#x43C; &#x432; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x435; <code>meta</code>.</p>
<p>&#x427;&#x442;&#x43E; &#x435;&#x441;&#x43B;&#x438; &#x44F; &#x437;&#x430;&#x445;&#x43E;&#x447;&#x443; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438; &#x432;&#x43D;&#x435;&#x441;&#x442;&#x438; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x432; <code>title</code> (&#x438;&#x43B;&#x438; &#x43B;&#x44E;&#x431;&#x44B;&#x435; &#x434;&#x440;&#x443;&#x433;&#x438;&#x435; &#x43C;&#x435;&#x442;&#x430;-&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;) &#x438;&#x437;&#x432;&#x43D;&#x435; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x430; <code>setup</code>? &#x412;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;, &#x437;&#x430;&#x433;&#x43E;&#x43B;&#x43E;&#x432;&#x43E;&#x43A; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x43C;&#x435;&#x43D;&#x44F;&#x442;&#x44C;&#x441;&#x44F; &#x432; &#x437;&#x430;&#x432;&#x438;&#x441;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x43E;&#x442; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x439; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44F; &#x43D;&#x430; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x435;. &#x41D;&#x430;&#x448; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; title &#x440;&#x435;&#x434;&#x430;&#x43A;&#x442;&#x438;&#x440;&#x443;&#x435;&#x43C;&#x44B;&#x43C; &#x432; &#x43C;&#x435;&#x442;&#x43E;&#x434;&#x435; <code>setup</code>. &#x41D;&#x43E; &#x44D;&#x442;&#x43E;&#x442; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434; &#x43D;&#x435; &#x434;&#x430;&#x451;&#x442; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; title &#x438;&#x437; &#x43A;&#x43E;&#x434;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;.</p>
<p>&#x414;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x43D;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x443;&#x44E; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E; &#x438; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x430;&#x442;&#x44C; &#x435;&#x451; &#x432; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; <code>useMeta</code>. &#x412;&#x435;&#x440;&#x43D;&#x443;&#x432; &#x440;&#x435;&#x430;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x443;&#x44E; &#x43F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x43D;&#x443;&#x44E;, &#x43C;&#x44B; &#x441;&#x43C;&#x43E;&#x436;&#x435;&#x43C; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x43A; &#x43D;&#x435;&#x439; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F; &#x438;&#x437; &#x43D;&#x430;&#x448;&#x435;&#x433;&#x43E; &#x448;&#x430;&#x431;&#x43B;&#x43E;&#x43D;&#x430; &#x438; &#x434;&#x440;&#x443;&#x433;&#x438;&#x445; &#x447;&#x430;&#x441;&#x442;&#x435;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x43E;&#x43D;&#x435;&#x43D;&#x442;&#x430;.</p>
<pre><code class="lang-html">&lt;template&gt;
    &lt;div&gt;
        &lt;button @click=&quot;title = &apos;New title&apos;&quot;&gt;&#x418;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; title&lt;/button&gt;
        &lt;button @click=&quot;title = &apos;Another new title&apos;&quot;&gt;&#x418;&#x437;&#x43C;&#x435;&#x43D;&#x438;&#x442;&#x44C; title again&lt;/button&gt;
    &lt;/div&gt;
&lt;/template&gt;

&lt;script lang=&quot;ts&quot;&gt;
import { defineComponent, useMeta, ref } from &apos;@nuxtjs/composition-api&apos;

export default defineComponent({
    head: {},
    setup() {
        const title = ref(&apos;&apos;)
        useMeta(() =&gt; ({ title: title.value }))

        return {
            title,
        }
    },
})
&lt;/script&gt;
</code></pre>
<br>
<h2 id>&#x420;&#x435;&#x437;&#x44E;&#x43C;&#x435;</h2>
<p>&#x41C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x438;&#x43C;&#x435;&#x44E;&#x442; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x43E;&#x435; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x435; &#x432; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x442;&#x44C; &#x432;&#x430;&#x448; &#x441;&#x430;&#x439;&#x442; &#x432; &#x433;&#x43B;&#x430;&#x437;&#x430;&#x445; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x43E;&#x432;&#x44B;&#x445; &#x43C;&#x430;&#x448;&#x438;&#x43D;, &#x43F;&#x43B;&#x430;&#x442;&#x444;&#x43E;&#x440;&#x43C; &#x441;&#x43E;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x441;&#x435;&#x442;&#x435;&#x439; &#x438; &#x432;&#x430;&#x448;&#x438;&#x445; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x439;. &#x412;&#x430;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x44C; &#x44D;&#x442;&#x438; &#x43A;&#x43E;&#x43D;&#x446;&#x435;&#x43F;&#x446;&#x438;&#x438; &#x438; &#x442;&#x43E;, &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x441; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x43C;&#x438; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;&#x438;. &#x41D;&#x430;&#x434;&#x435;&#x44E;&#x441;&#x44C;, &#x44D;&#x442;&#x430; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x44F; &#x43F;&#x440;&#x43E;&#x44F;&#x441;&#x43D;&#x438;&#x43B;&#x430; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x438;&#x44F;, &#x438; &#x432;&#x44B; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x43B;&#x438; &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;&#x438; &#x432; &#x432;&#x430;&#x448;&#x435;&#x43C; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438;.</p>
<p>&#x41E;&#x447;&#x435;&#x43D;&#x44C; &#x440;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x43D;&#x43E;&#x439; &#x43F;&#x440;&#x430;&#x43A;&#x442;&#x438;&#x43A;&#x43E;&#x439; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x439; &#x432;&#x441;&#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;&#x438;. &#x41F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x43C;&#x435;&#x442;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x44E;&#x442; &#x441;&#x43E;&#x431;&#x43E;&#x439; &#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x44B;&#x439; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;, &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x432;&#x43E;&#x437;&#x432;&#x440;&#x430;&#x449;&#x430;&#x435;&#x442; &#x43C;&#x435;&#x442;&#x430;&#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x432;&#x445;&#x43E;&#x434;&#x43D;&#x44B;&#x445; &#x43F;&#x430;&#x440;&#x430;&#x43C;&#x435;&#x442;&#x440;&#x43E;&#x432;. &#x42D;&#x442;&#x43E; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x438;&#x445; &#x435;&#x449;&#x451; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x43D;&#x44B;&#x43C;&#x438; &#x438; &#x43E;&#x431;&#x43B;&#x435;&#x433;&#x447;&#x430;&#x435;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; &#x43C;&#x435;&#x442;&#x430;&#x442;&#x435;&#x433;&#x430;&#x43C;&#x438; &#x43D;&#x430; &#x43C;&#x43D;&#x43E;&#x436;&#x435;&#x441;&#x442;&#x432;&#x435; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446; &#x432; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x438; Nuxt.</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Генерируем пиксельные изображения с помощью PHP (генератор аватарок и пиксельных городов)]]></title><description><![CDATA[Разбираемся, как в PHP генерировать графику, создавать аватарки, или даже целые города. Погружаемся в генеративное искусство на PHP.]]></description><link>https://badtry.net/gienieriruiem-piksielnyie-izobrazhieniia-s-pomoshchiu-php-ghienierator-avatarok-i-piksielnykh-ghorodov-ghienierativnyi-art-php/</link><guid isPermaLink="false">62a6324e0f555f2eef8c2375</guid><category><![CDATA[php]]></category><category><![CDATA[графика]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Fri, 15 Oct 2021 13:20:20 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/10/preview.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/10/preview.jpg" alt="&#x413;&#x435;&#x43D;&#x435;&#x440;&#x438;&#x440;&#x443;&#x435;&#x43C; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP (&#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A; &#x438; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x43E;&#x432;)"><p>&#x41F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x435; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43D;&#x435;&#x434;&#x435;&#x43B;&#x44C; &#x44F; &#x44D;&#x43A;&#x441;&#x43F;&#x435;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43B; &#x441; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x43C; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x43E;&#x43C;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; PHP. <strong>&#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x435; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x43E;</strong> - &#x44D;&#x442;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x43F;&#x440;&#x43E;&#x438;&#x437;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x438;&#x439; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x43C;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;. &#x423; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430; &#x435;&#x441;&#x442;&#x44C; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x435; &#x43D;&#x430;&#x437;&#x432;&#x430;&#x43D;&#x438;&#x44F;, &#x442;&#x430;&#x43A;&#x438;&#x435; &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x434;&#x443;&#x440;&#x43D;&#x43E;&#x435; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x43E; &#x438;&#x43B;&#x438; &#x43A;&#x440;&#x435;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x435; &#x43A;&#x43E;&#x434;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;.</p>
<p>PHP &#x43D;&#x435; &#x44F;&#x432;&#x43B;&#x44F;&#x435;&#x442;&#x441;&#x44F; &#x440;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x43D;&#x44B;&#x43C; &#x44F;&#x437;&#x44B;&#x43A;&#x43E;&#x43C; &#x434;&#x43B;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430;, JavaScript - &#x43E;&#x434;&#x438;&#x43D; &#x438;&#x437; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x440;&#x430;&#x441;&#x43F;&#x440;&#x43E;&#x441;&#x442;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x43D;&#x44B;&#x445; &#x432;&#x430;&#x440;&#x438;&#x430;&#x43D;&#x442;&#x43E;&#x432;, &#x43D;&#x43E; &#x43D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43B;&#x44E;&#x431;&#x43E;&#x439; &#x44F;&#x437;&#x44B;&#x43A; &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x43C;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C;&#x443; &#x434;&#x43E;&#x441;&#x442;&#x443;&#x43F;&#x43D;&#x44B; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x438; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;&#x43C;&#x438; &#x438; &#x444;&#x430;&#x439;&#x43B;&#x430;&#x43C;&#x438;.</p>
<p>&#x42F; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x43B; PHP, &#x43F;&#x43E; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x438;&#x43C; &#x43F;&#x440;&#x438;&#x447;&#x438;&#x43D;&#x430;&#x43C;. &#x412;&#x43E;-&#x43F;&#x435;&#x440;&#x432;&#x44B;&#x445;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x437;&#x43D;&#x430;&#x44E; &#x435;&#x433;&#x43E; &#x434;&#x43E;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x43E; &#x438; &#x43C;&#x43E;&#x433;&#x443; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E; &#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x43A;&#x43E;&#x434; &#x43D;&#x430; &#x43D;&#x451;&#x43C;, &#x430; &#x432;&#x43E;-&#x432;&#x442;&#x43E;&#x440;&#x44B;&#x445; (&#x438; &#x44D;&#x442;&#x43E; &#x441;&#x430;&#x43C;&#x43E;&#x435; &#x433;&#x43B;&#x430;&#x432;&#x43D;&#x43E;&#x435;), &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x441; &#x435;&#x433;&#x43E; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x44F; &#x441;&#x440;&#x430;&#x437;&#x443; &#x436;&#x435; &#x43C;&#x43E;&#x433;&#x443; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x44F;&#x442;&#x44C; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x430; &#x436;&#x435;&#x441;&#x442;&#x43A;&#x43E;&#x43C; &#x434;&#x438;&#x441;&#x43A;&#x435;. &#x415;&#x449;&#x451;, &#x432;&#x432;&#x438;&#x434;&#x443; &#x442;&#x43E;&#x433;&#x43E;, &#x447;&#x442;&#x43E; &#x432;&#x441;&#x435; &#x43C;&#x43E;&#x438; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x44B; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x44B; &#x43D;&#x430; PHP, &#x442;&#x43E; &#x44D;&#x442;&#x43E; &#x442;&#x430;&#x43A; &#x436;&#x435; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x43B;&#x435;&#x433;&#x43A;&#x43E; &#x438;&#x43D;&#x442;&#x435;&#x433;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43F;&#x43E;&#x434;&#x43E;&#x431;&#x43D;&#x44B;&#x435; &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x44B; &#x432; &#x443;&#x436;&#x435; &#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x43C;&#x43E;&#x438; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x44B;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x431;&#x44B; &#x43D;&#x435; &#x44D;&#x442;&#x438; &#x43F;&#x440;&#x435;&#x438;&#x43C;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x430;, &#x44F; &#x431;&#x44B;, &#x432;&#x435;&#x440;&#x43E;&#x44F;&#x442;&#x43D;&#x43E;, &#x432;&#x44B;&#x431;&#x440;&#x430;&#x43B; JavaScript, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x44D;&#x442;&#x43E; &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x438;&#x442; &#x43C;&#x43D;&#x435; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x44D;&#x43B;&#x435;&#x43C;&#x435;&#x43D;&#x442;&#x44B; &#x443;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x434;&#x43B;&#x44F; &#x434;&#x438;&#x43D;&#x430;&#x43C;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x433;&#x43E; &#x440;&#x435;&#x434;&#x430;&#x43A;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x432; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438; - &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x442; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x435;&#x43D;&#x438;&#x44F; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x433;&#x43E;&#x440;&#x430;&#x437;&#x434;&#x43E; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x44B;&#x43C;.</p>
<p>&#x427;&#x430;&#x441;&#x442;&#x43E; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x435; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x43E; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x430;&#x43D;&#x43E; &#x43D;&#x430; &#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x43B;&#x438;&#x43D;&#x438;&#x439; &#x438;&#x43B;&#x438; &#x443;&#x437;&#x43E;&#x440;&#x43E;&#x432; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x430;&#x43B;&#x433;&#x43E;&#x440;&#x438;&#x442;&#x43C;&#x43E;&#x432;, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x442;&#x43E;&#x442; &#x432;&#x438;&#x434; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43C;&#x43D;&#x435; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F;. &#x41D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x438;&#x437; &#x44D;&#x442;&#x438;&#x445; &#x440;&#x430;&#x431;&#x43E;&#x442; &#x443;&#x434;&#x438;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;, &#x43D;&#x43E; &#x44F; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x447;&#x435;&#x43B; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C; &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439;, &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x44F;&#x441;&#x44C; &#x438;&#x433;&#x440;&#x430;&#x43C;&#x438; &#x438; &#x444;&#x438;&#x43B;&#x44C;&#x43C;&#x430;&#x43C;&#x438;.</p>
<p>&#x422;&#x430;&#x43A;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C;, &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B;, - &#x44D;&#x442;&#x43E; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;-&#x430;&#x440;&#x442;, &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x440;&#x435;&#x442;&#x440;&#x43E;-&#x438;&#x433;&#x440;&#x430;&#x43C;&#x438;. &#x41D;&#x430; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x439; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442; &#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B; 2 &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; - &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x438; <strong>&#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x432;</strong> &#x438; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44F; &#x446;&#x435;&#x43B;&#x44B;&#x445; <strong>&#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x445; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x43E;&#x432;</strong>, &#x438; &#x44D;&#x442;&#x43E; &#x432;&#x441;&#x451; &#x43D;&#x430; PHP.</p>
<p><img src="https://badtry.net/content/images/2021/10/article-board.jpg" alt="&#x413;&#x435;&#x43D;&#x435;&#x440;&#x438;&#x440;&#x443;&#x435;&#x43C; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP (&#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A; &#x438; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x43E;&#x432;)" loading="lazy"></p>
<p>&#x42D;&#x442;&#x43E; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x430;&#x44F; &#x442;&#x435;&#x43C;&#x430;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x44F; &#x440;&#x435;&#x448;&#x438;&#x43B; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;, &#x43A;&#x430;&#x43A; <strong>&#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;</strong> &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP.</p>
<h2 id>&#x414;&#x438;&#x441;&#x43A;&#x43B;&#x435;&#x439;&#x43C;&#x435;&#x440;</h2>
<p>&#x427;&#x435;&#x441;&#x442;&#x43D;&#x43E; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x44F;, &#x44F; &#x43D;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x430;&#x433;&#x430;&#x43B; &#x43E;&#x441;&#x43E;&#x431;&#x44B;&#x445; &#x443;&#x441;&#x438;&#x43B;&#x438;&#x439; &#x434;&#x43B;&#x44F; &#x441;&#x43E;&#x431;&#x43B;&#x44E;&#x434;&#x435;&#x43D;&#x438;&#x44F; &#x432;&#x441;&#x435;&#x445; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x44B;&#x445; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B; &#x438; &#x440;&#x435;&#x43A;&#x43E;&#x43C;&#x435;&#x43D;&#x434;&#x430;&#x446;&#x438;&#x439; &#x43F;&#x43E; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43D;&#x438;&#x44E; &#x43A;&#x43E;&#x434;&#x430;. &#x42D;&#x442;&#x438; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x44B;, &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x43E;, &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x442;&#x435;&#x43C;, &#x43D;&#x430;&#x434; &#x447;&#x435;&#x43C; &#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44E; &#x43D;&#x435;&#x434;&#x435;&#x43B;&#x44E; &#x438;&#x43B;&#x438; &#x434;&#x432;&#x435;, &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43E;&#x442;&#x43A;&#x43B;&#x430;&#x434;&#x44B;&#x432;&#x430;&#x44E; &#x432; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x443;.</p>
<p>&#x41D;&#x435;&#x441;&#x43E;&#x43C;&#x43D;&#x435;&#x43D;&#x43D;&#x43E;, &#x435;&#x441;&#x442;&#x44C; &#x43B;&#x443;&#x447;&#x448;&#x438;&#x435; &#x441;&#x43F;&#x43E;&#x441;&#x43E;&#x431;&#x44B; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43A;&#x43E;&#x434;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x44F; &#x43F;&#x438;&#x448;&#x443; &#x434;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438;. &#x412; &#x43A;&#x43E;&#x43C;&#x43C;&#x435;&#x440;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x445; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;&#x445; &#x44F; &#x431;&#x435;&#x441;&#x43A;&#x43E;&#x43D;&#x435;&#x447;&#x43D;&#x43E; &#x43A;&#x43E;&#x43C;&#x43C;&#x435;&#x43D;&#x442;&#x438;&#x440;&#x443;&#x44E; &#x438; &#x441;&#x442;&#x430;&#x440;&#x430;&#x44E;&#x441;&#x44C; &#x441;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; &#x432;&#x441;&#x451; &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x441;&#x442;&#x440;&#x443;&#x43A;&#x442;&#x443;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x43C;, &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x432;&#x435;&#x440;&#x43E;&#x44F;&#x442;&#x43D;&#x435;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x43C;&#x43D;&#x435; &#x432; &#x441;&#x43A;&#x43E;&#x440;&#x43E;&#x43C; &#x432;&#x440;&#x435;&#x43C;&#x435;&#x43D;&#x438; &#x43C;&#x43D;&#x435; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x431;&#x443;&#x434;&#x435;&#x442; &#x432;&#x435;&#x440;&#x43D;&#x443;&#x442;&#x44C;&#x441;&#x44F; &#x43A; &#x434;&#x43E;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x430;&#x43C; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x430;; &#x430; &#x44D;&#x442;&#x438; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x44B;, &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x43E;, &#x442;&#x435;, &#x43D;&#x430;&#x434; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x43C;&#x438; &#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x44E; &#x43F;&#x430;&#x440;&#x443; &#x43D;&#x435;&#x434;&#x435;&#x43B;&#x44C;, &#x430; &#x43F;&#x43E;&#x442;&#x43E;&#x43C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43D;&#x435; &#x437;&#x430;&#x43D;&#x438;&#x43C;&#x430;&#x44E;&#x441;&#x44C; &#x438;&#x43C;&#x438;. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443;, &#x437;&#x434;&#x435;&#x441;&#x44C; &#x434;&#x43B;&#x44F; &#x43C;&#x435;&#x43D;&#x44F; &#x433;&#x43B;&#x430;&#x432;&#x43D;&#x43E;&#x435; - &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;.</p>
<p>&#x423;&#x447;&#x438;&#x442;&#x44B;&#x432;&#x430;&#x44F; &#x44D;&#x442;&#x43E;, &#x44F; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43B; &#x43D;&#x435;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43E;&#x432; &#x434;&#x43B;&#x44F; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438; &#x438; &#x434;&#x43E;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x43E;&#x434;&#x440;&#x43E;&#x431;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x43A;&#x43E;&#x43C;&#x43C;&#x435;&#x43D;&#x442;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43B; &#x438;&#x445;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x441;&#x442;&#x430;&#x440;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43A;&#x43E;&#x434; &#x43A;&#x430;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x431;&#x43E;&#x43B;&#x435;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x43C; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x43D;&#x438;&#x44F;.</p>
<h2 id>&#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x44F; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x432;</h2>
<p>&#x421;&#x43A;&#x440;&#x438;&#x43F;&#x442; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x438; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x435;&#x442; &#x43C;&#x430;&#x43A;&#x441;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x440;&#x438;&#x43C;&#x438;&#x442;&#x438;&#x432;&#x43D;&#x43E;. &#x42F; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x437;&#x430;&#x433;&#x43E;&#x442;&#x43E;&#x432;&#x43A;&#x438; &#x441;&#x43B;&#x43E;&#x451;&#x432; &#x434;&#x43B;&#x44F; &#x432;&#x441;&#x435;&#x445; &#x447;&#x430;&#x441;&#x442;&#x435;&#x439; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x430; (&#x444;&#x43E;&#x43D;&#x43E;&#x432;&#x44B;&#x439; &#x446;&#x432;&#x435;&#x442;, &#x433;&#x43B;&#x430;&#x437;&#x430;, &#x440;&#x43E;&#x442;), &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B; PHP &#x434;&#x43B;&#x44F; &#x43D;&#x430;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x43B;&#x43E;&#x451;&#x432; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x447;&#x430;&#x441;&#x442;&#x435;&#x439;, &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x44F; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x439;&#x43D;&#x44B;&#x439; &#x441;&#x43B;&#x43E;&#x439; &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x438;&#x437; &#x433;&#x440;&#x443;&#x43F;&#x43F;&#x44B;.</p>
<p><img src="https://badtry.net/content/images/2021/10/avatars.png" alt="&#x413;&#x435;&#x43D;&#x435;&#x440;&#x438;&#x440;&#x443;&#x435;&#x43C; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP (&#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A; &#x438; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x43E;&#x432;)" loading="lazy"></p>
<p>&#x41F;&#x440;&#x438; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; PHP &#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E; &#x431;&#x438;&#x431;&#x43B;&#x438;&#x43E;&#x442;&#x435;&#x43A;&#x443; GD, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x447;&#x430;&#x441;&#x442;&#x43E; &#x438;&#x434;&#x435;&#x442; &#x43F;&#x43E; &#x434;&#x435;&#x444;&#x43E;&#x43B;&#x442;&#x443; &#x43F;&#x440;&#x438; &#x443;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x435; PHP. &#x422;&#x430;&#x43A; &#x436;&#x435;, &#x434;&#x43B;&#x44F; &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438; &#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B; Docker, &#x431;&#x43B;&#x430;&#x433;&#x43E;&#x434;&#x430;&#x440;&#x44F; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C;&#x443; &#x432;&#x44B; &#x441;&#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x442;&#x438;&#x442;&#x44C; &#x44D;&#x442;&#x43E;&#x442; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442; &#x443; &#x441;&#x435;&#x431;&#x44F; &#x43B;&#x43E;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x432; &#x43F;&#x430;&#x440;&#x443; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434; &#x438; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x442;&#x44C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x430;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x435;&#x449;&#x451; &#x43D;&#x435; &#x437;&#x43D;&#x430;&#x43A;&#x43E;&#x43C;&#x44B; &#x441; &#x414;&#x43E;&#x43A;&#x435;&#x440;&#x43E;&#x43C;, &#x442;&#x43E; &#x441;&#x43E;&#x432;&#x435;&#x442;&#x443;&#x44E; &#x43F;&#x440;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x443;&#x44E; <a href="https://badcode.ru/docker-tutorial-dlia-novichkov-rassmatrivaiem-docker-tak-iesli-by-on-byl-ighrovoi-pristavkoi/?ref=badtry.net">&#x441;&#x442;&#x430;&#x442;&#x44C;&#x44E; &#x434;&#x43B;&#x44F; &#x43D;&#x43E;&#x432;&#x438;&#x447;&#x43A;&#x43E;&#x432;</a>, &#x438; &#x443;&#x436;&#x435; &#x43D;&#x430;&#x43A;&#x43E;&#x43D;&#x435;&#x446;-&#x442;&#x43E; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x442;&#x430;&#x43A;&#x43E;&#x439; &#x43C;&#x43E;&#x449;&#x43D;&#x43E;&#x439; &#x448;&#x442;&#x443;&#x43A;&#x43E;&#x439;.</p>
<p>&#x42F; &#x43D;&#x438;&#x43A;&#x430;&#x43A; &#x43D;&#x435; &#x432;&#x437;&#x430;&#x438;&#x43C;&#x43E;&#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x443;&#x44E; &#x441; &#x431;&#x430;&#x437;&#x43E;&#x439; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x445;, &#x432; &#x44D;&#x442;&#x43E;&#x43C; &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442;&#x435; &#x432;&#x441;&#x451; &#x430;&#x431;&#x441;&#x43E;&#x43B;&#x44E;&#x442;&#x43D;&#x43E; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x439;&#x43D;&#x43E;. &#x41A;&#x440;&#x430;&#x441;&#x43E;&#x442;&#x430; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430; &#x432; &#x442;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43C;&#x433;&#x43D;&#x43E;&#x432;&#x435;&#x43D;&#x43D;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x442;&#x44B;&#x441;&#x44F;&#x447;&#x438; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439;, &#x438; &#x43D;&#x435;&#x442; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x44C; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x434;&#x43E;&#x43B;&#x433;&#x43E;&#x435; &#x432;&#x440;&#x435;&#x43C;&#x44F;. &#x41C;&#x43D;&#x435; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x44F; &#x434;&#x43E;&#x445;&#x43E;&#x436;&#x443; &#x434;&#x43E; &#x441;&#x442;&#x430;&#x434;&#x438;&#x438;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x43C;&#x43D;&#x435; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F; (&#x43F;&#x43E;&#x447;&#x442;&#x438;) &#x432;&#x441;&#x451;, &#x447;&#x442;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x435;&#x442; &#x430;&#x43B;&#x433;&#x43E;&#x440;&#x438;&#x442;&#x43C;.</p>
<p>&#x414;&#x43B;&#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A; &#x44F; &#x432;&#x440;&#x443;&#x447;&#x43D;&#x443;&#x44E; &#x43D;&#x430;&#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43B; &#x446;&#x435;&#x43B;&#x443;&#x44E; &#x43A;&#x443;&#x447;&#x443; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439;, &#x441; &#x43E;&#x434;&#x438;&#x43D;&#x430;&#x43A;&#x43E;&#x432;&#x44B;&#x43C;&#x438; &#x440;&#x430;&#x437;&#x43C;&#x435;&#x440;&#x430;&#x43C;&#x438;, &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x439; &#x447;&#x435;&#x440;&#x442;&#x44B; &#x43B;&#x438;&#x446;&#x430;, &#x43E;&#x447;&#x435;&#x440;&#x442;&#x430;&#x43D;&#x438;&#x44F; &#x433;&#x43B;&#x430;&#x437;, &#x43D;&#x43E;&#x441;&#x43E;&#x432;, &#x440;&#x442;&#x43E;&#x432; &#x438; &#x432;&#x43E;&#x43B;&#x43E;&#x441;, &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43F;&#x43E;&#x43C;&#x435;&#x441;&#x442;&#x438;&#x43B; &#x43A;&#x430;&#x436;&#x434;&#x443;&#x44E; &#x438;&#x437; &#x44D;&#x442;&#x438;&#x445; &#x447;&#x430;&#x441;&#x442;&#x435;&#x439; &#x432; &#x440;&#x430;&#x437;&#x43D;&#x44B;&#x435; &#x43F;&#x430;&#x43F;&#x43A;&#x438;, &#x441;&#x433;&#x440;&#x443;&#x43F;&#x43F;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x43F;&#x43E; &#x442;&#x438;&#x43F;&#x443; (&#x43F;&#x43E; &#x447;&#x430;&#x441;&#x442;&#x438; &#x442;&#x435;&#x43B;&#x430;). &#x418; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP &#x44F; &#x43D;&#x430;&#x43A;&#x43B;&#x430;&#x434;&#x44B;&#x432;&#x430;&#x44E; &#x43E;&#x434;&#x438;&#x43D; &#x441;&#x43B;&#x43E;&#x439; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x430; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x439;.</p>
<p>&#x412; &#x43F;&#x441;&#x435;&#x432;&#x434;&#x43E;&#x43A;&#x43E;&#x434;&#x435; &#x43F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x439;&#x43D;&#x43E;&#x439; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43A;&#x438; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x438;&#x442; &#x442;&#x430;&#x43A;:</p>
<ul>
<li>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x43C; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; (<strong>imagecreatetruecolor</strong>).</li>
<li>&#x41F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x435;&#x43C; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432; &#x432;&#x441;&#x435;&#x445; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x44B;&#x445; &#x447;&#x430;&#x441;&#x442;&#x435;&#x439; &#x434;&#x43B;&#x44F; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x441;&#x43B;&#x43E;&#x44F; (&#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x44E; <strong>glob</strong> &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x438;&#x441;&#x43A;&#x430; &#x444;&#x430;&#x439;&#x43B;&#x43E;&#x432; &#x432; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43D;&#x43E;&#x439; &#x43F;&#x430;&#x43F;&#x43A;&#x435; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x43E;&#x439; &#x433;&#x440;&#x443;&#x43F;&#x43F;&#x44B;).</li>
<li>&#x41F;&#x435;&#x440;&#x435;&#x43C;&#x435;&#x448;&#x438;&#x432;&#x430;&#x435;&#x43C; &#x432;&#x441;&#x435; &#x43D;&#x430;&#x439;&#x434;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43A;&#x438;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x439;&#x43D;&#x44B;&#x439; &#x44D;&#x43B;&#x435;&#x43C;&#x435;&#x43D;&#x442;.</li>
<li>&#x41D;&#x430;&#x43A;&#x43B;&#x430;&#x434;&#x44B;&#x432;&#x430;&#x435;&#x43C; &#x441;&#x43B;&#x43E;&#x439; &#x43D;&#x430; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x440;&#x443;&#x44E;&#x449;&#x435;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; (<strong>imagecreatefrompng &gt; imagecopy</strong>).</li>
<li>&#x41F;&#x43E;&#x432;&#x442;&#x43E;&#x440;&#x44F;&#x435;&#x43C; &#x434;&#x43B;&#x44F; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x433;&#x43E; &#x441;&#x43B;&#x43E;&#x44F;.</li>
<li>&#x421;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x44F;&#x435;&#x43C; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; (<strong>imagepng</strong>).</li>
</ul>
<p>&#x412;&#x435;&#x440;&#x43E;&#x44F;&#x442;&#x43D;&#x43E;, &#x432;&#x44B; &#x443;&#x436;&#x435; &#x432;&#x438;&#x434;&#x435;&#x43B;&#x438; &#x43F;&#x43E;&#x434;&#x43E;&#x431;&#x43D;&#x44B;&#x435; &#x43F;&#x440;&#x43E;&#x435;&#x43A;&#x442;&#x44B; &#x441; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x435;&#x439; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A;. &#x412;&#x441;&#x435; &#x43E;&#x43D;&#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E;&#x442; &#x440;&#x430;&#x437;&#x43D;&#x43E;&#x432;&#x438;&#x434;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x451;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x437;&#x434;&#x435;&#x441;&#x44C; &#x43A;&#x43E;&#x434;&#x430; (&#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;, &#x43D;&#x435; &#x43D;&#x430; PHP), &#x43E;&#x43D;&#x438; &#x43D;&#x430;&#x43A;&#x43B;&#x430;&#x434;&#x44B;&#x432;&#x430;&#x44E;&#x442; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43A;&#x438;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x432;&#x435;&#x440;&#x448;&#x435;&#x43D;&#x43D;&#x43E; &#x43D;&#x43E;&#x432;&#x43E;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; - &#x441; &#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x447;&#x43D;&#x44B;&#x43C; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E;&#x43C; &#x434;&#x435;&#x442;&#x430;&#x43B;&#x435;&#x439; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x43C;&#x43D;&#x43E;&#x436;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445;, &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A;.</p>
<p>&#x412; &#x43C;&#x43E;&#x451;&#x43C; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x43D;&#x430;&#x431;&#x43E;&#x440; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x441;&#x43E;&#x441;&#x442;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x442;: <strong>9</strong> &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x433;&#x43B;&#x430;&#x437;, <strong>5</strong> &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x440;&#x442;&#x430; &#x438; <strong>7</strong> &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x43A;&#x43E;&#x436;&#x438; - &#x447;&#x442;&#x43E; &#x434;&#x430;&#x451;&#x442; <strong>315 &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x43A;&#x43E;&#x43C;&#x431;&#x438;&#x43D;&#x430;&#x446;&#x438;&#x439;</strong> (9 * 5 * 7). &#x415;&#x441;&#x43B;&#x438; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x432;&#x43E;&#x43B;&#x43E;&#x441;&#x44B;, &#x43E;&#x447;&#x43A;&#x438; (&#x438; &#x432;&#x441;&#x451; &#x43E;&#x441;&#x442;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435;), &#x442;&#x43E; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x431;&#x44B;&#x441;&#x442;&#x440;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x434;&#x435;&#x441;&#x44F;&#x442;&#x43A;&#x438; &#x442;&#x44B;&#x441;&#x44F;&#x447; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x44B;&#x445; &#x432;&#x430;&#x440;&#x438;&#x430;&#x43D;&#x442;&#x43E;&#x432;.</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x440;&#x435;&#x448;&#x438;&#x442;&#x435; &#x43F;&#x43E;&#x43F;&#x440;&#x43E;&#x431;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x43F;&#x43E;&#x434;&#x43E;&#x431;&#x43D;&#x43E;&#x435;, &#x432;&#x430;&#x43C; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x443;&#x431;&#x435;&#x434;&#x438;&#x442;&#x44C;&#x441;&#x44F;, &#x447;&#x442;&#x43E; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x44B; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x445;&#x430;&#x440;&#x430;&#x43A;&#x442;&#x435;&#x440;&#x43D;&#x44B;, &#x438; &#x43A;&#x430;&#x43A;-&#x442;&#x43E; &#x432;&#x44B;&#x434;&#x435;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F;. &#x427;&#x442;&#x43E;&#x431;&#x44B; &#x43D;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x432; &#x438;&#x442;&#x43E;&#x433;&#x435; &#x43D;&#x435;&#x437;&#x43D;&#x430;&#x447;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x438;&#x44F;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43D;&#x438;&#x43A;&#x442;&#x43E; &#x43D;&#x435; &#x437;&#x430;&#x43C;&#x435;&#x442;&#x438;&#x442;, &#x438; &#x431;&#x443;&#x434;&#x435;&#x442; &#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x447;&#x442;&#x43E; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43A;&#x438; &#x43D;&#x438;&#x447;&#x435;&#x43C; &#x43D;&#x435; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x430;&#x44E;&#x442;&#x441;&#x44F;.</p>
<blockquote>
<p>&#x41F;&#x440;&#x438; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x438; &#x441;&#x43B;&#x43E;&#x451;&#x432; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A;, &#x432;&#x430;&#x436;&#x43D;&#x43E; &#x443;&#x447;&#x438;&#x442;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x434;&#x43D;&#x443; &#x43E;&#x441;&#x43E;&#x431;&#x435;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x44C;. &#x412;&#x441;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x447;&#x430;&#x441;&#x442;&#x435;&#x439; &#x43B;&#x438;&#x446;&#x430; (&#x440;&#x43E;&#x442;, &#x433;&#x43B;&#x430;&#x437;&#x430;) &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x44B; &#x431;&#x44B;&#x442;&#x44C; &#x43E;&#x434;&#x43D;&#x43E;&#x433;&#x43E; &#x440;&#x430;&#x437;&#x43C;&#x435;&#x440;&#x430; (&#x432; &#x43C;&#x43E;&#x451;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; - 32&#x445;32). &#x410; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x430;&#x44F; &#x433;&#x440;&#x443;&#x43F;&#x43F;&#x430; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x430; &#x431;&#x44B;&#x442;&#x44C; &#x432; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x435;&#x43C; &#x443;&#x447;&#x430;&#x441;&#x442;&#x43A;&#x435; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43A;&#x438;.</p>
<p>&#x413;&#x43B;&#x430;&#x437;&#x430; - &#x432;&#x432;&#x435;&#x440;&#x445;&#x443;, &#x440;&#x43E;&#x442; - &#x432;&#x43D;&#x438;&#x437;&#x443; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;. &#x422;&#x430;&#x43A;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x440;&#x438; &#x43D;&#x430;&#x43A;&#x43B;&#x430;&#x434;&#x44B;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x434;&#x440;&#x443;&#x433; &#x43D;&#x430; &#x434;&#x440;&#x443;&#x433;&#x430; &#x43E;&#x43D;&#x438; &#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x43B;&#x438;&#x441;&#x44C; &#x432; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x43C;&#x435;&#x441;&#x442;&#x43E;.<br>
<img src="https://badtry.net/content/images/2021/10/areaas-1.jpg" alt="&#x413;&#x435;&#x43D;&#x435;&#x440;&#x438;&#x440;&#x443;&#x435;&#x43C; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP (&#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A; &#x438; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x43E;&#x432;)" loading="lazy"></p>
</blockquote>
<h2 id>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x437;&#x430;&#x433;&#x43E;&#x442;&#x43E;&#x432;&#x43E;&#x43A; &#x434;&#x43B;&#x44F; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x446;&#x438;&#x438; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439;</h2>
<p>&#x41C;&#x43E;&#x439; &#x43F;&#x443;&#x442;&#x44C; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430; &#x43D;&#x430;&#x447;&#x438;&#x43D;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x441; &#x43F;&#x440;&#x435;&#x434;&#x432;&#x430;&#x440;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43D;&#x430;&#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x445; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x43E;&#x432;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x44F; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43A;&#x43E;&#x43C;&#x431;&#x438;&#x43D;&#x438;&#x440;&#x443;&#x44E; &#x432; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x441;&#x43E;&#x447;&#x435;&#x442;&#x430;&#x43D;&#x438;&#x44F;&#x445;. &#x41C;&#x43E;&#x436;&#x43D;&#x43E; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x44D;&#x43B;&#x435;&#x43C;&#x435;&#x43D;&#x442;&#x44B; &#x43F;&#x43E;&#x43B;&#x43D;&#x43E;&#x441;&#x442;&#x44C;&#x44E; &#x441; &#x43D;&#x443;&#x43B;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x43C;&#x435;&#x43D;&#x44F; &#x43D;&#x435; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x443;&#x435;&#x442;, &#x43C;&#x43D;&#x435; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F; &#x438;&#x43C;&#x435;&#x442;&#x44C; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x445;&#x443;&#x434;&#x43E;&#x436;&#x435;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x43D;&#x442;&#x440;&#x43E;&#x43B;&#x44C;. &#x418;&#x437;-&#x437;&#x430; &#x432;&#x43B;&#x438;&#x44F;&#x43D;&#x438;&#x44F; &#x432;&#x438;&#x434;&#x435;&#x43E;&#x438;&#x433;&#x440; &#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B; &#x432;&#x441;&#x451; &#x432; &#x432;&#x438;&#x434;&#x435; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;-&#x430;&#x440;&#x442;&#x430;.</p>
<p>&#x414;&#x43B;&#x44F; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44E; <a href="https://www.aseprite.org/?ref=badtry.net" target="_blank">Aseprite</a>. Aseprite - &#x44D;&#x442;&#x43E; &#x43F;&#x43E;&#x442;&#x440;&#x44F;&#x441;&#x430;&#x44E;&#x449;&#x438;&#x439; &#x438;&#x43D;&#x441;&#x442;&#x440;&#x443;&#x43C;&#x435;&#x43D;&#x442;!</p>
<p><strong>Aseprite</strong> - &#x44D;&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x43E;&#x435; &#x441;&#x43F;&#x435;&#x446;&#x438;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x434;&#x43B;&#x44F; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;-&#x430;&#x440;&#x442;&#x430;, &#x438; &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x443; &#x43D;&#x435;&#x433;&#x43E; &#x434;&#x43E;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E; &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x438; &#x43D;&#x435;&#x43E;&#x431;&#x44B;&#x447;&#x43D;&#x44B;&#x439; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x444;&#x435;&#x439;&#x441;. &#x42F; &#x43D;&#x435; &#x43B;&#x44E;&#x431;&#x43B;&#x44E;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x444;&#x435;&#x439;&#x441; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x438;&#x442; &#x43A;&#x430;&#x43A;-&#x442;&#x43E; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x43D;&#x43E; &#x438;&#x43B;&#x438; &#x43D;&#x435;&#x441;&#x442;&#x430;&#x43D;&#x434;&#x430;&#x440;&#x442;&#x43D;&#x43E;. &#x41C;&#x43D;&#x435; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x432;&#x441;&#x451; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x438;&#x442; &#x442;&#x430;&#x43A;, &#x43A;&#x430;&#x43A; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x43E; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x442;&#x44C;, &#x43D;&#x43E; &#x434;&#x43B;&#x44F; Aseprite &#x44F; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43B; &#x438;&#x441;&#x43A;&#x43B;&#x44E;&#x447;&#x435;&#x43D;&#x438;&#x435; - &#x438;&#x43D;&#x442;&#x435;&#x440;&#x444;&#x435;&#x439;&#x441; &#x438;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x438;&#x442; &#x434;&#x43B;&#x44F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F;, &#x438; &#x43C;&#x43D;&#x435; &#x434;&#x435;&#x439;&#x441;&#x442;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F; &#x438;&#x43C; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F;. Aseprite - &#x43F;&#x43B;&#x430;&#x442;&#x43D;&#x43E;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;, &#x43D;&#x43E; &#x44F; &#x441; &#x440;&#x430;&#x434;&#x43E;&#x441;&#x442;&#x44C;&#x44E; &#x437;&#x430;&#x43F;&#x43B;&#x430;&#x442;&#x438;&#x43B; &#x431;&#x44B; &#x437;&#x430; &#x43D;&#x435;&#x433;&#x43E; &#x441;&#x43D;&#x43E;&#x432;&#x430; - &#x435;&#x433;&#x43E; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43F;&#x440;&#x438;&#x43D;&#x43E;&#x441;&#x438;&#x442; &#x43C;&#x43D;&#x435; &#x440;&#x430;&#x434;&#x43E;&#x441;&#x442;&#x44C;, &#x430; &#x442;&#x430;&#x43A;&#x438;&#x445; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x43D;&#x435; &#x442;&#x430;&#x43A; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;.</p>
<p>&#x42F; &#x432;&#x43A;&#x43B;&#x44E;&#x447;&#x438;&#x43B; &#x444;&#x430;&#x439;&#x43B;&#x44B; <em>.aseprite</em> &#x432; &#x440;&#x435;&#x43F;&#x43E;&#x437;&#x438;&#x442;&#x43E;&#x440;&#x438;&#x439;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x44B; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x438;&#x445; &#x432; &#x43A;&#x430;&#x447;&#x435;&#x441;&#x442;&#x432;&#x435; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x43D;&#x43E;&#x439; &#x442;&#x43E;&#x447;&#x43A;&#x438;, &#x435;&#x441;&#x43B;&#x438; &#x437;&#x430;&#x445;&#x43E;&#x442;&#x438;&#x442;&#x435; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x438; &#x441;&#x43E;&#x431;&#x441;&#x442;&#x432;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x432;&#x430;&#x440;&#x438;&#x430;&#x446;&#x438;&#x438;.</p>
<h2 id>&#x413;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x435; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x43E; &#x43D;&#x430; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x435; &#x442;&#x430;&#x439;&#x43B;&#x43E;&#x432;</h2>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x44B; &#x43A;&#x43E;&#x433;&#x434;&#x430;-&#x43D;&#x438;&#x431;&#x443;&#x434;&#x44C; &#x438;&#x433;&#x440;&#x430;&#x43B;&#x438; &#x432; 2D &#x432;&#x438;&#x434;&#x435;&#x43E;&#x438;&#x433;&#x440;&#x44B;, &#x432;&#x44B; &#x43D;&#x430;&#x432;&#x435;&#x440;&#x43D;&#x44F;&#x43A;&#x430; &#x432;&#x438;&#x434;&#x435;&#x43B;&#x438; &#x443;&#x440;&#x43E;&#x432;&#x43D;&#x438;, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x434;&#x432;&#x443;&#x445;&#x43C;&#x435;&#x440;&#x43D;&#x44B;&#x445; &#x441;&#x435;&#x442;&#x43E;&#x43A; &#x442;&#x430;&#x439;&#x43B;&#x43E;&#x432;. &#x42D;&#x442;&#x43E; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x430;&#x44F; &#x437;&#x430;&#x434;&#x430;&#x447;&#x430;, &#x443;&#x447;&#x438;&#x442;&#x44B;&#x432;&#x430;&#x44F; &#x43C;&#x43E;&#x439; &#x43D;&#x435;&#x434;&#x43E;&#x441;&#x442;&#x430;&#x442;&#x43E;&#x43A; &#x43E;&#x43F;&#x44B;&#x442;&#x430; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x43E;&#x431;&#x43B;&#x430;&#x441;&#x442;&#x438;. &#x41A; &#x442;&#x43E;&#x43C;&#x443; &#x436;&#x435;, &#x44F; &#x43D;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B; &#x441; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x43C;&#x438; &#x441;&#x435;&#x442;&#x43A;&#x430;&#x43C;&#x438; &#x440;&#x430;&#x43D;&#x44C;&#x448;&#x435; - &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x43C;&#x43E;&#x44F; &#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x430;&#x44F; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430; &#x431;&#x44B;&#x43B;&#x430; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x435;&#x435;.</p>
<p>&#x42F; &#x440;&#x435;&#x448;&#x438;&#x43B; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x439; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x439; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;-&#x430;&#x440;&#x442; &quot;&#x413;&#x43E;&#x440;&#x43E;&#x434;&quot; &#x438; &#x43F;&#x43E;&#x44D;&#x442;&#x43E;&#x43C;&#x443; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43B; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x443;&#x44E; &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x44E;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;, &#x43A;&#x430;&#x43A; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; &#x44D;&#x442;&#x438;&#x43C;. &#x410; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x44B;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x434;&#x43E;&#x431;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x434;&#x43E;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43E;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; <a href="https://opensea.io/collection/iso-city-blocks?ref=badtry.net" target="_blank">&#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x435;&#x442;&#x44C; &#x442;&#x443;&#x442;</a>. &#x410;&#x432;&#x442;&#x43E;&#x440; &#x43E;&#x440;&#x438;&#x433;&#x438;&#x43D;&#x430;&#x43B;&#x430; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438; &#x434;&#x43E;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B; &#x441;&#x43A;&#x440;&#x438;&#x43F;&#x442; &#x438; &#x433;&#x440;&#x430;&#x444;&#x438;&#x43A;&#x443;, &#x432; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x435; &#x447;&#x435;&#x433;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x43B;&#x438;&#x441;&#x44C; &#x442;&#x430;&#x43A;&#x438;&#x435; &#x432;&#x43F;&#x435;&#x447;&#x430;&#x442;&#x43B;&#x44F;&#x44E;&#x449;&#x438;&#x435; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;&#x44B;.</p>
<p><img src="https://badtry.net/content/images/2021/10/buildings.jpg" alt="&#x413;&#x435;&#x43D;&#x435;&#x440;&#x438;&#x440;&#x443;&#x435;&#x43C; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP (&#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x43E;&#x440; &#x430;&#x432;&#x430;&#x442;&#x430;&#x440;&#x43E;&#x43A; &#x438; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x445; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x43E;&#x432;)" loading="lazy"></p>
<p>&#x41E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x43E;&#x439; &#x43F;&#x440;&#x438;&#x43D;&#x446;&#x438;&#x43F; &#x437;&#x430;&#x43A;&#x43B;&#x44E;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432; &#x442;&#x43E;&#x43C;, &#x447;&#x442;&#x43E; &#x443; &#x432;&#x430;&#x441; &#x435;&#x441;&#x442;&#x44C; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x43C;&#x435;&#x440;&#x43D;&#x44B;&#x439; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432; (&#x43C;&#x430;&#x441;&#x441;&#x438;&#x432; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x43E;&#x432;), &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x43C; &#x445;&#x440;&#x430;&#x43D;&#x438;&#x442;&#x441;&#x44F; &#x438;&#x43D;&#x444;&#x43E;&#x440;&#x43C;&#x430;&#x446;&#x438;&#x44F; &#x43E; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x431;&#x43B;&#x43E;&#x43A;&#x430;&#x445;. &#x417;&#x430;&#x442;&#x435;&#x43C; &#x432;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x431;&#x438;&#x440;&#x430;&#x435;&#x442;&#x435; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x44B; &#x438; &#x440;&#x435;&#x43D;&#x434;&#x435;&#x440;&#x438;&#x442;&#x435; &#x443;&#x43A;&#x430;&#x437;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x431;&#x43B;&#x43E;&#x43A;&#x438; &#x43D;&#x430; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43A;&#x435;.</p>
<p>&#x41D;&#x430;&#x431;&#x43E;&#x440; &#x432;&#x441;&#x435;&#x445; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x44B;&#x445; &#x431;&#x43B;&#x43E;&#x43A;&#x43E;&#x432; &#x44F; &#x445;&#x440;&#x430;&#x43D;&#x44E; &#x432; &#x43E;&#x434;&#x43D;&#x43E;&#x43C; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x438; (&#x447;&#x438;&#x442;&#x430;&#x439; &#x441;&#x43F;&#x440;&#x430;&#x439;&#x442;), &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x440;&#x438;&#x441;&#x443;&#x44E; &#x44D;&#x442;&#x438; &#x431;&#x43B;&#x43E;&#x43A;&#x438; &#x43D;&#x430; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x438;&#x440;&#x443;&#x44E;&#x449;&#x435;&#x43C; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x438; &#x43F;&#x43E; &#x43C;&#x435;&#x440;&#x435; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E;&#x441;&#x442;&#x438;. &#x422;&#x430;&#x43A; &#x434;&#x435;&#x43B;&#x430;&#x44E;&#x442; &#x432; &#x432;&#x438;&#x434;&#x435;&#x43E;&#x438;&#x433;&#x440;&#x430;&#x445;, &#x43D;&#x43E; &#x432;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F; (&#x43A;&#x430;&#x436;&#x434;&#x43E;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x43B;&#x44F; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x442;&#x438;&#x43F;&#x430; &#x431;&#x43B;&#x43E;&#x43A;&#x430;), &#x435;&#x441;&#x43B;&#x438; &#x437;&#x430;&#x445;&#x43E;&#x442;&#x438;&#x442;&#x435;.</p>
<p>&#x414;&#x43B;&#x44F; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x433;&#x43E; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x430; &#x43A;&#x43E;&#x434; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x435;&#x43B; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43D;&#x43E; &#x442;&#x430;&#x43A;:</p>
<ul>
<li>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x43C; &#x432;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x44B; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x430;.</li>
<li>&#x420;&#x435;&#x448;&#x430;&#x435;&#x43C;, &#x433;&#x434;&#x435; &#x447;&#x442;&#x43E; &#x43D;&#x430;&#x445;&#x43E;&#x434;&#x438;&#x442;&#x441;&#x44F;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x43D;&#x435;&#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x44B;&#x435; &#x430;&#x43B;&#x433;&#x43E;&#x440;&#x438;&#x442;&#x43C;&#x44B;, &#x438; &#x43E;&#x431;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x44B; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x430; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x43C; &#x43E;&#x431;&#x440;&#x430;&#x437;&#x43E;&#x43C; (&#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x43E;&#x43C;&#x435;&#x441;&#x442;&#x438;&#x442;&#x44C; &#x434;&#x43E;&#x440;&#x43E;&#x433;&#x438;, &#x43F;&#x430;&#x440;&#x43A;&#x438;, &#x440;&#x435;&#x43A;&#x438;).</li>
<li>&#x41D;&#x443;&#x436;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x439;&#x442;&#x438;&#x441;&#x44C; &#x43F;&#x43E; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x430;&#x43C; &#x438; &#x43E;&#x442;&#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x435; &#x442;&#x430;&#x439;&#x43B;&#x44B;. &#x415;&#x441;&#x43B;&#x438; &#x43D;&#x430; &#x43A;&#x430;&#x440;&#x442;&#x435; &#x435;&#x441;&#x442;&#x44C; &#x43C;&#x435;&#x441;&#x442;&#x43E; &#x434;&#x43B;&#x44F; &#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F;, &#x441;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x43C; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x439;&#x43D;&#x43E;&#x435; &#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x438; &#x440;&#x438;&#x441;&#x443;&#x435;&#x43C; &#x435;&#x433;&#x43E; &#x43F;&#x43E;&#x432;&#x435;&#x440;&#x445; &#x442;&#x430;&#x439;&#x43B;&#x430;.</li>
<li>&#x420;&#x435;&#x43D;&#x434;&#x435;&#x440;&#x438;&#x43C; &#x432;&#x441;&#x451; &#x43D;&#x430; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;.</li>
</ul>
<p>&#x41A;&#x430;&#x43A; &#x44F; &#x443;&#x436;&#x435; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x438;&#x43B;, &#x44F; &#x440;&#x430;&#x43D;&#x44C;&#x448;&#x435; &#x43D;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B; &#x441; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x438;&#x43C;&#x438; &#x441;&#x435;&#x442;&#x43A;&#x430;&#x43C;&#x438;, &#x43D;&#x43E; &#x44D;&#x442;&#x43E; &#x43D;&#x435; &#x441;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x442; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; &#x43A;&#x432;&#x430;&#x434;&#x440;&#x430;&#x442;&#x43D;&#x43E;&#x439; &#x441;&#x435;&#x442;&#x43A;&#x43E;&#x439;. &#x421;&#x430;&#x43C;&#x43E;&#x435; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x43E;&#x435; &#x438;&#x437;&#x43C;&#x435;&#x43D;&#x435;&#x43D;&#x438;&#x435; &#x431;&#x44B;&#x43B;&#x43E; &#x432; &#x442;&#x43E;&#x43C;, &#x43A;&#x430;&#x43A; &#x44F; &#x440;&#x430;&#x441;&#x441;&#x447;&#x438;&#x442;&#x44B;&#x432;&#x430;&#x43B; &#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x43A;&#x430;&#x436;&#x434;&#x43E;&#x433;&#x43E; &#x442;&#x430;&#x439;&#x43B;&#x430;. &#x42F; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x43E;&#x432;&#x430;&#x43B; <a href="https://yal.cc/understanding-isometric-grids/?ref=badtry.net">&#x44D;&#x442;&#x43E;&#x442; &#x442;&#x443;&#x442;&#x43E;&#x440;&#x438;&#x430;&#x43B;</a>, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x43D;&#x44F;&#x442;&#x44C;, &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x441;&#x441;&#x447;&#x438;&#x442;&#x430;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435;.</p>
<p>&#x41F;&#x43E;&#x43C;&#x438;&#x43C;&#x43E; &#x440;&#x430;&#x441;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x442;&#x430;&#x439;&#x43B;&#x43E;&#x432;, &#x43F;&#x440;&#x438; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x43C; &#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438; &#x43D;&#x435;&#x43E;&#x431;&#x445;&#x43E;&#x434;&#x438;&#x43C;&#x43E; &#x441;&#x43B;&#x435;&#x434;&#x438;&#x442;&#x44C; &#x437;&#x430; &#x442;&#x435;&#x43C;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x441;&#x451; &#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x437;&#x430;&#x434;&#x43E;&#x43C; &#x43D;&#x430;&#x43F;&#x435;&#x440;&#x451;&#x434;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x435;&#x440;&#x435;&#x434;&#x43D;&#x438;&#x435; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B; &#x437;&#x430;&#x43A;&#x440;&#x44B;&#x432;&#x430;&#x43B;&#x438; &#x437;&#x430;&#x434;&#x43D;&#x438;&#x435;. &#x418;&#x437;-&#x437;&#x430; &#x44D;&#x442;&#x43E;&#x433;&#x43E; &#x44F; &#x440;&#x438;&#x441;&#x443;&#x44E; &#x432;&#x441;&#x451;, &#x447;&#x442;&#x43E; &#x441;&#x432;&#x44F;&#x437;&#x430;&#x43D;&#x43E; &#x441; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x43C; &#x442;&#x430;&#x439;&#x43B;&#x43E;&#x43C;, &#x437;&#x430; &#x43E;&#x434;&#x438;&#x43D; &#x440;&#x430;&#x437;. &#x42F; &#x440;&#x438;&#x441;&#x443;&#x44E; &#x442;&#x430;&#x439;&#x43B;, &#x437;&#x430;&#x442;&#x435;&#x43C; &#x440;&#x438;&#x441;&#x443;&#x44E; &#x434;&#x435;&#x43A;&#x43E;&#x440;&#x430;&#x446;&#x438;&#x44E; (&#x434;&#x435;&#x440;&#x435;&#x432;&#x44C;&#x44F;, &#x43B;&#x44E;&#x434;&#x435;&#x439; &#x438; &#x442;.&#x434;.), &#x437;&#x430;&#x442;&#x435;&#x43C; &#x440;&#x438;&#x441;&#x443;&#x44E; &#x437;&#x434;&#x430;&#x43D;&#x438;&#x435;. &#x415;&#x441;&#x43B;&#x438; &#x431;&#x44B; &#x44F; &#x43D;&#x430;&#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43B; &#x438;&#x445; &#x43F;&#x43E; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x438;, &#x43E;&#x43D;&#x438; &#x43C;&#x43E;&#x433;&#x43B;&#x438; &#x431;&#x44B; &#x43D;&#x430;&#x43B;&#x43E;&#x436;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x43D;&#x435; &#x442;&#x430;&#x43A;, &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x435;&#x434;&#x43F;&#x43E;&#x43B;&#x430;&#x433;&#x430;&#x43B;&#x43E;&#x441;&#x44C;.</p>
<h2 id>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x435; &#x437;&#x434;&#x430;&#x43D;&#x438;&#x439;</h2>
<p>&#x417;&#x434;&#x430;&#x43D;&#x438;&#x44F;, &#x43A;&#x430;&#x43A; &#x438; &#x43B;&#x430;&#x43D;&#x434;&#x448;&#x430;&#x444;&#x442;, &#x442;&#x43E;&#x436;&#x435; &#x441;&#x43E;&#x441;&#x442;&#x43E;&#x44F;&#x442; &#x438;&#x437; &#x442;&#x430;&#x439;&#x43B;&#x43E;&#x432;. &#x423; &#x43C;&#x435;&#x43D;&#x44F; &#x431;&#x44B;&#x43B;&#x430; &#x43A;&#x43E;&#x43B;&#x43B;&#x435;&#x43A;&#x446;&#x438;&#x44F; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E;, &#x441;&#x440;&#x435;&#x434;&#x43D;&#x435;&#x433;&#x43E; &#x438; &#x432;&#x435;&#x440;&#x445;&#x43D;&#x435;&#x433;&#x43E; &#x44D;&#x442;&#x430;&#x436;&#x435;&#x439;. &#x42F; &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x43B; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x439;&#x43D;&#x44B;&#x439; &#x44D;&#x43B;&#x435;&#x43C;&#x435;&#x43D;&#x442; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x433;&#x43E; &#x44D;&#x442;&#x430;&#x436;&#x430;, &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43A;&#x43E;&#x43B;&#x43B;&#x435;&#x43A;&#x446;&#x438;&#x44E; &#x441;&#x440;&#x435;&#x434;&#x43D;&#x438;&#x445; &#x44D;&#x442;&#x430;&#x436;&#x435;&#x439;, &#x430; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x43F;&#x43E;&#x434;&#x445;&#x43E;&#x434;&#x44F;&#x449;&#x438;&#x439; &#x432;&#x435;&#x440;&#x445;&#x43D;&#x438;&#x439; &#x44D;&#x442;&#x430;&#x436; - &#x437;&#x430;&#x442;&#x435;&#x43C; &#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43B; &#x438;&#x445; &#x43F;&#x43E; &#x43E;&#x447;&#x435;&#x440;&#x435;&#x434;&#x438;, &#x43D;&#x430;&#x447;&#x438;&#x43D;&#x430;&#x44F; &#x441;&#x43D;&#x438;&#x437;&#x443;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x432;&#x435;&#x440;&#x445; &#x43D;&#x435; &#x431;&#x44B;&#x43B; &#x437;&#x430;&#x43A;&#x440;&#x44B;&#x442;.</p>
<h2 id>&#x41F;&#x440;&#x438;&#x43C;&#x435;&#x440; &#x441;&#x435;&#x442;&#x43A;&#x438;</h2>
<p>&#x41A;&#x43E;&#x434; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x430; &#x434;&#x43B;&#x44F; &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438; &#x441;&#x435;&#x442;&#x43A;&#x438; &#x43D;&#x435;&#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x434;&#x43B;&#x438;&#x43D;&#x43D;&#x435;&#x435;, &#x447;&#x435;&#x43C; &#x434;&#x43B;&#x44F; &#x434;&#x435;&#x43C;&#x43E;&#x43D;&#x441;&#x442;&#x440;&#x430;&#x446;&#x438;&#x438; &#x43F;&#x430;&#x43A;&#x430; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439;. &#x411;&#x43E;&#x43B;&#x44C;&#x448;&#x430;&#x44F; &#x447;&#x430;&#x441;&#x442;&#x44C; &#x434;&#x43E;&#x43F;&#x43E;&#x43B;&#x43D;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x434;&#x430; &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x442;&#x441;&#x44F; &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x43E;&#x43A;&#x43B;&#x430;&#x434;&#x43A;&#x438; &#x434;&#x43E;&#x440;&#x43E;&#x433; &#x438; &#x43F;&#x430;&#x440;&#x43A;&#x43E;&#x432;.</p>
<p>&#x41A;&#x430;&#x43A; &#x438; &#x432; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x435; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x433;&#x43E; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x430;, &#x44F; &#x440;&#x438;&#x441;&#x443;&#x44E; &#x434;&#x43E;&#x440;&#x43E;&#x433;&#x438; &#x438; &#x43F;&#x430;&#x440;&#x43A;&#x438;, &#x430; &#x43F;&#x43B;&#x438;&#x442;&#x43A;&#x438; &#x432;&#x44B;&#x431;&#x438;&#x440;&#x430;&#x44E; &#x438;&#x437; &#x441;&#x442;&#x430;&#x43D;&#x434;&#x430;&#x440;&#x442;&#x43D;&#x43E;&#x433;&#x43E; &#x43D;&#x430;&#x431;&#x43E;&#x440;&#x430; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439;. &#x421;&#x435;&#x442;&#x43A;&#x430; &#x43A;&#x432;&#x430;&#x434;&#x440;&#x430;&#x442;&#x43D;&#x430;&#x44F;, &#x43D;&#x435; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x430;&#x44F;, &#x43D;&#x43E; &#x43F;&#x440;&#x438;&#x43D;&#x446;&#x438;&#x43F; &#x442;&#x43E;&#x447;&#x43D;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x439; &#x436;&#x435;.</p>
<p>&#x414;&#x43B;&#x44F; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x430; &#x44F; &#x432;&#x437;&#x44F;&#x43B; &#x442;&#x430;&#x439;&#x43B;&#x441;&#x435;&#x442;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x44F; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43B; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43D;&#x43E; &#x437;&#x430; 5 &#x43C;&#x438;&#x43D;&#x443;&#x442; (&#x432; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x438;&#x435; &#x43E;&#x442; &#x442;&#x43E;&#x433;&#x43E;, &#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x431;&#x44B;&#x43B;&#x43E; &#x43F;&#x43E;&#x442;&#x440;&#x430;&#x447;&#x435;&#x43D;&#x43E; &#x43D;&#x430; &#x442;&#x430;&#x439;&#x43B;&#x441;&#x435;&#x442;&#x44B; &#x434;&#x43B;&#x44F; &#x438;&#x437;&#x43E;&#x43C;&#x435;&#x442;&#x440;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x433;&#x43E; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x430;, &#x447;&#x442;&#x43E; &#x43F;&#x43E; &#x441;&#x441;&#x44B;&#x43B;&#x43A;&#x435; &#x432;&#x44B;&#x448;&#x435;).</p>
<p>&#x41F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x442;&#x430;&#x439;&#x43B;&#x43E;&#x432; &#x433;&#x43E;&#x440;&#x43E;&#x434;&#x430; &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x438;&#x442; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x43D;&#x43E; &#x442;&#x430;&#x43A;:</p>
<p>&#x421;&#x43E;&#x437;&#x434;&#x430;&#x451;&#x43C; &#x431;&#x430;&#x437;&#x43E;&#x432;&#x43E;&#x435; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x438; &#x43F;&#x43E;&#x434;&#x433;&#x440;&#x443;&#x436;&#x430;&#x435;&#x43C; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x44B;.</p>
<ul>
<li>&#x418;&#x43D;&#x438;&#x446;&#x438;&#x430;&#x43B;&#x438;&#x437;&#x438;&#x440;&#x443;&#x435;&#x43C; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432; &#x43C;&#x438;&#x440;&#x430;.</li>
<li>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x434;&#x43E;&#x440;&#x43E;&#x433;&#x438;.</li>
<li>&#x414;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x435;&#x43C; &#x43F;&#x430;&#x440;&#x43A;&#x438;.</li>
<li>&#x420;&#x438;&#x441;&#x443;&#x435;&#x43C; &#x43F;&#x43E;&#x434;&#x433;&#x43E;&#x442;&#x43E;&#x432;&#x43B;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435;.</li>
<li>&#x421;&#x43E;&#x445;&#x440;&#x430;&#x43D;&#x44F;&#x435;&#x43C; &#x432; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;.</li>
</ul>
<p>&#x418;&#x437;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x438;&#x441;&#x445;&#x43E;&#x434;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x434; &#x432;&#x44B; <a href="https://github.com/Magnum01/badcode-php-generative-art?ref=badtry.net">&#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43D;&#x430; Github</a>.</p>
<h2 id>&#x414;&#x43E;&#x440;&#x43E;&#x433;&#x438; &#x438; &#x43F;&#x430;&#x440;&#x43A;&#x438;</h2>
<p>&#x421;&#x430;&#x43C;&#x430;&#x44F; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x430;&#x44F; &#x447;&#x430;&#x441;&#x442;&#x44C; &#x43A;&#x43E;&#x434;&#x430; - &#x44D;&#x442;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x435; &#x434;&#x43E;&#x440;&#x43E;&#x433; &#x438; &#x43F;&#x430;&#x440;&#x43A;&#x43E;&#x432;. &#x42D;&#x442;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x441;&#x43B;&#x443;&#x447;&#x430;&#x439;&#x43D;&#x43E; &#x440;&#x430;&#x441;&#x43F;&#x43E;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x43D;&#x44B;&#x435; &#x43B;&#x438;&#x43D;&#x438;&#x438; (&#x434;&#x43E;&#x440;&#x43E;&#x433;&#x438;) &#x438; &#x43A;&#x432;&#x430;&#x434;&#x440;&#x430;&#x442;&#x44B; (&#x43F;&#x430;&#x440;&#x43A;&#x438;), &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x44F; &#x437;&#x430;&#x442;&#x435;&#x43C; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x43B;&#x44F;&#x44E; &#x432; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432; &#x43C;&#x438;&#x440;&#x430;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x441;&#x43E;&#x43E;&#x442;&#x432;&#x435;&#x442;&#x441;&#x442;&#x432;&#x443;&#x44E;&#x449;&#x438;&#x439; &#x438;&#x43D;&#x434;&#x435;&#x43A;&#x441;. &#x421;&#x43B;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x437;&#x430;&#x43A;&#x43B;&#x44E;&#x447;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x432; &#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x435;&#x43D;&#x438;&#x438; &#x440;&#x430;&#x437;&#x43C;&#x435;&#x440;&#x43E;&#x432; &#x438; &#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x439; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x44D;&#x43B;&#x435;&#x43C;&#x435;&#x43D;&#x442;&#x43E;&#x432;.</p>
<p>&#x41A;&#x430;&#x43A; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432;&#x44B; &#x43F;&#x43E;&#x439;&#x43C;&#x435;&#x442;&#x435; &#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x43D;&#x43E;&#x439; &#x43F;&#x440;&#x438;&#x43D;&#x446;&#x438;&#x43F;, &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x440;&#x435;&#x43A;&#x438;, &#x43C;&#x43E;&#x441;&#x442;&#x44B; &#x438; &#x434;&#x43E;&#x440;&#x43E;&#x436;&#x43A;&#x438; &#x432; &#x43F;&#x430;&#x440;&#x43A;&#x430;&#x445; &#x431;&#x443;&#x434;&#x435;&#x442; &#x434;&#x43E;&#x432;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;. &#x421;&#x430;&#x43C;&#x43E;&#x435; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x43E;&#x435; - &#x43F;&#x43E;&#x434;&#x441;&#x442;&#x440;&#x43E;&#x438;&#x442;&#x44C; &#x437;&#x43D;&#x430;&#x447;&#x435;&#x43D;&#x438;&#x44F; &#x442;&#x430;&#x43A;, &#x447;&#x442;&#x43E;&#x431;&#x44B; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x438;&#x442;&#x44C; &#x43F;&#x440;&#x438;&#x432;&#x43B;&#x435;&#x43A;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43C;&#x430;&#x43A;&#x435;&#x442;.</p>
<p>&#x412; &#x43C;&#x43E;&#x435;&#x439; &#x432;&#x435;&#x440;&#x441;&#x438;&#x438; &#x44F; &#x43D;&#x435; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x438;&#x43B; &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x443;&#x441;&#x438;&#x43B;&#x438;&#x439;, &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x43E;&#x432;&#x435;&#x440;&#x43E;&#x43A;, &#x447;&#x442;&#x43E; &#x432;&#x441;&#x435; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x44D;&#x43B;&#x435;&#x43C;&#x435;&#x43D;&#x442;&#x44B; &#x441;&#x43E;&#x434;&#x435;&#x440;&#x436;&#x430;&#x442;&#x441;&#x44F; &#x432; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x435; &#x43C;&#x438;&#x440;&#x430;. &#x41C;&#x430;&#x441;&#x441;&#x438;&#x432; &#x43C;&#x43E;&#x433; &#x431;&#x44B;&#x442;&#x44C; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x432; &#x43B;&#x44E;&#x431;&#x43E;&#x43C; &#x43D;&#x430;&#x43F;&#x440;&#x430;&#x432;&#x43B;&#x435;&#x43D;&#x438;&#x438;, &#x43D;&#x43E; &#x43F;&#x43E;&#x441;&#x43A;&#x43E;&#x43B;&#x44C;&#x43A;&#x443; &#x44F; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x438;&#x442;&#x435;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43B;&#x441;&#x44F; &#x43F;&#x43E; &#x43C;&#x430;&#x441;&#x441;&#x438;&#x432;&#x443;, &#x438;&#x441;&#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x44F; &#x437;&#x430;&#x434;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x440;&#x430;&#x437;&#x43C;&#x435;&#x440;&#x44B; (GRID_WIDTH &#x438; GRID_HEIGHT), &#x44D;&#x442;&#x438; &#x432;&#x44B;&#x445;&#x43E;&#x434;&#x44F;&#x449;&#x438;&#x435; &#x437;&#x430; &#x440;&#x430;&#x43C;&#x43A;&#x438; &#x441;&#x432;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x430; &#x438;&#x433;&#x43D;&#x43E;&#x440;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43B;&#x438;&#x441;&#x44C;.</p>
<h2 id>&#x427;&#x442;&#x43E; &#x435;&#x449;&#x435;?</h2>
<p>&#x41F;&#x440;&#x43E;&#x446;&#x435;&#x441;&#x441; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x43D;&#x438;&#x44F; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; PHP &#x43E;&#x442;&#x43D;&#x43E;&#x441;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x441;&#x442;. &#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x43C;&#x43D;&#x43E;&#x433;&#x43E;&#x435; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x441; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C;&#x44E; &#x43D;&#x435;&#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x43E;&#x433;&#x43E; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x430; &#x444;&#x443;&#x43D;&#x43A;&#x446;&#x438;&#x439;. &#x41A; &#x442;&#x43E;&#x43C;&#x443; &#x436;&#x435;, <strong>&#x440;&#x430;&#x431;&#x43E;&#x442;&#x430; &#x441; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;&#x43C;&#x438; &#x432; PHP</strong> &#x43D;&#x435; &#x431;&#x44B;&#x43B;&#x430; &#x43F;&#x43E;&#x43B;&#x43D;&#x43E;&#x441;&#x442;&#x44C;&#x44E; &#x43E;&#x441;&#x432;&#x435;&#x449;&#x435;&#x43D;&#x430; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435;. PHP &#x43F;&#x43E;&#x437;&#x432;&#x43E;&#x43B;&#x44F;&#x435;&#x442; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x43C;&#x43D;&#x43E;&#x436;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x438; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x44B;&#x445; &#x432;&#x435;&#x449;&#x435;&#x439; &#x43F;&#x440;&#x438; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x44F;&#x43C;&#x438;.</p>
<p>&#x412;&#x44B; &#x43C;&#x43E;&#x436;&#x435;&#x442;&#x435; &#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x444;&#x438;&#x433;&#x443;&#x440;&#x44B;, &#x43C;&#x430;&#x43D;&#x438;&#x43F;&#x443;&#x43B;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x434;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x43C;&#x438; &#x43F;&#x438;&#x43A;&#x441;&#x435;&#x43B;&#x44F;&#x43C;&#x438;, &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x43D;&#x44F;&#x442;&#x44C; &#x444;&#x438;&#x43B;&#x44C;&#x442;&#x440;&#x44B;. &#x42D;&#x442;&#x43E; &#x43E;&#x433;&#x440;&#x43E;&#x43C;&#x43D;&#x44B;&#x439; &#x43F;&#x43E;&#x442;&#x435;&#x43D;&#x446;&#x438;&#x430;&#x43B;. &#x423; &#x43C;&#x435;&#x43D;&#x44F; &#x435;&#x441;&#x442;&#x44C; &#x438;&#x434;&#x435;&#x438; &#x434;&#x43B;&#x44F; &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x443;&#x44E;&#x449;&#x438;&#x445; &#x441;&#x442;&#x430;&#x442;&#x435;&#x439;, &#x440;&#x438;&#x441;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44E; &#x440;&#x430;&#x437;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x445; &#x438;&#x437;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x439;, &#x438;&#x445; &#x43E;&#x431;&#x440;&#x430;&#x431;&#x43E;&#x442;&#x43A;&#x438;. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x43D;&#x430;&#x434;&#x435;&#x44E;&#x441;&#x44C; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x43B;&#x436;&#x430;&#x442;&#x44C; &#x438;&#x445; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x432;&#x430;&#x442;&#x44C; &#x435;&#x449;&#x451; &#x434;&#x43E;&#x43B;&#x433;&#x43E;&#x435; &#x432;&#x440;&#x435;&#x43C;&#x44F;.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x435; &#x431;&#x44B;&#x43B;&#x438; &#x43F;&#x440;&#x438;&#x432;&#x435;&#x434;&#x435;&#x43D;&#x44B; <strong>&#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x44B; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B; &#x441; GD &#x43D;&#x430; PHP</strong> &#x438; &#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x434; &#x43F;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435; &#x441; &#x433;&#x440;&#x430;&#x444;&#x438;&#x43A;&#x43E;&#x439; &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;&#x435; &#x433;&#x435;&#x43D;&#x435;&#x440;&#x430;&#x442;&#x438;&#x432;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x441;&#x43A;&#x443;&#x441;&#x441;&#x442;&#x432;&#x430;.</p>
<p><strong>&#x41F;&#x435;&#x440;&#x435;&#x432;&#x43E;&#x434; &#x441;&#x442;&#x430;&#x442;&#x44C;&#x438;</strong>: <a href="https://www.binarymoon.co.uk/2021/09/creating-generative-art-with-php/?ref=badtry.net" target="_blank">Creating Generative Art with PHP</a></p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Самый честный отзыв про работу в компании Реактор Днепр]]></title><description><![CDATA[Честно о работе в реакторе, офисе, атмосфере внутри. Стоит ли идти работать PHP-программисту из Днепра в Реактор.]]></description><link>https://badtry.net/samyi-chiestnyi-otzyv-pro-rabotu-v-kompanii-rieaktor/</link><guid isPermaLink="false">62a6324e0f555f2eef8c236c</guid><category><![CDATA[Серьёзный разговор]]></category><category><![CDATA[собеседование]]></category><dc:creator><![CDATA[Fomenko Oleksandr]]></dc:creator><pubDate>Sun, 25 Jul 2021 18:53:57 GMT</pubDate><media:content url="https://badtry.net/content/images/2021/07/workua-preview.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><img src="https://badtry.net/content/images/2021/07/workua-preview.jpg" alt="&#x421;&#x430;&#x43C;&#x44B;&#x439; &#x447;&#x435;&#x441;&#x442;&#x43D;&#x44B;&#x439; &#x43E;&#x442;&#x437;&#x44B;&#x432; &#x43F;&#x440;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x432; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440; &#x414;&#x43D;&#x435;&#x43F;&#x440;"><p>&#x417;&#x43D;&#x430;&#x435;&#x448;&#x44C;, &#x431;&#x44B;&#x432;&#x430;&#x435;&#x442; &#x442;&#x430;&#x43A;, &#x447;&#x442;&#x43E; &#x442;&#x44B; &#x435;&#x449;&#x451; &#x43D;&#x435; &#x443;&#x441;&#x43F;&#x435;&#x432; &#x437;&#x430;&#x43A;&#x43E;&#x43C;&#x43C;&#x438;&#x442;&#x438;&#x442;&#x44C; &#x442;&#x440;&#x430;&#x43D;&#x437;&#x430;&#x43A;&#x446;&#x438;&#x44E; &#x43D;&#x43E;&#x432;&#x43E;&#x433;&#x43E; &#x436;&#x435;&#x43B;&#x430;&#x43D;&#x438;&#x44F;, &#x430; &#x432;&#x441;&#x435;&#x43B;&#x435;&#x43D;&#x43D;&#x430;&#x44F; &#x443;&#x436;&#x435; &#x434;&#x430;&#x451;&#x442; &#x442;&#x435;&#x431;&#x435; &#x432;&#x43E;&#x437;&#x43C;&#x43E;&#x436;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x435;&#x433;&#x43E; &#x43E;&#x441;&#x443;&#x449;&#x435;&#x441;&#x442;&#x432;&#x438;&#x442;&#x44C;. &#x418; &#x445;&#x437; &#x43A;&#x430;&#x43A; &#x44D;&#x442;&#x43E; &#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x44C;&#x43D;&#x43E; &#x43D;&#x430;&#x437;&#x44B;&#x432;&#x430;&#x435;&#x442;&#x441;&#x44F; - &#x441;&#x443;&#x434;&#x44C;&#x431;&#x430;, &#x43D;&#x430;&#x433;&#x440;&#x430;&#x434;&#x430;, &#x438;&#x43B;&#x438; &#x432;&#x435;&#x437;&#x435;&#x43D;&#x438;&#x435;. &#x41D;&#x43E; &#x447;&#x442;&#x43E;-&#x442;&#x43E; &#x43F;&#x43E;&#x434;&#x43E;&#x431;&#x43D;&#x43E;&#x435; &#x441;&#x43B;&#x443;&#x447;&#x438;&#x43B;&#x43E;&#x441;&#x44C; &#x438; &#x441;&#x43E; &#x43C;&#x43D;&#x43E;&#x439;, &#x43A;&#x43E;&#x433;&#x434;&#x430; &#x44F; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x440;&#x435;&#x448;&#x438;&#x43B; &#x43F;&#x43E;&#x43C;&#x435;&#x43D;&#x44F;&#x442;&#x44C; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443;, &#x438; &#x438;&#x441;&#x43A;&#x430;&#x43B;, &#x43A;&#x443;&#x434;&#x430; &#x43C;&#x43D;&#x435;, &#x43A;&#x430;&#x43A; PHP-&#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x43C;&#x438;&#x441;&#x442;&#x443;, &#x43F;&#x43E;&#x439;&#x442;&#x438; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x432; &#x414;&#x43D;&#x435;&#x43F;&#x440;&#x435;.</p>
<p>&#x41F;&#x440;&#x43E; <strong>work.ua</strong>, &#x43E;&#x447;&#x435;&#x432;&#x438;&#x434;&#x43D;&#x43E;, &#x441;&#x43B;&#x44B;&#x448;&#x430;&#x43B;&#x438; &#x432;&#x441;&#x435;. &#x418; &#x44F;, &#x434;&#x443;&#x43C;&#x430;&#x44F; &#x43E; &#x441;&#x432;&#x43E;&#x451;&#x43C; &#x431;&#x443;&#x434;&#x443;&#x449;&#x435;&#x43C; &#x43C;&#x435;&#x441;&#x442;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B;, &#x432;&#x438;&#x434;&#x435;&#x43B; &#x441;&#x435;&#x431;&#x44F; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x432; &#x434;&#x432;&#x443;&#x445; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44F;&#x445;, &#x43E;&#x434;&#x43D;&#x43E;&#x439; &#x438;&#x437; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x445; &#x431;&#x44B;&#x43B;&#x430; <strong>&#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44F; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440;</strong>, &#x440;&#x430;&#x437;&#x440;&#x430;&#x431;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x44E;&#x449;&#x430;&#x44F; Work.ua. &#x410; &#x442;&#x443;&#x442; - &#x438;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x435; &#x441;&#x43E;&#x432;&#x43F;&#x430;&#x434;&#x435;&#x43D;&#x438;&#x435; &#x432;&#x441;&#x435;&#x445; &#x444;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x43E;&#x432;, &#x432;&#x435;&#x434;&#x44C; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x43E;&#x436;&#x435;&#x43B;&#x430;&#x432;, &#x43C;&#x43D;&#x435; &#x441;&#x440;&#x430;&#x437;&#x443; &#x436;&#x435; &#x43D;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x43B;&#x430; HR &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x441; &#x43F;&#x440;&#x435;&#x434;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x435; &#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x435;. &#x421;&#x43E;&#x432;&#x43F;&#x430;&#x434;&#x435;&#x43D;&#x438;&#x435;? &#x41D;&#x435; &#x434;&#x443;&#x43C;&#x430;&#x44E;)</p>
<p>&#x416;&#x435;&#x43B;&#x430;&#x43D;&#x438;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x438;&#x43C;&#x435;&#x43D;&#x43D;&#x43E; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x431;&#x44B;&#x43B;&#x43E; &#x432;&#x44B;&#x437;&#x432;&#x430;&#x43D;&#x44B; &#x43E;&#x431;&#x44A;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x43D;&#x44B;&#x43C;&#x438; &#x43F;&#x43B;&#x44E;&#x441;&#x430;&#x43C;&#x438;:</p>
<ul>
<li>&#x41A;&#x440;&#x443;&#x442;&#x43E; &#x431;&#x44B;&#x442;&#x44C; &#x447;&#x430;&#x441;&#x442;&#x44C;&#x44E; &#x447;&#x435;&#x433;&#x43E;-&#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x442;&#x44B; &#x441;&#x430;&#x43C; &#x43B;&#x44E;&#x431;&#x438;&#x448;&#x44C;, &#x438; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443;&#x435;&#x448;&#x44C;&#x441;&#x44F;</li>
<li>&#x42D;&#x442;&#x43E; highload - &#x43F;&#x43E;&#x43B;&#x435;&#x437;&#x43D;&#x44B;&#x439; &#x43E;&#x43F;&#x44B;&#x442;, &#x431;&#x443;&#x441;&#x442; &#x441;&#x43A;&#x438;&#x43B;&#x43B;&#x43E;&#x432;, &#x441;&#x438;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x430;</li>
<li>&#x418;&#x434;&#x435;&#x430;&#x43B;&#x44B; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x43D;&#x435; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43D;&#x430; &#x431;&#x443;&#x43C;&#x430;&#x433;&#x435;, &#x430; &#x43D;&#x430; &#x434;&#x435;&#x43B;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x431;&#x44B;&#x43B;&#x438; &#x43C;&#x43D;&#x435; &#x431;&#x43B;&#x438;&#x437;&#x43A;&#x438;</li>
<li>&#x423; &#x43C;&#x435;&#x43D;&#x44F; &#x443;&#x436;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B; &#x434;&#x440;&#x443;&#x433; &#x432; &#x44D;&#x442;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x44F; &#x437;&#x43D;&#x430;&#x43B;, &#x43A;&#x443;&#x434;&#x430; &#x438;&#x434;&#x443; :)</li>
</ul>
<p>&#x418; &#x432;&#x43E;&#x442;, &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x439;&#x434;&#x44F; &#x442;&#x435;&#x445;&#x43D;&#x438;&#x447;&#x435;&#x441;&#x43A;&#x43E;&#x435; &#x441;&#x43E;&#x431;&#x435;&#x441;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435;, &#x437;&#x430;&#x442;&#x435;&#x43C; &#x441;&#x43E;&#x431;&#x435;&#x441;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x441; &#x441;&#x43E;&#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x43C;. &#x418; &#x44F; &#x443;&#x436;&#x435; &#x43F;&#x43E;&#x43B;&#x43D;&#x43E;&#x446;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x43D;&#x438;&#x43A; Work.ua. &#x418; &#x441;&#x43E;&#x437;&#x43D;&#x430;&#x43D;&#x438;&#x435;&#x43C;, &#x43F;&#x43E;&#x43A;&#x430; &#x435;&#x449;&#x451; &#x442;&#x43E;&#x442;, &#x43A;&#x442;&#x43E; &#x434;&#x43E; &#x43A;&#x43E;&#x43D;&#x446;&#x430; &#x43D;&#x435; &#x43F;&#x43E;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442;, &#x43A;&#x443;&#x434;&#x430; &#x43F;&#x43E;&#x43F;&#x430;&#x43B;, &#x438; &#x43A;&#x430;&#x43A; &#x43C;&#x43D;&#x435; &#x43F;&#x43E;&#x432;&#x435;&#x437;&#x43B;&#x43E; &#x43D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435;.</p>
<p>&#x410; &#x437;&#x430;&#x442;&#x435;&#x43C;, &#x44F; &#x443;&#x436;&#x435; &#x441;&#x447;&#x430;&#x441;&#x442;&#x43B;&#x438;&#x432;&#x44B;&#x439; &#x43E;&#x431;&#x43B;&#x430;&#x434;&#x430;&#x442;&#x435;&#x43B;&#x44C; 3 &#x444;&#x443;&#x442;&#x431;&#x43E;&#x43B;&#x43E;&#x43A;, 1 &#x431;&#x430;&#x43D;&#x430;&#x43D;&#x43A;&#x438;, &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x44B; (&#x444;&#x443;&#x442;&#x431;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x432; &#x442;&#x43E;&#x43C; &#x447;&#x438;&#x441;&#x43B;&#x435;), &#x431;&#x435;&#x441;&#x446;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x43E;&#x43F;&#x44B;&#x442;&#x430;, &#x43C;&#x43E;&#x442;&#x438;&#x432;&#x430;&#x446;&#x438;&#x438; &#x438; &#x441;&#x435;&#x440;&#x434;&#x446;&#x430; &#x43D;&#x430;&#x43F;&#x43E;&#x43B;&#x43D;&#x435;&#x43D;&#x43D;&#x43E;&#x433;&#x43E; &#x431;&#x435;&#x437;&#x433;&#x440;&#x430;&#x43D;&#x438;&#x447;&#x43D;&#x44B;&#x43C; &#x443;&#x432;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;&#x43C; &#x438; &#x43B;&#x44E;&#x431;&#x43E;&#x432;&#x44C;&#x44E; &#x43A;&#x43E; &#x432;&#x441;&#x435;&#x43C;, &#x441; &#x43A;&#x435;&#x43C; &#x43C;&#x43D;&#x435; &#x443;&#x434;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x441;&#x43E;&#x43F;&#x440;&#x438;&#x43A;&#x43E;&#x441;&#x43D;&#x443;&#x442;&#x44C;&#x441;&#x44F;. &#x418; &#x44D;&#x442;&#x43E; &#x441;&#x43F;&#x443;&#x441;&#x442;&#x44F; &#x432;&#x441;&#x435;&#x433;&#x43E; 3 &#x43C;&#x435;&#x441;&#x44F;&#x446;&#x430;. &#x418; &#x44D;&#x442;&#x43E; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43D;&#x430;&#x447;&#x430;&#x43B;&#x43E;.</p>
<p>&#x41A;&#x43E;&#x433;&#x434;&#x430;-&#x442;&#x43E;, &#x43F;&#x43E; &#x438;&#x442;&#x43E;&#x433;&#x430;&#x43C; &#x438;&#x441;&#x43F;&#x44B;&#x442;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x433;&#x43E; &#x441;&#x440;&#x43E;&#x43A;&#x430;, &#x43C;&#x435;&#x43D;&#x44F; &#x441;&#x43F;&#x440;&#x43E;&#x441;&#x438;&#x43B;&#x438;, &#x447;&#x442;&#x43E; &#x43C;&#x43D;&#x435; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x432;&#x441;&#x435;&#x433;&#x43E; &#x43D;&#x440;&#x430;&#x432;&#x438;&#x442;&#x441;&#x44F; &#x432; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;. &#x42F; &#x434;&#x430;&#x436;&#x435; &#x43D;&#x435; &#x437;&#x430;&#x434;&#x443;&#x43C;&#x430;&#x43B;&#x441;&#x44F;, &#x438; &#x43E;&#x442;&#x432;&#x435;&#x442;&#x438;&#x43B; - <strong>&#x43B;&#x44E;&#x434;&#x438;</strong>. &#x414;&#x430;, &#x431;&#x435;&#x437;&#x443;&#x441;&#x43B;&#x43E;&#x432;&#x43D;&#x43E;, &#x437;&#x434;&#x435;&#x441;&#x44C; &#x43A;&#x440;&#x443;&#x442;&#x43E;&#x439; &#x43E;&#x444;&#x438;&#x441;, &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x435; &#x443;&#x441;&#x43B;&#x43E;&#x432;&#x438;&#x44F;, &#x432;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x43A; &#x43C;&#x435;&#x43B;&#x43E;&#x447;&#x430;&#x43C;. &#x41D;&#x43E; &#x433;&#x43B;&#x430;&#x432;&#x43D;&#x430;&#x44F; &#x446;&#x435;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x442;&#x443;&#x442; &#x441;&#x43E;&#x432;&#x441;&#x435;&#x43C; &#x43D;&#x435; &#x43E;&#x444;&#x438;&#x441;.</p>
<p><strong>&#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440; - &#x44D;&#x442;&#x43E; &#x43B;&#x44E;&#x434;&#x438;</strong>. &#x41B;&#x44E;&#x434;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x44F;&#x432;&#x43B;&#x44F;&#x44E;&#x442;&#x441;&#x44F; &#x441;&#x435;&#x440;&#x434;&#x446;&#x435;&#x43C; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;, &#x435;&#x451; &#x44F;&#x434;&#x440;&#x43E;&#x43C;. &#x41B;&#x44E;&#x434;&#x438;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x434;&#x432;&#x438;&#x433;&#x430;&#x44E;&#x442; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E; &#x432;&#x43F;&#x435;&#x440;&#x451;&#x434;, &#x440;&#x430;&#x437;&#x432;&#x438;&#x432;&#x430;&#x44E;&#x442;&#x441;&#x44F; &#x441;&#x430;&#x43C;&#x438;, &#x438; &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x44E;&#x442; &#x434;&#x432;&#x438;&#x433;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43E;&#x43A;&#x440;&#x443;&#x436;&#x430;&#x44E;&#x449;&#x438;&#x445; &#x438;&#x445; &#x43B;&#x44E;&#x434;&#x435;&#x439;. &#x414;&#x432;&#x438;&#x433;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x441;&#x442;&#x440;&#x435;&#x43C;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x43A; &#x438;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;&#x43C;&#x443;, &#x438; &#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x438;&#x442;&#x44C;&#x441;&#x44F; &#x43B;&#x443;&#x447;&#x448;&#x435;&#x439; &#x432;&#x435;&#x440;&#x441;&#x438;&#x435;&#x439; &#x441;&#x435;&#x431;&#x44F;.</p>
<p>&#x42D;&#x442;&#x43E; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44F; &#x443;&#x434;&#x438;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x430;. &#x41A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x435;&#x451; &#x447;&#x43B;&#x435;&#x43D; - &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x430;&#x44F; &#x438; &#x442;&#x430;&#x43B;&#x430;&#x43D;&#x442;&#x43B;&#x438;&#x432;&#x430;&#x44F; &#x43B;&#x438;&#x447;&#x43D;&#x43E;&#x441;&#x442;&#x44C;. &#x41A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x438;&#x437; &#x435;&#x451; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x43D;&#x438;&#x43A;&#x43E;&#x432; - &#x43C;&#x430;&#x43B;&#x435;&#x43D;&#x44C;&#x43A;&#x438;&#x439; &#x430;&#x442;&#x43E;&#x43C;, &#x43F;&#x440;&#x43E;&#x434;&#x435;&#x43B;&#x44B;&#x432;&#x430;&#x44E;&#x449;&#x438;&#x439; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x443;&#x44E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x432; &#x43E;&#x433;&#x440;&#x43E;&#x43C;&#x43D;&#x43E;&#x43C; &#x438; &#x441;&#x43B;&#x430;&#x436;&#x435;&#x43D;&#x43D;&#x43E;&#x43C; &#x43C;&#x435;&#x445;&#x430;&#x43D;&#x438;&#x437;&#x43C;&#x435;. &#x423;&#x436;&#x435; &#x441; &#x43F;&#x435;&#x440;&#x432;&#x44B;&#x445; &#x434;&#x43D;&#x435;&#x439; &#x43C;&#x435;&#x43D;&#x44F; &#x43F;&#x43E;&#x43A;&#x43E;&#x440;&#x438;&#x43B;&#x430; &#x430;&#x442;&#x43C;&#x43E;&#x441;&#x444;&#x435;&#x440;&#x430;, &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E;&#x442;&#x430;, &#x438; &#x431;&#x43B;&#x430;&#x433;&#x43E;&#x43F;&#x440;&#x438;&#x44F;&#x442;&#x43D;&#x44B;&#x439; &#x43A;&#x43B;&#x438;&#x43C;&#x430;&#x442; &#x432; &#x43A;&#x43E;&#x43B;&#x43B;&#x435;&#x43A;&#x442;&#x438;&#x432;&#x435;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439;, &#x443;&#x432;&#x435;&#x440;&#x435;&#x43D;, &#x431;&#x44B;&#x43B; &#x43F;&#x43E;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43D; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x438;&#x43C; &#x442;&#x440;&#x443;&#x434;&#x43E;&#x43C;.</p>
<p>&#x412; &#x44D;&#x442;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x44F; &#x43F;&#x43E;&#x432;&#x441;&#x442;&#x440;&#x435;&#x447;&#x430;&#x43B; &#x43E;&#x433;&#x440;&#x43E;&#x43C;&#x43D;&#x43E;&#x435; &#x43A;&#x43E;&#x43B;&#x438;&#x447;&#x435;&#x441;&#x442;&#x432;&#x43E; &#x43D;&#x435;&#x440;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x43A;&#x440;&#x443;&#x442;&#x44B;&#x445;, &#x434;&#x443;&#x448;&#x435;&#x432;&#x43D;&#x44B;&#x445;, &#x432;&#x435;&#x441;&#x435;&#x43B;&#x44B;&#x445;, &#x438; &#x443;&#x43C;&#x43D;&#x44B;&#x445; &#x440;&#x435;&#x431;&#x44F;&#x442;. &#x417;&#x434;&#x435;&#x441;&#x44C; &#x44F; &#x443;&#x432;&#x438;&#x434;&#x435;&#x43B; &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x443;&#x43D;&#x438;&#x43A;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x445;, &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x44E;&#x449;&#x438;&#x445; &#x438;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x439;. &#x418;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x439; &#x440;&#x43E;&#x441;&#x442;&#x430; &#x432; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;. &#x418;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x439; &#x43F;&#x440;&#x435;&#x43E;&#x434;&#x43E;&#x43B;&#x435;&#x43D;&#x438;&#x44F; &#x441;&#x435;&#x431;&#x44F;. &#x418;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x439; &#x442;&#x440;&#x443;&#x434;&#x430;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x431;&#x44B;&#x43B;&#x438; &#x432;&#x43E;&#x437;&#x43D;&#x430;&#x433;&#x440;&#x430;&#x436;&#x434;&#x435;&#x43D;&#x44B;. &#x421;&#x435;&#x439;&#x447;&#x430;&#x441; &#x43D;&#x430; &#x443;&#x43C;&#x435; &#x432;&#x435;&#x440;&#x442;&#x438;&#x442;&#x441;&#x44F; &#x43F;&#x43E;&#x433;&#x43E;&#x432;&#x43E;&#x440;&#x43A;&#x430; &#x438;&#x437; &#x434;&#x435;&#x442;&#x441;&#x442;&#x432;&#x430; &quot;&#x422;&#x435;&#x440;&#x43F;&#x435;&#x43D;&#x438;&#x435; &#x438; &#x442;&#x440;&#x443;&#x434; &#x432;&#x441;&#x451; &#x43F;&#x435;&#x440;&#x435;&#x442;&#x440;&#x443;&#x442;&quot;. &#x41D;&#x43E; &#x441;&#x435;&#x439;&#x447;&#x430;&#x441;, &#x441;&#x43C;&#x43E;&#x442;&#x440;&#x44F; &#x43D;&#x430; &#x440;&#x435;&#x431;&#x44F;&#x442;, &#x43E;&#x43D;&#x430; &#x432;&#x43E;&#x441;&#x43F;&#x440;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x435;&#x442;&#x441;&#x44F; &#x441;&#x43E;&#x432;&#x441;&#x435;&#x43C; &#x43F;&#x43E; &#x434;&#x440;&#x443;&#x433;&#x43E;&#x43C;&#x443;.</p>
<p>&#x41D;&#x430; &#x441;&#x430;&#x43C;&#x43E;&#x43C; &#x434;&#x435;&#x43B;&#x435;, &#x435;&#x449;&#x451; &#x43D;&#x430; &#x44D;&#x442;&#x430;&#x43F;&#x435; &#x441;&#x43E;&#x431;&#x435;&#x441;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x44F; &#x441; &#x441;&#x43E;&#x43E;&#x441;&#x43D;&#x43E;&#x432;&#x430;&#x442;&#x435;&#x43B;&#x435;&#x43C; &#x44F; &#x443;&#x436;&#x435; &#x443;&#x432;&#x438;&#x434;&#x435;&#x43B; &#x43A;&#x440;&#x443;&#x442;&#x44B;&#x435; &#x437;&#x43D;&#x430;&#x43A;&#x438;. &#x41F;&#x43E;&#x441;&#x43B;&#x435; &#x43D;&#x435;&#x433;&#x43E; &#x44F; &#x435;&#x449;&#x451; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x438;&#x43B;&#x441;&#x44F; &#x43D;&#x430; &#x431;&#x43B;&#x430;&#x433;&#x43E;&#x442;&#x432;&#x43E;&#x440;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C;, &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C; &#x43B;&#x44E;&#x434;&#x44F;&#x43C;. &#x41F;&#x43E;&#x441;&#x43B;&#x435; &#x43D;&#x435;&#x433;&#x43E; &#x445;&#x43E;&#x442;&#x435;&#x43B;&#x43E;&#x441;&#x44C; &#x431;&#x44B;&#x442;&#x44C; &#x435;&#x449;&#x451; &#x43B;&#x443;&#x447;&#x448;&#x435;, &#x435;&#x449;&#x451; &#x431;&#x43E;&#x43B;&#x44C;&#x448;&#x435; &#x43F;&#x43E;&#x434;&#x434;&#x435;&#x440;&#x436;&#x438;&#x432;&#x430;&#x442;&#x44C; &#x43B;&#x44E;&#x434;&#x435;&#x439;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x44D;&#x442;&#x43E; &#x437;&#x430;&#x441;&#x43B;&#x443;&#x436;&#x438;&#x432;&#x430;&#x44E;&#x442;, &#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x442;&#x44C;. &#x418; &#x44D;&#x442;&#x438;&#x43C;&#x438; &#x44D;&#x43C;&#x43E;&#x446;&#x438;&#x44F;&#x43C;&#x438; &#x43F;&#x440;&#x43E;&#x43F;&#x438;&#x442;&#x430;&#x43D; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x441;&#x430;&#x43D;&#x442;&#x438;&#x43C;&#x435;&#x442;&#x440; &#x43E;&#x444;&#x438;&#x441;&#x430; &#x44D;&#x442;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;.</p>
<p>&#x421;&#x43F;&#x430;&#x441;&#x438;&#x431;&#x43E; &#x432;&#x430;&#x43C;, &#x440;&#x435;&#x431;&#x44F;&#x442;&#x430;, &#x432;&#x44B; &#x43A;&#x43B;&#x430;&#x441;&#x441;&#x43D;&#x44B;&#x435;!</p>
<ul>
<li><strong>&#x410;&#x43D;&#x434;&#x440;&#x435;&#x439;, &#x410;&#x440;&#x442;&#x443;&#x440;</strong> &#x437;&#x430; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E;, &#x432;&#x43D;&#x438;&#x43C;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E;&#x441;&#x442;&#x44C; &#x43A; &#x43C;&#x435;&#x43B;&#x43E;&#x447;&#x430;&#x43C; &#x438; &#x443;&#x441;&#x43F;&#x435;&#x448;&#x43D;&#x443;&#x44E; &#x43F;&#x43E;&#x43F;&#x44B;&#x442;&#x43A;&#x443; &#x441;&#x43E;&#x437;&#x434;&#x430;&#x442;&#x44C; &#x438;&#x434;&#x435;&#x430;&#x43B;&#x44C;&#x43D;&#x443;&#x44E; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E;.</li>
<li><strong>&#x41B;&#x435;&#x43D;&#x430;, &#x421;&#x442;&#x430;&#x441;</strong>, &#x437;&#x430; &#x442;&#x435;&#x43F;&#x43B;&#x43E;&#x442;&#x443;, &#x43E;&#x442;&#x43A;&#x440;&#x44B;&#x442;&#x43E;&#x441;&#x442;&#x44C;, &#x43D;&#x435;&#x432;&#x435;&#x440;&#x43E;&#x44F;&#x442;&#x43D;&#x44B;&#x435; &#x438; &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x43B;&#x44F;&#x44E;&#x449;&#x438;&#x435; &#x438;&#x441;&#x442;&#x43E;&#x440;&#x438;&#x438; &#x442;&#x440;&#x443;&#x434;&#x430;, &#x446;&#x435;&#x43B;&#x435;&#x443;&#x441;&#x442;&#x440;&#x435;&#x43C;&#x43B;&#x451;&#x43D;&#x43D;&#x43E;&#x441;&#x442;&#x438;. &#x417;&#x430; &#x43B;&#x44E;&#x431;&#x43E;&#x432;&#x44C; &#x43A; &#x441;&#x432;&#x43E;&#x438;&#x43C; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x430;&#x43C;. &#x422;&#x430; &#x438; &#x432;&#x43E;&#x43E;&#x431;&#x449;&#x435;, &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x43E;&#x431;&#x449;&#x430;&#x44F;&#x441;&#x44C; &#x441; &#x432;&#x430;&#x43C;&#x438;, &#x445;&#x43E;&#x447;&#x435;&#x442;&#x441;&#x44F; &#x43F;&#x440;&#x44F;&#x43C; &#x440;&#x430;&#x434;&#x43E;&#x432;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x443;&#x43B;&#x44B;&#x431;&#x430;&#x442;&#x44C;&#x441;&#x44F;, &#x43D;&#x430;&#x441;&#x43B;&#x430;&#x436;&#x434;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43C;&#x43E;&#x43C;&#x435;&#x43D;&#x442;&#x43E;&#x43C;.</li>
<li><strong>&#x414;&#x438;&#x43C;&#x430;</strong> - &#x437;&#x430; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x44B;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x441;&#x430;&#x43C;&#x43E;&#x43E;&#x442;&#x434;&#x430;&#x447;&#x443;, &#x43F;&#x43E;&#x437;&#x438;&#x442;&#x438;&#x432;, &#x43E;&#x43F;&#x44B;&#x442; &#x438; &#x443;&#x43C;. &#x417;&#x430; &#x43F;&#x43E;&#x43C;&#x43E;&#x449;&#x44C; &#x438; &#x434;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x435;. &#x417;&#x430; &#x43A;&#x440;&#x443;&#x442;&#x43E;&#x439; &#x43F;&#x440;&#x438;&#x43C;&#x435;&#x440;, &#x43A;&#x430;&#x43A; &#x43D;&#x443;&#x436;&#x43D;&#x43E; &#x431;&#x440;&#x430;&#x442;&#x44C; &#x441;&#x430;&#x43C;&#x44B;&#x435; &#x441;&#x43B;&#x43E;&#x436;&#x43D;&#x44B;&#x435; &#x43A;&#x443;&#x441;&#x43A;&#x438;, &#x443;&#x441;&#x43F;&#x435;&#x432;&#x430;&#x442;&#x44C; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x43E; &#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x438; &#x438;&#x445;, &#x438; &#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x442;&#x44C; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x435;.</li>
<li><strong>&#x420;&#x43E;&#x43C;&#x430;, &#x412;&#x430;&#x434;&#x438;&#x43C;</strong> - superteam, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x43A;&#x430;&#x437;&#x430;&#x43B;&#x438;, &#x447;&#x442;&#x43E; &#x442;&#x430;&#x43A;&#x43E;&#x435; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x430;, &#x447;&#x442;&#x43E; &#x441;&#x43E;&#x431;&#x440;&#x430;&#x43D;&#x438;&#x44F; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x44B; &#x43C;&#x43E;&#x433;&#x443;&#x442; &#x431;&#x44B;&#x442;&#x44C; &#x43F;&#x43E;&#x445;&#x43E;&#x436;&#x438;&#x43C;&#x438; &#x43D;&#x430; &#x442;&#x443;&#x441;&#x43E;&#x432;&#x43A;&#x443;.</li>
<li><strong>&#x41D;&#x438;&#x43A;&#x438;&#x442;&#x430;, &#x41C;&#x430;&#x448;&#x430;, &#x414;&#x430;&#x448;&#x430;</strong> &#x437;&#x430; &#x43A;&#x440;&#x443;&#x442;&#x43E;&#x435; &#x43D;&#x430;&#x441;&#x442;&#x440;&#x43E;&#x435;&#x43D;&#x438;&#x435;, &#x438;&#x433;&#x440;&#x44B; &#x43F;&#x43E; &#x43F;&#x44F;&#x442;&#x43D;&#x438;&#x446;&#x430;&#x43C; &#x438; &#x441;&#x430;&#x43C;&#x44B;&#x439; &#x432;&#x43A;&#x443;&#x441;&#x43D;&#x44B;&#x439; &#x43A;&#x43E;&#x444;&#x435; &#x432; &#x432;&#x430;&#x448;&#x435;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;.</li>
<li>&#x421;&#x43F;&#x430;&#x441;&#x438;&#x431;&#x43E; &#x444;&#x443;&#x442;&#x431;&#x43E;&#x43B;&#x44C;&#x43D;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x435;, &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x435; &#x43F;&#x440;&#x43E;&#x434;&#x443;&#x43A;&#x442;&#x430;, <strong>&#x41C;&#x430;&#x43A;&#x441;&#x443;</strong> &#x438; <strong>&#x410;&#x43D;&#x434;&#x440;&#x435;&#x44E;</strong>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43F;&#x43E;&#x432;&#x435;&#x440;&#x438;&#x43B;&#x438; &#x432; &#x43C;&#x435;&#x43D;&#x44F; &#x43D;&#x430; &#x441;&#x43E;&#x431;&#x435;&#x441;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x438;.</li>
<li><strong>&#x410;&#x43D;&#x435;</strong> - &#x437;&#x430; &#x441;&#x430;&#x43C;&#x44B;&#x435; &#x44F;&#x440;&#x43A;&#x438;&#x435; &#x441;&#x43E;&#x431;&#x44B;&#x442;&#x438;&#x44F;, &#x43A;&#x43E;&#x440;&#x43F;&#x43E;&#x440;&#x430;&#x442;&#x438;&#x432;&#x44B;, &#x441;&#x434;&#x435;&#x43B;&#x430;&#x43D;&#x43D;&#x44B;&#x435; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43D;&#x430; &quot;&#x445;&#x43E;&#x440;&#x43E;&#x448;&#x43E;&quot;.</li>
<li><strong>&#x41B;&#x435;&#x43D;&#x435;</strong> &#x441; <strong>&#x41E;&#x43B;&#x435;&#x439;</strong>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x435; &#x43D;&#x430;&#x448;&#x43B;&#x438; &#x43C;&#x435;&#x43D;&#x44F;, &#x43F;&#x440;&#x438;&#x432;&#x435;&#x43B;&#x438; &#x432; &#x43B;&#x443;&#x447;&#x448;&#x443;&#x44E; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E;.</li>
<li>&#x42D;&#x442;&#x43E;&#x442; &#x441;&#x43F;&#x438;&#x441;&#x43E;&#x43A; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x43F;&#x440;&#x43E;&#x434;&#x43E;&#x43B;&#x436;&#x430;&#x442;&#x44C; &#x432;&#x435;&#x447;&#x43D;&#x43E;, &#x432;&#x435;&#x434;&#x44C; &#x43A;&#x43E;&#x433;&#x43E; &#x43D;&#x435; &#x432;&#x43E;&#x437;&#x44C;&#x43C;&#x438;, &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x438;&#x437; &#x432;&#x430;&#x441; &#x43D;&#x435;&#x43F;&#x43E;&#x432;&#x442;&#x43E;&#x440;&#x438;&#x43C;, &#x441; &#x433;&#x43B;&#x443;&#x431;&#x438;&#x43D;&#x43E;&#x439; &#x438; &#x447;&#x435;&#x43C;-&#x442;&#x43E; &#x443;&#x434;&#x438;&#x432;&#x438;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x44B;&#x43C; &#x438; &#x437;&#x430;&#x445;&#x432;&#x430;&#x442;&#x44B;&#x432;&#x430;&#x44E;&#x449;&#x438;&#x43C; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438;. &#x421;&#x43F;&#x430;&#x441;&#x438;&#x431;&#x43E; &#x432;&#x441;&#x435;&#x43C;, &#x432;&#x44B; &#x43A;&#x440;&#x443;&#x442;&#x44B;&#x435;. &#x412;&#x44B; &#x434;&#x435;&#x43B;&#x430;&#x435;&#x442;&#x435; &#x44D;&#x442;&#x443; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E; &#x43B;&#x443;&#x447;&#x448;&#x435;.</li>
</ul>
<p>&#x414;&#x430;, &#x432; &#x414;&#x43D;&#x435;&#x43F;&#x440;&#x435;, &#x434;&#x430; &#x438; &#x432;&#x43E;&#x43E;&#x431;&#x449;&#x435;, &#x432; &#x423;&#x43A;&#x440;&#x430;&#x438;&#x43D;&#x435;, &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x43A;&#x440;&#x443;&#x442;&#x44B;&#x445; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x439;. &#x418; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44F; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440; - <strong>&#x43E;&#x43F;&#x440;&#x435;&#x434;&#x435;&#x43B;&#x451;&#x43D;&#x43D;&#x43E; &#x43A;&#x440;&#x443;&#x442;&#x430;&#x44F;</strong>. &#x42F;, &#x43A;&#x430;&#x43A; &#x447;&#x435;&#x43B;&#x43E;&#x432;&#x435;&#x43A;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x43F;&#x43E;&#x43C;&#x43D;&#x438;&#x442; &#x441;&#x432;&#x43E;&#x438; &#x43E;&#x43F;&#x430;&#x441;&#x43A;&#x438; &#x43F;&#x43E; &#x43F;&#x43E;&#x432;&#x43E;&#x434;&#x443; &#x44D;&#x442;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;, &#x438; &#x43F;&#x43E;&#x431;&#x44B;&#x432;&#x430;&#x432;&#x448;&#x438;&#x439; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438;, &#x43C;&#x43E;&#x433;&#x443; &#x441;&#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x438; &#x432;&#x441;&#x451; &#x432; &#x440;&#x430;&#x437;&#x44B; &#x43A;&#x440;&#x443;&#x447;&#x435;, &#x447;&#x435;&#x43C; &#x43C;&#x43D;&#x435; &#x43A;&#x430;&#x437;&#x430;&#x43B;&#x43E;&#x441;&#x44C; &#x441;&#x43E; &#x441;&#x442;&#x43E;&#x440;&#x43E;&#x43D;&#x44B;.</p>
<p>&#x41F;&#x435;&#x440;&#x435;&#x434; &#x443;&#x441;&#x442;&#x440;&#x43E;&#x439;&#x441;&#x442;&#x432;&#x43E;&#x43C; &#x43D;&#x430; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x432; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440; &#x43C;&#x435;&#x43D;&#x44F; &#x431;&#x435;&#x441;&#x43F;&#x43E;&#x43A;&#x43E;&#x438;&#x43B;&#x43E;, &#x447;&#x442;&#x43E; &#x43E;&#x431; &#x44D;&#x442;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43C;&#x430;&#x43B;&#x43E; &#x43E;&#x442;&#x437;&#x44B;&#x432;&#x43E;&#x432;. &#x410; &#x432;&#x435;&#x434;&#x44C; &#x44D;&#x442;&#x43E; <strong>&#x43D;&#x435;&#x437;&#x430;&#x441;&#x43B;&#x443;&#x436;&#x435;&#x43D;&#x43D;&#x43E; &#x43D;&#x435;&#x441;&#x43F;&#x440;&#x430;&#x432;&#x435;&#x434;&#x43B;&#x438;&#x432;&#x43E;</strong>. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x447;&#x442;&#x43E; &#x43A;&#x430;&#x43A; &#x438; &#x43A;&#x430;&#x436;&#x434;&#x430;&#x44F; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x430;&#x44F; &#x434;&#x435;&#x432;&#x443;&#x448;&#x43A;&#x430; &#x434;&#x43E;&#x43B;&#x436;&#x43D;&#x430; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x441;&#x435;&#x431;&#x435; &#x445;&#x43E;&#x440;&#x43E;&#x448;&#x435;&#x433;&#x43E; &#x43C;&#x443;&#x436;&#x430;, &#x442;&#x430;&#x43A; &#x438; &#x43A;&#x430;&#x436;&#x434;&#x44B;&#x439; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x43D;&#x438;&#x43A; &#x434;&#x43E;&#x43B;&#x436;&#x435;&#x43D; &#x43D;&#x430;&#x439;&#x442;&#x438; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x439; &#x437;&#x430;&#x445;&#x43E;&#x447;&#x435;&#x442;&#x441;&#x44F; &#x43E;&#x441;&#x442;&#x430;&#x442;&#x44C;&#x441;&#x44F;. &#x418; &#x435;&#x441;&#x43B;&#x438; &#x442;&#x435;&#x431;&#x435; &#x438;&#x43D;&#x442;&#x435;&#x440;&#x435;&#x441;&#x43D;&#x43E;, &#x442;&#x43E; &#x434;&#x43B;&#x44F; &#x43C;&#x435;&#x43D;&#x44F;, &#x44D;&#x442;&#x43E; &#x438;&#x43C;&#x435;&#x43D;&#x43D;&#x43E; &#x442;&#x430; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44F;, &#x432; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x439; &#x44F; &#x445;&#x43E;&#x442;&#x435;&#x43B; &#x431;&#x44B; &#x43E;&#x441;&#x442;&#x430;&#x442;&#x44C;&#x441;&#x44F;.</p>
<p>&#x42F; &#x432;&#x441;&#x435;&#x433;&#x434;&#x430; &#x438;&#x441;&#x43A;&#x430;&#x43B; &#x442;&#x430;&#x43A;&#x443;&#x44E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443;, &#x433;&#x434;&#x435; &#x43C;&#x43D;&#x435; &#x445;&#x43E;&#x442;&#x435;&#x43B;&#x43E;&#x441;&#x44C; &#x431;&#x44B; &#x43E;&#x441;&#x442;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43D;&#x430;&#x432;&#x441;&#x435;&#x433;&#x434;&#x430;. &#x418; &#x435;&#x441;&#x43B;&#x438; &#x442;&#x44B; &#x434;&#x43E; &#x441;&#x438;&#x445; &#x43F;&#x43E;&#x440; &#x434;&#x443;&#x43C;&#x430;&#x435;&#x448;&#x44C;, &#x447;&#x442;&#x43E; &#x445;&#x43E;&#x434;&#x438;&#x442;&#x44C; &#x43D;&#x430; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x441; &#x440;&#x430;&#x434;&#x43E;&#x441;&#x442;&#x44C;&#x44E; - &#x44D;&#x442;&#x43E; &#x43C;&#x438;&#x444;. &#x422;&#x43E;, &#x432;&#x435;&#x440;&#x43E;&#x44F;&#x442;&#x43D;&#x43E;, &#x442;&#x44B; &#x43F;&#x440;&#x43E;&#x441;&#x442;&#x43E; &#x43D;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x43B; &#x432; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440;&#x435;.</p>
<p>&#x41E;&#x447;&#x435;&#x43D;&#x44C; &#x43F;&#x440;&#x438;&#x44F;&#x442;&#x43D;&#x43E; &#x431;&#x44B;&#x442;&#x44C; &#x447;&#x430;&#x441;&#x442;&#x44C;&#x44E; &#x447;&#x435;&#x433;&#x43E;-&#x442;&#x43E; &#x432;&#x43E;&#x438;&#x441;&#x442;&#x438;&#x43D;&#x443; &#x434;&#x43E;&#x441;&#x442;&#x43E;&#x439;&#x43D;&#x43E;&#x433;&#x43E; &#x438; &#x432;&#x435;&#x43B;&#x438;&#x43A;&#x43E;&#x433;&#x43E;. &#x427;&#x435;&#x433;&#x43E;-&#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x43F;&#x440;&#x438;&#x43D;&#x43E;&#x441;&#x438;&#x442; &#x43F;&#x43E;&#x43B;&#x44C;&#x437;&#x443; &#x43B;&#x44E;&#x434;&#x44F;&#x43C;, &#x438; &#x447;&#x430;&#x441;&#x442;&#x44C;&#x44E; &#x447;&#x435;&#x433;&#x43E; &#x43F;&#x440;&#x438;&#x44F;&#x442;&#x43D;&#x43E; &#x441;&#x435;&#x431;&#x44F; &#x43E;&#x449;&#x443;&#x449;&#x430;&#x442;&#x44C;. &#x410; &#x433;&#x43B;&#x430;&#x432;&#x43D;&#x43E;&#x435; - &#x432;&#x438;&#x434;&#x435;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x442;&#x432;&#x43E;&#x439;, &#x434;&#x430;&#x436;&#x435; &#x43C;&#x438;&#x43D;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x44B;&#x439; &#x432;&#x43A;&#x43B;&#x430;&#x434;, &#x43F;&#x440;&#x438;&#x43D;&#x43E;&#x441;&#x438;&#x442; &#x440;&#x435;&#x437;&#x443;&#x43B;&#x44C;&#x442;&#x430;&#x442;, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x44B;&#x439; &#x446;&#x435;&#x43D;&#x438;&#x442;&#x441;&#x44F;.</p>
<p>&#x42D;&#x442;&#x430; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44F; &#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x430;&#x435;&#x442; &#x43E;&#x442;&#x43A;&#x440;&#x44B;&#x432;&#x430;&#x442;&#x44C; &#x43D;&#x43E;&#x432;&#x44B;&#x435; &#x433;&#x43E;&#x440;&#x438;&#x437;&#x43E;&#x43D;&#x442;&#x44B;: &#x43A;&#x430;&#x43A; &#x432;&#x43D;&#x443;&#x442;&#x440;&#x435;&#x43D;&#x43D;&#x435;, &#x442;&#x430;&#x43A; &#x438; &#x43F;&#x440;&#x43E;&#x444;&#x435;&#x441;&#x441;&#x438;&#x43E;&#x43D;&#x430;&#x43B;&#x44C;&#x43D;&#x43E;. &#x418; &#x445;&#x43E;&#x447;&#x435;&#x442;&#x441;&#x44F; &#x432;&#x435;&#x440;&#x438;&#x442;&#x44C;, &#x447;&#x442;&#x43E; &#x44F; &#x434;&#x435;&#x43B;&#x430;&#x44E; &#x44D;&#x442;&#x443; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E; &#x447;&#x443;&#x442;&#x44C; &#x43B;&#x443;&#x447;&#x448;&#x435; &#x442;&#x43E;&#x436;&#x435;. &#x422;&#x430;&#x43A; &#x447;&#x442;&#x43E;, &#x441;&#x434;&#x435;&#x43B;&#x430;&#x435;&#x43C; &#x44D;&#x442;&#x43E; &#x432;&#x43C;&#x435;&#x441;&#x442;&#x435;)</p>
<p>&#x42D;&#x442;&#x430; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430; &#x43F;&#x440;&#x438;&#x434;&#x430;&#x43B;&#x430; &#x43C;&#x43D;&#x435; &#x441;&#x438;&#x43B; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x442;&#x43E;, &#x447;&#x442;&#x43E; &#x442;&#x430;&#x43A; &#x434;&#x430;&#x432;&#x43D;&#x43E; &#x445;&#x43E;&#x442;&#x435;&#x43B;&#x43E;&#x441;&#x44C;, &#x43D;&#x43E; &#x43D;&#x438;&#x43A;&#x430;&#x43A; &#x43D;&#x435; &#x43F;&#x43E;&#x43B;&#x443;&#x447;&#x430;&#x43B;&#x43E;&#x441;&#x44C;. &#x421;&#x434;&#x435;&#x441;&#x44C; &#x43C;&#x43E;&#x436;&#x43D;&#x43E; &#x441;&#x434;&#x435;&#x43B;&#x430;&#x442;&#x44C; &#x432;&#x441;&#x451;: &#x43D;&#x430;&#x431;&#x440;&#x430;&#x442;&#x44C; &#x43B;&#x443;&#x447;&#x448;&#x443;&#x44E; &#x444;&#x43E;&#x440;&#x43C;&#x443;, &#x43E; &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x43E;&#x439; &#x43C;&#x435;&#x447;&#x442;&#x430;&#x43B;; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x431;&#x435;&#x433;&#x430;&#x442;&#x44C; &#x434;&#x43E; &#x438;&#x43B;&#x438; &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x44B;; &#x43D;&#x430;&#x447;&#x430;&#x442;&#x44C; &#x445;&#x43E;&#x434;&#x438;&#x442;&#x44C; &#x43D;&#x430; &#x43A;&#x43E;&#x43D;&#x444;&#x435;&#x440;&#x435;&#x43D;&#x446;&#x438;&#x438;; &#x438;&#x43B;&#x438; &#x434;&#x430;&#x436;&#x435; &#x437;&#x430;&#x43F;&#x438;&#x441;&#x430;&#x442;&#x44C;&#x441;&#x44F; &#x43D;&#x430; &#x43A;&#x440;&#x43E;&#x441;&#x441;&#x444;&#x438;&#x442;. &#x421; &#x44D;&#x442;&#x438;&#x43C;&#x438; &#x440;&#x435;&#x431;&#x44F;&#x442;&#x430;&#x43C;&#x438; <strong>&#x442;&#x44B; &#x441;&#x43C;&#x43E;&#x436;&#x435;&#x448;&#x44C; &#x432;&#x441;&#x451;</strong>!</p>
<p>&#x415;&#x441;&#x442;&#x44C; &#x43E;&#x442;&#x43B;&#x438;&#x447;&#x43D;&#x430;&#x44F; &#x444;&#x440;&#x430;&#x437;&#x430; &quot;&#x431;&#x44B;&#x442;&#x44C;, &#x430; &#x43D;&#x435; &#x43A;&#x430;&#x437;&#x430;&#x442;&#x44C;&#x441;&#x44F;&quot;. &#x418; &#x44D;&#x442;&#x43E; &#x43A;&#x430;&#x43A; &#x440;&#x430;&#x437; &#x43F;&#x440;&#x43E; Work.ua, &#x43F;&#x440;&#x43E; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440;, &#x438; &#x43F;&#x440;&#x43E; &#x43B;&#x44E;&#x434;&#x435;&#x439; &#x44D;&#x442;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;. &#x41F;&#x43E;&#x442;&#x43E;&#x43C;&#x443;, &#x435;&#x441;&#x43B;&#x438; &#x442;&#x44B; &#x445;&#x43E;&#x442;&#x435;&#x43B; &#x443;&#x441;&#x43B;&#x44B;&#x448;&#x430;&#x442;&#x44C; &#x43E;&#x442;&#x437;&#x44B;&#x432;&#x44B; &#x43F;&#x440;&#x43E; <strong>&#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x44E; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440; &#x432; &#x414;&#x43D;&#x435;&#x43F;&#x440;&#x435;</strong>, &#x442;&#x43E; &#x432;&#x43E;&#x442; &#x43E;&#x43D;, &#x441;&#x430;&#x43C;&#x44B;&#x439; &#x447;&#x435;&#x441;&#x442;&#x43D;&#x44B;&#x439; &#x438; &#x438;&#x441;&#x43A;&#x440;&#x435;&#x43D;&#x43D;&#x438;&#x439; &#x43E;&#x442;&#x437;&#x44B;&#x432; &#x43E;&#x442; &#x441;&#x43E;&#x442;&#x440;&#x443;&#x434;&#x43D;&#x438;&#x43A;&#x430; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438;. &#x418; &#x435;&#x441;&#x43B;&#x438; &#x431;&#x44B; &#x43C;&#x435;&#x43D;&#x44F; &#x440;&#x430;&#x43D;&#x435;&#x435; &#x441;&#x43F;&#x440;&#x43E;&#x441;&#x438;&#x43B;&#x438;, &#x441;&#x442;&#x43E;&#x438;&#x442; &#x43B;&#x438; &#x438;&#x434;&#x442;&#x438; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430;&#x442;&#x44C; &#x432; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440;, &#x44F; &#x431;&#x44B; &#x437;&#x430;&#x434;&#x443;&#x43C;&#x430;&#x43B;&#x441;&#x44F;. &#x415;&#x441;&#x43B;&#x438; &#x442;&#x44B; &#x441;&#x43F;&#x440;&#x43E;&#x441;&#x438;&#x448;&#x44C; &#x43C;&#x435;&#x43D;&#x44F; &#x43E;&#x431; &#x44D;&#x442;&#x43E;&#x43C; &#x441;&#x435;&#x439;&#x447;&#x430;&#x441;, &#x442;&#x43E;, &#x43E;&#x442;&#x432;&#x435;&#x442;, &#x434;&#x443;&#x43C;&#x430;&#x44E;, &#x43E;&#x447;&#x435;&#x432;&#x438;&#x434;&#x435;&#x43D;.</p>
<p>&#x41E;&#x442;&#x437;&#x44B;&#x432; &#x43A;&#x43E;&#x43D;&#x435;&#x447;&#x43D;&#x43E;, &#x432;&#x44B;&#x433;&#x43B;&#x44F;&#x434;&#x438;&#x442; &#x43A;&#x430;&#x43A; &#x43F;&#x440;&#x43E;&#x43F;&#x43B;&#x430;&#x447;&#x435;&#x43D;&#x43D;&#x44B;&#x439;. &#x41D;&#x43E;, &#x447;&#x435;&#x441;&#x442;&#x43D;&#x43E; &#x433;&#x43E;&#x432;&#x43E;&#x440;&#x44F;, &#x44D;&#x442;&#x43E; &#x438; &#x435;&#x441;&#x442;&#x44C; - <strong>&#x43F;&#x440;&#x43E;&#x43F;&#x43B;&#x430;&#x447;&#x435;&#x43D;&#x43D;&#x44B;&#x439; &#x43E;&#x442;&#x437;&#x44B;&#x432;</strong>. &#x422;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x437;&#x430;&#x43F;&#x43B;&#x430;&#x442;&#x438;&#x43B;&#x438; &#x43C;&#x43D;&#x435; &#x441;&#x43E;&#x432;&#x441;&#x435;&#x43C; &#x43D;&#x435; &#x434;&#x435;&#x43D;&#x44C;&#x433;&#x430;&#x43C;&#x438;)</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x432;&#x434;&#x440;&#x443;&#x433;, &#x43A;&#x430;&#x43A;&#x438;&#x43C;-&#x442;&#x43E; &#x447;&#x443;&#x434;&#x43E;&#x43C;, &#x430;&#x43B;&#x433;&#x43E;&#x440;&#x438;&#x442;&#x43C; &#x433;&#x443;&#x433;&#x43B;&#x430; &#x43E;&#x442;&#x43F;&#x440;&#x430;&#x432;&#x438;&#x43B; &#x442;&#x435;&#x431;&#x44F; &#x43D;&#x430; &#x44D;&#x442;&#x443; &#x441;&#x442;&#x440;&#x430;&#x43D;&#x438;&#x446;&#x443;, &#x438; &#x442;&#x44B; &#x435;&#x451; &#x434;&#x43E;&#x447;&#x438;&#x442;&#x430;&#x43B;, &#x43F;&#x440;&#x438;&#x448;&#x435;&#x43B; &#x43D;&#x430; &#x441;&#x43E;&#x431;&#x435;&#x441;&#x435;&#x434;&#x43E;&#x432;&#x430;&#x43D;&#x438;&#x435; &#x43F;&#x43E; &#x43A;&#x430;&#x43A;&#x43E;&#x439;-&#x442;&#x43E; &#x438;&#x437; &#x432;&#x430;&#x43A;&#x430;&#x43D;&#x441;&#x438;&#x439;. &#x41F;&#x438;&#x448;&#x438; &#x43C;&#x43D;&#x435; &#x43D;&#x430; &#x43F;&#x43E;&#x447;&#x442;&#x443; (<a href="mailto:guruloz99@gmail.com">guruloz99@gmail.com</a>), &#x438; &#x44F; &#x43E;&#x431;&#x44F;&#x437;&#x430;&#x442;&#x435;&#x43B;&#x44C;&#x43D;&#x43E; &#x443;&#x433;&#x43E;&#x449;&#x443; &#x442;&#x435;&#x431;&#x44F; &#x43E;&#x431;&#x435;&#x434;&#x43E;&#x43C; :)<br>
&#x412;&#x43F;&#x435;&#x440;&#x451;&#x434; &#x438; &#x432;&#x432;&#x435;&#x440;&#x445;!</p>
<p>&#x415;&#x441;&#x43B;&#x438; &#x43D;&#x435; &#x44D;&#x442;&#x43E; &#x441;&#x443;&#x43F;&#x435;&#x440;-&#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x430;, &#x442;&#x43E; &#x43A;&#x442;&#x43E; &#x442;&#x43E;&#x433;&#x434;&#x430;? &#x415;&#x441;&#x43B;&#x438; &#x43D;&#x435; &#x44D;&#x442;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x430; &#x442;&#x432;&#x43E;&#x435;&#x439; &#x43C;&#x435;&#x447;&#x442;&#x44B;, &#x442;&#x43E; &#x44F; &#x443;&#x436;&#x435; &#x434;&#x430;&#x436;&#x435; &#x43D;&#x435; &#x437;&#x43D;&#x430;&#x44E;, &#x447;&#x442;&#x43E; &#x442;&#x435;&#x431;&#x435; &#x43F;&#x440;&#x435;&#x434;&#x43B;&#x43E;&#x436;&#x438;&#x442;&#x44C;)<br>
&#x422;&#x44B; &#x442;&#x43E;&#x43B;&#x44C;&#x43A;&#x43E; &#x43F;&#x43E;&#x441;&#x43C;&#x43E;&#x442;&#x440;&#x438;, &#x43A;&#x430;&#x43A;&#x438;&#x435; &#x43E;&#x43D;&#x438; &#x432;&#x441;&#x435; &#x442;&#x443;&#x442; &#x43A;&#x440;&#x443;&#x442;&#x44B;&#x435;:<br>
<a href="https://badtry.net/content/images/2021/07/workua-preview-1.jpg" target="_blank"><img src="https://badtry.net/content/images/2021/07/workua-preview-1.jpg" alt="&#x421;&#x430;&#x43C;&#x44B;&#x439; &#x447;&#x435;&#x441;&#x442;&#x43D;&#x44B;&#x439; &#x43E;&#x442;&#x437;&#x44B;&#x432; &#x43F;&#x440;&#x43E; &#x440;&#x430;&#x431;&#x43E;&#x442;&#x443; &#x432; &#x43A;&#x43E;&#x43C;&#x43F;&#x430;&#x43D;&#x438;&#x438; &#x420;&#x435;&#x430;&#x43A;&#x442;&#x43E;&#x440; &#x414;&#x43D;&#x435;&#x43F;&#x440;" loading="lazy"></a></p>
<p>&#x422;&#x443;&#x442; &#x43A;&#x43E;&#x43D;&#x435;&#x447;&#x43D;&#x43E; &#x436;&#x435; &#x43D;&#x435; &#x432;&#x441;&#x435;, &#x43A;&#x43E;&#x433;&#x43E; &#x44F; &#x445;&#x43E;&#x442;&#x435;&#x43B; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x43D;&#x430; &#x43A;&#x430;&#x440;&#x442;&#x438;&#x43D;&#x43A;&#x443;. &#x423; &#x43C;&#x435;&#x43D;&#x44F; &#x431;&#x44B;&#x43B;&#x43E; &#x43E;&#x447;&#x435;&#x43D;&#x44C; &#x43C;&#x43D;&#x43E;&#x433;&#x43E; &#x438;&#x434;&#x435;&#x439;, &#x43A;&#x43E;&#x433;&#x43E; &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C;, &#x438; &#x43A;&#x443;&#x434;&#x430;. &#x41D;&#x43E; &#x441;&#x435;&#x440;&#x434;&#x446;&#x435; &#x43F;&#x43E;&#x434;&#x441;&#x43A;&#x430;&#x437;&#x430;&#x43B;&#x43E; - &#x434;&#x43E;&#x431;&#x430;&#x432;&#x438;&#x442;&#x44C; &#x441;&#x432;&#x43E;&#x44E; <strong>&#x43F;&#x435;&#x440;&#x432;&#x443;&#x44E; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x443;</strong>, &#x43A;&#x43E;&#x442;&#x43E;&#x440;&#x430;&#x44F; &#x43C;&#x435;&#x43D;&#x44F; &#x43F;&#x440;&#x438;&#x43D;&#x44F;&#x43B;&#x430;, &#x432;&#x43B;&#x44E;&#x431;&#x438;&#x43B;&#x430; &#x432; &#x441;&#x435;&#x431;&#x44F; &#x438; &#x432;&#x434;&#x43E;&#x445;&#x43D;&#x43E;&#x432;&#x438;&#x43B;&#x430;. &#x410; &#x43A;&#x430;&#x43A; &#x43C;&#x44B; &#x432;&#x441;&#x435; &#x437;&#x43D;&#x430;&#x435;&#x43C;, &#x43F;&#x43E;&#x441;&#x43B;&#x435; &#x43F;&#x435;&#x440;&#x432;&#x43E;&#x439; &#x43A;&#x43E;&#x43C;&#x430;&#x43D;&#x434;&#x44B; &#x434;&#x440;&#x443;&#x433;&#x438;&#x445; &#x43D;&#x435; &#x431;&#x44B;&#x432;&#x430;&#x435;&#x442;, &#x43F;&#x43E;&#x442;&#x43E;&#x43C;&#x443; &#x432;&#x43E;&#x442;, &#x432;&#x441;&#x435; &#x44D;&#x442;&#x438; &#x43B;&#x44E;&#x434;&#x438; &#x441;&#x43E;&#x431;&#x440;&#x430;&#x43D;&#x44B; &#x442;&#x443;&#x442;)</p>
<!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>