当前位置: 首页 > article >正文

Let‘s Encrypt证书有效期缩短至90天后,如何实现自动续期

Let’s Encrypt证书有效期缩短至90天后如何实现自动续期打开网站突然发现浏览器地址栏一把红色小锁提示您的连接不是专用连接——SSL证书过期了。这可能是站长最不想看到的画面之一用户无法正常访问、搜索引擎排名下降、甚至被浏览器直接拦截。更糟的是从2024年起免费SSL证书有效期已统一缩短为3个月意味着每年至少要手动续期4次。如果管理多个域名忘记续期几乎是迟早的事。解决方案只有一个自动续期。本文对比3种主流的SSL证书自动续期方案帮你找到最适合自己的方式。一、3种方案速览方案操作难度泛域名自动续期是否需要写脚本是否收费第三方证书管理平台低✓不需要免费Let’s Encrypt Certbot高需自写hook脚本必须免费云厂商证书自动续期低✗不需要收费下面逐一详解。二、方案一第三方证书管理平台除了 Let’s Encrypt 官方工具和云厂商服务市面上还有一些第三方证书管理平台如乐此云签等提供从证书申请到自动续期的一站式图形化操作。证书申请在浏览器里点几下即可完成自动续期则通过平台生成的一键部署命令复制到服务器上执行一次即可永久生效。证书申请如果证书还未申请先在对应平台完成申请登录平台控制台如 letsssl.cn点击“申请证书”填写域名信息单域名直接输入域名泛域名勾选“泛域名包含根域”即可一张证书覆盖*.example.comexample.com按照平台提示完成 DNS 域名验证支持 CNAME 验证比传统 TXT 验证更方便验证通过后证书自动签发下载对应服务器格式的证书文件部署到服务器即可自动续期配置证书申请完成后接下来配置自动续期确保证书到期前自动更新在证书列表中找到需要自动续期的证书点击“自动续期”填写服务器信息证书路径、密钥路径、服务器类型、重启命令等平台会自动生成一键部署脚本具体参数说明证书路径证书文件在服务器上的存放路径如/data/nginx/ssl/example.com.crt密钥路径私钥文件在服务器上的存放路径如/data/nginx/ssl/example.com.key服务器类型选择 Nginx / Apache / Tomcat / IIS 等重启命令证书更新后重载服务的命令如docker exec nginx nginx -s reload或systemctl reload nginx点击生成平台自动生成专属部署脚本完整命令类似Linux Nginx 示例curl-o/usr/bin/letsencrypt-renew https://平台下载地址/letsencrypt-renewchmodx /usr/bin/letsencrypt-renewcrontab-l/etc/crontabecho18 4 10,25 * * root /usr/bin/letsencrypt-renew -token你的Token -key_path/data/nginx/ssl/example.com.key -server_typenginx -cert_path/data/nginx/ssl/example.com.cert -commanddocker exec nginx nginx -s reload -backuptrue /etc/crontabcrontab/etc/crontab /usr/bin/letsencrypt-renew-token你的Token-key_path/data/nginx/ssl/example.com.key-server_typenginx-cert_path/data/nginx/ssl/example.com.cert-commanddocker exec nginx nginx -s reload-backuptrueWindows IIS 示例# 下载续期工具Invoke-WebRequest-Urihttps://平台下载地址/letsencrypt-renew.exe-OutFileC:\letsencrypt-renew.exe# 创建Windows计划任务每月10日和25日凌晨4:18执行$actionNew-ScheduledTaskAction-ExecuteC:\letsencrypt-renew.exe-Argument-token你的Token -cert_pathC:\ssl\example.com.pfx -server_typeiis -site_name你的站点名 -backuptrue$triggerNew-ScheduledTaskTrigger-Monthly-DaysOfMonth 10,25-At 4:18AMRegister-ScheduledTask-TaskNameSSLAutoRenew-Action$action-Trigger$trigger-RunLevel Highest# 立即执行一次C:\letsencrypt-renew.exe-token你的Token-cert_pathC:\ssl\example.com.pfx-server_typeiis-site_name你的站点名-backuptrue将命令复制到服务器终端执行一次即可后续全自动运行运行机制脚本执行后会自动创建定时任务Linux 为 cronWindows 为计划任务每15天检查一次证书状态到期前自动完成续期并重载服务。同时支持证书备份续期前自动备份旧证书防止异常情况导致服务中断。优势图形化配置所有参数在浏览器界面填写不需要编辑配置文件或写脚本支持泛域名自动续期单域名和泛域名证书均可全自动续期一键部署生成命令复制到服务器执行一次即可无需反复配置不足依赖第三方平台续期脚本需要连接平台服务器获取新证书平台服务中断会影响续期服务器需访问外网续期脚本需要从平台下载新证书内网环境无法使用Token 安全风险服务器上保存的 Token 泄露后他人可获取你的证书三、方案二Let’s Encrypt CertbotCertbot 是 Let’s Encrypt 官方推荐的客户端工具。很多人以为单域名证书只要一条certbot renew就能自动续期但实际情况并没有那么简单——无论是单域名还是泛域名自动续期都有不小的配置门槛只是难点不同。单域名证书自动续期单域名证书使用 HTTP-01 验证方式原理是 Let’s Encrypt 会从公网访问你服务器的80端口读取一个验证文件来确认域名所有权。这意味着你的服务器80端口必须对外开放且 Let’s Encrypt 能够从公网正常访问到验证路径——这在很多实际场景中并不容易满足服务器在内网没有公网IP如企业内网、NAT后面→ HTTP-01 验证无法完成80端口被防火墙/安全组拦截 → 需要额外开放端口使用CDN或反向代理 → 验证请求可能无法到达源站使用Docker/K8s容器化部署 → 端口映射和路径挂载需要额外处理如果以上条件都满足配置流程如下安装 certbot# Ubuntu/Debiansudoaptupdatesudoaptinstallcertbot# CentOS/RHELsudoyuminstallcertbot申请证书。有两种模式可选各有局限standalone 模式certbot 自己启动一个临时Web服务器监听80端口申请和续期时必须临时停止 Nginx/Apache 等Web服务线上环境会造成短暂中断# 如果 Nginx 正在运行先停止sudosystemctl stop nginx# 申请证书sudocertbot certonly--standalone-dexample.com-dwww.example.com# 重新启动 Nginxsudosystemctl start nginxwebroot 模式不需要停止服务但需要确保 certbot 写入验证文件的目录能被 Nginx 正确代理且 Let’s Encrypt 能从公网访问到sudocertbot certonly--webroot-w/var/www/html-dexample.com-dwww.example.comwebroot 模式要求 Nginx 配置中允许外部访问/.well-known/acme-challenge/路径如果你的 Nginx 有安全限制如只允许特定IP访问还需要额外放行# Nginx 中需要确保以下路径可被公网访问 location /.well-known/acme-challenge/ { root /var/www/html; }配置自动续期定时任务# 测试续期命令是否正常sudocertbot renew --dry-run# 添加 cron 定时任务每天凌晨2:30检查续期echo30 2 * * * root certbot renew --quiet --deploy-hook systemctl reload nginx/etc/crontab可以看到即便是最简单的单域名自动续期也需要确保80端口公网可达、正确配置验证路径、处理Web服务中断standalone模式或Nginx路径放行webroot模式并不是一条命令就能搞定的。泛域名证书自动续期高难度泛域名证书必须使用 DNS-01 验证而 certbot 在--manual模式下每次都需要手动添加 DNS TXT 记录无法自动续期。要实现泛域名自动续期必须自行编写一个 hook 脚本通过 API 调用域名服务商的接口来自动添加和删除 TXT 记录。以下是完整的配置流程1. 编写 DNS 验证 hook 脚本以阿里云 DNS 为例需要编写两个脚本一个用于添加 TXT 记录一个用于清理 TXT 记录。添加 TXT 记录脚本certbot-dns-auth.sh#!/bin/bash# 阿里云 DNS API 配置ACCESS_KEY_ID你的AccessKeyIdACCESS_KEY_SECRET你的AccessKeySecretDOMAINexample.com# 解析域名参数FULl_DOMAIN_NAME_acme-challenge.${CERTBOT_DOMAIN}VALIDATION${CERTBOT_VALIDATION}# 获取域名解析记录ID需要调用阿里云API# 注意以下为简化示例实际使用需要实现完整的阿里云API签名# 1. 获取主域名的 ZoneIdZONE_ID$(curl-shttps://alidns.aliyuncs.com/\--data-urlencodeActionDescribeDomains\--data-urlencodeDomainName${DOMAIN}\--data-urlencodeAccessKeyId${ACCESS_KEY_ID}\--data-urlencodeSignatureMethodHMAC-SHA1\--data-urlencodeSignatureVersion1.0\--data-urlencodeSignatureNonce$(uuidgen)\--data-urlencodeTimestamp$(date-u%Y-%m-%dT%H:%M:%SZ)\--data-urlencodeVersion2015-01-09\|python3-cimport sys,json;print(json.load(sys.stdin)[DomainList][Domain][0][DomainId]))# 2. 添加 TXT 记录curl-shttps://alidns.aliyuncs.com/\--data-urlencodeActionAddDomainRecord\--data-urlencodeDomainName${DOMAIN}\--data-urlencodeRR_acme-challenge\--data-urlencodeTypeTXT\--data-urlencodeValue${VALIDATION}\--data-urlencodeAccessKeyId${ACCESS_KEY_ID}\--data-urlencodeSignatureMethodHMAC-SHA1\--data-urlencodeSignatureVersion1.0\--data-urlencodeSignatureNonce$(uuidgen)\--data-urlencodeTimestamp$(date-u%Y-%m-%dT%H:%M:%SZ)\--data-urlencodeVersion2015-01-09/dev/null# 3. 等待 DNS 记录生效echo等待DNS记录生效...sleep30重要提示上方脚本为简化示例阿里云 API 需要严格的 HMAC-SHA1 签名认证实际使用需要实现完整的签名逻辑包括参数排序、URL编码、Base64编码等代码量通常在100行以上。清理 TXT 记录脚本certbot-dns-cleanup.sh#!/bin/bashACCESS_KEY_ID你的AccessKeyIdACCESS_KEY_SECRET你的AccessKeySecretDOMAINexample.com# 查询并删除之前添加的 TXT 记录# 同样需要完整的阿里云API签名逻辑RECORD_ID$(curl-shttps://alidns.aliyuncs.com/\--data-urlencodeActionDescribeSubDomainRecords\--data-urlencodeSubDomain_acme-challenge.${CERTBOT_DOMAIN}\--data-urlencodeTypeTXT\--data-urlencodeAccessKeyId${ACCESS_KEY_ID}\|python3-cimport sys,json;print(json.load(sys.stdin)[DomainRecords][Record][0][RecordId]))curl-shttps://alidns.aliyuncs.com/\--data-urlencodeActionDeleteDomainRecord\--data-urlencodeRecordId${RECORD_ID}\--data-urlencodeAccessKeyId${ACCESS_KEY_ID}\/dev/null2. 使用 hook 脚本申请泛域名证书sudocertbot certonly--manual\--preferred-challengesdns\--manual-auth-hook /path/to/certbot-dns-auth.sh\--manual-cleanup-hook /path/to/certbot-dns-cleanup.sh\-d*.example.com\-dexample.com3. 配置自动续期# 测试自动续期sudocertbot renew --dry-run# 添加定时任务echo30 2 * * * root certbot renew --quiet --deploy-hook systemctl reload nginx/etc/crontab不同DNS服务商的差异每家DNS服务商的API接口都不同以下列出主要服务商的情况DNS服务商API复杂度官方SDK需要额外处理阿里云DNS高有Python/Java/Go需实现HMAC-SHA1签名或使用官方SDK腾讯云DNSPod高有Python/Java/Go需实现TC3-HMAC-SHA256签名Cloudflare低有API Token即可签名简单华为云DNS高有需实现AK/SK签名GoDaddy中无API Key Secret签名简单提示如果你觉得编写 hook 脚本太复杂可以改用 certbot-dns-cloudflare 等官方插件但目前仅支持 Cloudflare。国内DNS服务商没有官方插件必须自行编写脚本。优势官方工具Let’s Encrypt 官方维护稳定可靠文档丰富单域名续期成熟certbot renew一行命令搞定自动续期非常可靠社区活跃遇到问题容易找到解决方案不足泛域名续期配置极其复杂需要自行编写 DNS API hook 脚本涉及 API 签名认证、错误处理等代码量通常在100行以上每家DNS服务商API不同换一个DNS服务商就要重写一套脚本API密钥安全风险DNS 服务商的 API 密钥以明文形式存储在脚本和服务器上一旦泄露攻击者可以篡改你的 DNS 解析需要命令行操作全程终端操作排错靠看日志占用80端口standalone 模式需要临时停止 Web 服务适合人群熟悉 Linux 和 Shell 脚本开发、仅需单域名自动续期的用户。如果你需要泛域名自动续期且不愿意折腾脚本这个方案会让你非常痛苦。四、方案三云厂商证书自动续期主流云厂商也提供了SSL证书管理服务部分支持自动续期功能但大多需要购买付费服务。各云厂商自动续期支持情况云厂商免费证书自动续期付费证书自动续期泛域名支持年额度费用阿里云✗✓需购买证书部署服务✗20张约 ¥600/年起腾讯云✗✓需购买证书管理服务✗20张约 ¥500/年起华为云✗✓需购买SSL证书管理服务✗20张约 ¥600/年起AWS✓ACM免费证书✓✓无限制仅限AWS资源使用注意阿里云、腾讯云、华为云的免费个人测试证书均不支持自动续期要使用自动续期功能需要购买付费的证书管理/部署服务。AWS Certificate ManagerACM提供免费证书且支持自动续期但证书只能绑定到AWS自家服务ELB、CloudFront等无法导出使用。以阿里云为例登录阿里云控制台进入SSL证书→证书部署服务购买证书部署服务收费配置部署任务选择证书、目标服务器/负载均衡、部署方式开启自动续期和自动部署优势图形化操作在云平台控制台完成配置与云产品集成证书可以直接部署到云服务器、负载均衡、CDN等运维托管续期和部署由云厂商负责不足需要收费自动续期功能需要购买付费服务年费通常在 ¥500-600 起不支持泛域名免费证书和付费DV证书均不支持泛域名每个子域名需要单独一张证书年额度有限免费证书仅20张/年域名多了不够用绑死云平台证书续期和部署只能在对应云平台内使用仅限云内资源证书通常只能部署到该云厂商的产品上跨平台使用受限适合人群已在阿里云/腾讯云/华为云上部署服务、预算充裕、域名数量少且不需要泛域名的企业用户。五、3种方案详细对比核心指标对比对比项第三方平台Certbot云厂商费用免费免费收费¥500/年单域名自动续期✓✓✓付费泛域名自动续期✓需自写hook脚本✗图形化配置✓✗✓需要编写脚本不需要泛域名必须不需要第三方依赖依赖平台服务无绑定云平台年额度限制无限制无限制20张配置耗时5分钟单域名10分钟 / 泛域名1小时10分钟购买流程跨平台支持Linux Windows主要Linux仅限对应云平台证书导出✓✓部分支持配置复杂度对比以配置泛域名证书自动续期为例三种方案的操作步骤对比步骤第三方平台Certbot云厂商1浏览器中填写证书路径、密钥路径安装 certbot购买证书部署服务2填写服务重启命令编写 DNS API 认证脚本100行配置部署任务3复制生成的一键命令到服务器编写 TXT 记录添加脚本开启自动续期4执行命令完成编写 TXT 记录清理脚本—5—配置 certbot 手动 hook 参数—6—测试自动续期流程—7—配置 cron 定时任务—六、常见问题Q1SSL证书过期了紧急恢复怎么做第一步立即重新申请或续期证书。如果使用第三方平台登录后在证书列表点击续期几分钟即可完成。第二步将新证书部署到服务器替换过期的证书文件。第三步重载 Web 服务如nginx -s reload新证书即可生效。第四步配置自动续期避免再次过期。这才是长久之计——手动续期终究会遗忘。Q2证书还有多久过期就该续期Let’s Encrypt 证书建议在到期前30天内续期。第三方平台的自动续期脚本通常每15天检查一次到期前会自动触发续期。Certbot 的certbot renew命令也会在证书到期前30天内自动续期。Q3自动续期失败了怎么办第三方平台脚本会在续期前自动备份旧证书即使续期失败旧证书仍有效直到过期你可以在修复问题后手动触发续期Certbot检查 cron 日志/var/log/letsencrypt/letsencrypt.log常见失败原因是 DNS API 调用失败或 80 端口被占用云厂商联系云厂商技术支持Q4泛域名证书为什么比单域名证书续期复杂泛域名证书必须通过 DNS-01 验证来证明域名所有权即需要在 DNS 中添加一条_acme-challenge的 TXT 记录。单域名证书可以用 HTTP-01 验证在网站根目录放一个验证文件certbot 可以自动完成。但 DNS 记录的增删需要调用 DNS 服务商的 APIcertbot 本身不支持国内 DNS 服务商的 API所以需要自己写脚本来桥接。Q5多个域名能用同一个自动续期方案吗第三方平台每个证书独立生成续期命令但可以部署在同一台服务器上互不影响Certbotcertbot renew一次性检查本机所有证书但泛域名证书每个域名的 DNS hook 脚本可能不同云厂商每张证书需要单独配置且受20张年额度限制七、总结方案核心取舍第三方平台配置简单泛域名自动续期但依赖第三方服务Certbot单域名续期成熟但泛域名需自写DNS脚本门槛高云厂商托管省心但收费且不支持泛域名如果你不想折腾脚本和API签名第三方平台的自动续期上手最快但需要接受对第三方服务的依赖。如果你是命令行高手Certbot 的单域名方案足够可靠但泛域名场景下的 hook 脚本开发会让大多数人望而却步。如果你预算充足且域名少云厂商的付费服务可以考虑但20张年额度和不支持泛域名是硬伤。归根到底自动续期方案的选择取决于你的技术能力、域名规模和对第三方服务的接受程度。三种方案各有利弊没有银弹选适合自己的就好。相关阅读《2026年免费SSL证书申请全攻略5种方案对比》《申请SSL证书如何完成域名验证》《Nginx/Tengine 服务器配置 SSL 证书》《Apache 服务器安装配置 SSL 证书》

