当前位置: 首页 > news >正文

Gavin Wood:财库保守主义偏离了初心,应探索 Fellowship 等更有效的资金部署机制

在这里插入图片描述

波卡创始人 Gavin Wood 博士最近接受了 The Kusamarian 的采访,分享了他的过往经历、对治理的看法,还聊到了 AI、以太坊、女巫攻击、财库等话题。本文整理自 PolkaWorld 对专访编译的部分内容,主要包含了 Gavin 对治理、财库提案、生态资金分配的看法。

在这里插入图片描述

核心观点

  • 讨论一个系统是否更加“民主”比较有意义,民主并不仅仅取决于投票制度。
  • 财库资金相较 VC 更易被滥用或偏离目标。
  • 链上管理的声誉系统,可监督和约束个人行为。
  • 合法性是治理的美德,但认同集体更重要。
  • 财库保守主义偏离了最初目的,可设立多个 Fellowship 等机制以有效分配资金。
  • Polkadot 应该采取财务责任并多样化资产组合,以降低加密货币固有的波动性。
  • 驱动设计良好的、基于规则的系统是维持我激情的东西。

📺 完整采访:https://www.youtube.com/watch?v=RvbsSq1a_8g

谈民主

关于民主是什么,这是我很多年前与 Aron 进行的一次对话。英国喜剧《窥视秀》中有一句好笑的台词,我强烈推荐大家去看,这句台词是:“难道我不能只是拥有我想要的一切吗?这不就是民主吗?” 如果你想要一个理想化的民主,那就是古希腊的雅典民主。这是最初“民主”这个词的来源,指的是古希腊的一个特定城市的人民治理。在那个时代,可以投票的人是指定的,并不包括奴隶和女性,只有某个年龄段的男性。但这是一个足够广泛的群体,数量上成千上万,这使得它有意义,所以它有一个不同于专制君主制、帝国主义、贵族制等其他统治形式的名字 —— 民主制。

现在说“X 是民主”是没有多大意义的,除非我们特指类似于雅典式的“一人一票”的民主。即使将这种概念应用到现代,是否适用还是值得质疑的。因为我们普遍期望每个人的投票都被平等计算,每个人都能投票,也许不包括三岁的孩子,但也许三岁的孩子应该给予投票权。所以,我们可以讨论民主制度的程度 —— 即一个系统是否更加“民主”。我们可以想象一个有比例代表制、普选权、高投票率的系统,甚至可能有支付人们去投票的机制,这样的系统可能会被认为更加民主。相比之下,一个只有两个政党的系统,且在大多数地区选举结果几乎不受投票者影响的系统,则可能被认为不太民主,虽然它仍然是一种民主制度,但不是特别民主。

所以我认为民主即人民的统治,一个好的判断标准是看统治是否掌握在人民手中。但这是一个整个的政治哲学领域,我知道的太少,无法给出一个深思熟虑的观点。我唯一想说的是,对于民主这个词没有一个普遍接受的理解,我能做到最好的是说一个制度,如果任何给定个体对系统的影响大致与其他任何个体相同,那么这个系统就是更民主的。当然,这是一个相当理论化的、抽象的定义。并不容易理解任何特定系统的民主程度。我们需要分析每个个体在系统中的影响力。

这里有个有趣的观点,民主并不仅仅取决于投票制度。虽然投票制度在民主中占有重要地位,但并非仅限于此。我之前提到过,我们可以设想一个完全民主的系统,这个系统甚至不需要投票制度。这就是“每天一个独裁者”,每天随机选择一个公民成为独裁者。按照我的定义,这是一个完全民主的系统,因为每个人对系统的影响力都是相同的,每个人都有同样的机会成为独裁者。我们甚至可以说,随机选择一个人作为 10 年的独裁者,只要这个选择是随机的,那么在选择这个人之前,这也是一个完美的民主系统,因为每个人都有同等的机会去影响。

在这种情况下,除了通过概率来推理,没有其他方式,因为它是一个概率性的结果。谁会成为独裁者,谁会对任何特定决策产生影响,这是随机决定的。那么概率是什么呢?如果我是一个百万人中的一个,那么我有百万分之一的机会,这就是完全民主制度的定义,意味着我与其他所有人一样,都有同样的百万分之一的机会决定某事。

财库资金相较 VC 更易被滥用或偏离目标

在过去的几周和几个月里,社区中有一部分持币者感到越来越失望,因为他们觉得自己在系统中没有太多影响力,并对缺乏民主表达不满。目前在 Polkadot 上有四个活跃的投票群体。第一个是叫 16DG 的角色,他们掌握着大约 3000 万的投票权。最近他们实际上在社区的一些细分领域做了很多透明的工作,组织系统,创造竞争。还有一个叫 ChaosDAO,它是一个基于声誉的系统,你根据声誉进入,然后是一人一票来进行决定。IVY 看起来很强大,这似乎是一人一票的系统,但你必须代表别人,如果你代表更多,实际上就是你说了算,但你会听取每个人的意见。最后一类投票群里是,他们只关注系统升级的提案,对其他类型的提案就毫不关心。

