自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

残星说梦话

在路上...

  • 博客(272)
  • 收藏
  • 关注

原创 Golang 策略设计模式

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。策略模式处理的情况是,有多种算法或行为(算法可能有不同的实现方式,但目的类似),这些算法或行为可以互换或动态使用。上面提到不同算法,每种算法都封装在自己的类或类型中,这个类或类型代表算法的独立策略,这样的类被称为策略类。策略类提供一组方法,用于定义策略的执行方式。

2024-08-07 16:53:55 1063

原创 企业级敏捷框架:业务驱动型敏捷与产品需求团队

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。编写有效的验收标准是业务驱动型敏捷的关键,因为这是最具挑战性的过程,需要技巧和时间。业务驱动型敏捷框架是一种新的企业级敏捷框架,它设置了 PRT(Product Requirement Team,产品需求团队),明确了如何有效定义需求,以提高效率并最大化产品价值。

2024-08-06 18:05:47 925

原创 基于Golang实现Kubernetes边车模式

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。Sidecar 服务会将传入的 HTTP 请求转发给主服务。

2024-08-05 18:14:39 879

原创 5分钟了解微服务架构通信模式

一个简单的解决方案是,消息消费者使用消息 ID 跟踪已处理的消息,并丢弃任何重复消息。你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。由于网络问题或垃圾回收导致的延迟,消息的处理顺序可能会被打乱,从而导致奇怪的行为。消息代理将再次传送未确认的消息,要么在该客户端重启时传送给它,要么传送给该客户端的另一个副本。

2024-07-15 16:28:22 914

原创 DEBOPIE框架:打造最好的ChatGPT交易机器人

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。选择要交易的资产,并确定入市策略和指标基础策略、仓位大小和风险水平,并写下来。

2024-06-30 13:03:53 743

原创 击败华尔街99%投资者的ChatGPT交易机器人

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。如果想轻松编辑某个值,可以要求将其添加为变量,就像我在布林带长度上所做的那样。

2024-06-18 17:17:35 927 1

原创 30 天 52% 回报:GPT-4o 量化交易机器人

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。非常好,因为我们希望它能很好的理解图表,并根据图表创建交易策略。在 GPT-4o 等AI工具的帮助下,再加上不断学习和改进的决心,即使在充满挑战的市场环境中,也能将交易提升到新的水平。虽然上述结果还需更多的测试,但我很高兴看到,即使在市场不利的情况下,也能产生出色的回报。

2024-06-16 12:11:19 945 1

原创 适合加密货币交易者的免费指标

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。因此,要练习自己的策略,只使用几个指标,不要超过 3 个,以避免信号冲突。

2024-06-15 15:58:27 1067 1

原创 平台型组织的战略及OKR

因此,在层级分明的组织中,重要的是要对 OKR 进行集体设想,让所有各方都参与进来,以确保其可行,并且不会与组织的实际情况脱节,同时还要做好"级联"过程,从而有助于将所有相关方统一到共同的OKR中。与元层面不同,产品部门的内部架构因产品类型和战略需求的不同而有很大差异。一般来说,每个部门都要对自己的成果负责,合作是通过不断谈判和签订合同实现的,各部门应始终注意开辟其他途径来获取所需资源(甚至从组织外部获取,以防内部服务提供商表现不佳),并开辟多种进入市场的途径,避免过于严格的依赖整个组织的市场渠道。

2024-06-15 15:32:31 737

原创 探索 Go slog 标准库:设计与应用

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。中的参数添加到日志中,就会像我一样感到困惑,因为这样做是行不通的。

2024-06-12 17:48:07 695 1

原创 10分钟搞定分布式应用缓存

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。如果缓存未命中,就会在数据库中查找。不过,在旁路缓存模式中,查询缓存和数据库的责任都落在了应用程序身上,而在直读缓存中,这一责任则落在了缓存产品身上(如果它有这种机制的话)。现在,我们不再通过笨重的数据库来访问库存系统,而是先访问缓存,如果数据在缓存中,就从那里获取数据。

2024-06-12 16:57:26 934

原创 如何制定工程战略

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。这意味着有许多经过验证的实践也可以在你的组织中发挥作用--与其重新发明轮子,可以采用现有的行业标准,以满足我们的需求。-- 有些公司,如 Google 或 Thoughtworks,已经制定了自己的技术债务分类,采用它们的框架可以帮助你找到适合你的软件工程战略的模块。

2024-06-10 15:43:39 567 1

原创 如何有效管理低绩效人员:CARES 框架

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。让我们明确你的职责。记住,这是一项合作努力,你的进步是我的首要任务。