相关文章:

Let‘s Encrypt证书有效期缩短至90天后,如何实现自动续期

Let’s Encrypt证书有效期缩短至90天后,如何实现自动续期 打开网站突然发现浏览器地址栏一把红色小锁,提示"您的连接不是专用连接"——SSL证书过期了。这可能是站长最不想看到的画面之一:用户无法正常访问、搜索引擎排名下降、甚至…...

5分钟解决Windows热键冲突:Hotkey Detective完全指南

5分钟解决Windows热键冲突:Hotkey Detective完全指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾经…...

让老旧游戏手柄重获新生:XOutput游戏手柄兼容工具使用指南

让老旧游戏手柄重获新生:XOutput游戏手柄兼容工具使用指南 【免费下载链接】XOutput DirectInput to XInput wrapper 项目地址: https://gitcode.com/gh_mirrors/xo/XOutput 还在为心爱的老手柄无法玩新游戏而烦恼吗?XOutput是一款专门解决Direct…...

Ascend NPU高效无损压缩技术解析与优化

1. 项目概述:Ascend NPU上的高效无损压缩技术在AI模型规模爆炸式增长的今天,模型权重的存储与传输已成为系统瓶颈。以Qwen3-32B模型为例,其65.6GB的权重文件在分布式训练中会产生显著的通信开销。传统CPU/GPU压缩方案如ZipNN(1.5GB/s)和NV-Bi…...

