首页 文章 精选 留言 我的

精选列表

搜索[辅助功能],共10007篇文章
优秀的个人博客,低调大师

代码杂活不烦人:非程序员的开发辅助

体验:它看不出"这是谁写的",但能看出"哪里可能有问题" 不是只有程序员才碰代码。跑数据分析脚本、调表格字段、修一个报错,都是现代职场里的日常。WorkBuddy 的本地文件处理能力让它能直接读脚本、跑命令、改文件——一次 200 行左右的 Python 脚本,它两分钟找出两个能复现的真问题,也顺带给了五条偏风格的建议。 这个体验很典型:它的价值在于「先筛一遍」,把明显的问题捞出来,把可能的问题标出来,剩下的人工判断。对非程序员来说,最实用的其实是表格类杂活:把客户资料从一个表搬到另一个表时,它能做字段映射,自动对齐列名、补全格式,省去手工复制粘贴的大量时间。 我试过的典型场景还有:解释一段看不懂的脚本是干什么的、帮我把一份 CSV 按规则清洗成标准格式、在报错信息里定位真正的原因。这些活以前要么求人、要么硬啃,现在一句话就能有个初步答案,再带着答案去问同事,沟通效率也高了很多。某种程度上,它成了我和技术同事之间的"翻译官"。 ## 进阶:从"会跑"到"跑对"——报错定位与数据清洗 对非程序员来说,最值钱的其实是两类场景:一是报错定位,把一段报错信息丢给它,让它解释原因并给出排查步骤,基本能省掉一半查资料的功夫;二是数据清洗,一份格式混乱的 CSV,告诉它"去重、补空、统一日期格式",它能把脏数据整理成能直接用的样子。这两类活有个共同点:输入和输出都清楚,中间全是机械操作,正是 Agent 最擅长的区间。 我用下来的感受是,它并不能替代学习本身,但能把"卡住的那一下"变得不那么可怕——以前报错要发群里求人,现在先让它解释一遍,再带着答案去确认,沟通成本低了很多。对经常和数据打交道但不会写代码的人,这一条可能是 WorkBuddy 性价比最高的用法。 这套用法的底线也很简单:重要数据先脱敏、高风险动作要确认、关键结果回原文复核。把这三点写进自己的使用习惯,代码杂活才能真正变成"省心的杂活",而不是"出事的杂活"。对非程序员来说,学会"怎么安全地把活交给 AI",可能比学会写代码本身更重要——因为前者能让你立刻受益,而后者需要长期投入。技术工具的意义,从来不是让每个人都变成程序员,而是让不写代码的人也能拥有处理数据的能力。 ## 实操:代码与表格杂活的安全用法 - 第一步,先让它只读分析:解释这段代码是干什么的、哪里可能有坑,不急着改。 - 第二步,让它给出修改建议,附理由;只采纳能复现、能验证的修复。 - 第三步,涉及批量写入(表格迁移、批量改文件)时,先拿五行试跑。 - 第四步,跑完后对比前后差异,确认没有误改其他内容。 审计中心在这里是重要的安全网:它把每条命令、每次工具调用都记成日志,跑过什么、改过哪些文件都能回溯,精确到秒。有了这本账,才敢让它放开手脚——出了任何问题,都能先查它到底做了什么。 ## 避坑与心得 AI 的风格建议不等于必须采纳。它可能推荐重构、推荐换库、推荐加注释——这些属于工程审美,不是错误修复。只改能复现的错误,别让它借"优化"之名越改越多。 我的经验是把 AI 当"结对实习生"而不是"外包程序员":它负责找出问题、给出方案、执行机械改动,我负责判断哪些改动值得做。这个分工既保住了效率,也保住了对代码的控制权。对非程序员来说,更重要的心态是:把它当成"能读懂代码的同事",而不是"替自己写代码的枪"——前者让你越来越懂,后者让你越来越依赖。

优秀的个人博客,低调大师

179 · Python AI 辅助问询函 / 访谈提纲:尽调场景

