{"id":328091,"date":"2022-01-16T21:00:15","date_gmt":"2022-01-16T21:00:15","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=328091"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=328091","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 \u2116502 (10 \u2014 16 \u044f\u043d\u0432\u0430\u0440\u044f 2022)<\/span>"},"content":{"rendered":"<div><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"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\/gg\/t7\/jr\/ggt7jru68gl_czgz__cmo8yxej8.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/gg\/t7\/jr\/ggt7jru68gl_czgz__cmo8yxej8.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=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/csssr\/itogi-goda-2021\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00abCallback Hell\u00bb \u043e\u0442 CSSSR: \u0418\u0442\u043e\u0433\u0438 \u0433\u043e\u0434\u0430 2021<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/web-standards\/episode-316\" 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 \u2116316. \u041d\u043e\u0432\u0438\u043d\u043a\u0438 Chrome 97 \u0438 DevTools, Faker.js \u0438 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441, Crypto Mozilla, \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 \u0434\u0438\u0437\u0430\u0439\u043d-\u0442\u043e\u043a\u0435\u043d\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/begebot\/no67-2k22-eto-god-backbone-js\" 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 \u211667 \u2014 2\u043a22 \u2014 \u044d\u0442\u043e \u0433\u043e\u0434 Backbone.js<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"\/> <a href=\"https:\/\/soundcloud.com\/frontend_u\/ny2022\" 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: \u041d\u043e\u0432\u043e\u0433\u043e\u0434\u043d\u0438\u0439 \u0441\u0442\u0440\u0438\u043c 2022<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"video\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=WVhUd_RGMlQ\" rel=\"nofollow noopener noreferrer\">HTML Academy: \u0422\u0440\u0435\u043d\u0434\u044b \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 2022 \u0433\u043e\u0434\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"video\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=mG0VFWCTnZI\" rel=\"nofollow noopener noreferrer\">\u0412\u0430\u0434\u0438\u043c \u041c\u0430\u043a\u0435\u0435\u0432:? \u041f\u043e\u043f\u0430\u043f \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0435\u043b\u0435\u043a\u0442\u0430: \u2728\u043d\u043e\u0432\u044b\u0435 HTML-\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b\u2728 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u0440\u0435\u0448\u0430\u0442 \u0441\u0442\u0430\u0440\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443<\/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=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/post\/645471\/\">HTML5 \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/news\/t\/599865\/\">\u0410\u0432\u0442\u043e\u0440 faker.js \u0438 colors.js \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u043e \u0441\u043b\u043e\u043c\u0430\u043b \u0441\u0432\u043e\u0438 \u043f\u0430\u043a\u0435\u0442\u044b<\/a><br \/>  \u2022 <a href=\"https:\/\/ru.hexlet.io\/blog\/posts\/faker-js\" rel=\"nofollow noopener noreferrer\">\u0411\u043e\u0440\u044c\u0431\u0430 \u0441 \u043a\u0430\u043f\u0438\u0442\u0430\u043b\u0438\u0437\u043c\u043e\u043c: \u043f\u043e\u0447\u0435\u043c\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 JS-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0443\u0434\u0430\u043b\u0438\u043b \u0432\u0435\u0441\u044c \u0435\u0435 \u043a\u043e\u0434 \u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u043b \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u043e\u043c Liberty. \u041a\u0435\u0439\u0441 Faker.js<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56517\" rel=\"nofollow noopener noreferrer\">\u041d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u043c NPM-\u043f\u0430\u043a\u0435\u0442\u0435 \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0441\u0431\u043e\u044f\u043c \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445<\/a><br \/>  \u2022 <a href=\"https:\/\/ru.hexlet.io\/blog\/posts\/perspektivnyh-tehnologii-2022\" rel=\"nofollow noopener noreferrer\">\u0427\u0435\u0442\u044b\u0440\u0435 \u0441\u0430\u043c\u044b\u0445 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 2022 \u0433\u043e\u0434\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/halimshams.medium.com\/amazing-html5-features-that-just-3-of-developers-knows-easy-and-surprising-ac67ff598162\" rel=\"nofollow noopener noreferrer\">\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 HTML5, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u043d\u0430\u044e\u0442 \u043c\u0430\u043b\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/christianheilmann.com\/2022\/01\/13\/turning-a-github-page-into-a-progressive-web-app\/\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 GitHub \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432 PWA<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.osohq.com\/post\/building-vs-code-extension-with-rust-wasm-typescript\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 VS Code \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Rust, WebAssembly \u0438 TypeScript<\/a><\/p>\n<ul>\n<li><strong>web3<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/betterprogramming.pub\/has-anyone-seen-web3-a-complete-roadmap-free-resources-to-become-web3-developer-4e5dc9332c1f\" rel=\"nofollow noopener noreferrer\">\u00ab\u041a\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0432\u0438\u0434\u0435\u043b Web3?\u00bb \u2014 \u0434\u043e\u0440\u043e\u0436\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0430\u0442\u044c \u00abWeb3 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c\u00bb \u0432 2022 \u0433\u043e\u0434\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/javascript.plainenglish.io\/what-do-you-need-to-know-about-new-era-of-internet-web-3-0-as-a-frontend-developer-55e51f2cd03f\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043e \u043d\u043e\u0432\u043e\u0439 \u044d\u0440\u0435 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 Web 3.0<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/hiddedevries.nl\/en\/blog\/2022-01-03-the-web-doesnt-have-version-numbers\" rel=\"nofollow noopener noreferrer\">\u0423 \u0432\u0435\u0431\u0430 \u043d\u0435\u0442 \u043d\u043e\u043c\u0435\u0440\u0430 \u0432\u0435\u0440\u0441\u0438\u0439<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/moxie.org\/2022\/01\/07\/web3-first-impressions.html\" rel=\"nofollow noopener noreferrer\">\u041c\u043e\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u044f \u043e\u0442 web3<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.infoworld.com\/article\/3646597\/what-is-web3-a-new-decentralized-web-or-the-latest-marketing-buzzword.html\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Web3? \u041d\u043e\u0432\u0430\u044f \u0434\u0435\u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0438\u043b\u0438 \u043c\u043e\u0434\u043d\u043e\u0435 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u043e\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e<\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/timeweb\/blog\/645553\/\">State of the Web: Deno<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/adding-vite-to-your-existing-web-app\/\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 Vite \u0432 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.bitsrc.io\/vite-is-better-than-webpack-d5dd59610d56\" rel=\"nofollow noopener noreferrer\">Vite \u043b\u0443\u0447\u0448\u0435, \u0447\u0435\u043c Webpack?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/gaurav-techgeek.medium.com\/time-to-say-goodbye-to-webpack-5bf06ff48823\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043f\u0440\u043e\u0449\u0430\u0442\u044c\u0441\u044f \u0441 Webpack?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.telerik.com\/blogs\/whats-vite-guide-modern-super-fast-project-tooling\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Vite: \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c\u0443 \u0438 \u0441\u0432\u0435\u0440\u0445\u0431\u044b\u0441\u0442\u0440\u043e\u043c\u0443 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0443<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/parcel-css\/\" rel=\"nofollow noopener noreferrer\">Parcel CSS: \u043d\u043e\u0432\u044b\u0439 \u043f\u0430\u0440\u0441\u0435\u0440, \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0442\u043e\u0440 CSS<\/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=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/itnext.io\/accessibility-as-a-design-pattern-d58940601cab\" rel=\"nofollow noopener noreferrer\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u043a \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u0438\u0437\u0430\u0439\u043d\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/hiddedevries.nl\/en\/blog\/2022-01-12-boolean-attributes-in-html-and-aria-whats-the-difference\" rel=\"nofollow noopener noreferrer\">\u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0432 HTML \u0438 ARIA: \u0432 \u0447\u0435\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430?<\/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=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/tympanus.net\/codrops\/2022\/01\/14\/case-study-anatole-touvrons-portfolio\/\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440: \u043f\u043e\u0440\u0442\u0444\u043e\u043b\u0438\u043e Anatole Touvron<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/tympanus.net\/codrops\/2022\/01\/12\/pixel-distortion-effect-with-three-js\/\" rel=\"nofollow noopener noreferrer\">\u042d\u0444\u0444\u0435\u043a\u0442 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u0438\u043a\u0441\u0435\u043b\u0435\u0439 \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=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/post\/645165\/\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0445 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 CSS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.freecodecamp.org\/news\/how-the-z-index-property-works-under-the-hood\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e z-index \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.joshwcomeau.com\/css\/make-beautiful-gradients\/\" rel=\"nofollow noopener noreferrer\">\u0414\u0435\u043b\u0430\u0439\u0442\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0435 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/dont-fight-the-cascade-control-it\/\" rel=\"nofollow noopener noreferrer\">\u041d\u0435 \u0431\u043e\u0440\u0438\u0442\u0435\u0441\u044c \u0441 \u043a\u0430\u0441\u043a\u0430\u0434\u043e\u043c, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0439\u0442\u0435 \u0435\u0433\u043e!<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2022\/01\/css-radial-conic-gradient\/?ref=heydesigner\" rel=\"nofollow noopener noreferrer\">\u0413\u043b\u0443\u0431\u043e\u043a\u043e\u0435 \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 CSS \u0432 \u0440\u0430\u0434\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0438 \u043a\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u044b<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/how-to-make-a-pure-css-3d-package-toggle\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c 3D-\u043a\u043e\u0440\u043e\u0431\u043a\u0443 \u0441 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0435\u0439 \u0447\u0438\u0441\u0442\u043e\u043c CSS <\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.logrocket.com\/designing-modern-theme-open-props\/\" rel=\"nofollow noopener noreferrer\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 UI \u0442\u0435\u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Open Props<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/levelup.gitconnected.com\/top-10-features-introduced-in-tailwind-css-v3-0-39f9700b12a1\" rel=\"nofollow noopener noreferrer\">10 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 Tailwind CSS v3.0<\/a><\/p>\n<h3><font color=\"#349A48\"><a name=\"js\"><\/a> JavaScript<\/font><\/h3>\n<p>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/post\/645259\/\">\u041a\u0430\u043a \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u044c scroll \u0432 javascript<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/timeweb\/blog\/645075\/\">JavaScript: \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u0442\u043e\u0439 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Temporal<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/post\/645467\/\">\u041f\u0438\u0448\u0435\u043c NFT \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440 \u043d\u0430 javascript ?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"video\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"\/> <a href=\"https:\/\/www.youtube.com\/watch?v=dbhnDgvfn6Y\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u043d\u0430\u043f\u043e\u0440\u0442\u0430\u0447\u0438\u0442\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0435\u043c\u0443 JS \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443: \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b DRY, KISS, YAGNI, SOLID<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/madhash\/whats-the-big-deal-with-javascript-s-fetch-api-92682d5b2918\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0433\u043e \u0432 JavaScript Fetch API?<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/geekculture\/o-o-p-in-javascript-369434afcf1d\" rel=\"nofollow noopener noreferrer\">\u041e\u041e\u041f \u0432 Javascript<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/fettblog.eu\/how-not-to-learn-typescript\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044c TypeScript<\/a><\/p>\n<ul>\n<li><strong>React<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/post\/600035\/\">React. \u041b\u0451\u0433\u043a\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043a\u0443\u0440\u0438\u0442\u044c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2022\/01\/building-web-code-editor\/\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0435\u0431-\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0430 \u043a\u043e\u0434\u0430<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.openreplay.com\/an-alternative-to-next-js-everything-you-need-to-know-about-remixjs\" rel=\"nofollow noopener noreferrer\">\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 Next.JS? \u2014 \u0412\u0441\u0435, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043e RemixJS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.openreplay.com\/3-react-component-design-patterns-you-should-know-about\" rel=\"nofollow noopener noreferrer\">3 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f React \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0437\u043d\u0430\u0442\u044c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.bitsrc.io\/5-ways-to-avoid-react-component-re-renderings-90241e775b8c\" rel=\"nofollow noopener noreferrer\">5 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u0433\u043e \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 React<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.logrocket.com\/solving-prop-drilling-react-apps\/\" rel=\"nofollow noopener noreferrer\">\u041b\u0443\u0447\u0448\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0448\u0438\u0442\u044c prop drilling \u0432 React \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/engineering.udacity.com\/cypress-is-superior-to-react-testing-library-heres-why-3fac0675910\" rel=\"nofollow noopener noreferrer\">Cypress \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 React Testing Library \u2014 \u0432\u043e\u0442 \u043f\u043e\u0447\u0435\u043c\u0443<\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Vue<\/strong><br \/>  \u2022 <a href=\"https:\/\/webdevblog.ru\/sozdanie-pwa-s-pomoshhju-vue-js\/\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 PWA \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Vue.js<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/marcin-kwiatkowski.com\/blog\/vue\/how-to-get-started-with-vue-part-1\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 vue (\u0447\u0430\u0441\u0442\u044c 1)<\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Angular<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.angular.io\/discontinued-long-term-support-for-angularjs-cc066b82e65a\" rel=\"nofollow noopener noreferrer\">\u041f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0433\u043e\u0441\u0440\u043e\u0447\u043d\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 AngularJS<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/@cardoz.jonathan\/building-a-microfrontend-setup-using-angular-12-part-2-putting-the-pieces-together-ba9c772c972\" rel=\"nofollow noopener noreferrer\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434-\u0441\u0435\u0442\u0430\u043f\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Angular 12: \u0447\u0430\u0441\u0442\u044c 2 \u2014 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0447\u0430\u0441\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u0435<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.telerik.com\/blogs\/angular-basics-introduction-observables-rxjs-part-2\" rel=\"nofollow noopener noreferrer\">\u041e\u0441\u043d\u043e\u0432\u044b Angular: \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Observables (RxJS) \u2014 \u0447\u0430\u0441\u0442\u044c 2<\/a>  <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>Svelte<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habr.com\/ru\/company\/piter\/blog\/645343\/\">Sapper \u0438 Svelte: \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/svelte.dev\/blog\/accelerating-sveltes-development\" rel=\"nofollow noopener noreferrer\">\u0423\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 Svelte<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/making-your-first-custom-svelte-transition\/\" rel=\"nofollow noopener noreferrer\">\u041a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 transition \u0432 Svelte<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/javascript.plainenglish.io\/svelte-has-the-same-adoption-curve-as-react-563dce0c7b4a\" rel=\"nofollow noopener noreferrer\">Svelte \u0438\u043c\u0435\u0435\u0442 \u0442\u0443 \u0436\u0435 \u043a\u0440\u0438\u0432\u0443\u044e \u0443\u0441\u0432\u043e\u0435\u043d\u0438\u044f, \u0447\u0442\u043e \u0438 React<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/beyonk-adventures\/svelte-carousel\" rel=\"nofollow noopener noreferrer\">Svelte Carousel \u2014 \u0421\u0443\u043f\u0435\u0440 \u043b\u0435\u0433\u043a\u0430\u044f \u0438 \u0441\u0443\u043f\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u043a\u0430\u0440\u0443\u0441\u0435\u043b\u044c \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=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/mifi\/instauto\" rel=\"nofollow noopener noreferrer\">instauto \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438\/\u0431\u043e\u0442\u043e\u0432 Instagram, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u0447\u0438\u0441\u0442\u043e\u043c javascript \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Puppeteer<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/tinybase.org\/\" rel=\"nofollow noopener noreferrer\">TinyBase \u2014 \u043a\u0440\u043e\u0448\u0435\u0447\u043d\u0430\u044f \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f JS-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438 \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.bitsrc.io\/client-side-form-validation-using-octavalidate-javascript-b150f2d14e99\" rel=\"nofollow noopener noreferrer\">\u0412\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u044f \u0444\u043e\u0440\u043c\u044b \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e JavaScript \u0438 octaValidate<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/denoland\/deno_lint\" rel=\"nofollow noopener noreferrer\">deno_lint \u2014 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u043b\u0438\u043d\u0442\u0435\u0440 \u0434\u043b\u044f JavaScript \u0438 TypeScript, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Rust<\/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=56509\" rel=\"nofollow noopener noreferrer\">\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 Firefox 96.0.1. \u0412 Firefox Focus \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0440\u0435\u0436\u0438\u043c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 Cookie<\/a><br \/>  \u2022 <a href=\"https:\/\/tanalin.com\/blog\/2022\/01\/firefox-96\/\" rel=\"nofollow noopener noreferrer\">Firefox\u00a096 \u2014 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0432 \u0431\u043b\u043e\u0433\u0435 \u041c\u0430\u0440\u0430\u0442\u0430 \u0422\u0430\u043d\u0430\u043b\u0438\u043d\u0430<\/a><br \/>  \u2022 <a href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56516\" rel=\"nofollow noopener noreferrer\">\u0412 Chromium \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u043d\u0430 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c<\/a><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"\/img\/image-loader.svg\" data-src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/what-is-chromium-without-chrome-on-top\/\" rel=\"nofollow noopener noreferrer\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Chromium \u0431\u0435\u0437 Chrome \u0441\u0432\u0435\u0440\u0445\u0443?<\/a><\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/599785\/\">\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<\/div>\n<\/div>\n<div class=\"v-portal\" style=\"display:none;\"><\/div>\n<\/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\/post\/645913\/\"> https:\/\/habr.com\/ru\/post\/645913\/<\/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_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\/gg\/t7\/jr\/ggt7jru68gl_czgz__cmo8yxej8.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/gg\/t7\/jr\/ggt7jru68gl_czgz__cmo8yxej8.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-328091","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/328091","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=328091"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/328091\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=328091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=328091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=328091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}