TypeScript 泛型详解:定义、使用、特点优势、泛型约束与泛型数据类型

在 TypeScript 开发中,泛型是实现类型复用、类型安全、解耦代码的核心特性,能够告别 any 类型带来的类型丢失问题,让组件、函数、数据类型具备适配多类型且保留类型校验的能力。本文按照规范代码缩进、命名、空格、格式书写风格,全…...

ASL1架构规范语言:Arm处理器设计的核心工具

1. ASL1架构规范语言概述ASL1(Architecture Specification Language)是Arm公司专为处理器架构设计开发的领域特定语言(DSL),主要用于精确描述Arm架构参考手册中的指令集行为。这种语言在2025年发布的A-profile架构参考…...

OpenViking:云原生AI场景下的高性能可观测性数据采集框架深度解析

1. 项目概述:从“OpenViking”看云原生时代的开源探索最近在云原生和AI基础设施的圈子里,一个名为“OpenViking”的项目开始引起一些讨论。这个由火山引擎(volcengine)开源的项目,名字本身就带着一股探索和开拓的意味。…...

大跨度异型电动挡烟垂壁技术研发与工程应用研究

当前商业综合体、交通枢纽、会展场馆、大型厂房普遍采用大跨度、异形挑空设计,按消防规范需设置挡烟垂壁划分防烟分区,控制烟气蔓延。常规直线型、小跨度挡烟垂壁存在易变形、异型适配差、漏烟、运行不稳、验收难等问题,大跨度异型电动挡烟垂…...

