{"pageContext":{"index":9,"total":364,"name":"2019-07-07","items":[{"node":{"frontmatter":{"title":"Array.prototype.sort 确定统一稳定实现","publish":true,"cover":"","showCover":true,"date":"2019-07-06","category":"frontend","url":"https://v8.dev/features/stable-sort","author":"编辑 Ka","translator":"","tags":["javascript"],"priority":1},"html":"<p>之前并没有统一规定 sort 的实现，而由各引擎自己决定。</p>\n<p><a href=\"https://github.com/tc39/ecma262/pull/1340\">此次归于统一</a></p>"}},{"node":{"frontmatter":{"title":"Meteor 的编译棒呆了，Meteor 被低估了","publish":true,"cover":"","showCover":true,"date":"2019-07-06","category":"nodejs","url":"https://dev.to/trusktr/meteor-vs-webpack-vs-parcel-39d7","author":"Joe Pea","translator":"","tags":["nodejs"],"priority":1},"html":"<p>Meteor vs Webpack? Meteor vs Parcel,\"Meteor vs Ember vs Angular\", or \"Meteor vs MEAN\", or \"Meteor Blaze vs React vs Vue\", or \"Meteor vs Express vs Koa.js\", or \"Meteor vs Passport.js vs Permit\", or \"Meteor vs Ionic Framework\"</p>\n<blockquote>\n<p>Meteor 一个整合了许多很酷的东西，meteor 2015 年开发出来时显得太超前，然而现在正是大放异彩的时候。</p>\n</blockquote>"}},{"node":{"frontmatter":{"title":"Jimp-纯nodejs图片处理","publish":true,"cover":"https://camo.githubusercontent.com/6e9aac6934fcc8a8ac260b23b839cae4d9d40f8a/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f7069782e69656d6f6a692e636f6d2f696d616765732f656d6f6a692f6170706c652f696f732d31312f3235362f637261796f6e2e706e67","showCover":true,"date":"2019-07-05","category":"nodejs","url":"https://github.com/oliver-moran/jimp","author":"Oliver Moran 编辑 Ka","translator":"","tags":["nodejs"],"priority":2},"html":"<p>支持<code class=\"language-text\">resize</code> <code class=\"language-text\">gif</code>,不支持<code class=\"language-text\">webp</code>。</p>"}},{"node":{"frontmatter":{"title":"Svelte-下一代 web 框架","publish":true,"cover":"","showCover":true,"date":"2019-07-06","category":"frontend","url":"https://github.com/sveltejs/svelte","author":"编辑 Ka","translator":"","tags":["Svelte"],"priority":1},"html":"<p>与 React，Vue 不同的是，在编译阶段生成最终代码，不存在虚拟 DOM。</p>\n<ul>\n<li>支持组件</li>\n<li><a href=\"https://svelte.dev/blog/svelte-css-in-js\">CSS-in-JS</a></li>\n<li>简单有效的响应式</li>\n</ul>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const</span> <span class=\"token punctuation\">{</span> count <span class=\"token punctuation\">}</span> <span class=\"token operator\">=</span> <span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">get</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">this</span><span class=\"token punctuation\">.</span><span class=\"token keyword\">set</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  count<span class=\"token punctuation\">:</span> count <span class=\"token operator\">+</span> <span class=\"token number\">1</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"React Select强大的下拉框组件","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://github.com/jedwatson/react-select","author":"Jed Watson","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://react-select.com/home\">在线demo</a></p>\n<ul>\n<li>可搜索</li>\n<li>可输入</li>\n<li>可标签化</li>\n<li>可多选</li>\n</ul>"}},{"node":{"frontmatter":{"title":"css标准正在添加更多下划线样式","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://drafts.csswg.org/css-text-decor-4/#underline-offset","author":"编辑 Ka","translator":"","tags":["google"],"priority":1},"html":"<p><a href=\"https://codepen.io/jensimmons/pen/wLrjGG?editors=1100\">在线demo</a>\n设计师们对此表示热烈欢迎👏👏👏👏👏</p>"}},{"node":{"frontmatter":{"title":"google计划促进robots txt作为互联网标准","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://thenextweb.com/google/2019/07/02/google-wants-to-make-the-25-year-old-robots-txt-protocol-an-internet-standard/","author":"Ravie Lakshmanan 摘译 Ka","translator":"","tags":["google"],"priority":2},"html":"<p>google<a href=\"https://github.com/google/robotstxt\">开源了</a>robots.txt的解析器和匹配算法，同时宣布计划促进让 <a href=\"http://www.robotstxt.org/norobots-rfc.txt\">Robots Exclusion Protocol (REP)</a> 成为互联网标准。</p>"}},{"node":{"frontmatter":{"title":"lighthouse开源的站点性能检测工具","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://developers.google.com/web/tools/lighthouse/","author":"Google 摘译 Ka","translator":"","tags":["javascript"],"priority":1},"html":"<p>可作为chrome浏览器插件安装,也可以安装为命令行工具。</p>\n<p><code class=\"language-text\">npm install -g lighthouse</code></p>\n<p>针对一个页面运行 Lighthouse 审查。</p>\n<p><code class=\"language-text\">lighthouse https://airhorner.com/</code></p>"}},{"node":{"frontmatter":{"title":"level-符合LevelDB规范的可运行于浏览器nodejs的内存键值对数据库","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"nodejs","url":"https://github.com/Level/levelup","author":"Feross Aboukhadijeh 编辑 Ka","translator":"","tags":["nodejs"],"priority":1},"html":"<p><a href=\"https://github.com/google/leveldb\">LevelDB</a>是google开发的用在chrome上的键值对数据库。</p>\n<p>level包装了api使得使用更方便。</p>\n<p><code class=\"language-text\">npm install levelup leveldown</code></p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">var</span> levelup <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'levelup'</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span> leveldown <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'leveldown'</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\">// 1) 创建store</span>\n<span class=\"token keyword\">var</span> db <span class=\"token operator\">=</span> <span class=\"token function\">levelup</span><span class=\"token punctuation\">(</span><span class=\"token function\">leveldown</span><span class=\"token punctuation\">(</span><span class=\"token string\">'./mydb'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\">// 2) 赋值</span>\n<span class=\"token keyword\">await</span> db<span class=\"token punctuation\">.</span><span class=\"token function\">put</span><span class=\"token punctuation\">(</span><span class=\"token string\">'name'</span><span class=\"token punctuation\">,</span> <span class=\"token string\">'levelup'</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token comment\">// 3) 获取</span>\n <span class=\"token keyword\">await</span> db<span class=\"token punctuation\">.</span><span class=\"token keyword\">get</span><span class=\"token punctuation\">(</span><span class=\"token string\">'name'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"multistream 3.0-多个流管道执行","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"nodejs","url":"https://github.com/feross/multistream","author":"Feross Aboukhadijeh 编辑 Ka","translator":"","tags":["nodejs"],"priority":1},"html":"<p>使用:</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">var</span> MultiStream <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'multistream'</span><span class=\"token punctuation\">)</span>\n<span class=\"token keyword\">var</span> fs <span class=\"token operator\">=</span> <span class=\"token function\">require</span><span class=\"token punctuation\">(</span><span class=\"token string\">'fs'</span><span class=\"token punctuation\">)</span>\n\n<span class=\"token keyword\">var</span> streams <span class=\"token operator\">=</span> <span class=\"token punctuation\">[</span>\n  fs<span class=\"token punctuation\">.</span><span class=\"token function\">createReadStream</span><span class=\"token punctuation\">(</span>__dirname <span class=\"token operator\">+</span> <span class=\"token string\">'/numbers/1.txt'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n  fs<span class=\"token punctuation\">.</span><span class=\"token function\">createReadStream</span><span class=\"token punctuation\">(</span>__dirname <span class=\"token operator\">+</span> <span class=\"token string\">'/numbers/2.txt'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span>\n  fs<span class=\"token punctuation\">.</span><span class=\"token function\">createReadStream</span><span class=\"token punctuation\">(</span>__dirname <span class=\"token operator\">+</span> <span class=\"token string\">'/numbers/3.txt'</span><span class=\"token punctuation\">)</span>\n<span class=\"token punctuation\">]</span>\n\n<span class=\"token keyword\">new</span> <span class=\"token class-name\">MultiStream</span><span class=\"token punctuation\">(</span>streams<span class=\"token punctuation\">)</span><span class=\"token punctuation\">.</span><span class=\"token function\">pipe</span><span class=\"token punctuation\">(</span>process<span class=\"token punctuation\">.</span>stdout<span class=\"token punctuation\">)</span> <span class=\"token comment\">// => 123</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"react-compound-slider可组合的滑杆组件","publish":true,"cover":"https://user-images.githubusercontent.com/4615775/46690444-2aa96b80-cbb7-11e8-8cdd-d1af59df59fe.png","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://github.com/sghall/react-compound-slider","author":"Steve Hall","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://sghall.github.io/react-compound-slider\">在线demo</a></p>"}},{"node":{"frontmatter":{"title":"publish-lookups 支持 mongo join 订阅的 Meteor 插件","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"nodejs","url":"https://github.com/kschingiz/publish-lookups","author":"Shynggys","translator":"","tags":["meteor"],"priority":1},"html":"<p>如作者所说，相比与其他两个插件<code class=\"language-text\">publish-composite</code>和<code class=\"language-text\">publish-aggregations</code>(也是作者开发)都更高效。</p>"}},{"node":{"frontmatter":{"title":"static-site-boilerplate又一个静态站点项目模板","publish":true,"cover":"https://camo.githubusercontent.com/eef13b4af898d9e80c7640f0b8a65b4c7487f6aa/687474703a2f2f73746174696373697465626f696c6572706c6174652e636f6d2f65787465726e616c732f6769746875622e706e67","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://github.com/ericalli/static-site-boilerplate","author":"Eric Alli","translator":"","tags":["react"],"priority":2},"html":"<ul>\n<li>支持 sass,postcss</li>\n<li>使用 jquery</li>\n<li>性能优化 包括 css,js 转译，压缩，打包，加速图片加载</li>\n<li>整合开发服务器，热加载</li>\n<li>自动从一个图片生成多设备匹配 favico</li>\n<li>内置 ftp,netlify 发布工具</li>\n</ul>"}},{"node":{"frontmatter":{"title":"reat-movable支持列表和表格的可拖拽移动组件","publish":true,"cover":"https://raw.githubusercontent.com/tajo/react-movable/master/assets/react-movable.gif?raw=true","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://github.com/tajo/react-movable","author":"Feross Aboukhadijeh 编辑 Ka","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://codesandbox.io/s/k1mrwyr9l3\">在线demo</a></p>\n<ul>\n<li>支持触摸屏设备</li>\n<li>支持横向竖向拖动</li>\n<li>平滑动画</li>\n</ul>"}},{"node":{"frontmatter":{"title":"最好的的英文开源字体集合","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://github.com/ubuwaits/beautiful-web-type","author":"Chad Mazzola","translator":"","tags":["font"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"怎样在浏览器里脚本判断网络状态","publish":true,"cover":"https://res.cloudinary.com/practicaldev/image/fetch/s--N5kajt_y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/er9xpbw8w47uq2rmd8tv.gif","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://dev.to/remotesynth/getting-started-with-offline-data-in-web-apps-pt-1-136a","author":"Brian Rinaldi","translator":"","tags":["javascript"],"priority":1},"html":"<p><a href=\"https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API\">Network Information API</a> 可知道是否联网,以及如下信息：</p>\n<ul>\n<li><code class=\"language-text\">effectiveType</code> 取值为 'slow-2g', '2g', '3g', 或者 '4g'</li>\n<li><code class=\"language-text\">downlink</code>有效带宽 M/秒</li>\n<li><code class=\"language-text\">rtt</code> round trip time 一个包的往返时间</li>\n<li><code class=\"language-text\">saveData</code> 用户是否启用减少数据量选项</li>\n</ul>"}},{"node":{"frontmatter":{"title":"火狐希望帮助你愚弄讨厌的广告追踪者","publish":true,"cover":"https://pmcvariety.files.wordpress.com/2019/06/trackthis.jpg?w=974&h=522&crop=1","showCover":true,"date":"2019-07-05","category":"other","url":"https://variety.com/2019/digital/news/firefox-track-this-100-tabs-1203253096/","author":"Janko Rottgers 编辑 Ka","translator":"","tags":["react"],"priority":1},"html":"<p>Mozila创建了<a href=\"https://trackthis.link/\">这样一个网站</a>。</p>\n<p>它会弹出100个无用的页面愚弄广告追踪网站。（你需要允许弹出新页面。）</p>\n<p>弹出100个页面之前会提示你此举动可能会让你的系统变慢。</p>\n<p>此举获得大量好评！</p>"}},{"node":{"frontmatter":{"title":"浏览器上的svg编辑器","publish":true,"cover":"","showCover":true,"date":"2019-07-05","category":"frontend","url":"https://github.com/SVG-Edit/svgedit","author":"SVG-Edit","translator":"","tags":["svg"],"priority":1},"html":""}}]}}