{"pageContext":{"index":102,"total":364,"name":"2021-04-18","items":[{"node":{"frontmatter":{"title":"AWS 推出 OpenSearch 基于 Elasticsearch 的开源分支","publish":true,"cover":"https://static.oschina.net/uploads/space/2021/0413/083314_8yWU_2720166.png","showCover":true,"date":"2021-04-18","category":"devops","url":"https://www.oschina.net/news/137178/aws-opensearch","author":"局长@OSCHINA","translator":"","tags":["search"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"JavaScript开发人员的15个DevTool秘籍","publish":true,"cover":"https://blog.asayer.io/static/5308f484efcfe98a8e83411d9c7aee68/9935f/dom-change.png","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://blog.asayer.io/15-devtool-secrets-for-javascript-developers","author":"Craig Buckler","translator":"","tags":["devtool"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"GIF图解OAuth 2.0流程","publish":true,"cover":"https://res.cloudinary.com/practicaldev/image/fetch/s--AHu-wF84--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2j7kqc7qabtfpl250jf2.gif","showCover":true,"date":"2021-04-18","category":"other","url":"https://dev.to/hem/oauth-2-0-flows-explained-in-gifs-2o7a","author":"Hem","translator":"","tags":["oauth"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"CSS与CSS-in-JS性能比较","publish":true,"cover":"https://pustelto.com/blog/css-vs-css-in-js-perf/3e337dc5-1216.webp","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://pustelto.com/blog/css-vs-css-in-js-perf/","author":"Tomas Pustelnik","translator":"","tags":["css"],"priority":2},"html":"<p>我相信我们（开发人员）应该更多地考虑我们为项目选择的工具的影响。下次我将开始一个新项目时，将不再使用运行时CSS-in-JS。我将使用好的旧CSS或使用一些构建时CSS-in-JS（例如<a href=\"https://github.com/callstack/linaria\">linaria</a>和<a href=\"https://github.com/seek-oss/vanilla-extract\">seek</a>）替代方法来使样式脱离JS。</p>"}},{"node":{"frontmatter":{"title":"Cloudflare Pages 正式发布","publish":true,"cover":"https://blog.cloudflare.com/content/images/2021/04/image1-9.png","showCover":true,"date":"2021-04-18","category":"devops","url":"https://blog.cloudflare.com/cloudflare-pages-ga/","author":"Rita Kozlov","translator":"","tags":["website"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"ccy-icons 世界各国货币图标","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://github.com/DominicTobias/ccy-icons","author":"Dominic Tobias","translator":"","tags":["icon"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"SkinDeep - AI去图片人物纹身","publish":true,"cover":"https://camo.githubusercontent.com/2ec52f4a3722fd0ce6492a56191896a56b38296d906ebff91f7e22dbc9625b77/68747470733a2f2f692e696d6775722e636f6d2f525953426863672e6a7067","showCover":true,"date":"2021-04-18","category":"AI","url":"https://github.com/vijishmadhavan/SkinDeep","author":"Vijish Madhavan","translator":"","tags":["vision"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"fast-folder-size 快速计算文件夹大小","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"nodejs","url":"https://www.oschina.net/news/137178/aws-opensearch","author":"Simone Busoli","translator":"","tags":["folder"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"leva - 输入控制UI库","publish":true,"cover":"https://raw.githubusercontent.com/gsimone/leva/master/hero.png","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://github.com/pmndrs/leva","author":"Poimandres","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"middy - AWS lambda中间件","publish":true,"cover":"https://raw.githubusercontent.com/middyjs/middy/main/docs/img/middy-logo.png","showCover":true,"date":"2021-04-18","category":"nodejs","url":"https://github.com/pmndrs/leva","author":"Middy","translator":"","tags":["serverless"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"react-google-places-autocomplete 自动提示google Map地址组件","publish":true,"cover":"https://raw.githubusercontent.com/tintef/react-google-places-autocomplete/master/docs/static/img/logo.svg","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://github.com/Tintef/react-google-places-autocomplete","author":"Tintef","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-native-bootsplash - React Native APP启动画面组件","publish":true,"cover":"https://raw.githubusercontent.com/zoontek/react-native-bootsplash/HEAD/docs/ios_demo.gif?raw=true","showCover":true,"date":"2021-04-18","category":"mobile","url":"https://github.com/zoontek/react-native-bootsplash","author":"Mathieu Acthernoene","translator":"","tags":["react native"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"personal-management-system 开源个人数据管理系统","publish":true,"cover":"https://camo.githubusercontent.com/46ef05e7fc8ccba1fb2c27d72802d891566f6871dd487e4e0e194eec0533c68d/68747470733a2f2f766f6c6d6172672e6769746875622e696f2f696d672f70726f6a6563742d6578616d706c652d64617368626f6172642e6a7067","showCover":true,"date":"2021-04-18","category":"AI","url":"https://github.com/Volmarg/personal-management-system/","author":"Dariusz","translator":"","tags":["personal data"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"nodejs考虑整合yarn","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"nodejs","url":"https://github.com/nodejs/node/pull/37277","author":"nodejs","translator":"","tags":["yarn"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"react-parallax-tilt - 3d提示特效","publish":true,"cover":"https://github.com/mkosir/react-parallax-tilt/raw/master/demo.gif","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://github.com/mkosir/react-parallax-tilt","author":"mkosir","translator":"","tags":["react"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"不依赖Docker的Docker","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"devops","url":"https://fly.io/blog/docker-without-docker/","author":"Thomas Ptacek","translator":"","tags":["docker"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"分享 - 将Sentry的整个前端转换为TypeScript","publish":true,"cover":"https://images.ctfassets.net/em6l9zw4tzag/SBDOSDuCKafM1jklm0kIO/5f1d32747e2f39e1811a1f86dcfb35d1/Screenshot_2021-04-01_at_10.52.18.png","showCover":true,"date":"2021-04-18","category":"javascript","url":"https://blog.sentry.io/2021/04/12/slow-and-steady-converting-sentrys-entire-frontend-to-typescript","author":"Priscila Oliveira and Mark Story","translator":"","tags":["typescript"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"为什么某些开发人员通过仅使用网络避免了应用商店的头痛问题","publish":true,"cover":"https://images.fastcompany.net/image/upload/w_1153,ar_16:9,c_fill,g_auto,f_auto,q_auto,fl_lossy/wp-cms/uploads/2021/04/p-1-why-some-app-makers-are-skipping-the-app-store-and-starting-on-the-web.jpg","showCover":true,"date":"2021-04-18","category":"mobile","url":"https://www.fastcompany.com/90623905/ios-web-apps","author":"JARED NEWMAN","translator":"","tags":["PWA"],"priority":2},"html":"<p>iOS Web应用程序无法传递通知，并且如果将它们安装在主屏幕上，则它们不支持后台音频播放。它们也未与iOS中的“共享”功能集成，也不会出现在iOS 14的“应用程序库”部分中。相比之下，Android支持大多数这些功能，甚至允许网站包含“安装应用程序”按钮。</p>\n<p>Safari仅允许Web应用程序使用最多1 GB的临时存储空间，此后用户必须以200 MB的增量批准额外的存储空间。因此，想要共享大文件（或者可能使用基于Web的工具编辑大视频）的用户将不得不反复点击提示以提供足够的存储空间。</p>"}},{"node":{"frontmatter":{"title":"分享 - 我们如何在Redis中使用分片的限制器扩展GitHub API","publish":true,"cover":"https://github.blog/wp-content/uploads/2019/03/engineering-social.png?w=1201","showCover":true,"date":"2021-04-18","category":"database","url":"https://github.blog/2021-04-05-how-we-scaled-github-api-sharded-replicated-rate-limiter-redis/","author":"Robert Mosolgo","translator":"","tags":["redis"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"云时代没人在乎操作系统","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"devops","url":"https://www.lastweekinaws.com/blog/nobody-cares-about-the-operating-system-anymore/","author":"Corey","translator":"","tags":["system"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程 - 在现代JavaScript中使用字符串","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"javascript","url":"https://fly.io/blog/docker-without-docker/","author":"Dave","translator":"","tags":["string"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程 - 使用Next.js和ThemeUI重建我们的Jekyll网站","publish":true,"cover":"https://ghostinspector.com/assets/images/blog/rebuilding-website@2x.png","showCover":true,"date":"2021-04-18","category":"nodejs","url":"https://ghostinspector.com/blog/rebuilding-jekyll-website-next-js-theme-ui/","author":"Brandon","translator":"","tags":["nextjs"],"priority":2},"html":""}},{"node":{"frontmatter":{"title":"用于Meteorjs的queue","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"nodejs","url":"https://github.com/wildhart/meteor.jobs","author":"wildhart","translator":"","tags":["meteorjs"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"实用HTML技巧","publish":true,"cover":"https://markodenic.com/wp-content/uploads/2020/04/html-1-e1613893702690.png","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://markodenic.com/html-tips","author":"Marko","translator":"","tags":["html"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"教程 - 实现流媒体站点","publish":true,"cover":"https://res.cloudinary.com/indysigner/image/fetch/f_auto,q_auto/w_2000/https://cloud.netlifyusercontent.com/assets/344dbf88-fdf9-42bb-adb4-46f01eedd629/d2b6e82b-9aa5-4c25-8f03-56c8bac69b74/01-nuxtjs-video-preview.jpg","showCover":true,"date":"2021-04-18","category":"javascript","url":"https://www.smashingmagazine.com/2021/04/building-video-streaming-app-nuxtjs-node-express/","author":"Deven","translator":"","tags":["stream"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"新的HTTP方法（草案）- HTTP SEARCH","publish":true,"cover":"https://httptoolkit.tech/static/790e3bfbdec7777a69131c5f8f42554b/d829f/binoculars.webp","showCover":true,"date":"2021-04-18","category":"devops","url":"https://httptoolkit.tech/blog/http-search-method/","author":"Tim Perry","translator":"","tags":["http"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"纯css加载动画合辑","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"frontend","url":"https://bit.dev/joshk/react-spinners-css","author":"Josh Kuttler","translator":"","tags":["css"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"超级bug或致航空灾难:将 Miss 视为儿童，造成载重计算错误","publish":true,"cover":"","showCover":true,"date":"2021-04-18","category":"other","url":"https://t.cj.sina.com.cn/articles/view/3172142827/bd130eeb01900s5ng","author":"云头条","translator":"","tags":["bug"],"priority":1},"html":""}},{"node":{"frontmatter":{"title":"选择 - Amazon RDS还是Amazon Aurora PostgreSQL兼容版","publish":true,"cover":"https://d2908q01vomqb2.cloudfront.net/887309d048beef83ad3eabf2a79a64a389ab1c9f/2021/04/07/Screen-Shot-2021-04-07-at-09.04.41.png","showCover":true,"date":"2021-04-18","category":"database","url":"https://aws.amazon.com/cn/blogs/database/is-amazon-rds-for-postgresql-or-amazon-aurora-postgresql-a-better-choice-for-me/","author":"Vivek Singh and Sagar Patel","translator":"","tags":["postgres"],"priority":2},"html":"<p>当您具有中小型工作负载时，适用于PostgreSQL的Amazon RDS是理想的选择。当您与数据库的并发连接受到限制时，它的效果最佳。如果您要从Oracle或Microsoft SQL Server等商业数据库引擎迁移，则Aurora PostgreSQL是一个更好的选择，因为它以较低的价格提供了匹配的性能。</p>"}}]}}