不开刀、少痛苦!拱墅区这家公立肿瘤专科,中西医结合守护生命希望

面对肿瘤,你是否还在恐惧开刀创伤、担忧放化疗副作用?杭州市拱墅区人民中西医结合医院肿瘤一科,作为公立二级甲等医院重点专科,以 “微创消瘤、中西扶正” 为核心,走出一条低损伤、高疗效的抗癌新路,为无数…...

量子测量诱导相变在玻色系统中的实验实现

1. 量子测量诱导相变的理论基础量子测量诱导相变(Measurement-Induced Phase Transition, MIPT)是近年来量子多体物理领域的重要发现。这种相变不同于传统热力学相变,它完全由量子测量操作与酉演化之间的动态竞争所驱动。在玻色系统中&#x…...

量子门净化:突破2槽限制的3槽架构实现

1. 量子门净化:从理论到实践的关键突破量子计算领域面临的核心挑战之一是如何在噪声环境下保持量子门操作的精度。传统量子态净化技术虽然能提升静态量子资源的保真度,但对于动态执行的量子算法而言,我们需要更高阶的方法来直接处理操作本身的…...

企业如何通过Taotoken实现API密钥的统一管理与审计

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业如何通过Taotoken实现API密钥的统一管理与审计 在将大模型能力集成到企业业务流程的过程中,一个常见的挑战是如何安…...