对此,Gavin 认为这些现象的出现表明,OpenGov 正在履行其职责,促进新系统、新机制的发展。如果你看到一个系统的底层设计是人们未预料到但发现是有用的,这通常是一个好迹象。我也投了一些票,但我通常不会参与投票,因为这可能会对事情产生过大的影响,无疑会带来偏见。但我对很多事情都有看法,偶尔我可能会利用我的影响力。我不想在这里提及那些我投票的名字,但我会分享我的一般想法。

我观察到社区中有一种倾向,将财库的资金与 VC 进行比较,并以类似于 VC 的方式使用这些资金。社区资金的本质和 VC 基金是不同的,特别是在所有权方面。我认为这种比较并不合理,原因有几个。首先,VC 会进行大量的尽职调查,如果 VC 在大笔投资中表现不佳,他们的声誉会受损,而不是接受资金的人。其次,VC 受法律保护,不会滥用资金。这对资金接收者产生了信托责任的动力,而这种责任在财库资金中并不存在。第三,VC 通常不会一次性提供所有资金,他们有法律手段退出合同,而这显然不是 Polkadot 财库提供资金的方式,因为接收资金的人希望确保他们能够按预期收到法币,而不仅仅是加密货币。

对我来说,法律情况是关键且经常被忽视的一环。这就是为什么 Polkadot 财库资金应该分成较小的金额进行最终支出,但当资金交由更广泛、不那么紧密结合的代表团体(如一个 Fellowship)管理时,可以在原则上以更大的金额管理。

所以,这些团队不应该从财库寻求资金。特别是那些有大额资金提案却没有确保资金将被用于预期目的的安全措施,或者所建造的东西可能最终被用于 Polkadot 之外的目的,或者可能与某种盈利机制结合,让他们不成比例地受益。

在风险投资下,如果一个团队决定关闭公司并以相同的团队开启一个新项目,这通常是非法的。这是因为投资者投资的不仅是产品,而是团队,如果该团队决定转向另一个项目,那么按照公司法,他们必须保护投资者的利益。在某种意义上,这类似于你现在跟我“结婚”了,你不能随便离婚。我投资了这段婚姻,我期待我的投资回报。因此,在某种意义上,你作为投资者,作为股东,获得了相当大的保护。所以,与 VC 相比,财库资金的分配方式缺乏足够的法律保护和制约,容易导致资金被滥用或用于与最初目的不符的项目。

链上声誉系统:去中心化社会中的个体监督与约束

这种保护在财库中并不存在,除非我们执行什么全面的规则让人们永久同意这些规则。就像无论我在这里签订什么样的协议,例如代币交换或其他,我同意受这些更广泛的规则约束,就像社会法律一样,如果我违反它们,我将承担更大的痛苦。例如,如果某人要从财库中获得资金,他们可能需要先押一定数额的资金(比如 1 万美元)作为保证。如果他们违反了规则,他们将失去这笔押金。但这其实不怎么有效,因为大多数人无法承担 1 万美元的押金,此外,如果参与者知道他们可能会违反规则并因此失去押金,他们可能会尝试筹集更多的资金来补偿这种潜在的损失。例如,如果他们预计将失去的押金是 1 万美元,他们可能会试图筹集大约 2 万美元,其中一半的资金被视作支付他们预计会违反的押金的成本。

所以实际上你需要的是一种民事抵抗(civil resistance)系统。这实际上是法律体系和社会为我们提供的东西,这类似于社会信用系统的机制。在这个系统中,每个人初始都被赋予一定的社会信用或声誉。只要他们没有做出违反重要的长期社会规则的行为,他们的社会信用就保持不变。但是,如果他们做出了损害信用的行为,比如用掉资金后宣布破产然后用更多资金开启新的创业项目,他们就会失去社会信用。一旦失去社会信用,他们再获得资金的可能性就会大大降低,因为人们知道他们之前已经有过不良行为。所以,需要某种程度的“民事抵抗”或长期的声誉系统,即所谓的社会信用系统,来维护这种对个人行为的监督和约束。

这是一种声誉系统,但是是在链上管理的声誉系统,更重要的是,它是一种民事抵抗系统。这种系统的作用是,假设你想启动一个新项目,它可以帮助你不必透露你的真实身份,但仍然能够表明你以前从未让投资者失望。通常当一个投资者向一个团队投资时,理解团队而非项目是关键。这实际上是投资者购买的重要部分。如果一个产品被认为不合适,但团队希望建立类似的另一个产品,那么投资应该以某种形式转移到这个新产品上,因为这仍是同一个团队。

