蓝色的飘漂

技术·人生

传统的互联网巨头(如 Google, GitHub, Facebook)在开放平台时极力推崇 OAuth,而像 OpenAI, Anthropic, Google Gemini等 AI 巨头在面向开发者时,最显眼的接入方式却是 API-Key。那么,为什么 AI 服务提供商更倾向于使用 API-Key 而不是 OAuth 呢?本文将探讨其中的原因。

阅读全文 »

在使用AI工具或寻求帮助时,当AI回复我的第一句话是 “这是一个好问题”、“这是一个非常敏锐的观察” 时,我总会感到欣慰。因为这意味着我提出的问题具有一定的价值和深度,能够引发有意义的讨论和回答。

多少好答案正在等待一个好问题。

阅读全文 »

在软件开发的生命周期中,很多项目都是从单体应用 (Monolith) 开始的。它开发简单、部署方便。但随着业务规模的扩大,单体应用往往会变成一个臃肿的胖子:编译慢、部署难、牵一发而动全身。这时候,“微服务”就是一剂良药。但迁移并非简单的“拆分”,而是一场外科手术式的架构演进。

阅读全文 »

在单体架构时代,我们依靠数据库的 ACID 特性就能高枕无忧。在微服务架构下,由于数据库被拆分(分库分表)或服务化,原本单机的 ACID 保证失效了。一个业务操作经常需要跨多个服务完成,例如一个简单的“下单”操作可能涉及订单、库存、支付等多个独立的服务和数据库。如何保证这些操作“要么都成功,要么都失败”?这就是分布式事务要解决的核心问题。

阅读全文 »

CSRF(Cross-Site Request Forgery,跨站请求伪造)是一种经典的 Web 安全漏洞。CSRF 攻击利用了用户在已认证的站点上的身份,诱使用户在不知情的情况下执行恶意操作。攻击者通常通过构造恶意链接或表单,诱导用户点击或提交,从而在用户不知情的情况下发送请求到受信任的网站。

阅读全文 »

Carter 是一个用于 ASP.NET Core 的轻量级框架,旨在简化构建 Minimal API 的过程。如果你觉得 Minimal API 虽然简洁,但在组织大量端点时显得有些杂乱,或者希望更方便地集成验证、文件处理等功能,Carter 是一个非常值得尝试的优雅解决方案。它提供了一种简洁的方式来定义路由、处理请求和响应,同时保持代码的可读性和可维护性。

阅读全文 »

今天我们来介绍一下C#中的动态代理(Dynamic Proxy)技术。动态代理是一种在运行时创建代理类的技术,它允许我们在不修改原始类代码的情况下,拦截和增强方法调用。这在AOP(面向切面编程)中非常有用,可以用于日志记录、事务管理、权限验证等场景。

阅读全文 »

英语单词 “caret” 源自拉丁语,意思是 “缺失”。在传统的手稿校对和印刷业中,当作者或编辑发现文中漏掉了一个单词、字母或标点时,他们会在漏掉位置的下方插入这个^符号,然后在行间的上方空白处写上需要插入(insert)​ 的内容。

阅读全文 »
0%