**问题** 尽调要发问询函、做管理层访谈,问题质量直接决定核查深度。新手常问得泛、问不到点。本篇把 168/169 的尽调发现(红旗、表外敞口)自动转成"点对点"的问询清单和访谈问题,让每一面红旗都对应一个要追问的口子。 **示例代码** python ```javascript # inquiry.py —— 尽调问询/访谈生成 def gen_inquiry(findings: dict) -> list: q = [] if findings.get("资金流向私人卡"): q.append("请提供流向私人卡(私人卡A)资金的最终用途说明及 supporting 凭证。") if findings.get("隐性关联"): q.append("请披露与关联方X之间全部交易,说明定价依据与商业合理性。") if findings.get("表外敞口"): q.append("请说明对赌协议触发条件、回购义务金额及是否纳入合并报表考量。") if findings.get("毛利靠关联支撑"): q.append("请对比关联方与非关联方同类交易毛利率差异并解释。") return q or ["暂未发现需专项问询事项,按常规清单执行。"] findings = {"资金流向私人卡": True, "表外敞口": True} for i, q in enumerate(gen_inquiry(findings), 1): print(f"Q{i}. {q}") ``` **关键点** - 发现驱动问题:问询清单由红旗反推,问得准、不泛泛,管理层难糊弄。 - 可审计:每个问题都对应一条尽调发现,回复可直接回填到底稿对应栏目。 - 复用框架:换成审计场景,把 findings 映射成"管理当局声明书"条目即可。 **小结** 问询函不是模板填空,是红旗的延伸。让 AI 把"发现"翻译成"要追问的口子",核查才闭环。 --- 你发问询函最怕"对方糊弄"还是"自己问不到位"?评论区聊。 如果有用,点赞收藏关注,留下你的尽调问询难题。下期预告:人机协同校验(AI 初判 + 人工复核双保险)。 会计师事务所的一名注册会计师

优秀的个人博客,低调大师

办公写作提效:用 AI 辅助整理资料与起草