在去中心化系统中进行资金筹集时,仅仅声明“我是一个个体”是不够的。如果筹集资金的基础是人们对你个人的信任和投资,那么这种信任关系需要以某种方式明确地编码或记录下来。这是因为像财库这样的去中心化的资金分配系统需要能够明确识别个体,并且在这些个体后续以不同方式寻求资金时再次识别他们。

进一步地说,即在对个体进行资金分配时,需要有机制来确保不是同一个人反复获得资金。此外,为了在去中心化的环境中确保资金的有效使用和分配,需要有一种“民事抵抗”或社会信用系统。这样的系统可以帮助在不同的个体间建立长期的信誉记录,确保资金不会被反复或不当地使用。这种系统能够在人类层面上,而不仅仅是在技术层面上,对去中心化系统的参与者进行监督和管理。

治理之美:合法性与集体认同的微妙平衡

我认为我们必须理解,我们对治理的目标是什么。因为我看到了两个相互竞争的目标,一是包容性,二是对个体的益处程度。你可以把治理看作是输入和输出,输入可能是人们说的话、人们的行为、人们的投票、他们的意见如何被计算;输出则是集体基于这些输入所做的决策,比如集体做什么,财库的钱怎么花,哪些升级通过,可以形成哪些团体,谁被排名,谁没有被排名,什么事件发生等等。

有人认为治理的要点不在于做出好的决定,而在于确保决策的合法性(legitimacy)。如果一个不好的决策有明确的合法性,比一个没有明确合法性的好决策更好。我认为这是胡说,但我接受这是一种观点。我确实认为合法性是治理系统的一个美德,但不是因为它本身,而是因为它保持了集体内部人们的信念。如果一个集体没有成员,那么它就是没有意义的。

那么我们必须看为什么成员会留在一个集体中?他们留下来的两个原因,一是经济利益,但经济利益是非常短期的,可能是非常变幻无常的,如果人们在一段时间内看不到经济利益,不是每个人都能很长远地关注,他们可能会转移到另一个集体,可能会感到失望,觉得够了,要去别的更好的地方了。如果一个组织或系统不能持续地按成员的期望提供经济利益,那么仅仅依赖经济激励是不可靠的。

人们在集体中寻求的第二件事是,他们是否认同这个集体。一个人如何认同一个集体呢?他们觉得自己被公平代表,觉得集体做出的决策是合法的。他们可能会寻求集体内部的合法性,或者说,一个看起来不合法的集体,他们可能不会认同。人们想在公平的规则下运作,即使这对他们不利。如果某个决策对人们有利,只要他们是理性行为者,他们通常不会关心这个决策的合法性。但如果某个决策对他们没有好处,同时这个决策看起来也不合法,那么他们可能就不会继续支持或留在这个系统中了。

我会说,合法性(legitimacy)是一个考虑因素,但我不会说它是主要考虑因素。我仍然认为主要考虑因素是做出好的决策。如果一个治理系统可以做出好的决策,那么它不必一定是合法性的。我在这里使用合法性这个词是非常特殊的,因为合法性实际上是指根据系统的运作方式和决策方式来满足成员的期望。不同的成员可能会有不同的期望,有些人可能会觉得系统运作得不合法,即使系统实际上完全按照其规则在运作。这是一个难以明确定义的概念。

注:在 Gavin Wood 的谈话中,“决策的合法性”指的是决策过程的有效性和接受度。合法性不仅仅是指遵循规则和程序,而是涉及到决策过程是否能够得到社区或参与者的广泛认可和支持。这意味着一个决策,即使它可能不是最佳选择,如果它是通过一个被认为是公正和透明的过程得出的,那么它就被认为是合法的。

财库保守主义不可取,设立多个 Fellowship 以有效分配资金

在过去几周里,Kusama 发生了一个非常有趣的情况,一个非常不透明的投票集团,有人称他们为混乱实体,他们拥有大约 320,000 至 350,000 的投票权。他们似乎只是随意投票,与其他人的投票相反,可以认为他们是一个反对派。最近,他们差点资助了一个生态系统代理人,目的是将财库余额归零。

对此,Gavin 表示 Kusama 的推出是为了帮助测试 Polkadot 将要使用的东西,这些东西由于缺乏经济激励无法在测试网上进行测试。在这方面,我认为它做得很好,它是一个有趣的先行指标,显示可能在 Polkadot 上出现的情况。我认为 Kusama 社区中有人关心价格、代币价值等,以及财库的支出,这是好事。我不一定同意他们的观点,但我认为 Kusama 能够引出这些问题是有益的,因为它有助于理解 Polkadot 运作的社会经济环境。它是地图上的另一个数据点,拥有尽可能多的数据点是重要的。

