{"id":283928,"date":"2017-03-26T23:45:03","date_gmt":"2017-03-26T19:45:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=283928"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=283928","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 \u2116255 (20 \u2014 26 \u043c\u0430\u0440\u0442\u0430 2017)"},"content":{"rendered":"<p>\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 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\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.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/fcc\/e54\/8f1\/fcce548f15cb4f94a40aa80b4f580da8.png\"\/><\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<table>\n<tbody>\n<tr>\n<td><a href=\"#webdev\"><b>\u0412\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/b><\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=\"#css\"><b>CSS<\/b><\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=\"#js\"><b>Javascript<\/b><\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=\"#browser\"><b>\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044b<\/b><\/a><\/td>\n<\/tr>\n<tr>\n<td><a href=\"#intresting\"><b>\u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/b><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>   <\/p>\n<h3><a name=\"webdev\"><\/a><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b70\/f9f\/eae\/b70f9feaeee78b42a0c78c3731555e73.gif\"\/> \u0412\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/h3>\n<p>   <\/p>\n<ul>\n<li><a href=\"https:\/\/soundcloud.com\/web-standards\/episode-60\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u0412\u0435\u0431-\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b, \u0412\u044b\u043f\u0443\u0441\u043a \u211660<\/a>: \u0424\u043e\u043d\u043e\u0432\u044b\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0438, CSSO, CSS Peeper, \u043a\u0443\u0440\u0441 \u043f\u043e SVG, \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u0445, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0438\u043b\u0438 \u0436\u0438\u0437\u043d\u044c, \u043b\u0438\u043d\u0442\u0438\u043d\u0433 HTML, \u0441\u0430\u0439\u0434\u0431\u0430\u0440 \u0437\u0430 5 \u0441\u0442\u0440\u043e\u043a, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 JS, jQuery \u043d\u0435 \u043d\u0443\u0436\u0435\u043d, \u043f\u0443\u0448-\u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f, \u043c\u0435\u0436\u0434\u0438\u0441\u0446\u0438\u043f\u043b\u0438\u043d\u0430\u0440\u043d\u043e\u0435, \u0424\u0440\u043e\u043d\u0442\u0451\u0440\u043a\u0438.<\/li>\n<li><a href=\"http:\/\/www.fronterki.fm\/post\/158701505151\/002-%D0%B0%D0%BD%D0%B4%D1%80%D0%B5%D0%B9-%D0%B3%D1%83%D1%80%D1%8B%D0%BB%D1%91%D0%B2-%D0%B3%D0%BE%D1%80%D0%BE%D0%B4%D1%81%D0%BA%D0%B8%D0%B5-%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0-%D0%B8\">\u041f\u043e\u0434\u043a\u0430\u0441\u0442 \u0424\u0440\u043e\u043d\u0442\u0451\u0440\u043a\u0438, \u2116002<\/a>: \u0410\u043d\u0434\u0440\u0435\u0439 \u0413\u0443\u0440\u044b\u043b\u0451\u0432, \u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0438 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0442\u044d\u043a <\/li>\n<li><a href=\"http:\/\/webmasters.teamdev.com\/\">\u0412\u0451\u0440\u0441\u0442\u043a\u0430 \u2013 \u044d\u0442\u043e \u043d\u0435 \u0442\u0443\u043f\u043e.<\/a> \u041f\u043e\u0441\u043e\u0431\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u043c\u0443 \u043d\u0430\u0434\u043e \u0432\u0435\u0440\u0441\u0442\u0430\u0442\u044c.<\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2017\/03\/beyond-browser-web-desktop-apps\/\">\u0417\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430: \u043e\u0442 \u0432\u0435\u0431\u0430 \u043a \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/stackoverflow.com\/insights\/survey\/2017\/\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b Stackoverflow Developer Survey 2017<\/a>. <a href=\"https:\/\/medium.freecodecamp.com\/73-of-programmers-are-web-developers-and-other-insights-from-stack-overflows-massive-2017-survey-89a13b11e370#.s07ub219g\">\u0427\u0442\u043e \u044f \u0443\u0437\u043d\u0430\u043b \u0438\u0437 \u043e\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 Stack Overflow \u0441\u0440\u0435\u0434\u0438 64,000 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<\/a><\/li>\n<li>PWA:<br \/> \n<ul>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/julian.is\/article\/progressive-web-apps\/\">Progressive Web Apps \u2014 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u0432 Responsive Web Design<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.sitepoint.com\/retrofit-your-website-as-a-progressive-web-app\/\">\u041c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430 \u0432 \u043f\u0440\u043e\u0433\u0440\u0435\u0441\u0441\u0438\u0432\u043d\u043e\u0435 \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/cloudfour.com\/thinks\/progressive-web-app-questions\/\">\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u043e Progressive Web App \u043e\u0442 cloudfour<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li>\u0412\u0435\u0431-\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c:<br \/> \n<ul>\n<li><a href=\"https:\/\/ain.ua\/2017\/03\/24\/optimiziruem-mobilnuyu-versiyu-sajta-chto-takoe-google-amp\">\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0441\u0430\u0439\u0442\u0430: \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Google AMP<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habrahabr.ru\/company\/hosting-cafe\/blog\/324504\/\">\u0410 \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0441 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432? \u0421\u0430\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/developer.telerik.com\/content-types\/opinion\/can-googles-guetzli-jpeg-encoder-help-solve-web-page-bloat\/\">\u041c\u043e\u0436\u0435\u0442 \u043b\u0438 Guetzli, \u043d\u043e\u0432\u044b\u0439 \u0434\u0435\u043a\u043e\u0434\u0435\u0440 JPEG \u043e\u0442 Google, \u043f\u043e\u043c\u043e\u0447\u044c \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0440\u0430\u0437\u0434\u0443\u0442\u043e\u0433\u043e \u0432\u0435\u0431\u0430?<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/need-catch-amp-debate\/\">\u0414\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044f \u043d\u0430 \u0442\u0435\u043c\u0443 AMP<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <img decoding=\"async\" alt=\"video\" src=\"https:\/\/habrastorage.org\/storage3\/976\/d3e\/38a\/976d3e38a34b003f86f91795524af9f8.gif\"\/> \u042d\u043f\u0438\u0437\u043e\u0434\u044b \u0432\u0438\u0434\u0435\u043e\u043f\u043e\u0434\u043a\u0430\u0441\u0442\u0430 Amplify: <a href=\"https:\/\/www.youtube.com\/watch?v=9Cfxm7cikMY&amp;index=2&amp;list=PLXTOW_XMsIDTIRIu4Af-bqfGkUhPSE75A&amp;t=5s\">7 \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 AMP \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0430\u0448\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u044b\u0441\u0442\u0440\u044b\u043c\u0438<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=jpyHTTtddUo&amp;list=PLXTOW_XMsIDTIRIu4Af-bqfGkUhPSE75A&amp;index=1\">\u00ab\u041d\u043e \u0443 \u043c\u0435\u043d\u044f \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u0430\u0439\u0442\u00bb: \u0414\u043b\u044f \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 <\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li>\u0423\u0440\u043e\u043a\u0438:<br \/> \n<ul>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/iamakulov.com\/notes\/all\/webpack-for-real-tasks-part-1\/\">Webpack \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447: \u0431\u0430\u043d\u0434\u043b\u0438\u043d\u0433 \u0444\u0440\u043e\u043d\u0442\u0435\u043d\u0434\u0430 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/introduction-elm-architecture-build-first-application\/\">\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 Elm \u0438 \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0430\u0448\u0435 \u043f\u0435\u0440\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/developers.google.com\/web\/updates\/2017\/03\/performant-expand-and-collapse\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438 expand &#038; collapse<\/a> \u0432 \u0431\u043b\u043e\u0433\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Google<\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/codepen.io\/gregh\/post\/recreating-legendary-8-bit-games-music-with-web-audio-api\">\u0412\u043e\u0441\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u0435\u0433\u0435\u043d\u0434\u0430\u0440\u043e\u0439 \u043c\u0443\u0437\u044b\u043a\u0438 \u0438\u0437 \u0432\u043e\u0441\u044c\u043c\u0438\u0431\u0438\u0442\u043d\u044b\u0445 \u0438\u0433\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Web Audio API<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li><a href=\"http:\/\/adaptivesprites.com\/\">\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0430\u0434\u0430\u043f\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u043f\u0440\u0430\u0439\u0442\u043e\u0432<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.sitepoint.com\/how-why-use-html5-custom-data-attributes\/\">\u041a\u0430\u043a \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 data \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b HTML5<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.smashingmagazine.com\/2017\/03\/which-responsive-design-framework-is-best\/\">\u041a\u0430\u043a\u043e\u0439 Responsive Design Framework \u043b\u0443\u0447\u0448\u0438\u0439? \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u044d\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/litmus.com\/blog\/the-ultimate-guide-to-email-on-android\">\u041f\u043e\u043b\u043d\u043e\u0435 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e \u0432\u0435\u0440\u0441\u0442\u043a\u0435 \u043f\u0438\u0441\u0435\u043c \u043f\u043e\u0434 Android <\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/cehfisher.github.io\/a11y-style-guide\/style-guide\/\">A11Y Style Guide<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/community.risingstack.com\/ive-been-a-web-developer-for-17-years-and-this-is-what-i-learned-daniel-khan\/\">\u042f \u0431\u044b\u043b \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c 17 \u043b\u0435\u0442, \u0438 \u0432\u043e\u0442 \u0447\u0442\u043e \u044f \u0443\u0437\u043d\u0430\u043b \u2014 Daniel Khan<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.codepen.io\/2017\/03\/20\/codepen-projects-is-here\/\">\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d CodePen Projects<\/a> \u2014 IDE \u0434\u043b\u044f CodePen<\/li>\n<\/ul>\n<p>   <\/p>\n<h3><a name=\"css\"><\/a><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/36c\/2c6\/966\/36c2c69660dd21085a2dcb71d7246ae6.gif\"\/> CSS<\/h3>\n<p>   <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habrahabr.ru\/post\/324814\/\">\u0423\u0447\u0438\u043c\u0441\u044f \u043c\u044b\u0441\u043b\u0438\u0442\u044c \u0432 REM. \u0420\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043e\u0431 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e\u043c \u0438 \u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0442\u0440\u0443\u0434\u0430 \u0432 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u0435\u0431-\u0441\u0442\u0443\u0434\u0438\u0438<\/a><\/li>\n<li><a href=\"http:\/\/zmeika.name\/2017\/03\/20\/bridging-css-and-js.html\">\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043a\u0430\u043a \u0441\u0432\u044f\u0437\u0443\u044e\u0449\u0435\u0435 \u0437\u0432\u0435\u043d\u043e \u043c\u0435\u0436\u0434\u0443 CSS \u0438 JS<\/a><\/li>\n<li><a href=\"http:\/\/css-live.ru\/articles-css\/svojstva-dlya-vyravnivaniya-vsego-i-ix-novye-tajny.html\">\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0433\u043e \u0438 \u0438\u0445 \u043d\u043e\u0432\u044b\u0435 \u0442\u0430\u0439\u043d\u044b<\/a><\/li>\n<li>CSS Grid Layout:<br \/> \n<ul>\n<li><a href=\"http:\/\/css-live.ru\/articles\/css-gridy-prishli-nasovsem.html\">CSS-\u0433\u0440\u0438\u0434\u044b \u043f\u0440\u0438\u0448\u043b\u0438 \u043d\u0430\u0441\u043e\u0432\u0441\u0435\u043c<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.mozilla.org\/en-US\/developer\/css-grid\/\">\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 CSS Grid \u043e\u0442 Moz:\/\/a<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/daverupert.com\/2017\/03\/initial-impressions-of-css-grid\/\">\u041f\u0435\u0440\u0432\u044b\u0435 \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u0435\u043d\u0438\u044f \u043e\u0442 CSS Grid Layout<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/cloudfour.com\/thinks\/first-css-grid-layout\/\">\u041c\u043e\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0441 CSS Grid Layout<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/rachelandrew.co.uk\/css\/cheatsheets\/grid-fallbacks\">\u201c\u0424\u043e\u043b\u043b\u0431\u0435\u043a\u0438\u201d \u0434\u043b\u044f \u0433\u0440\u0438\u0434\u043e\u0432<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/alistapart.com\/article\/practical-grid\">\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 Grid \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0434\u0438\u0437\u0430\u0439\u043d<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/zellwk.com\/blog\/css-architecture-2\/\">\u041f\u0438\u0448\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u044b\u0439 CSS (\u0447\u0430\u0441\u0442\u044c 2)<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/hashnode.com\/ama\/with-sass-cj0j8hjmy0005f5533xzd86xs\">\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 Sass \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/waarissyb.nl\/articles\/your-css-could-be-more-understandable.html\">\u0412\u0430\u0448 CSS \u043c\u043e\u0433 \u0431\u044b \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blogs.windows.com\/msedgedev\/2017\/03\/24\/css-custom-properties\/#FdSs4HQGzRGM8pdS.97\">\u041a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0441\u0432\u043e\u0439\u0441\u0432\u0430 CSS \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0438 \u0432 Microsoft Edge<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/kinda-can-use-custom-fonts-html-emails\/\">\u0412\u044b \u0432\u0440\u043e\u0434\u0435 \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0448\u0440\u0438\u0444\u0442\u044b \u0432 HTML \u043f\u0438\u0441\u044c\u043c\u0430\u0445<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/freebiesupply.com\/blog\/css-button-hover-effects\/\">\u041f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 \u043d\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0438\u0437 CodePen<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/text-effects-css-little-contenteditable-trick\/\">\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e CSS (\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0442\u0440\u044e\u043a \u0441 contenteditable) <\/a><\/li>\n<\/ul>\n<p>   <\/p>\n<h3><a name=\"js\"><\/a><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/49d\/04e\/fb9\/49d04efb96fb6ce31cde9be5dc12a874.gif\"\/> JavaScript<\/h3>\n<p>   <\/p>\n<ul>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habrahabr.ru\/company\/livetyping\/blog\/324506\/\">\u041a\u0440\u0430\u0442\u043a\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f JavaScript. \u0427\u0430\u0441\u0442\u044c 2<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habrahabr.ru\/post\/324366\/\">\u041e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 js-\u043e\u0448\u0438\u0431\u043e\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u041c\u0435\u0442\u0440\u0438\u043a\u0438<\/a><\/li>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habrahabr.ru\/company\/jugru\/blog\/324364\/\">\u041b\u0443\u0447\u0448\u0438\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u044b HolyJS 2016 Moscow: \u0414\u043e\u0441\u0442\u0443\u043f \u043e\u0442\u043a\u0440\u044b\u0442<\/a><\/li>\n<li><a href=\"http:\/\/css-live.ru\/articles\/pochemu-nan-eto-ne-not-a-number.html\">\u041f\u043e\u0447\u0435\u043c\u0443 NaN \u044d\u0442\u043e \u043d\u0435 \u00abNot a Number\u00bb?<\/a><\/li>\n<li><a href=\"https:\/\/medium.com\/@vkozulya\/%D0%BA%D0%B0%D0%BA-%D1%83%D0%BD%D0%B8%D0%B7%D0%B8%D1%82%D1%8C-%D0%B4%D0%B6%D0%B0%D0%B2%D0%B0%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B5%D1%80%D0%B0-e0aa256a8905#.1d7oq5kzc\">\u041a\u0430\u043a \u0443\u043d\u0438\u0437\u0438\u0442\u044c \u0434\u0436\u0430\u0432\u0430\u0441\u043a\u0440\u0438\u043f\u0442\u0435\u0440\u0430<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/trackchanges.postlight.com\/modern-javascript-for-ancient-web-developers-58e7cae050f9\">\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 JavaScript \u0434\u043b\u044f \u0434\u0440\u0435\u0432\u043d\u0438\u0445 \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.sitepoint.com\/life-after-js-learning-2nd-language\/\">\u0416\u0438\u0437\u043d\u044c \u043f\u043e\u0441\u043b\u0435 JavaScript: \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430<\/a> <\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.sitepoint.com\/writing-javascript-with-accessibility-in-mind\/\">\u041f\u0438\u0448\u0435\u043c JavaScript \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u0438 <\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/hackernoon.com\/javascript-vs-python-in-2017-d31efbb641b4\">JavaScript \u043f\u0440\u043e\u0442\u0438\u0432 Python \u0432 2017<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/@matansokolovsky\/es7-async-await-pitfalls-d24331388a70\">\u041b\u043e\u0432\u0443\u0448\u043a\u0438 ES7 Async\/Await<\/a> <\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.sitepoint.com\/simplifying-asynchronous-coding-es7-async-functions\/\">\u0423\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441 \u0444\u0443\u043d\u043a\u0446\u044f\u043c\u0438 Async\/Await<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/www.sitepoint.com\/how-javascript-references-work\/\">\u0411\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u043e\u0432\u0435\u0442: \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0441\u0441\u044b\u043b\u043a\u0438 \u0432 JavaScript<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/bet365techblog.com\/large-scale-web-development-using-typescript\">\u041a\u0440\u0443\u043f\u043d\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u043d\u0430\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441 TypeScript<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/@IMM9O\/how-i-learn-any-front-end-framework-e91a0a84eefc\">\u041a\u0430\u043a \u044f \u0438\u0437\u0443\u0447\u0430\u044e \u043b\u044e\u0431\u043e\u0439 front-end \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/dev-channel\/testing-service-workers-318d7b016b19\">\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Service Worker-\u043e\u0432<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/css-tricks.com\/creating-book-cover-using-javascript-p5-js\/\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043e\u0431\u043b\u043e\u0436\u043a\u0438 \u043a\u043d\u0438\u0433\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c JavaScript \u0438 p5.js<\/a><\/li>\n<li>Angular:<br \/> \n<ul>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/angularjs.blogspot.fi\/2017\/03\/angular-400-now-available.html\">\u0421\u0442\u0430\u043b \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d Angular 4.0.0<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/blog.ninja-squad.com\/2017\/03\/24\/what-is-new-angular-4\/\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Angular 4?<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/hackernoon.com\/top-8-resources-to-explore-angular-4-ff2c1b42020a\">8 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f Angular 4<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li>React:<br \/> \n<ul>\n<li><img decoding=\"async\" alt=\"habr\" src=\"https:\/\/habrastorage.org\/storage2\/c57\/b92\/af4\/c57b92af4ee0d37f787c211a068b1b95.png\"\/> <a href=\"https:\/\/habrahabr.ru\/company\/netologyru\/blog\/324788\/\">\u042d\u0432\u0440\u0438\u043a\u0430! \u041c\u043e\u043c\u0435\u043d\u0442\u044b \u043e\u0437\u0430\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 React<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/@baphemot\/understanding-react-deployment-5a717d4378fd\">\u041f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0440\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f React \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/xat\/react-component-composition-cheatsheet\">\u0428\u043f\u0430\u0440\u0433\u0430\u043b\u043a\u0430 \u043f\u043e \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0446\u0438\u0438 React \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/javascript-scene\/setstate-gate-abc10a9b2d82\">setState() Gate<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.freecodecamp.com\/functional-setstate-is-the-future-of-react-374f30401b6b\">\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 setState \u2014 \u044d\u0442\u043e \u0431\u0443\u0434\u0443\u0449\u0435\u0435 React<\/a> <\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/medium.com\/dailyjs\/react-is-slow-react-is-fast-optimizing-react-apps-in-practice-394176a11fba\">React \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0439, React \u0431\u044b\u0441\u0442\u0440\u044b\u0439: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f React \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li>Vue:<br \/> \n<ul>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/bootstrap-for-vue.znck.me\/\">Bootstrap + Vue<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/ducksoupdev\/vue-webpack-typescript\">vue-webpack-typescript<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/scotch.io\/tutorials\/how-to-handle-file-uploads-in-vue-2\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043f\u043e\u043b\u0435\u043c \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 Vue 2<\/a><\/li>\n<\/ul>\n<p>   <\/li>\n<li>Libs &#038; Plugins:<br \/> \n<ul>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"http:\/\/iterare.surge.sh\/index.html\">iterare<\/a> \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c\u0438 ES6<\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/techshard.com\/2017\/03\/19\/7-javascript-libraries-for-dashboards\/\">7 JavaScript \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f \u043f\u0440\u0438\u0431\u043e\u0440\u043d\u044b\u0445 \u043f\u0430\u043d\u0435\u043b\u0435\u0439<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/github.com\/hsnaydd\/moveTo\">MoveTo<\/a> &mdash; \u043b\u0435\u0433\u043a\u0430\u044f \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0438 \u043a \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c, \u0431\u0435\u0437 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439<\/li>\n<\/ul>\n<p>   <\/li>\n<\/ul>\n<p>   <\/p>\n<h3>\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u044b<\/h3>\n<p>   <\/p>\n<ul>\n<li><a href=\"http:\/\/www.opennet.ru\/opennews\/art.shtml?num=46254\">\u041f\u0440\u043e\u0435\u043a\u0442 Mozilla \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043d\u043e\u0432\u043e\u0433\u043e \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 Firefox<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/dev.opera.com\/blog\/opera-44\/\">\u0427\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u0432 Chromium 57 \u0438 Opera 44<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/blog.chromium.org\/2017\/03\/chrome-58-beta-indexeddb-20_21.html\">Chrome 58 Beta: IndexedDB 2.0, \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0435 \u0432 iframe \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438navigation \u0438 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u0434\u043b\u044f PWA<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/webkit.org\/blog\/7474\/release-notes-for-safari-technology-preview-26\/\">\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u043b\u0438\u0437\u0430 Safari Technology Preview 26<\/a><\/li>\n<li><img decoding=\"async\" alt=\"en\" src=\"https:\/\/habrastorage.org\/storage3\/2e2\/522\/737\/2e2522737ec404a9f76047e108dfaea0.gif\"\/> <a href=\"https:\/\/developers.google.com\/web\/updates\/2017\/03\/chrome-58-media-updates\">\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 Chrome 58<\/a><\/li>\n<\/ul>\n<p>   <\/p>\n<h3><a name=\"intresting\"><\/a><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d4b\/289\/ef0\/d4b289ef0a00e969108c25d0c3d75f58.gif\"\/> \u0417\u0430\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435<\/h3>\n<p>   <\/p>\n<ul>\n<li><a href=\"http:\/\/www.opennet.ru\/opennews\/art.shtml?num=46232\">GitHub \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u0430\u0442\u0430\u043a, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0438 SHA-1<\/a><\/li>\n<li><a href=\"https:\/\/ain.ua\/2017\/03\/21\/twitter-videotranslyatsii-api\">Twitter \u0434\u0430\u0441\u0442 \u0442\u0435\u043b\u0435\u043a\u0430\u043d\u0430\u043b\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0435\u0441\u0442\u0438 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u044f\u043c\u044b\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0438<\/a><\/li>\n<li><a href=\"https:\/\/ain.ua\/2017\/03\/21\/apple-pokazala-krasnyj-iphone-i-ubila-linejku-ipad-air\">Apple \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u043a\u0440\u0430\u0441\u043d\u044b\u0439 iPhone. \u0418 \u0443\u0431\u0438\u043b\u0430 \u043b\u0438\u043d\u0435\u0439\u043a\u0443 iPad Air<\/a>. <a href=\"https:\/\/ain.ua\/2017\/03\/19\/apple-sdelaet-ar\">\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u0435\u0439 Apple \u0441\u0442\u0430\u043d\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/a><\/li>\n<li><a href=\"https:\/\/vc.ru\/n\/android-o-dev\">Google \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043f\u0435\u0440\u0432\u0443\u044e \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e Android O<\/a><\/li>\n<li><a href=\"https:\/\/tproger.ru\/news\/node-js-release-brief\/\">\u0422\u0440\u0438 \u0432\u0435\u0442\u0432\u0438 Node.js \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f<\/a><\/li>\n<li><a href=\"http:\/\/www.cossa.ru\/news\/156392\/\">\u041f\u043e\u0447\u0435\u043c\u0443 Google \u043d\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a mobile-first \u0438\u043d\u0434\u0435\u043a\u0441\u0430<\/a><\/li>\n<li><a href=\"https:\/\/geektimes.ru\/post\/287268\/\">\u0421\u043e\u043e\u0441\u043d\u043e\u0432\u0430\u0442\u0435\u043b\u044c Mozilla \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044c JavaScript \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d<\/a><\/li>\n<li><a href=\"https:\/\/vc.ru\/n\/building-8-facebook\">Business Insider: Facebook \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u0430 \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u00ab\u0441\u043a\u0430\u043d\u0435\u0440\u043e\u0432 \u043c\u043e\u0437\u0433\u0430\u00bb \u0438 \u043a\u0430\u043c\u0435\u0440 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/a><\/li>\n<li><a href=\"https:\/\/tproger.ru\/news\/adobe-semaphore-cracked\/\">\u0428\u043a\u043e\u043b\u044c\u043d\u044b\u0439 \u0443\u0447\u0438\u0442\u0435\u043b\u044c \u0440\u0430\u0437\u0433\u0430\u0434\u0430\u043b \u0441\u0438\u0433\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 \u0437\u0434\u0430\u043d\u0438\u0438 Adobe<\/a><\/li>\n<li><a href=\"https:\/\/ain.ua\/2017\/03\/25\/besplatnyj-google-optimize-prinosit-ab-testirovanie-sajtov-v-massy\">\u0411\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 Google Optimize \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 A\/B-\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u043e\u0432 \u0432 \u043c\u0430\u0441\u0441\u044b<\/a><\/li>\n<li><a href=\"https:\/\/vc.ru\/p\/productivity-in-corporations\">\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u044b, \u0432\u0435\u0440\u0430 \u0438 \u043b\u0438\u0434\u0435\u0440\u0441\u0442\u0432\u043e: \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 Apple \u0438 Google \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u043e\u0432<\/a><\/li>\n<li><a href=\"https:\/\/ain.ua\/2017\/03\/25\/krupnejshie-reklamodateli-ushli-s-youtube-eto-stoilo-alphabet-35-mlrd\">\u041a\u0440\u0443\u043f\u043d\u0435\u0439\u0448\u0438\u0435 \u0440\u0435\u043a\u043b\u0430\u043c\u043e\u0434\u0430\u0442\u0435\u043b\u0438 \u0443\u0448\u043b\u0438 \u0441 YouTube. \u042d\u0442\u043e \u0441\u0442\u043e\u0438\u043b\u043e Alphabet $35 \u043c\u043b\u0440\u0434<\/a><\/li>\n<li><a href=\"https:\/\/vc.ru\/p\/i-was-not-hired\">\u00ab\u0421\u043e\u0431\u0435\u0441\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u2014 \u044d\u0442\u043e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0443\u0440\u043e\u043a\u00bb: \u0447\u0435\u043c\u0443 \u044f \u043d\u0430\u0443\u0447\u0438\u043b\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043c\u0435\u043d\u044f \u043d\u0435 \u0432\u0437\u044f\u043b\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u043c \u0432 Google<\/a><\/li>\n<li><a href=\"https:\/\/tproger.ru\/news\/github-lets-workers-keep-the-ip\/\">GitHub \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0432\u043e\u0438\u043c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0437\u0430 \u0441\u043e\u0431\u043e\u0439 \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e \u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0432\u0440\u0435\u043c\u044f<\/a><\/li>\n<li><a href=\"https:\/\/tproger.ru\/articles\/whats-difference-between-licenses\/\">\u0412 \u0447\u0451\u043c \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 Open Source \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\u043c\u0438? \u041e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442 Github<\/a><\/li>\n<\/ul>\n<p>   <\/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:\/\/habrahabr.ru\/company\/zfort\/blog\/324330\/\">\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>.<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:\/\/habrahabr.ru\/post\/324888\/\"> https:\/\/habrahabr.ru\/post\/324888\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\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 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\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.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/fcc\/e54\/8f1\/fcce548f15cb4f94a40aa80b4f580da8.png\"\/><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-283928","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/283928","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=283928"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/283928\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=283928"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=283928"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=283928"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}