{"id":287919,"date":"2018-08-16T14:19:14","date_gmt":"2018-08-16T10:19:14","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=287919"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2018-08-16T10:19:14","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=287919","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 \u2116324 (23 \u2014 29 \u0438\u044e\u043b\u044f 2018)"},"content":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/company\/zfort\/blog\/418589\/\" class=\"post__text post__text-html js-mediator-article\">\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\/ut\/a_\/rn\/uta_rn6rglxischpt-g-_bnki6u.png\"><\/p>\n<p>  <a name=\"habracut\"><\/a><br \/>   \u00a0\u00a0\u00a0\u00a0<a href=\"#media\"><b>\u041c\u0435\u0434\u0438\u0430<\/b><\/a>\u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0<a href=\"#webdev\"><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>\u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0<a href=\"#intresting\"><b>\u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/b><\/a>  <\/p>\n<hr>\n<p>  <\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/1e4\/655\/93b\/1e465593b1b347eea23b1ab81b6e0a04.png\"> <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\"> \u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0412\u0435\u0431-\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b\u00bb, \u0412\u044b\u043f\u0443\u0441\u043a \u2116131:<a href=\"https:\/\/medium.com\/web-standards\/episode-131-97b0d7526f9a\">Chrome 68, \u043e\u043f\u0430\u0441\u043d\u044b\u0439 HTTP, React \u0438\u043b\u0438 jQuery, \u0432\u044b \u043d\u0435 \u0437\u043d\u0430\u0435\u0442\u0435 \u0438\u043d\u043b\u0430\u0439\u043d-\u0431\u043b\u043e\u043a\u0438, \u0438\u043b\u043b\u044e\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0444\u043b\u0435\u043a\u0441\u044b, \u043a\u0443\u0440\u0441\u044b \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c, \u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u043f\u0440\u0435\u0441\u0435\u0442\u044b Babel, \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u043c\u0435\u0448\u0430\u044e\u0442 JS<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> \u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00abFrontend Weekend\u00bb <a href=\"https:\/\/soundcloud.com\/frontend-weekend\/fw-63\">#63 \u2013 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u041f\u0435\u0440\u0448\u0438\u043d \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438 \u0437\u0430\u0447\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0448\u043a\u043e\u043b\u0443 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0420\u043e\u0441\u0441\u0438\u0438<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> \u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00abCSSSR\u00bb <a href=\"https:\/\/soundcloud.com\/csssr\/novosti-512-vypusk-16-2307-2907\">\u041d\u043e\u0432\u043e\u0441\u0442\u0438 512 \u2014 \u0412\u044b\u043f\u0443\u0441\u043a \u211616 (23.07 \u2014 29.07)<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> \u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0414\u0435\u0432\u0448\u0430\u0445\u0442\u0430\/\u041d\u043e\u0447\u043d\u043e\u0439 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u00bb: <a href=\"https:\/\/soundcloud.com\/devschacht\/nightly-43\">\u211643 \u2014 \u0421\u043d\u043e\u0432\u0430 \u043e Jenkins, ChaosConstructions 2018, ndb \u0438 \u0428\u0420\u0418<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"podcast\" src=\"https:\/\/habrastorage.org\/web\/259\/2f4\/069\/2592f40697cc49dc939e9fc3983fc737.png\"> \u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u00ab\u0424\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u042e\u043d\u043e\u0441\u0442\u044c (18+)\u00bb: <a href=\"https:\/\/soundcloud.com\/frontend_u\/e58\">#58 \u0417\u0430 \u0447\u0442\u043e \u0443\u0432\u043e\u043b\u0438\u043b\u0438 jQuery \u0438\u0437 GitHub<\/a><\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/888\/d64\/fa7\/888d64fa796b4b6e82e98edc17dc85ae.png\"> <font color=\"#349A48\"><a name=\"webdev\"><\/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\/company\/ruvds\/blog\/418439\/.com.\">\u041e\u0441\u043d\u043e\u0432\u044b \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u044b\u0445 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><br \/>   \u2022 <a href=\"http:\/\/jem-space.ru\/3-osnovnykh-kontrolnykh-spiska-dlia-vieb-razrabotchikov\/\">3 \u0432\u0430\u0436\u043d\u044b\u0445 \u0447\u0435\u043a \u043b\u0438\u0441\u0442\u0430 \u0434\u043b\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/hiddedevries.nl\/en\/blog\/2018-07-19-accessible-page-titles-in-a-single-page-app\">\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0432 Single Page App<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/@alekseyazarov\/from-a-simple-spa-to-a-multi-functional-pwa-939c29f24235\">\u0423\u043c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u201c\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0444\u0443\u043b\u043b\u0441\u0442\u0435\u043a\u0443\u201d<\/a>. \u041e\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e SPA \u043a \u043c\u0443\u043b\u044c\u0442\u0438\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c\u0443 PWA<\/p>\n<ul>\n<li><strong>\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.smashingmagazine.com\/2018\/07\/converting-images-to-webp\/\">\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0430\u0446\u0438\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 WebP<\/a>. \u041e\u0442\u0440\u044b\u0432\u043e\u043a \u0438\u0437 \u043a\u043d\u0438\u0433\u0438 \u201cThe WebP Manual\u201d<br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/sometimes-sizes-is-quite-important\/\">\u0418\u043d\u043e\u0433\u0434\u0430 `sizes` \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0432\u0430\u0436\u043d\u044b <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/techstacker.com\/why-webm-is-superior-to-gif-video-comparison\/FR6xLr2zHn9uSTTsH\">\u041f\u043e\u0447\u0435\u043c\u0443 WebM \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c GIF \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e (\u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435)<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.keycdn.com\/blog\/video-optimization\/\">8 \u0441\u043e\u0432\u0435\u0442\u043e\u0432 \u043f\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0438\u0434\u0435\u043e \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/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:\/\/github.com\/lex111\/Front-End-Performance-Checklist\">\u0427\u0435\u043a-\u043b\u0438\u0441\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430<\/a>. \u0420\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0447\u0435\u043a\u043b\u0438\u0441\u0442\u0430<br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/frontendnews.io\/editions\/2018-07-25-tips-for-loading-web-fonts\">Frontend News #1: \u0421\u043e\u0432\u0435\u0442\u044b \u0434\u043b\u044f \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0435\u0431-\u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u0438 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.machmetrics.com\/speed-blog\/website-size-the-average-web-page-size-is-more-than-2mb-twice-the-size-of-the-average-page-just-3-years-ago\/\">\u0420\u0430\u0437\u043c\u0435\u0440 \u0441\u0430\u0439\u0442\u043e\u0432: \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u043e\u043b\u044c\u0448\u0435 2MB \u2013 \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0440\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0441\u044f \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 3 \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:\/\/kinsta.com\/blog\/eliminate-render-blocking-javascript-css\">\u041a\u0430\u043a \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u043d\u0433 JavaScript \u0438 CSS<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/developers.google.com\/web\/updates\/2018\/07\/search-ads-speed\">\u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0442\u0435\u043f\u0435\u0440\u044c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u043c \u0434\u043b\u044f \u043b\u0435\u043d\u0434\u0438\u043d\u0433\u043e\u0432 Google Search \u0438 Ads<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/searchengineland.com\/report-google-mobile-speed-update-has-no-impact-on-general-mobile-rankings-302703\">\u041e\u0442\u0447\u0435\u0442: Google mobile speed update \u043d\u0435 \u043f\u043e\u0432\u043b\u0438\u044f\u043b \u043d\u0430 \u043e\u0431\u0449\u0438\u0435 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438<\/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=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/post\/417429\/\">\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u0439 npm \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043b\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.offerzen.com\/blog\/debugging-with-chrome-devtools-quick-front-end-fixes\">\u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Chrome DevTools: \u0431\u044b\u0441\u0442\u0440\u044b\u0435 \u0441\u043e\u0432\u0435\u0442\u044b \u043f\u043e \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0443<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/faressoft\/terminalizer\">Terminalizer<\/a> \u2014 \u0437\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0432\u0430\u0448\u0435\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0432 \u0430\u043d\u0438\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 gif<br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/dmytrostriletskyi\/github-story\">Github story<\/a> \u2014 \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u2014 \u0448\u0430\u0431\u043b\u043e\u043d \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u0443\u043b\u043b \u0440\u0435\u043a\u0432\u0435\u0441\u0442\u0430 \u043d\u0430 Github   <\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/3a1\/304\/6f2\/3a13046f2d4a46c4a60db0906e962adb.png\"> <font color=\"#349A48\"><a name=\"css\"><\/a>CSS<\/font><\/h3>\n<p>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/company\/skillbox\/blog\/418067\/\">\u041a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441 CSS-\u0441\u0435\u0442\u043a\u043e\u0439 \u0438 CSS-\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/post\/417707\/\">CSS-in-JS \u2014 \u043c\u0438\u0444\u044b \u0438 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c (\u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 styled-components)<\/a><br \/>   \u2022 <a href=\"http:\/\/css-live.ru\/articles-css\/udivitelnyj-i-neizvestnyj-inline-block.html\">\u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 inline-block<\/a><br \/>   \u2022 <a href=\"https:\/\/medium.com\/@hexlet\/%D0%BF%D0%BE%D1%87%D0%B5%D0%BC%D1%83-css-grid-%D0%BB%D1%83%D1%87%D1%88%D0%B5-bootstrap-%D0%B4%D0%BB%D1%8F-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F-%D0%BC%D0%B0%D0%BA%D0%B5%D1%82%D0%BE%D0%B2-9bdcac64c0b5\">\u041f\u043e\u0447\u0435\u043c\u0443 CSS Grid \u043b\u0443\u0447\u0448\u0435 Bootstrap \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u043a\u0435\u0442\u043e\u0432<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/benfrain.com\/the-frustrations-of-using-css-shapes-and-css-exclusions\/\">\u0424\u0440\u0443\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 CSS Shapes \u0438 CSS Exclusions<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/solved-with-css-logical-styling-based-on-the-number-of-given-elements\/\">\u0420\u0435\u0448\u0435\u043d\u043e \u0441 CSS! \u041b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u0447\u0438\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\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\/the-peculiar-magic-of-flexbox-and-auto-margins\/\">\u0421\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043c\u0430\u0433\u0438\u044f flexbox \u0438 auto margins<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/codyhouse\/create-your-design-system-part-2-grid-layout-aa961d59b8d6\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u0438\u0437\u0430\u0439\u043d\u0430, \u0447\u0430\u0441\u0442\u044c 2: Grid &amp; Layout<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.creativebloq.com\/how-to\/5-hot-new-css-features-and-how-to-use-them\">5 \u043d\u043e\u0432\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 CSS \u0438 \u043a\u0430\u043a \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c<\/a><\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/199\/9ae\/d83\/1999aed8349b484fb1caa64d98ceb5e3.png\"> <font color=\"#349A48\"><a name=\"js\"><\/a>JavaScript<\/font><\/h3>\n<p>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/post\/418257\/\">Github.com \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f jQuery \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0447\u0438\u0441\u0442\u044b\u0439 JavaScript<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/build-a-state-management-system-with-vanilla-javascript\/\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c JavaScript<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/nodesource.com\/blog\/why-the-new-v8-is-so-damn-fast\">\u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u043e\u0432\u044b\u0439 V8 \u0442\u0430\u043a \u0447\u0435\u0440\u0442\u043e\u0432\u0441\u043a\u0438 \u0431\u044b\u0441\u0442\u0440<\/a> <br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/@warsawjs\/css-in-js-in-real-life-e0b50bbbd740\">CSS \u0432 JS \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438<\/a> <\/p>\n<ul>\n<li><strong>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0438:<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/snipcart.com\/blog\/learn-vanilla-javascript-before-using-js-frameworks\">\u0414\u0430, \u0432\u0430\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0437\u0443\u0447\u0430\u0442\u044c Vanilla JavaScript \u043f\u0435\u0440\u0435\u0434 \u043c\u043e\u0434\u043d\u044b\u043c JS \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u043c<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.freecodecamp.org\/how-to-improve-your-javascript-skills-by-writing-your-own-web-development-framework-eed2226f190\">\u041a\u0430\u043a \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u044c \u0432\u0430\u0448\u0438 \u0437\u043d\u0430\u043d\u0438\u044f \u043f\u043e JavaScript \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/fundbox-engineering\/react-vs-vue-vs-angular-163f1ae7be56\">React vs. Vue (vs. Angular)<\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><strong>\u0422\u0435\u043e\u0440\u0438\u044f:<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/company\/ruvds\/blog\/417481\/\">\u041e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u0445 \u0432 JavaScript ES6, \u0438 \u043e \u0442\u043e\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0438\u0445 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/company\/mailru\/blog\/418125\/\"> \u041f\u0440\u0438\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 pipeline \u0432 babel@7 <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/company\/ruvds\/blog\/418085\/\"> \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0438\u0441\u043e\u0432 \u0432 JavaScript <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"http:\/\/www.zsoltnagy.eu\/javascript-tutorial-for-absolute-beginners\/\">JavaScript Tutorial \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.freecodecamp.org\/lets-talk-about-semicolons-in-javascript-f1fe08ab4e53\">\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0442\u043e\u0447\u043a\u0435 \u0441 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0432 JavaScript<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> Stateful Monads in JavaScript:\u200a<a href=\"https:\/\/blog.bitsrc.io\/stateful-monads-in-javascript-part-1-f772ac26195c\">\u0427\u0430\u0441\u0442\u044c 1<\/a>, <a href=\"https:\/\/blog.bitsrc.io\/stateful-monads-in-javascript-part-2-7a6fa65f0ad9\">\u0427\u0430\u0441\u0442\u044c 2<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/paqmind.com\/tutorials\/async-programming\/callbacks\/\">\u041a\u043e\u043b\u043b\u0431\u0435\u043a\u0438 \u2014 \u0443\u043b\u0443\u0447\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0438 \u0437\u043d\u0430\u043d\u0438\u044f \u0432 API, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043a\u043e\u043b\u043b\u0431\u0435\u043a\u0430\u0445, \u0438\u0437\u0443\u0447\u0438\u0442\u0435 \u0438\u0445 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0432 JavaScript <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/hackernoon.com\/how-to-stop-using-callbacks-and-start-living-1e5ed92e68e8\">\u041a\u0430\u043a \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0431\u0435\u043a\u0438 \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0436\u0438\u0442\u044c<\/a>   <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"React\" src=\"https:\/\/habrastorage.org\/web\/4e3\/dfa\/ceb\/4e3dfaceb97444948d89067fcf469a9d.png\"> <strong>React:<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/post\/418581\/\">\u041e\u0441\u043d\u043e\u0432\u044b React (\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0443\u0447\u0435\u0431\u043d\u0438\u043a, 2-\u0435 \u0438\u0437\u0434\u0430\u043d\u0438\u0435)<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/engineering.dollarshaveclub.com\/learn-render-props-by-example-da3e2524dd2e\">\u0418\u0437\u0443\u0447\u0435\u043d\u0438\u0435 Render Props \u043f\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/@atahani\/reactjs-ssr-tips-and-tricks-be9edff5b7bb\">\u0422\u0440\u044e\u043a\u0438 \u0438 \u0441\u043e\u0432\u0435\u0442\u044b \u0434\u043b\u044f Reactjs SSR <\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/css-tricks.com\/finite-state-machines-with-react\/\">\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u044b \u0432 React<\/a>    <\/li>\n<\/ul>\n<p>  <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"Angular\" src=\"https:\/\/habrastorage.org\/web\/4e2\/61c\/354\/4e261c3548e245759c288a42df72f542.png\"> <strong>Angular:<\/strong><br \/>  \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/blog.angular.io\/angular-v6-1-now-available-typescript-2-9-scroll-positioning-and-more-9f1c03007bb6\">\u0421\u0442\u0430\u043b \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d Angular v6.1 \u2014\u200aTypeScript 2.9, Scroll Positioning \u0438 \u043c\u043d\u043e\u0433\u043e\u0435 \u0434\u0440\u0443\u0433\u043e\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\/one-way-property-binding-mechanism-in-angular-f1b25cf00de7\">\u041c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0433\u043e \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0432 Angular<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/medium.com\/default-to-open\/understanding-a-large-scale-angular-app-with-ngrx-80f9fc5660cc\">\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 angular \u0441 @ngrx<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/itnext.io\/turning-an-angular-6-app-into-a-progressive-web-app-9e6fc6361ba6\">\u041f\u0440\u0435\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Angular 6 \u0432 Progressive Web App<\/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\/GoogleChromeLabs\/ndb\/\">ndb<\/a> \u2014 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0430 Node.js, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u0430\u044f \u0447\u0435\u0440\u0435\u0437 Chrome DevTools<br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/natergj\/excel4node\">excel4node<\/a> \u2014 \u043c\u043e\u0434\u0443\u043b\u044c \u043a Node, \u0443\u043f\u0440\u043e\u0449\u0430\u044e\u0449\u0438\u0439 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Excel \u0444\u0430\u0439\u043b\u043e\u0432<br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/cozmo\/jsQR\">jsQR<\/a> \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f QR \u043a\u043e\u0434\u043e\u0432 \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445 \u0431\u0435\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/github.com\/piecioshka\/simple-data-table\">simple-data-table<\/a> \u2014 \u043b\u0451\u0433\u043a\u0430\u044f \u0438 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0431\u0435\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 <br \/>   \u2022 <img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"> <a href=\"https:\/\/www.addthis.com\/blog\/2018\/07\/23\/addthis-is-now-available-for-amp\/#.W1jZn9IzaUk\">AddThis \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0434\u043b\u044f AMP <\/a>   <\/li>\n<\/ul>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/web\/8a7\/fed\/178\/8a7fed178dce42c099f5da05982aec87.png\"> <font color=\"#349A48\"><a name=\"browser\"><\/a>\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044b<\/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\/post\/418381\/.com\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 DevTools \u0432 Chrome \u0432\u0435\u0440\u0441\u0438\u0438 68<\/a><br \/>   \u2022 <img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"> <a href=\"https:\/\/habr.com\/post\/418105\/\">\u041f\u043e\u0447\u0435\u043c\u0443 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 YouTube \u0432 Firefox \u0438\u043b\u0438 Edge \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c \u0432 5 \u0440\u0430\u0437 \u0434\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0432 Google Chrome<\/a><br \/>   \u2022 <a href=\"http:\/\/www.opennet.ru\/opennews\/art.shtml?num=49020\">\u0420\u0435\u043b\u0438\u0437 web-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 Chrome 68<\/a><br \/>   \u2022 <a href=\"http:\/\/www.opennet.ru\/opennews\/art.shtml?num=49011\">\u0412 Firefox 63 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e<\/a><br \/>   \u2022 <a href=\"http:\/\/www.opennet.ru\/opennews\/art.shtml?num=49024\">Mozilla \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0437 Firefox \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 RSS \u0438 Live Bookmarks<\/a><br \/>   \u2022 <a href=\"https:\/\/www.computerra.ru\/230158\/google-chrome-stimuliruet-perehod-na-https\/\">Google Chrome \u0441\u0442\u0438\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 HTTPS<\/a><br \/>   \u2022 <a href=\"https:\/\/xakep.ru\/2018\/07\/27\/web-store-metamask\/\">\u0418\u0437 Chrome Web Store \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u043b\u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043a\u043e\u0448\u0435\u043b\u044c\u043a\u0430 Metamask \u0432\u043c\u0435\u0441\u0442\u043e \u0444\u0435\u0439\u043a\u043e\u0432\u043e\u0433\u043e<\/a><br \/>   \u2022 <a href=\"https:\/\/xakep.ru\/2018\/07\/24\/patch-for-patch\/\">\u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432 \u043c\u0430\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u0430\u0433 \u0432 IE \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b \u043d\u043e\u0432\u044b\u0445 \u043f\u0430\u0442\u0447\u0435\u0439 \u0438 \u0441\u043f\u0440\u043e\u0432\u043e\u0446\u0438\u0440\u043e\u0432\u0430\u043b \u0443\u0442\u0435\u0447\u043a\u0443 \u043f\u0430\u043c\u044f\u0442\u0438<\/a><\/p>\n<h3><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d4b\/289\/ef0\/d4b289ef0a00e969108c25d0c3d75f58.gif\"> <font color=\"#349A48\"><a name=\"intresting\"><\/a>\u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/font><\/h3>\n<p>   \u2022 <a href=\"https:\/\/vc.ru\/42520-poslevkusie-apple-gotovy-li-rukovoditeli-razrabotchiki-i-dizaynery-otkazatsya-ot-macbook-v-polzu-drugih-noutbukov\">\u041f\u043e\u0441\u043b\u0435\u0432\u043a\u0443\u0441\u0438\u0435 Apple: \u0433\u043e\u0442\u043e\u0432\u044b \u043b\u0438 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0438 \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u044b \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 Macbook \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u0434\u0440\u0443\u0433\u0438\u0445 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u043e\u0432<\/a><br \/>   \u2022 <a href=\"https:\/\/vc.ru\/42317-proveryaem-sayt-na-vshivost\">\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0430\u0439\u0442 \u043d\u0430 \u00ab\u0432\u0448\u0438\u0432\u043e\u0441\u0442\u044c\u00bb<\/a><br \/>   \u2022 <a href=\"https:\/\/tproger.ru\/devnull\/weird-and-funny-github-projects\/\">\u041a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u044b \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u043d\u043d\u044b\u043c\u0438: \u0437\u0430\u0431\u0430\u0432\u043d\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b \u0441 GitHub<\/a><br \/>   \u2022 <a href=\"https:\/\/xakep.ru\/2018\/07\/27\/titan-security-key\/\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 Google \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b\u0438 USB-\u043a\u043b\u044e\u0447\u0438 Titan Security Key \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/a><br \/>   \u2022 <a href=\"https:\/\/itc.ua\/news\/v-google-docs-poyavilas-proverka-grammatiki-s-ispolzovaniem-tehnologiy-mashinnogo-obucheniya\/\">\u0412 Google Docs \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<\/a><br \/>   \u2022 <a href=\"https:\/\/tjournal.ru\/74250-v-windows-10-vnedryat-mashinnoe-obuchenie-chtoby-predotvratit-nepredskazuemuyu-perezagruzku-sistemy-iz-za-obnovleniy\">\u0412 Windows 10 \u0432\u043d\u0435\u0434\u0440\u044f\u0442 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u0443\u044e \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u0437-\u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439<\/a><\/p>\n<p>\u041f\u0440\u043e\u0441\u0438\u043c \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0438\u043b\u0438 \u043d\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0435\/\u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u0441\u0441\u044b\u043b\u043a\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u2014 \u043d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0432 \u043b\u0438\u0447\u043a\u0443, \u043c\u044b \u0441\u0442\u0430\u0440\u0430\u0435\u043c\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0438\u0445 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c. <\/p>\n<p>  <a href=\"https:\/\/habr.com\/company\/zfort\/blog\/417881\/\">\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\/\">dersmoll<\/a> \u0438 <a href=\"http:\/\/habrahabr.ru\/users\/alekskorovin\/\">alekskorovin<\/a>.<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <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\/company\/zfort\/blog\/418589\/\"> https:\/\/habr.com\/company\/zfort\/blog\/418589\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/company\/zfort\/blog\/418589\/\" class=\"post__text post__text-html js-mediator-article\">\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\/ut\/a_\/rn\/uta_rn6rglxischpt-g-_bnki6u.png\"><\/p>\n<p>  <\/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-287919","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/287919","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=287919"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/287919\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=287919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=287919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=287919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}