说明:本文为个人使用心得分享,所举方法基于通用办公写作常识与软件操作经验,不代表任何官方立场。 目录 1. 谁适合看这篇 1. 我的使用思路:把 WorkBuddy 当"写作搭子" · 思路1:用旧稿归纳写作框架 · 思路2:按文种起草初稿,不套模板 · 思路3:改稿时让它挑刺,自己把关 · 思路4:破格式壁垒,WPS / PDF 直接读 1. 办公写作的 3 条规范 1. 顺手省额度的小习惯 1. 发布小贴士(打通流程) 1. 小结 一、谁适合看这篇 我日常有大量的文字材料工作,经常要写总结汇报、发言稿、串场词等各类文稿。痛点很典型: · 文稿表述必须准确得体,不敢让 AI 乱发挥; · 不同场合、不同文种各有风格,一套模板硬套全翻车; · 旧稿散在 .wps / .pdf 里,想参考却读不出来; · 反复改稿耗时间,最怕专有名词、数字前后不一致。 用 WorkBuddy 一段时间,它不是替我写稿,而是当"在场同事型搭子":读得懂我的材料、帮我理清框架、改稿时帮我挑雷。下面是我梳理的 4 个使用思路。 二、我的使用思路:把 WorkBuddy 当"写作搭子" 思路1:用旧稿归纳写作框架 刚开始,我把两份过往成稿(一份会议发言、一份专项汇报,分别是 .wps 和 .pdf 格式)交给它,下了这样的指令: "读这两份,归纳这类文稿的常用写法:结构骨架、常用术语类型、开头结尾套路、小标题风格。整理成可参考的要点。" 它按我的要求做了归纳,输出的要点大致包括(仅作方法示意): · 骨架:这类发言常用"有X早Y"式排比,每部分配一个比喻性小标签; · 语言:小标题精炼、数据+案例、术语规范; · 首尾:开头用数据+背景要求引出,结尾用总结性表述收束。 价值:积累这类框架后,再起类似文稿时有个参照,不用从零摸。 思路2:按文种起草初稿,不套模板 关键认知:不同场景文风必须不一样。发言要鼓劲有气势,汇报要数据条理清晰,串场词要短平稳。我会先告诉它文种、场合、听众,再让它起草,绝不让它硬套某一种排比。 我的指令模板: "写一份【会议名称】串场词,听众是【参会人员】,约【X】分钟。要求:开头说明会议目的和议程,中间逐项串场,结尾强调落实。语气平实、不展开论述。" 它给的结构稳、措辞准,我只需补具体数据和名称。 思路3:改稿挑刺,自己把关 稿子写完了,我让它当"挑刺编辑": "从表述规范、逻辑结构、口径统一三个角度审这篇稿,列出需我亲自把关的点,不要擅自修改。" 它常提醒我关注几类问题: · 专有名词:全文要统一口径,别混着写; · 数字与单位/机构名:以正式文件和权威来源为准,我会让它留【】空位自己填; · 内部信息:涉及未公开的工作信息,对外材料要脱敏。 这点对写作太重要——它不替我下结论,只把需注意的点标出来。 思路4:破格式壁垒,WPS / PDF 直接读 日常文件大量是 .wps(WPS 兼容旧格式)和扫描型 .pdf,普通工具读不了。据我使用,它支持运行 Python 脚本,我用它写了个提取流程: · PDF:用 pdfplumber 直接抽文本; · .wps:本质是 OLE 复合文档(含 WordDocument 流),用 olefile 读流、按 UTF-16 解码抠出正文。 一句话指令就能办: "用 Python 把这份 .wps 和这份 .pdf 的正文抽出来,存成 txt 给我。" 几分钟就把散落旧稿变成可分析文本,思路1的框架归纳才得以实现。 三、办公写作的 3 条规范 1.表述规范类内容 AI 不替你拍板。专有名词、数字、机构全称,永远以正式文件和权威来源为准。我让 AI 留【】空位,自己填。 2.内部/未公开信息必须脱敏。涉及工作的内部信息,对外材料一律抹掉。 3.不为任何文稿硬套一种文风。同一主题,发言、汇报、串场词味儿都不同;不同场合语气篇幅有别。先跟 AI 对齐"文种+场合+听众",再写。 四、顺手省额度的小习惯 (干活耗的是自己的额度,能省则省) · 按需选择模型档位,简单任务不必用最强档; · 需求一次说清,减少来回对话(每轮交互都耗额度); · 额度规则以官方说明为准,优先消耗快过期的部分。 五、发布小贴士(打通流程) 这篇能发出来,靠的是下面几步,也供想试的朋友参考: · 账号一致:在腾讯云开发者社区发稿,用与 WorkBuddy 同一个微信/QQ 登录,相关权益才能关联到你的账户。 · 找到发文入口:登录后页面有"写文章 / 创作"类入口,按提示填标题、正文、标签后提交即可。具体位置以页面当前实际为准。 · 标签怎么选:在标签框直接输入关键词(如 WorkBuddy、AI办公、效率工具、办公软件),从候选里点选,无需加 # 号。选 1~5 个。 · 以官方规则为准:社区发文的权益奖励按你账号内"任务中心 / 个人中心"当前展示的规则执行,发布前瞄一眼最稳。 · 截图非必需:有真实操作截图更容易过审和精选,但内容扎实、没有截图也能发布。 六、小结 对日常写材料的人来说,WorkBuddy 不是"代写枪手",而是读得懂材料、帮理清框架、挑得出雷区的搭子。核心就三句话: 喂旧稿建框架 → 按场景出初稿 → 让它挑刺、自己把关。 经常写材料的朋友,试试把 AI 当同事,而不是当枪。 *本文为个人使用心得,仅作方法分享,不代表任何官方立场。*

优秀的个人博客,低调大师

JAVA实现跳一跳辅助程序之虎啸龙吟

