波总好, 在谈谈我对 JFinal Marketing 的一些看法那篇博文的评论中 我们谈论到了 ANTLR, 这里继续和波总谈谈在技术上我对这方面的理解. 先说下 ANTLR 到底什么....所以波总认为: 我仅仅只是认为 antrl 用于模板引擎并不是个好主意,不是最好的方案,enjoy 的方案更好。...我从头到底都没否定过 antrl 用于别的领域,也没有说 antrl 有任何不好。...这个地方我觉得有点奇怪了, 使用 ANTLR 的直接结果就是生成 Parser, 不仅仅对模板引擎如此, 在所有使用场景下都是一样的...." 的问题, 所以不知道 ANTLR 用于模板引擎并不是个好主意吗?
演讲要点 技术的发展永远是在不停的波峰波谷之间徘徊 现在属于人工智能巨大变革之前的一个蛮荒时代 明年一季度AIGC技术创新会相对稳定,不会陷入到论文都看不过来的程度 调用API的大模型商业模式不适用于未来...大家知道为什么谷歌没有迅速推出大模型的人工智能,是因为AI伦理成为一个很重要的掣肘。...AIGC需要面向未来新商业模式 过去的商业模式一个核心的问题,从我个人的角度来讲,我觉得本质是API调用的商业模式没有体现出生成式人工智能所带来的创造力的价值。...API调用的方式无关于你使用这一次API获得什么样的内容,一个闲聊的话和有真知灼见的内容,对于大模型的API调用来讲是一样的,所以不可能产生不同的收入。...这就意味着我们的大模型不能够仅仅提供API调用,而需要端到端做很多的工作。 我相信行业在今年,在明年,很多同行业者在进行这方面的工作,我们也在进行这些探索。
我在Android应用中发现硬编码的Facebook和Google API密钥(以及为什么这是个坏主意)☕ 逆向分析APK很有趣...直到你发现生产环境密钥就这么赤裸裸地躺在代码里。...内容提要在分析一个公开的Android APK时,我直接在应用的strings.xml文件中发现了硬编码的Facebook和Google API凭证。...✅ Google API密钥验证尝试使用该密钥调用地理编码API:curl "https://maps.googleapis.com/maps/api/geocode/json?...name="facebook_client_token">ab3495bb67f3e*******************✅ 正确做法:将密钥存储在服务端必须客户端使用时:通过HTTPS端点动态获取使用...NDK混淆并存入Android Keystore对于Google API密钥:按应用包名和SHA-1指纹限制仅开放必要API权限 核心原则:只要存在于APK中的内容,就不算秘密。
为什么有人会认为OAuth 2.0具有身份认证的功能? 这是因为OAuth2经常作为身份认证(Authentication)协议的一部分来使用....而OAuth2则不管用户这些东西, OAuth2的客户端应用只考虑请求token, 得到token, 使用token访问API....那么为什么不使用OAuth2里的access token把这些事都一次性解决了呢? ...在Implicit流程里, 所有的tokens都来自于授权端点, 而Token端点并没有用到. 该流程主要用于浏览器内的应用, Access Token和ID Token一同被直接返回给客户端....因为这个原因, 这些tokens也会暴露于最终用户和可以访问该浏览器的其它应用了. 它并不适合于长时间的访问.
,并实现乐观 UI serve (opens new window)[4]: 适用于本地用于测试的静态文件托管服务 我们可以使用 Vercel/Netlify/AliOSS 以及各大云厂商的一些 Serverless...产品来几乎零成本地部署前端应用,但是偶尔也需要配套一些简单的 API 支持。..." } ] } 小而有创意的 API 由于 Vercel 这个 API 的本质也是 Serverless,最适合做一些轻量的若存储的服务。...我也收集了一些小而有创意的服务,如下所列 github-readme-stats (opens new window)[8]: Github Readme 的统计数据图表 shields.io (opens...window): https://vercel.com/docs/runtimes#official-runtimes/node-js [8] github-readme-stats (opens new
它的目的是纠正REST的一些缺点,但没有一项技术是完美的。 与 REST 相比,GraphQL 有哪些优点?为什么要在项目中使用其中一种?...在 REST API 中,当您到达一个端点时,总是会得到相同的数据,无论您是否需要它。 假设我们只需要某人的用户名和头像。...要显示单个用户的帖子,我们需要用户信息和帖子的内容。如果我从用户端点获取用户,我仍然需要点击 posts 端点,并使用 userid 检索 posts。...缺乏灵活性 在前一点的基础上进一步扩展,REST 依赖于创建符合前端需求的api。如果您能够预测前端在碰到特定端点时需要什么,就可以精确地调整检索到的数据,以匹配该视图。...类似地,如果你的 API 被具有不同需求的各种不同客户端使用,那么 REST API 的灵活性将不适合您的目的。 GraphQL 允许检索不同配置的数据,从而提供了这种灵活性。
第一个是基于推送的系统,而第二个是基于拉的系统。因此,我们的示例应用程序需要主动将数据发送到 InfluxDB监控系统,而使用 Prometheus时,它只需要公开将定期获取数据的端点。...这是在本地计算机上运行 InfluxDB并在 8086端口上公开 HTTP API的最简单命令。...我创建了 JUnit测试类,它生成一些测试数据并在循环中调用应用程序公开的端点。这是该测试方法的片段。...我们还应该传递初始配置文件和 Docker网络的名称。为什么?您将在本步骤说明的下一部分找到所有的答案。...下面显示的第二个命令( docker build)不是必需的,因为我的 DockerHub存储库中提供了所需的图像 piomin/person-service $ docker network create
我认为最好快速了解 Windows RPC 接口是如何保护的,然后进一步了解为什么可以使用未经身份验证的EFSRPC接口。 ...警告:毫无疑问,我可能会遗漏 RPC 中的其他安全检查,这些是我所知道的主要安全检查 :-) RPC 服务器安全 RPC 的服务器安全性似乎是随着时间的推移而建立起来的。...保护端点 您使用RpcServerUseProtseqEp API注册 RPC 服务器将侦听的端点 。...此 API 采用端点类型,例如ncalrpc (ALPC)、ncacn_np (命名管道) 或ncacn_ip_tcp (TCP 套接字)并创建侦听端点。...这个博客的重点不是滥用 EFSRPC,而是为什么它是可滥用的 :-)
它们可能不适用于Python的早期版本,但是如果遇到任何麻烦,请在下面留言,我们将把它整理在一起。 让我们开始吧! 为什么要编写Python命令行脚本和工具?...这就是为什么我爱上了click click正在解决与optparse和argparse相同的问题,但使用方法稍微不同。它使用装饰器的概念。这需要命令是可以使用装饰器包装的函数。...cllick 解析可选参数 你可能已经找到了我们上面使用的示例API的一个小小的缺陷,你是一个聪明人 是的,这是一个静态的端点,从2017年1月起总是返回伦敦的天气。...所以让我们用一个真实的API密钥来请求实际的API。 我们需要改变的第一件事是当前天气的URL端点。...我们可以通过在OpenWeatherMap文档中将current_weather函数中的url替换为端点来实现: ? 我们刚刚做出的更改将会破坏我们的CLI,因为默认API密钥对真实API无效。
本文的主要目的是简要总结这些框架提供的最重要的组件,这些组件可以帮助您创建微服务,并实际上向您解释什么是用于微服务架构的 Spring Cloud。...这是为我的示例微服务定义的完整依赖项列表。...这就是为什么我们需要为这些模块添加额外的依赖:spring-cloud-starter-openfeign。...Gateway 还将公开我们的示例微服务公开的所有端点的 API 规范。这就是我们还在网关上启用 Swagger2 的原因。...我创建了一个模块proxy-service,它是基于 Netflix Zuul 的替代 API 网关,gateway-service基于 Spring Cloud Gateway。
后文会有一个专门的章节来阐述 GraphQL 的灵活性成本,更高的灵活性意味着更高的成本。 我喜欢“始终以 WHY 开头”,所以让我们开始吧。 摘要:为什么我们需要 GraphQL ?...所以让我回答一下你最有可能问的问题。 REST API 有什么问题? REST API 最大的问题是其多端点的本质。这要求客户端进行多次往返以获取数据。...它们当然不是 REST API 的所有问题,我也不想讨论 REST API 是什么。我主要讨论的是比较流行的基于资源的 HTTP 端点 API。...这些 API 中的每一个最终都会变成一个具有常规 REST 端点 + 由于性能原因而制定的自定义特殊端点的组合。这就是为什么 GraphQL 提供了更好的选择。 GraphQL如何做到这一点?...最后一个概念解释了为什么我个人认为 GraphQL 是一个规则颠覆者的原因。 这些都是高层次的概念。让我们进一步了解一些细节。 为了解决多次往返的问题,GraphQL 让响应服务器只是作为一个端点。
它通过启用用于答案的真实来源而比 Completions 端点提供更多控制。对于我们的 GPT Answers 应用程序,这个真实来源将是用于回答问题的知识库。...为 GPT Answers 创建 API 端点 当我们的应用程序完成时,我们将拥有一个完全功能的 API 端点,可以返回由 OpenAI API 生成的答案。...创建 API 端点 要创建 API 端点,请执行以下操作: 打开由express-generator创建的app.js文件。...然而,我们可能不希望将不适当的问题发送到 OpenAI API,因为即使在我们的情况下响应是安全的,我们仍然会使用令牌。因此,我们将为问题实施内容过滤,以检查不适当的词语。...您觉得最困难的是什么? 答案:我花了大约 5 天时间。我对编码还很陌生,所以学习曲线很具挑战性。 问题:您还有什么要分享的吗? 答案:我非常喜欢与 API 合作!
下面有两个链接,第一个是在讲 Walmart 这几年为什么以及如何迁移到 Node.js 上;第二个则为 eBay 是如何从 Node.js 的怀疑者转变为采用者。...下面举一个实际的例子: 在某个应用中,我需要一个 API Server,它的客户端包括 Web Browser,iOS App., 以及网络中的其他 Server。...我在 Node.js 上是这么实现的: 利用 donde 构建一个通信无关的 RPC Server 来提供 API 服务。...反之,如果你的团队是由缺少独立思考或者独立解决问题的程序员组成的,那么 Node.js 确实不适合。你需要用强类型语言搭好一个受限的框架,然后让体力型的队友去填空。...除了第二个问题提到的那些不适合 Node.js 的地方,其他领域想彻底不碰 Node.js 是很难的。
现如今,它们的API被成千上万的客户使用,包括Pinterest、Zillow和Intercomto,每月发送超过150亿封电子邮件。 在这篇文章中,我将回顾几个选择和最佳实践。...在第二个示例中,我们在终端名称中使用“verify”这个动词,这可能不符合Restful。我们会讨论每个新的用例,并尽力确保它的一致性和易于使用。...这个组建立了并强制我们遵守的API约定,并且是完全文档化的。 文档化的约定让我们可以减少不一致,并且更容易定义每个新的端点。...· 我们给用户至少30到60天的提前警告。 · 我们发了一封邮件或发表了一篇博客文章,里面包含了关于改变的详细信息以及我们为什么要做这些改变。 · 我们在API文档中提供了升级指导。...避免使用不适合REST API文档的工具是很重要的。我们建议在文档中包含一个亮橙色的“在Postman中运行”的按钮,这样可以很容易地试用一个API,以及成功和失败场景的例子。
它包含了一些约束:无状态通信,基础技术(通常为HTTP)的使用和超媒体作为应用程序状态的引擎的使用。换句话说,它提出了一些用于构建web API的模式。...我喜欢上了后者:即使它是邻居新的酷孩子,它已经成熟足够和能够让人愉快的工作。这里会阐述为什么。...参数:在端点中用于指定动态参数,如ID或查询搜索。 响应:内容类型,HTTP状态代码和主体数据。 除此之外,蜜蜂是一个协作平台,用于创建、呈现、测试和服务您的API。...Cakes是一个API,用于存储和消费关于Cheesecake Labs最受欢迎的蛋糕的信息。...如果可以,与您未来的客户谈话并询问他们的意见。 有弹性:当发生崩溃时,告知为什么以及如何处理这种情况。 测试一切。为每个端点,方法,参数,输入和输出数据编写测试。
这个工具允许你通过 http 来发送数据,现在有一个适用于gGRPC的工具,gRPCurl,在本文中,我将介绍如何下载安装这个工具,然后通过这个工具调试我们.NET 5上面的gGRC程序。 ?...我将向您展示如何使用反射,因为这是.NET中最简单的方法,为了能够使用Reflection,使用以下命令安装: Install-Package Grpc.AspNetCore.Server.Reflection...,第二个是通过反射向gRPCurl提供示例端点和消息信息的端点: using CountryService.Web.Services; using Microsoft.AspNetCore.Builder...通过运行以下命令,列出指定gRPC服务的所有可用gRPC端点: grpccurl localhost:5001 list YourgRPCServiceFullName ?...总结 这是gRPCurl的简单教程, gRPCurl具有很多功能,如果您想了解更多信息, 我建议你可以在这里找到更多的api,https://github.com/fullstorydev/grpcurl
这为来自Google任何子域的脚本敞开了大门,从而产生了诸如以下的突破口:JSONP端点: 白名单域名上有大量API的JSONP回调可以被滥用来执行任意JavaScript。...寻找:你可以串联在一起的开源重定向反射用户输入的JSONP端点托管的存在漏洞的过时JavaScript库任何将你的输入反射回给你的地方我的搜寻流程:列出所有白名单域名检查每个域名是否有JSONP端点(使用常见路径如.../api/、/jsonp、/callback)寻找文件上传功能搜索开源重定向检查旧库版本(AngularJS 端点这是经典且极其有效的方法...nonce-rAnd0m123' 'strict-dynamic'; object-src 'none'; base-uri 'self'; require-trusted-types-for 'script';为什么第二个好得多...第二部分即将到来:我们将深入探讨适用于更严格策略的中级技术:高级nonce利用与泄露策略深入探讨AngularJS沙箱逃逸JSONP端点发现与利用悬空标记注入用于数据泄露服务工作线程(Service Worker
但是,我也曾遇到过一些让 REST 蒙羞的 API 例子,错误使用 HTTP 状态码、纯文本响应、不一致的模式、插入端点中动词......我个人建议使用复数形式。为什么?因为它非常适合所有类型的端点。 我可以看到 GET /book/2/ 是没问题的。但是 GET /book/ 呢?我们是在获取图书馆里唯一的那本书、其中几本还是全部?...例如,如果你选择某个POST端点返回201 Created,那么对于每个POST端点都应使用相同的HTTP状态码。为什么?因为消费者不应该担心在哪种情况下哪个方法在哪个端点上会返回哪个状态码。...根据不同情况,以下是我的备忘单,用于了解我正在处理什么问题: 消费者没有提供身份验证凭据吗?他们的SSO令牌是否无效/超时? 401 未授权。...各种语言中已经出现了新框架, 它们专门用于构建REST APIs。它们能够帮助您轻松遵循最佳做法,并提高生产力。 在Python中, 我找到过其中之一优秀API框架就是Falcon。
我们还将了解那些大公司为什么用 GraphQL 去构建API,以及为什么它是 API 的未来。...GraphQL仅需要一个端点 正如我上面所说,“单端点”方法使你的 API 能够自我描述,你不再需要再去构建文档,因为你的程序员已经知道应该如何使用。他们只需查看代码即可了解API。...但是也有些人一直在问它是否真的要取代 REST,或者成为构建 API 的新方法。 ? 起初,我认为 GraphQL 是一个炒作,仅仅是创建 API 的另一种方式。...但是当我开始研究它时,发现 GraphQL 具有为现代应用程序创建 API 所需的基本功能,因为它非常适合现今的技术栈。 所以如果我要对你说些什么,我会说:是的,GraphQL的确是API的未来。...这就是我决定撰写这一系列教程的原因,这些教程将为我们展示如何用好 GraphQL,先从查询和修改开始,然后是订阅和身份验证。