{"pageContext":{"index":26,"total":364,"name":"2019-11-03","items":[{"node":{"frontmatter":{"title":"Depcheck检测没有使用的依赖的vscode插件","publish":true,"cover":"https://juliensanmartin.gallerycdn.vsassets.io/extensions/juliensanmartin/vscode-depcheck/1.2.0/1572280364038/Microsoft.VisualStudio.Services.Icons.Default","showCover":true,"date":"2019-11-01","category":"ide","url":"https://marketplace.visualstudio.com/items?itemName=juliensanmartin.vscode-depcheck#depcheck","author":"Julien Sanmartin","translator":"","tags":["vscode"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"Nova - mongo上的关系层封装 - 连结 graphql 和 Meteor","publish":true,"cover":"","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://github.com/kaviarjs/nova","author":"Kaviar 编辑 Ka","translator":"","tags":["graphql"],"priority":1},"html":"<p>其目的是为了便于整合meteor和graphql. 然而可直接用于mongo或者graphql。</p>"}},{"node":{"frontmatter":{"title":"asciichart 无依赖ascii图表","publish":true,"cover":"https://user-images.githubusercontent.com/1294454/31798504-ca2af4cc-b53c-11e7-946c-620d744f6d16.gif","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://github.com/soldair/node-qrcode","author":"Igor Kroitor","translator":"","tags":["chart"],"priority":1},"html":"<blockquote>\n<p>作者也是ccxt的作者，十分勤奋，老编还和其打过交道：）</p>\n</blockquote>"}},{"node":{"frontmatter":{"title":"ESM将在Nodejs13里正式支持","publish":true,"cover":"","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://github.com/openjs-foundation/cross-project-council/issues/114","author":"Myles Borins","translator":"","tags":["ESM"],"priority":1},"html":"<p>参见 <a href=\"https://zhuanlan.zhihu.com/p/26567790\">JavaScript模块现状</a> 和 <a href=\"https://zhuanlan.zhihu.com/p/40733281\">深入解析ES Module</a></p>"}},{"node":{"frontmatter":{"title":"JAMStack主题合集","publish":true,"cover":"","showCover":true,"date":"2019-10-31","category":"frontend","url":"https://jamstackthemes.dev/","author":"Stackbit","translator":"","tags":["css"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"atlas支持PayPal 付款","publish":true,"cover":"","showCover":true,"date":"2019-11-01","category":"database","url":"https://www.mongodb.com/blog/post/paypal-for-atlas--the-newest-way-to-pay-for-fullymanaged-mongodb","author":"Jenny Liang@atlas","translator":"","tags":["mongodb"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"getopts解析cli参数工具","publish":true,"cover":"","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://github.com/JorgeBucaran/getopts","author":"Jorge Bucaran","translator":"","tags":["cli"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"madge 为你的项目创建依赖图","publish":true,"cover":"https://camo.githubusercontent.com/efe42226657c331807a70f06cc8cea889ef3ba8f/687474703a2f2f706168656e2e6769746875622e696f2f6d616467652f6d616467652e737667","showCover":true,"date":"2019-11-02","category":"javascript","url":"https://github.com/pahen/madge","author":"Patrik Henningsson","translator":"","tags":["dependencies"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"css种的随机技巧","publish":true,"cover":"https://res.cloudinary.com/css-tricks/image/upload/c_scale,w_400,f_auto,q_auto/v1571697450/random-01_tavjbx.gif","showCover":true,"date":"2019-10-31","category":"frontend","url":"https://css-tricks.com/are-there-random-numbers-in-css/","author":"Alvaro Montoro 编辑 Ka","translator":"","tags":["css"],"priority":2},"html":"<p>轮流显示动画展示不同的元素label，当用户点击某一层时就会获得对应input的值。此随机是用户点击产生的。</p>"}},{"node":{"frontmatter":{"title":"node-qrcode 支持浏览器的生成二维码的工具","publish":true,"cover":"","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://github.com/soldair/node-qrcode","author":"Ryan Day","translator":"","tags":["qrcode"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"sal-轻量级高性能滚动特效","publish":true,"cover":"","showCover":true,"date":"2019-10-31","category":"frontend","url":"https://github.com/mciastek/sal","author":"Mirosław Ciastek","translator":"","tags":["css"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"mongo里怎么实现读锁","publish":true,"cover":"","showCover":true,"date":"2019-11-01","category":"database","url":"https://blog.kazge.com/database/2019/10/31/zh-mongo-read-lock/","author":"Ka","translator":"","tags":["mongodb"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"saleforce-周二是最好的发布时间-不要在周五发布了","publish":true,"cover":"https://hackernoon.com/photos/FspsB7JTwpPQEzoWQv4iuBE61X83-qn163zae","showCover":true,"date":"2019-10-28","category":"devops","url":"https://hackernoon.com/deploy-on-fridays-or-dont-qg2y32jk","author":"Dave Mangot 编辑 Ka","translator":"","tags":["deploy"],"priority":2},"html":"<p>saleforce是周二发布，netflix也不提倡在周五发布，技术大佬们共同的观点就是-不要在周五发布。</p>"}},{"node":{"frontmatter":{"title":"singlie线型和环型链链表","publish":true,"cover":"","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://github.com/klaussinani/singlie","author":"Klaus Sinani","translator":"","tags":["link"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"vue-chartjs chartjs的vue封装","publish":true,"cover":"","showCover":true,"date":"2019-11-02","category":"frontend","url":"https://github.com/apertureless/vue-chartjs","author":"Jakub","translator":"","tags":["vue"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"vue-interactive-paycard paycard vue组件","publish":true,"cover":"","showCover":true,"date":"2019-11-02","category":"frontend","url":"https://github.com/muhammederdem/vue-interactive-paycard","author":"Muhammed Erdem","translator":"","tags":["vue"],"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":"你可能不知道的javascript特性","publish":true,"cover":"","showCover":true,"date":"2019-11-02","category":"javascript","url":"http://www.breck-mckye.com/blog/2019/10/modern-javascript-features-you-may-have-missed/","author":"Jimmy Breck-McKye","translator":"","tags":["feature"],"priority":1},"html":"<h2 id=\"es2015\"><a href=\"#es2015\" 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>ES2015</h2>\n<h3 id=\"二进制表达式0b八进制0o\"><a href=\"#%E4%BA%8C%E8%BF%9B%E5%88%B6%E8%A1%A8%E8%BE%BE%E5%BC%8F0b%E5%85%AB%E8%BF%9B%E5%88%B60o\" 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>二进制表达式0b,八进制0o</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token comment\">// Pizza toppings</span>\n<span class=\"token keyword\">const</span> olives    <span class=\"token operator\">=</span> <span class=\"token number\">0b0001</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> ham       <span class=\"token operator\">=</span> <span class=\"token number\">0b0010</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> pineapple <span class=\"token operator\">=</span> <span class=\"token number\">0b0100</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> artechoke <span class=\"token operator\">=</span> <span class=\"token number\">0b1000</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> pizza_ham_pineapple <span class=\"token operator\">=</span> pineapple <span class=\"token operator\">|</span> ham<span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> pizza_four_seasons  <span class=\"token operator\">=</span> olives <span class=\"token operator\">|</span> ham <span class=\"token operator\">|</span> artechoke<span class=\"token punctuation\">;</span></code></pre></div>\n<h3 id=\"numberisnan\"><a href=\"#numberisnan\" 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>Number.isNaN()</h3>\n<p>不同于window.isNaN()</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token number\">NaN</span><span class=\"token punctuation\">)</span>              <span class=\"token operator\">===</span> <span class=\"token boolean\">true</span>\n<span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span>             <span class=\"token operator\">===</span> <span class=\"token boolean\">false</span>\n<span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span>undefined<span class=\"token punctuation\">)</span>        <span class=\"token operator\">===</span> <span class=\"token boolean\">true</span>\n<span class=\"token function\">isNaN</span><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 boolean\">true</span>\n<span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token string\">'0/0'</span><span class=\"token punctuation\">)</span>            <span class=\"token operator\">===</span> <span class=\"token boolean\">true</span>\n<span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token string\">'hello'</span><span class=\"token punctuation\">)</span>          <span class=\"token operator\">===</span> <span class=\"token boolean\">true</span></code></pre></div>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">Number<span class=\"token punctuation\">.</span><span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token number\">NaN</span><span class=\"token punctuation\">)</span>       <span class=\"token operator\">===</span> <span class=\"token boolean\">true</span>\nNumber<span class=\"token punctuation\">.</span><span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token keyword\">null</span><span class=\"token punctuation\">)</span>      <span class=\"token operator\">===</span> <span class=\"token boolean\">false</span>\nNumber<span class=\"token punctuation\">.</span><span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span>undefined<span class=\"token punctuation\">)</span> <span class=\"token operator\">===</span> <span class=\"token boolean\">false</span>\nNumber<span class=\"token punctuation\">.</span><span class=\"token function\">isNaN</span><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 boolean\">false</span>\nNumber<span class=\"token punctuation\">.</span><span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token string\">'0/0'</span><span class=\"token punctuation\">)</span>     <span class=\"token operator\">===</span> <span class=\"token boolean\">false</span>\nNumber<span class=\"token punctuation\">.</span><span class=\"token function\">isNaN</span><span class=\"token punctuation\">(</span><span class=\"token string\">'hello'</span><span class=\"token punctuation\">)</span>   <span class=\"token operator\">===</span> <span class=\"token boolean\">false</span></code></pre></div>\n<h2 id=\"es2016\"><a href=\"#es2016\" 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>ES2016</h2>\n<h3 id=\"指数运算符-exponent-power-operator\"><a href=\"#%E6%8C%87%E6%95%B0%E8%BF%90%E7%AE%97%E7%AC%A6-exponent-power-operator\" 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>指数运算符 Exponent (power) operator</h3>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token number\">2</span><span class=\"token operator\">**</span><span class=\"token number\">2</span> <span class=\"token operator\">===</span> <span class=\"token number\">4</span>\n<span class=\"token number\">3</span><span class=\"token operator\">**</span><span class=\"token number\">2</span> <span class=\"token operator\">===</span> <span class=\"token number\">9</span>\n<span class=\"token number\">3</span><span class=\"token operator\">**</span><span class=\"token number\">3</span> <span class=\"token operator\">===</span> <span class=\"token number\">27</span></code></pre></div>\n<h3 id=\"arrayprototypeincludes\"><a href=\"#arrayprototypeincludes\" 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.prototype.includes()</h3>\n<p>使用的相当于<code class=\"language-text\">===</code>比较 <a href=\"https://www.ecma-international.org/ecma-262/7.0/#sec-samevaluezero\">Same Value Zero Algorithm</a>，这个与indexOf使用的<code class=\"language-text\">==</code>相区别</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> object1 <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> object2 <span class=\"token operator\">=</span> <span class=\"token punctuation\">{</span><span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> array <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>object1<span class=\"token punctuation\">,</span> <span class=\"token number\">78</span><span class=\"token punctuation\">,</span> <span class=\"token number\">NaN</span><span class=\"token punctuation\">]</span><span class=\"token punctuation\">;</span>\n\narray<span class=\"token punctuation\">.</span><span class=\"token function\">includes</span><span class=\"token punctuation\">(</span>object1<span class=\"token punctuation\">)</span> <span class=\"token operator\">===</span> <span class=\"token boolean\">true</span>\narray<span class=\"token punctuation\">.</span><span class=\"token function\">includes</span><span class=\"token punctuation\">(</span>object2<span class=\"token punctuation\">)</span> <span class=\"token operator\">===</span> <span class=\"token boolean\">false</span>\narray<span class=\"token punctuation\">.</span><span class=\"token function\">includes</span><span class=\"token punctuation\">(</span><span class=\"token number\">NaN</span><span class=\"token punctuation\">)</span>     <span class=\"token operator\">===</span> <span class=\"token boolean\">true</span></code></pre></div>"}},{"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":"教程-发布nodejs程序到kubernetes","publish":true,"cover":"https://learnk8s.io/a/5c25ab8431766baa6a50f3ab434b71cf.svg","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://learnk8s.io/nodejs-kubernetes-guide/","author":"Daniele Polencic","translator":"","tags":["kubernetes"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"深入剖析 React Concurrent","publish":true,"cover":"https://pic2.zhimg.com/80/v2-85024acf40defb83d9e4839fc8ba8c45_hd.jpg","showCover":true,"date":"2019-10-28","category":"frontend","url":"https://zhuanlan.zhihu.com/p/60307571","author":"淡苍","translator":"","tags":["react"],"priority":1},"html":"<p>一个时间片就是一个渲染帧内 JS 能获得的最大执行时间。requestAnimationFrame 触发在 Layout 与 Paint 之前，方便做 DOM 变更。</p>\n<p>高优先级任务的变更可能对低优先级任务产生影响，低优先级任务必须重新来过，之前收集的 effectList 会被重置为 null，updateQueue 会从 current tree 中恢复回来。之前社区曾广泛 讨论，未来 React 中 componentWillMount 可能被调用多次，原因就在这里，低优先级任务的 render 阶段可能被重复执行，而 componentWillMount 包含在 render 阶段中。</p>"}},{"node":{"frontmatter":{"title":"教程-使用Semaphore发布nodejs程序到digital ocean kubernetes上","publish":true,"cover":"https://assets.digitalocean.com/articles/semaphore_doks/Ee7VRw7.png","showCover":true,"date":"2019-11-01","category":"nodejs","url":"https://learnk8s.io/nodejs-kubernetes-guide/","author":"Tomas Fernandez","translator":"","tags":["kubernetes"],"priority":1},"html":"<p>Semaphoret提供每月10美元的免费使用层级，支持加密变量，持续集成。</p>"}}]}}