前序: 今天有幸,看到2位博主的文章,在此表示感谢。自己也动手实现了一下。 实现原理 请参考博主 https://www.cnblogs.com/dongkuo/p/8285162.html 另感谢博主http://www.cnblogs.com/litblank/p/8267526.html 提供的基础部分代码,免去了我自己再写一边的麻烦。 由于第一篇是python 实现,楼主是JAVA出生,想通过java实现,刚好在评论中看到了 第二位博主的java实现连接,但是自己用博主的代码,测试发现效果并不理想,获取的位置点不对。。。可能是打开方式不对~~~0.0 遂根据第一位博主的思路,重新实现了一下,亲测3张图,基本都是ok 的,下面就看看代码部分的实现。 代码实现: 1 package code; 2 3 import java.awt.AWTException; 4 import java.awt.Graphics2D; 5 import java.awt.Transparency; 6 import java.awt.image.BufferedImage; 7 import java.io.File; 8 import java.io.IOException; 9 import java.io.InputStreamReader; 10 import java.io.LineNumberReader; 11 import java.util.Map; 12 import java.util.Map.Entry; 13 import java.util.TreeMap; 14 import javax.imageio.ImageIO; 15 16 public class Jump { 17 //存放图片的路径 18 static String file1 = "C:\\Users\\JJJ\\Desktop\\jump3.jpg"; 19 //始 扫描行,针对不同的手机分辨率可能不一样,需要修改,此处建议手工测量下坐上角跳跃步数的数字位置,估算出起始行 楼主的手机是se 像素是 1156*640 20 static int start_y = 200; 21 static boolean istest = false; 22 static int background_x = 10; //定义默认的背景色,一定是不会出现其他物体的位置 23 static int background_y = 580; 24 25 public static void main(String[] args) throws AWTException, InterruptedException, IOException { 26 istest = true; 27 28 29 System.out.println("开始:计算" + file1); 30 if (istest) { 31 cmd_java("cmd /c start adb.bat ", "C:\\Users\\JJJ\\Downloads\\cofface_adb\\cofface_adb_windows_v5.1");//批处理文件 32 } 33 BufferedImage bi = (BufferedImage) ImageIO.read(new File(file1)); 34 Map<Integer, Integer> treemap = new TreeMap<Integer, Integer>(); 35 // 获取图像的宽度和高度 36 int width = bi.getWidth(); 37 int height = bi.getHeight(); 38 //小人中心点坐标 39 int poix = 0; 40 int poiy = 0; 41 //目标物体的最顶点X轴 和左边或右边的Y轴 42 int mubiaopoix1 = 0; 43 int mubiaopoiy2 = 0; 44 //目标中心点坐标 45 int mubiaopoix = 0; 46 int mubiaopoiy = 0; 47 BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 48 Graphics2D g2d = img.createGraphics(); 49 // 设置画布为透明 50 img = g2d.getDeviceConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT); 51 // 扫描图片,获取小人的底部中心坐标 52 for (int i = start_y; i < height; i++) { 53 for (int j = 0; j < width; j++) {// 行扫描 54 int dip = bi.getRGB(j, i); 55 int p = dip; 56 int red = 0xff & (p >> 16); 57 int green = 0xff & (p >> 8); 58 int blue = 0xff & p; 59 // 目标人图形 60 if (i < (height / 1.5)) 61 { 62 if ((red > 53 && red < 59) && (green > 57 && green < 61) && (blue > 59 && blue < 103)) 63 { // 获取小人坐标,从中取除Y值最大的一个 64 treemap.put(i, j); 65 } 66 } 67 } 68 } 69 //获取最后的小人底部坐标 ,此处使用treemap 直接排好序,循环获取Y轴值最大的一个 70 for (Entry<Integer, Integer> entry : treemap.entrySet()) 71 { 72 poiy = entry.getKey(); 73 poix = entry.getValue(); 74 } 75 //开始扫描目标物体的最上和最左坐标 ,扫描的Y最大值为当前小人的Y值 76 treemap.clear(); //清除前面的记录,准备存放目标物体的坐标 77 RGB rgb = null; 78 boolean frist = true; 79 RGB rgb_0 = pixToRgb(bi, background_x, background_y); //默认的背景色 80 for (int y = start_y; y < poiy; y++) { 81 int x = 0; 82 if (poix < width /2) //此处特别说明下,如果小人的坐标在整个屏幕的左边,则目标物体一定在右边,遂起始x轴从小人之后开始加20开始循环,反之则不用 83 { 84 x = poix + 20; 85 } 86 else 87 { 88 x = 20; 89 } 90 for (; x < width - 20; x++) {// 行扫描 91 int dip = bi.getRGB(x, y); 92 int p = dip; 93 RGB rgb_1 = pixToRgb(bi, x, y); 94 if(frist && rgbCz(rgb_0,rgb_1,10)) //如果不相同则说明找到了第一个点 95 { 96 mubiaopoix1 = x; 97 rgb = rgb_1; 98 frist = false; 99 continue; 100 } 101 if (!frist && rgbBcz(rgb,rgb_1,10)) 102 { 103 treemap.put(x, y); //存放所有当前台面的像素点坐标,然后从中选出X值最小的一个, 104 } 105 } 106 } 107 //获取目标物体的坐标,如果是在右半边,则获取最后一个值的Y轴,如果是在左边,则获取第一个 108 if (poix > width / 2) 109 { 110 for (Entry<Integer, Integer> entry : treemap.entrySet()) 111 { 112 mubiaopoiy2 = entry.getValue(); 113 break; 114 } 115 } 116 else 117 { 118 for (Entry<Integer, Integer> entry : treemap.entrySet()) 119 { 120 mubiaopoiy2 = entry.getValue(); 121 } 122 } 123 //通过获取的2个点坐标计算出中心点位置 124 mubiaopoix = mubiaopoix1; 125 mubiaopoiy = mubiaopoiy2; 126 //计算 小人与目标人物的距离 127 int total = (mubiaopoix - poix) * (mubiaopoix - poix) + (mubiaopoiy - poiy) * (mubiaopoiy - poiy); 128 double length = (double) Math.sqrt(total); 129 double time = length * 1.35; //时间系数 130 System.out.println("小人的坐标为:" + poix + "," + poiy); 131 System.out.println("目标物体的坐标为:" + mubiaopoix + "," + mubiaopoiy); 132 System.out.println("需要按压屏幕的时间为:" + time + "毫秒"); 133 } 134 153 154 static InputStreamReader ir = null; 155 static LineNumberReader input = null; 156 157 public static void cmd_java(String cmd) throws IOException { 158 Process process = Runtime.getRuntime().exec(cmd, null, new File("C:\\Users\\chenyd\\adb")); 159 ir = new InputStreamReader(process.getInputStream()); 160 input = new LineNumberReader(ir); 161 while (input.readLine() != null) { 162 } 163 input.close(); 164 ir.close(); 165 } 166 167 public static void cmd_java(String cmd, String url) throws IOException { 168 Process process = Runtime.getRuntime().exec(cmd, null, new File(url)); 169 ir = new InputStreamReader(process.getInputStream()); 170 input = new LineNumberReader(ir); 171 while (input.readLine() != null) { 172 System.out.println(11); 173 } 174 input.close(); 175 ir.close(); 176 } 177 178 /** 179 * 颜色的差值不在范围内 180 */ 181 public static boolean rgbCz(RGB rgb_1, RGB rgb_2, int fd_rgb) { 182 if (Math.abs(rgb_1.getRed() - rgb_2.getRed()) > fd_rgb && Math.abs(rgb_1.getGreen() - rgb_2.getGreen()) > fd_rgb 183 && Math.abs(rgb_1.getBlue() - rgb_2.getBlue()) > fd_rgb) { 184 return true; 185 } 186 return false; 187 } 188 189 /** 190 * 颜色的差值在范围内 191 */ 192 public static boolean rgbBcz(RGB rgb_1, RGB rgb_2, int fd_rgb) { 193 if (Math.abs(rgb_1.getRed() - rgb_2.getRed()) < fd_rgb && Math.abs(rgb_1.getGreen() - rgb_2.getGreen()) < fd_rgb 194 && Math.abs(rgb_1.getBlue() - rgb_2.getBlue()) < fd_rgb) { 195 return true; 196 } 197 return false; 198 } 199 200 public static RGB pixToRgb(BufferedImage bi, int j, int i) { 201 try { 202 int dip = bi.getRGB(j, i); 203 int p = dip; 204 int red = 0xff & (p >> 16); 205 int green = 0xff & (p >> 8); 206 int blue = 0xff & p; 207 return new RGB(j, i, red, green, blue); 208 } catch (Exception e) { 209 210 } 211 return null; 212 } 213 214 } 215 216 class RGB { 217 218 public RGB() { 219 } 220 221 public RGB(int x, int y, int red, int green, int blue) { 222 super(); 223 X = x; 224 Y = y; 225 this.red = red; 226 this.green = green; 227 this.blue = blue; 228 } 229 230 public int X; 231 public int Y; 232 public int red; 233 public int green; 234 public int blue; 235 236 public int getRed() { 237 return red; 238 } 239 240 public void setRed(int red) { 241 this.red = red; 242 } 243 244 public int getGreen() { 245 return green; 246 } 247 248 public void setGreen(int green) { 249 this.green = green; 250 } 251 252 public int getBlue() { 253 return blue; 254 } 255 256 public void setBlue(int blue) { 257 this.blue = blue; 258 } 259 260 public int getX() { 261 return X; 262 } 263 264 public void setX(int x) { 265 X = x; 266 } 267 268 public int getY() { 269 return Y; 270 } 271 272 public void setY(int y) { 273 Y = y; 274 } 275 276 } 由于楼主目前没有安卓设备,还无法带上adb实验,目前只是通过手动截取图片,和测量距离计算了3张,总体比较下来,还算是正确的。 第一张图片 计算结果如图: 第二张图片 计算结果如图: 第三张图片 计算结果如图: 后续再搞个安卓设备试试~ give me the ball!