输入流避坑全指南:从 Read() 编码溢出到 ReadLine() 缓冲区残留

1. 灵异事件:为什么我的循环跑了 52 次? 在编写基础逻辑题时,我曾遇到一个极其诡异的Bug:要求用户输入边长nnn打印正方形,我输入4,结果程序打印了 52行符号。 问题代码: int n Console.Read();…...

历史周期律的动力学本质:集体意识场视角下的文明演进规律

引言 历史周期律——王朝兴替、文明盛衰、社会变革的波浪式重复——是人类文明最令人困惑又最无法回避的现象。从司马迁的“天下大势,分久必合,合久必分”,到汤因比的文明挑战-回应理论,无数先贤试图揭示这一规律的底层逻辑。然而…...

开源技能图谱平台gotalab/skillport:构建可视化知识大脑的实战指南

1. 项目概述:一个技能图谱与知识管理的开源利器 在信息爆炸的时代,无论是个人学习成长,还是团队知识沉淀,我们常常面临一个核心痛点: 知识是零散的、孤立的,难以形成体系,更难以高效复用 。你…...

故障诊断创新算法之【先验知识+协同学习】基于故障特征掩码引导和潜在特征拆分的自编码器机械故障诊断(PyTorch)

小样本条件下,纯数据驱动方法很容易陷入过拟合和特征盲目提取,所以提出一种物理引导的深度诊断范式:将轴承内圈、外圈、滚动体的故障特征频率先验显式编码为故障特征掩码,并引入Huber函数构建先验引导损失,迫使网络学习…...

