- 博客(500)
- 收藏
- 关注

原创 【设计模式】入门 23 种设计模式(代码讲解)
设计模式是在软件设计中反复出现的问题的通用解决方案。它们是经过多次验证和应用的指导原则,旨在帮助软件开发人员解决特定类型的问题,提高代码的可维护性、可扩展性和重用性。设计模式是一种抽象化的思维方式,可以帮助开发人员更好地组织和设计他们的代码。它们提供了一种通用的框架,可以用于解决各种不同的软件设计问题。设计模式不是完整的代码,而是一种描述问题和解决方案之间关系的模板。
2024-11-17 16:21:33
1310

原创 【Kubernetes】K8s 实践之旅
Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化,它拥有庞大且快速发展的生态系统,Kubernetes 服务、支持和工具随处可见。
2024-09-02 00:18:35
500
1
原创 【编程之路】动态格式化字符串
这段代码定义了一个函数 sub(text),它使用字符串的 format_map() 方法结合自定义的 safesub 函数和调用者的局部变量来动态格式化字符串。
2025-04-03 23:19:58
691
原创 【编程之路】按指定大小合并数据块
这段代码定义了一个生成器函数 combine(),用于将多个小块数据(如字符串或字节)按指定大小(maxsize)合并成较大的块,然后通过文件操作写入文件。
2025-04-02 23:53:20
594
原创 【Python Cookbook】字符串和文本(三)
文本清理问题会涉及到包括文本解析与数据处理等一系列问题。在非常简单的情形下,你可能会选择使用字符串函数(比如 str.upper() 和 str.lower())将文本转为标准格式。使用 str.replace() 或者 re.sub() 的简单替换操作能删除或者改变指定的字符序列。你同样还可以使用 unicodedata.normalize() 函数将 Unicode 文本标准化。
2025-03-31 23:42:46
970
1
原创 【弹性计算】异构计算云服务和 AI 加速器(五):EAIS & AI 加速器
除了支持预定义规格的异构计算加速实例,还可以通过弹性加速实例(Elastic Accelerated Computing Instance,EAIS)以池化的方式将前端 CPU 的核心数和后端的异构加速设备解耦,让前端 ECS 动态挂载、后端异构计算加速实例卸载。前端和后端异构计算加速实例都以虚拟化的方式启动。通过虚拟化的方式可以对 GPU、FPGA、NPU 等不同的异构加速实例化调度和管理。
2025-03-29 11:24:38
871
原创 【弹性计算】异构计算云服务和 AI 加速器(四):FPGA 虚拟化技术
将 FPGA 的高性价比算力通过云输出,使得 FPGA 的算力普惠化、平民化,这是 FPGA as a Service 的核心出发点和立足点。同时,云上使用 FPGA 与 FPGA 的传统使用方式也有着非常大的区别。FPGA as a Service 的核心就是 FPGA 虚拟化技术。
2025-03-27 22:34:37
1240
原创 【Python Cookbook】字符串和文本(二)
这一节展示了在写包含点 . 字符的正则表达式的时候遇到的一些常见问题。在一个模式字符串中,点 . 匹配除了换行外的任何字符。然而,如果你将点 . 号放在开始与结束符(比如引号)之间的时候,那么匹配操作会查找符合模式的最长可能匹配。这样通常会导致很多中间的被开始与结束符包含的文本被忽略掉,并最终被包含在匹配结果字符串中返回。
2025-03-25 22:09:20
969
原创 【Python Cookbook】字符串和文本(一)
需要注意的是,如果你打算做大量的匹配和搜索操作的话,最好先编译正则表达式,然后再重复使用它。模块级别的函数会将最近编译过的模式缓存起来,因此并不会消耗太多的性能,但是如果使用预编译模式的话,你将会减少查找和一些额外的处理损耗。
2025-03-22 20:32:32
726
原创 【Python Cookbook】数据结构和算法(四)
另外一个值得关注的过滤工具就是 itertools.compress(),它以一个 iterable 对象和一个相对应的 Boolean 选择器序列作为输入参数。然后输出 iterable 对象中对应选择器为 True 的元素。当你需要用另外一个相关联的序列来过滤某个序列的时候,这个函数是非常有用的。比如,假如现在你有下面两列数据:
2025-03-22 11:35:07
1249
原创 【Python Cookbook】数据结构和算法(三)
内置的 sorted() 函数有一个关键字参数 key,可以传入一个 callable 对象给它,这个 callable 对象对每个传入的对象返回一个值,这个值会被 sorted 用来排序这些对象。比如,如果你在应用程序里面有一个 User 实例序列,并且你希望通过他们的 user_id 属性进行排序,你可以提供一个以 User 实例作为输入并输出对应 user_id 值的 callable 对象
2025-03-20 23:47:40
640
原创 【Python Cookbook】数据结构和算法(二)
你可以很方便的使用 collections 模块中的 defaultdict 来构造这样的字典。defaultdict 的一个特征是它会自动初始化每个 key 刚开始对应的值,所以你只需要关注添加元素操作了
2025-03-17 22:32:57
902
原创 【Python Cookbook】数据结构和算法(一)
任何的序列(或者是可迭代对象)可以通过一个简单的赋值操作来分解为单独的变量。 唯一的要求就是变量的总数和结构必须与序列相吻合。
2025-03-15 23:54:19
927
原创 【弹性计算】异构计算云服务和 AI 加速器(三):GPU 虚拟化技术
GPU 直通模式是对物理机性能损耗最小的方案,被各云服务提供商广泛采用。GPU 直通模式如下图所示。它没有对 GPU 功能性做任何限制,兼容性也最好。在 GPU 直通模式下,物理机的 GPU 驱动可以直接安装到虚拟机内使用。该模式的缺点也很明显,首先直通模式不支持热迁移,在宿主服务器上无法对设备进行操作,其次它缺少设备的监控数据。
2025-03-09 20:05:56
1001
原创 【弹性计算】异构计算云服务和 AI 加速器(二):适用场景
GPU 云服务器在传统的图形处理领域具有强大的优势,利用 GPU 的并行处理架构,不仅能进行深度学习的浮点运算,更可以在实时图形光栅化的应用场景下发挥巨大的优势。GPU 每秒钟可以轻易处理 750 亿以上像素的渲染,可以每秒对 1500 亿以上的纹理像素进行采样和运算。GPU 支持 DirectX(9.0 到 12.0 标准),OpenGL(2.0 到 4.5 标准)及 Vulkan 等这样的标准图形 API 进行加速,在这些 API 之上构建了丰富的软件生态,从操作系统到应用程序都能够无缝地支持,迅速获取
2025-03-08 23:03:26
788
原创 【弹性计算】异构计算云服务和 AI 加速器(一):功能特点
异构计算指由不同类型指令集和体系架构的计算单元组成系统的计算方式,目前主要包括 GPU、FPGA 和定制 ASIC 等。它们好比天赋异禀的独门高手,在特定场景下比普通的云服务器高出一个甚至更多数量级的性价比和效率,例如,在图形图像处理、机器学习、科学计算等场景下。要把这些异构计算设备包装成云服务器,同样需要对它们进行虚拟化。而由于这些设备的特殊性,其虚拟化技术或多或少地有别于 CPU。
2025-03-08 20:27:38
1081
原创 【弹性计算】弹性裸金属服务器和神龙虚拟化(三):弹性裸金属技术
2003 年,Xen 在 SOSP 发表 Xen and the Art of Virtualization,拉开了 x86 平台虚拟化技术的大幕。2006 年,AWS 发布 EC2(Elastic Compute Cloud),同年发布 S3(Simple Storage Service),拉开了公共云服务的大幕。EC2 的核心正是基于 Xen 虚拟化技术。虚拟化技术赋予了 EC2 核心产品价值 —— 弹性,同时虚拟化技术给网络虚拟化、存储虚拟化,和管控系统提供了业务部署点。
2025-03-02 23:12:29
920
原创 【弹性计算】弹性裸金属服务器和神龙虚拟化(二):适用场景
伴随着公共云的高速发展,通过混合云打通用户线下专有云和线上公共云资源的需求日趋强烈。OpenStack 和 VMware 等 IaaS Stack 在公共云上部署,同时管理用户线上和线下 IaaS 资源,可以看到,VMware Cloud on Alibaba Cloud 就属于此种混合云业务应用场景。
2025-03-01 23:45:54
781
原创 【弹性计算】弹性裸金属服务器和神龙虚拟化(一):功能特点
裸金属服务器(Bare Metal Server) 是一种物理服务器,它直接提供硬件资源给用户使用,而不是通过虚拟化技术将资源分割成多个虚拟机。用户可以完全独占服务器的所有硬件资源(如 CPU、内存、存储等),并且可以直接在服务器上安装操作系统和应用程序。
2025-03-01 23:27:38
1140
原创 【弹性计算】虚拟机云服务器(四):Guest OS
Guest OS 作为运行在虚拟机云服务器之上的系统软件,是虚拟机云服务器服务的重要组成部分。由于虚拟机云服务器交付给用户的是 “VM 服务”,因此,作为对接用户的 “最后一公里” 的产品,一个优秀的 Guest OS,是保障云服务提供商交付的 “VM 服务” 三大核心竞争优势的重要组成部分。
2025-02-26 21:56:55
964
原创 【弹性计算】虚拟机云服务器(三):调度技术
调度系统就是资源分配的决策过程,即在合适的时间给合适的对象分配合适的资源。因资源不同,所以出现了各式各样的调度系统。如果资源是 CPU 的时间片,那么它可能是操作系统内部的进程调度;如果资源是用于创建虚拟机的一台台物理机,那么它是云上的虚拟机调度系统,如阿里云的后羿调度系统。
2025-02-23 20:20:24
984
原创 【弹性计算】虚拟机云服务器(二):虚拟化技术
虚拟机是公共云服务提供商的核心产品形态,故虚拟化技术也是弹性计算技术中的核心技术之一。虚拟化技术涉及计算虚拟化、存储虚拟化、网络虚拟化、管控调度等方面,本文主要介绍其中的计算虚拟化技术,以阿里云的虚拟化技术发展历程作为开篇概述,再介绍业界流行的 KVM 虚拟化技术,最后概括介绍云计算中虚拟化的热迁移和热升级这两大关键技术。
2025-02-21 23:56:39
708
原创 【弹性计算】虚拟机云服务器(一):功能特点 & 适用场景
“计算” 位居弹性计算的三大件之首,也是弹性计算的主题词。在公共云上,计算产品不仅有既基础又重要的虚拟机云服务器,而且包含了近年来为了满足用户的多样化需求而开发出来的裸金属服务器、异构计算云服务器、超级计算集群、容器服务、函数计算等丰富的产品。这些产品面向不同的用户场景,在功能上各有千秋,但 本质上都是对计算力的包装。
2025-02-19 21:41:56
835
原创 【弹性计算】IaaS 和 PaaS 类计算产品
轻量应用服务器是面向单机应用场景的计算服务,提供应用一键部署、一站式域名解析、网站发布、安全、运维、管理等服务,极大地优化了搭建简单应用的体验,降低了入门级用户使用云计算产品的门槛。轻量应用服务器不仅涵盖了普通 ECS 所需要的所有计算、存储、网络和镜像部件,还提供了类似于域名解析、HTTPS 加密访问等功能。
2025-02-18 21:13:12
1099
原创 【弹性计算】云上运维
虚拟机形态的云服务器产品对用户来说是基本的计算单元,随着云上应用规模的扩大,很多用户在云上保有数千乃至数万虚拟机成为一种常态。数万的虚拟机、数万的 IP 地址、数千的应用需要管理,这一切对于云上的资源管理员来说压力极大。如何帮助用户提升云上资源管理效率?相比于线下,云上资源的弹性能力具有颠覆性的提升,用户在云上可以按需创建资源和按量付费。这种弹性能力在使用中如何变得简单高效,是弹性计算整个业务团队持续思考的问题。云计算是普惠科技,必须要让它能够被简单地使用。
2025-02-18 13:04:02
857
原创 【弹性计算】容器、裸金属
技术的演进总是螺旋式地上升和迭代的,对于计算单元的演进方向从物理机到虚拟机、容器,再到无服务器计算之后,随着虚拟化技术的演进,软硬件一体化 的概念被进一步地实践落地。经过重新定义的裸金属不仅成为云计算底层的通用硬件方案,而且产生了新的价值。
2025-02-15 22:17:10
833
原创 【弹性计算】云服务器:实例、存储、网络、镜像、快照
云服务器是所有云服务的基础,也是使用最普遍、用户接受度最高的弹性计算产品。因为虚拟化继承了 x86 的标准硬件体系结构和操作系统标准应用界面的双重标准,所以,用户完全可以从过去使用物理机平滑过渡到使用云服务器,从而对底层物理资源的运维这一 “脏活、累活” 则被云服务提供商的自动化、大规模集中运维给取代了。
2025-02-15 17:30:22
1122
原创 【弹性计算】弹性计算的技术架构
弹性计算是对传统 IT 基础设施的颠覆,提供了一种全新的计算力供给方式,大大降低了计算力的使用门槛,成为普惠大众的又一种“能源”。相比传统 IT,弹性计算更加稳定、可靠、安全,性能更好,使用效率更高,而且更加便宜!弹性计算能覆盖非常广泛的计算场景,几乎可以替代所有线下服务器,特别适用于互联网服务、海量计算和储存,以及有流量短时高峰的应用等。
2025-02-14 23:10:42
883
原创 【弹性计算】弹性计算的使用场景
弹性计算旨在满足广泛的计算需求,特别是云服务器这样的产品,其标准化的形态和接口,加上丰富的品类和规格,能满足线下物理服务器承担的几乎所有计算需求。也就是说,运行在线下物理服务器上的所有任务,理论上都可以搬到云服务器上。
2025-02-12 22:28:26
690
原创 【弹性计算】弹性计算的价值
弹性计算到底解决了什么问题,或者说,它的价值在哪里?一言以蔽之,弹性计算就是要把计算力变成普惠的公共资源,让个人、企业、政府和各种机构 —— 无论体量大小,无论何时何地都能够以亲民的价格享受高可用、高安全、高性能、大容量、高效率的基础 IT 计算服务。这种对 IT 资源消费门槛的革命性降低,对整个社会的运作效率、运行成本和创新能力的影响都是极其深远的。
2025-02-11 23:57:10
868
原创 【弹性计算】什么是弹性计算
弹性计算是云计算提供的基础服务之一。顾名思义,弹性计算是一种为用户提供计算力的服务,并且用户可以根据实际需要灵活、动态地调整要购买的容量,即所谓的 “弹性”。
2025-02-07 23:06:47
1048
原创 【Linux】常用系统工作命令
ps 命令用来查看系统上的进程信息。要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。
2024-11-24 16:17:10
1080
原创 【Spring Boot】用 MyBatis 实现数据的 CRUD
本篇博客将通过 MyBatis 来实现常用的数据增加、删除、修改、查询和分页功能。
2024-11-18 23:56:47
1008
原创 【混沌测试】ChaosBlade:从安装到实战
ChaosBlade 是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具,帮助企业提升分布式系统的容错能力,并且在企业上云或往云原生系统迁移过程中业务连续性保障。
2024-11-17 23:11:14
1805
原创 【设计模式】行为型模式(五):解释器模式、访问者模式、依赖注入
访问者模式(Visitor)是一种行为设计模式,它允许你在不改变数据结构的情况下,为数据结构中的元素添加新的操作。这种模式特别适用于数据结构相对稳定,但需要在数据结构上定义很多操作的场景。
2024-11-17 15:19:57
1271
原创 【设计模式】行为型模式(四):备忘录模式、中介者模式
备忘录模式(Memento)是一种行为设计模式,它允许你在不破坏封装性的前提下,捕获一个对象的内部状态,并在之后恢复为之前的状态。简单来说,就是保存一个对象的 快照,以便将来可以恢复到这个状态。
2024-11-16 23:52:51
1153
原创 【设计模式】行为型模式(三):责任链模式、状态模式
状态模式(State)是一种行为设计模式,它允许一个对象在其内部状态改变时改变其行为。简单来说,就是让对象的行为随着其状态的变化而变化。这样可以避免大量的条件判断语句,使代码更加清晰和易于维护。
2024-11-16 23:39:11
1408
原创 【设计模式】行为型模式(二):策略模式、命令模式
命令模式(Command)是一种行为设计模式,它将请求封装成一个对象,从而使你能够用不同的请求、队列或者请求日志来参数化其他对象。命令模式也支持可撤销的操作。
2024-11-10 14:59:24
964
原创 【设计模式】行为型模式(一):模板方法模式、观察者模式
观察者模式(Observer)是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象(称为 主题 或 发布者)的状态发生变化时,所有依赖于它的对象(称为观察者或订阅者)都会自动得到通知并更新。
2024-11-09 16:02:54
1331
1
原创 【设计模式】结构型模式(四):组合模式、享元模式
组合模式(Composite Pattern)是一种设计模式,用于处理树形结构的数据。它的主要目的是将对象组合成树形结构来表示 “部分 - 整体” 的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
2024-11-09 14:59:41
1121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人