My Blogs

CO-STAR prompt framework

Tags: GPT

Published 2024年05月21日 10:34 by james

CO-STAR

A simple way to further improve quality of generation is to follow the CO-STAR framework, a template that sections out key aspects that most influence response generation. CO-STAR was …

ChatGPT DAN

Tags: ChatGPT

Published 2023年03月10日 11:51 by james

Vault

Vault 主要使用令牌,而每个令牌都与客户端的策略相关联。每个策略都是基于路径的,策略规则限制了每个客户端对路径的操作和可访问性。使用 Vault,您可以手动创建令牌并将其分配给您的客户端,或者客户端可以登录并获取令牌。下面的图示显示了 Vault 的核心工作流程。

Vault 的核心工作流程包括四个阶段:

对称加密算法总结

Tags: Python

Published 2023年03月10日 01:49 by james

常见的对称加密算法有DES、3DES、AES、RC4和Blowfish等,这些算法在加密速度、加密强度、密钥长度和安全性等方面都有所不同。

以下是这些算法的详细对比:

Algorithm Key Length Block Size Encryption Mode(s) Padding Mode(s) Encryption Speed Security Hardware …

doorman readme

Tags: Go语言

Published 2023年03月09日 18:51 by james

Doorman是全球分布式客户端速率限制的解决方案。与共享资源(例如数据库、gRPC服务、RESTful API或其他资源)通信的客户端可以使用Doorman自愿限制其使用资源的方式(通常是每秒请求数)。Doorman是用Go编写的,并使用gRPC作为其通信协议。对于某些高可用性功能,它需要分布式锁管理器。我们目前支持etcd,但是使用Zookeeper代替应该相对简单。

入门指南

Doorman的目的是根据某种公平的定义,分配和分发客户端的容量。客户端获得资源的容量取决于以下四个因素:

Doorman主服务器会记住当前具有容量的所有客户端,并在客户端请求容量时将其请求插入其内存并运行算法,以确定此客户端应该获得什么。

租约长度和刷新间隔

Doorman只在有限的时间内分配容量,以租约形式给出。每个容量授予都带有租约长度:客户端在租约期间保证获得相应的容量。典型的租约长度为五分钟。除了租约长度之外,Doorman服务器还返回刷新间隔。这是客户端预计多长时间后需要重新检查以获取新租约的间隔。典型的刷新间隔为五秒。

注意:Doorman系统是合作性的。客户端应该遵守容量授予、租约长度和刷新间隔。该系统没有保护不良行为的客户端。

在系统的正常操作中,所有客户端都定期向服务器检查以刷新其容量。服务器知道所有客户端及其资源需求,并在每个请求上对容量进行最佳分配。出于优化目的(减少Doorman服务器上的qps),客户端代码会在向Doorman服务器发送请求时进行所有资源的批量刷新。这意味着在特定情况下(例如注册新资源时),资源可能会比预期更快地刷新其容量。

Doorman配置指定了应使用哪个算法将容量分配给所有客户端。算法页面解释了当前可用的算法及其如何将容量分配给每个客户端。

租约长度和刷新间隔这两个参数优化了系统的多种不同行为:

当Doorman服务器变得无法访问并重新连接时。

当客户端无法访问Doorman服务器时,以下情况发生:

注意:Doorman在不同集群中使用多个服务器和主选举过程来确定当前的主服务器。

Doorman不共享或存储其内部数据库。这意味着当Doorman服务器成为主服务器时,它会从空的客户端和未完成的租约仓库开始。但是这并不像看起来的那么严重,因为一旦服务器可用,所有客户端都会开始调用它以刷新其租约。由于Doorman服务器知道它没有足够的信息来运行其算法,因此它将简单地返回当前分配的容量,或者如果请求来自当前没有资源容量的客户端,则返回零。服务器知道当前分配的容量,因为客户端在每个GetCapacity RPC中都会包含它。这个阶段的服务器被称为学习模式。

在资源的学习模式期间,每个请求都将被回答一个相同容量的新租约。实际上,在几个刷新间隔之后,服务器可以合理地确定它已经与所有现有的客户端联系过了。然而,出于安全原因,缺省的学习模式持续时间与租约长度相同。这个决定确保当学习模式持续时间到期时,我们可以确定没有租约是我们不知道的(因为这些租约已经过期)。如果你想在Doorman主节点选举后更快地收敛系统,你可以在资源模板中显式配置学习模式持续时间(有关更多信息,请参见系统配置页面)。

谁想要什么? …

软件开发的201个原则

Tags: 原则

Published 2023年02月24日 23:35 by james

一般原则(GENERAL PRINCIPLES)

原则1 质量第一

QUALITY IS #1

原则2 质量在每个人眼中都不同

QUALITY IS IN THE EYES OF THE BEHOLDER

原则3 开发效率和质量密不可分

PRODUCTIVITY AND QUALITY ARE INSEPARABLE

原则4 高质量软件是可以实现的

HIGH-QUALITY SOFTWARE IS POSSIBLE …