SVG 滤镜:全面解析与高效应用

SVG 滤镜:全面解析与高效应用 引言 SVG(可缩放矢量图形)作为一种广泛使用的图形格式,因其具有高度的可缩放性和跨平台性而备受青睐。SVG 滤镜作为 SVG 的一项强大功能,能够实现丰富的图形效果,提升图形的表…...

【日常小问】解决 Jenkins 部署 Spring Cloud 微服务到 Docker 容器启动失败的问题

一、问题出现在使用 Jenkins 进行 CI/CD 部署 Spring Cloud 微服务项目时,遇到了一个让人头疼的问题:所有通过 Jenkins 构建的 Docker 容器启动后立即退出,状态码为 Exited (1)。查看容器日志,报错信息如下:**********…...

基于 base-admin 人事管理系统开源项目学习与功能扩展实战笔记

最近跟着课程实战拆解了base-admin 人事管理系统开源项目,这是一款基于 SpringBoot 搭建的企业级后台管理平台,遵循 Apache 2.0 开源协议,非常适合 Java 后端和软件工程入门练手。项目整体采用经典三层架构,Controller、Service、…...

参考文献列表(近现代当代中国篇)

参考文献列表(近现代当代中国篇)0. 无。为什么是空的?——因为鄙视。岐金兰鄙视近现代当代中国绝大多数思想者。不是个人恩怨,不是学术门户,而是对“构建学术实体”这一集体执念的鄙视。他们中的大多数,终其…...