老实说,在我看来,财库是用来花费的。市场是奇怪的东西,它们以奇怪的方式运作。我看到过一些关于为什么社区不想看到财库资金被分发给那些主要有法币支出的团队的观点。我明白这些,但在我看来,Kusama 或 Kusama 财库可能没有像我希望的那样有效地完成它的工作,因为它保留了资金而没有花费。我的想法是,财库资金应该在进入后就被花掉。也许会有一点浮动,但不会有很大的盈余。如果有盈余,那么盈余主要是用作一种主权财富基金,比如购买其他代币,投资到中心化交易所,向团队提供贷款等。但现在的情况是,我们几乎无意识地走向了财库保守主义,好像财库中的资金永远不应该被花掉一样。这并不是最初的目的。

我不认为拥有一个庞大财库是件坏事,它意味着我们有很多资金可以资助很多酷炫的项目。但应该清楚地理解,财库就是用来支付东西的,财库中的资金越不被使用,就越有害。最糟糕的方式可能是将其烧毁,因为这对 Kusama 生态几乎没有什么影响,对 Kusama 内的个人也不会立即产生影响,我很难想象这会对他们有什么直接的好处。尽管将财库中的资金烧毁可能只是一种本能反应,但至少这是一种利用这些资金的方式,即使这种方式可能不是最佳选择。烧毁资金表明了一个经济论点,财库中的资金并不直接增加市场供应,这可能会减少通货膨胀的可能性。

如果我们只有两个选择:让资金永久留在财库中,或者将资金烧毁以减少市场上的通货膨胀,那么我会选择后者。但这不是唯一的选择,我们可以以其他方式来分配这些资金,我们应该探索更好的资金使用方式和更有效的资金部署机制,这可能需要更好的治理结构。例如,可以设立多个 Fellowship,每个 Fellowship 负责管理和分配特定类别的资金。甚至可以建立一种“主权财富基金”(sovereign wealth fund),这个基金将使用部分财库资金在去中心化交易所购买其他代币或资产,以多样化财库资产的组合。

Polkadot 的财务策略:多样化资产组合以应对波动

将 DOT 引入 Kusama 的想法来源于 Web3 基金会,所以具体还要看 Web3 基金会怎么实施这件事情。我认为最初的提议是,百分之一的 DOT,即一千万个 DOT 会用来激励 Kusama 社区的参与。最基本的做法可能就是将其交给 Kusama 财库。这将是一个疯狂的举动。Polkadot - Kusama 的桥即将到来。

我认为,作为一个负责任的去中心化自治组织(DAO),Polkadot 应该采取财务责任并多样化其资产组合,以降低加密货币固有的波动性。可能有人会提出这样的论点:作为 Polkadot 的一部分,为什么要持有除了 DOT 以外的其他东西,因为它相信自己?这当然是一种荒谬的说法。仅持有 DOT 代币并不是合理的资产管理策略。作为一个理性的组织,Polkadot 应该考虑持有不同类型的资产,比如黄金、法币、其他加密货币、NFT、商品、土地甚至建筑物或公司。这样做可以帮助组织保护自己免受市场波动的影响,并建立一个长期运作良好的组织。

我认为在 fellowship 这方面,我们正朝着一个显著的趋势前进,特别是在它作为一个去中心化实体试图获得非本平台原生代币方面。这将有助于管理波动性。我们将拭目以待这将如何发展,但我认为这是必须发生的事情。

我在 2017、2018、2019 年的时候就谈过这些,因此我对此感到挺兴奋,想看看它的运作情况。尤其是考虑到 Polkadot 和 Kusama 的财库,我们正在资助需要用法币支付的项目,因此提前拥有法币并像管理真正的资产一样管理它们是非常有意义的。当然,问题在于如何管理这些资产。如果管理过于公开,可能会导致市场操纵和其他问题。可能需要一些巧妙的方法来长期管理这些大量资本,但短期内,使用 HydraDX 等工具应该就足够了。

我的激情在于驱动规则良好的系统

谈到对未来世界的展望,以及对这项技术的贡献如何影响这个世界时,Gavin 回答道,我希望首先我们还有一个世界。理想情况下,这是一个和平的、公正的世界。我认为这在很大程度上驱动着我。我认为权力中心可能是不公正的根源,尤其是当权力是任意的时候,不公正似乎就在不远处。因此,创造基于规则且透明的权力系统 —— 这正是区块链在做的 —— 是减少世界不公正的有效系统化方法。通过限制任意权力,区块链能够治理大量的财富和权力,从而在一定程度上减少不公正现象。

