{"pageContext":{"index":1,"total":362,"name":"2019-05-12","items":[{"node":{"frontmatter":{"title":"GitHub 推出包管理服务 GitHub Package Registry","publish":true,"cover":"","showCover":null,"date":"2019-05-08","category":"misc","url":"https://www.oschina.net/news/106602/github-launches-package-registry","author":"github,局长","translator":"","tags":["github"],"priority":1},"html":"<p>目前是beta版。</p>\n<p>据官方介绍，GitHub Package Registry 完全集成在 GitHub 中，因此和 repo 一样，用户可以使用相同的搜索、浏览和管理工具来查找和发布软件包。此外，还可以使用相同的用户和团队权限来同时管理代码以及软件包。</p>\n<p>GitHub Package Registry 还支持许多大家都比较熟悉的包管理工具，如：</p>\n<p>npm (JavaScript)\nMaven (Java)\nRubyGems (Ruby)\nNuGet (.NET)\nDocker images （用于虚拟化 Docker 操作系统的软件）</p>\n<p>GitHub Package Registry 通过 GitHub 的全球 CDN 提供了快速和可靠的下载服务。</p>\n<p>至于收费方面，GitHub 表示将永远面向开源免费，不过具体的定价细节还没公布。</p>"}},{"node":{"frontmatter":{"title":"535种方法刷新页面","publish":true,"cover":"","showCover":null,"date":"2019-05-11","category":"frontend","url":"https://www.phpied.com/files/location-location/location-location.html","author":"Stoyan Stefanov","translator":"","tags":["javascript"],"priority":1},"html":"<p>好吧实际上原理重复的很多，作者也是闲的可以 🤷‍♂️</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\">location <span class=\"token operator\">=</span> location<span class=\"token punctuation\">;</span>\nlocation <span class=\"token operator\">=</span> location<span class=\"token punctuation\">.</span>href<span class=\"token punctuation\">;</span>\nlocation <span class=\"token operator\">=</span> window<span class=\"token punctuation\">.</span>location<span class=\"token punctuation\">;</span>\nlocation <span class=\"token operator\">=</span> self<span class=\"token punctuation\">.</span>location<span class=\"token punctuation\">;</span>\nlocation <span class=\"token operator\">=</span> window<span class=\"token punctuation\">.</span>location<span class=\"token punctuation\">.</span>href<span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"基于mongodb的轻量级计划任务框架mongodb-cron","publish":true,"cover":"https://github.com/xpepermint/mongodb-cron/raw/master/giphy.gif","showCover":true,"date":"2019-05-12","category":"nodejs","url":"https://github.com/xpepermint/mongodb-cron","author":"Kristijan Sedlak","translator":"","tags":["mongo"],"priority":1},"html":"<p>将配置存储到 collection 里，使用 mongo 原子命令(atomic commands)保证任务安全性，支持集群，使用简单。</p>\n<div class=\"gatsby-highlight\" data-language=\"javascript\"><pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">import</span> <span class=\"token punctuation\">{</span> MongoCron <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">'mongodb-cron'</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> collection <span class=\"token operator\">=</span> db<span class=\"token punctuation\">.</span><span class=\"token function\">collection</span><span class=\"token punctuation\">(</span><span class=\"token string\">'jobs'</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n<span class=\"token keyword\">const</span> cron <span class=\"token operator\">=</span> <span class=\"token keyword\">new</span> <span class=\"token class-name\">MongoCron</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  collection<span class=\"token punctuation\">,</span> <span class=\"token comment\">// 任意集合以存储计划任务</span>\n  onDocument<span class=\"token punctuation\">:</span> <span class=\"token keyword\">async</span> doc <span class=\"token operator\">=></span> console<span class=\"token punctuation\">.</span><span class=\"token function\">log</span><span class=\"token punctuation\">(</span>doc<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> <span class=\"token comment\">// 当任务执行时触发</span>\n  onError<span class=\"token punctuation\">:</span> <span class=\"token keyword\">async</span> err <span class=\"token operator\">=></span> <span class=\"token comment\">//当错误发生时触发triggered on error</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\ncron<span class=\"token punctuation\">.</span><span class=\"token function\">start</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span> <span class=\"token comment\">// 开始执行</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> job <span class=\"token operator\">=</span> <span class=\"token keyword\">await</span> collection<span class=\"token punctuation\">.</span><span class=\"token function\">insert</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">{</span>\n  <span class=\"token operator\">...</span>\n  interval<span class=\"token punctuation\">:</span> <span class=\"token string\">'* * * * * *'</span><span class=\"token punctuation\">,</span> <span class=\"token comment\">//定义一个每秒执行的任务</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"Linux上运行Javascript虚拟的win95","publish":true,"cover":"https://user-images.githubusercontent.com/1426799/44532591-4ceb3680-a6a8-11e8-8c2c-bc29f3bfdef7.png","showCover":true,"date":"2019-05-11","category":"frontend","url":"https://github.com/felixrieseberg/windows95","author":"Ka","translator":"","tags":["javascript"],"priority":2},"html":"<p>继<a href=\"https://github.com/copy/v86/\">v86</a>虚拟化 Windows 98 之后，又有人使用<a href=\"https://electronjs.org/\">Electron</a>和 v86 虚拟化了 <a href=\"https://github.com/felixrieseberg/windows95\">Windows 95</a>。可在 Linux, Mac, Windows 上运行。</p>\n<p>好了，赶快去安装一个沙丘魔堡 😄！</p>"}},{"node":{"frontmatter":{"title":"css 2D,3D变换可视化编辑器","publish":true,"cover":"https://raw.githubusercontent.com/alterebro/css-transform/master/media/css-transform.gif","showCover":true,"date":"2019-05-07","category":"frontend","url":"https://css-transform.moro.es/","author":"Jorge Moreno ","translator":"","tags":["css"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"PyTorch 杠上 TensorFlow：谁才是增长最快的深度学习框架？","publish":true,"cover":"https://static001.infoq.cn/resource/image/e5/c3/e56e6d53d82b65410ccc230103be56c3.jpg","showCover":true,"date":"2019-05-11","category":"python","url":"https://www.infoq.cn/article/Hrzk0oOst_C1WOfV7jlh?utm_source=rss&utm_medium=article","author":"Jeff Hale 杨旭东(翻译)","translator":"","tags":["ai"],"priority":2},"html":"<p>目前来看，TensorFlow 和 PyTorch 都在快速增长， 两者现在都有很好的高级 API —— tf.keras 和 FastAI——它们降低了深度学习入门的门槛。</p>"}},{"node":{"frontmatter":{"title":"lowjs-用于嵌入式设备的nodejs环境","publish":true,"cover":"","showCover":null,"date":"2019-05-11","category":"nodejs","url":"https://blog.kazge.com/nodejs/2019/05/11/zh-lowjs-simple-introduction/","author":"Ka","translator":"","tags":["embeded"],"priority":1},"html":"<p><a href=\"https://www.lowjs.org\">lowjs</a>是用于嵌入式设备，单片机的 Node.js 环境，适用于便宜，低耗能的使用场景。</p>\n<p>目前 70%的 Nodejs 接口已经实现，另外 30%仍在实现中。</p>\n<p>对其他npm第三方模块的支持需要自己验证。</p>"}},{"node":{"frontmatter":{"title":"sqljs更新到Sqlite 3.28.0","publish":true,"cover":"","showCover":false,"date":"2019-05-07","category":"database","url":"https://github.com/kripken/sql.js","author":"Alon Zakai","translator":"","tags":["serverless"],"priority":1},"html":"<p><a href=\"https://github.com/kripken/sql.js\">SQL.js</a> 是一个 SQLite 的 JavaScript Webassembly 移植版本，使用 Emscripten 对 SQLite 的 C 代码进行编译。</p>\n<p>数据库保存于内存中，支持以文件或者 buffer 导入 sqlite 并导出到 javascrpt 数组。</p>\n<p>在线<a href=\"https://kripken.github.io/sql.js/examples/GUI/\">Demo</a></p>"}},{"node":{"frontmatter":{"title":"为你的python 程序选择最好的docker image","publish":true,"cover":"","showCover":true,"date":"2019-05-12","category":"python","url":"https://pythonspeed.com/articles/base-image-python-docker-images/","author":"Itamar Turner-Trauring","translator":"","tags":["docker"],"priority":1},"html":"<p>不建议使用 Alpine，因为很多依赖缺失，且使用的 c 是 musl 而不是普遍流行的 glibc。\nAlpine 其默认线程栈很小，容易导致 python 崩溃。musl 也可能导致 python 运行慢很多。</p>\n<p>Debian 用户建议使用 python:3.7-slim-stretch 或者 python:3.7-stretch。\n如果想要最新的包，建议使用 ubuntu 系列如 ubuntu:18.04。</p>"}},{"node":{"frontmatter":{"title":"做好语音翻译无捷径：语音识别是前提，实时翻译亟待攻破","publish":true,"cover":"","showCover":null,"date":"2019-05-10","category":"python","url":"https://www.infoq.cn/article/53W9bg9A0pPh6foD-zVG?utm_source=rss&utm_medium=article","author":"陈利鑫","translator":"","tags":["ai"],"priority":1},"html":"<p>市面上的语音翻译产品并不总能让用户满意。以讯飞翻译机为例，虽然据科大讯飞称这个产品的用户满意度为 99%，但在同声传译等场景下，目前只能做到帮助用户更方便地理解内容，但有时识别效果和翻译效果还会出现一些问题。</p>\n<p>另外，在语音翻译领域还有一种现象：一些公司宣称在重大比赛项目中获得很好的成绩，准确率再创新高，等等，但当在实际场景中一应用，往往会发现效果并不是很理想，甚至会出现低级错误，比如在英翻中任务中，翻译准确率会大打折扣。</p>\n<p>王士进认为，语音翻译技术未来的发展趋势，一方面是在复杂环境下的语音识别，语音翻译如果想进一步扩大应用场景，这点首先要解决好；另外，如何解决低资源语音翻译技术难题也是一个重点，很多语种有很大的价值和前景，但是目前的资源是比较少的；最后，是端到端的语音翻译技术，实现直接从原始语音到目标译文的翻译，相信这将会是未来语音翻译的发展方向。</p>"}},{"node":{"frontmatter":{"title":"使用Comlink简化WebWorker调用","publish":true,"cover":"https://user-images.githubusercontent.com/234957/54164510-cdab2d80-4454-11e9-92d0-7356aa6c5746.png","showCover":null,"date":"2019-05-11","category":"nodejs","url":"https://github.com/GoogleChromeLabs/comlink","author":"GoogleChromeLabs","translator":"","tags":["worker"],"priority":1},"html":"<p>使用<a href=\"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy\">ES6 Proxies</a></p>\n<p>使用<code class=\"language-text\">Comlink.expose(value, endpoint?)</code>暴露模块。</p>\n<p>使用<code class=\"language-text\">Comlink.wrap(endpoint)</code>获得其他线程暴露的模块的代理。</p>"}},{"node":{"frontmatter":{"title":"反驳马斯克：自动驾驶离不开激光雷达，图像技术足够成熟至少还要十年","publish":true,"cover":"","showCover":null,"date":"2019-05-10","category":"python","url":"https://www.infoq.cn/article/Yeb_sNfTK0Ko4aOfbl8d?utm_source=rss&utm_medium=article","author":"陈利鑫","translator":"","tags":["ai"],"priority":1},"html":"<p>关于高精地图，马斯克近日来发表的那句引起了很大争议的言论绝对值得一提：“False and foolish = HD maps and LiDAR”。和很多人一样，邹亮也并不认同这一说法。</p>\n<p>他认为，马斯克说这句话的出发点可能在于目前来说激光雷达的成本太高，甚至超过一辆汽车的价格，如果激光雷达的成本降低，马斯克也许就不会这么说了。</p>\n<p>高精地图生产关键点\n大规模、低成本生产无人驾驶高精地图是业界难点，解决这个问题的关键点是什么？邹亮说道，大规模制图的关键点主要包括三点：</p>\n<p>数据采集的管理，需要有数据采集路线和需要更新的数据，才能合理判断道路的采集方式和最省时省资源的路线，而这些都需要好的设计才能优化达到最高效率；\n大数据处理，高精地图所需要处理的数据量巨大，必须使用数据中心计算机集群来做处理，并且涉及到很多并行计算和处理，这些对数据处理能力都是极大的考验；\n高精地图的实时更新也相当重要，道路环境有可能在不断的变化，需要实现快速有效的更新发生变化的区域。</p>\n<p>高精地图技术和实际应用之间的鸿沟还有很多，在自动驾驶真正上路之时仍然会遇到很多挑战。比如在地下车库场景中最突出的完全没有 GPS（+ 信号）的现象。由于低成本 IMU 惯导无法获取精确的初始位置，因此难以进行定位。</p>\n<p>邹亮表示，高精地图是自动驾驶不可或缺的技术，Waymo、Cruise 等已经证明了其价值。但在技术上，高精地图厂商亟需解决制作覆盖全国的点云融合高精地图的问题，以及实现地图的及时更新。</p>"}},{"node":{"frontmatter":{"title":"Mongo公开官方brew tap","publish":true,"cover":"","showCover":false,"date":"2019-04-25","category":"database","url":"https://www.mongodb.com/blog/post/mongodbs-official-brew-tap-now-open-and-flowing","author":"Dj Walker-Morgan","translator":"","tags":["mongo","mac"],"priority":1},"html":"<p><a href=\"https://brew.sh/\">homebrew</a>是 mac 上的开源包管理工具，为众多 mac 开发者喜爱。\nbrew tap 相当于是第三方的仓库。\n安装运行 mongo 的 brew style:\n<code class=\"language-text\">brew tap mongodb/brew</code> 添加 mongo tap<br>\n<code class=\"language-text\">brew install mongodb-community</code> 安装 mongo 免费社区版<br>\n<code class=\"language-text\">brew install mongodb-community-shell</code> 安装 mongo 命令行工具<br>\n<code class=\"language-text\">brew services start mongodb-community</code> 启动<br>\n<code class=\"language-text\">brew services stop mongodb-community</code> 停止<br>\n<code class=\"language-text\">brew install mongodb-community@3.6</code> 安装指定版本<br>\n<code class=\"language-text\">brew upgrade mongodb-community</code> 更新</p>"}},{"node":{"frontmatter":{"title":"微软宣布推出Windows Subsystem for Linux 2（WSL 2）","publish":true,"cover":"https://www.linuxidc.com/upload/2018_03/18030815147875.png","showCover":true,"date":"2019-05-07","category":"misc","url":"https://www.linuxidc.com/Linux/2019-05/158525.htm","author":"醉落红尘","translator":"","tags":["linux","windows"],"priority":1},"html":"<p>WSL 2 在 Windows 中集成了一个真正的 Linux 内核，以实现完全的系统调用兼容性，微软表示将通过 Windows Update 发布更新。WSL 2 将随 Linux 内核版本 4.19 一起提供。\nWSL 2 将在 6 月底前将提供给 Windows insider 预览体验会员的用户进行测试。</p>"}},{"node":{"frontmatter":{"title":"微软在Build开发者大会上公布了Windows Terminal","publish":true,"cover":"https://static.oschina.net/uploads/img/201905/07065629_CwEz.jpg","showCover":true,"date":"2019-05-08","category":"misc","url":"https://www.cnbeta.com/articles/tech/844547.htm","author":"cnBeta.COM","translator":"","tags":["windows","terminal"],"priority":1},"html":"<p>预计这款应用在 6 月就可以与系统管理员和开发人员们见面。</p>\n<p>支持多 Tab 支持、富文本、多语言支持、可配置、主题和样式，支持 emoji 和基于 GPU 运算的文本渲染等等。同时该终端依然符合我们的目标和要求，以确保它保持快速、高效，并且不会消耗大量内存和电源。</p>"}},{"node":{"frontmatter":{"title":"微软推出SQL serverless预览版","publish":true,"cover":"https://docs.microsoft.com/en-us/azure/sql-database/media/sql-database-serverless/serverless-billing.png","showCover":true,"date":"2019-05-07","category":"database","url":"https://docs.microsoft.com/en-us/azure/sql-database/sql-database-serverless","author":"Microsoft","translator":"","tags":["serverless"],"priority":1},"html":"<ul>\n<li>计费单位为秒。</li>\n<li>可自动扩容。</li>\n<li>从 pause 状态到 resume 状态需要最多 1 分钟。</li>\n</ul>\n<p>如果状态为 pause,则下一次 login 会导致 resume,但是本次 login 会返回 error 显示连接不可用，等到 resume 成功，需要再次 login 才能创建连接。</p>"}},{"node":{"frontmatter":{"title":"微软在Build开发者大会上正式公布了React Native for Windows","publish":true,"cover":"https://github.com/microsoft/react-native-windows/raw/master/.github/hero2.png","showCover":true,"date":"2019-05-08","category":"frontend","url":"https://blog.kazge.com/frontend/2019/05/11/zh-windows.reactive-native/","author":"Ka","translator":"","tags":["windows","react native"],"priority":1},"html":"<p>React Native for Windows 开发的是原声的 Windows 应用。</p>\n<p>直接允许开发者使用 React / web 技能直接编写 Windows 平台 UWP 应用，且是 Windows 10 支持的所有设备（包括 PC、平板、二合一、Xbox、混合现实设备等）构建应用程序，从而提升用户体验 (UX)。当然，喜欢 C＃和 XAML 的开发人员可以继续使用 Xamarin 和 Xamarin.Forms 来实现类似的高性能需求。</p>\n<p>该项目此前是使用 C# 实现的，然而 React Native 的持续发展方向涉及 C++ 与 JS 之间更密切的交互，这很难通过单独的 C# 实现来实现。</p>\n<p>所以当前微软正在使用 C++ 重写 React Native for Windows，以获得更好的性能，同时更好地与暴露出来的 C++ React Native 核心保持一致。微软打算提供一个具有最小破坏性更改的兼容层，该层将支持使用 C# 编写的现有应用、view 管理器和原生模块。</p>\n<p>参见<a href=\"https://blog.kazge.com/javascript/2018/06/16/zh-microsoft-rewritten-office365-in-react-native/\">微软即将完成将 office365 用 react-native 方式重写</a></p>\n<p>此项目目前文档尚不太详细。</p>"}},{"node":{"frontmatter":{"title":"谈判失败：Oracle是如何杀死Java EE的？所有企业级Java的巨大损失！","publish":true,"cover":"","showCover":true,"date":"2019-05-05","category":"java","url":"https://www.jdon.com/52201","author":"banq","translator":"","tags":["javax"],"priority":2},"html":"<p>双方达成协议：Eclipse和Oracle已经同意JakartaEE社区不能再开发javax 包名称空间。同样，Jakarta EE规范也不能使用现有规范名称等Java商标。</p>\n<p>业内认为：这不只是JavaEE和JakartaEE之争，<strong>波及到Spring框架，仅仅Spring Framework就有2545个javax导入</strong>，这是所有企业级Java的巨大损失。</p>"}},{"node":{"frontmatter":{"title":"微软旗下Citus Data发布postgres自动故障转移插件pg_auto_failover","publish":true,"cover":"https://github.com/citusdata/pg_auto_failover/raw/master/docs/pg_auto_failover-arch.png?raw=true","showCover":true,"date":"2019-05-06","category":"database","url":"https://cloudblogs.microsoft.com/opensource/2019/05/06/introducing-pg_auto_failover-postgresql-open-source-extension-automated-failover-high-availability/","author":"Lukas Fittl","translator":"","tags":["postgres"],"priority":2},"html":"<p>pg<em>auto</em>failover 包含以下部分:</p>\n<ul>\n<li>PostgreSQL 扩展 pgautofailover</li>\n<li>PostgreSQL 运行的 pg<em>auto</em>failover 监视器(monitor)服务</li>\n<li>pg<em>auto</em>failover 守护进程操作 PostgreSQL 示例</li>\n</ul>\n<p>支持 Postgres 10 及以后版本</p>"}},{"node":{"frontmatter":{"title":"运维upsplash的开销","publish":true,"cover":"","showCover":true,"date":"2019-05-12","category":"devops","url":"https://blog.kazge.com/devops/2019/05/12/zh-cost-of-unsplash/","author":"Luke Chesser","translator":"","tags":["cost"],"priority":1},"html":"<h2 id=\"2016-年的统计每月：\"><a href=\"#2016-%E5%B9%B4%E7%9A%84%E7%BB%9F%E8%AE%A1%E6%AF%8F%E6%9C%88%EF%BC%9A\" 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>2016 年的统计(每月)：</h2>\n<ul>\n<li>\n<p>Web 服务器: $2,731.23</p>\n</li>\n<li>\n<p>监控: $630.00</p>\n</li>\n<li>\n<p>数据处理: $1,000.00</p>\n</li>\n<li>\n<p>图片服务: $11,170.00</p>\n</li>\n<li>\n<p>其他: $2,127.39</p>\n<p><strong>总计 (美元/每月): $17,658.62</strong></p>\n</li>\n</ul>\n<h2 id=\"2019-年的统计每月\"><a href=\"#2019-%E5%B9%B4%E7%9A%84%E7%BB%9F%E8%AE%A1%E6%AF%8F%E6%9C%88\" 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>2019 年的统计(每月):</h2>\n<ul>\n<li>\n<p>Web 服务器: $29,763</p>\n</li>\n<li>\n<p>监控: $7,679</p>\n</li>\n<li>\n<p>数据处理: $15,223</p>\n</li>\n<li>\n<p>图片服务: $42,408</p>\n</li>\n<li>\n<p>其他: $3,580</p>\n<p><strong>总计 (美元/每月): $98,653</strong></p>\n</li>\n</ul>\n<p>花费差不多是 2016 年的 5 倍。然而吞吐量却是 2016 年的 12 倍。</p>\n<p>钱主要花在图片服务上。</p>"}}]}}