- 博客(174)
- 收藏
- 关注
原创 Python列表:高效灵活的数据存储与操作指南
它不仅可以存储任意类型的元素(如字符串、数字、字典等),还能通过灵活的操作(如切片、动态增删、列表推导式)高效地管理数据。一个经典的用例是用列表存储表格数据,其中每一行是一个字典,整个列表代表一张完整的表。列表推导式(List Comprehension)是Python中优雅且高效的列表生成方式,可以替代大部分for+append的代码。动态存取:append/pop通常是O(1),但pop(0)是O(n),考虑deque优化。
2025-06-10 23:46:12
432
原创 Python函数参数详解:从位置参数到灵活调用的艺术
Python函数参数使用精要 Python函数参数可分为位置参数和关键字参数两种基本类型,遵循"位置参数在前,关键字参数在后"的惯例。位置参数必须按顺序提供,而关键字参数通过参数名指定,可提高代码可读性。 Python还提供了灵活的*args和**kwargs机制: *args收集多余位置参数到元组 **kwargs收集多余关键字参数到字典 实用示例展示了如何构建函数执行器,它能够: 执行任意函数并记录参数 捕获并返回执行结果 可扩展添加性能计时等额外功能 这种参数处理方式使Python
2025-06-03 22:26:49
1126
原创 探秘系统时间精度:精度获取的代码及运算能力对比
摘要:计算机系统时间精度分析与应用 本文探讨了计算机系统中的时间精度问题。不同操作系统提供的时间精度存在差异:Windows传统API精度为10-15毫秒,但可通过QueryPerformanceCounter达到微秒级;Linux则默认支持纳秒级精度。影响时间精度的因素包括硬件(时钟源质量、CPU性能)和软件(系统调度、驱动程序)两方面。在Python中,time.perf_counter()和time.monotonic()函数可用于高精度时间测量,而通过ctypes调用系统底层API能获取更高精度。文
2025-05-30 21:49:07
990
1
原创 从时间到宇宙:探索时间同步的底层奥秘与工程实践
摘要: 时间同步是现代计算与通信系统的核心需求,NTP与PTP是两大主流技术。NTP采用分层结构,通过时间戳计算网络延迟与时钟偏移,利用PID控制调整频率和相位,适用于企业网络等场景。PTP则通过硬件时间戳和主从模型实现微秒级同步,专为5G基站、工业自动化等高精度场景设计。两者均涉及相位调整(非线性控制)和频率补偿(PID控制)的数学模型,需考虑网络拓扑与硬件实现的影响。开发者需结合数学理论与工程实践,关注前沿技术如5G时间敏感网络,以深入理解这一复杂而关键的领域。 (150字)
2025-05-28 22:25:08
863
原创 从网页或应用获取相关信息:非API场景下的四大技术方案
在数字化时代,获取网页和应用中的关键信息面临挑战,尤其是当API不可用或使用复杂时。本文介绍了四种不依赖API的技术方案来高效提取信息: 前端浏览器小插件:适用于从特定网页提取结构化数据,如商品价格或新闻标题,可通过开发Chrome或Firefox插件实现自动化抓取和导出。 逆向工程API:当页面数据通过AJAX动态加载时,通过监控网络请求找到API端点,直接调用未公开的API获取数据,适用于需要更高灵活性的场景。 Selenium等浏览器自动化工具:用于模拟用户操作,如登录、点击等,适用于需要处理复杂交互
2025-05-22 15:54:55
356
原创 Python 实例传递的艺术:四大方法解析与最佳实践
实例传递指的是将类的实例对象从一个函数、类或模块传递到另一个函数、类或模块的过程。在 Python 中,由于一切皆对象,类的实例也是对象,因此传递实例本质上就是传递对象引用。在开始设计复杂的依赖注入结构之前,先确保它能为项目带来实际价值,而不仅仅是学术上的完美。本文将深入探讨四种常见的实例传递方法,并分析它们的优缺点,帮助你在实际项目中做出明智的选择。显式传递是最直接的实例传递方式,即通过函数参数直接传递实例对象。类封装是将实例作为类的属性进行管理,通过类的方法间接访问实例。在这个简单的例子中,
2025-05-19 22:50:30
879
原创 Python循环性脚本实践要点:打造稳定高效的定时任务
经过排查,发现问题出在状态累积——我使用了一个全局列表来存储日志条目,但没有定期重置,导致列表不断膨胀,误判了"新日志"的出现。在Python开发中,循环性脚本(长时间运行并定期执行任务的脚本)非常常见,比如监控系统、数据采集程序、定时清理任务等。这类脚本虽然看似简单,但实际开发中容易遇到各种陷阱。毕竟,在无人值守的环境中,一个能稳定运行数月甚至数年的脚本,才真正体现了你的工程能力。这个其实跟上一点的是差不多的,也是说明任务解耦和得到单个运行结果,这里优化任务可以返回 非True or False的情况。
2025-05-17 10:00:56
570
原创 Python函数返回值的艺术:为何True/False是更优实践及例外情况分析
在Python编程中,子程序的返回值设计至关重要。返回布尔值True/False通常是一种更好的实践,因为它直观、支持链式判断、符合Python惯例并有助于清晰的错误处理。然而,在某些情况下,如需要区分多种失败原因或返回有意义的值时,布尔值可能不适用。此外,应明确None的语义,避免与布尔值混淆。遵循这些原则可以使代码更健壮、易维护,并与Python生态系统更好地集成。
2025-05-15 21:39:21
804
原创 python - 文件
是一个文件对象的方法,用于更改当前文件指针的位置。文件指针表示从文件开头到当前位置的字节数。seek()方法带有一个必需的参数,指定要移动的字节数以及一个可选的偏移位置。Python的read函数有多种读取模式,具体取决于文件的需要读取方式。方法,您可以在文件中自由地移动文件指针,并可以执行读取或写入操作定位到不同的位置。这些是文件对象的一些常用方法,可以根据需要选择合适的方法来读取或写入文件。
2024-02-17 13:29:39
456
原创 python - 错误处理和异常
在except语句中,ExceptionType是指定要捕获的异常类型。可以指定多个不同的异常类型来 处理不同类型的异常。try语句块中包含可能引发异常的代码。如果在try块中发生异常,程序将立即跳转到except块,并执行指定的异常处理代码。如果在try 块中没有发生异常,则跳过except块,继续执行后续的代码。通过使用try-except语句,可以优雅地处理Python程序中可能发生的异常情况,避免程序崩溃并提供友好的错误处理。它与except一起使用,用于捕获可能发生的异常并执行相应的处理代码。
2024-02-17 12:09:10
435
原创 python - 类和对象
封装可以隐藏类的实现细节,只向外部暴露必要的接口,减少了对外部的依赖性,提高了模块间的解耦,增加了代码 的可维护性和可重用性。: 封装可以对类的使用进行限制,通过将类的部分成员设置为私有,只暴露有限的接口,从而防止误操作和非法访问 ,提高了程序的安全性。: 封装可以将数据和操作封装成一个完整的抽象数据类型,只暴露抽象的接口,利于代码的组织和管理,提高 了代码的可理解性和可扩展性。: 封装可以将复杂的操作封装在类的内部,对外部提供简单易用的接口,减少了外部代码的复杂性,提高了代码的可读 性和可维护性。
2024-02-17 11:35:20
402
原创 python - 模块
环境变量PYTHONPATH中定义的目录:PYTHONPATH是一个包含一个或多个目录路径的环境变量,Python会在这些目录中搜索模块。语句调用模块时,Python只会搜索特定目录中的模块。如果你把自己编写的模块放在了Python搜索路径之外的目录中,你需要通过修改。Python的默认安装路径:Python会在默认安装路径中搜索模块,这个路径通常是。在Linux中,Python会在一系列目录中查找模块。当前工作目录:Python首先在运行脚本的当前工作目录中搜索模块。当然,你也可以通过在代码中使用。
2024-02-17 11:05:06
277
原创 python基础 - 变量
知识点1: print函数里可以用英文逗号, 分隔字符和变量,字符串要用双引号引起来,而变量名不用引起来,同时print的时候也可以直接写数学运算公式。知识点2: python里和用户交互的函数是input,但它有一个特点,它会把用户输入的所有数据都认为是字符串,而不去区分是数字或者其它格式的数据。`In [2]: a = input(“请输入内容:”)
2024-01-23 22:03:37
589
1
原创 4.2 制定项目管理计划 4.3-4.4指导与管理项目工作和管理项目知识
范围基准进度基准成本基准项目文件是中间文件,跟项目管理计划互不包含问题日志:描述 - 优先级 - 责任人 - 完成日期PMIS - 项目管理信息系统为了当前和将来而实施的变更请求包括:纠正措施:不改变基准预防措施:不改变基准缺陷补救:都有可能更新: 一定改变基准KPI - OKR...
2020-10-08 18:38:39
337
原创 PMBOK - 项目整合管理 (第四章)
接口系统思维名正言顺项目经理是整合项目,项目管理计划需要所有相关方一起制定CR变更请求项目交程是交叠进行自组织团队T型人才(全栈式工程师)如何让相关方签字假设日志 - 假设条件 & 制约因素MOU群商群策引导 - 关注问问题流程和步骤,得到内容;世界咖啡 、ORID访谈 - 一对一罗伯特议事规则可操作的民主...
2020-10-08 02:13:49
195
原创 PMBOK -项目经理的角色(第3章)
节奏感影响力范围项目经理对项目的影响项目经理与组织的交互项目经理与其他方面的交互项目管理者人才三角项目经理的能力战略和商务管理技能领导力技能沟通 - soften原则影响力领导力风格执行整合一套结构化思维为主,权变策略为辅的一套问题解决的办法关注让别人帮我们做事的能力 - 领导力...
2020-09-27 02:01:37
299
原创 PMBOK - 项目运行环境(第2章)
组织过程资产例子组织结构矩阵- 强 - 弱 - 均衡职能 - 专业化 - 沟通困难PMO - 沟通快 - 没有归属感 - 资源利用率不高 - 项目壁垒PMO项目管理办公室
2020-09-26 20:47:27
118
原创 PMBOK - 引论01
Project Management InstituteProject Management Body of Knowledgegood practicetailoring - 优化,匹配责任,尊重,公正,诚实单个项目项目有起点终点每次结果过程不一样项目:独特性,临时性,淅进明细性(滚动式规划)运营:重复性,持续性十月怀胎范围蔓延(范围潜变,scope creep) - 不知不觉,情绪愉乐中产生淅进明细性项目 - 为创造独特的产品、服务或成果而进行的临时性工作项目启.
2020-09-26 10:50:59
398
原创 PMBOK指南精讲(一)
课程目标建立体系框架链接实战思考知识全面详解熟悉考试风格相关要求配合互动复习应用目录第一部分:指南(重点,前13章)第二部分:标准第三部分:附录 (术语,敏捷相关)13章引论项目运行环境项目经理的角色*整合管理范围管理进度管理成本管理*质量管理资源管理沟通管理*风险管理采购管理相关方管理环境:不容易改变:事业 环境 因素可以利用:组织 过程 资产有接口的地方就需要整合管理需求与验收标准想要什么与不要什么发散性与范围
2020-09-13 19:12:46
234
原创 amazon白皮书学习 II
Machine Learning … 42Amazon SageMaker 是一项完全托管的服务,可以帮助开发人员和数据科学家快速构建、训练和部署机器学习 (ML) 模型。SageMaker 完全消除了机器学习过程中每个步骤的繁重工作,让开发高质量模型变得更加轻松。传统的 ML 开发是一个复杂、昂贵、迭代的过程,而且没有任何集成工具可用于整个机器学习工作流程,这让它难上加难。您需要将工具和工作流程拼接在一起,这既耗时又容易出错。SageMaker 在单个工具集中提供了用于机器学习的所有组件,让这一难题迎
2020-09-04 15:21:13
579
原创 amazon白皮书学习 I
从目录学习Introduction …1What is Cloud Computing?..1Six Advantages of Cloud Computing …2Types of Cloud Computing … 3Cloud Computing Models … 3Cloud Computing Deployment Models …4Global Infrastructure …5Security and Compliance…6Security … 6Compliance …
2020-06-09 19:05:01
1811
原创 aws ccp资料准备
IAMAWS Identity and Access Management (IAM) 使您能够安全地管理对 AWS 服务和资源的访问。您可以使用 IAM 创建和管理 AWS 用户和组,并使用各种权限来允许或拒绝他们对 AWS 资源的访问。IAM 是 AWS 账户提供的一项功能,因此您无需支付额外费用。只需为您的用户所用的其他 AWS 服务付费。EC2Amazon Elastic Compute Cloud (Amazon EC2) 是一种 Web 服务,可以在云中提供安全并且可调整大小的计.
2020-05-31 18:05:50
1096
原创 grafana6.6.2基本使用
安装grafana安装新一点的版本,旧折版本新增datasource界面不完整;测试下载版本grafana-6.6.2-1.x86_64.rpmzabbix修改discovery, 模板,item prototypes , aplications等生效没这么快,需要等一段时间才会把最新的item都显示出来,要有点耐性等到zabbix显示所有应该显示的数据后,再在granfana里添加,...
2020-03-18 14:34:20
1327
原创 zabbix io监控, 会的不难,不会时需要简单一点的材料
zabbix IO 监控需要设置discovery - 从主机上识别出同一类型的多个设备,如识别多个网卡,多个盘符,这里要做的是识别多个磁盘;需要设置item prototypes - 基础是discovery功能,识置一个类似模板,针对”磁盘“,同时为多个磁盘添加item;会引用到discovery得到的结果,在key和name上都会用到界面设置需要添加key的程序...
2020-03-17 12:45:03
366
原创 shell - zabbix-server安装, zabbix-agent playbook安装, 4.0.18安装包和所有依赖
安装zabbix server安装zabbix server除了安装agent 还有另外四个包需要安装,依赖39个包server使用shell安装需要定义数据库的变量启动服务#! /bin/bashwhile : do read -p "please make sure you define all the vars, type yes to confirm:" p...
2020-03-13 23:17:27
539
原创 sed N的用法
原文 https://www.cnblogs.com/itcomputer/articles/4623422.htmlsed N的用法echo -e “1\n2\n3\n4” | sed -n ‘N;s/\n/ /;p’sed先读入第一行到pattern space,然后执行N命令,将第二行追加进pattern space这时pattern space里面就是1\n2,然后执行s/\n/ ...
2020-03-12 14:48:14
1268
原创 ansible建立redis集群
整个实验持续时间非常长,踩了好多坑,坑踩多了再遇到问题就能更好处理准备工作<root@linux0 /etc/ansible>$ ls -ld hosts redis-5.0.3 redis.conf.j2 redis_master.yml -rw-r--r-- 1 root root 37 3月 11 23:58 hosts #hosts定义文件,也可以不使用,在ym...
2020-03-12 04:34:21
1155
原创 shell - 使用xtra备份mysql, 每天备份一次, 一周一次全量备份, 针对上一次备份做增量备份, 比较复杂的恢复脚本
<root@linux0 ~>$ cat xtra.sh #! /bin/bash#back up module, use crond run the shell accordingly#all back module#and increment back up module#all backup at sunday #other weekdays increment ba...
2020-03-07 13:01:16
418
原创 drbd9
利用k8s制作独立的数据库,每个数据库对应一个pvc,这样数据就不会丢失,每一个数据库都是独立svc;但是怎么应用呢?本来想着把前端加一个mycat,或atlas作一个中间件,预想是能把数据库分开,一些写库1,一些写库2,但是没有那么简单;数据分开写就是分片,分片是对一个表进行分片;这样就比较麻烦,需要把所有的表都先预设好然后,每一个库再新建这个表,再启动服务才能使用;...
2020-03-02 18:31:26
1831
原创 mysql连接的生命与使命
在服务器启动的过程中,只是创建了套接字且绑定了端口,但还没有对其进行监听,也就是还没有形成服务器监听模式,这些操作是在函数handle_connections_methods中完成,这里所做的工作就是等待一个用户的连接请求,并给它分配一个工作线程。一个大的循环里面有select或者poll(网络编程),然后通过mysql_socket_accept生成一个新的套接字,这个就是真正针对新连接的连接...
2020-02-29 23:07:08
150
原创 mysql表对象缓存
表对象缓存表对象缓存,顾名思义,是将某个表对象的字典信息(定义内容)缓存到内存中,用来提高对表访问的效率。某个表被访问过一次之后,在服务器没有关闭且表定义没有被修改的条件下,访问这个表时,只需要从内存中找到这个已经缓存起来的对象并做相应操作即可,而不必再次从系统表中读取它的定义并解析,然后再做相应的操作。每一个用户得到表对象(TABLE_SHARE)之后还需要将表实例化,这个实例化的对象只有自...
2020-02-29 23:01:26
277
原创 由源码看mysql启动过程
所有操作都在mysqld_main中完成。首先是查找配置文件,系统就会从上面已经构造的几个系统目录中找名为my.cnf 及my.ini的文件,如果最终没有找到,则系统退出。当确定了配置文件之后,系统通过函数search_default_file_with_ext打开并解析每一行内容,因为配置文件支持分组,所以它同时会确定当前解析的参数属于哪个组。每个参数都会被缓存到内存中,这个缓存操作是由...
2020-02-28 21:57:11
344
1
原创 kvm虚拟化, 安装, 管理, 克隆, 快照, 磁盘管理, 调整配置, 迁移
虚拟化介绍VMware Workstation就是虚拟化虚拟化简单讲,就是把一台物理计算机虚拟成多台逻辑计算机,每个逻辑计算机里面可以运行不同的操作系统,相互不受影响,这样就可以充分利用硬件资源关键词Hypervisor(VMM) 虚拟机管理器虚拟化技术分为全虚拟化和半虚拟化早期的CPU硬件不支持虚拟化,虚拟机上的操作系统(guestos)要想使用cpu资源,需要通过VMM来翻译指令...
2020-02-23 00:46:30
747
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人