另一个点是,我觉得我在设计这些系统的规则方面做出了相当不错的贡献。即使是遵守规则的社会,如果规则设计不当,也可能无法良好运作,甚至可能导致不公正。归根结底,规则需要足够简单,让人们能够思考它们,并从第一原则推理出它们,并确保规则确实被那些应遵循规则的社会机器部分(如公务员、政治家或可能接管他们工作的机器)遵循。

设计良好的基于规则的系统将成为文明的一个非常关键的部分,随着这些系统变得更加复杂,这一点将变得更加重要。因此,对设计良好的、基于规则的系统的驱动是维持我激情的东西。

相关文章:

Gavin Wood:财库保守主义偏离了初心,应探索 Fellowship 等更有效的资金部署机制

波卡创始人 Gavin Wood 博士最近接受了 The Kusamarian 的采访,分享了他的过往经历、对治理的看法,还聊到了 AI、以太坊、女巫攻击、财库等话题。本文整理自 PolkaWorld 对专访编译的部分内容,主要包含了 Gavin 对治理、财库提案、生态资金分…...

Linux: sudo: unable to execute /opt/sbin/adm: No such file or directory

因为脚本语言第一行是指定解释器,但是里面包含非法^M字符,导致后续的系统调用,找不到解释器,然后报错误找不到文件。 所以这里存在一个问题,就是错误提示里虽然显示文件找不到,而且也把文件打印了出来。但是非法的字符却没有打印出来。所以导致让人迷惑的可能。 sudo: un…...

一文详解Java单元测试Junit

文章目录 概述、Junit框架快速入门单元测试概述main方法测试的问题junit单元测试框架优点:使用步骤: 使用案例包结构 Junit框架的常见注解测试 概述、Junit框架快速入门 单元测试概述 就是针对最小的功能单元(方法),…...

进制 + 原码,反码,补码

进制转换 整数部分 小数部分 原码 反码 补码 原码转补码: 左边和右边第一个1不变,中间取反。-0 除外。 计算机系统中数值一律用补码来存储的原因 其他 术语 进制表 进制数的表示 详细教程可转 爱编程的大丙...

2024年网络安全行业前景和技术自学

很多人不知道网络安全发展前景好吗?学习网络安全能做什么?今天为大家解答下 先说结论,网络安全的前景必然是超级好的 作为一个有丰富Web安全攻防、渗透领域老工程师,之前也写了不少网络安全技术相关的文章,不少读者朋…...

cocos 关于多个摄像机,动态添加节点的显示问题,需要动态修改layer。(跟随摄像机滚动)(神坑官网也不说明一下)

参考文章:Cocos 3.x 层级Layer - 简书 2D镜头跟随应该怎么实现呢 - Creator 3.x - Cocos中文社区 关于多个摄像机,动态添加节点的显示问题,需要动态修改layer? 场景:在制作摄像机跟随角色移动功能时,新增…...

freeswitch编译mod_av支持webrtc MCU通话

系统环境 一、FS相关网站 二、第三方库安装 1.apt安装 2.指定版本sofia-sip安装 3.指定版本spandsp安装 4.指定版本libks安装 5.指定版本openssl安装 三、指定版本FS安装 1.CPPFLAGS配置 2.编译器版本 3.FS配置编译 四、FS,fs_cli运行,模块加载 附录 1.安…...

K8s 入门指南(一):单节点集群环境搭建

前言 官方文档:Kubernetes 文档 | Kubernetes 系统配置 CentOS 7.9(2 核 2 G) 本文为 k8s 入门指南专栏,将会使用 kubeadm 搭建单节点 k8s 集群,详细讲解环境搭建部署的细节,专栏后面章节会以实战代码介绍…...

python socket编程6 - 使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的例子

使用PyQt6 开发UI界面实现TCP server和TCP client单机通讯的示例。 一、PyQt6 实现的界面 二、TCP server代码的修改示意 界面提供网络参数的配置,以及提供人机交互过程中的数据获取和显示。 1、把上面的server代码封装成两个部分 A、class Server 负责接受UI界面…...

centos上安装并持久化配置LVS

1 实验背景 1)系统版本:centos7.8 2)虚拟机:3个centos虚拟机,(其中一个做Director Server,另外两个做Real Server) 3) LVS大致有NAT ,DR ,Tun这三种模式,这里搭建一个典型的DR模式的LVS Direc…...

多线程并发Ping脚本

1. 前言 最近需要ping地址,还是挺多的,就使用python搞一个ping脚本,记录一下,以免丢失了。 2. 脚本介绍 首先检查是否存在True.txt或False.txt文件,并在用户确认后进行删除,然后从IP.txt的文件中读取IP地…...

SpringBoot Seata 死锁问题排查

