可如今现状是 GraphQL 不温不火,时不时又有新的文章介绍,不知道的还以为是什么新技术。...有没有这样一个功能,将这些接口做一下聚合,然后将结果的集合返回给前端呢?...,如 信息 无论你想要什么数据,一次请求便可满足。...Strapi Strapi 官方提供 GraphQL 插件 免去了配置的繁琐。...更具体的配置参见 GraphQL - Strapi Developer Documentation 这里我就选用 kuizuo/vitesse-nuxt-strapi 作为演示,并为其提供 graphQL
至此,我再也无法回过头来享受使用 REST 的工作了。 REST 有什么问题吗? 每个 REST API 都是独特的 公平地说,REST 甚至不是一个标准。...GraphQL 如何做得更好? 对于所有讨论过的问题,我倾向于认为,在 CRUD 应用程序中,有一种标准方式来生成和使用 API 会非常棒。...虽然 Netflix falcor 似乎在解决类似问题,它比 GraphQL 早几个月发布在 GitHub 上,也更早地引起我的注意,但很明显,似乎 GraphQL 赢了。...除了一些客户端库中存在的一些小问题(现在已经解决了)之外,我强烈推荐你仔细看看 GraphQL 在你的技术栈中可以提供什么。它已经出技术预览四年多了,而且这个生态系统正在变得更加强大。...由于 Apollo 客户端库架构简单,我能够将一个使用 React.js 与 Redux 的应用慢慢过渡到 React Apollo,一个组件一个组件的,只在有意义的时候才这样做。
简单的来说,它 它的工作模式是这样子的: GraphQL 对比 REST API 有什么好处?...我用动图来分别演示下REST和GraphQL是怎么样的一个过程。...创建GraphQL服务器的最终目标是: 允许查询通过图和节点的形式去获取数据。 是什么让我放弃了restful api?...了解清楚后我全面拥抱GraphQL GraphQL执行逻辑 有人会问: 使用了GraphQL就要完全抛弃REST了吗? GraphQL需要直接对接数据库吗?...你会在你下一个项目中引入Graphql并使用它吗? 你对Graphql还有什么疑惑的问题呢?
“我”为什么做测试 本篇所指的“我”,其实不光是作者本人,而是大多数从业软件测试的人员。 什么是测试?其实关于测试的名词解释,作者不再进行阐述。...为什么做测试?...也有一些是因为不满足当前自身行业的发展,被迫或主动的选择了测试,比如之前是做开发的,但是由于自己的开发能力不足或是不想天天加班等,才会转到测试。...,如何做的等。...本篇其实没有所谓的指导思想,看似说了一些,但好像什么都没有说,只是单纯的聊聊一些感受,也是想让同行反思一下,为什么要做测试,如何让自己的测试职业发展更好。为什么说如何让自己发展更好?
❝hi, 大家好, 我是徐小夕,之前和大家分享了很多「低代码可视化」和「前端工程化」相关的话题, 今天继续和大家聊聊「CMS」系统.❞ 内容管理系统 (「CMS」) 使没有强大技术背景的人也能够轻松发布内容...在本文中,我将和大家分享一下 「2022」 年使用的一些最佳 「Node.js CMS」,希望可以作为我们选择最佳 「CMS」 的指南。 什么是内容管理系统?...Strapi 「Strapi」 是一种流行、灵活且开源的无头 「CMS」,使我们能够创建丰富的数字体验。...「Strapi」 提供了 「REST」 和 「GraphQL API」,开发人员可以使用这些 「API」 来访问存储在其存储库中的内容。...特点: 完全可定制 REST 和 GraphQL API 插件市场 国际化支持 网址: https://strapi.io/ 2.
Strapi 5. Django Admin 6....AdminLTE 在项目中集成Web端数据库操作:推荐工具一览 大家好,我是猫头虎,今天和大家分享一些在Web项目中可以用来进行数据库增删改查操作的工具推荐。...接下来我将介绍几款优秀的工具,并提供一些简单的代码示例,帮助大家快速上手。 1....Hasura 简介:Hasura是一个开源的GraphQL引擎,可以自动生成GraphQL API,并且支持实时更新和权限管理。...Strapi 简介:Strapi是一个开源的Node.js框架,允许开发者快速构建可定制的API,并且有内置的管理面板。
REST & GraphQL API支持 Strapi 内置了一个强大的 RESTful API,开发人员可以使用它来创建和管理数据。...3.同时支持APIJSON,GraphQL,RESTFUL API 一些简单的查询可以使用RESTFUL,一些复杂的查询使用 GraphQL,大部分的CMS支持GraphQL,或者支持RESTFUL,但是...Graphql请求语法复杂,学习成本高,全新的格式需要从客户端到服务端全都支持,代码量很大,迁移风险也很大。...作为对Graphql的补充,MassCMS提供了apijson的访问形式。...最适合您的CMS是什么? 这可能很难回答,因为它完全取决于您的企业需求,技术知识和应用场景。
安装 strapi 直接使用官方提供的快速开始的模版,这里我使用 TypeScript 的模版,命令如下: npx create-strapi-app@latest my-api --quickstart...修改 strapi 管理界面为中文 接下来我们进行项目代码的配置,将界面设置为中文,使用自己熟悉的开发工具打开工程,这里我使用 VSCode,项目的结构如下图所示: 这里我使用了文件折叠的插件,才让下面那些配置文件显示成层级结构的...快速开发一套 CRUD 接口 创建模型 这里我就拿项目当中最常用的用户管理来说,首先我们需要一个用户表,点击 模型构建器,可以看到已经有一个 User 的集合类型,这个是 strapi 自己提供的,我们当前登录的用户的数据就存储在这个模型当中...filters[username]=xiao strapi 也提供非常丰富的插件,比如要使用 GraphQL,直接安装 GraphQL 插件即可。...实战用户注册接口 通过 strapi 我们已经得到了 user-profile 相关的增删改查 API 接口,但是在实际业务开发当中,不可能只有这种简单的增删改查接口,这里我带领大家实现一个用户注册的接口
为什么还需要Webify来折腾一番?...,保持静态访问,而又能在我新增修改文章的时候,站点能够自动更新。...为什么还需要Webify来折腾一番? 既然上面已经很酷了,为什么会有今天的文章,为什么还需要折腾一番? 原因也很简单:成本略高,为了不错的访问速度,你需要一台性能不错的虚拟机,一定的带宽。...具体以strapi为例子 strapi 数据发布 web hook到自定义的桥接服务。 桥接服务更新站点git。 Weify触发重新部署。...async read(size) { const result = await getPostsWithGraphql(`${cmsUrl}/graphql
这种能“动”的 SSG 自然是我所需要的,保持静态访问,而又能在我新增修改文章的时候,站点能够自动更新。绝佳!! 为什么还需要来Webify“折腾”一番?...既然上面已经很酷了,为什么会有今天的文章,为什么还需要折腾一番? 原因也很简单:成本略高,为了不错的访问速度,你需要一台性能不错的虚拟机,一定的带宽。对于一般个人博客,投入不划算。...cool~~ 问题是如果你的站点数据来源于类似 strapi 这种 serverless cms 怎么办?...具体以 strapi 为例子: strapi 数据发布 web hook到自定义的桥接服务。 桥接服务更新站点git。 Weify触发重新部署。...async read(size) { const result = await getPostsWithGraphql(`${cmsUrl}/graphql
书接上文:当我做 hackathon 时我在做什么(1)。 前文中提到,我做的第二个项目是个可视化的项目,名字叫 deneb。deneb 是天鹅座的一等星,也是夏季大三角和北十字两个星群的端点之一。...嗯,deneb - vega - altair,聪明的你一定想到了我为什么起这样一个名字: ? 为什么是 vega-lite? 在数据可视化这块,我自己走了不少弯路。...如果你需要能够对可视化的图表做简单的动画,plotly 也能胜任。 我一度以为 plotly 是我的真命天子,直到有一天我敲开了 altair [4] 这个潘多拉魔盒。...第五次撞墙:IElixir 和 jupyter notebook 完成 ex_polars 就像打完我自己的淮海战役一样,做 deneb 的过程是摧枯拉朽,几乎不费太大的力气。...最后,我成功解决了问题,并给 IElixir 的作者提交了一个 PR(还有什么比一个对已有开源项目的 PR 更能彰显 OSS-a-thon 的意义的?): ?
首先,互联网上有很多镜像,我给他们定义了2种分类: 1. 操作系统镜像(包括常见的Centos,Ubuntu,Debian,Alpine,Busybox等)。.../bin/sh -c #(nop) ADD file:b3ebbe8bd304723d4… 204MB 总结来看,就是直接把文件追加到容器里面,然后一个CMD里面加了个bash,至于这个文件里面有什么内容呢...其次我们可以分析那些中间件镜像是如何做的。...然后其他中间件镜像,是不是可以在这个操作系统镜像基础上接着做呢?...2.这个是虚拟机生成的镜像,所以和标准的Centos7.9(200M)的差距还是很大的,当然我这个操作系统里面自带的东西也比标准的镜像更多。
我本来计划为 quenya 项目支持 GRPC backend,之前已经有了思路,但一直没时间做。...当我写到 groupby_apply 时,我发现:额错了,额真滴错了。...这是个非常合理的需求,然而 rustler 并不允许我这么做。...(s_eq_u8, u8, eq); 然而,rust 编译器又一次让我撞墙。编译器给出的错误信息不够直白,说的净是那些什么 TokenStream 啦,什么 Group 啦,之乎者也让人看不懂的错误。...我这辈子也没写过这么多无趣的代码。什么 TMD 叫搬砖,这 TMD 就叫 TMD 搬砖。
我的方法论 清晰可见的目标 我喜欢在做一件事情前把目标能够表达清楚,然后脑海里有一个当我成功达到后这东西该长什么样的草图。...我的开发工具箱 所谓「工欲善其事,必先利其器」,好的工具是提升效率的保证。 Marp 这两年我做 slides,基本都是使用 Marp。...那位问了,这么简陋的工具,能画什么样的图形?...比如我做的这个: ? 工具本身并没有限制我。...其实像 excalidraw 这样的好工具反而能解放我的大脑,因为我不再需要焦虑用什么样的图形才能更好地表达(使用 visio 或者类似工具时我总有类似焦虑),我也不再需要焦虑该为图形配什么样的颜色,因为
我非常擅长电脑编程,我童年的逃避最终成为了我职业生涯的基石。在某种程度上,编程给了我一种掌控感,就像是我的生活中所缺少的。 灵感来自一位火箭科学家 我九岁的时候,我的世界彻底改变了。...我记得我问,“你在玩什么游戏?” “我还没给它起过什么名字呢,”他回答。我不明白他的意思。 他为什么要叫它什么呢?然后他解释说,这是他自己用BASIC语言写的。 我的大脑爆炸。...我喜欢软件工程师的工作,但我的劳动成果是公司的。我不像我朋友的父亲那样,把我置于他的庇护之下。 我不高兴,但与此同时,我的岳父一直告诉我,如果我百分之百地喜欢我的工作,我就会付钱在那里工作。...他告诉我,除了经济上的回报,工作不需要提供任何东西,我的经历也证实了他的观点。 我的雇主在推销产品,让股东和董事会成员满意。这就是世界的方式。为更大的善做贡献是你在业余时间或退休后做的事。...问问你能做什么。 我绕了一圈。这个从火箭科学家那里学会了编程的男孩现在是一名高级软件工程师,他正在帮助年轻人学习编程的诀窍,以便他们能够挑战计算机科学的边界。
这种能“动”的 SSG 自然是我所需要的,保持静态访问,而又能在我新增修改文章的时候,站点能够自动更新。绝佳!! 02 为什么还需要来Webify“折腾”一番?...既然上面已经很酷了,为什么会有今天的文章,为什么还需要折腾一番? 原因也很简单:成本略高,为了不错的访问速度,你需要一台性能不错的虚拟机,一定的带宽。对于一般个人博客,投入不划算。...cool~~ 问题是如果你的站点数据来源于类似 strapi 这种 serverless cms 怎么办?...具体以 strapi 为例子: 1、strapi 数据发布 2、web hook到自定义的桥接服务。 3、桥接服务更新站点git。 4、Weify触发重新部署。... async read(size) { const result = await getPostsWithGraphql(`${cmsUrl}/graphql
地理信息的GEO与AI搜索的GEO不同 提到GEO,很多人会想到地理优化,不过今天我们要聊的GEO,不是CEO哈,别搞错了。...结合目前生成式引擎的特性,我总结了5个可落地的GEO技巧,覆盖从内容创作到技术优化的全流程。 技巧1 预训练思维创作内容 生成式AI的知识来自预训练数据。...结构化数据是一种机器可读的代码,能明确告诉AI这是什么内容。 自然语言标签是在内容中用自然语言强调关键信息,比如核心结论、数据来源、注意事项。...挑战1 你永远不知道AI为什么选了它 生成式AI的内容选择机制是黑箱,它不会告诉你为什么引用A而不是B,也不会公开具体的权重规则。
这种似乎失控的编码方式,让我想到了邪恶的“GoTo”语法,很多编程语言里都有它, 但是都不建议你用它。因为邪恶的不是GoTo本身,而是滥用GoTo的我们。...题眼基本表达了我的论点,随着本文的深入会对该论点做加一个约束条件。现在容我开始论证它~ 都说抛异常很重,到底重在哪里? 不整虚的,我们用测试数据来说话。...当接口应答只是true/false的时候,抛异常会是个很匪夷所思的设计; 当下层方法不断的抛出各种异常,然后汇总到拦截器里处理时,或者需要对异常拆开做判断,再自定义成合理的应答话术;或者将好不容易区分开的不同异常...我的态度 任何的系统架构设计,都是在不断的在做天人交战,利弊权衡。鲜有绝对的对与错,只有在当前组织环境内相对的合理与不合理。对于异常用作流程控制这件事,我是投反对票。
com后缀的优势: 历史最悠久 2、全世界通用,热度最高 3、热度最高也就意味着大众识别度高 4、做好了就是自己的流量,不至于为他人做嫁衣,如果你用top,做好了会导流到com和cn,得不偿失。
但是这个星期的紧张、忙碌以及焦虑,让我想明白了一些事情,写了本文,没什么干货,只是一些絮絮叨叨。 上周对我来说还有一个重要的里程碑是掘金等级到达 LV5。...目标已经达成了,这是一种释然,我不再想为了获取更多点赞、更多阅读量去写文章,不再去取一些哗众取宠的标题,不再需要去证明什么。我发现我打开掘金的频率骤然降低了,以前一天可能 checkout 几十次。...忙碌 感觉每天都很忙碌,却像什么事情都没有做。每天的工作重复一次又一次,原地踏步。 孤岛 像置身孤岛,知识和消息是封闭的,个人能力和技术很难有大的突破。公司的格局决定个人的格局。...直到在 TWeb Conf 上听 张云龙[2] 讲了 《Headless CMS——小微项目的业务中台解决方案》[3] 让我对‘中台’提起了兴趣。 这里有一篇文章《漫画:什么是中台?》...支持 Restful 和 GraphQL。内置支持排序、分页、过滤、自动生成文档 内置权限控制系统。角色、JWT 鉴权 轻松集成内部系统。可以灵活地与自己的内部系统对接 扩展性。