{"pageContext":{"index":141,"total":364,"name":"2022-01-16","items":[{"node":{"frontmatter":{"title":"400 美元的价格每月处理 80TB 和 500 万次页面浏览量","publish":true,"cover":"https://blog.polyhaven.com/wp-content/uploads/2022/01/2022-01-05_16-27-17_firefox.png","showCover":true,"date":"2022-01-16","category":"devops","url":"https://blog.polyhaven.com/how-we-handle-80tb-and-5m-page-views-a-month-for-under-400","author":"polyhaven","translator":"","tags":["cost"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"Node.js 复杂架构的资源在哪里","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"nodejs","url":"https://news.ycombinator.com/item?id=29734398","author":"lkrubner, aristofun, HNers","translator":"","tags":["resources"],"priority":1},"html":"<ul>\n<li>\n<p>你不需要围绕什么实践是最好的或我们如何设计另一个 Abstract Instance Builder Factory Strategy 类等进行所有那些无意义的辩论。</p>\n</li>\n<li>\n<p>大多数时候 NodeJS 都可以正常工作。除非您面临一些特定的独特挑战，否则几乎没有什么可讨论的。</p>\n</li>\n<li>\n<p>您只需编写干净的单线程代码，它就可以按预期工作。而且通常只是水平扩展至非常高的流量。</p>\n</li>\n<li>\n<p>更改和开发经验的成本有时比 Java/Scala 堆栈要好得多。</p>\n</li>\n<li>\n<p>因此，您不必提前考虑 120 个令人惊叹的类和接口——您可以根据需求来扩展您的设计。</p>\n</li>\n<li>\n<p>关于瓶颈——唯一的 nodejs 瓶颈是纯同步计算，所以永远不要用繁重的算法阻塞线程，你就可以开始了。</p>\n</li>\n<li>\n<p>我说的是个人经验。它只是不同的，更少的开销，思考任务和世界的方式。</p>\n</li>\n</ul>"}},{"node":{"frontmatter":{"title":"Ohm：用于构建解析器、解释器和编译器的库和语言","publish":true,"cover":"https://camo.githubusercontent.com/f7e945579fc94007065fca4df3b9307288613397c96662b6cc693e70ed4b1038/687474703a2f2f686172632e6769746875622e696f2f2f6f686d2f646f632f696d616765732f696e7374616e74696174696e672d6772616d6d6172732e706e67","showCover":true,"date":"2022-01-16","category":"javascript","url":"https://github.com/11ty/eleventy/","author":"HARC","translator":"","tags":["language"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"3d地理阴影地图","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"fun","url":"https://shademap.app/","author":"shademap","translator":"","tags":["map"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"React-Grid-Layout —  可拖动布局网格组件","publish":true,"cover":"https://camo.githubusercontent.com/c4c5ad848e7f3cbc45c44a115b0ab01ff36e81898893b1177440ae3522e40eb4/687474703a2f2f692e696d6775722e636f6d2f6f6f314e5436632e676966","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/react-grid-layout/react-grid-layout","author":"RGL","translator":"","tags":["react"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"SQIP：具有矢量支持的可插拔图像转换器","publish":true,"cover":"https://github.com/axe312ger/sqip/raw/master/demo/example.jpg","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/axe312ger/sqip","author":"Benedikt Rötsch","translator":"","tags":["picture"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"active-mdx 使用mdx作为数据库","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/soederpop/active-mdx","author":"Jonathan Soeder","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"active-win - 获得活动窗口的元数据 - 支持mac,win,linux","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"nodejs","url":"https://github.com/sindresorhus/active-win","author":"Sindre Sorhus","translator":"","tags":["window"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"browsix - 浏览器上的unix系统","publish":true,"cover":"https://github.com/plasma-umass/browsix/raw/master/doc/img/shell.png","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/plasma-umass/browsix","author":"PLASMA @ UMass","translator":"","tags":["browser"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"calories-in - 开源饮食控制管理","publish":true,"cover":"https://github.com/vangelov/calories-in/raw/master/devices-preview.png","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/vangelov/calories-in","author":"Vladimir Angelov","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"colours.js和faker.js开发人员引入了恶作剧提交以发泄不满","publish":true,"cover":"https://www.bleepstatic.com/images/news/u/1164866/2022/January-2022/colors-faker/faker-liberty.jpeg","showCover":true,"date":"2022-01-16","category":"nodejs","url":"https://www.bleepingcomputer.com/news/security/dev-corrupts-npm-libs-colors-and-faker-breaking-thousands-of-apps/","author":"Ax Sharma","translator":"","tags":["npm"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"danfojs - 类似python的panda的工具","publish":true,"cover":"https://user-images.githubusercontent.com/29900845/134811659-25ff6b05-8e0d-415f-a60c-03ab1d33fd71.jpeg","showCover":true,"date":"2022-01-16","category":"javascript","url":"https://github.com/javascriptdata/danfojs","author":"JSdata","translator":"","tags":["data"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"eleventy - javacript静态站点生成器类似Jekyll","publish":true,"cover":"https://camo.githubusercontent.com/5189518a02b621b89a69c57b34db98b0ce18686e842ab79d49ef14a9e0d33d8b/68747470733a2f2f7777772e313174792e6465762f696d672f6c6f676f2d6769746875622e706e67","showCover":true,"date":"2022-01-16","category":"javascript","url":"https://github.com/11ty/eleventy/","author":"Eleventy","translator":"","tags":["site"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"elf - 反应式状态管理","publish":true,"cover":"https://github.com/ngneat/elf/raw/master/elf.png","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/ngneat/elf","author":"ngneat","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"deno_lint - 基于Rust用于JS和TS的快速Linter","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"deno","url":"https://github.com/denoland/deno_lint","author":"Deno Land","translator":"","tags":["lint"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"gitalias - git命令行别名","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"devops","url":"https://github.com/GitAlias/gitalias","author":"Git Alias","translator":"","tags":["git"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-grid-heatmap — 流行的热图数据可视化","publish":true,"cover":"https://raw.githubusercontent.com/arunghosh/react-grid-heatmap/master/example/screenshot.png","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/arunghosh/react-grid-heatmap","author":"Arun Ghosh","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"mouseable - 用鼠标代替键盘","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"fun","url":"https://github.com/wirekang/mouseable","author":"wirekang","translator":"","tags":["keyboard"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-query-helper - reqct query帮助方法","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://github.com/dano-inc/react-query-helper","author":"dano-inc","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"typescript-express-starter - express的typescript项目模板","publish":true,"cover":"https://github.com/ljlm0402/typescript-express-starter/raw/images/logo.jpg","showCover":true,"date":"2022-01-16","category":"nodejs","url":"https://github.com/ljlm0402/typescript-express-starter","author":"아구몬","translator":"","tags":["express"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"robots-parser - robots.txt解析器","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"nodejs","url":"https://github.com/samclarke/robots-parser","author":"Sam","translator":"","tags":["robot"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"timequeue.js - 具有自定义并发和时间限制的队列","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"nodejs","url":"https://github.com/fent/timequeue.js","author":"fent","translator":"","tags":["fent"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"了解 UUID、ULID 和字符串表示","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"laws","url":"https://sudhir.io/uuids-ulids","author":"Sudhir Jonathan","translator":"","tags":["uuid"],"priority":1},"html":"<p> UUID 的两个主要问题，即 1）所有生成的 ID 的历史冲突可能性，以及 2）完全丧失局部性</p>\n<p> ULID基于时间</p>\n<p><a href=\"https://datatracker.ietf.org/doc/html/draft-peabody-dispatch-new-uuid-format-01\">新的 UUID 格式提议</a></p>"}},{"node":{"frontmatter":{"title":"我们真正使用过的仅有的两个hook","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://blog.molecule.dev/the-only-custom-react-hooks-we-use/","author":"LUKE HAGER","translator":"","tags":["react"],"priority":1},"html":"<ul>\n<li><a href=\"https://github.com/Molecule-dev/molecule-app/tree/_e745872f9c566d0b7c6bdfce748f2ab4b809c0ca/src/hooks\">useAsyncExtendedState</a>  > 编者认为没必要，不应该使用object状态</li>\n<li>usePromise</li>\n</ul>"}},{"node":{"frontmatter":{"title":"太棒了 - 点击地图查看一滴雨的流程","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"other","url":"https://river-runner-global.samlearner.com","author":"samlearner","translator":"","tags":["map"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"免费电子书 - 使用Kaboom.js创建游戏","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"javascript","url":"https://makejsgames.com/#articles","author":"Replit and Ritza","translator":"","tags":["game"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"浏览器上的代码编辑器Ace、CodeMirror 和 Monacob比较","publish":true,"cover":"https://blog.replit.com/images/code-editors/repl-dot-it.png","showCover":true,"date":"2022-01-16","category":"frontend","url":"https://blog.replit.com/code-editors","author":"Faris Masad","translator":"","tags":["IDE"],"priority":1},"html":"<p>推荐CodeMirror,在手机里运行也还不错</p>"}},{"node":{"frontmatter":{"title":"有毒的企业文化正在推动众多的辞职","publish":true,"cover":"https://sloanreview.mit.edu/wp-content/uploads/2022/01/Sull_Great_Resignation_Fig_3.png","showCover":true,"date":"2022-01-16","category":"career","url":"https://sloanreview.mit.edu/article/toxic-culture-is-driving-the-great-resignation/","author":"Donald Sull, Charles Sull, and Ben Zweig","translator":"","tags":["culture"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"谁写的这个狗屎代码","publish":true,"cover":"","showCover":true,"date":"2022-01-16","category":"career","url":"https://www.heltweg.org/posts/who-wrote-this-shit","author":"Philip Heltweg","translator":"","tags":["code"],"priority":1},"html":"<blockquote>\n<p>对于所有当面抱怨我的垃圾代码的初级开发人员：我原谅你，我理解。</p>\n</blockquote>"}}]}}