{"id":319988,"date":"2021-03-21T21:00:12","date_gmt":"2021-03-21T21:00:12","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=319988"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=319988","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 \u2116459 (15 \u2014 21 \u043c\u0430\u0440\u0442\u0430 2021)"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\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\/uq\/va\/0-\/uqva0-pvufe9_wktmdbfzn7xqge.jpeg\"><\/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><\/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:\/\/soundcloud.com\/csssr\/istoriya-react-api-doklady-i-vorkshopy-s-ya-3-frontend-nyuansy-this-relizy-brauzerov-i-v8-semver\" rel=\"nofollow noopener noreferrer\"> \u00ab\u041d\u043e\u0432\u043e\u0441\u0442\u0438 512\u00bb \u043e\u0442 CSSSR: \u0418\u0441\u0442\u043e\u0440\u0438\u044f React API, \u0434\u043e\u043a\u043b\u0430\u0434\u044b \u0438 \u0432\u043e\u0440\u043a\u0448\u043e\u043f\u044b \u0441 \u00ab\u042f &lt;3 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u00bb, \u043d\u044e\u0430\u043d\u0441\u044b this, \u0440\u0435\u043b\u0438\u0437\u044b \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432 \u0438 V8, semver<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> <a href=\"https:\/\/soundcloud.com\/begebot\/ep57\" rel=\"nofollow noopener noreferrer\">\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 \u211657 \u2014 \u0415\u0441\u043b\u0438 \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u043e \u0438 \u0442\u0435\u0441\u0442\u044b \u043d\u0435 \u043d\u0443\u0436\u043d\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> <a href=\"https:\/\/soundcloud.com\/web-standards\/episode-273\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0412\u0435\u0431-\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b\u00bb \u2116273. \u0421\u0442\u0430\u0440\u044b\u0439 Edge, Safari, React Native \u0438 Preact, MDN \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438, \u043f\u0435\u0447\u0430\u0442\u044c, EditorConfig, \u0445\u043e\u0432\u0435\u0440\u044b, \u0448\u0440\u0438\u0444\u0442\u044b<\/a><\/p>\n<h3><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\/post\/546994\/\">\u041e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u0433\u0430\u0439\u0434 \u043f\u043e HTML-\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\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\/webpacks-hot-module-replacement-feature-explained-43c13b169986\" rel=\"nofollow noopener noreferrer\">\u041e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430 \u0440\u0430\u0431\u043e\u0442\u044b Webpack\u2019s Hot Module Replacement Feature <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.sitepoint.com\/how-to-simulate-mobile-devices-with-device-mode-in-chrome\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0438\u043c\u0438\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 Device Mode \u0432 Chrome <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/mdn\/translated-content\" rel=\"nofollow noopener noreferrer\">\u0420\u0443\u0441\u0441\u043a\u0430\u044f \u043b\u043e\u043a\u0430\u043b\u044c \u043d\u0430 MDN \u0440\u0430\u0437\u043c\u043e\u0440\u043e\u0436\u0435\u043d\u0430<\/a> \u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u043d\u043e\u0432\u0430 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u043b\u0443\u0447\u0448\u0438\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0434\u043b\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432. \u0416\u0435\u043b\u0430\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043c\u043e\u0433\u0443\u0442 <a href=\"https:\/\/github.com\/mdn\/translated-content\/issues\/276\" rel=\"nofollow noopener noreferrer\">\u043e\u0442\u043f\u0438\u0441\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c issue<\/a><\/p>\n<ul>\n<li><strong>PWA<\/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\/547436\/\">\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 PWA<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/javascript.plainenglish.io\/your-pwa-is-going-to-break-in-august-2021-34982f329f40\" rel=\"nofollow noopener noreferrer\">\u0412\u0430\u0448\u0438 PWA \u0441\u043b\u043e\u043c\u0430\u044e\u0442\u0441\u044f \u0432 \u0430\u0432\u0433\u0443\u0441\u0442\u0435 2021 \u0433\u043e\u0434\u0430<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/blog.bitsrc.io\/is-it-the-beginning-of-the-end-for-pwas-da0fb032d545\" rel=\"nofollow noopener noreferrer\">\u042d\u0442\u043e \u043d\u0430\u0447\u0430\u043b\u043e \u043a\u043e\u043d\u0446\u0430 \u0434\u043b\u044f PWA? <\/a>  <\/li>\n<\/ul>\n<p>  <\/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=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/gtmetrix.com\/blog\/why-you-should-test-your-mobile-performance\/\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0447\u0435\u043c\u0443 \u0432\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/web.dev\/vodafone\/\" rel=\"nofollow noopener noreferrer\">Vodafone: \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 LCP \u043d\u0430 31% \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0438 \u043d\u0430 8%<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/searchengines.guru\/ru\/news\/2050728\" rel=\"nofollow noopener noreferrer\">\u0412 Google \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u043b\u0438, \u0447\u0442\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043c\u043e\u0433\u0443\u0442 \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043e\u0446\u0435\u043d\u043a\u0443 Core Web Vitals<\/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 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.filamentgroup.com\/lab\/practical-accessibility-1-semantics\/\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c, \u0447\u0430\u0441\u0442\u044c 1: \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0438 ARIA<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.smashingmagazine.com\/2021\/03\/good-better-best-untangling-complex-world-accessible-patterns\/\" rel=\"nofollow noopener noreferrer\">Good, Better, Best: \u0440\u0430\u0441\u043f\u0443\u0442\u044b\u0432\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043c\u0438\u0440 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.sarasoueidan.com\/blog\/accessible-text-labels\/\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 <\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<h3><font color=\"#349A48\"><a name=\"css\"><\/a>CSS<\/font><\/h3>\n<p>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/benfrain.com\/official-css-nesting-the-last-piece-of-the-puzzle\/\" rel=\"nofollow noopener noreferrer\">\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0432 CSS \u2014 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u0433\u043e\u043b\u043e\u0432\u043e\u043b\u043e\u043c\u043a\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/did-you-know-about-the-has-css-selector\/\" rel=\"nofollow noopener noreferrer\">\u0417\u043d\u0430\u0435\u0442\u0435 \u043b\u0438 \u0432\u044b \u043e CSS \u0441\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u0435 :has?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.bram.us\/2021\/03\/19\/three-important-things-you-should-know-about-css-is\/\" rel=\"nofollow noopener noreferrer\">\u0422\u0440\u0438 \u0432\u0430\u0436\u043d\u044b\u0445 \u0432\u0435\u0449\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u043d\u0430\u0442\u044c \u043e :is() \u0432 CSS <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/afif\/100-underline-overlay-animation-the-ultimate-css-collection-4p40\" rel=\"nofollow noopener noreferrer\">100 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f\/\u043d\u0430\u043b\u043e\u0436\u0435\u043d\u0438\u044f | The ultimate CSS collection <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.smashingmagazine.com\/2021\/03\/css-generators\/\" rel=\"nofollow noopener noreferrer\">CSS \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/utopia.fyi\/space\/calculator\/\" rel=\"nofollow noopener noreferrer\">Fluid Space Calculator<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/better-line-breaks-for-long-urls\/\" rel=\"nofollow noopener noreferrer\">\u041b\u0443\u0447\u0448\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u043b\u044f \u0434\u043b\u0438\u043d\u043d\u044b\u0445 URL-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/platform-news-prefers-contrast-mathml-is-and-css-background-initial-values\/\" rel=\"nofollow noopener noreferrer\">\u041d\u043e\u0432\u043e\u0441\u0442\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b: Prefers Contrast, MathML, :is(), \u0438 CSS Background Initial&nbsp;Values<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/geoffgraham.me\/how-im-dealing-with-font-sizes\/\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u044f \u0434\u0435\u043b\u0430\u044e \u0441 \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/itnext.io\/yes-heres-the-best-css-framework-in-2021-2c9eb2ced678\" rel=\"nofollow noopener noreferrer\">\u0414\u0430, \u0432\u043e\u0442 \u043b\u0443\u0447\u0448\u0438\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a CSS \u0432 2021 \u0433\u043e\u0434\u0443 <\/a><\/p>\n<h3><font color=\"#349A48\"><a name=\"js\"><\/a>JavaScript<\/font><\/h3>\n<p>  \u2022 <a href=\"https:\/\/web-standards.ru\/articles\/clipboard-api\/\" rel=\"nofollow noopener noreferrer\">\u0423\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a&nbsp;\u0431\u0443\u0444\u0435\u0440\u0443 \u043e\u0431\u043c\u0435\u043d\u0430 \u0441&nbsp;Clipboard API<\/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\/huawei\/blog\/547178\/\">JavaScript prototype pollution: \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\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:\/\/css-tricks.com\/handling-user-permissions-in-javascript\/\" rel=\"nofollow noopener noreferrer\">\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 JavaScript<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.kevinpeters.net\/the-fastest-way-to-understand-new-code-bases\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0432\u0435\u0442 \u21161 \u043f\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u043b\u0435\u043d\u0438\u044e \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u043a\u043e\u0434\u043e\u0432\u044b\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438 JavaScript<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.sitepoint.com\/serverless-functions\/\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 JavaScript Internationalization API (I18n)?<\/a><\/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\/company\/otus\/blog\/547098\/\">\u041e\u0441\u043d\u043e\u0432\u044b JavaScript: \u043f\u043e\u0447\u0435\u043c\u0443 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 JS-\u0434\u0432\u0438\u0436\u043e\u043a<\/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\/otus\/blog\/547070\/\">7 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043f\u0440\u043e \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f \u0432 JavaScript<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/jrsinclair.com\/articles\/2021\/rethinking-the-javascript-ternary-operator\/\" rel=\"nofollow noopener noreferrer\">\u041f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u0440\u043d\u0430\u0440\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0432 JavaScript <\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>React<\/strong><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.freecodecamp.org\/news\/react-budget-tracker-app\/\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0431\u044e\u0434\u0436\u0435\u0442\u0430 \u043d\u0430 React \u2014 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 React &amp; Context API \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/javascript.plainenglish.io\/10-entry-level-react-interview-questions-5a8ea74e2130\" rel=\"nofollow noopener noreferrer\">10 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043f\u043e React \u043d\u0430 \u0441\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0438<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/blog.logrocket.com\/whats-new-in-gatsby-3-0\/\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Gatsby 3.0 <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/sudolabs.io\/blog\/integrating-google-maps-in-react\" rel=\"nofollow noopener noreferrer\">\u0418\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f Google Maps \u0432 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\/company\/timeweb\/blog\/547188\/\">\u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0445\u0443\u0434\u0448\u0438\u0439 Vue.js \u0432 \u043c\u0438\u0440\u0435<\/a><br \/>   \u2022 <a href=\"https:\/\/webdevblog.ru\/5-sovetov-po-povysheniju-proizvoditelnosti-vue\/\" rel=\"nofollow noopener noreferrer\">5 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Vue<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/mattelen\/a-product-s-vue-3-migration-a-real-life-story-c1d\" rel=\"nofollow noopener noreferrer\">\u041c\u0438\u0433\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Vue 3: \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438 <\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Angular<\/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\/tinkoff\/blog\/547520\/\">Angular Universal: \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/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\/arcadia\/blog\/547358\/\">RBAC \u0432 Angular-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/nightwolf.dev\/2-ways-to-dynamically-load-angular-components\/\" rel=\"nofollow noopener noreferrer\">2 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 Angular Components<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/indepth.dev\/posts\/1298\/learn-advanced-angular-features-build-the-material-tree\" rel=\"nofollow noopener noreferrer\">\u0418\u0437\u0443\u0447\u0438\u0442\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 Angular: \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 Material tree<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/indepth.dev\/posts\/1442\/ngrx-bad-practices\" rel=\"nofollow noopener noreferrer\">\u041f\u043b\u043e\u0445\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b NGRX <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/indepth.dev\/posts\/1436\/add-support-for-reduced-motion-in-angular-animations\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Reduced Motion \u0432 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f\u0445 Angular <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/indepth.dev\/posts\/1434\/running-event-listeners-outside-of-the-ngzone\" rel=\"nofollow noopener noreferrer\">\u0417\u0430\u043f\u0443\u0441\u043a event listeners \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 NgZone <\/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:\/\/www.jackfranklin.co.uk\/blog\/comparing-svelte-and-react-javascript\/\" rel=\"nofollow noopener noreferrer\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 Svelte \u0438 React <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/dev.to\/meetupfeedio\/top-10-svelte-videos-in-2020-45k0\" rel=\"nofollow noopener noreferrer\">10 \u043b\u0443\u0447\u0448\u0438\u0445 \u0432\u0438\u0434\u0435\u043e \u043e Svelte \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:\/\/storybook.js.org\/blog\/storybook-for-svelte\/\" rel=\"nofollow noopener noreferrer\">Storybook \u0434\u043b\u044f Svelte<\/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\/mountbuild\/hanakana\" rel=\"nofollow noopener noreferrer\">Han\u00e1kana \u2014 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0438\u0441\u044c\u043c\u0430 (UWS), \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435 \u0437\u0432\u0443\u043a\u0438 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0433\u043e\u043b\u043e\u0441\u0430 \u0432 \u0441\u0436\u0430\u0442\u043e\u0439 \u0438 \u0443\u0434\u043e\u0431\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0439 \u0444\u043e\u0440\u043c\u0435.<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/acode\/copenhagen\" rel=\"nofollow noopener noreferrer\">Copenhagen \u2014 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439, \u043b\u0435\u0433\u043a\u0438\u0439 \u0438 \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u0434\u0430<\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<h3><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=54761\" rel=\"nofollow noopener noreferrer\">\u0418\u0437 Firefox \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u044b \u0443\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u0435\u0439<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54801\" rel=\"nofollow noopener noreferrer\">\u0412 \u043d\u043e\u0447\u043d\u044b\u0445 \u0438 \u0431\u0435\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0430\u0445 Firefox \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 HTTP\/3<\/a><br \/>  \u2022 <a href=\"https:\/\/itc.ua\/news\/chrome-poluchil-funkcziyu-live-captions-i-teper-mozhet-avtomaticheski-sozdavat-subtitry-dlya-video-i-audio-s-rechyu\/\" rel=\"nofollow noopener noreferrer\">Chrome \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0444\u0443\u043d\u043a\u0446\u0438\u044e Live Captions \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044b \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e \u0438 \u0430\u0443\u0434\u0438\u043e \u0441 \u0440\u0435\u0447\u044c\u044e<\/a><\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/547004\/\">\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 noopener noreferrer\">dersmoll<\/a> \u0438 <a href=\"http:\/\/habrahabr.ru\/users\/alekskorovin\/\" rel=\"nofollow noopener noreferrer\">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\/548208\/\"> https:\/\/habr.com\/ru\/post\/548208\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\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\/uq\/va\/0-\/uqva0-pvufe9_wktmdbfzn7xqge.jpeg\"><\/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-319988","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/319988","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=319988"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/319988\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=319988"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=319988"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=319988"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}