{"pageContext":{"index":30,"total":366,"name":"2019-12-01","items":[{"node":{"frontmatter":{"title":"GraphQL的便利和开销","publish":true,"cover":"https://heroku-www-files.s3.amazonaws.com/podcasts/uploads/610d8a9b-b983-4670-ad93-88fdf7a929f8/codeish-cover-art.png","showCover":true,"date":"2019-12-01","category":"nodejs","url":"https://www.heroku.com/podcasts/codeish/44-graphqls-benefits-and-costs","author":"Heroku","translator":"","tags":["graphql"],"priority":1},"html":"<p><audio controls=\"\" src=\"https://www3.assets.heroku.com/podcasts/codeish/Codeish_Episode_44_GraphQL_Benefits_and_Costs.mp3\"></audio></p>\n<blockquote>\n<p>通篇没看到说花销，只看到说好处</p>\n</blockquote>"}},{"node":{"frontmatter":{"title":"JSONCrush 压缩json到url友好地字符串","publish":true,"cover":"","showCover":true,"date":"2019-12-01","category":"nodejs","url":"https://github.com/KilledByAPixel/JSONCrush","author":"Frank Force","translator":"","tags":["nodes"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"Node.js 发布了 13.2.0 版本, 正式支持 ES modules","publish":true,"cover":"https://github.com/alexellis/k3sup/raw/master/docs/k3sup-cloud.png","showCover":true,"date":"2019-12-01","category":"nodejs","url":"https://github.com/alexellis/k3sup","author":"winty@脚本之家","translator":"","tags":["esm"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"k3sup 一键安装配置基于k3s的k8s本地集群","publish":true,"cover":"https://github.com/alexellis/k3sup/raw/master/docs/k3sup-cloud.png","showCover":true,"date":"2019-12-01","category":"devops","url":"https://github.com/alexellis/k3sup","author":"Alex Ellis","translator":"","tags":["k8s"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"nodejs开发最佳实践","publish":true,"cover":"","showCover":true,"date":"2019-12-01","category":"nodejs","url":"https://blog.kazge.com/nodejs/2019/11/28/zh-nodejs-development-best-practices/","author":"Ka","translator":"","tags":["practices"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"litegraph 基于canvas的图形化节点引擎","publish":true,"cover":"https://github.com/jagenjo/litegraph.js/raw/master/imgs/node_graph_example.png","showCover":true,"date":"2019-12-01","category":"frontend","url":"https://github.com/jagenjo/litegraph.js","author":"Javi Agenjo","translator":"","tags":["nodes"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-animated-navigator 简单易用的页面跳转动画","publish":true,"cover":"https://martinpham.gitlab.io/react-animated-navigator/assets/images/demo1.gif","showCover":true,"date":"2019-12-01","category":"frontend","url":"https://github.com/MartinPham/react-animated-navigator","author":"Martin Pham","translator":"","tags":["react"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"react-calendar-heatmap 热力图","publish":true,"cover":"https://github.com/kevinsqi/react-calendar-heatmap/raw/master/demo/public/react-calendar-heatmap.png?raw=true","showCover":true,"date":"2019-12-01","category":"frontend","url":"https://github.com/kevinsqi/react-calendar-heatmap","author":"Kevin Qi","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-icons 轻松加入各种流行图标，按需导入","publish":true,"cover":"","showCover":true,"date":"2019-12-01","category":"frontend","url":"https://github.com/react-icons/react-icons","author":"Kamijin Fanta","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://react-icons.netlify.com/\">图标集合(加载较慢)</a></p>"}},{"node":{"frontmatter":{"title":"Intersection Observer API","publish":true,"cover":"https://camo.githubusercontent.com/d0d0d0470d97e71cc385d9ceaa689a1daf7149fc/68747470733a2f2f6861636b732e6d6f7a696c6c612e6f72672f66696c65732f323031372f30382f426c616e6b2d4469616772616d2d506167652d312e706e67","showCover":true,"date":"2019-12-01","category":"frontend","url":"https://github.com/researchgate/react-intersection-observer","author":"ResearchGate","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://developer.mozilla.org/zh-CN/docs/Web/API/Intersection_Observer_API\">Intersection Observer API</a></p>"}},{"node":{"frontmatter":{"title":"亚马逊 Athena 支持SQL查询多数据源包括关系数据库,NOSQL,s3等","publish":true,"cover":"","showCover":true,"date":"2019-12-01","category":"database","url":"https://amazonaws-china.com/cn/about-aws/whats-new/2019/11/amazon-athena-adds-support-for-running-sql-queries-across-relational-non-relational-object-custom-data-sources/?nc1=h_ls","author":"亚马逊 编辑 Ka","translator":"","tags":["nodes"],"priority":1},"html":"<p><a href=\"https://amazonaws-china.com/cn/athena/\">Amazon Athena</a> 是一种交互式查询服务，让您能够轻松使用标准 SQL 分析 Amazon S3 中的数据。Athena 没有服务器，因此您无需管理任何基础设施，且只需为您运行的查询付费。</p>"}},{"node":{"frontmatter":{"title":"使用异步迭代器读取stream","publish":true,"cover":"","showCover":true,"date":"2019-12-01","category":"nodejs","url":"https://2ality.com/2019/11/nodejs-streams-async-iteration.html","author":"Dr. Axel Rauschmayer","translator":"","tags":["esm"],"priority":1},"html":"<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token punctuation\">(</span><span class=\"token keyword\">async</span> <span class=\"token keyword\">function</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">for</span> <span class=\"token keyword\">await</span> <span class=\"token punctuation\">(</span><span class=\"token keyword\">const</span> chunk <span class=\"token keyword\">of</span> readable<span class=\"token punctuation\">)</span> <span class=\"token punctuation\">{</span>\n    console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>chunk<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span>\n<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></code></pre></div>\n<p><a href=\"https://nodejs.org/api/stream.html#stream_streams_compatibility_with_async_generators_and_async_iterators\">官方文档</a>也有详细介绍</p>"}},{"node":{"frontmatter":{"title":"官方redux优雅方式教程","publish":true,"cover":"","showCover":true,"date":"2019-12-01","category":"frontend","url":"https://redux.js.org/style-guide/style-guide","author":"Redux","translator":"","tags":["redux"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"实际项目使用后React Native和Flutter的比较","publish":true,"cover":"https://miro.medium.com/max/2880/1*l9sh0FouhQPSC8g2C4_MYw.png","showCover":true,"date":"2019-12-01","category":"mobile","url":"https://blog.kazge.com/mobile/2019/11/27/zh-reactnative-vs-flutter/","author":"Andréas Hanss 编辑 Ka","translator":"","tags":["reactnative"],"priority":1},"html":"<h2 id=\"什么时候使用flutter\"><a href=\"#%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E4%BD%BF%E7%94%A8flutter\" 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>什么时候使用Flutter</h2>\n<ul>\n<li>\n<p>你不会javascript，不会css，（说白了你不会写界面，这也是无语）</p>\n</li>\n<li>\n<p>你的项目没有时间限制，可以慢慢折腾（作者这是在搞笑？）</p>\n</li>\n<li>\n<p>Flutter的路由复杂的多（这不是缺点吗？）</p>\n</li>\n<li>\n<p>性能第一（不敢苟同）</p>\n</li>\n<li>\n<p>你不需要热更新，只期望每次改动都上传appstore，至少在后面的一两年Flutter不会支持热更新</p>\n</li>\n</ul>\n<h2 id=\"什么时候使用react-native\"><a href=\"#%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E4%BD%BF%E7%94%A8react-native\" 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>什么时候使用React Native</h2>\n<ul>\n<li>你是web开发者，会css，会写界面</li>\n<li>你想使用一个基于强大支持的生态系统，有强大的社区，容易得到资源和支持，易于解决问题</li>\n<li>你想使用热更新(Air Updates使用Microsoft Codepush 或者 Expo.io)</li>\n<li>你想使用web工具链例如SASS</li>\n</ul>\n<blockquote>\n<p>虽然作者最后还是老调重弹“实际上没有绝对的xxx比yyy好，看你的需求。”但是可以看出来作者还是倾向于RN的。\n老编再补充一句，RN是facebook，微软，沃尔玛等大量使用的，flutter呢？再看谷歌那一贯的产品忠诚度。各人自会判断</p>\n</blockquote>"}},{"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":"教程-使用NSQ-简单易用的高性能Message Queue","publish":true,"cover":"https://res.cloudinary.com/practicaldev/image/fetch/s---_COCqVx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.cloudamqp.com/img/blog/thumb-mq.jpg","showCover":true,"date":"2019-12-01","category":"nodejs","url":"https://dev.to/vguleaev/nsq-tutorial-build-a-simple-message-queue-using-nsq-43eh","author":"Vladislav Guleaev ","translator":"","tags":["quque"],"priority":2},"html":"<p><a href=\"https://github.com/nsqio/nsq\">NSQ</a>是相对于RabitMQ简单易用的实时Message Queue.</p>"}},{"node":{"frontmatter":{"title":"沃尔玛Walmart Grocery App已经90%基于React Native","publish":true,"cover":"https://miro.medium.com/max/337/1*GXPbNCIXY231q-E-hyWb4g.jpeg","showCover":true,"date":"2019-12-01","category":"mobile","url":"https://medium.com/walmartlabs/a-new-beginning-for-react-native-at-walmartlabs-online-grocery-c30b27db57d3","author":"Walmart Labs 编辑 Ka","translator":"","tags":["react native"],"priority":2},"html":"<p>2年前Walmart首次引入React Native, 现在Walmart Grocery App已经90%的基于React Native。</p>\n<h2 id=\"使用rn的考量\"><a href=\"#%E4%BD%BF%E7%94%A8rn%E7%9A%84%E8%80%83%E9%87%8F\" 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>使用RN的考量</h2>\n<ul>\n<li>双倍开发速度</li>\n<li>ios，安卓可以基于同一个codebase</li>\n<li>对单元测试覆盖测试支持很好，可以使用统一的动画框架</li>\n<li>使得员工能够转换为能开发ios，安卓UI</li>\n<li>是的web开发和手机开发可以双向互换</li>\n<li>提升开发体验（页面刷新）</li>\n<li>重用沃尔玛内部大量使用React的经验和基础</li>\n<li>重用业务逻辑（基于React/Redux）</li>\n<li>支持热更新(Over the Air (OTA) Code Push)很好的处理紧急问题</li>\n</ul>\n<p>沃尔玛原来是原声开发的，且运行良好，但是基于技术(React/Web)驱动，RN席卷整个内部组织。</p>\n<p>作为开发者在开发原型时，写UI很简单，稍感复杂的部分反而是同时运行xcode和安卓模拟器。</p>\n<p>使用<a href=\"https://github.com/electrode-io/electrode-native\">electrode-native（沃尔玛开发的）</a>整合RN组件到原生代码中。\n其MiniApps概念很受欢迎，后面的沃尔玛手机app一直使用的是这种方式。</p>\n<h2 id=\"下一步app将会使用更多的rn直至全部基于rn\"><a href=\"#%E4%B8%8B%E4%B8%80%E6%AD%A5app%E5%B0%86%E4%BC%9A%E4%BD%BF%E7%94%A8%E6%9B%B4%E5%A4%9A%E7%9A%84rn%E7%9B%B4%E8%87%B3%E5%85%A8%E9%83%A8%E5%9F%BA%E4%BA%8Ern\" 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>下一步APP将会使用更多的RN直至全部基于RN</h2>"}},{"node":{"frontmatter":{"title":"自定义发布meteor到heroku docker","publish":true,"cover":"","showCover":true,"date":"2019-12-01","category":"nodejs","url":"https://blog.kazge.com/nodejs/2019/11/27/costum-build-meteor-docker-heroku/","author":"Ka","translator":"","tags":["meteor"],"priority":1},"html":""}}]}}