2024-06-09 11:14:54 749

原创 领导者在沟通中最容易犯的错误

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。如果有正当理由不能与团队分享某些信息,要让团队知道(例如,最好让团队知道有一个安全问题可能会被公开,但在公开之前,由于信息披露条款,不能与团队讨论这个问题。相信我,你的团队会理解的。应该向团队传达与他们相关的信息,对他们有影响的,他们好奇、关心的信息。再次,邀请团队成员提问。

2024-06-09 10:50:21 1042

原创 领导力沟通三阶段

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。作为领导者,你的目标应该是通过有影响力的沟通来推动变革,与企业目标对齐。

2024-06-02 13:33:14 429

原创 领导力中的说服艺术

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。值得庆幸的是,他的思想经受住了时间的考验,在过去的 2000 年里,

2024-06-02 13:01:32 348

原创 软件架构中的耦合

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。在这种耦合中,如果 A 组件在 B 组件提供某些输出之前无法执行其工作,那么 A 组件就会暂时依赖于 B 组件。因此,这些类通过组合关系耦合在一起。本文介绍了软件架构中的九种耦合形式,通过了解不同的层次的耦合,架构师和开发者在设计时就可以做出不同选择,从而实现针对性的设计。

2024-06-01 16:35:23 885

原创 云原生架构模式

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。这种模式的要点是在前端和真正的后端之间再做一层后端,就是所谓的BFF(Backend For Frontend),是在广泛应用的最流行的模式之一。如果想在不同微服务中抽象出主应用程序的某些外围部分,这种模式会很有帮助,这有助于实现服务之间的独立性,打破紧密耦合的组件。

2024-06-01 16:09:52 668

原创 利用依赖结构矩阵管理架构债务

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。交叉:依赖于多个其他类的上帝类,另一方面,众多不同的类又依赖于这个特定的类。

2024-05-31 20:05:41 853

原创 打造高效微服务的最佳实践

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。稍微改进一点的办法是至少在表的上下文中将服务分开,即使所有表都在同一个数据库实例中,每个服务也有各自独立的表,但最好的办法是每个服务都有独立的数据库实例。根据技术栈来组建团队,比如一个团队负责前端,另一个团队负责后端等等,在当今是无效的,会造成技术垄断,使所有团队相互依赖。

2024-05-31 17:22:07 473

原创 GVM: Golang多版本管理利器

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。GVM 提供了直接的解决方案,可以毫不费力的安装、切换不同的 Go 版本。

2024-05-26 10:58:45 1727

原创 企业级架构及本体论最新进展

本文主要探讨了企业级架构和本体论的新兴趋势,特别是DoDAF、IDEAS、UAF和NAF的发展历程、理论基础、模型构建以及与ArchiMate和语义网技术的关联。原文: The emerging landscape of Enterprise Architecture and Ontology导言动机和采用的方法关注我的人都知道我对 ArchiMate(一种标准化企业建模语言)及其与语义和图形相关技术(尤其是语义网技术和本体网络语言)的联系很感兴趣。然而,与企业级架构和本体论相关的还有另一股潮流

2024-05-25 15:46:52 451

原创 Golang项目代码组织架构实践

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。你会看到两个仓库,虽然这看起来像是混淆了文件夹(folder)和群组(group)的概念,但我向你保证,我对这种设置很满意,而且很有效。在我的测试中,控制生成的时间和 uuid 对测试很有帮助,因此这个包创建了一个接口和实现,可以在任何地方使用,并在测试中模拟。

2024-05-25 12:49:36 820

原创 C++ vs Rust vs Go 性能比较

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。幸运的是,所有这些程序都支持多线程选项,可以在单独的线程上运行 CRC32 校验和,因此运行时间与解压缩实现成正比--这是因为解压缩比 CRC32 校验和耗时更长,因此通过并行化,可以有效的将 CRC32 校验和的影响降至最低。有不同的实现,例如用 C 编写的。

2024-05-12 11:50:46 1571

原创 10分钟了解Golang泛型

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。这就是"泛型"诞生的过程。进一步来说,类型参数的约束代表了一系列可允许的类型,但在编译时,类型参数只代表一种类型,因为 Go 是一种强类型的静态检查语言。但要知道,既然 Go 泛型已经可用,就可以消除模板代码,不必担心向后兼容问题,同时还能编写可重用、类型安全和可维护的代码。

2024-05-11 19:24:37 837 2

原创 Golang插件系统实现

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。为此,我们可以使用不同的方法,既可以通过简单的文档解释期望的方法,也可以定义接口库(编程接口,如 class foo implements bar)。为此,我们将用 JSON 定义配置文件,在里面定义路径列表,在本文中列表里只有一项,但请注意,这是一个为插件定义配置的机会。

2024-04-17 16:59:17 1127

原创 深入探索垃圾收集

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。并发标记扫描收集器(或并发收集器、CMS)是 Oracle HotSpot Java 虚拟机(JVM)中的标记扫描垃圾收集器,自 1.4.1 版起可用,在第 9 版中被弃用,在第 14 版中被移除,因此从 Java 15 开始就不再可用了。

2024-04-15 17:50:58 728

原创 Golang 并发安全Map容器实践

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。在读取或写入map前锁定mutex,并在读取或写入map后解锁mutex。

2024-04-12 18:12:56 424

原创 Golang 状态机设计模式

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。因为返回的是下一个要运行的状态,所以根据不同的条件,会有不同的下一个状态。

2024-04-12 17:36:22 482

原创 基于Python实现盈利8371%的交易策略

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。正如标题中所说,该策略取得了 8371% 的投资回报率,这是一个巨大的数字。

2024-04-12 14:05:34 434

原创 Golang数据库事务实践

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。工作原理:事务管理器启动事务并将事务放入回调,存储库工厂方法使用事务创建自己。

2024-04-02 19:42:49 530

原创 基于ArgoCD和Testkube打造GitOps驱动的Kubernetes测试环境

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。由于测试是在集群内部执行的,因此没有必要纯粹为了测试而从外部暴露被测服务。

2024-04-01 16:45:49 999

原创 软件项目估算8大原则

如果一个软件工程师被一个复杂的错误困住了,花费的时间超出了他的预期,他就会分享问题是如何解决的,这样其他软件工程师就不会被同样的错误困住。你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。但是,如果你是分包商,而客户还没有付款,就必须考虑是否应该避免提供,因为粗略估算是有价值的信息,很多人都会想方设法榨取这些信息,但不付钱。

2024-04-01 15:07:02 1009

原创 代码审查最佳实践

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。因此,通过关注编码标准,团队成员可以限制主观争论,并依赖记录在案的约定俗成的代码审查准则,有助于在开发过程的早期解决潜在问题,并确保代码库长期保持一致性。然而,如果操作不当,也可能成为工程经理和开发人员的噩梦,团队可能会遇到代码审查方面的难题,从而拖慢整个开发流程。

2024-03-29 16:10:27 646

原创 Go高级构建指南

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。通过使用构建标签,开发人员可以定制自己的应用程序,使其适用于不同的构建配置、环境或特定平台要求。构建标签是放在 Go 源文件开头的注释,指定了一组条件,标识在这些条件下,该文件中的代码应被包含或排除在联编过程之外。只有在未启用 CGO 的情况下,才会在构建过程中包含该文件。

2024-03-28 17:18:49 926

原创 Kubernetes生产集群部署指南

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。在此部署中,我们将关闭捆绑的 etcd 服务,而只使用外部群集。

2024-03-28 13:03:15 1030

原创 Netflix微服务经验教训

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。软件架构的变化被称为差异性,随着差异逐渐增加,系统的复杂性也会增加。

2024-03-26 16:59:00 625

原创 Go代码优化实用指南

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。对 Go 代码进行优化是一个微妙的过程,需要在可读性和性能之间取得平衡,必须优先考虑代码清晰度,只有经过分析表明有必要时才引入优化。Go非常适合构建高性能应用,本文通过对整型切片求和代码的优化,介绍了常用的Go代码优化方案,从而让代码获得更好的性能。优化 3:使用指针切片。

2024-03-26 12:43:37 419

原创 Kubernetes反模式避坑指南

试想一下,有一个有状态的 pod(附加了持久卷),由于持久卷通常是属于特定可用性区域的资源,在区域内没有复本,因此自定义自动扩容器会移除装有此 pod 的节点,而调度器无法将其调度到其他节点上,因为它受到装有持久化存储的唯一可用区的极大限制,Pod 再次卡在了 Pending 状态。没错,说的就是这个。

2024-03-17 15:25:31 963

原创 Golang高效流控实践

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。例如,如果流控设置为每分钟 100 个请求,则系统在任何给定的 60 秒窗口内最多允许 100 个请求,超过此限制的请求将被拒绝或延迟到下一个时间窗口。流控对于构建高可靠弹性系统至关重要,本文介绍了Golang内置的流控组件,通过该组件就可以打造适合各种业务场景的流控系统。

2024-03-16 15:00:09 1120 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除