{"pageContext":{"index":212,"total":364,"name":"2023-05-28","items":[{"node":{"frontmatter":{"title":"2023 年 Node.js 性能状况","publish":true,"cover":"https://res.cloudinary.com/rafaelgss/image/upload/v1684174830/blog/state-of-nodejs-performance-2023/compare-util-16-18-encode-bar_e0o0fy.png","showCover":null,"date":"2023-05-28","category":"nodejs","url":"https://blog.rafaelgss.dev/state-of-nodejs-performance-2023","author":"Rafael Gonzaga","translator":"","tags":["performance"],"priority":2},"html":"<p>尽管 Node.js 流和加密模块出现了一些回退，但与以前的版本相比，Node.js 20 在性能上有了显著改进。\n在属性访问、URL 解析、缓冲区/文本编码和解码、启动/进程生命周期时间和 EventTarget 等 JavaScript 操作中有显著的增强。</p>"}},{"node":{"frontmatter":{"title":"20M行数据在 2023 年仍然是 MySQL 表的有效软限制吗","publish":true,"cover":"https://yishenggong.files.wordpress.com/2023/05/image-28.png","showCover":null,"date":"2023-05-28","category":"database","url":"https://yishenggong.com/2023/05/22/is-20m-of-rows-still-a-valid-soft-limit-of-mysql-table-in-2023","author":"","translator":"","tags":["mysql"],"priority":1},"html":"<p>作者认为:在优化前提条件下，不是软限制</p>"}},{"node":{"frontmatter":{"title":"50 年代和 60 年代的早期计算机艺术","publish":true,"cover":"https://images.squarespace-cdn.com/content/v1/5f33cddd6aff255aabb0c6cd/270a09e3-98b8-49f8-942c-402d710d2dfa/whitney+4.png?format=1000w","showCover":null,"date":"2023-05-28","category":"other","url":"https://www.amygoodchild.com/blog/computer-art-50s-and-60s","author":"Amy Goodchild","translator":"","tags":["other"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"DB-GPT - 另一个百分百本地GPT(国人开发)","publish":true,"cover":"https://camo.githubusercontent.com/d9eea66805e44e7a6cef3dcc5bff24f97794374bbebc3e275decd2f65792f1e4/68747470733a2f2f6170692e737461722d686973746f72792e636f6d2f7376673f7265706f733d6373756e6e792f44422d475054","showCover":null,"date":"2023-05-28","category":"AI","url":"https://github.com/csunny/DB-GPT","author":"magic.chen","translator":"","tags":["gpt"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"Deno 1.34：deno 编译支持 npm 包","publish":true,"cover":"https://deno.com/blog/v1.34/cover.svg","showCover":null,"date":"2023-05-28","category":"javascript","url":"https://deno.com/blog/v1.34","author":"Andy Jiang, Bartek Iwańczuk, David Sherret","translator":"","tags":["other"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"Memory Spy - 运行c程序的playground并显示内存结构","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"other","url":"https://jvns.ca/blog/2023/05/25/new-playground--memory-spy","author":"Julia Evans","translator":"","tags":["c"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"StableStudio - Stability AI 官方开源的 DreamStudio 开源版","publish":true,"cover":"https://github.com/Stability-AI/StableStudio/raw/main/misc/GenerateScreenshot.png","showCover":null,"date":"2023-05-28","category":"AI","url":"https://github.com/Stability-AI/StableStudio","author":"Stability AI","translator":"","tags":["generate"],"priority":2},"html":"<p><a href=\"https://dreamstudio.ai/\">DreamStudio</a>也是Stability AI开发的</p>"}},{"node":{"frontmatter":{"title":"World of Goo(粘粘世界)重制版上线","publish":true,"cover":"https://play-lh.googleusercontent.com/NR8qP9OUYh8cBcsvOJu1wzpkyME_uDNeOYCHI2c1L9ERvsWTTLwWpfvX5Zl13ivsCBE=w1052-h592-rw","showCover":null,"date":"2023-05-28","category":"fun","url":"https://play.google.com/store/apps/details?id=com.netflix.NGP.WorldofGooHD","author":"Netflix","translator":"","tags":["game"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"awesome-load-management - 与软件服务中的负载管理相关的合集","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"devops","url":"https://github.com/StanzaSystems/awesome-load-management","author":"StanzaSystems","translator":"","tags":["load"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"databerry - 用于构建自定义 LLM agent的无代码平台","publish":true,"cover":"https://github.com/gmpetrov/databerry/raw/main/public/og-image.png","showCover":null,"date":"2023-05-28","category":"AI","url":"https://github.com/gmpetrov/databerry","author":"Georges Petrov","translator":"","tags":["llm"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"ecoute - 使用openAI的即时翻译并提供回复建议程序","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"AI","url":"https://github.com/SevaSk/ecoute","author":"Seva","translator":"","tags":["translation"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"devicescript - 用于微型物联网设备的 TypeScript","publish":true,"cover":"https://user-images.githubusercontent.com/4175913/228997575-122d6ad0-f37e-4d4e-ab79-3d8f680ed99d.mp4","showCover":null,"date":"2023-05-28","category":"javascript","url":"https://github.com/microsoft/devicescript","author":"microsoft","translator":"","tags":["IoT"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"javy - javascript编译为Webassembly","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"other","url":"https://github.com/bytecodealliance/javy","author":"Bytecode Alliance","translator":"","tags":["other"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"joplin - 开源evernote替代","publish":true,"cover":"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/home-top-img.png","showCover":null,"date":"2023-05-28","category":"nodejs","url":"https://github.com/laurent22/joplin/","author":"Laurent Cozic","translator":"","tags":["markdown"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"jumpy - rust写的2d游戏","publish":true,"cover":"https://user-images.githubusercontent.com/24392180/151969075-399e9fea-e2de-4340-96a4-0a0e5b79c281.gif","showCover":null,"date":"2023-05-28","category":"rust","url":"https://github.com/fishfolk/jumpy","author":"Fish Folk","translator":"","tags":["game"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"menubar - 快速访问ChatGPT,Bard,Claude等功能的桌面程序","publish":true,"cover":"https://user-images.githubusercontent.com/6764957/238612518-753c6128-d978-4bb4-8642-588d42121ff5.png","showCover":null,"date":"2023-05-28","category":"AI","url":"https://github.com/smol-ai/menubar","author":"smol-ai","translator":"","tags":[null],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"pastel - 基于Ink的 CLI 类 Next.js 框架","publish":true,"cover":"https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg","showCover":null,"date":"2023-05-28","category":"frontend","url":"https://github.com/vadimdemedes/pastel","author":"Vadim Demedes","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"privateGPT - 百分百本地私人GPT","publish":true,"cover":"https://user-images.githubusercontent.com/721666/236942256-985801c9-25b9-48ef-80be-3acbb4575164.png","showCover":null,"date":"2023-05-28","category":"AI","url":"https://github.com/imartinez/privateGPT","author":"Iván Martínez","translator":"","tags":["gpt"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"为颜色添加不透明度","publish":true,"cover":"https://i0.wp.com/chriscoyier.net/wp-content/uploads/2023/05/gradient-bad.webp?w=1410&ssl=1","showCover":null,"date":"2023-05-28","category":"frontend","url":"https://chriscoyier.net/2023/05/12/add-opacity-to-an-existing-color/","author":"Chris Coyier","translator":"","tags":["css"],"priority":1},"html":"<div class=\"gatsby-highlight\" data-language=\"css\"><pre class=\"language-css\"><code class=\"language-css\"><span class=\"token property\">background</span><span class=\"token punctuation\">:</span> <span class=\"token function\">color-mix</span><span class=\"token punctuation\">(</span>in oklch, #f06d06, #f06d0600 50%<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"创建自己的可互动房间","publish":true,"cover":"https://firebasestorage.googleapis.com/v0/b/things-roomsxyz-projects-v2/o/users%2FLGipmv3Ms5bZw5LwPN6Zrg9ZoRE3%2Fog-images%2Ffetch.png?alt=media","showCover":null,"date":"2023-05-28","category":"fun","url":"https://rooms.xyz/play","author":"rooms.xyz","translator":"","tags":["game"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"各种css背景样式","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"frontend","url":"https://css-pattern.com/","author":"Temani Afif","translator":"","tags":["css"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"基于 Prosemirror 和 Tiptap 的概念式基于block的可扩展文本编辑器","publish":true,"cover":"https://github.com/TypeCellOS/BlockNote/raw/readme/.resources/dragdrop.gif?raw=true","showCover":null,"date":"2023-05-28","category":"frontend","url":"https://github.com/TypeCellOS/BlockNote","author":"TypeCell","translator":"","tags":["editor"],"priority":1},"html":"<p>block - 类似onenote里面的文本块可以拖拽</p>"}},{"node":{"frontmatter":{"title":"如何创建自定义 Debounce Hook","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"frontend","url":"https://www.telerik.com/blogs/how-to-create-custom-debounce-hook-react","author":"John Au-Yeung","translator":"","tags":["react"],"priority":1},"html":"<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> useEffect<span class=\"token punctuation\">,</span> useRef<span class=\"token punctuation\">,</span> useState <span class=\"token punctuation\">}</span> <span class=\"token keyword\">from</span> <span class=\"token string\">\"react\"</span><span class=\"token punctuation\">;</span>\n\n<span class=\"token keyword\">const</span> <span class=\"token function-variable function\">useDebounce</span> <span class=\"token operator\">=</span> <span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">,</span> delay <span class=\"token operator\">=</span> <span class=\"token number\">500</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n  <span class=\"token keyword\">const</span> <span class=\"token punctuation\">[</span>debouncedValue<span class=\"token punctuation\">,</span> setDebouncedValue<span class=\"token punctuation\">]</span> <span class=\"token operator\">=</span> <span class=\"token function\">useState</span><span class=\"token punctuation\">(</span><span class=\"token string\">\"\"</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n  <span class=\"token keyword\">const</span> timerRef <span class=\"token operator\">=</span> <span class=\"token function\">useRef</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n  <span class=\"token function\">useEffect</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n    timerRef<span class=\"token punctuation\">.</span>current <span class=\"token operator\">=</span> <span class=\"token function\">setTimeout</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token function\">setDebouncedValue</span><span class=\"token punctuation\">(</span>value<span class=\"token punctuation\">)</span><span class=\"token punctuation\">,</span> delay<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n    <span class=\"token keyword\">return</span> <span class=\"token punctuation\">(</span><span class=\"token punctuation\">)</span> <span class=\"token operator\">=></span> <span class=\"token punctuation\">{</span>\n      <span class=\"token function\">clearTimeout</span><span class=\"token punctuation\">(</span>timerRef<span class=\"token punctuation\">.</span>current<span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n    <span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span>\n  <span class=\"token punctuation\">}</span><span class=\"token punctuation\">,</span> <span class=\"token punctuation\">[</span>value<span class=\"token punctuation\">,</span> delay<span class=\"token punctuation\">]</span><span class=\"token punctuation\">)</span><span class=\"token punctuation\">;</span>\n\n  <span class=\"token keyword\">return</span> debouncedValue<span class=\"token punctuation\">;</span>\n<span class=\"token punctuation\">}</span><span class=\"token punctuation\">;</span></code></pre></div>"}},{"node":{"frontmatter":{"title":"模拟鱼缸生态坏境","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"fun","url":"https://orb.farm/","author":"orb.farm","translator":"","tags":["game"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"理解React Concurrency","publish":true,"cover":"https://www.bbss.dev/images/react-concurrency/cover.png","showCover":null,"date":"2023-05-28","category":"frontend","url":"https://www.bbss.dev/posts/react-concurrency/","author":"Slava Knyazev","translator":"","tags":["react"],"priority":2},"html":"<p>从概念上讲，状态更新会检测它们是否包含在 startTransition 中，以决定是安排阻塞渲染还是并发渲染。\n从概念上讲，useDeferredValue 是一种去抖动效果</p>"}},{"node":{"frontmatter":{"title":"我们如何使用React Three Fiber创建Storybook Day庆祝页3D动画","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"frontend","url":"https://varun.ca/storybook-day/","author":"VARUN VACHHAR","translator":"","tags":["react"],"priority":1},"html":"<p><a href=\"https://github.com/storybookjs/storybook-day/tree/main/components/BlocksScene\">源码</a></p>"}},{"node":{"frontmatter":{"title":"西雅图亚马逊员工计划因强制重返办公室、裁员而罢工","publish":true,"cover":"https://images.seattletimes.com/wp-content/uploads/2023/05/05222023_1_143117.jpg?d=1536x988","showCover":null,"date":"2023-05-28","category":"other","url":"https://www.seattletimes.com/business/seattle-amazon-workers-plan-walkout-over-return-to-office-layoffs","author":"seattletimes","translator":"","tags":["walkout"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"运行 100 万个并发任务需要多少内存","publish":true,"cover":"","showCover":null,"date":"2023-05-28","category":"nodejs","url":"https://pkolaczk.github.io/memory-consumption-of-async/","author":"Piotr Kołaczkowski","translator":"","tags":["performance"],"priority":1},"html":"<blockquote>\n<p>rust和nodejs稳,传说中的elixir不怎么样啊</p>\n</blockquote>"}}]}}