{"id":383386,"date":"2024-06-29T04:52:53","date_gmt":"2024-06-29T04:52:53","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=383386"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=383386","title":{"rendered":"<span>\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 \u2116490 (18 \u2014 24 \u043e\u043a\u0442\u044f\u0431\u0440\u044f 2021)<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\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\/r\/w780q1\/webt\/-u\/02\/7z\/-u027zw-resozbfmjcylvseiti4.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/-u\/02\/7z\/-u027zw-resozbfmjcylvseiti4.jpeg\" data-blurred=\"true\"\/><\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p><a href=\"#media\"><b>\u041c\u0435\u0434\u0438\u0430<\/b><\/a>\u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0<a href=\"#development\"><b>\u0412\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/b><\/a>\u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0<a href=\"#css\"><b>CSS<\/b><\/a>\u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0<a href=\"#js\"><b>JavaScript<\/b><\/a>\u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0<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\/r\/w1560\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/t.co\/qwtiP1ueR0?amp=1\" rel=\"nofollow noopener noreferrer\">Frontend Weekend \u2116107<\/a>, \u0432 \u0433\u043e\u0441\u0442\u044f\u0445 \u0441\u043d\u043e\u0432\u0430 \u0418\u0432\u0430\u043d \u0411\u043e\u0442\u0430\u043d\u043e\u0432 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Tinkoff.ru: \u0447\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e\u0441\u044c \u0437\u0430 3 \u0433\u043e\u0434\u0430 \u0438\u043b\u0438 \u043e \u0431\u0435\u043b\u043e\u043c \u0445\u0430\u043a\u0438\u043d\u0433\u0435 \u0438 youtube-\u043a\u0430\u043d\u0430\u043b\u0435 \u00ab\u0412 \u043e\u0444\u0438\u0441\u0435\u00bb<br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/r\/w1560\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/frontend_u\/e209\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u042e\u043d\u043e\u0441\u0442\u044c\u00bb #209: \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/r\/w1560\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/begebot\/no63-sel-porefleksiroval-i\" 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 \u211663 \u2014 \u0421\u0435\u043b, \u043f\u043e\u0440\u0435\u0444\u043b\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b \u0438 \u0443\u0432\u043e\u043b\u0438\u043b\u0441\u044f<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/r\/w1560\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/csssr\/chrome-95-nodejs-17-pamyat-i-gc-v-js-arkhitektura-zamykaniya-izuchenie-freymvorkov-otchet-w3c\" rel=\"nofollow noopener noreferrer\">\u00ab\u041d\u043e\u0432\u043e\u0441\u0442\u0438 512\u00bb \u043e\u0442 CSSSR: Chrome 95, Node.js 17, \u043f\u0430\u043c\u044f\u0442\u044c \u0438 GC \u0432 JS, \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430, \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f, \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u043e\u0442\u0447\u0435\u0442 W3C<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/r\/w1560\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/csssr\/doka-parcel-20-nuxtjs-3-beta-razbiraemsya-v-cors-novyy-freymvork-remix\" rel=\"nofollow noopener noreferrer\">\u00ab\u041d\u043e\u0432\u043e\u0441\u0442\u0438 512\u00bb \u043e\u0442 CSSSR: \u0414\u043e\u043a\u0430, Parcel 2.0, Nuxt.js 3 beta, \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0432 CORS, \u043d\u043e\u0432\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Remix<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/r\/w1560\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/web-standards\/episode-304\" 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 #304. State of CSS, \u0446\u0432\u0435\u0442\u043e\u0432\u044b\u0435 \u043f\u0430\u043b\u0438\u0442\u0440\u044b, \u042f\u043d\u0434\u0435\u043a\u0441.\u0411\u0440\u0430\u0443\u0437\u0435\u0440, \u0432\u0432\u043e\u0434 \u043f\u0430\u0440\u043e\u043b\u044f, CSS \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u0414\u043e\u043a\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/r\/w1560\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/proconf\/111-csscamp-2021\" rel=\"nofollow noopener noreferrer\">proConf #111: CSScamp 2021<\/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\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/582480\/\">\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443: 7 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u0434\u0438\u0437\u0430\u0439\u043d\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/yandex_praktikum\/blog\/584504\/\">\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0414\u043e\u043a\u0430 \u2014 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441\u043d\u044b\u0439 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0438\u043a \u043f\u043e \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/netcracker\/blog\/584542\/\">Webpack Module Federation \u2014 \u043c\u0438\u043a\u0440\u043e\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u0445 (\u0447\u0430\u0441\u0442\u044c 2) \u2013 deep dive<\/a><br \/>  \u2022 <a href=\"https:\/\/css-live.ru\/vecssti-s-polej\/novyj-rabochij-process-w3c-iz-budushhego.html\" rel=\"nofollow noopener noreferrer\">\u041d\u043e\u0432\u044b\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 W3C \u0438\u0437 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/daverupert.com\/2021\/10\/native-html-tabs\/\" rel=\"nofollow noopener noreferrer\">\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 HTML \u0442\u0430\u0431\u0430\u0445<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.impressivewebs.com\/detecting-specific-text-input-with-html-css\/\" rel=\"nofollow noopener noreferrer\">\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432\u0432\u043e\u0434\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e HTML \u0438 CSS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2021\/10\/real-time-multi-user-game\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0443\u044e \u0438\u0433\u0440\u0443 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 \u043d\u0443\u043b\u044f \u043d\u0430 JS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2021\/10\/building-ssg-11ty-vite-jam-sandwich\/\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 SSG, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u043e\u0442\u0435\u043b: \u0441\u044d\u043d\u0434\u0432\u0438\u0447 \u0438\u0437 11ty, Vite \u0438 JAM<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/o-b-one.medium.com\/the-micro-frontend-chaos-and-how-to-solve-it-960b0a90c58\" rel=\"nofollow noopener noreferrer\">\u0425\u0430\u043e\u0441 \u043c\u0438\u043a\u0440\u043e\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 (\u0438 \u043a\u0430\u043a \u0435\u0433\u043e \u0440\u0435\u0448\u0438\u0442\u044c)<\/a><\/p>\n<ul>\n<li><strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/docs.microsoft.com\/en-us\/microsoft-edge\/devtools-guide-chromium\/whats-new\/2021\/10\/devtools\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 DevTools (Microsoft Edge 95)<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/christianheilmann.com\/2021\/10\/12\/what-if-you-could-use-visual-studio-code-as-the-editor-of-in-browser-developer-tools\/\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e, \u0435\u0441\u043b\u0438\u2026 \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Visual Studio Code \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/caninclude.glitch.me\/\" rel=\"nofollow noopener noreferrer\">Can Include \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u0432\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0442\u0435\u0433 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439<\/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 <a href=\"https:\/\/dou.ua\/forums\/topic\/35074\/\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c JavaScript \u0432\u00a02021<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/marian-caikovski.medium.com\/does-preloading-of-modules-make-sense-7c3ee9ccdd45\" rel=\"nofollow noopener noreferrer\">\u0418\u043c\u0435\u0435\u0442 \u043b\u0438 \u0441\u043c\u044b\u0441\u043b \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 JS \u043c\u043e\u0434\u0443\u043b\u0435\u0439?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2021\/10\/nextjs-ecommerce-cls-case-study\/\" rel=\"nofollow noopener noreferrer\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 CLS \u043d\u0430 \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0435 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043c\u0435\u0440\u0446\u0438\u0438 \u043d\u0430 \u0431\u0430\u0437\u0435 Next.js (\u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438)<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/web.dev\/priority-hints\/\" rel=\"nofollow noopener noreferrer\">\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Priority Hints<\/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\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/yatil.net\/blog\/fix-web-accessibility-systematically\" rel=\"nofollow noopener noreferrer\">\u0421\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0432\u0435\u0431-\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.buttoncheatsheet.com\/\" rel=\"nofollow noopener noreferrer\">The Button Cheat Sheet<\/a> \u2014 \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0430\u043c  <\/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=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/tympanus.net\/codrops\/2021\/10\/20\/repetitive-typography-animation\/\" rel=\"nofollow noopener noreferrer\">\u0410\u043d\u0438\u043c\u0430\u0446\u0438\u044f \u0441 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0439\u0441\u044f \u0442\u0438\u043f\u043e\u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0439<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/tympanus.net\/codrops\/2021\/10\/18\/replicating-the-particles-animation-from-dna-capital-with-three-js\/\" rel=\"nofollow noopener noreferrer\">\u0412\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u0442\u0438\u0446 \u0438\u0437 DNA Capital \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Three.js<\/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=\"habr\" src=\"https:\/\/habrastorage.org\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/htmlacademy\/blog\/584786\/\">\u0422\u0438\u043f\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 CSS. \u0410\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u044b\u0435, \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438 \u0432\u0441\u044f\u043a\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435<\/a><br \/>  \u2022 <a href=\"https:\/\/css-live.ru\/vecssti-s-polej\/css-perexodit-na-novyj-shestoj-uroven-kaskadnosti.html\" rel=\"nofollow noopener noreferrer\">CSS \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439, \u0448\u0435\u0441\u0442\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043a\u0430\u0441\u043a\u0430\u0434\u043d\u043e\u0441\u0442\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/codex\/more-tailwind-to-vanilla-component-rewrites-1-of-who-knows-how-many-36e1ff5b6bd6\" rel=\"nofollow noopener noreferrer\">\u041f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c Tailwind \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043d\u0430 \u0432\u0430\u043d\u0438\u043b\u044c\u043d\u043e\u043c CSS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/dev.to\/visuellverstehen\/common-mistakes-when-writing-css-with-bem-4921\" rel=\"nofollow noopener noreferrer\">\u0420\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 CSS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0411\u042d\u041c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/ishadeed.com\/article\/prevent-scroll-chaining-overscroll-behavior\/\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0438 \u043d\u0430 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Overscroll Behavior<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/an-interview-with-elad-shechter-on-the-new-css-reset\/\" rel=\"nofollow noopener noreferrer\">\u0418\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0441 \u042d\u043b\u0430\u0434\u043e\u043c \u0428\u0435\u0445\u0442\u0435\u0440\u043e\u043c \u043e \u00abThe New CSS\u00a0Reset\u00bb<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/exploring-the-css-paint-api-rounding-shapes\/\" rel=\"nofollow noopener noreferrer\">\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 CSS Paint API: c\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0444\u0438\u0433\u0443\u0440<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2021\/10\/respecting-users-motion-preferences\/\" rel=\"nofollow noopener noreferrer\">\u0423\u0432\u0430\u0436\u0435\u043d\u0438\u0435 \u043a \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0442\u0435\u043d\u0438\u044f\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043a\u0430\u0441\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 (prefers-reduced-motion)<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/supports-selector\/\" rel=\"nofollow noopener noreferrer\">@supports selector()<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/codex\/stop-fighting-the-reason-css-exists-with-these-dumbass-frameworks-91732f5993c7\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u0442\u0435 \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f CSS \u0441 \u044d\u0442\u0438\u043c\u0438 \u0442\u0443\u043f\u044b\u043c\u0438 \u00ab\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430\u043c\u0438\u00bb<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/@stephan.romhart\/how-i-organize-my-css-for-websites-without-a-framework-4d93fbbc74fe\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u044e \u0441\u0432\u043e\u0439 CSS \u0434\u043b\u044f \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u043e\u0432 \u0431\u0435\u0437 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430<\/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\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/post\/580922\/\">\u0411\u0438\u043d\u0430\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f JavaScript<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/post\/584502\/\">\u0420\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u044f \u043e\u0431 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0434\u043b\u044f JavaScript<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.openreplay.com\/typescript-done-wrong\" rel=\"nofollow noopener noreferrer\">\u041d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 TypeScript <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/itnext.io\/solving-javascript-problems-from-bigfrontend-bfe-throttle-and-debounce-87a809e5952b\" rel=\"nofollow noopener noreferrer\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c JavaScript \u0438\u0437 Bigfrontend (BFE): Throttle \u0438 Debounce<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/javascript.plainenglish.io\/how-to-build-a-linear-gauge-in-javascript-visualizing-covid-19-vaccination-data-f9d0ed5f5d0f\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u043d\u0430 JavaScript: \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e Covid-19 \u0432\u0430\u043a\u0446\u0438\u043d\u0430\u0446\u0438\u0438 <\/a><\/p>\n<ul>\n<li><strong>\u0422\u0435\u043e\u0440\u0438\u044f<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/dmitripavlutin.com\/javascript-fill-array\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 JavaScript<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/tc39\/proposal-pipeline-operator\" rel=\"nofollow noopener noreferrer\">Pipe Operator (|>) for JavaScript: \u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0432 JS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/javascript.plainenglish.io\/javascript-const-vs-var-vs-let-a-comprehensive-guide-for-all-time-d6d836c8bbd7\" rel=\"nofollow noopener noreferrer\">JavaScript Const vs. Var vs. Let: \u043f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043d\u0430 \u0432\u0441\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430<\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>React<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/timeweb\/blog\/584862\/\">React: \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u0445\u0443\u043a \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/584350\/\">\u041a\u0430\u043a \u043d\u0430 React \u0434\u0432\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u043e\u043b\u0442\u043e\u0440\u0430 \u0433\u043e\u0434\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/2gis\/blog\/583894\/\">Error Boundaries \u0432 React: \u043f\u0440\u0435\u043f\u0430\u0440\u0438\u0440\u0443\u0435\u043c \u043b\u044f\u0433\u0443\u0448\u043a\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.gatsbyjs.com\/blog\/whats-new-in-gatsby-4\/\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Gatsby 4<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.chakshunyu.com\/blog\/6-concrete-tips-that-will-make-your-react-pull-requests-easier-to-review\/\" rel=\"nofollow noopener noreferrer\">6 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0441\u043e\u0432\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043f\u0440\u043e\u0441\u0442\u044f\u0442 \u0440\u0435\u0432\u044c\u044e \u0432\u0430\u0448\u0438\u0445 \u043f\u0443\u043b-\u0440\u0435\u043a\u0432\u0435\u0441\u0442\u043e\u0432 \u0432 React<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/thoughtspile.github.io\/2021\/10\/18\/non-react-state\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c useState \u043d\u0430 useRef \u0438 \u0441\u0442\u0430\u0442\u044c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.logrocket.com\/build-custom-tiktok-autoplay-react-hook-intersection-observer\/\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 React Hook \u0441 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c TikTok \u0440\u043e\u043b\u0438\u043a\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Intersection Observer<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.logrocket.com\/react-re-reselect-better-memoization-cache-management\/\" rel=\"nofollow noopener noreferrer\">React re-Reselect: \u043b\u0443\u0447\u0448\u0430\u044f \u043c\u0435\u043c\u043e\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0435\u0448\u0435\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/alexsidorenko.com\/blog\/react-render-cheat-sheet\/\" rel=\"nofollow noopener noreferrer\">\u041d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0443 \u0432 React \u2014 \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430<\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Vue<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2021\/10\/introduction-quasar-framework-cross-platform-applications\/\" rel=\"nofollow noopener noreferrer\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Quasar Framework: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Vue<\/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\/r\/w1560\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/europlan\/blog\/578856\/\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0432 Angular c \u043f\u043e\u043c\u043e\u0449\u044c\u044e CDK A11y \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u0435\u0439\u0441\u0430\u0445 \u0441 FocusTrap \u0438 FocusMonitor<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/indepth.dev\/posts\/1474\/disable-form-controls-using-forms-api-or-html-attributes\" rel=\"nofollow noopener noreferrer\">\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043c\u0435\u0436\u0434\u0443 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u043e\u0440\u043c\u043e\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e reactive forms API \u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c\u0438 HTML<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/javascript.plainenglish.io\/angular-handle-http-errors-using-interceptors-5cc483103740\" rel=\"nofollow noopener noreferrer\">Angular: \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 HTTP \u043e\u0448\u0438\u0431\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Interceptors<\/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\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.logrocket.com\/svelte-material-ui-advanced-material-design-components\/\" rel=\"nofollow noopener noreferrer\">Svelte Material UI: \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b Advanced Material Design<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.logrocket.com\/top-form-validation-libraries-svelte\/\" rel=\"nofollow noopener noreferrer\">\u041b\u0443\u0447\u0448\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u0444\u043e\u0440\u043c \u0432 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\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/alphardex\/maku.js\" rel=\"nofollow noopener noreferrer\">maku.js \u2014 \u041c\u043e\u0441\u0442 \u043c\u0435\u0436\u0434\u0443 HTML \u0438 WebGL (three.js)<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.bitsrc.io\/5-top-javascript-cookie-libraries-329ae3150cfb\" rel=\"nofollow noopener noreferrer\">5 \u043b\u0443\u0447\u0448\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 cookie \u0432 JavaScript<\/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:\/\/3dnews.ru\/1051731\" rel=\"nofollow noopener noreferrer\">\u0412 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 Brave \u0437\u0430\u043c\u0435\u043d\u044f\u0442 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441 Google \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 Brave Search<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=55998\" rel=\"nofollow noopener noreferrer\">\u0420\u0435\u043b\u0438\u0437 Chrome 95<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/ethr.medium.com\/you-cant-trust-any-web-browser-ff9b916ddf44\" rel=\"nofollow noopener noreferrer\">\u0412\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043d\u0438\u043a\u0430\u043a\u043e\u043c\u0443 \u0432\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0443.<\/a><\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/583972\/\">\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=\"https:\/\/habr.com\/ru\/users\/dersmoll\/\">dersmoll<\/a> \u0438 <a href=\"https:\/\/habr.com\/ru\/users\/alekskorovin\/\">alekskorovin<\/a>.<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/articles\/585234\/\"> https:\/\/habr.com\/ru\/articles\/585234\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\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\/r\/w780q1\/webt\/-u\/02\/7z\/-u027zw-resozbfmjcylvseiti4.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/-u\/02\/7z\/-u027zw-resozbfmjcylvseiti4.jpeg\" data-blurred=\"true\"\/><\/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-383386","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383386","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=383386"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/383386\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=383386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=383386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=383386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}