{"pageContext":{"index":18,"total":364,"name":"2019-09-08","items":[{"node":{"frontmatter":{"title":"Ackee-网站统计工具","publish":true,"cover":"https://camo.githubusercontent.com/1be229eeb4fa5ca8c852dcdbb777b329ab771cb4/68747470733a2f2f732e656c6563746572696f75732e636f6d2f696d616765732f61636b65652f726561646d652e706e67","showCover":true,"date":"2019-09-05","category":"nodejs","url":"https://github.com/electerious/Ackee","author":"Tobias Reich 编辑 Ka","translator":"","tags":["anaysis"],"priority":1},"html":"<p>不想使用google统计？想用自己的统计工具，Ackee就是开源的网站统计工具。</p>\n<p>需要mongodb。</p>"}},{"node":{"frontmatter":{"title":"Array.from 使用","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"javascript","url":"https://dmitripavlutin.com/javascript-array-from-applications/","author":"Dmitri Pavlutin 编辑 Ka","translator":"","tags":["array"],"priority":1},"html":"<h2 id=\"将类数组结构转换为数组\"><a href=\"#%E5%B0%86%E7%B1%BB%E6%95%B0%E7%BB%84%E7%BB%93%E6%9E%84%E8%BD%AC%E6%8D%A2%E4%B8%BA%E6%95%B0%E7%BB%84\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>将类数组结构转换为数组</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">Array<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span><span class=\"token string\">'Hey'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => ['H', 'e', 'y']</span>\nArray<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token class-name\">Set</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span><span class=\"token string\">'one'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'two'</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => ['one', 'two']</span>\n\n<span class=\"token keyword\">const</span> map <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Map</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nmap<span class=\"token punctuation\">.</span><span class=\"token keyword\">set</span><span class=\"token punctuation\">(</span><span class=\"token string\">'one'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nmap<span class=\"token punctuation\">.</span><span class=\"token keyword\">set</span><span class=\"token punctuation\">(</span><span class=\"token string\">'two'</span><span class=\"token punctuation\">,</span> <span class=\"token number\">2</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\nArray<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span>map<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [['one', 1], ['two', 2]]</span></code></pre></div>\n<h2 id=\"浅克隆\"><a href=\"#%E6%B5%85%E5%85%8B%E9%9A%86\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>浅克隆</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> numbers <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span><span class=\"token number\">3</span><span class=\"token punctuation\">,</span> <span class=\"token number\">6</span><span class=\"token punctuation\">,</span> <span class=\"token number\">9</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> numbersCopy <span class=\"token operator\">=</span> Array<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span>numbers<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nnumbers <span class=\"token operator\">===</span> numbersCopy<span class=\"token punctuation\">;</span> <span class=\"token comment\">// => false</span></code></pre></div>\n<h2 id=\"做-arrayfill-类似的事情\"><a href=\"#%E5%81%9A-arrayfill-%E7%B1%BB%E4%BC%BC%E7%9A%84%E4%BA%8B%E6%83%85\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>做 Array.fill 类似的事情</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> length <span class=\"token operator\">=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> init <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> result <span class=\"token operator\">=</span> Array<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> length <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> init<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nresult<span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [0, 0, 0]</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> length <span class=\"token operator\">=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> init <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> result <span class=\"token operator\">=</span> <span class=\"token function\">Array</span><span class=\"token punctuation\">(</span>length<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">fill</span><span class=\"token punctuation\">(</span>init<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token function\">fillArray2</span><span class=\"token punctuation\">(</span><span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [0, 0, 0]</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> length <span class=\"token operator\">=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> resultA <span class=\"token operator\">=</span> Array<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> length <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> resultB <span class=\"token operator\">=</span> <span class=\"token function\">Array</span><span class=\"token punctuation\">(</span>length<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">fill</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nresultA<span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [{}, {}, {}]</span>\nresultB<span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [{}, {}, {}]</span>\n\n<span class=\"token comment\">// 注意这里,fill使用的相同的对象填充</span>\nresultA<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">===</span> resultA<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => false</span>\nresultB<span class=\"token punctuation\">[</span><span class=\"token number\">0</span><span class=\"token punctuation\">]</span> <span class=\"token operator\">===</span> resultB<span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => true</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">// map则不能达到相同效果,map会忽略Array(length)创建的empty slots</span>\n<span class=\"token keyword\">const</span> length <span class=\"token operator\">=</span> <span class=\"token number\">3</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> init <span class=\"token operator\">=</span> <span class=\"token number\">0</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> result <span class=\"token operator\">=</span> <span class=\"token function\">Array</span><span class=\"token punctuation\">(</span>length<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">map</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> init<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\nresult<span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [undefined, undefined, undefined]</span></code></pre></div>\n<h2 id=\"填充范围数字\"><a href=\"#%E5%A1%AB%E5%85%85%E8%8C%83%E5%9B%B4%E6%95%B0%E5%AD%97\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>填充范围数字</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">range</span><span class=\"token punctuation\">(</span>end<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> Array<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span> length<span class=\"token punctuation\">:</span> end <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">(</span>_<span class=\"token punctuation\">,</span> index<span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> index<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token function\">range</span><span class=\"token punctuation\">(</span><span class=\"token number\">4</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [0, 1, 2, 3]</span></code></pre></div>\n<h2 id=\"使数组元素唯一\"><a href=\"#%E4%BD%BF%E6%95%B0%E7%BB%84%E5%85%83%E7%B4%A0%E5%94%AF%E4%B8%80\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>使数组元素唯一</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">unique</span><span class=\"token punctuation\">(</span>array<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> Array<span class=\"token punctuation\">.</span><span class=\"token keyword\">from</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">new</span> <span class=\"token class-name\">Set</span><span class=\"token punctuation\">(</span>array<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token function\">unique</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">[</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token number\">3</span><span class=\"token punctuation\">,</span> <span class=\"token number\">3</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// => [1, 2, 3]</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"Reactive Search 3.0查找UI组件","publish":true,"cover":"https://camo.githubusercontent.com/8129bd5de46717ae2ea72ee16329dbab556496f8/68747470733a2f2f692e696d6775722e636f6d2f624a31514b5a532e706e67","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://www.bennadel.com/blog/3693-anchor-tags-can-contain-block-level-elements-as-of-html5.htm","author":"appbase.io","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://opensource.appbase.io/reactivesearch/demos/airbeds/\">在线demo</a></p>"}},{"node":{"frontmatter":{"title":"camaro-xml转json","publish":true,"cover":"https://github.com/tuananh/camaro/raw/develop/intro.png","showCover":true,"date":"2019-09-05","category":"nodejs","url":"https://github.com/tuananh/camaro","author":"Tuan Anh Tran 编辑 Ka","translator":"","tags":["xml"],"priority":1},"html":"<p>v4使用WebAssembly,性能依然快，但是比v3要慢，作者正在改进。</p>"}},{"node":{"frontmatter":{"title":"google使用typescript反应very good","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"javascript","url":"https://github.com/microsoft/TypeScript/issues/33272","author":"Evan Martin@google","translator":"","tags":["typescript"],"priority":1},"html":"<p>主要反馈的问题是泛型相关的。</p>"}},{"node":{"frontmatter":{"title":"cytoscape.js-图论展示工具","publish":true,"cover":"https://raw.githubusercontent.com/cytoscape/cytoscape.js/unstable/documentation/img/cytoscape-logo.png","showCover":true,"date":"2019-09-05","category":"nodejs","url":"https://github.com/cytoscape/cytoscape.js","author":"cytoscape","translator":"","tags":["xml"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"hashids-将数字转换为uniqueid","publish":true,"cover":"https://camo.githubusercontent.com/d9ac39c754c40fae6d66696037c3a33540c2bd09/687474703a2f2f686173686964732e6f72672f7075626c69632f696d672f686173686964732e676966","showCover":true,"date":"2019-09-05","category":"nodejs","url":"https://github.com/niieani/hashids.js","author":"Bazyli Brzóska","translator":"","tags":["hash"],"priority":1},"html":"<p>可逆的将数字转为字符串，支持加盐，支持自定义字符集，支持hex</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> hashids <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">Hashids</span><span class=\"token punctuation\">(</span><span class=\"token string\">''</span><span class=\"token punctuation\">,</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'abcdefghijklmnopqrstuvwxyz'</span><span class=\"token punctuation\">)</span> <span class=\"token comment\">// 全部小字母</span>\nconsole<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>hashids<span class=\"token punctuation\">.</span><span class=\"token function\">encode</span><span class=\"token punctuation\">(</span><span class=\"token number\">1</span><span class=\"token punctuation\">,</span> <span class=\"token number\">2</span><span class=\"token punctuation\">,</span> <span class=\"token number\">3</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span> <span class=\"token comment\">// mdfphx</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"html draggable API 教程","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://alligator.io/js/drag-and-drop-vanilla-js/","author":"Jess Mitchell","translator":"","tags":["draggable"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"html5的a标记可以有条件包含块元素","publish":true,"cover":"https://www.bennadel.com/resources/uploads/2019/anchor-tag-contains-block-elements-html5.png","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://www.bennadel.com/blog/3693-anchor-tags-can-contain-block-level-elements-as-of-html5.htm","author":"Ben Nadel","translator":"","tags":["html"],"priority":1},"html":"<p>html5里，a标记可以包含块元素，前提是，a的父元素也是块元素。</p>"}},{"node":{"frontmatter":{"title":"mongo4.2移除SSL默认TLS","publish":true,"cover":"","showCover":true,"date":"2019-09-06","category":"database","url":"https://www.mongodb.com/blog/post/going-in-mongodb-42","author":"Dj Walker-Morgan","translator":"","tags":["mongodb"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-day-picker react日历组件","publish":true,"cover":"https://user-images.githubusercontent.com/120693/33363979-cb60fb5a-d4e2-11e7-8d21-f4779b8b9105.png","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://github.com/gpbl/react-day-picker","author":"Giampaolo Bellavite","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"http://react-day-picker.js.org/examples/selected-range\">demo</a></p>"}},{"node":{"frontmatter":{"title":"react-navigation  React Native导航组件4.0发布","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://github.com/react-navigation/react-navigation","author":"React Navigation","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"spacetime-无依赖功能强大的时区操作库","publish":true,"cover":"https://user-images.githubusercontent.com/399657/50862221-1d904a00-1369-11e9-891c-5f4e9fbb9ec0.gif","showCover":true,"date":"2019-09-05","category":"nodejs","url":"https://github.com/spencermountain/spacetime","author":"spencer kelly","translator":"","tags":["timezone"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"transform: rotate让你的光标旋转起来","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://css-tricks.com/can-you-rotate-the-cursor-in-css/","author":"Chris Coyier","translator":"","tags":["css"],"priority":1},"html":"<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">.cursor</span> <span class=\"token punctuation\">{</span>\n    <span class=\"token property\">--r</span><span class=\"token punctuation\">:</span> 0deg<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">position</span><span class=\"token punctuation\">:</span> fixed<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">left</span><span class=\"token punctuation\">:</span> -8px<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">top</span><span class=\"token punctuation\">:</span> -6px<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">pointer-events</span><span class=\"token punctuation\">:</span> none<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">user-select</span><span class=\"token punctuation\">:</span> none<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">display</span><span class=\"token punctuation\">:</span> none<span class=\"token punctuation\">;</span>\n    <span class=\"token property\">transform</span><span class=\"token punctuation\">:</span> <span class=\"token function\">translate</span><span class=\"token punctuation\">(</span><span class=\"token function\">var</span><span class=\"token punctuation\">(</span>--x<span class=\"token punctuation\">)</span>, <span class=\"token function\">var</span><span class=\"token punctuation\">(</span>--y<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token property\">filter</span><span class=\"token punctuation\">:</span> <span class=\"token function\">drop-shadow</span><span class=\"token punctuation\">(</span>0 1px 1px <span class=\"token function\">rgba</span><span class=\"token punctuation\">(</span>0, 0, 0, .4<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token selector\">;\n    svg</span> <span class=\"token punctuation\">{</span>\n        <span class=\"token property\">display</span><span class=\"token punctuation\">:</span> block<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">width</span><span class=\"token punctuation\">:</span> 28px<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">height</span><span class=\"token punctuation\">:</span> 28px<span class=\"token punctuation\">;</span>\n        <span class=\"token property\">transform</span><span class=\"token punctuation\">:</span> <span class=\"token function\">rotate</span><span class=\"token punctuation\">(</span><span class=\"token function\">var</span><span class=\"token punctuation\">(</span>--r<span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span>\n<span class=\"token punctuation\">}</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"unity随机贴图tiles","publish":true,"cover":"","showCover":true,"date":"2019-09-01","category":"game","url":"https://preview.redd.it/x7uewzliptj31.gif?format=mp4&s=b582adec31151aaf0422323dbf97d0f6a0034096","author":"Lethandralis","translator":"","tags":["unity"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"vue-treeselect 支持多选的树组件","publish":true,"cover":"https://raw.githubusercontent.com/riophae/vue-treeselect/master/screenshot.png","showCover":true,"date":"2019-09-07","category":"frontend","url":"https://github.com/riophae/vue-treeselect","author":"Fangzhou Li","translator":"","tags":["tree"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"x3dom-x3d标准的javascript实现展示3d模型","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://blog.scottlogic.com/2019/08/27/declarative-3d-for-the-modern-web.html","author":"Adrian Sureshkumar","translator":"","tags":["3d"],"priority":1},"html":"<p><a href=\"https://www.web3d.org/x3d\">x3d</a>是ISO标准，<a href=\"https://www.x3dom.org/\">x3dom</a>是其实现。</p>\n<p><a href=\"https://blog.scottlogic.com/asureshkumar/assets/2019-08-27-declarative-3d-for-the-modern-web/sphere-x3dom.html\">球体的示例</a></p>"}},{"node":{"frontmatter":{"title":"三星宣布推出符合行业标准的key-value SSD原型","publish":true,"cover":"http://www.cntronics.com/editorfiles/20190906110927_5303.jpg","showCover":true,"date":"2019-09-07","category":"database","url":"http://ep.cntronics.com/guide/4590/4623","author":"wenwei@cntronics","translator":"","tags":["storage"],"priority":2},"html":"<p>今年早些时候，存储网络行业协会（SNIA）的 Object Drives 工作组发布了 Key Value Storage API 规范 1.0 版。今天三星推出一款 key-value SSD 原型以兼容这个用于密钥存储设备的行业标准。</p>"}},{"node":{"frontmatter":{"title":"typescript里使用void","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"javascript","url":"https://fettblog.eu/void-in-javascript-and-typescript/","author":"@ddprrt","translator":"","tags":["typescript"],"priority":1},"html":"<p>基本上和 undefined 一样，主要区别\nvoid 作为返回类型可指代任何类型，而 undefined 则不行。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">doSomething</span><span class=\"token punctuation\">(</span>callback<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token keyword\">void</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">let</span> c <span class=\"token operator\">=</span> <span class=\"token function\">callback</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// c =2</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token comment\">// 返回number的函数</span>\n<span class=\"token keyword\">function</span> <span class=\"token function\">aNumberCallback</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span> number <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> <span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token comment\">// 可以</span>\n<span class=\"token function\">doSomething</span><span class=\"token punctuation\">(</span>aNumberCallback<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">function</span> <span class=\"token function\">doSomething</span><span class=\"token punctuation\">(</span>callback<span class=\"token punctuation\">:</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> undefined<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token comment\">/* ... */</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token keyword\">function</span> <span class=\"token function\">aNumberCallback</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">:</span> number <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">return</span> <span class=\"token number\">2</span><span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span>\n\n<span class=\"token comment\">// 错误,必须是返回undefined</span>\n<span class=\"token function\">doSomething</span><span class=\"token punctuation\">(</span>aNumberCallback<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"tui.grid又一个漂亮的表格组件(韩国人开发)","publish":true,"cover":"https://user-images.githubusercontent.com/18183560/42144044-de298b02-7df3-11e8-8bbd-dc824ae0df52.png","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://github.com/nhn/tui.grid","author":"NHN nhn","translator":"","tags":["grid"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"使用Puppeteer抓取页面dark模式","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://www.bram.us/2019/09/04/take-both-light-and-dark-mode-screenshots-with-puppeteer/","author":"Bram.us","translator":"","tags":["Puppeteer"],"priority":1},"html":"<p>需要运行脚本的机器开启dark模式。</p>\n<p><code class=\"language-text\">npx dark-mode-screenshot --url https://googlechromelabs.github.io/dark-mode-toggle/demo/index.html --output screenshot --fullPage</code></p>"}},{"node":{"frontmatter":{"title":"再来尝试一下AI预测股票","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"python","url":"https://medium.com/@frank.ceballos/stock-market-trends-b24203484e0f","author":"Frank Ceballos 编辑 Ka","translator":"","tags":["stock"],"priority":1},"html":"<p><a href=\"https://github.com/frank-ceballos/Stock-Market-Trends\">源码</a> </p>\n<blockquote>\n<p>看过很多这样的预测股票的文章，都有源码，而且大部分最后有简历地址😂。老编不禁好奇？真赚钱的话，为啥不闷声发大财？</p>\n</blockquote>"}},{"node":{"frontmatter":{"title":"好玩的-在线游戏编辑器","publish":true,"cover":"https://bitmelo.com/aa1c490f05cb1c1e96012cf143791535.png","showCover":true,"date":"2019-09-07","category":"javascript","url":"https://github.com/byersdz/bitmelo-editor","author":"David Byers","translator":"","tags":["game"],"priority":1},"html":"<p><a href=\"https://bitmelo.com/\">在线 demo</a></p>"}},{"node":{"frontmatter":{"title":"博士研究生文章-自制混淆器","publish":true,"cover":"","showCover":true,"date":"2019-09-07","category":"javascript","url":"https://antoinevastel.com/javascript/2019/09/04/home-made-obfuscator.html","author":"PhD student - Antoine Vastel","translator":"","tags":["obfuscator"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"游戏-飞翔的鸡蛋(Aero Egg)","publish":true,"cover":"https://blog.kazge.com/assets/volitantegg-show.gif","showCover":true,"date":"2019-06-12","category":"game","url":"https://blog.kazge.com/show/volitantegg/%E9%A3%9E%E7%BF%94%E7%9A%84%E9%B8%A1%E8%9B%8B.apk","author":"广告","translator":"","tags":["ads"],"priority":1},"html":"<p><a href=\"https://itunes.apple.com/us/app/volitant-egg-ads-version/id1247264387?mt=8\">APP Store(非国内账户可下载)</a>\n<a href=\"https://blog.kazge.com/show/volitantegg/%E9%A3%9E%E7%BF%94%E7%9A%84%E9%B8%A1%E8%9B%8B.apk\">安卓 - 中文</a></p>"}},{"node":{"frontmatter":{"title":"想让你的文章出现在这里？","publish":true,"cover":"","showCover":true,"date":"2019-07-08","category":"frontend","url":"mailto:editor@zhouexin.com?subject=投稿!","author":"投稿","translator":"","tags":["editor"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程-OpenCV到浏览器","publish":true,"cover":"https://www.pyimagesearch.com/wp-content/uploads/2019/09/opencv_stream_video_flask_browser_flask_and_opencv.png","showCover":true,"date":"2019-09-06","category":"python","url":"https://www.pyimagesearch.com/2019/09/02/opencv-stream-video-to-web-browser-html-page","author":"Adrian Rosebrock","translator":"","tags":["opencv"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"由于mongodb协议修改,homebrew官方移除了mongodb,但是mongodb有它自己的tap","publish":true,"cover":"","showCover":true,"date":"2019-09-06","category":"database","url":"https://www.mongodb.com/blog/post/mongodbs-official-brew-tap-now-open-and-flowing","author":"Dj Walker-Morgan","translator":"","tags":["mongodb"],"priority":1},"html":"<p><code class=\"language-text\">brew tap mongodb/brew</code></p>\n<p><code class=\"language-text\">brew install mongodb-community</code></p>"}},{"node":{"frontmatter":{"title":"教程-在火狐里调试typescript","publish":true,"cover":"https://hacks.mozilla.org/files/2019/08/debugging-typescript.png","showCover":true,"date":"2019-09-05","category":"javascript","url":"https://hacks.mozilla.org/2019/09/debugging-typescript-in-firefox-devtools/","author":"Jan Honza Odvarko","translator":"","tags":["typescript"],"priority":1},"html":"<p>tsc 编译 typescript 后，使用 sourcemap 可在火狐中查看。</p>"}},{"node":{"frontmatter":{"title":"训练AI玩纸牌","publish":true,"cover":"https://www.apptic.me/blog/images/literature.gif","showCover":true,"date":"2019-09-06","category":"python","url":"https://www.apptic.me/blog/how-to-train-a-neural-net-to-play-cards.php","author":"Neel Somani","translator":"","tags":["ai"],"priority":1},"html":"<p><a href=\"https://github.com/neelsomani/literature\">源码</a></p>"}},{"node":{"frontmatter":{"title":"自动驾驶公司 Waymo 公开其传感数据集","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"AI","url":"https://www.infoq.com/news/2019/09/waymo-machine-learning-dataset/","author":"Anthony Alford 编辑 Ka","translator":"","tags":["drive"],"priority":1},"html":"<p>此数据集包含司机超过 5 个小时的传感高清数据。</p>"}},{"node":{"frontmatter":{"title":"跳到页面顶部的几种方法","publish":true,"cover":"","showCover":true,"date":"2019-09-05","category":"frontend","url":"https://css-tricks.com/need-to-scroll-to-the-top-of-the-page/","author":"Chris Coyier","translator":"","tags":["html"],"priority":1},"html":"<h2 id=\"锚记\"><a href=\"#%E9%94%9A%E8%AE%B0\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>锚记</h2>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>top<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n     <span class=\"token comment\">&lt;!-- the entire document --></span>\n     <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>#top<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>Jump to top of page<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token selector\">html</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token property\">scroll-behavior</span><span class=\"token punctuation\">:</span> smooth<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span></code></pre></div>\n<p>上面的方法会改变焦点</p>\n<p>解决：</p>\n<div class=\"gatsby-highlight\" data-language=\"html\"><pre class=\"language-html\"><code class=\"language-html\"><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>html</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>body</span><span class=\"token punctuation\">></span></span>\n     <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">id</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>top<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span><span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">></span></span>\n     <span class=\"token comment\">&lt;!-- the entire document --></span>\n     <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;</span>a</span> <span class=\"token attr-name\">href</span><span class=\"token attr-value\"><span class=\"token punctuation\">=</span><span class=\"token punctuation\">\"</span>#top<span class=\"token punctuation\">\"</span></span><span class=\"token punctuation\">></span></span>Jump to top of page<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>a</span><span class=\"token punctuation\">></span></span>\n  <span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>body</span><span class=\"token punctuation\">></span></span>\n<span class=\"token tag\"><span class=\"token tag\"><span class=\"token punctuation\">&lt;/</span>html</span><span class=\"token punctuation\">></span></span></code></pre></div>\n<h2 id=\"javascript\"><a href=\"#javascript\" aria-hidden class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>javascript</h2>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">window<span class=\"token punctuation\">.</span><span class=\"token function\">scroll</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  top<span class=\"token punctuation\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> \n  left<span class=\"token punctuation\">:</span> <span class=\"token number\">0</span><span class=\"token punctuation\">,</span> \n  behavior<span class=\"token punctuation\">:</span> <span class=\"token string\">'smooth'</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}}]}}