{"id":255549,"date":"2015-04-20T04:02:02","date_gmt":"2015-04-20T00:02:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=255549"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=255549","title":{"rendered":"\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0435\u0439 \u0434\u043b\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 #42"},"content":{"rendered":"<p>     \t\u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a, \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0445\u0430\u0431\u0440\u0430\u0432\u0447\u0430\u043d\u0435. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u0443\u0432\u0438\u0434\u0435\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432\/\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\/\u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0425\u0430\u0431\u0440\u043e\u043c. <\/p>\n<h4><a href=\"https:\/\/github.com\/feross\/webtorrent\">Webtorrent<\/a><\/h4>\n<p>  <a href=\"https:\/\/github.com\/feross\/webtorrent\"><img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/388\/aa4\/a84\/388aa4a84c2042a497fc3a877d09a8a0.jpg\"\/><\/a><br \/>  \u041f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0442\u043e\u0440\u0440\u0435\u043d\u0442 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f NodeJS \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432. \u0421\u0442\u0440\u0438\u043c\u043c\u0438\u043d\u0433 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f WebRTC (data chanels) \u0434\u043b\u044f P2P \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438. \u0410 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u00abIt&#8217;s Just JavaScript\u2122\u00bb, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0431\u0440\u0430\u043b \u0431\u043e\u043b\u0435\u0435 3000 \u0437\u0432\u0435\u0437\u0434 \u043d\u0430 GitHub \u0438 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u0443 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0442\u043e\u0440\u0440\u0435\u043d\u0442\u043e\u0432 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 magnet uri, peer discovery \u0438 protocol extension api, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f WebTorrent \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u0430\u0445, \u0441\u0442\u0440\u0438\u043c\u043c\u0438\u043d\u0433 \u0432\u0438\u0434\u0435\u043e \u0432 &lt;video&gt; \u0442\u0435\u0433 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 (webm (vp8, vp9) \u0438\u043b\u0438 mp4 (h.264)), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 AirPlay, Chromecast, VLC player \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.<\/p>\n<pre><code class=\"javascript\">var WebTorrent = require('webtorrent')  var client = new WebTorrent() var magnetUri = '...'  client.add(magnetUri, function (torrent) {   \/\/ Got torrent metadata!   console.log('Torrent info hash:', torrent.infoHash)    torrent.files.forEach(function (file) {     \/\/ Get a url for each file     file.getBlobURL(function (err, url) {       if (err) throw err        \/\/ Add a link to the page       var a = document.createElement('a')       a.download = file.name       a.href = url       a.textContent = 'Download ' + file.name       document.body.appendChild(a)     })   }) }) <\/code><\/pre>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h4><a href=\"https:\/\/github.com\/bevacqua\/dragula\">Dragula<\/a><\/h4>\n<p>  <a href=\"https:\/\/github.com\/bevacqua\/dragula\"><img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/928\/627\/942\/92862794294c44b2a05707db84768795.jpg\"\/><\/a><br \/>  \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0441\u0430\u043c\u044b\u0439 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Drag&#038;Drop \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. Dragula \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0442\u0440\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043e \u0432\u0441\u0435\u0445 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u0432\u043a\u043b\u044e\u0447\u0430\u044f IE7+. <\/p>\n<pre><code class=\"javascript\">dragula(containers, {   moves: function (el, container) {     return true;         \/\/ elements are always draggable by default   },   accepts: function (el, target, source, sibling) {     return true;         \/\/ elements can be dropped in any of the `containers` by default   },   direction: 'vertical', \/\/ Y axis is considered when determining where an element would be dropped   copy: false,           \/\/ elements are moved by default, not copied   revertOnSpill: false,  \/\/ spilling will put the element back where it was dragged from, if this is true   removeOnSpill: false   \/\/ spilling will `.remove` the element, if this is true }); <\/code><\/pre>\n<h4><a href=\"https:\/\/github.com\/stewdio\/beep.js\">Beep.js<\/a><\/h4>\n<p>  <a href=\"https:\/\/github.com\/stewdio\/beep.js\"><img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/975\/2e2\/8cd\/9752e28cd99644b4970e102fc72ae85a.jpg\"\/><\/a><br \/>  \u041e\u0447\u0435\u043d\u044c \u043d\u0435\u043e\u0440\u0434\u0438\u043d\u0430\u0440\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 HTML5 Audio API. \u0410 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0442\u043e \u0447\u0442\u043e \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u043c\u0435\u043b\u043e\u0434\u0438\u0438, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u043e\u0432. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e <b>synth = new Beep.Instrument()<\/b> \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u043c\u0435\u0435\u0442 \u0437\u0432\u0443\u043a\u0438 \u0438 \u043d\u043e\u0442\u044b. \u0410 \u0434\u0430\u043b\u044c\u0448\u0435 \u0434\u0435\u043b\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432. \u0412 \u043e\u0431\u0449\u0435\u043c \u044d\u0442\u043e \u0437\u0430\u043d\u044f\u0442\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0433\u043e JavaScript \u0434\u043e\u0441\u0443\u0433\u0430. <\/p>\n<h4><a href=\"https:\/\/github.com\/gopatrik\/space.js\">Space.js<\/a><\/h4>\n<p>  <a href=\"https:\/\/github.com\/gopatrik\/space.js\"><img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/d7c\/a9f\/753\/d7ca9f753af1479b9d3426a83e8be2e7.jpg\"\/><\/a><br \/>  Space.js \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u044d\u0444\u0444\u0435\u043a\u0442 3D \u0441\u043a\u0440\u043e\u043b\u043b\u0438\u043d\u0433\u0430 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b. \u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 10 \u0432\u0438\u0434\u043e\u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0439 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438. \u0414\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0441\u044e \u0432\u0435\u0440\u0441\u0442\u043a\u0443 \u043d\u0430 \u0431\u043b\u043e\u043a\u0438 \u0441 \u043a\u043b\u0430\u0441\u0441\u043e\u043c `.space-frame` \u0438 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u0442\u0430-\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u0445 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u0438. <\/p>\n<pre><code class=\"html\">&lt;div class=&quot;space-frame&quot; data-transition=&quot;rotate360&quot; data-duration=&quot;1.4&quot;&gt;     &lt;section class=&quot;space-inner-frame&quot;&gt;         [contents]     &lt;\/section&gt; &lt;\/div&gt; <\/code><\/pre>\n<h4><a href=\"https:\/\/github.com\/facebook\/react-native\">React Native<\/a><\/h4>\n<p>  \u0412 <a href=\"http:\/\/habrahabr.ru\/post\/251759\/\">40 \u0432\u044b\u043f\u0443\u0441\u043a\u0435<\/a> \u00ab\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0435\u0439\u00bb \u044f \u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e NativeScript \u2014 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0434 iOS, Android \u0438 Windows Phone \u043d\u0430 \u0441\u0442\u0435\u043a\u0435 \u0432\u0435\u0431 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439. \u041f\u0440\u0438\u0447\u0435\u043c \u044d\u0442\u043e \u0447\u0438\u0441\u0442\u044b\u0439 JavaScript API \u043f\u043e\u0432\u0435\u0440\u0445 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0438\u0437 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u041d\u043e \u044f \u043d\u0435 \u043c\u043e\u0433\u0443 \u043d\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0437\u0434\u0435\u0441\u044c React Native, \u0438\u0434\u0435\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043b\u0438\u0437 \u0443 \u043d\u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u043f\u043e\u0437\u0436\u0435 \u0438 \u044d\u0442\u043e \u0434\u0435\u0442\u0438\u0449\u0435 \u043e\u0442 Facebook, \u0447\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0435\u0434\u0440\u0435\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u044b.<\/p>\n<h4>\u0417\u0430\u043f\u0430\u0434\u043d\u044b\u0435 \u043c\u044b\u0441\u043b\u0438 \u0438\u043b\u0438 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u043b\u043e \u0431\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435:<\/h4>\n<p>  <\/p>\n<ul>\n<li><a href=\"http:\/\/rmurphey.com\/blog\/2015\/03\/23\/a-baseline-for-front-end-developers-2015\/\">A Baseline for Front-End [JS] Developers: 2015<\/a><\/li>\n<li><a href=\"http:\/\/cliffcrosland.tumblr.com\/post\/115981256393\/black-hole-js\">Black holes<\/a><\/li>\n<li><a href=\"http:\/\/tutorialzine.com\/2015\/03\/npm-driven-website\/\">Tutorial: Creating an NPM-driven Website<\/a><\/li>\n<li><a href=\"http:\/\/kukuruku.co\/hub\/programming\/do-not-learn-frameworks-learn-the-architecture\">Do Not Learn Frameworks. Learn the Architecture<\/a><\/li>\n<li><a href=\"http:\/\/timkadlec.com\/2015\/02\/client-side-templatings-major-bug\/\">Client-side MVC&#8217;s Major Bug<\/a><\/li>\n<li><a href=\"https:\/\/css-tricks.com\/weighing-svg-animation-techniques-benchmarks\/\">Weighing SVG Animation Techniques (with Benchmarks)<\/a><\/li>\n<li><a href=\"https:\/\/css-tricks.com\/cutting-inner-part-element-using-clip-path\/\">Cutting out the inner part of an element using clip-path<\/a><\/li>\n<li><a href=\"http:\/\/www.smashingmagazine.com\/2015\/04\/08\/web-scraping-with-nodejs\/\">Web Scraping With Node.js<\/a><\/li>\n<li><a href=\"https:\/\/medium.com\/@patrickbrosset\/do-you-really-understand-css-linear-gradients-631d9a895caf\">Do you really know CSS linear-gradients?<\/a><\/li>\n<li><a href=\"http:\/\/benfrain.com\/browser-representatives-on-css-performance\/\">Browser representatives on CSS performance<\/a><\/li>\n<li><a href=\"https:\/\/medium.com\/@operatino\/living-style-guide-tools-in-depth-overview-28cfffb92d05\">Living Style Guide Tools In-depth Overview<\/a><\/li>\n<li><a href=\"http:\/\/www.smashingmagazine.com\/2015\/04\/13\/an-in-depth-overview-of-living-style-guide-tools\/\">An In-Depth Overview Of Living Style Guide Tools<\/a><\/li>\n<li><a href=\"https:\/\/18f.gsa.gov\/2015\/03\/03\/how-to-use-github-and-the-terminal-a-guide\/\">How To Use GitHub and the Terminal: A Guide<\/a><\/li>\n<li><a href=\"http:\/\/www.smashingmagazine.com\/2015\/03\/16\/web-accessibility-with-accessibility-api\/\">Accessibility APIs: A Key To Web Accessibility<\/a><\/li>\n<li><a href=\"http:\/\/alistapart.com\/column\/readable-wearables\">Readable Wearables<\/a><\/li>\n<li><a href=\"https:\/\/medium.com\/lux-team\/responsive-navigation-for-73-languages-83eec588db28\">Responsive Navigation for 73+ Languages<\/a><\/li>\n<li><a href=\"http:\/\/alistapart.com\/article\/initiation-to-code\">Initiation to Code<\/a><\/li>\n<li><a href=\"http:\/\/alistapart.com\/article\/let-links-be-links\">Let Links Be Links<\/a><\/li>\n<\/ul>\n<h4>\u0413\u043e\u0432\u043e\u0440\u044f\u0442 \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043e\u0442\u0435\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u0418\u0422 \u0440\u0435\u0441\u0443\u0440\u0441\u044b:<\/h4>\n<p>  <\/p>\n<ul>\n<li><a href=\"http:\/\/frontender.info\/web-notifications-pubnub\/\">\u00ab\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043e\u0442\u043e\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 PubNub\u00bb<\/a><br \/>  <a href=\"http:\/\/frontender.info\/css-will-change-property\/#vsechtovamnuzhnoznatyocsssvoystvecodewillchangecode\">\u0412\u0441\u0435, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043e CSS-\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435 will-change<\/a> \u043e\u0442 Frontender.info.<\/li>\n<li><a href=\"http:\/\/css-live.ru\/articles-css\/razbiraemsya-s-border-image-iz-css3.html\">\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0441 border-image \u0438\u0437 CSS3<\/a><br \/>  <a href=\"http:\/\/css-live.ru\/articles\/effekty-s-neskolkimi-sloyami-pri-pomoshhi-konturov-obrezki-filtrov-i-rezhimov-nalozheniya-v-css.html\">\u00ab\u042d\u0444\u0444\u0435\u043a\u0442\u044b \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u043b\u043e\u044f\u043c\u0438 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043a\u043e\u043d\u0442\u0443\u0440\u043e\u0432 \u043e\u0431\u0440\u0435\u0437\u043a\u0438, \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 \u0438 \u0440\u0435\u0436\u0438\u043c\u043e\u0432 \u043d\u0430\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 CSS\u00bb<\/a> \u043e\u0442 CSS Live.<\/li>\n<li><a href=\"http:\/\/web-standards.ru\/articles\/stop-breaking-the-web\/\">\u00ab\u0425\u0432\u0430\u0442\u0438\u0442 \u0440\u0430\u0437\u0440\u0443\u0448\u0430\u0442\u044c \u0432\u0435\u0431\u00bb<\/a> \u043e\u0442 \u0412\u0435\u0431-\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u044b.<\/li>\n<li><a href=\"http:\/\/html5.by\/blog\/parallel-javascript-video\/\">\u00ab\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 JavaScript. Web Workers: \u043a\u0442\u043e \u043e\u043d\u0438 \u0442\u0430\u043a\u0438\u0435 \u0438 \u0447\u0435\u043c \u043f\u043e\u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u043c?\u00bb<\/a> \u043e\u0442 HTML5.by.<\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/company\/mailru\/blog\/255895\/\">\u00ab10 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043d\u0430 Node.js\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/zavalera\/\" class=\"user_link\">ZaValera<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/254585\/\">\u00ab205 \u0448\u043f\u0430\u0440\u0433\u0430\u043b\u043e\u043a \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/ivasoft\/\" class=\"user_link\">Ivasoft<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/company\/mailru\/blog\/255237\/\">\u00ab\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0431 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 \u0438 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u0432 PHP\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/alonecoder\/\" class=\"user_link\">AloneCoder<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/company\/mailru\/blog\/254727\/\">\u00ab\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 Tarantool \u043d\u0430 Python\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/shveenkov\/\" class=\"user_link\">shveenkov<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/255389\/\">\u00abExploring JavaScript Symbols. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/rise2semi\/\" class=\"user_link\">rise2semi<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/company\/pechkin\/blog\/255819\/\">\u00abHow-to: \u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0432\u0451\u0440\u0441\u0442\u043a\u0438 email-\u043f\u0438\u0441\u0435\u043c\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/lol_wat\/\" class=\"user_link\">lol_wat<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/company\/simpleweek\/blog\/254681\/\">\u00abIonic framework. \u041e\u0431\u0437\u043e\u0440 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/bornfree\/\" class=\"user_link\">borNfree<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/250581\/\">\u00abRefluxJS \u2014 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 Flux \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u043e\u0442 Facebook\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/fractalizer\/\" class=\"user_link\">FractalizeR<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/255833\/\">\u00ab\u041c\u043d\u043e\u0433\u043e\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0447\u0430\u0442 \u0441 \u0438c\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c WebRTC\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/saferif\/\" class=\"user_link\">saferif<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/company\/acronis\/blog\/249963\/\">\u00ab\u041f\u0438\u0448\u0435\u043c \u043a\u0440\u043e\u0441\u0441-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0432 Python\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/den-gts\/\" class=\"user_link\">den-gts<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/255565\/\">\u00abASN1js \u0438 PKIjs \u2014 \u0433\u043e\u0434 \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/ystr\/\" class=\"user_link\">ystr<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/post\/255073\/\">\u00ab\u0420\u0430\u0437\u0431\u043e\u0440 \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430: \u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043d\u043e\u0442\u0430\u0446\u0438\u044f\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/ababo\/\" class=\"user_link\">ababo<\/a><\/li>\n<li><a href=\"http:\/\/habrahabr.ru\/company\/mailru\/blog\/255633\/\">\u00ab\u041d\u0435\u043a\u0430\u043f\u0447\u0430 Mail.Ru \u2013 \u043a\u0430\u043f\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00bb<\/a> \u043e\u0442 <a href=\"http:\/\/habrahabr.ru\/users\/man0xff\/\" class=\"user_link\">man0xff<\/a><\/li>\n<\/ul>\n<h4>\u041d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a:<\/h4>\n<p>  <\/p>\n<ul>\n<li><b>HTML\/CSS<\/b>\n<ul>\n<li><a href=\"https:\/\/github.com\/tsx\/shireframe\">Shireframe<\/a> \u2014 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0432\u0435\u0440\u0441\u0442\u043a\u0438 \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f\u043e\u0432, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0432\u0435\u0431-\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u0445.<\/li>\n<li><a href=\"http:\/\/dev.w3.org\/csswg\/css-egg\/\">CSS Expressive Generalizations and Gadgetry Level 1<\/a>.<\/li>\n<li><a href=\"http:\/\/ipestov.com\/codepen-collector-2\/\">CodePen Collector #2<\/a><\/li>\n<\/ul>\n<\/li>\n<li><b>JavaScript<\/b>\n<ul>\n<li><a href=\"https:\/\/github.com\/spoike\/refluxjs\">Reflux<\/a> \u2014 \u0434\u043e\u0441\u0442\u043e\u0439\u043d\u0430\u044f \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0430 Flux \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435.<\/li>\n<li><a href=\"https:\/\/github.com\/ecomfe\/fontmin\">Fontmin.js<\/a> \u2014 \u043c\u0438\u043d\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0448\u0440\u0438\u0444\u0442\u043e\u0432.<\/li>\n<li><a href=\"https:\/\/github.com\/VodkaBears\/Interdimensional\">Interdimensional<\/a> \u2014 \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043a\u0440\u043e\u043b\u043b\u0438\u043d\u0433\u0430.<\/li>\n<li><a href=\"https:\/\/github.com\/rc0x03\/node-osmosis\">Osmosis<\/a> \u2014 \u0432\u0435\u0431-\u043f\u0430\u0440\u0441\u0435\u0440 \u0434\u043b\u044f Node.js.<\/li>\n<li><a href=\"https:\/\/github.com\/box\/t3js\">T3.js<\/a> \u2014 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0432\u0437\u043e\u0440\u0432\u0430\u0432\u0448\u0438\u0439 GitHub.<\/li>\n<li><a href=\"https:\/\/github.com\/timjacobi\/angular2-education\">angular2-education<\/a> \u2014 \u0436\u0438\u0432\u043e\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f Angular.<\/li>\n<li><a href=\"https:\/\/github.com\/caspervonb\/amok\">Amok<\/a> \u2014 \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 JavaScript.<\/li>\n<\/ul>\n<\/li>\n<li><b>PHP<\/b>\n<ul>\n<li><a href=\"https:\/\/github.com\/laravel\/lumen\">Lumen<\/a> \u2014 \u043c\u0438\u043a\u0440\u043e\u0439\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b Laravel.<\/li>\n<li><a href=\"https:\/\/github.com\/indeyets\/pake\">Pake<\/a> \u2014 \u043a\u0430\u043a make, \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f PHP.<\/li>\n<\/ul>\n<\/li>\n<li><b>Python<\/b>\n<ul>\n<li><a href=\"https:\/\/github.com\/getsentry\/freight\">Freight<\/a> \u2014 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u0434\u0435\u043f\u043b\u043e\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/li>\n<li><a href=\"https:\/\/github.com\/rusthon\/Rusthon\">Rusthon<\/a> \u2014 multi-lang transpiler, compiler frontend.<\/li>\n<li><a href=\"https:\/\/github.com\/nvbn\/thefuck\">Thefuck<\/a> \u2014 \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u043e\u0439.<\/li>\n<\/ul>\n<\/li>\n<li><b>Ruby<\/b>\n<ul>\n<li><a href=\"https:\/\/github.com\/gogotanaka\/Rubype\">Rubype<\/a> \u2013 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0433\u0435\u043c \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u0430\u043a\u0442\u043e\u0432.<\/li>\n<li><a href=\"http:\/\/codingwithaxe.com\/5-less-used-enumerators-of-ruby\/\">\u041a\u043b\u0430\u0441\u0441\u043d\u0430\u044f \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430<\/a> \u2014 \u043c\u0430\u043b\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u044b\u0445, \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f\u043c\u0438.<\/li>\n<li><a href=\"http:\/\/www.justinweiss.com\/blog\/2015\/04\/06\/how-to-debug-ruby-performance-problems-in-production\">\u041a\u0430\u043a \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0435<\/a>.<\/li>\n<li><a href=\"http:\/\/blog.codeship.com\/websockets-in-rails-4\/\">\u0412\u0435\u0431\u0441\u043e\u043a\u0435\u0442\u044b \u043d\u0430 rails4 \u0431\u0435\u0437 event machine<\/a>.<\/li>\n<li><a href=\"http:\/\/ruboto.org\/news\/2015\/04\/05\/Ruboto-1.3.0\">Ruboto 1.3.0<\/a> \u2013 \u0440\u0435\u043b\u0438\u0437 Ruby \u0434\u043b\u044f Android.<\/li>\n<li><a href=\"https:\/\/github.com\/yandex-money\/yandex-money-sdk-ruby\">SDK \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u042f\u043d\u0434\u0435\u043a\u0441.\u0414\u0435\u043d\u044c\u0433\u0430\u043c\u0438<\/a>.<\/li>\n<\/ul>\n<\/li>\n<li><b>Go<\/b>\n<ul>\n<li><a href=\"https:\/\/github.com\/labstack\/echo\">Echo<\/a> \u2014 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 HTTP \u0440\u043e\u0443\u0442\u0435\u0440 \u0438 \u043c\u0438\u043a\u0440\u043e\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a.<\/li>\n<li><a href=\"https:\/\/github.com\/joewalnes\/websocketd\">Websocketd<\/a> \u2014 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 STDIN\/STDOUT \u0432 WebSocket \u0441\u0435\u0440\u0432\u0435\u0440.<\/li>\n<li><a href=\"https:\/\/github.com\/anacrolix\/torrent\">Torrent<\/a> \u2014 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 BitTorrent \u043a\u043b\u0438\u0435\u043d\u0442.<\/li>\n<li><a href=\"https:\/\/github.com\/go-authboss\/authboss\">Authboss<\/a> \u2014 The boss of http auth.<\/li>\n<li><a href=\"https:\/\/github.com\/gopherjs\/gopherjs\">Gopherjs<\/a> \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0438\u0437 Go \u0432 JavaScript.<\/li>\n<\/ul>\n<\/li>\n<li><b>\u0420\u0430\u0437\u043d\u043e\u0435<\/b>\n<ul>\n<li><a href=\"https:\/\/regex101.com\/\">Regex101<\/a> \u2014 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439.<br \/>   <a href=\"https:\/\/regex101.com\/\"><img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/167\/1f0\/8ba\/1671f08ba3694606989a9a710990eb2c.jpg\"\/><\/a>   <\/li>\n<li><a href=\"https:\/\/github.com\/agis-\/git-style-guide\">Git Style Guide<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/caesar0301\/awesome-public-datasets\">Awesome Public Datasets<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/bevacqua\/hit-that\">Hit That<\/a> \u2014 \u043e\u0442\u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0432\u0430\u0435\u0442 \u0441\u0430\u0439\u0442\u044b \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435.<\/li>\n<li><a href=\"http:\/\/jadengeller.github.io\/Helium\/\">Helium<\/a> \u2014 \u043a\u0440\u043e\u0448\u0435\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Mac, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u044f\u0435\u0442 \u043e\u043a\u043d\u043e \u0441 \u0441\u0430\u0439\u0442\u043e\u043c \u043f\u043e\u0432\u0435\u0440\u0445 \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u043a\u043e\u043d.<\/li>\n<li><a href=\"http:\/\/adaptermuseum.com\/\">\u041c\u0443\u0437\u0435\u0439 \u0430\u0434\u0430\u043f\u0442\u0435\u0440\u043e\u0432<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>  \u0417\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0432 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0432\u044b\u0440\u0430\u0436\u0430\u044e \u043e\u0433\u0440\u043e\u043c\u043d\u0443\u044e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u043d\u043e\u0441\u0442\u044c \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440\u0443 \u041c\u0430\u0441\u043b\u043e\u0432\u0443  <a href=\"http:\/\/habrahabr.ru\/users\/drakmail\/\" class=\"user_link\">drakmail<\/a>.<\/p>\n<p>  \u0414\u0440\u0443\u0437\u044c\u044f \u0431\u044d\u043a\u0435\u043d\u0434\u0435\u0440\u044b! \u042f \u0434\u0443\u043c\u0430\u044e \u0432\u0441\u0435\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0441\u0432\u043e\u0438 \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0438 \u044f \u0434\u0435\u043b\u0430\u044e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430 \u0430\u043b\u044c\u0442\u0440\u0443\u0438\u0437\u043c\u0435. \u042f \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0448\u0430\u0440\u0438\u0432\u0430\u043b \u043a\u0443\u0447\u0443 \u0441\u0430\u0439\u0442\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043c\u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0431\u044b\u043b\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0410 \u0432 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u044f \u0440\u0435\u0448\u0438\u043b \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c. \u0421\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0438 \u043e\u0431\u0440\u0435\u043b\u0438 \u043d\u0435\u043a\u0443\u044e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c \u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u043b\u0438\u0441\u044c \u0432 \u043f\u043b\u0430\u043d\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f. \u041e\u0442\u043d\u044b\u043d\u0435 \u044f \u0431\u0443\u0434\u0443 \u0447\u0435\u0442\u043a\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a \u00ab\u041d\u0430\u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a\u00bb, \u0434\u0430\u0431\u044b \u043b\u044e\u0434\u044f\u043c \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u0441\u043a\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435. \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u044b \u043d\u0435 \u0431\u044b\u043b\u0438 \u0433\u043e\u043b\u044b\u043c\u0438 \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439, \u043c\u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0430\u0448\u0430 \u043f\u043e\u043c\u043e\u0449\u044c. \u0418 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u0438 \u0432 \u043a\u043e\u043c\u043f\u0435\u0442\u0435\u043d\u0446\u0438\u0438. \u0412 \u043f\u043b\u0430\u043d\u0435 \u0431\u044d\u043a\u0435\u043d\u0434\u0430 \u044f \u0441\u043a\u043e\u0440\u0435\u0435 \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u043a, \u0447\u0435\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u043a.<\/p>\n<p>  \u041f\u0445\u043f\u0448\u043d\u0438\u043a, <s>\u0440\u0443\u0431\u0438\u0441\u0442<\/s>, \u043f\u0438\u0442\u043e\u043d\u0438\u0441\u0442, <s>\u0433\u043e\u0443\u0449\u0438\u043a<\/s>, \u0435\u0441\u043b\u0438 \u0442\u044b \u0443\u0436\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0448\u044c GitHub Trending, Reddit, HackerNews \u0438\u043b\u0438 Twitter \u0432 \u043f\u043e\u0438\u0441\u043a\u0430\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0441\u0442\u0435\u0439 \u043f\u043e \u0441\u0432\u043e\u0435\u0439 \u0442\u0435\u043c\u0435, \u0435\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e \u0438\u043c\u0435\u0435\u0442 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u043d\u043e \u043d\u0435 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0446\u0435\u043b\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430, \u0435\u0441\u043b\u0438 \u0442\u0435\u0431\u0435 \u043d\u0435 \u0442\u0440\u0443\u0434\u043d\u043e \u0440\u0430\u0437 \u0432 \u043d\u0435\u0434\u0435\u043b\u044e\/\u0432 \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043f\u0430\u0440\u043e\u0439 \u043a\u0438\u043b\u043e\u0431\u0430\u0439\u0442 \u0441\u0441\u044b\u043b\u043e\u0447\u043d\u043e\u0439 \u043c\u0430\u0441\u0441\u044b, \u0442\u043e \u043d\u0430\u043f\u0438\u0448\u0438 \u043c\u043d\u0435 \u0432 \u043b\u0438\u0447\u043a\u0443 \u0438\u043b\u0438 \u043b\u044e\u0431\u0443\u044e \u0441\u043e\u0446. \u0441\u0435\u0442\u044c \u0438\u0437 \u043f\u0440\u043e\u0444\u0438\u043b\u044f. \u041f\u0438\u0441\u0430\u043d\u0438\u043d\u0430 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044e. \u0418\u043c\u044f \u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u0432\u043e\u043b\u043e\u043d\u0442\u0435\u0440\u043e\u0432 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043e\u0441\u0442\u0443 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0443\u0442 \u0443\u043a\u0430\u0437\u0430\u043d\u044b.<\/p>\n<p>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"http:\/\/habrahabr.ru\/post\/254327\/\"><b>\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430 (\u0412\u044b\u043f\u0443\u0441\u043a 41)<\/b><\/a><\/p>\n<p>  \u041f\u0440\u0438\u043d\u043e\u0448\u0443 \u0438\u0437\u0432\u0438\u043d\u0435\u043d\u0438\u044f \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043e\u043f\u0435\u0447\u0430\u0442\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.<\/p>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<div class=\"polling\">\n<form action=\"\/json\/polling\/\" class=\"poll\" method=\"post\">\n<div class=\"poll_title\">\u041f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u043b\u0438 \u0412\u0430\u043c \u043f\u043e\u0434\u0431\u043e\u0440\u043a\u0430?<\/div>\n<p>  \t\t<input type=\"hidden\" name=\"post_id\" value=\"256117\"\/> \t\t<input type=\"hidden\" name=\"polling_question_id\" value=\"13461\"\/>  \t\t<\/p>\n<table class=\"answer\">\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv66479\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"66479\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv66479\">\u0414\u0430<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv66481\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"66481\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv66481\">\u041d\u0435\u0442<\/label> \t\t\t\t<\/td>\n<\/tr>\n<\/table>\n<p class=\"total\">\u041f\u0440\u043e\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b 1 \u0447\u0435\u043b\u043e\u0432\u0435\u043a. \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442.<\/p>\n<\/p><\/form>\n<p class=\"for_users_only_msg\">\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a href=\"https:\/\/habrahabr.ru\/auth\/login\/\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/p>\n<\/p><\/div>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/256117\/\"> http:\/\/habrahabr.ru\/post\/256117\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t\u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441\u0443\u0442\u043e\u043a, \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0445\u0430\u0431\u0440\u0430\u0432\u0447\u0430\u043d\u0435. \u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u044f \u0443\u0432\u0438\u0434\u0435\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432\/\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\/\u0441\u043e\u0431\u044b\u0442\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0425\u0430\u0431\u0440\u043e\u043c. <\/p>\n<h4><a href=\"https:\/\/github.com\/feross\/webtorrent\">Webtorrent<\/a><\/h4>\n<p>  <a href=\"https:\/\/github.com\/feross\/webtorrent\"><img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/388\/aa4\/a84\/388aa4a84c2042a497fc3a877d09a8a0.jpg\"\/><\/a><br \/>  \u041f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u0442\u043e\u0440\u0440\u0435\u043d\u0442 \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f NodeJS \u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432. \u0421\u0442\u0440\u0438\u043c\u043c\u0438\u043d\u0433 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f WebRTC (data chanels) \u0434\u043b\u044f P2P \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438. \u0410 \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u00abIt&#8217;s Just JavaScript\u2122\u00bb, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u044b \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u0438\u043b\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0431\u0440\u0430\u043b \u0431\u043e\u043b\u0435\u0435 3000 \u0437\u0432\u0435\u0437\u0434 \u043d\u0430 GitHub \u0438 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u0443 \u043f\u043e\u0442\u043e\u043a\u043e\u0432\u0443\u044e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0442\u043e\u0440\u0440\u0435\u043d\u0442\u043e\u0432 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 magnet uri, peer discovery \u0438 protocol extension api, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f WebTorrent \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u0434\u043e\u043c\u0435\u043d\u0430\u0445, \u0441\u0442\u0440\u0438\u043c\u043c\u0438\u043d\u0433 \u0432\u0438\u0434\u0435\u043e \u0432 &lt;video&gt; \u0442\u0435\u0433 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 (webm (vp8, vp9) \u0438\u043b\u0438 mp4 (h.264)), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 AirPlay, Chromecast, VLC player \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.<\/p>\n<pre><code class=\"javascript\">var WebTorrent = require('webtorrent')  var client = new WebTorrent() var magnetUri = '...'  client.add(magnetUri, function (torrent) {   \/\/ Got torrent metadata!   console.log('Torrent info hash:', torrent.infoHash)    torrent.files.forEach(function (file) {     \/\/ Get a url for each file     file.getBlobURL(function (err, url) {       if (err) throw err        \/\/ Add a link to the page       var a = document.createElement('a')       a.download = file.name       a.href = url       a.textContent = 'Download ' + file.name       document.body.appendChild(a)     })   }) }) <\/code><\/pre>\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-255549","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/255549","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=255549"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/255549\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=255549"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=255549"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=255549"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}