{"id":23788,"date":"2023-05-18T22:25:05","date_gmt":"2023-05-18T18:55:05","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/"},"modified":"2023-05-18T22:25:05","modified_gmt":"2023-05-18T18:55:05","slug":"building-microservices-in-rust-with-spin-54no","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/","title":{"rendered":"\u0633\u0627\u062e\u062a \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u062f\u0631 Rust \u0628\u0627 \u0627\u0633\u067e\u06cc\u0646"},"content":{"rendered":"<div data-article-id=\"1469072\" id=\"article-body\">\n<p><strong>\u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 Oduah Chigozie\u270f\ufe0f<\/strong><\/p>\n<p>Rust \u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0648 \u0628\u0627 Spin\u060c \u0633\u0627\u062e\u062a \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062a\u0648\u0632\u06cc\u0639 \u0634\u062f\u0647 \u0628\u0633\u06cc\u0627\u0631 \u0622\u0633\u0627\u0646 \u062a\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a.  \u0645\u0632\u0627\u06cc\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f Rust \u0628\u0627 \u0633\u0647\u0648\u0644\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0648 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u06cc Spin\u060c \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0627\u0646\u062a\u062e\u0627\u0628\u06cc \u0627\u0631\u0632\u0634\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 \u0628\u0647 \u062f\u0646\u0628\u0627\u0644 \u0633\u0627\u062e\u062a \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u0642\u0627\u0628\u0644 \u0627\u0639\u062a\u0645\u0627\u062f \u0648 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631 \u0647\u0633\u062a\u0646\u062f. <\/p>\n<p>\u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0628\u0647 \u0634\u0645\u0627 \u06cc\u06a9 \u0646\u0645\u0627\u06cc \u06a9\u0644\u06cc \u0627\u0632 \u0686\u0627\u0631\u0686\u0648\u0628 Spin \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0648 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0633\u0627\u062f\u0647 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc\u200c\u06a9\u0646\u062f. <\/p>\n<p><em>\u0628\u067e\u0631 \u062c\u0644\u0648<\/em>:<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D9%85%D8%B1%D9%88%D8%B1%DB%8C_%D8%A8%D8%B1_%D8%A7%D8%B3%D9%BE%DB%8C%D9%86\" >\u0645\u0631\u0648\u0631\u06cc \u0628\u0631 \u0627\u0633\u067e\u06cc\u0646<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\" >\u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0686\u06cc\u0633\u062a\u061f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D9%86%D8%B5%D8%A8_Spin\" >\u062f\u0631 \u062d\u0627\u0644 \u0646\u0635\u0628 Spin<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D9%86%D8%B5%D8%A8_%D8%B1%D9%88%DB%8C_%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2\" >\u0646\u0635\u0628 \u0631\u0648\u06cc \u0648\u06cc\u0646\u062f\u0648\u0632<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D9%86%D8%B5%D8%A8_%D8%B1%D9%88%DB%8C_MacOS_%D8%B3%DB%8C%D9%84%DB%8C%DA%A9%D9%88%D9%86_%D8%A7%DB%8C%D9%86%D8%AA%D9%84_%D9%88_%D8%A7%D9%BE%D9%84\" >\u0646\u0635\u0628 \u0631\u0648\u06cc MacOS (\u0633\u06cc\u0644\u06cc\u06a9\u0648\u0646 \u0627\u06cc\u0646\u062a\u0644 \u0648 \u0627\u067e\u0644)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D9%86%D8%B5%D8%A8_%D8%B1%D9%88%DB%8C_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\" >\u0646\u0635\u0628 \u0631\u0648\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A7%D8%B2_%D9%85%D8%A8%D8%AF%D8%A7\" >\u0633\u0627\u062e\u062a \u0627\u0632 \u0645\u0628\u062f\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D9%86%D8%B5%D8%A8_%D8%A8%D8%A7_cargo\" >\u0646\u0635\u0628 \u0628\u0627 cargo<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%BE%D9%88%D8%B4%D9%87_%D9%BE%D8%B1%D9%88%DA%98%D9%87\" >\u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\" >\u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#Spintoml_%D9%81%D8%A7%DB%8C%D9%84_%D9%85%D8%A7%D9%86%DB%8C%D9%81%D8%B3%D8%AA\" >Spin.toml: \u0641\u0627\u06cc\u0644 \u0645\u0627\u0646\u06cc\u0641\u0633\u062a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#Librs_%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87_%D8%A7%D8%B5%D9%84%DB%8C_%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D8%B4%D9%85%D8%A7\" >Lib.rs: \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0635\u0644\u06cc \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0634\u0645\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D8%B3%D8%A7%D8%AE%D8%AA_%DB%8C%DA%A9_%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C\" >\u0633\u0627\u062e\u062a \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/nabfollower.com\/blog\/building-microservices-in-rust-with-spin-54no\/#LogRocket_%D8%AF%DB%8C%D8%AF_%DA%A9%D8%A7%D9%85%D9%84_%D8%AF%D8%B1_%D8%B5%D9%81%D8%AD%D8%A7%D8%AA_%D9%88%D8%A8_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%87%D8%A7%DB%8C_Rust\" >LogRocket: \u062f\u06cc\u062f \u06a9\u0627\u0645\u0644 \u062f\u0631 \u0635\u0641\u062d\u0627\u062a \u0648\u0628 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Rust<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B1%D9%88%D8%B1%DB%8C_%D8%A8%D8%B1_%D8%A7%D8%B3%D9%BE%DB%8C%D9%86\"><\/span>\n<p>  \u0645\u0631\u0648\u0631\u06cc \u0628\u0631 \u0627\u0633\u067e\u06cc\u0646 <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Spin \u06cc\u06a9 \u0686\u0627\u0631\u0686\u0648\u0628 \u0645\u062a\u0646 \u0628\u0627\u0632 \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647\u060c \u0627\u062c\u0631\u0627 \u0648 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0648 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u0648\u0628 \u0627\u0633\u062a.  \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0647\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 Spin \u0628\u0627 \u0647\u0631 \u0632\u0628\u0627\u0646 \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627 wasi \u0645\u0627\u0646\u0646\u062f Go\u060c Rust\u060c Java \u0648 JavaScript \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u06cc\u062f. <\/p>\n<p>Spin \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0634\u0645\u0627 \u0631\u0627 \u0628\u0647 \u0627\u062c\u0632\u0627\u06cc WebAssembly \u0628\u0631\u0627\u06cc \u067e\u0644\u062a\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0627\u0628\u0631\u06cc \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631\u060c \u0645\u0627\u0646\u0646\u062f AWS lambda\u060c \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u062e\u0648\u062f \u0645\u06cc\u0632\u0628\u0627\u0646 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627\u060c \u06cc\u0627 \u067e\u0644\u062a\u200c\u0641\u0631\u0645\u200c\u0647\u0627\u06cc \u0627\u0628\u0631\u06cc WebAssembly\u060c \u0645\u0627\u0646\u0646\u062f Fermyon Cloud\u060c \u062a\u0628\u062f\u06cc\u0644 \u0645\u06cc\u200c\u06a9\u0646\u062f.  \u0648\u0642\u062a\u06cc \u0635\u062d\u0628\u062a \u0627\u0632 \u0633\u0627\u062e\u062a \u0648 \u0627\u062c\u0631\u0627\u06cc \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0645\u06cc \u0634\u0648\u062f\u060c WebAssembly \u0627\u0645\u0646\u06cc\u062a\u060c \u0642\u0627\u0628\u0644\u06cc\u062a \u062d\u0645\u0644 \u0648 \u0633\u0631\u0639\u062a \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%DA%86%DB%8C%D8%B3%D8%AA%D8%9F\"><\/span>\n<p>  \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0686\u06cc\u0633\u062a\u061f <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0627\u062c\u0632\u0627\u06cc \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631\u06cc \u0645\u0633\u062a\u0642\u0644\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0639\u0645\u0644\u06a9\u0631\u062f \u062e\u0627\u0635\u06cc \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062a\u0648\u0632\u06cc\u0639 \u0634\u062f\u0647 \u0628\u0632\u0631\u06af\u062a\u0631 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u0646\u062f.  \u0622\u0646\u0647\u0627 \u0628\u0647 \u06af\u0648\u0646\u0647 \u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0634\u062f\u0647 \u0627\u0646\u062f \u06a9\u0647 \u062f\u0631 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u062a\u0648\u0632\u06cc\u0639 \u0634\u062f\u0647 \u0628\u0627 \u0647\u0645 \u06a9\u0627\u0631 \u06a9\u0646\u0646\u062f \u0648 \u0647\u0631 \u0633\u0631\u0648\u06cc\u0633 \u0645\u0633\u0626\u0648\u0644 \u06cc\u06a9 \u0648\u0638\u06cc\u0641\u0647 \u0648\u0627\u062d\u062f \u0627\u0633\u062a \u0648 \u062f\u0631 \u0639\u06cc\u0646 \u062d\u0627\u0644 \u0628\u0627 \u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u062f\u06cc\u06af\u0631 \u0628\u0631\u0627\u06cc \u0627\u0646\u062c\u0627\u0645 \u0639\u0645\u0644\u06cc\u0627\u062a \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0627\u0631\u062a\u0628\u0627\u0637 \u0628\u0631\u0642\u0631\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f. <\/p>\n<p>\u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0628\u0647 \u06af\u0648\u0646\u0647 \u0627\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0627\u0646\u062f \u06a9\u0647 \u06a9\u0648\u0686\u06a9\u060c \u0633\u0628\u06a9\u060c \u0645\u062f\u0648\u0644\u0627\u0631 \u0648 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0633\u062a\u0642\u0644 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0628\u0627\u0634\u0646\u062f.  \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u062f\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f Docker \u0645\u0633\u062a\u0642\u0631 \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0627\u0628\u0632\u0627\u0631\u0647\u0627\u06cc \u0647\u0645\u0627\u0647\u0646\u06af \u0633\u0627\u0632\u06cc \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 \u0645\u0627\u0646\u0646\u062f Kubernetes \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f.  \u0647\u0645\u0686\u0646\u06cc\u0646 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u0644\u062a\u0641\u0631\u0645 \u0647\u0627\u06cc \u0645\u062d\u0627\u0633\u0628\u0627\u062a\u06cc \u0628\u062f\u0648\u0646 \u0633\u0631\u0648\u0631\u060c \u0645\u0627\u0646\u0646\u062f \u062a\u0648\u0627\u0628\u0639 Google Cloud \u0648 AWS lambda \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%AF%D8%B1_%D8%AD%D8%A7%D9%84_%D9%86%D8%B5%D8%A8_Spin\"><\/span>\n<p>  \u062f\u0631 \u062d\u0627\u0644 \u0646\u0635\u0628 Spin <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u0628\u0627 Spin \u0648 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0622\u0634\u0646\u0627 \u0634\u062f\u06cc\u062f\u060c \u0632\u0645\u0627\u0646 \u0646\u0635\u0628 \u0622\u0646 \u0641\u0631\u0627 \u0631\u0633\u06cc\u062f\u0647 \u0627\u0633\u062a <code>spin<\/code> \u0628\u0627\u06cc\u0646\u0631\u06cc \u0648\u0627\u0631\u062f \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627 \u0634\u0648\u062f.  \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0634\u0645\u0627 \u0631\u0627 \u0628\u0627 \u0646\u0635\u0628 \u0641\u0627\u06cc\u0644 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc \u06a9\u0646\u062f. <\/p>\n<p>\u0641\u0627\u06cc\u0644 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u06cc\u06a9 \u0633\u0631\u0648\u0631 \u0645\u062d\u0644\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u0628\u0631 \u0631\u0648\u06cc \u062a\u0645\u0627\u0645 \u0633\u06cc\u0633\u062a\u0645 \u0639\u0627\u0645\u0644 \u0647\u0627\u06cc \u0627\u0635\u0644\u06cc \u0627\u0632 \u062c\u0645\u0644\u0647 \u0648\u06cc\u0646\u062f\u0648\u0632\u060c \u0644\u06cc\u0646\u0648\u06a9\u0633 \u0648 MacOS \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f.  \u0634\u0645\u0627 \u0647\u0645\u0686\u0646\u06cc\u0646 \u0627\u06cc\u0646 \u06af\u0632\u06cc\u0646\u0647 \u0631\u0627 \u062f\u0627\u0631\u06cc\u062f \u06a9\u0647 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0631\u0627 \u0627\u0632 \u06a9\u062f \u0645\u0646\u0628\u0639 \u0622\u0646 \u0628\u0633\u0627\u0632\u06cc\u062f \u06cc\u0627 \u0628\u0627 \u0622\u0646 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f <code>cargo<\/code>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D8%B5%D8%A8_%D8%B1%D9%88%DB%8C_%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2\"><\/span>\n<p>  \u0646\u0635\u0628 \u0631\u0648\u06cc \u0648\u06cc\u0646\u062f\u0648\u0632<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0641\u0627\u06cc\u0644 \u0628\u0627\u06cc\u0646\u0631\u06cc \u062f\u0631 \u0648\u06cc\u0646\u062f\u0648\u0632\u060c \u0646\u0633\u062e\u0647 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0648\u06cc\u0646\u062f\u0648\u0632 \u0631\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f\u060c \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0627\u0632 \u062d\u0627\u0644\u062a \u0641\u0634\u0631\u062f\u0647 \u062e\u0627\u0631\u062c \u06a9\u0646\u06cc\u062f \u0648 \u0622\u0646 \u0631\u0627 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f <code>spin.exe<\/code> \u0641\u0627\u06cc\u0644 \u062f\u0631 \u0645\u0633\u06cc\u0631 \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627 <\/p>\n<p>\u0628\u0631\u0627\u06cc \u062a\u0623\u06cc\u06cc\u062f \u0646\u0635\u0628\u060c \u0627\u06cc\u0646 \u0631\u0627 \u062f\u0631 \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"o\">&gt;<\/span><span class=\"n\">spin<\/span> <span class=\"o\">--<\/span><span class=\"n\">help<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u062e\u0637\u0627\u06cc\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0631\u062f\u06cc\u062f\u060c \u0633\u0639\u06cc \u06a9\u0646\u06cc\u062f \u062e\u0637 \u0641\u0631\u0645\u0627\u0646 \u0631\u0627 \u062f\u0648\u0628\u0627\u0631\u0647 \u0628\u0627\u0632 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0631\u0627 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u0645\u062c\u062f\u062f \u06a9\u0646\u06cc\u062f.  \u0627\u06af\u0631 \u062e\u0637\u0627\u06cc\u06cc \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u06a9\u0631\u062f\u06cc\u062f\u060c \u0628\u0647 \u0634\u0645\u0627 \u062a\u0628\u0631\u06cc\u06a9 \u0645\u06cc \u06af\u0648\u06cc\u0645!  \u0634\u0645\u0627 \u0628\u0647 \u062a\u0627\u0632\u06af\u06cc \u0628\u0627\u06cc\u0646\u0631\u06cc \u0631\u0627 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u0648 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0634\u0631\u0648\u0639 \u0628\u0647 \u062a\u0646\u0638\u06cc\u0645 \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D8%B5%D8%A8_%D8%B1%D9%88%DB%8C_MacOS_%D8%B3%DB%8C%D9%84%DB%8C%DA%A9%D9%88%D9%86_%D8%A7%DB%8C%D9%86%D8%AA%D9%84_%D9%88_%D8%A7%D9%BE%D9%84\"><\/span>\n<p>  \u0646\u0635\u0628 \u0631\u0648\u06cc MacOS (\u0633\u06cc\u0644\u06cc\u06a9\u0648\u0646 \u0627\u06cc\u0646\u062a\u0644 \u0648 \u0627\u067e\u0644)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 <code>spin<\/code> \u0628\u0627\u06cc\u0646\u0631\u06cc \u062f\u0631 MacOS\u060c \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">curl<\/span> <span class=\"o\">-<\/span><span class=\"n\">fsSL<\/span> <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"c1\">\/\/developer.fermyon.com\/downloads\/install.sh | bash<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u0641\u0627\u06cc\u0644 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0633\u0627\u0632\u06af\u0627\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627 \u062f\u0627\u0646\u0644\u0648\u062f \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0622\u0633\u0627\u0646 \u0628\u0647 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0627\u0632 \u0647\u0631 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f\u060c \u0622\u0646 \u0631\u0627 \u062d\u0631\u06a9\u062a \u062f\u0647\u06cc\u062f <code>spin<\/code> \u0641\u0627\u06cc\u0644 \u0628\u0647 <code>\/usr\/local\/bin<\/code> \u067e\u0648\u0634\u0647 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">sudo<\/span> <span class=\"n\">mv<\/span> <span class=\"n\">spin<\/span> <span class=\"o\">\/<\/span><span class=\"n\">usr<\/span><span class=\"o\">\/<\/span><span class=\"n\">local<\/span><span class=\"o\">\/<\/span><span class=\"n\">bin<\/span><span class=\"o\">\/<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 <code>\/usr\/local\/bin<\/code> \u067e\u0648\u0634\u0647 \u06cc\u06a9 \u0645\u0633\u06cc\u0631 \u0633\u06cc\u0633\u062a\u0645\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc\u06cc \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u062c\u0627\u06cc \u0645\u06cc \u062f\u0647\u062f \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u062a\u0645\u0627\u0645 \u062f\u0627\u06cc\u0631\u06a9\u062a\u0648\u0631\u06cc \u0647\u0627\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0628\u0647 \u0622\u0646\u0647\u0627 \u062f\u0633\u062a\u0631\u0633\u06cc \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D8%B5%D8%A8_%D8%B1%D9%88%DB%8C_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3\"><\/span>\n<p>  \u0646\u0635\u0628 \u0631\u0648\u06cc \u0644\u06cc\u0646\u0648\u06a9\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0641\u0627\u06cc\u0644 \u0631\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u062f\u0627\u0646\u0644\u0648\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">curl<\/span> <span class=\"o\">-<\/span><span class=\"n\">fsSL<\/span> <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"c1\">\/\/developer.fermyon.com\/downloads\/install.sh | bash<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u067e\u0633\u060c \u062d\u0631\u06a9\u062a \u062f\u0647\u06cc\u062f <code>spin<\/code> \u0641\u0627\u06cc\u0644 \u0628\u0647 <code>\/usr\/local\/bin<\/code> \u067e\u0648\u0634\u0647 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">sudo<\/span> <span class=\"n\">mv<\/span> <span class=\"n\">spin<\/span> <span class=\"o\">\/<\/span><span class=\"n\">usr<\/span><span class=\"o\">\/<\/span><span class=\"n\">local<\/span><span class=\"o\">\/<\/span><span class=\"n\">bin<\/span><span class=\"o\">\/<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u062a\u0627\u06cc\u06cc\u062f \u0646\u0635\u0628\u060c \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">spin<\/span> <span class=\"o\">--<\/span><span class=\"n\">help<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA_%D8%A7%D8%B2_%D9%85%D8%A8%D8%AF%D8%A7\"><\/span>\n<p>  \u0633\u0627\u062e\u062a \u0627\u0632 \u0645\u0628\u062f\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0628\u0627\u06cc\u0646\u0631\u06cc \u0627\u0632 \u0645\u0646\u0628\u0639\u060c \u0645\u0631\u0627\u062d\u0644 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f: <\/p>\n<p>\u06a9\u0644\u0648\u0646 \u06a9\u0631\u062f\u0646 \u0645\u062e\u0632\u0646 Spin:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">git<\/span> <span class=\"n\">clone<\/span> <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"c1\">\/\/github.com\/fermyon\/spin<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">cd<\/span> <span class=\"n\">spin<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"n\">make<\/span> <span class=\"n\">build<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627\u06cc\u0646\u0631\u06cc \u0633\u0627\u062e\u062a\u0647 \u0634\u062f\u0647 \u0631\u0627 \u062a\u0623\u06cc\u06cc\u062f \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"err\">.<\/span><span class=\"o\">\/<\/span><span class=\"n\">target<\/span><span class=\"o\">\/<\/span><span class=\"n\">release<\/span><span class=\"o\">\/<\/span><span class=\"n\">spin<\/span> <span class=\"o\">--<\/span><span class=\"n\">help<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D9%86%D8%B5%D8%A8_%D8%A8%D8%A7_cargo\"><\/span>\n<p>  \u0646\u0635\u0628 \u0628\u0627 <code>cargo<\/code><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0631\u0627\u06cc \u0646\u0635\u0628 \u0628\u0627\u06cc\u0646\u0631\u06cc \u0628\u0627 <code>cargo<\/code>\u060c \u0627\u06cc\u0646 \u0645\u0631\u0627\u062d\u0644 \u0631\u0627 \u062f\u0646\u0628\u0627\u0644 \u06a9\u0646\u06cc\u062f: <\/p>\n<p>\u06a9\u0644\u0648\u0646 \u06a9\u0631\u062f\u0646 \u0645\u062e\u0632\u0646 Spin:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">git<\/span> <span class=\"n\">clone<\/span> <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"c1\">\/\/github.com\/fermyon\/spin -b v0.9.0<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627\u0632 \u06a9\u0646 <code>spin<\/code> \u0641\u0647\u0631\u0633\u062a \u0631\u0627\u0647\u0646\u0645\u0627:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">cd<\/span> <span class=\"n\">spin<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f <code>wasm32-wasi<\/code> \u0647\u062f\u0641 \u0628\u0631\u0627\u06cc Rust:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">rustup<\/span> <span class=\"n\">target<\/span> <span class=\"n\">add<\/span> <span class=\"n\">wasm32<\/span><span class=\"o\">-<\/span><span class=\"n\">wasi<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0648 \u062f\u0631 \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">cargo<\/span> <span class=\"n\">install<\/span> <span class=\"o\">--<\/span><span class=\"n\">locked<\/span> <span class=\"o\">--<\/span><span class=\"n\">path<\/span> <span class=\"err\">.<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062a\u0623\u06cc\u06cc\u062f \u0646\u0635\u0628 \u0645\u0648\u0641\u0642:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">spin<\/span> <span class=\"o\">--<\/span><span class=\"n\">help<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B1%D8%A7%D9%87_%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C_%D9%BE%D9%88%D8%B4%D9%87_%D9%BE%D8%B1%D9%88%DA%98%D9%87\"><\/span>\n<p>  \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0628\u0627 <code>spin<\/code> \u0628\u0631 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0627\u062c\u0627\u0632\u0647 \u062f\u0647\u06cc\u062f \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u06a9\u0646\u06cc\u0645.  \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u0628\u062e\u0634\u060c \u06cc\u06a9 \u067e\u0648\u0634\u0647 \u067e\u0631\u0648\u0698\u0647 \u0627\u0648\u0644\u06cc\u0647 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u062e\u0648\u062f \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u0627\u0634\u062a. <\/p>\n<p>Spin \u0642\u0627\u0644\u0628 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641 \u0628\u0631\u0646\u0627\u0645\u0647 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f.  \u0628\u0631\u0627\u06cc \u0628\u0631\u0631\u0633\u06cc \u0642\u0627\u0644\u0628 \u0647\u0627\u06cc \u0646\u0635\u0628 \u0634\u062f\u0647 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f\u060c \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">spin<\/span> <span class=\"n\">templates<\/span> <span class=\"n\">list<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u0647\u06cc\u0686 \u0642\u0627\u0644\u0628\u06cc \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0634\u0645\u0627 \u0646\u0635\u0628 \u0646\u0634\u062f\u0647 \u0627\u0633\u062a\u060c \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">spin<\/span> <span class=\"n\">templates<\/span> <span class=\"n\">install<\/span> <span class=\"o\">--<\/span><span class=\"n\">git<\/span> <span class=\"n\">https<\/span><span class=\"p\">:<\/span><span class=\"c1\">\/\/github.com\/fermyon\/spin --update<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0633\u062a\u0648\u0631 \u0628\u0627\u0644\u0627 \u062a\u0645\u0627\u0645 \u0642\u0627\u0644\u0628 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u0631\u0627 \u062f\u0631 \u0645\u062e\u0632\u0646 Spin GitHub \u0646\u0635\u0628 \u0645\u06cc \u06a9\u0646\u062f.  \u067e\u0633 \u0627\u0632 \u0646\u0635\u0628 \u0642\u0627\u0644\u0628 \u0647\u0627\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0648\u0628\u0627\u0631\u0647 \u0644\u06cc\u0633\u062a \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0642\u0627\u0644\u0628 \u0647\u0627\u06cc \u0646\u0635\u0628 \u0634\u062f\u0647 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f. <\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0646\u0635\u0628 \u0642\u0627\u0644\u0628 \u0647\u0627\u060c \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"err\">$<\/span> <span class=\"n\">spin<\/span> <span class=\"n\">new<\/span>\n<span class=\"n\">Pick<\/span> <span class=\"n\">a<\/span> <span class=\"n\">template<\/span> <span class=\"n\">to<\/span> <span class=\"n\">start<\/span> <span class=\"n\">your<\/span> <span class=\"n\">application<\/span> <span class=\"n\">with<\/span><span class=\"p\">:<\/span>\n<span class=\"o\">&gt;<\/span> <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">c<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">request<\/span> <span class=\"n\">handler<\/span> <span class=\"n\">using<\/span> <span class=\"n\">C<\/span> <span class=\"n\">and<\/span> <span class=\"n\">the<\/span> <span class=\"n\">Zig<\/span> <span class=\"n\">toolchain<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">empty<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">application<\/span> <span class=\"n\">with<\/span> <span class=\"n\">no<\/span> <span class=\"n\">components<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">go<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">request<\/span> <span class=\"n\">handler<\/span> <span class=\"nf\">using<\/span> <span class=\"p\">(<\/span><span class=\"n\">Tiny<\/span><span class=\"p\">)<\/span><span class=\"n\">Go<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">grain<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">request<\/span> <span class=\"n\">handler<\/span> <span class=\"n\">using<\/span> <span class=\"n\">Grain<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">php<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">request<\/span> <span class=\"n\">handler<\/span> <span class=\"n\">using<\/span> <span class=\"n\">PHP<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">rust<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">request<\/span> <span class=\"n\">handler<\/span> <span class=\"n\">using<\/span> <span class=\"n\">Rust<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">swift<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">request<\/span> <span class=\"n\">handler<\/span> <span class=\"n\">using<\/span> <span class=\"n\">SwiftWasm<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">http<\/span><span class=\"o\">-<\/span><span class=\"nf\">zig<\/span> <span class=\"p\">(<\/span><span class=\"n\">HTTP<\/span> <span class=\"n\">request<\/span> <span class=\"n\">handler<\/span> <span class=\"n\">using<\/span> <span class=\"n\">Zig<\/span><span class=\"p\">)<\/span>\n  <span class=\"nf\">redirect<\/span> <span class=\"p\">(<\/span><span class=\"n\">Redirects<\/span> <span class=\"n\">a<\/span> <span class=\"n\">HTTP<\/span> <span class=\"n\">route<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">redis<\/span><span class=\"o\">-<\/span><span class=\"nf\">go<\/span> <span class=\"p\">(<\/span><span class=\"n\">Redis<\/span> <span class=\"n\">message<\/span> <span class=\"n\">handler<\/span> <span class=\"nf\">using<\/span> <span class=\"p\">(<\/span><span class=\"n\">Tiny<\/span><span class=\"p\">)<\/span><span class=\"n\">Go<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">redis<\/span><span class=\"o\">-<\/span><span class=\"nf\">rust<\/span> <span class=\"p\">(<\/span><span class=\"n\">Redis<\/span> <span class=\"n\">message<\/span> <span class=\"n\">handler<\/span> <span class=\"n\">using<\/span> <span class=\"n\">Rust<\/span><span class=\"p\">)<\/span>\n  <span class=\"k\">static<\/span><span class=\"o\">-<\/span><span class=\"nf\">fileserver<\/span> <span class=\"p\">(<\/span><span class=\"n\">Serves<\/span> <span class=\"k\">static<\/span> <span class=\"n\">files<\/span> <span class=\"n\">from<\/span> <span class=\"n\">an<\/span> <span class=\"n\">asset<\/span> <span class=\"n\">directory<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0641\u0631\u0645\u0627\u0646 \u0627\u0632 \u0634\u0645\u0627 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u062f \u0642\u0627\u0644\u0628\u06cc \u0631\u0627 \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f\u060c \u0646\u0627\u0645\u06cc \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u060c \u062a\u0648\u0636\u06cc\u062d\u06cc \u062f\u0631\u0628\u0627\u0631\u0647 \u067e\u0631\u0648\u0698\u0647\u060c \u0645\u0633\u06cc\u0631 HTTP \u0648 \u067e\u0627\u06cc\u0647 HTTP \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f.  \u0628\u0631\u0627\u06cc \u0627\u0644\u06af\u0648\u060c \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f <code>http-rust<\/code>.  \u0628\u0631\u0627\u06cc \u0646\u0627\u0645 \u067e\u0631\u0648\u0698\u0647 \u0647\u0631 \u0646\u0627\u0645\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f.  \u0628\u0631\u0627\u06cc \u062a\u0648\u0636\u06cc\u062d\u0627\u062a\u060c \u0645\u0633\u06cc\u0631 HTTP \u0648 \u067e\u0627\u06cc\u0647 HTTP\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0636\u0631\u0628\u0647 \u0628\u0632\u0646\u06cc\u062f <code>Enter<\/code> \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u067e\u06cc\u0634 \u0641\u0631\u0636 \u0647\u0627\u06cc \u062e\u0648\u062f<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C_%D9%BE%D8%B1%D9%88%DA%98%D9%87\"><\/span>\n<p>  \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u067e\u0633 \u0627\u0632 \u0631\u0627\u0647 \u0627\u0646\u062f\u0627\u0632\u06cc \u067e\u0631\u0648\u0698\u0647\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0628\u062e\u0648\u0627\u0647\u06cc\u062f \u0646\u062d\u0648\u0647 \u0627\u062c\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f.  \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0646\u062d\u0648\u0647 \u0633\u0627\u062e\u062a\u060c \u0627\u062c\u0631\u0627 \u0648 \u0622\u0632\u0645\u0627\u06cc\u0634 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0646\u0634\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f.  \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0628\u062e\u0634\u060c \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f. <\/p>\n<p>\u067e\u0633 \u0627\u0632 \u0633\u0627\u062e\u062a \u067e\u0631\u0648\u0698\u0647\u060c Spin \u06cc\u06a9 \u062c\u0632\u0621 WebAssembly \u0627\u0632 \u06a9\u062f \u0645\u0646\u0628\u0639 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0631\u0627\u06cc \u0633\u0627\u062e\u062a \u0627\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f <code>wasm32-wasi<\/code> \u0647\u062f\u0641.  \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0646\u0635\u0628 \u06a9\u0646\u06cc\u062f <code>wasm32-wasi<\/code> \u0647\u062f\u0641 \u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u06cc\u062f \u0648 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0648 \u062f\u0633\u062a\u0648\u0631 \u062f\u0631 \u06cc\u06a9 \u062c\u0632\u0621 WebAssembly \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">rustup<\/span> <span class=\"n\">target<\/span> <span class=\"n\">add<\/span> <span class=\"n\">wasm32<\/span><span class=\"o\">-<\/span><span class=\"n\">wasi<\/span>    <span class=\"err\">#<\/span> <span class=\"n\">Install<\/span> <span class=\"n\">the<\/span> <span class=\"n\">WebAssembly<\/span> <span class=\"n\">target<\/span>\n<span class=\"n\">spin<\/span> <span class=\"n\">build<\/span>                       <span class=\"err\">#<\/span> <span class=\"n\">Build<\/span> <span class=\"n\">the<\/span> <span class=\"n\">project<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u067e\u0633 \u0627\u0632 \u0627\u0646\u062c\u0627\u0645 \u062f\u0633\u062a\u0648\u0631\u0627\u062a\u060c \u0645\u0624\u0644\u0641\u0647 WebAssembly \u0627\u06cc\u062c\u0627\u062f \u0634\u062f\u0647 \u062f\u0631 \u0642\u0633\u0645\u062a \u0642\u0631\u0627\u0631 \u0645\u06cc \u06af\u06cc\u0631\u062f <code>target\/wasm32-wasi\/release<\/code> \u067e\u0648\u0634\u0647 <code>spin<\/code> \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0628\u0627 \u0627\u06cc\u0646 \u062f\u0633\u062a\u0648\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a WebAssembly \u0631\u0627 \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u062e\u0648\u062f \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0646\u06cc\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">spin<\/span> <span class=\"n\">up<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0628\u0631\u0646\u0627\u0645\u0647 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u062f\u0631 http:\/\/localhost:3000\/ \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u062f.  \u067e\u0633 \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0622\u0646 \u0631\u0627 \u0628\u0627 <code>curl<\/code> \u062f\u0633\u062a\u0648\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"err\">$<\/span> <span class=\"n\">curl<\/span> <span class=\"o\">-<\/span><span class=\"n\">i<\/span> <span class=\"n\">localhost<\/span><span class=\"p\">:<\/span><span class=\"mi\">3000<\/span>\n<span class=\"n\">HTTP<\/span><span class=\"o\">\/<\/span><span class=\"mf\">1.1<\/span> <span class=\"mi\">200<\/span> <span class=\"n\">OK<\/span>\n<span class=\"n\">foo<\/span><span class=\"p\">:<\/span> <span class=\"n\">bar<\/span>\n<span class=\"n\">content<\/span><span class=\"o\">-<\/span><span class=\"n\">length<\/span><span class=\"p\">:<\/span> <span class=\"mi\">14<\/span>\n<span class=\"n\">date<\/span><span class=\"p\">:<\/span> <span class=\"n\">Wed<\/span><span class=\"p\">,<\/span> <span class=\"mi\">01<\/span> <span class=\"n\">Mar<\/span> <span class=\"mi\">2023<\/span> <span class=\"mi\">11<\/span><span class=\"p\">:<\/span><span class=\"mi\">11<\/span><span class=\"p\">:<\/span><span class=\"mi\">57<\/span> <span class=\"n\">GMT<\/span>\n\n<span class=\"n\">Hello<\/span><span class=\"p\">,<\/span> <span class=\"n\">Fermyon<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646 \u06a9\u0647 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u062f\u0631 \u0639\u0645\u0644 \u062f\u06cc\u062f\u06cc\u062f\u060c \u062e\u0648\u0628 \u0627\u0633\u062a \u0628\u062f\u0627\u0646\u06cc\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u062f.  \u062f\u0631 \u0628\u062e\u0634\u200c\u0647\u0627\u06cc \u0628\u0639\u062f\u06cc\u060c \u0627\u062c\u0632\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0622\u0646 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u062e\u0648\u0627\u0647\u06cc\u0645 \u06a9\u0631\u062f <code>spin.toml<\/code>\u060c \u0648 <code>lib.rs<\/code> \u0641\u0627\u06cc\u0644 \u0647\u0627\u06cc \u0645\u0648\u062c\u0648\u062f \u062f\u0631 \u067e\u0631\u0648\u0698\u0647 \u0634\u0645\u0627<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Spintoml_%D9%81%D8%A7%DB%8C%D9%84_%D9%85%D8%A7%D9%86%DB%8C%D9%81%D8%B3%D8%AA\"><\/span>\n<p>  Spin.toml: \u0641\u0627\u06cc\u0644 \u0645\u0627\u0646\u06cc\u0641\u0633\u062a <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>spin.toml<\/code>  \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0645\u0627\u0646\u06cc\u0641\u0633\u062a \u0627\u0633\u062a.  \u0627\u06cc\u0646 \u0634\u0627\u0645\u0644 \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u0634\u0645\u0627 \u0627\u0633\u062a.  \u0628\u0647 \u067e\u0631\u0648\u0698\u0647 \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u062f <code>spin.toml<\/code> \u0641\u0627\u06cc\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">spin_version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"1\"<\/span>\n<span class=\"n\">authors<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s\">\"Username &lt;youremail@example.com&gt;\"<\/span><span class=\"p\">]<\/span>\n<span class=\"n\">description<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\"<\/span>\n<span class=\"n\">name<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"project-name\"<\/span>\n<span class=\"n\">trigger<\/span> <span class=\"o\">=<\/span> <span class=\"p\">{<\/span> <span class=\"k\">type<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"http\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">base<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"https:\/\/dev.to\/\"<\/span> <span class=\"p\">}<\/span>\n<span class=\"n\">version<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"0.1.0\"<\/span>\n\n<span class=\"p\">[[<\/span><span class=\"n\">component<\/span><span class=\"p\">]]<\/span>\n<span class=\"n\">id<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"project-name\"<\/span>\n<span class=\"n\">source<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"target\/wasm32-wasi\/release\/spin_test.wasm\"<\/span>\n<span class=\"n\">allowed_http_hosts<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[]<\/span>\n<span class=\"p\">[<\/span><span class=\"n\">component<\/span><span class=\"py\">.trigger<\/span><span class=\"p\">]<\/span>\n<span class=\"n\">route<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"\/...\"<\/span>\n<span class=\"p\">[<\/span><span class=\"n\">component<\/span><span class=\"py\">.build<\/span><span class=\"p\">]<\/span>\n<span class=\"n\">command<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"cargo build --target wasm32-wasi --release\"<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0627 \u062f\u06cc\u062f\u0646 \u0641\u0627\u06cc\u0644\u060c \u0686\u0646\u062f \u0646\u06a9\u062a\u0647 \u06a9\u0644\u06cc\u062f\u06cc \u0631\u0627 \u0645\u062a\u0648\u062c\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u0634\u062f:<\/p>\n<ul>\n<li>    \u0627\u06cc\u0646 <code>trigger<\/code> \u0645\u062a\u063a\u06cc\u0631 \u062f\u0631 \u062e\u0637 5 \u06a9\u0647 \u0645\u0627\u0647\u06cc\u062a \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u062f.  \u0627\u06cc\u0646 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u06cc\u06a9 \u0631\u0627\u0628\u0637 HTTP \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062e\u0627\u0631\u062c\u06cc \u0628\u0631\u0627\u06cc \u062a\u0639\u0627\u0645\u0644 \u0628\u0627 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<li>    \u0627\u06cc\u0646 <code>source<\/code> \u0645\u062a\u063a\u06cc\u0631 \u062f\u0631 \u062e\u0637 10\u060c \u06a9\u0647 \u0628\u0647 \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644\u0631 \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 WebAssembly \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0634\u062f\u0647 \u0631\u0627 \u0642\u0631\u0627\u0631 \u0645\u06cc \u062f\u0647\u062f \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc \u06a9\u0646\u062f.<\/li>\n<li>    \u0627\u06cc\u0646 <code>route<\/code> \u0645\u062a\u063a\u06cc\u0631 \u062f\u0631 \u062e\u0637 \u0633\u06cc\u0632\u062f\u0647\u0645\u060c \u06a9\u0647 \u0645\u0633\u06cc\u0631\u06cc \u06a9\u0647 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0642\u0631\u0627\u0631 \u062f\u0627\u0631\u062f \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u0645\u06cc \u06a9\u0646\u062f. <code>\/\u2026<\/code> \u06cc\u06a9 wildcard \u0627\u0633\u062a\u060c \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0631\u0627 \u0627\u0632 \u0647\u0631 \u0645\u0633\u06cc\u0631\u06cc \u0642\u0627\u0628\u0644 \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u06cc \u06a9\u0646\u062f<\/li>\n<\/ul>\n<h2><span class=\"ez-toc-section\" id=\"Librs_%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87_%D8%A7%D8%B5%D9%84%DB%8C_%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%D8%B4%D9%85%D8%A7\"><\/span>\n<p>  Lib.rs: \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0635\u0644\u06cc \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0634\u0645\u0627 <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><code>lib.rs<\/code>  \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0635\u0644\u06cc \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0634\u0645\u0627 \u0627\u0633\u062a.  \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0631\u0627 \u062f\u0631 \u06a9\u0627\u0645\u067e\u0648\u0646\u0646\u062a WebAssembly \u06a9\u0627\u0645\u067e\u0627\u06cc\u0644 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0647 \u067e\u0631\u0648\u0698\u0647 \u0646\u06af\u0627\u0647 \u06a9\u0646\u06cc\u062f <code>lib.rs<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">anyhow<\/span><span class=\"p\">::<\/span><span class=\"nb\">Result<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"nn\">spin_sdk<\/span><span class=\"p\">::{<\/span>\n    <span class=\"nn\">http<\/span><span class=\"p\">::{<\/span><span class=\"n\">Request<\/span><span class=\"p\">,<\/span> <span class=\"n\">Response<\/span><span class=\"p\">},<\/span>\n    <span class=\"n\">http_component<\/span><span class=\"p\">,<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"cd\">\/\/\/ A simple Spin HTTP component.<\/span>\n<span class=\"nd\">#[http_component]<\/span>\n<span class=\"k\">fn<\/span> <span class=\"nf\">handle_spin_test<\/span><span class=\"p\">(<\/span><span class=\"n\">req<\/span><span class=\"p\">:<\/span> <span class=\"n\">Request<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"nb\">Result<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">Response<\/span><span class=\"o\">&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">req<\/span><span class=\"nf\">.headers<\/span><span class=\"p\">());<\/span>\n    <span class=\"nf\">Ok<\/span><span class=\"p\">(<\/span><span class=\"nn\">http<\/span><span class=\"p\">::<\/span><span class=\"nn\">Response<\/span><span class=\"p\">::<\/span><span class=\"nf\">builder<\/span><span class=\"p\">()<\/span>\n        <span class=\"nf\">.status<\/span><span class=\"p\">(<\/span><span class=\"mi\">200<\/span><span class=\"p\">)<\/span>\n        <span class=\"nf\">.header<\/span><span class=\"p\">(<\/span><span class=\"s\">\"foo\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">)<\/span>\n        <span class=\"nf\">.body<\/span><span class=\"p\">(<\/span><span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Hello, Fermyon\"<\/span><span class=\"nf\">.into<\/span><span class=\"p\">()))<\/span><span class=\"o\">?<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0641\u0627\u06cc\u0644 \u0628\u0647 \u0627\u06cc\u0646 \u0627\u062c\u0632\u0627\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u062a\u0648\u062c\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f: \u062e\u0637 8:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"nd\">#[http_component]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 <code>http_component<\/code> \u0645\u0627\u06a9\u0631\u0648 \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u0627\u0633\u062a \u06a9\u0647 <code>handle_spin_test<\/code> \u062a\u0627\u0628\u0639 \u06cc\u06a9 \u062c\u0632\u0621 HTTP \u0627\u0633\u062a.  \u062e\u0637 9 &#8211; 15:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">fn<\/span> <span class=\"nf\">handle_spin_test<\/span><span class=\"p\">(<\/span><span class=\"n\">req<\/span><span class=\"p\">:<\/span> <span class=\"n\">Request<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"nb\">Result<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">Response<\/span><span class=\"o\">&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nd\">println!<\/span><span class=\"p\">(<\/span><span class=\"s\">\"{:?}\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">req<\/span><span class=\"nf\">.headers<\/span><span class=\"p\">());<\/span>\n    <span class=\"nf\">Ok<\/span><span class=\"p\">(<\/span>\n        <span class=\"nn\">http<\/span><span class=\"p\">::<\/span><span class=\"nn\">Response<\/span><span class=\"p\">::<\/span><span class=\"nf\">builder<\/span><span class=\"p\">()<\/span>\n            <span class=\"nf\">.status<\/span><span class=\"p\">(<\/span><span class=\"mi\">200<\/span><span class=\"p\">)<\/span>\n            <span class=\"nf\">.header<\/span><span class=\"p\">(<\/span><span class=\"s\">\"foo\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"bar\"<\/span><span class=\"p\">)<\/span>\n            <span class=\"nf\">.body<\/span><span class=\"p\">(<\/span><span class=\"nf\">Some<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Hello, Fermyon\"<\/span><span class=\"nf\">.into<\/span><span class=\"p\">()))<\/span><span class=\"o\">?<\/span>\n    <span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0686\u0631\u062e\u0634 \u0627\u062c\u0631\u0627 \u0645\u06cc \u0634\u0648\u062f <code>handle_spin_test<\/code> \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u062f\u0631\u062e\u0648\u0627\u0633\u062a HTTP \u0631\u0627 \u0628\u0647 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u06cc\u062f.  \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0646\u062a\u06cc\u062c\u0647 \u0631\u0627 \u0628\u0631\u0645\u06cc \u06af\u0631\u062f\u0627\u0646\u062f <code>handle_spin_test<\/code> \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u062f\u0631\u062e\u0648\u0627\u0633\u062a<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA_%DB%8C%DA%A9_%D9%85%DB%8C%DA%A9%D8%B1%D9%88%D8%B3%D8%B1%D9%88%DB%8C%D8%B3_%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C\"><\/span>\n<p>  \u0633\u0627\u062e\u062a \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc <\/p>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u067e\u0631\u0648\u0698\u0647 \u0627\u0648\u0644\u06cc\u0647 \u062a\u0646\u0647\u0627 \u0628\u0647 \u0627\u0635\u0648\u0644 \u0627\u0648\u0644\u06cc\u0647 \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 Spin \u0631\u0633\u06cc\u062f\u06af\u06cc \u0645\u06cc \u06a9\u0646\u062f.  \u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634\u060c \u0645\u0627 \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062a\u0631 \u062e\u0648\u0627\u0647\u06cc\u0645 \u0633\u0627\u062e\u062a.  \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633\u06cc \u06a9\u0647 \u062a\u0627 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u0633\u0627\u062e\u062a\u060c \u06cc\u06a9 \u062a\u0648\u0644\u06cc\u062f \u06a9\u0646\u0646\u062f\u0647 \u062d\u0642\u0627\u06cc\u0642 \u06af\u0631\u0628\u0647 \u0627\u0633\u062a.  \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0627\u0632 cat fact ninja API \u0628\u0631\u0627\u06cc \u062a\u0648\u0644\u06cc\u062f \u062d\u0642\u0627\u06cc\u0642 \u062a\u0635\u0627\u062f\u0641\u06cc \u06af\u0631\u0628\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0631\u0627\u06cc \u0634\u0631\u0648\u0639\u060c \u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0631\u0627 \u0645\u0642\u062f\u0627\u0631\u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u06a9\u0646\u06cc\u062f \u0648 \u0627\u06cc\u0646 \u06a9\u062f \u0631\u0627 \u062f\u0631 \u062e\u0648\u062f \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f <code>lib.rs<\/code>:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"k\">use<\/span> <span class=\"nn\">anyhow<\/span><span class=\"p\">::<\/span><span class=\"nb\">Result<\/span><span class=\"p\">;<\/span>\n<span class=\"k\">use<\/span> <span class=\"nn\">spin_sdk<\/span><span class=\"p\">::{<\/span>\n    <span class=\"nn\">http<\/span><span class=\"p\">::{<\/span><span class=\"n\">Request<\/span><span class=\"p\">,<\/span> <span class=\"n\">Response<\/span><span class=\"p\">},<\/span>\n    <span class=\"n\">http_component<\/span><span class=\"p\">,<\/span>\n<span class=\"p\">};<\/span>\n\n<span class=\"nd\">#[http_component]<\/span>\n<span class=\"k\">fn<\/span> <span class=\"nf\">cat_facts<\/span><span class=\"p\">(<\/span><span class=\"n\">_req<\/span><span class=\"p\">:<\/span> <span class=\"n\">Request<\/span><span class=\"p\">)<\/span> <span class=\"k\">-&gt;<\/span> <span class=\"nb\">Result<\/span><span class=\"o\">&lt;<\/span><span class=\"n\">Response<\/span><span class=\"o\">&gt;<\/span> <span class=\"p\">{<\/span>\n    <span class=\"c1\">\/\/ fetch fact from the API<\/span>\n    <span class=\"k\">let<\/span> <span class=\"k\">mut<\/span> <span class=\"n\">res<\/span> <span class=\"o\">=<\/span> <span class=\"nn\">spin_sdk<\/span><span class=\"p\">::<\/span><span class=\"nn\">http<\/span><span class=\"p\">::<\/span><span class=\"nf\">send<\/span><span class=\"p\">(<\/span>\n        <span class=\"nn\">http<\/span><span class=\"p\">::<\/span><span class=\"nn\">Request<\/span><span class=\"p\">::<\/span><span class=\"nf\">builder<\/span><span class=\"p\">()<\/span>\n            <span class=\"nf\">.method<\/span><span class=\"p\">(<\/span><span class=\"s\">\"GET\"<\/span><span class=\"p\">)<\/span>\n            <span class=\"nf\">.uri<\/span><span class=\"p\">(<\/span><span class=\"s\">\"https:\/\/catfact.ninja\/fact\"<\/span><span class=\"p\">)<\/span>\n            <span class=\"nf\">.body<\/span><span class=\"p\">(<\/span><span class=\"nb\">None<\/span><span class=\"p\">)<\/span><span class=\"o\">?<\/span><span class=\"p\">,<\/span>\n    <span class=\"p\">)<\/span><span class=\"o\">?<\/span><span class=\"p\">;<\/span>\n    <span class=\"c1\">\/\/ Add \"Server\" key into the header<\/span>\n    <span class=\"n\">res<\/span><span class=\"nf\">.headers_mut<\/span><span class=\"p\">()<\/span>\n        <span class=\"nf\">.insert<\/span><span class=\"p\">(<\/span><span class=\"nn\">http<\/span><span class=\"p\">::<\/span><span class=\"nn\">header<\/span><span class=\"p\">::<\/span><span class=\"n\">SERVER<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"spin\/0.1.0\"<\/span><span class=\"nf\">.try_into<\/span><span class=\"p\">()<\/span><span class=\"o\">?<\/span><span class=\"p\">);<\/span>\n    <span class=\"c1\">\/\/ Send response to the client<\/span>\n    <span class=\"nf\">Ok<\/span><span class=\"p\">(<\/span><span class=\"n\">res<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 <code>spin<\/code> \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0631\u0648\u0634 \u0647\u0627\u06cc\u06cc \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u0631\u0633\u0627\u0644 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0647\u0627\u06cc HTTP \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc \u06a9\u0646\u062f.  \u062f\u0631 \u0627\u06cc\u0646 \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633\u060c \u0645\u0627 \u0627\u0632 \u0627\u06cc\u0646 \u0631\u0648\u0634 \u0628\u0631\u0627\u06cc \u0648\u0627\u06a9\u0634\u06cc \u062d\u0642\u0627\u06cc\u0642 \u06af\u0631\u0628\u0647 \u0627\u0632 API cat fact ninja \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.  \u0627\u06cc\u0646 \u0631\u0648\u0634 \u067e\u0627\u0633\u062e\u06cc \u0631\u0627 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc \u06a9\u0646\u062f \u06a9\u0647 <code>cat_facts<\/code> \u062a\u0627\u0628\u0639 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0634\u06cc \u067e\u0627\u0633\u062e \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0628\u0631\u06af\u0631\u062f\u062f.  \u0628\u0631\u0627\u06cc \u062a\u06a9\u0645\u06cc\u0644 \u067e\u0631\u0648\u0698\u0647\u060c \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f <code>catfact.ninja<\/code> \u0628\u0647 <code>allowed_http_hosts<\/code> \u0645\u062a\u063a\u06cc\u0631 \u062f\u0631 \u062e\u0637 \u06cc\u0627\u0632\u062f\u0647\u0645 \u0627\u0632 <code>spin.toml<\/code> \u0641\u0627\u06cc\u0644:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight rust\"><code><span class=\"n\">allowed_http_hosts<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[<\/span><span class=\"s\">\"catfact.ninja\"<\/span><span class=\"p\">]<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0646\u062f\u0647\u06cc\u062f\u060c \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f <code>HttpError::DestinationNotAllowed<\/code> \u062e\u0637\u0627 \u0647\u0646\u06af\u0627\u0645 \u0627\u062c\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u067e\u0627\u06cc\u0647 \u0648 \u0627\u0633\u0627\u0633 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062a\u0648\u0632\u06cc\u0639 \u0634\u062f\u0647 \u0647\u0633\u062a\u0646\u062f.  \u0622\u0646\u0647\u0627 \u0642\u0637\u0639\u0627\u062a \u0645\u0633\u062a\u0642\u0644\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u062a\u0639\u0627\u0645\u0644 \u062f\u0627\u0631\u0646\u062f \u062a\u0627 \u06cc\u06a9 \u0628\u0631\u0646\u0627\u0645\u0647 \u062a\u0648\u0632\u06cc\u0639 \u0634\u062f\u0647 \u0628\u0632\u0631\u06af\u062a\u0631 \u0631\u0627 \u062a\u0634\u06a9\u06cc\u0644 \u062f\u0647\u0646\u062f.  \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647 \u0634\u0645\u0627 \u0631\u0627 \u062f\u0631 \u0633\u0627\u062e\u062a \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc\u06cc \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062f\u0627\u0646\u0634 \u0627\u06cc\u0646 \u0645\u0642\u0627\u0644\u0647\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc \u067e\u06cc\u0686\u06cc\u062f\u0647\u200c\u062a\u0631\u06cc \u0628\u0633\u0627\u0632\u06cc\u062f\u060c \u0645\u0627\u0646\u0646\u062f \u0633\u0631\u0648\u06cc\u0633\u200c\u0647\u0627\u06cc\u06cc \u06a9\u0647 \u062a\u0639\u0627\u0645\u0644\u0627\u062a \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u06cc\u0627 \u0627\u062d\u0631\u0627\u0632 \u0647\u0648\u06cc\u062a \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f.  \u0628\u0631\u0627\u06cc \u06a9\u0633\u0628 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0628\u06cc\u0634\u062a\u0631 \u062f\u0631 \u0645\u0648\u0631\u062f \u0686\u0627\u0631\u0686\u0648\u0628 Spin\u060c \u062d\u062a\u0645\u0627\u064b \u0645\u0633\u062a\u0646\u062f\u0627\u062a Spin \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f.  \u0628\u0627 \u062a\u0634\u06a9\u0631 \u0628\u0631\u0627\u06cc \u062e\u0648\u0627\u0646\u062f\u0646!<\/p>\n<hr\/>\n<h2><span class=\"ez-toc-section\" id=\"LogRocket_%D8%AF%DB%8C%D8%AF_%DA%A9%D8%A7%D9%85%D9%84_%D8%AF%D8%B1_%D8%B5%D9%81%D8%AD%D8%A7%D8%AA_%D9%88%D8%A8_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87_%D9%87%D8%A7%DB%8C_Rust\"><\/span>\n<p>  LogRocket: \u062f\u06cc\u062f \u06a9\u0627\u0645\u0644 \u062f\u0631 \u0635\u0641\u062d\u0627\u062a \u0648\u0628 \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Rust<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Rust \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062f\u0634\u0648\u0627\u0631 \u0628\u0627\u0634\u062f\u060c \u0628\u0647 \u062e\u0635\u0648\u0635 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06a9\u0627\u0631\u0628\u0631\u0627\u0646 \u0645\u0634\u06a9\u0644\u0627\u062a\u06cc \u0631\u0627 \u062a\u062c\u0631\u0628\u0647 \u0645\u06cc \u06a9\u0646\u0646\u062f \u06a9\u0647 \u0628\u0627\u0632\u062a\u0648\u0644\u06cc\u062f \u0622\u0646 \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a.  \u0627\u06af\u0631 \u0628\u0647 \u0646\u0638\u0627\u0631\u062a \u0648 \u0631\u062f\u06cc\u0627\u0628\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc Rust\u060c \u0646\u0645\u0627\u06cc\u0634 \u062e\u0648\u062f\u06a9\u0627\u0631 \u062e\u0637\u0627\u0647\u0627 \u0648 \u067e\u06cc\u06af\u06cc\u0631\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u200c\u0647\u0627\u06cc \u0634\u0628\u06a9\u0647 \u0648 \u0632\u0645\u0627\u0646 \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u06a9\u0646\u062f \u0639\u0644\u0627\u0642\u0647 \u062f\u0627\u0631\u06cc\u062f\u060c LogRocket \u0631\u0627 \u0627\u0645\u062a\u062d\u0627\u0646 \u06a9\u0646\u06cc\u062f. <\/p>\n<p><\/p>\n<p>LogRocket \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 DVR \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u0648\u0628 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0645\u0639\u0646\u0627\u06cc \u0648\u0627\u0642\u0639\u06cc \u06a9\u0644\u0645\u0647 \u0647\u0631 \u0686\u06cc\u0632\u06cc \u0631\u0627 \u06a9\u0647 \u062f\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 Rust \u0634\u0645\u0627 \u0627\u062a\u0641\u0627\u0642 \u0645\u06cc \u0627\u0641\u062a\u062f \u0636\u0628\u0637 \u0645\u06cc \u06a9\u0646\u062f.  \u0628\u0647 \u062c\u0627\u06cc \u062d\u062f\u0633 \u0632\u062f\u0646 \u0686\u0631\u0627\u06cc\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0631 \u0645\u0648\u0631\u062f \u0648\u0636\u0639\u06cc\u062a\u06cc \u06a9\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u062f\u0631 \u0647\u0646\u06af\u0627\u0645 \u0628\u0631\u0648\u0632 \u0645\u0634\u06a9\u0644 \u062f\u0631 \u0622\u0646 \u0642\u0631\u0627\u0631 \u062f\u0627\u0634\u062a\u060c \u062c\u0645\u0639 \u0622\u0648\u0631\u06cc \u06a9\u0631\u062f\u0647 \u0648 \u06af\u0632\u0627\u0631\u0634 \u062f\u0647\u06cc\u062f.  LogRocket \u0647\u0645\u0686\u0646\u06cc\u0646 \u0628\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0634\u0645\u0627 \u0646\u0638\u0627\u0631\u062a \u0645\u06cc \u06a9\u0646\u062f\u060c \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f \u0628\u0627\u0631 CPU \u0645\u0634\u062a\u0631\u06cc\u060c \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062d\u0627\u0641\u0638\u0647 \u0645\u0634\u062a\u0631\u06cc \u0648 \u0645\u0648\u0627\u0631\u062f \u062f\u06cc\u06af\u0631 \u0631\u0627 \u06af\u0632\u0627\u0631\u0634 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>\u0646\u062d\u0648\u0647 \u0627\u0634\u06a9\u0627\u0644 \u0632\u062f\u0627\u06cc\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc Rust \u062e\u0648\u062f \u0631\u0627 \u0645\u062f\u0631\u0646 \u06a9\u0646\u06cc\u062f &#8211; \u0646\u0638\u0627\u0631\u062a \u0631\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u0631\u0627\u06cc\u06af\u0627\u0646 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0646\u0648\u0634\u062a\u0647 \u0634\u062f\u0647 \u062a\u0648\u0633\u0637 Oduah Chigozie\u270f\ufe0f Rust \u06cc\u06a9 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627 \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc \u062f\u0647\u062f. \u0648 \u0628\u0627 Spin\u060c \u0633\u0627\u062e\u062a \u0645\u06cc\u06a9\u0631\u0648\u0633\u0631\u0648\u06cc\u0633 \u0647\u0627\u06cc \u0642\u062f\u0631\u062a\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc \u062a\u0648\u0632\u06cc\u0639 \u0634\u062f\u0647 \u0628\u0633\u06cc\u0627\u0631 \u0622\u0633\u0627\u0646 \u062a\u0631 \u0634\u062f\u0647 \u0627\u0633\u062a. \u0645\u0632\u0627\u06cc\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f Rust \u0628\u0627 \u0633\u0647\u0648\u0644\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0648 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u06cc Spin\u060c \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0627\u0646\u062a\u062e\u0627\u0628\u06cc \u0627\u0631\u0632\u0634\u0645\u0646\u062f \u0628\u0631\u0627\u06cc \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646\u06cc \u062a\u0628\u062f\u06cc\u0644 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":23789,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-23788","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/23788","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=23788"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/23788\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/23789"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=23788"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=23788"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=23788"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}