优秀的个人博客,低调大师

信息化医疗发展还需智能医护去辅助完成

随着信息化时代的来临,越来多的智能产品出现在我们眼前,尤其是在医疗仪器这一方面,也从传统的固定式转变成便携式,使检测越来越便捷。市场上的便携式的可穿戴智能产品,到人工智能化机器人,无一不是在体现人工智能和信息化的完美结合。其中智能医疗则是发展的侧重点,医疗环境的转变,更好的改善就医将是社会和人们最希望的,相信未来的医疗会变得非常的便捷,就像我们逛商场一样的轻松,无负担! 那么先来了解智慧医疗是由智慧医院系统、区域卫生系统、以及家庭健康系统这三部分组成。其中智能医护作为最重要组成部分,它不只是简单的医疗设备,更好的理解为是一种将先进计算机技术、通信及信息处理技术等应用于医疗过程的新型智能医护管理系统。 智能医护的应用主要有智能医护对讲,包括患者能时时和医护人员沟通、还有病房探视的语音对讲、手术室对讲广播、门诊排队、信息发布与宣教、一键式报警监控对讲、公共广播等等,这些都是智能医护便携式医疗仪器设备,更好的去及时联系患者与医护之间的信息沟通。 智能医护设备的建设,在一个医院是非常重要的,也是医院在布局整体信息化建设方案时的重要环节。因为可以实现医疗服务的智能化和优质化,这样可以使医护人员与病人间的互动交流变得更加方便,也减轻医护人员的工作强度及提高其工作效率,从而到达了提升病患的满意度与就医环境,享受便捷有序的就医环境。 结合一些医院的综合需求,在现在的医疗体系下利用先进的物联网技术与信息化达成智慧医疗体系,为患者更好的就医环境,医院的医疗资源更好的利用,共同打造一个利用先进的互联网技术、信息化、智能化的现代医疗体系,真正的实现患者与医护人员、医院之间的良好互动。从而建立一个良好的医患服务氛围,使得患者在看病、就医期间更加的简易化! 本文由朗锐慧康编辑整理(http://www.lrioh.com)(http://www.lrist.com),转载请注明出处。

优秀的个人博客,低调大师

Linus 使用 Claude 辅助对内核进行迟到已久的历史清理

Linus Torvalds 对 Linux Kernel 进行了一个「迟到已久的清理」:把 __get_user() 和 __put_user() 这两个历史悠久的函数从内核里删掉了。他在 commit message 里写得很直白——「这早就该做了:__get_user() 和 __put_user() 完全是历史遗留,永远不是正确选择,而且还被误用」。 __get_user() 和 __put_user() 是内核里向用户空间读写数据的旧接口,存在了几十年。问题是它们的设计是「绕过常规安全检查」的快速路径——本意是给最热路径用的优化,但随着硬件和内存模型演进,这两个函数的安全前提越来越不成立。Linus 说的“被误用”是重点:这些快速接口在实际使用中几乎总是被用错,用错时的后果比收益严重得多。 这次合并是内核多年来的又一次「减法」——把不再安全、不再合理的旧接口移除,强制所有调用点改用更安全的现代替代(copy_from_user / copy_to_user 以及经过严格检查的 get_user / put_user)。对内核这种以「稳定 ABI」著称的系统来说,删除一个老接口需要协调大量驱动和子系统的迁移,Linus 用「long over-due」形容,说明这个决定推迟了很久。 Linus 提到他部分使用了 Claude 来完成大规模、重复性的代码迁移,把它形容为一个增强版的 Coccinelle(代码自动重构工具)。 参考来源: torvalds/linux commit 22a78a2

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册