现象描述:Spring Boot项目,启动的时候卡住了,一直卡在那里不动,没有报错,也没有日志输出 但是,奇怪的是,本地可以正常启动 好吧,姑且先不深究为什么本地可以启动而部署到服务器上就无…...

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑两阶段鲁棒优化配置的多微网合作博弈》

这个标题涉及到多个概念,让我们逐步解读: 考虑两阶段鲁棒优化配置: 两阶段: 指的是在解决问题或进行优化时,可能存在两个不同的阶段或步骤。这表明问题的解决不是一步完成的,而是需要经过多个步骤或阶段。鲁…...

Redis常见类型

常用类型String字符串类型Hash字典类型List列表类型Set集合类型ZSet有序集合类型 Java程序操作Redis类型代码操作Redis 常用类型 String字符串类型 使用方式: 使用场景: Hash字典类型 字典类型(Hash) 又被成为散列类型或者是哈希表类型&#xff0…...

深入了解数据库锁:类型、应用和最佳实践

目录 1. 引言 2. 数据库锁的基本概念 2.1 悲观锁和乐观锁 2.2 排他锁和共享锁 3. 悲观锁的应用场景 3.1 长事务和大事务 3.2 并发修改 3.3 数据库死锁 4. 悲观锁的最佳实践 4.1 精细控制锁的粒度 4.2 避免死锁 4.3 考虑乐观锁 5. 案例分析 5.1 银行系统的转账操作…...

python3.5安装教程及环境配置,python3.7.2安装与配置

大家好,小编来为大家解答以下问题,python3.5安装教程及环境配置,python3.7.2安装与配置,现在让我们一起来看看吧! python 从爬虫开始(一) Python 简介 首先简介一下Python和爬虫的关系与概念&am…...

ubuntu安装tomcat并配置前端项目

1.1查找 # 先更新 sudo apt update # 查找 apt search jdk1.2安装 sudo apt install openjdk-8-jdk1.3验证 java -version 2.安装tomcat 下载链接:Apache Tomcat - Apache Tomcat 8 Software Downloadshttps://tomcat.apache.org/download-80.cgi下载这个&…...

GeoPandas初体验:它是什么,我用它展示一下shp矢量数据

GeoPandas 是一个开源的 Python 库,用于处理地理空间数据。它扩展了 Pandas 这个流行的 Python 数据操作库,增加了对地理数据类型和操作的支持。GeoPandas 结合了 Pandas、Matplotlib 和 Shapely 的功能,提供了一个易于使用且高效的工具&…...

Python-滑雪大冒险【附源码】

滑雪大冒险 《滑雪大冒险》是一款充满趣味性和挑战性的休闲竞技游戏,在游戏中,玩家将扮演一位勇敢的滑雪者,在雪山上展示他们的滑雪技巧,游戏采用2D图形界面,以第三人称视角呈现 运行效果:用方向键及方向键…...

Linux---日志管理

本章主要介绍Linux中的日志管理 了解rsyslog是如何管理日志的查看日志的方法 日志管理简介 工作当中的日志,特指硬件和软件的日志,管理员可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。日志管理包括管理系统日志、应…...

Java高级技术-单元测试

单元测试 Junit单元测试框架 Junit单元测试-快速入门 方法类 测试类 Junit框架的基本注解...

springboot集成邮箱验证功能

准备工作 开启SMTP服务 前往你的邮箱网站,以网易邮箱为例,打开网易邮箱地址,登录你的邮箱,进入邮箱管理后台界面。点击“设置”》》“POP3/SMTP/IMAP”后,点击开启SMTP服务即可。 技术实现 Spring Boot 发送邮件验证…...

HarmonyOS应用程序框架——UIAbility实操

UIAbility概述 UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互。UIAbility也是系统调度的单元,为应用提供窗口在其中绘制界面。 每一个UIAbility实例,都对应于一个最近任务列表中的任务。 一个应用可以有一个UIAbility&…...

数实融合!低代码推动工业数字化转型走“深”向“实”

当下,“数字化、智能化”已经不再是新鲜词。毕竟,在早几年前就已经有企业喊出大举进军数字化的口号,轰轰烈烈的数字化转型运动也持续了很长一段时间,有一些业内人士甚至判断“如今的企业数字化已经走过了成熟期,来到了…...

OpenGL学习资料

1.学习网站 Song Ho Ahn LearnOpenGL GAMES101:现代计算机图形学入门 OpenGL 官网 2.书籍 Fundamentals of computer graphics OpenGL ES 3.0编程指南 计算机图形学(OpenGL版)第3版 3.参考的一些文章 颜色缓冲区 深度缓冲 VBO,VAO和EBO详解 深入探索透视投影变…...

字符串指令集

