{"id":299520,"date":"2020-03-02T03:00:11","date_gmt":"2020-03-02T03:00:11","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=299520"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=299520","title":{"rendered":"\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0441\u0432\u0435\u0436\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0438\u0437 \u043c\u0438\u0440\u0430 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043d\u0435\u0434\u0435\u043b\u044e \u2116404 (24 \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u2014 1 \u043c\u0430\u0440\u0442\u0430 2020)"},"content":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/490616\/\">\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0441 \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043d\u043e\u0432\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438\u0437 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u0438 \u043e\u043a\u043e\u043b\u043e \u043d\u0435\u0433\u043e.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/_c\/1s\/tg\/_c1stgeprto_dqn0c992v_beaii.png\"><\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p><a href=\"#media\"><b>\u041c\u0435\u0434\u0438\u0430<\/b><\/a>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#development\"><b>\u0412\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/b><\/a>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#css\"><b>CSS<\/b><\/a>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#js\"><b>JavaScript<\/b><\/a>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#browser\"><b>\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044b<\/b><\/a>&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"#interesting\"><b>\u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/b><\/a><\/p>\n<p>  <\/p>\n<h3><font color=\"#349A48\"><a name=\"media\"><\/a>\u041c\u0435\u0434\u0438\u0430<\/font><\/h3>\n<p>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> <a href=\"https:\/\/medium.com\/web-standards\/episode-218-4e8cd079eeac\" rel=\"nofollow\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0412\u0435\u0431-\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b\u00bb \u2116218: \u041e\u043f\u044f\u0442\u044c \u0433\u0440\u0438\u0434\u044b, \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u044b \u0432\u0441\u0451 \u043b\u0443\u0447\u0448\u0435, \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u0439 CSS, \u0432\u0435\u0431-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0432\u0441\u0451 \u043f\u0440\u043e \u043a\u043d\u043e\u043f\u043a\u0438 \u0438 disabled<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> <a href=\"https:\/\/soundcloud.com\/frontend_u\/e127_1\" rel=\"nofollow\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u042e\u043d\u043e\u0441\u0442\u044c (18+)\u00bb #127: \u041c\u0430\u043b\u043e \u043f\u043e\u043b\u043e\u0432\u0438\u043d. \u0427\u0430\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0430\u044f<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> <a href=\"https:\/\/soundcloud.com\/begebot\/ep35\" rel=\"nofollow\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0421\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043c\u043d\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u00bb, \u0412\u044b\u043f\u0443\u0441\u043a \u211635 \u2014 \u0417\u0430\u0440\u043f\u043b\u0430\u0442\u044b, \u0434\u0435\u043f\u043b\u043e\u0438 \u043f\u043e \u043f\u044f\u0442\u043d\u0438\u0446\u0430\u043c \u0438 \u0433\u043e\u0440\u0434\u044b\u043d\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u0449\u0438\u043a\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"> <a href=\"https:\/\/www.youtube.com\/watch?v=eLlULhNNthI&amp;amp;feature=youtu.be\" rel=\"nofollow\">\u042f &lt;3 \u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 2020 \u2014 \u0417\u0430\u043f\u0438\u0441\u044c \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438<\/a><\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b70\/f9f\/eae\/b70f9feaeee78b42a0c78c3731555e73.gif\"> <font color=\"#349A48\"><a name=\"development\"><\/a>\u0412\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/font><\/h3>\n<p>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/489858\/\">\u0418\u043d\u0442\u0435\u0440\u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f: \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0435\u0431 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c \u0434\u043b\u044f \u0432\u0441\u0435\u0445<\/a><br \/>  \u2022 <a href=\"https:\/\/www.searchengines.ru\/h1-google.html\" rel=\"nofollow\">\u0412\u043b\u0438\u044f\u044e\u0442 \u043b\u0438 \u0442\u0435\u0433\u0438 H1 \u043d\u0430 \u0440\u0430\u043d\u0436\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Google\u2013 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 Moz<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/jasonformat.com\/rome-javascript-toolchain\/\" rel=\"nofollow\">Rome, \u043d\u043e\u0432\u044b\u0439 JavaScript \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f Yarn \u0438 Babel \u0438\u0437 Facebook<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/codedivoire\/a-day-in-the-life-how-a-frontend-developer-solves-a-simple-bug-3e98\" rel=\"nofollow\">\u041e\u0434\u0438\u043d \u0434\u0435\u043d\u044c \u0438\u0437 \u0436\u0438\u0437\u043d\u0438: \u043a\u0430\u043a \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u00ab\u043f\u0440\u043e\u0441\u0442\u043e\u0439\u00bb \u0431\u0430\u0433 <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/adrianroselli.com\/2020\/03\/stop-using-drop-down.html\" rel=\"nofollow\">\u0425\u0432\u0430\u0442\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u043e\u0432\u043e \u2018Drop-down\u2019<\/a><\/p>\n<ul>\n<li><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/490274\/\">\u00abRender-Blocking JavaScript and CSS on WordPress\u00bb. \u041a\u0430\u043a \u044d\u0442\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c?<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/490210\/\">\u0423\u0441\u043a\u043e\u0440\u044f\u0435\u043c \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434. \u041a\u043e\u0433\u0434\u0430 \u043c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443&nbsp;\u2014 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/vdsina\/blog\/490366\/\">\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c Google Fonts \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435?<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/nooshu.github.io\/blog\/2020\/02\/23\/improving-perceived-performance-with-the-css-font-display-property\/\" rel=\"nofollow\">\u0423\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 CSS `font-display` <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/timkadlec.com\/remembers\/2020-02-20-in-browser-performance-linting-with-feature-policies\/\" rel=\"nofollow\">\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 Feature Policy <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.matuzo.at\/blog\/why-543kb-keep-me-up-at-night\/\" rel=\"nofollow\">\u041f\u043e\u0447\u0435\u043c\u0443 543 KB \u043d\u0435 \u0434\u0430\u044e\u0442 \u043c\u043d\u0435 \u0441\u043f\u0430\u0442\u044c \u043f\u043e \u043d\u043e\u0447\u0430\u043c <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c<\/strong><br \/>   \u2022 <a href=\"https:\/\/css-live.ru\/tricks\/css-protiv-koronavirusa-dostupnoe-predstavlenie-ierarxicheskix-tablichnyx-dannyx.html\" rel=\"nofollow\">CSS \u043f\u0440\u043e\u0442\u0438\u0432 \u043a\u043e\u0440\u043e\u043d\u0430\u0432\u0438\u0440\u0443\u0441\u0430: \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/keepinguptodate.com\/pages\/2020\/02\/common-web-accessibility-issues\/\" rel=\"nofollow\">5 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/daverupert.com\/2020\/02\/html-the-inaccessible-parts\/\" rel=\"nofollow\">HTML: \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u0438 <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>\u042d\u0444\u0444\u0435\u043a\u0442\u044b<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/489756\/\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0430\u0440\u0430\u043d\u0434\u0430\u0448\u043d\u043e\u0433\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0430 \u0432 SVG<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/tympanus.net\/codrops\/2020\/02\/26\/animating-svg-text-on-a-path\/\" rel=\"nofollow\">\u0410\u043d\u0438\u043c\u0430\u0446\u0438\u044f SVG-\u0442\u0435\u043a\u0441\u0442\u0430 \u0432 Path <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/tympanus.net\/codrops\/2020\/02\/24\/audio-based-image-distortion-effects-with-webgl\/\" rel=\"nofollow\">\u0410\u0443\u0434\u0438\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u044b \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 WebGL <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/36c\/2c6\/966\/36c2c69660dd21085a2dcb71d7246ae6.gif\"> <font color=\"#349A48\"><a name=\"css\"><\/a>CSS<\/font><\/h3>\n<p>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/489820\/\">\u0421\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0434\u043e\u0431\u0440\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 button<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/489778\/\">\u0421\u0442\u0430\u0440\u044b\u0439 \u0438 \u043d\u043e\u0432\u044b\u0439 CSS. \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0432\u0435\u0431-\u0434\u0438\u0437\u0430\u0439\u043d\u0430<\/a><br \/>  \u2022 <a href=\"https:\/\/css-live.ru\/vecssti-s-polej\/v-w3c-poyavilas-obshhestvennaya-gruppa-po-css4.html\" rel=\"nofollow\">\u0412 W3C \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043f\u043e CSS4<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/responsive-grid-magazine-layout-in-just-20-lines-of-css\/\" rel=\"nofollow\">\u0410\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u043a\u0435\u0442 \u0441\u0435\u0442\u043a\u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0430 \u0432\u0441\u0435\u0433\u043e \u0432 20 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 CSS <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/weaving-a-line-through-text-in-css\/\" rel=\"nofollow\">\u042d\u0444\u0444\u0435\u043a\u0442 \u043b\u0438\u043d\u0438\u0438, \u043f\u0435\u0440\u0435\u043f\u043b\u0435\u0442\u0435\u043d\u043d\u043e\u0439 \u043c\u0435\u0436\u0434\u0443 \u0431\u0443\u043a\u0432 \u043d\u0430&nbsp;CSS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/equinusocio.dev\/blog\/smart-animations-with-custom-properties\/\" rel=\"nofollow\">\u0423\u043c\u043d\u0430\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.quirksmode.org\/blog\/archives\/2020\/02\/negative_margin.html\" rel=\"nofollow\">\u041d\u0435\u0433\u0430\u0442\u0438\u0432\u043d\u044b\u0435 margin \u0432 CSS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/hsnaydd.github.io\/buttono\/\" rel=\"nofollow\">Buttono \u2014 \u0413\u0438\u0431\u043a\u0438\u0439 Sass-\u043c\u0438\u043a\u0441\u0438\u043d \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u0432 \u0441\u0442\u0438\u043b\u0435 \u0411\u042d\u041c <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/why-is-css-frustrating\/\" rel=\"nofollow\">\u041f\u043e\u0447\u0435\u043c\u0443 CSS&nbsp;\u0440\u0430\u0441\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/blog.logrocket.com\/css-motion-path-the-end-of-gsap\/\" rel=\"nofollow\">CSS Motion Path: \u041a\u043e\u043d\u0435\u0446 GSAP?<\/a><\/p>\n<h3><font color=\"#349A48\"><a name=\"js\"><\/a>JavaScript<\/font><\/h3>\n<p>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/489818\/\">JavaScript \u0438 \u043a\u043e\u0435-\u0447\u0442\u043e \u0435\u0449\u0451: 4 \u043a\u0440\u0435\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/490412\/\">\u041c\u043e\u0436\u0435\u0442, \u043d\u0430\u043c \u0441\u043b\u0435\u0433\u043a\u0430 \u0443\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u044c\u0441\u044f \u0441 JavaScript?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/funcorp\/blog\/490014\/\">JavaScript tree shaking, like a pro<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/diary.braniecki.net\/2020\/02\/14\/js-intl-in-2020\/\" rel=\"nofollow\">\u0418\u043d\u0442\u0435\u0440\u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f JavaScript \u0432 2020 \u0433\u043e\u0434\u0443 <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dmitripavlutin.com\/javascript-modules-best-practices\/\" rel=\"nofollow\">4 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 JavaScript <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/javascript-in-plain-english\/how-to-use-the-javascript-internalization-intl-object-with-their-last-features-148c6acdeb67\" rel=\"nofollow\">\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c JavaScript Internationalization API<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/blog.logrocket.com\/dynamic-and-async-functionality-in-jamstack\/\" rel=\"nofollow\">\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 JAMstack <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/jscharting\/5-best-front-end-javascript-frameworks-multi-year-developer-surveys-visualized-11p\" rel=\"nofollow\">5 \u043b\u0443\u0447\u0448\u0438\u0445 JavaScript-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432: \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043d\u043e\u0433\u043e\u043b\u0435\u0442\u043d\u0438\u0445 \u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 <\/a><\/p>\n<ul>\n<li><strong>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/489828\/\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 GeoJSON \u0432 \u0441\u0440\u0435\u0434\u0435 Node.js: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/490456\/\">\u041f\u0438\u0448\u0435\u043c babel \u043f\u043b\u0430\u0433\u0438\u043d, \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/489452\/\">\u0417\u0430\u0434\u0430\u0447\u0438 \u043f\u043e JavaScript \u043e\u0442 Microsoft<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/better-programming\/build-an-arcade-game-with-vanilla-javascript-d318fc94832b\" rel=\"nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u0440\u043a\u0430\u0434\u043d\u043e\u0439 \u0438\u0433\u0440\u044b \u043d\u0430 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u043c JavaScript <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/logaretm.com\/blog\/2020-02-24-caching-graphql-requests\/\" rel=\"nofollow\">\u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 GraphQL <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/alligator.io\/js\/push-api\/\" rel=\"nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 PWA \u043d\u0430 Vanilla JavaScript. \u0427\u0430\u0441\u0442\u044c 2. Push API <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>\u0422\u0435\u043e\u0440\u0438\u044f<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/490084\/\">\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 ECMAScript, \u0447\u0430\u0441\u0442\u044c 1<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/489826\/\">\u041e\u0431 \u0438\u0437\u043c\u0435\u043d\u0447\u0438\u0432\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u0430\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 Math \u0432 JavaScript<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/dailyjs\/2-ways-to-convert-values-to-boolean-in-javascript-2abee60af76d\" rel=\"nofollow\">2 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 Boolean \u0432 JavaScript <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/itnext.io\/how-to-start-thinking-functionally-in-javascript-b7805e3b48e\" rel=\"nofollow\">\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c \u0434\u0443\u043c\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0432 JavaScript <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/niscontractor\/everything-you-want-to-know-about-service-worker-4c91\" rel=\"nofollow\">\u0412\u0441\u0435, \u0447\u0442\u043e \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0437\u043d\u0430\u0442\u044c \u043e Service Worker <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>React<\/strong><br \/>   \u2022 <a href=\"https:\/\/medium.com\/@stasonmars\/%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC-axios-%D0%B2-react-453c04ed0654\" rel=\"nofollow\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c Axios \u0432 React<\/a><br \/>   \u2022 <a href=\"https:\/\/tproger.ru\/articles\/10-js-conception-for-react\/\" rel=\"nofollow\">10 \u0444\u0438\u0448\u0435\u043a \u0438\u0437 JavaScript, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u043f\u0438\u0441\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 React<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/thibaut.io\/react-canvas-components\" rel=\"nofollow\">React + Canvas = Love<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/tannerlinsley\/react-query\" rel=\"nofollow\">React Query \u2014 \u0425\u0443\u043a\u0438 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0438, \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 React<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/blog.logrocket.com\/why-you-should-use-refs-sparingly-in-production\/\" rel=\"nofollow\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441 \u0443\u043c\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c refs \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435 <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/blog.bitsrc.io\/react-useref-and-react-createref-the-difference-afedb9877d0f\" rel=\"nofollow\">React.useRef \u0438 React.createRef: \u0440\u0430\u0437\u043d\u0438\u0446\u0430 <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/dailyjs\/do-you-like-redux-then-youll-love-react-connect-context-hooks-44d6cc421fc3\" rel=\"nofollow\">\u0412\u0430\u043c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f Redux? \u0422\u043e\u0433\u0434\u0430 \u0432\u0430\u043c \u043f\u043e\u043d\u0440\u0430\u0432\u044f\u0442\u0441\u044f react-connect-context-hooks! <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/frontend-digest\/mistakes-junior-react-developers-make-c546b1af187d\" rel=\"nofollow\">\u041e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u0434\u0436\u0443\u043d\u0438\u043e\u0440 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043d\u0430 React <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.smashingmagazine.com\/2020\/02\/tailwindcss-react-project\/\" rel=\"nofollow\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Tailwind CSS \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 React <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Vue<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/490496\/\">\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u0439 PWA \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d \u043d\u0430 Nuxt.js 2 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0427\u0430\u0441\u0442\u044c 1<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"> <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.youtube.com\/watch?v=OrxmtDw4pVI\" rel=\"nofollow\">Vue.js: The Documentary<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/stefan-bauer.online\/building-an-application-with-vue-and-type-script-best-practices-thoughts-and-recommendations\/\" rel=\"nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Vue \u0438 TypeScript. \u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438, \u043c\u044b\u0441\u043b\u0438 \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438. <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.smashingmagazine.com\/2020\/02\/music-manager-nuxtjs-expressjs\/\" rel=\"nofollow\">\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0441 Nuxt.js \u0438 Express.js <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/madewithvuejs.com\/blog\/how-to-learn-vue-js-testing-the-ultimate-guide\" rel=\"nofollow\">\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c Vue.js: \u0432\u0430\u0448\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/ycmjason\/recreating-vue-3-reactivity-api-roughly-1o6a\" rel=\"nofollow\">(\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435) \u0412\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Vue 3 Reactivity API <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/frontstuff.io\/using-state-machines-in-vuejs-with-xstate\" rel=\"nofollow\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u0432 \u0432 Vue.js \u0441 XState <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Angular<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/@tomastrajan\/how-to-build-epic-angular-app-with-clean-architecture-91640ed1656\" rel=\"nofollow\">\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043f\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Angular \u043c\u0435\u043d\u0435\u0435 \u0447\u0435\u043c \u0437\u0430 10 \u043c\u0438\u043d\u0443\u0442! \ufe0f <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/labs.thisdot.co\/blog\/this-is-why-you-should-go-angular-9-today\" rel=\"nofollow\">\u0412\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Angular 9 \u0441\u0435\u0433\u043e\u0434\u043d\u044f <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/angular\/everything-github-continuous-integration-deployment-and-hosting-for-your-angular-app-25j3\" rel=\"nofollow\">Everything GitHub: Continuous Integration, Deployment \u0438 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e Angular \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/monicafidalgo\/angular-developer-roadmap-for-2020-3eb4\" rel=\"nofollow\">\u0414\u043e\u0440\u043e\u0436\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u0434\u043b\u044f Angular-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0430 2020 <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/stupidawesome\/reactive-adventures-in-angular-introducing-angular-effects-1epf\" rel=\"nofollow\">\u0420\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432 Angular: \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 Angular Effects <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Svelte<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/areknawo\/making-a-todo-app-in-svelte-57l3\" rel=\"nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f TODO \u0432 Svelte <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/d_ir\/testing-svelte-async-state-changes-3mip\" rel=\"nofollow\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 Svelte <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/joshnuss\/managing-state-in-svelte-29o7\" rel=\"nofollow\">\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u043e\u043c \u0432 Svelte <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Ember<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/ru\/post\/489776\/\">The Ember Times \u2014 \u0412\u044b\u043f\u0443\u0441\u043a 136<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.pzuraq.com\/how-autotracking-works\/\" rel=\"nofollow\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Autotracking<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.mylittletechlife.com\/ember-monorepo\" rel=\"nofollow\">\u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u0432\u0430\u0448\u0435\u0433\u043e Ember \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432 \u043c\u043e\u043d\u043e\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Libs &amp; Plugins<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/yahoo\/serialize-javascript\" rel=\"nofollow\">serialize-javascript \u2014 \u0421\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f JavaScript \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 JSON, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/nickdeny\/darkmode-js\" rel=\"nofollow\">DarkModeJS \u2014 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0432\u0430\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0442\u0435\u043c\u0443 \u043d\u0430 \u0442\u0435\u043c\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443<\/a>   <\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c59\/524\/8ce\/c595248cea9cbeab42ab6633d54d3782.gif\"> <font color=\"#349A48\"><a name=\"browser\"><\/a>\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044b<\/font><\/h3>\n<p>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52435\" rel=\"nofollow\">\u0412 Firefox 75 \u0431\u0443\u0434\u0443\u0442 \u0443\u0431\u0440\u0430\u043d\u044b https:\/\/ \u0438 www \u0438\u0437 \u0432\u044b\u043f\u0430\u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52442\" rel=\"nofollow\">0-day \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0432 Chrome, \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u043d\u0430\u044f \u0447\u0435\u0440\u0435\u0437 \u0430\u043d\u0430\u043b\u0438\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u0434\u0432\u0438\u0436\u043a\u0435 V8<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52440\" rel=\"nofollow\">Mozilla \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a RLBox<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52421\" rel=\"nofollow\">Google \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u0434\u043b\u044f Firefox \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0430\u0443\u0434\u0438\u0442\u0430 web-\u0441\u0442\u0440\u0430\u043d\u0438\u0446 Lighthouse<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52453\" rel=\"nofollow\">\u0412 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 Brave \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a archive.org \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446<\/a><br \/>  \u2022 <a href=\"https:\/\/www.computerra.ru\/254745\/u-chrome-est-dinozavrik-a-u-microsoft-edge-budet-syorfing\/\" rel=\"nofollow\">\u0423 Chrome \u0435\u0441\u0442\u044c \u0434\u0438\u043d\u043e\u0437\u0430\u0432\u0440\u0438\u043a, \u0430 \u0443 Microsoft Edge \u0431\u0443\u0434\u0435\u0442 \u0441\u0451\u0440\u0444\u0438\u043d\u0433<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/hacks.mozilla.org\/2020\/02\/securing-firefox-with-webassembly\/\" rel=\"nofollow\">\u0417\u0430\u0449\u0438\u0442\u0430 Firefox \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e WebAssembly <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/textslashplain.com\/2020\/02\/26\/can-i-in-the-new-edge\/\" rel=\"nofollow\">\u00ab\u041c\u043e\u0433\u0443 \u043b\u0438 \u044f\u2026 \u0432 \u043d\u043e\u0432\u043e\u043c Edge?\u00bb <\/a><\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d4b\/289\/ef0\/d4b289ef0a00e969108c25d0c3d75f58.gif\"> <font color=\"#349A48\"><a name=\"interesting\"><\/a>\u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/font><\/h3>\n<p>  \u2022 <a href=\"https:\/\/ain.ua\/2020\/02\/29\/adtech-bez-cookies\/\" rel=\"nofollow\">\u041a\u0430\u043a \u0446\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u0440\u0435\u043a\u043b\u0430\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0436\u0438\u0442\u044c \u0431\u0435\u0437 cookie-\u0444\u0430\u0439\u043b\u043e\u0432 <\/a><br \/>  \u2022 <a href=\"https:\/\/itc.ua\/news\/poiskovyj-servis-google-images-budet-vyvodit-bolshe-svedenij-ob-izobrazheniyah-markirovat-tovary-reczepty-i-video\/\" rel=\"nofollow\">\u041f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 Google Images \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u043e\u0431 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u2014 \u043c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u0432\u0430\u0440\u044b, \u0440\u0435\u0446\u0435\u043f\u0442\u044b \u0438 \u0432\u0438\u0434\u0435\u043e<\/a><br \/>  \u2022 <a href=\"https:\/\/vc.ru\/story\/108030-patentnye-voyny-i-sporshchik-na-million-istoriya-izobreteniya-kolyuchey-provoloki-i-ee-samogo-uspeshnogo-prodavca-v-19-veke\" rel=\"nofollow\">\u041f\u0430\u0442\u0435\u043d\u0442\u043d\u044b\u0435 \u0432\u043e\u0439\u043d\u044b \u0438 \u0441\u043f\u043e\u0440\u0449\u0438\u043a \u043d\u0430 \u043c\u0438\u043b\u043b\u0438\u043e\u043d: \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u044e\u0447\u0435\u0439 \u043f\u0440\u043e\u0432\u043e\u043b\u043e\u043a\u0438 \u0438 \u0435\u0451 \u0441\u0430\u043c\u043e\u0433\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u0430 \u0432 19 \u0432\u0435\u043a\u0435 \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438<\/a><br \/>  \u2022 <a href=\"https:\/\/nplus1.ru\/material\/2020\/02\/25\/no-updates-please\" rel=\"nofollow\">\u0413\u043e\u0440\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u043c. \u041f\u043e\u0447\u0435\u043c\u0443 \u0430\u043f\u0434\u0435\u0439\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u043b\u0438\u0448\u0438\u0442\u044c \u0432\u0430\u0441 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430, \u043d\u043e \u0438 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f<\/a><br \/>  \u2022 <a href=\"https:\/\/www.seonews.ru\/events\/google-perevedet-vse-sayty-na-mobile-first-indeksatsiyu-v-techenie-6-12-mesyatsev\/\" rel=\"nofollow\">Google \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u0442 \u0432\u0441\u0435 \u0441\u0430\u0439\u0442\u044b \u043d\u0430 mobile-first \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 6-12 \u043c\u0435\u0441\u044f\u0446\u0435\u0432<\/a><br \/>  \u2022 <a href=\"https:\/\/www.searchengines.ru\/nofollow-crawling.html\" rel=\"nofollow\">Google \u043e \u043f\u0440\u0435\u0434\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 nofollow<\/a><\/p>\n<p>\u041f\u0440\u043e\u0441\u0438\u043c \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0438\u043b\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435\/\u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u2014 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0432 \u043b\u0438\u0447\u043a\u0443, \u043c\u044b \u0441\u0442\u0430\u0440\u0430\u0435\u043c\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0438\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c. <\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/489652\/\">\u0414\u0430\u0439\u0434\u0436\u0435\u0441\u0442 \u0437\u0430 \u043f\u0440\u043e\u0448\u043b\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e<\/a>.<br \/>  \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 <a href=\"http:\/\/habrahabr.ru\/users\/dersmoll\/\" rel=\"nofollow\">dersmoll<\/a> \u0438 <a href=\"http:\/\/habrahabr.ru\/users\/alekskorovin\/\" rel=\"nofollow\">alekskorovin<\/a>.<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/490616\/\"> https:\/\/habr.com\/ru\/post\/490616\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/490616\/\">\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u043c \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0443 \u0441 \u0441\u0441\u044b\u043b\u043a\u0430\u043c\u0438 \u043d\u0430 \u043d\u043e\u0432\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438\u0437 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u0438 \u043e\u043a\u043e\u043b\u043e \u043d\u0435\u0433\u043e.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/_c\/1s\/tg\/_c1stgeprto_dqn0c992v_beaii.png\"><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-299520","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/299520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=299520"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/299520\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=299520"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=299520"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=299520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}