摘要: 受保护成员 # 单下划线"_"开头的变量 # 示例: class Test: def __init__(self): self._a = 1 # 这是一种约定,表示此内部变量请勿随意在外部访问或者修改。 # 但是仍然可以通过"._变量"进行访问。 私有成员 # 双下划线"__"开头的变量 # 示例: 阅读全文
posted @ 2025-10-15 17:46 CJTARRR 阅读(4) 评论(0) 推荐(0)
摘要: 先安装clang-format工具。比如mac使用"brew install clang-format"安装格式化工具。 安装vscode插件。搜索安装"Clang-Format",这个插件的id是"xaver.clang-format"。 在项目目录下添加格式化配置文件,文件命名是".clang- 阅读全文
posted @ 2025-10-10 15:33 CJTARRR 阅读(58) 评论(0) 推荐(0)
摘要: netstat -a 查看所有连接,显示所有活动的网络连接和监听端口 netstat -t 查看TCP连接,仅显示TCP协议的相关连接 netstat -u 查看UDP连接,仅显示UDP协议的相关连接 netstat -l 仅显示监听端口,只列出状态为LISTEN(监听)的端口,用于检查服务是否启动 阅读全文
posted @ 2025-09-25 11:22 CJTARRR 阅读(10) 评论(0) 推荐(0)
摘要: docker启动时指定volume docker run -d -p 宿主机端口:容器端口 --mount type=volume,source=volume名称,target=容器内目录 镜像id 数据所在目录 # linux中的dockerdocker volume默认所在目录: /var/li 阅读全文
posted @ 2025-09-23 17:20 CJTARRR 阅读(7) 评论(0) 推荐(0)
摘要: 生成性能分析结果文件 python -m cProfile -o output.prof test.py # output.prof就是性能分析结果文件 # test.py表示运行的python文件 安装snakeviz可视化工具 pip install snakeviz 打开性能分析结果文件 sn 阅读全文
posted @ 2025-09-23 16:10 CJTARRR 阅读(32) 评论(0) 推荐(0)
摘要: 安装Cython pip install Cython 使用演示 编写Cython版本代码, 文件名:fib_cy.pyx cpdef int fib_cy(int n): if n <= 1: return n else: return fib_cy(n-1) + fib_cy(n-2) 编写Py 阅读全文
posted @ 2025-09-23 11:41 CJTARRR 阅读(8) 评论(0) 推荐(0)
摘要: 1.项目根目录下,跨越第一层包的调用使用绝对导入。 2.在同一个包的子包之间,使用相对导入。 3.包内模块调试,在根目录中使用"python -m parent.sub.filename" 4.入口文件放到根目录下。 5.入口文件开头添加如下代码,将根目录添加到sys.path中。 import o 阅读全文
posted @ 2025-09-22 17:04 CJTARRR 阅读(3) 评论(0) 推荐(0)
摘要: 作用 在python中,存在__init__.py的文件夹被认为是包。 __init__.py文件一般用来加载包内代码依赖资源和设定包的导出行为。 执行时机 第一次通过"import xxx"或"from xxx import yyy"的方式, 导入包、包内文件、包内代码时,会自动执行包的__ini 阅读全文
posted @ 2025-09-22 14:19 CJTARRR 阅读(9) 评论(0) 推荐(0)
摘要: 安装 pip install numba 使用示例 import time from numba import jit # 原始函数 def python_sum(n): total = 0 for i in range(n): total += i return total # Numba 加速版 阅读全文
posted @ 2025-09-18 14:39 CJTARRR 阅读(23) 评论(0) 推荐(0)
摘要: 作用 缓存不同参数组合的计算结果,命中缓存可以直接返回结果。 使用示例 import time from functools import lru_cache @lru_cache(maxsize=128) # 指定128个不同参数组合的调用结果,lru策略,设置为None表示无上限 def tes 阅读全文
posted @ 2025-09-18 14:11 CJTARRR 阅读(7) 评论(0) 推荐(0)
摘要: 安装rich库 pip install rich 使用示例 from rich.pretty import pprint as rich_print app_env = "prod" # 环境标识 dev_env = {"dev", "test"} # 开发/测试环境标识 def mprint(*a 阅读全文
posted @ 2025-09-18 13:40 CJTARRR 阅读(17) 评论(0) 推荐(0)
摘要: 作用 固定函数参数,在原函数基础上创建新函数。 举例 """ 偏函数 """ from functools import partial from typing import Callable def multiply(x: int, y: int) -> int: return x * y # 将 阅读全文
posted @ 2025-09-06 15:57 CJTARRR 阅读(6) 评论(0) 推荐(0)
摘要: 用途 用于遍历切片,数组,字符串, map, chan。在遍历完所有元素或通道关闭后,会自动退出循环,可以主动break退出。 用法示例 for index,value := range slice { // ... } for key,value := range map { // ... } f 阅读全文
posted @ 2025-08-31 20:09 CJTARRR 阅读(21) 评论(0) 推荐(0)
摘要: 常见信号 - SIGHUP,编号1,终端挂断信号 - SIGINT,编号2,中断信号,通常Ctrl+C 触发 - SIGQUIT,编号3,退出信号,通常Ctrl+\ 触发 - SIGKILL,编号9,强制终止信号,不能被捕获或忽略 - SIGTERM,编号15,终止信号,默认的终止信号 - SIGC 阅读全文
posted @ 2025-08-31 19:23 CJTARRR 阅读(7) 评论(0) 推荐(0)
摘要: golang并未对值溢出做定义,采用值"回绕"的方式自动处理。 比如uint8的取值范围是0~255。如果将溢出到-1时,会回绕到255;如果将溢出到256时,会回绕到0。 值溢出不会报错和终止程序,但是运算结果应完全不是预期的,需要特别注意。 阅读全文
posted @ 2025-08-31 19:14 CJTARRR 阅读(3) 评论(0) 推荐(0)
摘要: 正常模式 锁竞争不激烈时的模式。 goroutine在需要获取锁时,会先自旋尝试获取锁,通常尝试4次,自旋结束后还没获取到锁,就进入等待队列。如果goroutine等待时间超过1ms,锁会切换为饥饿模式。 饥饿模式 锁竞争激烈时的模式。 goroutine在需要获取锁时,不自旋,而是直接进入等待队列 阅读全文
posted @ 2025-08-31 19:08 CJTARRR 阅读(5) 评论(0) 推荐(0)
摘要: 超时 当goroutine运行时间超过10ms,调度器会尝试抢占该goroutine,使其让出cpu资源。 触发系统调用 当goroutine执行系统调用时,调度器能够感知并切换goroutine. 系统调用包括:文件io,网络io,时间睡眠,内存管理,线程管理等,可以理解为goroutine发生阻 阅读全文
posted @ 2025-08-31 10:43 CJTARRR 阅读(6) 评论(0) 推荐(0)
摘要: 安装依赖 annotated-types==0.7.0 anyio==4.6.2 asyncmy==0.2.10 click==8.1.8 exceptiongroup==1.3.0 fastapi==0.116.1 greenlet==3.1.1 h11==0.16.0 idna==3.10 py 阅读全文
posted @ 2025-08-28 15:30 CJTARRR 阅读(44) 评论(0) 推荐(0)
摘要: 副本集模式 - 介绍: 开启多个服务器作为节点,分主节点和从节点,主节点负责写和读,从节点负责读。 - 目的: 数据冗余、高可用、故障转移、提高读性能 - 组成: 一个副本集通常包含多个节点,至少3个,包括一个主节点和多个从节点。 - 工作机制: - 写操作需在主节点进行,并且会记录操作日志(opl 阅读全文
posted @ 2025-08-28 11:25 CJTARRR 阅读(9) 评论(0) 推荐(0)
摘要: 数据结构 多路搜索平衡树,是平衡树的一种,所有叶子节点都必须在同一层。 并且叶子节点之间通过双向链表结构连接。(用于优化范围查询) 作用 加速查询 创建过程 列值排序 -> 创建树结构 存储规则 - 所有非叶子节点存储索引值和指向下层节点的指针,索引值与指针间隔穿插存储。 - 对于聚簇索引(主键索引 阅读全文
posted @ 2025-08-27 21:24 CJTARRR 阅读(7) 评论(0) 推荐(0)