IT技术博客大学习 共学习 共进步
首页 / Felix021
IT 2026-05-23 20:34:36 / 累计浏览 0 new

让 AI 把我的 PHP 博客重写成 Go

作者尝试将一个运行近20年的古老PHP博客系统重构为Go语言。项目启用了Claude Code的Superpowers插件,通过结构化问答明确了技术选型:采用Go的Gin框架、GORM作为ORM,并构建Vue 3 SPA前端,保持与原MySQL数据库100%兼容。AI助手在确认需求后,自动生成了包含项目结构、API设计等详细规划文档,并利用子代理驱动开发模式执行了约22个开发任务,最终生成一个约35MB的单文件可执行程序,集成了前端SPA。 实现过程并非一帆风顺,主要挑战在于处理历史遗留数据。最复杂的是对UBB标记语法的解析与渲染,因内容已含HTML实体转义且标签存在嵌套,作者编写了34个测试用例才覆盖所有边界情况。此外,需为三代不同的旧URL格式实现301重定向以保持外链有效,并调整了附件链接的解析逻辑以适配反向代理路径。数据库中的标签词频统计也因数据陈旧而改为通过关联查询实时计算。 最终项目产出包括约2800行Go后端代码和2000行Vue前端代码,实现了完整的REST API、JWT认证、防盗链等40余个端点。作者评价整个过程耗时约两三小时,主要负责需求反馈与测试,AI则负责编码、构建与部署,认为这种人机协作模式展现了AI在复杂工程任务中的实用潜力。

IT 2021-05-27 07:14:04 / 累计浏览 1,860

sudoers: 允许用户免密用root权限执行某些命令

作者从系统管理的实际需求出发,介绍了如何通过配置 sudoers 文件,让特定用户或组能在不输入密码的情况下,以 root 权限执行命令。文章提供了三种典型配置场景,各有侧重。 首先,针对个人用户,比如 felix021,可以直接在 sudoers 中添加一行,允许该用户免密 sudo 执行所有命令,这适合开发或测试环境中需要快速提权的场景。其次,对于团队协作,文章演示了如何允许整个组(如 adm)免密 sudo 执行所有命令,这便于批量管理权限,但需注意安全性。最后,文章展示了更精细的控制:通过 Cmnd_Alias 定义命令别名 APT_CMD,限定只允许 apt-get 或 apt install 相关的安装命令,然后允许所有用户免密执行这些特定命令,这在生产环境中能减少风险,确保只有必要操作被授权。 关键差异在于授权范围:第一种是用户级别的全权,适合个人便利;第二种是组级别的全权,适合团队协作;第三种是命令级别的限制,适合需要最小权限原则的场景。作者通过代码示例直观展示了这些配置,让读者能根据自身环境选择合适方案。 文章最后提醒,虽然免密 sudo 提升了效率,但需权衡安全性,避免过度授权带来的风险。

IT 2019-06-27 13:55:01 / 累计浏览 3,260

使用DNSPOD的API实现动态域名

这篇讲的是如何通过 DNSPOD 的 API,一步步搭建自己的动态域名解析(DDNS)服务。作者从实际操作出发,解决的是家庭网络等场景下,公网 IP 变动导致域名指向失效的问题。 文章的核心方案非常清晰:利用 DNSPOD 提供的 HTTP API,通过脚本自动获取当前外网 IP 并更新 A 记录。作者详细拆解了七个关键步骤,其中特别强调了容易踩坑的地方,比如生成的 Token 必须是 “ID,Token” 的组合格式,以及如何正确获取域名和子域名的 Record ID。 整个实现思路巧妙地结合了 `nc` 命令获取 IP 和 `curl` 调用 API,并最终封装成一个 Shell 脚本,配合 crontab 定时任务(例如每 15 分钟一次)即可实现全自动化。这为需要稳定域名指向动态 IP 的技术人员提供了一个轻量、可靠的自建方案。