AI 驱动下的编程代码注释风格个人观点和建议
作为一名开发者,在过去读到的一些关于代码注释建议都会有类似下面这一条: 优秀的代码本身就是一门语言,可以通过代码直观明确的知道你的目的,而无需冗余的注释,注释应该放在有歧义或者特殊情况和方法可能返回的结果描述,如果达不到这个目标,则说明你的代码还不够优雅 但自从用上了 AI 编程,似乎多些一些注释反而更有利。 首先拿到一个需求,能用自然语言在编辑器中列举描述// 1.xxxxxx// 2.xxxxxx// 3.xxxxx接着一步步填充代码,AI 能够根据上下文自然语言,能够更明确知道你的需求,所以推荐的代码也会站在全局上下文下进行推荐结果更符合预期。 甚至对于一些只能意会特殊业务需求,你只需要搭建主流程 => 拆分方法 => 编写注释,接下来交给 AI,或是一路 Tab,或是 C、K “完善代码”。 当你想要修改需求时,首先修改注释,然后选中 “修复代码存在的问题”… 通常情况下你只需简单检查一下结果是否符合预期… 最后,AI 编程效率提升是真的高,以往想都不敢想上班能天天摸鱼🐟
Linux开荒指南-服务器的上手前的初始配置推荐
前言接触 Linux 也有挺长时间了,上初中那就看别人搭建免流,我也试着买服务器搭了一个,即使当初不懂 Linux 甚至不会编程,但用这各位大佬的一脚脚本,一顿 CV 操作,黑底白字屏幕哐哐滚动着看不懂的内容….. 目前对 Linux 也算不上懂,就用而已,很长一段时间,我拿到服务器的第一个操作是。。。 Root 用户起手,开放所有端口,安装宝塔一把梭(当然现在是 1panel 了)。。。。。 最近突然对手动运维感一点兴趣,规范了一下自己的操作流,也加深了一些知识在脑中的印象 这篇文章是关于拿到 Linux 服务器后在使用前推荐的一些配置。 本文操作以 Debain 为例。 Linux服务器初始配置全流程详解一、创建普通用户与权限分配1.1 创建普通用户adduser your_username 执行后会交互式提示设置密码和用户信息(可回车跳过非必填项)。推荐使用全小写字母+数字组合用户名(如devops),避免使用特殊字符。 1.2 授予sudo权限usermod -aG sudo your_username Debian系统默认需要手动启用sudo组权限: apt...
Linux配置端口转发实现添加对外暴露的新端口
Linux系统端口转发配置指南概述端口转发是一种网络配置技术,它使得我们可以将一个端口接收的网络流量重定向到另一个端口。本文将详细讲解如何在Linux系统中利用iptables来设置端口转发。例如,若您的服务运行在未对外开放的MySQL端口3306上,并希望通过外部端口13306访问该服务,您可以通过配置端口转发,将所有发送到13306端口的流量转发至3306端口。 如果想不公开端口的情况下连接到特定的远程服务,可以利用如Xheel这样的工具通过SSH隧道技术实现端口数据的转发。 前期准备检查iptables服务状态首先需要确认系统中是否已安装iptables: systemctl status iptables 安装iptables如果系统中未安装iptables,需要根据不同的Linux发行版执行相应的安装命令: 对于CentOS/RHEL系统: yum install iptables-services 对于Ubuntu/Debian系统: apt-get install...
家庭服务器虚拟化折腾-Hyper-V>iStoreOS>PVE
之前活动买的5年腾讯云轻量服务器4H4G快到期了,找了各种替代方案,买个国外cloudcone的1HG的低配服务器,问题挺多,国内访问慢,内存小,硬盘小,CPU性能一般。装个大点的服务就卡死,升级配置价格望而却步。想着搞个小主机装个PVE做虚拟化,再内网穿透远程访问,还能做集群测试….最好能打点CF这种级别的游戏。 设备选择经过一顿的搜索,衡量了钱包的厚度和需求,最终选择了 极摩客N100/16G/500G 海鲜市场710入手(到手感觉亏了) 研究PVE-止步于此B站教程很多,一顿了解发现一个大问题。PVE虚拟化Win10,没法HDMI直输出到显示器(后来发现可以),或是配置过于麻烦,研究半天决定放弃PVE 转战Hyper-V对比了各种虚拟化方案 PVE,Esxi,Hyper-V,最后还是选择了Hyper-V…考虑到有服务器长时间开机的需求,选择了Windows Server 2022。 过程:...
环境部署:Docker 和 Docker-Compose
Docker 安装与配置在安装最新版本的 Docker 之前,您可以使用 docker -v 命令来检查当前的 Docker 版本。如果系统提示命令不存在,则说明您尚未安装 Docker。若已安装旧版本的 Docker,则需先进行卸载。 卸载旧版本的 Docker 更新您的包管理工具: sudo yum -y update 添加阿里云源到您的实例中,这个源包含 Docker 软件包,方便您使用命令来安装和更新 Docker。 重要提示:由于网络原因,如果跳过此步骤可能会导致安装 Docker 失败。 如果您的实例网络可以访问公网: sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/rhel/docker-ce.repo 如果您的实例网络无法访问公网,使用 VPC 网络访问地址: sudo wget -O /etc/yum.repos.d/docker-ce.repo...
MySQL死锁原因分析和避开发死锁逻辑
起因 一早看到同事在解决一个BUG,下班前去看了一眼,发现是MySQL死锁问题,就想写一篇关于MySQL死锁原因分析和避开发死锁逻辑的文章同时也是记录一下自己对死锁的学习记录 关于死锁TODO
记一次奇奇怪怪的服务崩溃事故
2025-01-03后端服务崩溃起因: 甲方反馈前端软件下载页面无法正常使用 排查:通过观察前端异常现象很容易确定排查方向,前端一直在Loading,控制筛选异步请求发现后端服务无法正常请求 登录服务器查看: 发现服务容器崩了已停止,观察最后的控制台日志信息如下: 2025-01-02 19:02:33 [32m[schedule-pool-2] WARN c.zaxxer.hikari.pool.ProxyConnection - master - Connection com.mysql.cj.jdbc.ConnectionImpl@68769506 marked as broken because of SQLSTATE(08S01), ErrorCode(0)com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failureThe last packet successfully received from the server was 2 milliseconds...
macOS是否自带带Java环境?
macOS 是否自带 Java 环境?macOS 不自带完整的 Java 开发环境,但系统会预装一个 java 占位符工具位于 /usr/bin/java,用于检测是否安装了 Java。如果你尝试运行 java 而没有安装 Java,会出现如下提示: No Java runtime present, requesting install. macOS 系统会引导你下载和安装一个基本的 Java 运行时环境(JRE),以满足运行 Java 应用程序的需求,但这不是完整的开发环境(如 JDK)。 macOS 是如何管理 Java 的?macOS 使用一种目录结构和工具来管理多个 Java 版本。具体机制包括: Java 虚拟机目录所有安装的 Java 版本都放置在以下目录中:/Library/Java/JavaVirtualMachines/ 每个 Java...