字符串指令的格式 例子1就成功发送了指令 例子2就是发送的字符串有误 查询当前位置就会在附加信息中返回当前座位的坐标 第一个指令的参数就是闪灯的两个参数 如第一个示例就是10ms On Time 第二个就是Off Time 使用标准库来接收字符串命令 字符串指令的接收 因为一个指令就是…...

行云海CMS SQL注入漏洞复现

0x01 产品简介 行云海cms是完全开源的一套CMS内容管理系统,简洁,易用,安全,稳定,免费。 0x02 漏洞概述 行云海cms中ThinkPHP在处理order by排序时可利用key构造SQL语句进行注入,LtController.class.php中发现传入了orderby未进行过滤导致sql注入。攻击者除了可以利用 SQL 注入…...

窗口函数之 first_value() 和 last_value()

这次,我要从**last_value()**开始写! last_value() 众所周知,first_value() 和 last_value() 的作用是返回窗口中某个字段的第一行的值和最后一行的值。 但是在应用的时候,突然发现使用last_value() 返回了不止一条数据&#x…...

习题练习讲解

前言:这又是一个新坑,算上之前的4个坑这是第五个坑(1、C/C的讲解,2、C语言小游戏,3、大学生活,4、假哲家因为某些原因没GS),这个就是发一些自己在刷题的过程中遇到自己感觉还不错的习…...

C++STL的string模拟实现

文章目录 前言string的成员变量成员函数构造函数拷贝构造赋值重载 模拟实现string各种接口print迭代器普通迭代器const迭代器 string比较大小push_backinsert 和 eraseinserterase reserve和resizereserveresize swapfindcout和cincoutcin 前言 今天要讲string的底层实现&…...

基于ZLMediaKit的webrtc实时视频传输demo搭建

环境 ubuntu 20.04 ​ gcc version 9.4.0 ​ cmake version 3.16.3 部署ZLMediaKit流媒体服务器 安装openssl 首先可以检查一下自己的openssl的版本如果是1.1.1以上就可以忽略这一步 wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz tar -xvzf openssl-1.1.1k…...

LeetCode双指针:有序数组中的单一元素

LeetCode双指针:有序数组中的单一元素 题目描述 给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。 请你找出并返回只出现一次的那个数。 你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复…...

熬夜会秃头——Beta冲刺总结随笔

这个作业属于哪个课程2301-计算机学院-软件工程社区-CSDN社区云这个作业要求在哪里团队作业—beta冲刺事后诸葛亮-CSDN社区这个作业的目标总结Beta冲刺团队名称熬夜会秃头团队置顶集合随笔链接熬夜会秃头——Beta冲刺置顶随笔-CSDN社区 目录 一、Beta冲刺开始前设立的任务完成…...

C++函数模板案例

利用函数模板封装一个排序的函数&#xff0c;可以对不同数据类型数组进行排序排序规则从大到小&#xff0c;排序算法为选择排序分别利用char数组和int数组进行测试 #include<iostream> using namespace std;template<class T> void myswap(T& a, T& b) {T…...

同旺科技 USB TO RS-485 定制款适配器--- 拆解(三)

内附链接 1、USB TO RS-485 定制款适配器 ● 支持USB 2.0/3.0接口&#xff0c;并兼容USB 1.1接口&#xff1b; ● 支持USB总线供电&#xff1b; ● 支持Windows系统驱动&#xff0c;包含WIN10 / WIN11系统32 / 64位&#xff1b; ● 支持Windows RT、Linux、Mac OS X、Windo…...

Vue学习计划-Vue2--Vue核心(六)过滤器和自定义指令

1. 过滤器 定义&#xff1a;对要显示的数据进行特定格式转换再显示&#xff08;适用于一些简单逻辑的处理&#xff09;语法&#xff1a; 注册过滤器&#xff1a;Vue.filter(name, callback) 或 new Vue{filters:{}}使用过滤器&#xff1a;{{ xx | 过滤器名 }} 或 v-bind:属性 …...

Codeforces Round 913 (Div. 3) (A-G)

后天就是 I C P C ICPC ICPC杭州站了&#xff0c;今天把之前做的 d i v 3 div3 div3题补一下&#xff0c;打完这场杭州站这赛季除了 E C F i n a l EC\,\,Final ECFinal就结束了&#xff0c;以后应该要多打 c f cf cf比赛练习保持手感&#xff0c;争取下赛季冲一下金牌。 感觉这…...

CSS——sticky定位

1. 大白话解释sticky定位 粘性定位通俗来说&#xff0c;它就是相对定位relative和固定定位fixed的结合体&#xff0c;它的触发过程分为三个阶段 在最近可滚动容器没有触发滑动之前&#xff0c;sticky盒子的表现为相对定位relative【第一阶段】&#xff0c; 但当最近可滚动容…...

