程序员工作日常
文章平均质量分 78
研发过程中遇到的值得记录的东西
破烂pan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
企业级 Docker 运维命令速查表
本文整理了企业级Docker运维核心命令速查表,涵盖容器状态排查、日志查看、服务管理、资源监控、网络诊断等关键场景。重点包括:1)基础排障命令如docker ps/logs/exec;2)Compose服务管理;3)资源监控工具;4)GPU专用命令;5)典型故障处理流程。特别强调10个必须形成肌肉记忆的核心命令,掌握这些即可满足企业级Docker运维需求。全文采用分级标注方式,突出高频使用命令和危险操作警示,适合运维人员快速查阅参考。原创 2025-12-29 19:01:24 · 355 阅读 · 0 评论 -
WSL2 使用的 VHDX正确压缩过程
WSL2使用的VHDX虚拟磁盘是动态扩展的,删除文件后磁盘空间不会自动回收。要缩小VHDX文件,需满足两个条件:ext4文件系统标记空闲块,并在WSL完全关闭后使用Windows的Optimize-VHD工具压缩。常见问题包括WSL未彻底关闭、Docker占用或未启用Hyper-V。正确步骤包括:1)完全关闭WSL实例;2)以管理员身份运行Optimize-VHD命令。若压缩失败,可能是文件系统仍有占用空间、Windows目录文件被删除或需要执行fstrim整理碎片。原创 2025-12-12 14:35:24 · 980 阅读 · 0 评论 -
使用 Python 客户端库从 Prometheus 获取指标
Prometheus与Python生产级接入指南 本文介绍了使用Python客户端库(prometheus-api-client)从Prometheus获取指标的实践方法。相比直接HTTP调用API,该库提供更高层接口、自动解析数据结构、Range查询支持、内置重试和超时机制等优势。 主要内容包括: 安装方法:pip install prometheus-api-client 核心功能:PrometheusConnect主入口、MetricRangeData结构化数据、MetricsList结果封装 基础查原创 2025-12-08 13:29:35 · 773 阅读 · 0 评论 -
常用部署环境 Sticky Session 配置操作文档
本文档介绍了Sticky Session(会话保持)的配置方法,适用于需要固定客户端请求路由的场景。主要内容包括:Nginx通过ip_hash或Cookie实现会话保持;HAProxy通过Cookie或HTTP Header配置;AWS ALB基于应用Cookie启用;阿里云ASM使用DestinationRule配置一致性哈希;Kubernetes Ingress通过注解实现;Cloud Foundry自动生成实例标识。文档还提供了验证方法和注意事项,推荐优先使用集中式Session存储或Token认证等原创 2025-12-05 13:44:32 · 869 阅读 · 0 评论 -
github下载repo中的单独文件
GitHub仓库通常需要整仓克隆,但可以通过多种方式仅下载单个文件或部分内容: 直接下载:修改URL为raw.githubusercontent.com格式,用curl或wget获取文件 稀疏检出:通过git sparse-checkout配置只拉取指定文件/目录 git archive:用SSH协议打包提取特定文件(GitHub需权限) GitHub CLI:使用gh repo clone --sparse快速获取部分内容 网页下载:通过Raw按钮手动保存 这些方法适用于不同场景,从简单下载到保持Git结原创 2025-11-13 20:31:36 · 830 阅读 · 0 评论 -
github修改用户名和密码
本文提供了修改GitHub用户名和推送认证的简明指南。第一部分介绍如何通过网页修改用户名并更新本地仓库地址;第二部分说明GitHub现已强制使用令牌认证推送,详细步骤包括生成Token、更新本地凭证配置以及SSH公钥设置;最后附带了常用验证命令速查表,帮助用户快速检查远程仓库连接状态和认证配置。全文采用分步骤说明和命令行示例结合的方式,便于开发者快速完成账户维护操作。原创 2025-11-13 20:05:03 · 3416 阅读 · 0 评论 -
Jenkins 定时触发(cron)使用说明
Jenkins定时任务使用5字段cron格式(MIN HOUR DOM MONTH DOW),并扩展了H、H(n-m)等特有语法来分散任务执行时间,避免系统负载过高。常见场景包括整点执行(0 23 * * *)、分散执行(H 23 * * *)和区间窗口执行(H(10-20) 23 * * *)。Pipeline中可通过triggers{cron()}配置,并应注意时区、日期冲突等问题。推荐使用H策略分散任务,结合业务窗口分批执行,必要时使用插件扩展功能。典型表达式可直接从速查表复制使用。原创 2025-11-07 17:52:56 · 1062 阅读 · 0 评论 -
使用 DVC(Data Version Control)进行数据版本管理
DVC(Data Version Control)是一个专为机器学习和数据科学项目设计的开源工具,用于管理数据、模型和实验流程的版本控制。它通过元数据追踪大文件,避免直接存入Git,解决了数据科学项目中常见的大文件管理、版本混乱和实验复现问题。核心功能包括绑定代码、数据、模型和流程,支持多种存储方式,并提供实验管理和流程自动化。DVC通过缓存和远程存储机制优化空间使用,同时确保团队协作的高效性。安装和基础使用包括初始化项目、追踪文件、配置远程存储和定义自动化流程。尽管DVC能有效管理项目版本,仍需注意缓存空原创 2025-11-06 11:49:08 · 2222 阅读 · 0 评论 -
QPS(Queries Per Second)与 并发量(Concurrency)
QPS与并发量是两个不同但相关的性能指标。QPS表示每秒处理的请求数(吞吐量),而并发量指同一时间处理的请求数。核心关系是:并发量≈QPS×平均响应时间(RT)。响应时间越长,即使QPS不变,并发量也会增加。实际应用中,QPS反映系统处理速度,并发量体现承载能力,二者通过RT相互影响。性能优化时需同时关注这两个指标,如QPS高但并发持续上升可能意味着系统阻塞。该关系对容量规划、瓶颈分析等至关重要。原创 2025-10-30 14:45:10 · 809 阅读 · 0 评论 -
Prometheus 指标类型详解与使用场景
Prometheus 监控系统支持四种核心指标类型:Counter(单调递增计数器)、Gauge(可增减状态量)、Histogram(分桶统计分布)和 Summary(本地计算分位数)。Counter 适合记录请求总数等累计数据,Gauge 反映内存使用量等瞬时状态,Histogram 可跨实例聚合计算延迟分布,而 Summary 提供精确的单实例分位数但不可聚合。实际应用中应根据监控需求选择合适类型,如请求次数用 Counter、系统资源用 Gauge、延迟统计推荐 Histogram 等。正确选择指标类原创 2025-10-17 17:13:42 · 567 阅读 · 0 评论 -
Shell脚本执行Python脚本文件动态传参
在Jenkins执行脚本模块使用原创 2025-10-11 14:47:14 · 156 阅读 · 0 评论 -
PromQL 内置函数分类对照表
PromQL 函数分类与实战案例 本文提供了 PromQL 内置函数的分类对照表和实用案例,主要包含以下内容: 函数分类表:将 PromQL 函数分为时间序列变化、数学运算、聚合统计、时间相关、标签处理、向量操作和特殊函数等七大类,列出各函数功能说明和典型应用场景。 实战案例: 时间序列变化类:展示 rate/irate 计算请求速率、increase 统计错误次数等实际应用 数学运算类:提供绝对值计算、内存用量取整等实用案例 该资料适合作为 Prometheus 监控查询的速查手册,帮助用户快速找到合适的原创 2025-10-11 14:38:33 · 558 阅读 · 0 评论 -
Promethus编辑面板-数据源类型和查询类型的标识
Grafana查询编辑器左侧的字母或图标代表数据源类型和查询模式。数据源图标/字母(如P-Prometheus、I-InfluxDB)标识数据来源,右侧标记(如expr、logs)显示查询类型,颜色圆点(蓝-正常、灰-未执行、红-错误)指示查询状态。这些标识帮助用户快速识别数据源、查询方式和运行状态。不同版本Grafana可能略有差异,部分数据源会显示字母缩写或自定义图标。原创 2025-09-29 15:42:48 · 394 阅读 · 0 评论 -
PromQL 内置函数分类对照表
PromQL 函数分类与实战摘要 PromQL 内置函数分为6大类: 时间序列变化类:计算速率(r/irate)、增量(increase/delta),用于QPS、错误率、资源变化监控 数学运算类:包含取整(ceil/floor)、对数、平方根等数值处理 聚合统计类:sum/avg/min/max等聚合,以及分位数(quantile)计算 时间相关类:获取时间戳、日期属性,支持时间维度分析 标签处理类:正则替换(label_replace)和拼接(label_join)标签 特殊函数类:直方图分位数(his原创 2025-09-29 15:34:46 · 949 阅读 · 0 评论 -
Ubuntu系统自动更新服务检查并关闭服务
执行这些命令后,你的 Ubuntu 系统将不再进行自动更新。请注意,关闭自动更新可能会使你的系统面临安全风险,请确保你有其他方式来手动更新系统。你可以通过以下步骤查看当前的自动更新状态并关闭自动更新。在 Ubuntu 系统中,自动更新通常由。查看当前自动更新状态。原创 2025-09-22 14:35:20 · 468 阅读 · 0 评论 -
使用 Git 工作树运行并行 Claude Code 会话
摘要:使用 Git 工作树实现并行开发 Git 工作树(Worktree)允许在同一个仓库中创建多个独立的工作目录,每个目录可检出不同分支,实现并行开发。 核心操作: 创建:git worktree add <路径> [分支] 管理:git worktree list 查看,git worktree remove 删除 隔离性:各工作树文件状态独立,适合同时运行多个 Claude Code 会话 优势: 共享 Git 历史但隔离文件修改 无需克隆多份仓库,节省空间 支持锁定、移动等高级管理 典型原创 2025-08-28 18:49:11 · 2209 阅读 · 0 评论 -
Git 命令行操作总结
本文总结了Git常用命令的简明指南,涵盖了从基础配置到高级操作的完整工作流。内容包括:1) 用户配置与仓库初始化;2) 文件操作与提交管理;3) 分支创建/合并/删除;4) 远程仓库交互;5) 撤销修改与版本回退;6) 标签管理;7) 查看提交历史;8) 临时储藏修改;9) 子模块管理。每个部分都提供了最常用的命令示例,如git add/commit/push/pull等基础操作,以及git rebase/stash/submodule等进阶功能,适合作为日常开发的快速参考手册。原创 2025-08-19 20:43:10 · 328 阅读 · 0 评论 -
使用 `ENTRYPOINT` 和 `CMD` 的组合在 Docker 容器启动时传递动态参数
摘要: Docker中ENTRYPOINT与CMD的关键区别在于覆盖性和参数传递方式:ENTRYPOINT固定主命令,docker run参数会追加其后;CMD则会被完全覆盖。典型使用场景包括固定主程序+动态参数(如Python脚本)和入口脚本+参数处理。推荐组合使用ENTRYPOINT(Exec形式)和CMD,既确保主命令稳定执行(避免覆盖风险),又支持默认参数与动态覆盖。注意避免Shell形式导致信号处理失败,优先使用Exec形式使PID=1。验证时可通过构建镜像测试默认参数和动态参数传递效果。原创 2025-08-14 11:16:13 · 1045 阅读 · 0 评论 -
Dockerfile 与 Docker Compose 全面教程
本文详细介绍了Dockerfile编写和Docker Compose的实战应用。主要内容包括:Dockerfile的核心原则、基础结构、关键指令解析和多阶段构建优化;Docker Compose的基础模板、关键配置和网络设置;完整的容器化工作流程和最佳实践;以及常见问题解决方案。通过Python示例演示了从构建到部署的完整验证流程,涵盖镜像优化、安全加固等生产环境关键点,适用于Docker 20.10+和Compose 1.29+环境。原创 2025-08-14 11:11:33 · 634 阅读 · 0 评论 -
Jenkins和Gitlab自带CICD选型对比以及Gitlab CICD操作流程
本文对比了Jenkins与GitLab CI/CD两种持续集成方案,重点分析了它们在集成性、配置方式、权限管理等方面的差异。针对Python项目团队,推荐采用GitLab CI/CD,因其具有开箱即用、配置简单等优势。详细介绍了GitLab CI/CD的实施步骤,包括环境准备、Runner安装、.gitlab-ci.yml配置及安全变量设置等关键环节,并提供了后续Docker化升级方案。该方案能实现快速部署、无缝过渡到容器化,且维护成本低,特别适合成长型团队。原创 2025-08-13 15:31:39 · 1335 阅读 · 0 评论 -
GitLab 中使用 Personal Access Token
GitLab 个人访问令牌(PAT)用于API访问或命令行身份验证。创建流程:登录后进入用户设置→Access Tokens→填写名称和权限→生成并保存令牌。使用时,在Git操作中替换密码或在API请求头添加PRIVATE-TOKEN。令牌需严格保密,泄露应立即撤销。注意离开页面后无法再次查看令牌内容。原创 2025-08-13 12:01:19 · 2225 阅读 · 0 评论 -
PostgreSQL 与 MySQL 语法差异对比总结
PostgreSQL 和 MySQL 在数据类型、函数、分页等方面存在显著差异:PostgreSQL 支持原生数组和更丰富的 JSON 处理(JSONB),而 MySQL 使用 AUTO_INCREMENT 而非 SERIAL 定义自增主键。日期计算上,MySQL 使用 DATE_ADD,PostgreSQL 用 INTERVAL。分页语法也不同:MySQL 是 LIMIT offset,count,PostgreSQL 是 LIMIT count OFFSET offset。PostgreSQL 还提供更原创 2025-07-29 01:12:29 · 1407 阅读 · 0 评论 -
Python PEP8编码规范总结
PEP 8,全称为Python Enhancement Proposal 8,是Python的官方代码编写风格指南。它详细规定了Python代码的书写规范,旨在提高代码的可读性和一致性。原创 2025-07-25 01:09:06 · 614 阅读 · 0 评论 -
MYSQL的InnoDB引擎中的锁以及在sql语句中实现对锁的控制
MySQL InnoDB存储引擎提供表级锁(共享/排他/意向锁)和行级锁(记录/间隙/临键锁),通过SELECT...FOR UPDATE等语句实现显式控制。锁行为受隔离级别和索引类型影响,如RR隔离级别默认使用临键锁防止幻读。建议通过监控系统表分析锁状态,优化事务设计避免长事务和死锁。合理选择索引和隔离级别可减少锁冲突,提升并发性能。原创 2025-07-24 02:36:58 · 703 阅读 · 0 评论 -
Git 多账号之间切换
如果你需要通过 SSH 协议推送代码到不同的 Git 仓库(如 GitHub、GitLab 等),可以为每个账号生成独立的 SSH 密钥,并通过。你可以通过本地配置为每个项目单独设置不同的用户名和邮箱,而不影响全局设置。如果需要修改历史提交的作者信息(例如修复早期提交的错误邮箱),可以使用。提交代码时,Git 会使用本地配置的用户名和邮箱,而不是全局配置。,可能会覆盖所有项目的配置。添加到工作 Git 账号的 SSH 密钥设置中。添加到个人 Git 账号的 SSH 密钥设置中。该配置仅对当前项目生效。原创 2025-07-21 12:34:49 · 3094 阅读 · 0 评论 -
git命令行初始化项目操作
检查远程仓库 URL 是否正确,或确认是否使用了有效的 SSH 密钥/Personal Access Token。系统会提示你输入 GitHub 账号和密码(或使用 SSH 密钥认证,具体见。# 替换 <REMOTE_URL> 为你的 GitHub 仓库 URL。# 设置全局用户名(替换为你的 GitHub 用户名)# 设置全局邮箱(替换为你的 GitHub 注册邮箱)复制 GitHub 仓库的 URL(示例格式为。(GitHub 新建仓库的默认分支通常是。假设你的 GitHub 仓库 URL 是。原创 2025-07-21 12:33:29 · 1056 阅读 · 0 评论
分享