- 博客(51)
- 问答 (1)
- 收藏
- 关注
原创 初识Severless
ASK是容器服务 Serverless 版 ACK Serverless,用户无需购买资源节点即可直接部署容器应用,无需对集群进行节点维护和容量规划,根据应用配置的CPU和内存资源量进行按需付费。阿里云的Serverless产品主要有容器服务Serverless版(ASK)、Serverless应用引擎(SAE)、函数计算(FC)。效能提升:开发人员聚焦开发核心业务代码,复用BaaS能力,开发效率高、应用上线快,研发效能提高。查看和管理函数,包括版本管理、别名管理、查看函数管理函数等。
2025-12-07 22:04:15
205
原创 表字段预设
本文档详细介绍了设备信息MongoDB集合的设计方案。核心设计包括:唯一标识符(ObjectId主键)、关键业务字段(型号、序列号、版本等)、时间戳(创建/更新时间)和状态管理。特别强调序列号作为唯一索引,并设计了多维度复合索引(型号+版本、型号+时间等)优化查询性能。采用集合验证规则确保数据完整性和类型安全,包括必填字段校验和状态枚举值约束。整体设计兼顾查询效率、数据一致性和扩展性,支持设备全生命周期管理。
2025-10-23 18:01:28
913
原创 通过API网关部署FC函数
本文介绍了通过API网关对接函数计算(FC)Web函数的完整流程:1)创建Web函数并获取内网访问地址;2)在API网关配置FC后端服务;3)创建API分组;4)建立API并关联后端服务;5)创建应用并完成授权;6)进行API调试。文中特别提醒需注意API鉴权方式和公网访问验证配置。该方案实现了API网关与函数计算服务的无缝集成为开发者提供了便捷的Serverless架构部署方案。
2025-10-23 09:52:53
847
原创 Python GIL全局解释器锁技术演进
GIL是CPython解释器的核心互斥锁机制,确保线程安全。Python3.13引入动态GIL切换和实验性移除选项,优化多线程性能。针对不同任务类型:计算密集型推荐多进程方案,I/O密集型建议使用协程。版本演进中,GIL机制持续改进,Python3.13+提供更优的线程管理和内存回收策略。开发者需根据实际场景选择合适方案,并关注版本特性差异。
2025-09-25 22:15:00
331
原创 基于深度学习神经网络协同过滤模型(NCF)的视频推荐系统
本文实现了一个基于神经网络的协同过滤推荐系统。首先对用户-视频评分数据进行预处理,包括数据格式转换(宽表转长表)、缺失值处理和评分归一化。然后使用LabelEncoder对用户ID和视频ID进行编码,构建包含嵌入层、特征融合层和全连接层的深度学习模型。模型采用MSE损失函数和Adam优化器进行训练。最后对9个用户、6个视频的所有组合进行评分预测,并将结果反归一化后输出完整的预测评分矩阵。该系统能够有效学习用户偏好和视频特征间的复杂交互关系。
2025-09-25 17:31:00
518
原创 Tornado和FastApi的区别
Tornado与FastAPI框架对比分析:Tornado采用事件驱动模型,擅长处理WebSocket和长连接(支持5万+并发),但QPS仅10k级别。FastAPI基于ASGI标准,优化RESTful API开发,QPS可达76k,支持自动生成OpenAPI文档。Tornado适合实时应用如聊天室,FastAPI更适合高吞吐API服务。FastAPI兼容现代Python特性,而Tornado采用独立事件循环机制。两者在架构设计、性能表现和适用场景上各具优势。
2025-09-17 01:43:43
562
原创 原生协程及greenlet框架实现
协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存,在调度回来的时候,恢复先前保存的寄存器上下文和栈。因此协程能保留上一次调用时的状态,即所有局部状态的一个特定组合async函数完全可以看作多个异步操作,包装成的一个 Promise 对象,而await命令就是内部then命令的语法糖。
2025-09-17 01:23:38
427
原创 知识拓展-智能体和数字人
数字人是通过3D建模和动作捕捉技术构建的拟人化虚拟形象,其核心价值在于提供类人的交互体验12。智能体则是基于AI决策系统的自主行为单元,强调环境感知与目标驱动能力23。例如深爱榜的"数智员工"系统既包含数字人的可视化交互界面,又整合了智能体的任务决策模块1。随着技术融合,两者边界逐渐模糊。深爱榜的实践显示,新一代"数智员工"已实现数字人形象与智能体决策能力的有机整合1。未来可能出现更多兼具拟人交互与自主决策能力的混合形态AI系统。
2025-09-16 17:42:37
414
转载 基于Python3+Tornado6+APScheduler/Celery打造并发异步动态定时任务轮询服务
本文介绍了Python中两种实现异步定时任务的方案:APScheduler和Celery。APScheduler轻量灵活,支持动态任务管理和持久化存储,可集成到Tornado事件循环中;Celery功能强大但稍显复杂,需配合Redis实现任务调度。两种方案各有优势:APScheduler适合轻量级定时任务场景,而Celery在分布式任务处理方面更具优势。文章通过代码示例详细展示了两种框架的配置和使用方法,包括任务创建、动态管理和持久化存储等关键功能,为开发者选择适合业务场景的定时任务方案提供了实践参考。
2025-09-16 17:26:58
76
3
原创 垃圾回收之在Python中是如何管理内存的
Python内存管理机制解析:Python通过私有堆空间管理对象,由解释器自动控制内存分配。采用引用计数机制(自动增减)和垃圾回收(处理循环引用)来管理内存。小整数和短字符串会被缓存复用,而容器对象存储的是其他对象的引用。可通过sys.getrefcount()查看引用计数,使用gc.collect()手动触发垃圾回收。这种动态内存管理方式既高效又自动化,但也需注意循环引用问题。
2025-09-12 11:48:14
214
原创 支付子系统架构及常见问题
本文介绍了支付系统的核心设计要点:1. 采用四密钥机制保障支付安全,通过RSA2算法进行加签验签操作;2. 使用Redis分布式锁(setnx)解决高并发下的支付一致性问题,并设置10秒超时防止死锁;3. 通过异步任务队列缓冲支付请求,控制80线程数避免突破支付宝100QPS限制;4. 采用Redis有序集合实现延时队列,定时检测未回跳的支付订单状态;5. 使用延迟双删策略(Cache-Aside Pattern)保证MySQL与Redis的最终一致性,先更新数据库后删除缓存,并设置延时二次删除。系统从安全
2025-09-12 11:35:41
691
原创 *args和**kwargs的实际应用解析
args和**kwargs*args处理无名参数(元组),**kwargs处理**命名参数**(字典)。两者常结合使用以实现高度灵活的函数接口,如装饰器或继承中的参数传递。
2025-09-11 13:08:45
515
原创 JSON Web Token
将 token 存入内存数据库:将 token 存入 DB 中,redis 内存数据库在这里是是不错的选择。如果需要让某个 token 失效就直接从 redis 中删除这个 token 即可。但是,这样会导致每次使用 token 发送请求都要先从 DB 中查询 token 是否存在的步骤,而且违背了 JWT 的无状态原则。黑名单机制:和上面的方式类似,使用内存数据库比如 redis 维护一个黑名单,如果想让某个 token 失效的话就直接将这个 token 加入到 黑名单 即可。
2025-09-11 11:12:17
788
原创 python3的单元测试模块mock与性能测试模块cProfile
本文介绍了Python单元测试和性能分析的方法。单元测试通过unittest框架和mock模块实现,mock可以模拟外部依赖,使测试专注于当前模块功能。对于性能分析,推荐使用内置的cProfile模块,它通过tottime和cumtime指标帮助定位CPU瓶颈。文章指出Python主要处理业务逻辑而非计算任务,性能瓶颈多在IO而非CPU,建议根据实际场景选择多进程、多线程等方法优化IO性能。通过单元测试和性能分析,可以持续提升代码质量和系统性能。
2025-09-11 11:04:19
947
原创 电脑桌面优化
关闭高风险功能(如自动更新)可避免兼容性问题,而设置系统还原点能快速恢复故障状态4。损坏的用户配置文件或图标缓存也可能导致桌面加载缓慢,需通过切换用户或重建缓存解决2。此外,定期清理临时文件和重建图标缓存(如通过注册表调整或专用工具)能改善数据读写效率2。通过整理图标(如固定到开始菜单或使用文件夹归类)、启用透明任务栏插件(如TranslucentTB)及自定义壁纸组件,既能保持桌面简洁,又能提升视觉体验。综上,桌面优化从性能到体验均能带来实质性改善,建议结合具体需求调整设置。
2025-09-04 19:11:39
320
原创 leetcode 接雨水II(407)
水位由最短的板子决定。我们可以从矩阵的边界开始,逐渐向内推进,确保每次遇到的都是当前最低的高度,从而确定可以存储的水量。下雨后,雨水将会被上图蓝色的方块中。总的接雨水量为1+2+1=4。使用优先队列(最小堆)来解决。
2024-12-12 14:16:39
288
原创 python魔法(python高级magic方法进阶)
Python解释器在导入模块时,会将模块中没有缩进的代码全部执行一遍(模块就是一个独立的Python文件)。当一个对象在删除的时需要更多的清洁工作的时候此方法会很有用,比如套接字对象或者是文件对象。() 取值、赋值、删除这“三剑客”的套路,在Python中,我们已经见过很多次了,比如前面的@property装饰器。是在一个对象实例化的时候所调用的第一个方法。() 如果为一个类编写了该方法,那么在该类的实例后面加括号,可会调用这个方法。() 方法,是由对象后加括号触发的,即:对象() 或者 类()()
2024-09-30 14:19:39
1121
原创 为什么python使用len(array)却不再使用java中类似的 array.size()了?
python中的len(array)和java中的array.size()的区别
2024-09-23 22:00:00
995
空空如也
帅气的博主会python或者Linux嘛?
2021-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