STM32F4的DSP库怎么在CLion里用起来?保姆级CMake配置指南(含FPU开启)

STM32F4的DSP库在CLion中的完整CMake配置指南(含FPU优化) 第一次在CLion里看到STM32的DSP库报错时,我盯着满屏的"undefined reference"发了半小时呆。作为从Keil转战CLion的老嵌入式开发者,我太清楚DSP库在信号处理项目…...

AXI4协议实战:从零构建一个支持突发传输的从机接口

1. AXI4协议基础与从机接口设计概述 AXI4协议作为AMBA总线家族中最核心的成员,已经成为现代SoC设计中事实上的标准互联规范。我第一次接触AXI4是在2015年设计图像处理芯片时,当时为了连接DMA控制器和DDR控制器,不得不硬着头皮研究这个看似复杂…...

聊聊我是怎么用Claude code来学习项目的吧

首先我和许多大学生一样我对项目这个的概念理解为零,但是我比较喜欢研究ai,我喜欢用ai去帮我写一些小项目啊,小游戏啊,还有一些脚本,像一些国外的cursor,国内的treat,还有Claude code我基本都玩…...

快图设计:5个理由告诉你为什么这款Vue图片编辑器值得尝试

快图设计:5个理由告诉你为什么这款Vue图片编辑器值得尝试 【免费下载链接】vue-fabric-editor 快图设计-基于fabric.js和Vue的开源图片编辑器,可自定义字体、素材、设计模板。fabric.js and Vue based image editor, can customize fonts, materials, de…...

C++异步日志系统

文章目录异步日志系统1. 项目背景2. 设计思路2.1 核心架构2.2 关键技术点3. 实现细节3.1 线程安全的日志队列 (LogQueue)3.2 动态格式化与回退机制 (formatMessage)3.3 自动化管理4. 接口说明日志级别 (LogLevel)核心方法5. 使用指南5.1 快速上手5.2 注意事项6. 总结7.Code异步…...

隐藏在闲鱼暗网的暴利生意

今天想跟大家说个颠覆认知的事儿——你平时用来卖旧衣服、砍价包邮的闲鱼,其实还有一张脸,那张脸长什么样呢?我管它叫“成年人最隐秘的交易所”。 你敢信吗?有人在那儿卖了10万单,一单实物都不发,纯利润&am…...

免费开源网盘直链下载工具:八大主流网盘完整使用指南

免费开源网盘直链下载工具:八大主流网盘完整使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

Error response from daemon: client version 1.52 is too new. Maximum supported API version is 1.43

按照习惯,输入“docker ps”查看一下容器,结果给我来个这个错误:Error response from daemon: client version 1.52 is too new. Maximum supported API version is 1.43查了一下原因:这是因为使用云构建安装的默认 Docker 守护程…...

DNS 服务器学习笔记:核心总结与实验指南

DNS 服务器学习笔记:核心总结与实验指南 📌 一、文章核心重点总结 1. DNS 基础知识 什么是 DNS? DNS(Domain Name System,域名系统)是互联网的“电话簿”,负责将人类易记的域名(如 w…...

Vivado HLS数据流优化技术与FPGA性能提升实践

1. Vivado HLS数据流优化核心原理 在FPGA设计领域,数据流优化是提升系统性能的关键技术。传统FPGA开发需要手动设计数据路径和状态机,而Vivado HLS的数据流优化允许我们在C/C抽象层级实现高性能设计。其核心思想是将算法分解为多个独立阶段,通…...