Redis hash表源码解析

1、 整体数据结构 链式hash解决hash冲突、采用渐进式hash来完成扩容过程。 /** 哈希表节点*/ typedef struct dictEntry {// 键void *key;// 值union {void *val;uint64_t u64;int64_t s64;} v;// 指向下个哈希表节点&#xff0c;形成链表struct dictEntry *next;} dictEntry;…...

dll动态链接库【C#】

1说明&#xff1a; 在C#中&#xff0c;dll是添加 【类库】生成的。 2添加C#的dll&#xff1a; &#xff08;1&#xff09;在VS中新建一个Windows应用程序项目&#xff0c;并命名为TransferDll。 &#xff08;2&#xff09;打开Windows窗体设计器&#xff0c;从工具箱中为窗体…...

Linux 系统设置cpu频率

source_code: https://github.com/emagii/cpufrequtils cpufreq-set - A small tool which allows to modify cpufreq settings.&#xff08;修改内存频率的工具&#xff09; cpufreq-set allows you to modify cpufreq settings without having to type e.g. “/sys/devices…...

git基本概念

一、版本控制概念 1.1 什么是版本控制 1.1.1 手动管理文件版本 1.1.2 版本控制软件 概念&#xff1a;版本控制软件是一个用来记录文件发生的变化&#xff0c;以便将来查阅特定版本修订情况的系统&#xff0c;有时也叫“版本控制系统”。通俗的理解就是把手工管理文件版本的方…...

多个HTML属性

在HTML中&#xff0c;属性用于提供有关HTML元素的附加信息。在这篇文章中你将学习多个HTML属性&#xff0c;它们可以增强网站的视觉吸引力。 接下来开始吧&#xff01;&#x1f680; Accept 属性 您可以将accept属性与<input>元素&#xff08;仅用于文件类型&#xff…...

基于运算放大器的电压采集电路

一、运算放大器 运放推导的两个重要概念&#xff1a;虚短、虚断。 1、差分放大器 以差分放大器为例进行推导分析。 虚断–运放的"-“端、”“端的引脚电流接近为0&#xff1b; 根据基尔霍夫电流定律可知&#xff1a;iR1iRF&#xff0c;iR2iR3&#xff1b; iR1(Ui1-(V-…...

数字图像处理(实践篇) 十六 基于分水岭算法的图像分割

目录 一 分水岭算法 二 利用OpenCV实现分水岭算法的过程 三 实践 一 分水岭算法 基于任何灰度图像都可以视为地形表面&#xff0c;其中高强度表示山峰和山丘&#xff0c;而低强度表示山谷。首先&#xff0c;开始用不同颜色的水&#xff08;标签&#xff09;填充每个孤立的山…...

快速学习PyQt5的高级自定义控件

Pyqt5相关文章: 快速掌握Pyqt5的三种主窗口 快速掌握Pyqt5的2种弹簧 快速掌握Pyqt5的5种布局 快速弄懂Pyqt5的5种项目视图&#xff08;Item View&#xff09; 快速弄懂Pyqt5的4种项目部件&#xff08;Item Widget&#xff09; 快速掌握Pyqt5的6种按钮 快速掌握Pyqt5的10种容器&…...

Python中读写(解析)JSON文件的深入探究

目录 一、引言 二、如何读取JSON文件 三、如何写入JSON文件 四、如何解析JSON字符串 五、错误处理和异常处理 六、使用第三方库提高效率 七、总结 一、引言 在Python中&#xff0c;我们经常使用JSON&#xff08;JavaScript Object Notation&#xff09;格式来存储和传输…...

我获取股票和期货数据的常用函数

记录一下获取数据所使用的函数&#xff0c;以防止遗忘和方便查找。 # 获取掘金的数据 # 需要打开并登陆掘金终端 def get_data_juejin(symbol"bu2112",start"2021-8-1",end"2021-8-30 23:00:00",frequency"1800s",fields"eob,sy…...

高并发场景下的httpClient使用优化技巧

1. 背景 我们有个业务&#xff0c;会调用其他部门提供的一个基于http的服务&#xff0c;日调用量在千万级别。使用了httpclient来完成业务。之前因为qps上不去&#xff0c;就看了一下业务代码&#xff0c;并做了一些优化&#xff0c;记录在这里。 先对比前后&#xff1a;优化…...

用php上传图片到阿里云oss

如果你想自动创建目录并将文件上传到新的目录下&#xff0c;你可以使用阿里云 OSS 的 createObject 方法来实现。下面是更新后的示例代码&#xff1a; php <?php require_once __DIR__ . /vendor/autoload.php; // 引入 SDKuse OSS\OssClient; use OSS\Core\OssException;…...