- 博客(317)
- 资源 (13)
- 收藏
- 关注
原创 AI时代的开发范式:ABS
本文探讨 AI 时代软件开发范式的根本转变。当前工程师对 AI 辅助编程大致有三种态度:不信任(只用作代码生成器)、完全信任(Vibe Coding)、以及半信任。作者提出,软件工程正经历类似"离散元器件→集成电路"的抽象跃迁:工程师的核心工作将从"写代码"转向"写 ABS"(Agent Behavior Specification)。ABS 包括 AGENTS.md、NEVER.md、BEST_PRACTICES.md 等规范 Agent 行为的文件。ABS 才是新时代的源代码,代码只是 ABS 的编
2026-06-19 04:15:00
207
原创 Tokenmaxxing的排行榜应该反着看
文章通过类比 60 年代的 LOC 指标,指出用 Token 消耗量衡量 AI 编程效率同样荒谬。深入解析了 LLM 的上下文机制(会话记忆、上下文压缩、注意力稀释),揭示超长上下文反而会导致代码质量下降、Bug 增多的恶性循环。作者以自身实践说明:精细拆解任务、保持短上下文,才是高效高质量产出的关键。
2026-06-11 13:05:08
214
原创 Agent Skill 制作手册 01:入门篇
这是 Agent Skill 系列教程的第一篇。文章从 skill 的起源讲起——人们发现给 LLM 提前喂 how-to 文档能让它工作得更准确,于是逐渐演化出了只需 name 和 description 两个核心字段的轻量级 skill 文件。文章介绍了 skill 的通用目录结构、如何动手写一个最小 skill,以及各家平台的防误触发机制和工作流式与应用式两种 skill 类型的区别。
2026-05-29 15:16:58
201
原创 AI时代,还有必要练习编程吗?
AI时代"Vibe Coding"盛行,但练习编程依然必要。人脑学习速度不因 AI 而改变;AI 既学了好代码也学了坏代码,你看不出问题它也看不出。文章用两个例子说明:缺乏经验者无法识别 JavaScript 对象引用陷阱,也无法在真正动手时回忆起课上学过的 API。结论:AI 只是地图,无法替代真正理解系统和工程复杂性的过程。
2026-05-26 06:18:25
194
原创 AI时代应该怎么写代码:督导和编排
程序员正面临 AI 时代的迷茫与转型。本文指出,LLM 存在架构偏移、软件熵增、上下文困境、token 滥用四大致命问题,导致 AI 无法无监督地完成复杂开发任务。因此,程序员的未来角色将分为两个阶段:督导——审核 AI 代码、防止质量失控;编排——搭建多 Agent 协作的 AI 开发工作流。传统 IDE 将逐渐消亡,代码品味、重构、测试等能力将成为新的核心竞争力。
2026-05-21 22:36:53
363
原创 实例讲解什么是上下文治理
本文通过对比 Codex、Claude Code、Open Claw 和 Hermes Agent 四种主流 AI Agent 的上下文治理方式,直观讲解了什么是"上下文治理"。文章从最简单的规则文件与记忆目录,逐步演化到人格系统、自动记忆、技能生成和数据库检索,展示了 AI Agent 如何通过上下文管理变得越来越像真正的"长期工作助手"。最后,文章提出了一个重要观点:上下文本质上是智能体的"电子脑",未来 AI Agent 的核心竞争力,很可能不再只是模型本身,而是上下文治理能力。
2026-05-20 03:46:56
359
原创 [一天一个Skill]第1天:查单词Skill
详细讲解了如何为智能体创建查单词Skill。文章分为三部分:第一部分演示手动创建Skill的基本流程,包括编写SKILL.md文件和部署方法;第二部分提倡让AI自动生成Skill代码;第三部分探讨Skill开发中的常见问题,如触发词设计、触发词抢夺现象等。作者强调现代AI时代应改变手动编码习惯,利用智能体自动完成开发任务,同时指出Skill开发需要简洁明确的触发词,并建议添加使用标记以确认Skill调用情况。
2026-05-18 21:50:28
400
原创 AI时代我们应该如何阅读技术文档:精炼阅读
检查一下你的浏览器。是不是还开着几十个没读完的技术文档 tab?是不是收藏夹里还有一堆“以后再看”的文章?是不是每次打开新文档,都还没读完,就又被新的知识点带去了别的页面?在 AI 时代,也许真正的瓶颈已经不是知识不够,而是注意力不够。这篇文章讨论了一种我称之为“精炼阅读(Distilled Reading)”的方法:不再试图读完所有文档,而是借助 AI 先提炼、再选择、后深入,把有限的注意力集中在真正重要的信息上。
2026-05-17 06:58:36
378
原创 AI时代如何提问面试者
本文探讨了AI时代如何面试LLM应用方向人才的核心思路。作者提出应重点考察四个维度:学习能力(持续追踪AI技术动态)、整体理解(对LLM技术的宏观把握)、使用经验(实际AI编程工具操作)和具体知识(如LangGraph等框架)。文章列举了各类面试问题示例,包括LLM发展阶段、上下文工程与提示词工程区别等概念题,以及AI编程工具使用经验等实操问题。作者强调在快速迭代的AI领域,候选人必须保持主动学习的态度,像"追逐明星八卦"一样紧跟技术发展。本文聚焦LLM应用而非训练方向,旨在帮助企业筛选出能适应AI时代工作
2026-05-15 11:19:22
388
原创 基于 LLM 的 AI 智能体架构:一台长在你设备里的新型电脑
本文从计算机体系结构的角度,重新思考基于 LLM 的 AI 智能体。文章提出:LLM 更像计算核心(CPU),上下文类似内存(Memory),Markdown 文件系统承担长期存储(Storage),而 Skill 则像安装在智能体中的软件系统。通过类冯诺依曼结构的视角,本文尝试描述未来个人 AI Agent 的基础架构,并探讨 AI 智能体如何逐渐演化为一种新型个人计算平台。
2026-05-06 14:50:58
388
原创 AI治好了我的写作拖延症
以前写一篇文章,少说也要一周——构思、码字、反复改,改完还要配图,画流程图用draw.io一拖一拽,半小时过去了就画了个框。每次打开编辑器,脑子里第一个念头不是"我要写什么",而是"算了,改天吧"。:我只需要把想法说清楚,哪怕是很粗糙的几句话,AI可以帮我把它组织成流畅的段落。直到最近,我才意识到,让我停下来的从来不是没有东西可写,而是写作这件事本身太"重"了。:把逻辑说给AI,它直接给我生成,我只需要看看对不对、要不要调整。我不确定接下来会写多少篇,但至少今天,我打开了编辑器,写完了这篇。
2026-05-05 15:03:03
39
原创 【读书笔记】xUnit测试模式重构0809
这样的后果就是,当我的单元测试出问题了,或者我需要在同一个单元测试文件中增加一个新的测试用例的时候我们需要耗费大量的时间去了解上下文。但我觉得完全不改业务逻辑带来的测试难度实在太大,非常容易劝退开发人员,我认为在不变动业务逻辑的前提下,改变业务逻辑的组织方式是可以接受的重构风险。中写过让我痛苦万分的测试用例。感悟:测试是针对SUT的,而不是整个系统,这就印证了我一直以来的一个感觉,就是:不要在测试用例中写集成测试。感悟:如果严格的做到关注点分离,那么我们预期的测试用例文件应该是由很多小的测试用例组成的。
2025-08-10 00:00:05
474
原创 【Git流程最佳实践】 开发较大功能时应使用project branch
在开发跨越新特性的时候会从主branch(master/trunk/develop)创建而来的一个git branch。经常会以feature/<特性名>命名在开发较大功能的时候会由几个程序员组成一个子项目小组。此时可以为这个子项目建立一个较大的开发branch。这个branch可以跨越sprint。改子项目开发人员的提交先提交到该project branch上,到一定时间点,把由project branch合并(merge)到主分支上。project branch可以以。
2025-03-21 15:28:23
1016
原创 【方法论】自行车棚效应
琐事法则,也被称为自行车棚效应。以下是来自维基页面的引用:琐事法则是C·诺斯科特·帕金森于1957年提出的观点,认为组织中的人们通常会对琐碎问题给予过多的关注。帕金森举了一个虚构委员会的例子,该委员会的任务是批准核电站的设计方案,但他们将大部分时间花在讨论相对较小但容易理解的问题上,比如选择用于员工自行车棚的材料,而忽视了更重要且更加复杂的任务——核电站本身的设计方案。该法则已被应用于软件开发和其他活动中。
2025-03-06 03:53:38
1009
原创 【Copilot极限实践日记】DAY 2: 使用Copilot/ChatGPT解决项目编译问题
今天是极限实践Copilot第二天,我尝试了分别使用ChatGPT和Copilot来解决项目构建问题。理论上,Copilot使用了GPT-4o模型,ChatGPT使用了4o,他们的结果理应是一样的,但是实际上是怎么样?我们来看看
2025-03-04 11:47:23
1312
原创 【Copilot极限实践日记】DAY 1: 使用Copilot实践不写一行代码快速生成unit test
一次尝试只用对话来让Copilot写测试用的尝试
2025-03-01 15:57:26
925
原创 在Vue.js中应该避免的三件事
尽量避免使用行内事件代码(inline script)这是一个行内事件代码 的例子<div @click="alert('hello world'); doSomething();" />这种代码虽然第一次写起来很简单,但是很容易出bug。这样做有两个缺点。VS Code 无法检查行内事件代码的错误VS Code没有办法帮你检查模板中的行内事件代码,所以请尽量不要写行内事件代码。你可能会觉得有些代码很简单,你可以直接看出有没有错误。但实际上,大多数时间我们都看不出一些简单的错误。比如
2023-02-20 03:23:02
517
原创 Jest单元测试最佳实践1:使用eslint-plugin-jest规范测试代码
项目中的荒草地我们经常只关注业务代码的代码质量,而忽略了测试用例的代码质量。这让单元测试代码狂野生长。从而导致单元测试代码往往不起作用。这也是有些程序员认为单元测试代码没什么用。所以我会分享我在项目中发现的jest单元测试最佳实践。从代码风格开始让我们从测试代码的风格开始吧。我们一般都会用eslint来规范业务代码。你是否尝试过使用eslint来规范单元测试代码呢?试试看 eslint-plugin-jest 吧。这是这个项目的页面https://www.npmjs.com/package/eslin
2021-04-28 12:42:02
1808
1
原创 如何解决测试动态加载vue组件的时候浅加载shallowMount不能用的问题
动态import带来的问题如果你在使用Vue的时候同时使用了动态加载,比如有两个组件Parent和Child。Parent会动态加载Child。Parent组件内容<template> <div> Parent <Child /> </div></template><script>export default { components: { Child: () => im
2020-05-13 15:52:30
2174
1
原创 调试javascript/nodejs单元测试的方法
本文会说明如何调试javascript 或者 nodejs的方法。该方法不局限于开发工具,你可以使用atom或者vscode。也不局限于测试框架,你可以使用vue-test-utils, mocha, jest等等。步骤在要调试的代码处加debugger 打开Chrome(谷歌浏览器),并在地址栏输入 chrome://inspect ,选择 Open dedicated DevToo...
2019-12-27 03:46:49
1105
原创 《HBase不睡觉书》
《HBase不睡觉书》京东购买链接:https://item.jd.com/12280151.html亚马逊购买链接:https://www.amazon.cn/dp/B078X66CTS当当购买链接:http://product.dangdang.com/25216089.html...
2018-12-26 17:06:45
1751
原创 Vue 不睡觉教程3 - 来点实在的:自动计算剩余时间的任务列表
名字灵感来自我的书《HBase不睡觉书》 意为让你看了也不会想睡觉的教程 :)目标前两课教的是入门和文件结构。都没有什么实在的东西。这次我们要来点实在的。我们要做出一个待办列表。这个待办列表有以下特点:可以自动从文本中抽取出这件事情的开始时间 可以显示当前距离这件事情的开始时间还有多久,比如:23:40 回家 (还有 6 小时 36 分 15 秒) 如果当前时间已经超过了计划时间,...
2018-10-04 09:48:46
4446
9
原创 虚拟浏览器 JSDOM 学习笔记
这篇文章只是个人学习笔记,所以结构不清,信息不全,建议阅读原版项目手册。 JSDOM 是用nodejs实现的用于测试的虚拟浏览器。基本例子const dom = new JSDOM(``, { url: "https://example.org/", referrer: "https://example.com/", contentType: "text/html",...
2018-09-24 15:15:33
3639
原创 Vue 不睡觉教程2 - 洋气的文件结构
名字灵感来自我的书《HBase不睡觉书》 意为让你看了也不会想睡觉的教程 :)目标我们这节课的目标在于通过改造上一课的例子来学习vue的文件结构Let's do it环境参数vue版本:2.5.16开始改造我们要开始改造上一节那个极土的例子,让它看起来洋气一点。很多教程上来把webpack跟vue绑在一起教,让很多原本不懂webpack的人以为webpack是vue的组成部分,或者是必不可少的部分...
2018-06-30 11:21:42
7255
7
原创 Vue 不睡觉教程1-从最土开始
环境参数vue版本:2.5.16安装虽然vue有很多种安装方式,但是最酷的是使用vue-cli方式安装。方法如下:安装vue-cli首先确保npm版本大于3.0:$ npm -v6.0.0如果低于3.0请升级npmnpm i -g npm全局装vue-clinpm i -g @vue/cli插曲:我第一次安装 vue/cli的时候,npm不断提示 ERR! write after endroot...
2018-06-21 08:22:19
22445
3
原创 Laravel Broadcasting广播机制(Redis + socket.io)-学习实例
借助Laravel Broadcasting你可以使用上时下很热的Websocket技术。
2018-05-26 08:42:32
18457
33
原创 计算机历史博物馆观后感:阿达·洛芙莱斯生平9(完结)
December 10, 2015, marks the 200th anniversary of the birth of Ada, Countess of Lovelace(1815-1852), a remarkable person who was charming, temperamental, inquisitive, and intelligent.2015年11月10号是阿达·洛...
2018-04-30 02:03:55
1804
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平8
"Where is it gone?"Charles Babbage and Ada Lovelace exchanged many letters as she worked on the details of her paper, translating an article by Luigi Menabrea, and adding "notes" that were three times...
2018-04-11 15:17:56
1526
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平7
"The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform."分析引擎算不上是完全原创的东西。它可以做任何我们命令它去执行的事情。"The thinking machine"In 1833 Lady By...
2018-04-06 16:07:40
1012
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平6
Calculus of the nervous systemAlthough suffering increasing ill-health, Ada Lovelace maintained her interest in mathematics and science. Her idea that she might use mathematics to understand the nervo...
2018-03-25 09:21:08
1045
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平5
"A new, a vast, and a powerful language is developed for the future use of analysis, in which to wield its truths so that these may become of more speedy and accurate practical application for the pur...
2018-03-17 07:38:07
1806
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平4
TranscriptionToday I have been flying particularly well and I think you ['would' crossed out] will really say I have much improved in that exercise. My wings are going on prosperously but do not expec...
2018-03-09 06:30:00
881
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平3
"Is thy face like thy mother's, my fair child?"Lord Byron saw his daughter Ada for the last time in January 1816 when she was only one month old. In April he agreed to a formal separation from his wif...
2018-03-03 09:12:47
755
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平2
A flying horseAda was an imaginative child. Her education fostered her interest in mathematics and science and she became fascinated by all things mechanical. Throughout 1828 her letters to her mother...
2018-03-01 16:24:33
993
翻译 计算机历史博物馆观后感:阿达·洛芙莱斯生平1
参观完坐落于硅谷的计算机历史博物馆后,很受触动。阿达·洛芙莱斯,拜伦之女,是世界上第一个程序员。"The more I study, the more insatiable do I feel my genius for it to be"“我学习的越多,我的才智就越贪婪”阿达之母:Annabella Byron的画像阿达小时候的画像Early notes on geography and ari...
2018-02-28 09:45:38
2207
翻译 如何在Centos7下升级Apache至最新版本
原文:https://crosp.net/blog/administration/install-latest-apache-server-centos-7/Apache是使用最广泛的应用部署软件。并且它也是所有服务器的必要组成部分。安装最新版本的apache意味着拥有更多最新的功能和修复了已知的BUG。介绍在这篇教程里面,我将会介绍在Centos7下安装最新版Apache的几个简单步骤。默认情况...
2018-02-20 07:16:10
13780
3
原创 监控/触发text input变化的事件大全,总有一个会命中
监控/触发text input变化的事件大全,总有一个会命中如果是要绑定text input的变化:elem.bind("propertychange change click keyup input paste", function(event){...})如果是要触发text input的变化:.trigger("propertychange").trigger("change").tri
2017-11-08 04:55:51
680
原创 当python找不到pip的时候
今天用python来安装oracle的驱动的时候出现如下错误» python -m pip install cx_Oracle --upgrade/usr/bin/python: No module named pip解决方案异常的简单:python -m ensurepip
2017-11-05 07:45:31
7043
1
原创 Underscore.js API 学习笔记
Collections_.first 可以挑选出数组中第一个元素,比[0]更可读_.reduce可以将整个数组合并成一个数字,第三个参数是初始值,如果没有就采用数组的第一个数字作为初始值var sum = _.reduce([1, 2, 3], function(memo, num){ return memo + num; }, 0);=> 6_.reduceRight 是 _.reduce的从右
2017-07-16 09:24:43
816
GEF-runtime-3.2.zip
2008-04-25
ZendDebugger-5.2.10 for php 5.2.x
2013-08-16
zend debugger toolbar for chrome
2013-08-16
phoenix-3.2.2-bin.tar.gz
2015-02-12
VE-runtime-1.2.3_jem.zip
2008-04-25
emf-sdo-runtime-2.2.0.zip
2008-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