编程语言
Programming Language
就像你和外国人沟通得用一门语言,你想让电脑干活也得用电脑听得懂的语言。中文、英语是给人用的,Python、JavaScript 是给电脑用的,你写出指令,电脑照着做。
- 价值
- 电脑只认 0 和 1,人没法直接用。编程语言是中间的翻译层,让你用接近人话的方式写指令,电脑再翻译成它能执行的动作。不会它,你连让电脑做最简单的事都开不了口。
- 何时用到
- 你让 AI 帮你做网站或小程序时,它生成的全是某种编程语言的代码。哪怕你一行不写,也得知道这堆东西是 Python 还是 JavaScript,出问题时才好对着问 AI、找对应的运行环境。
- 常见坑
- 新手以为得先精通某门语言才能开始。其实 vibecoder 阶段重点是看懂大概、会让 AI 改,而不是背语法。另一个坑是不同语言不能混着跑,Python 代码不能丢进网页直接用。
就像做饭时直接买现成的火锅底料,不用自己从花椒辣椒一样样炒。别人把常用功能(比如算日期、发邮件、处理图片)提前写好打包,你拿来直接用,省得自己造。
- 价值
- 几乎所有常见功能都有人写好了。你要的功能装个库一行调用就行,不用从零写几百行。这是现代编程能快的核心原因——站在别人肩膀上。
- 何时用到
- 让 AI 加个功能,比如'把日期显示成几天前',AI 通常会引入一个现成的库来做。你看到代码里 import 或 require 某个陌生名字,八成就是在用库。
- 常见坑
- 装太多库会让项目变臃肿、容易出冲突。还有库会过期或停止维护,带安全漏洞。别看到啥库都装,能用框架自带功能就别额外引。
库是你想用就用的调料,框架更像一套精装修的毛坯房:墙、水电、户型都给你定好了,你只往里填家具。它规定了整个项目怎么搭、文件放哪、流程怎么走。
- 价值
- 从零搭一个网站要操心特别多杂活(怎么响应用户点击、怎么连数据库、怎么管页面跳转)。框架把这些套路都封装好,你按它的规矩填内容就能快速出成品,不用每次重造轮子。
- 何时用到
- 做网站常听到的 React、Vue、Next.js,做后端的 Django、Express,都是框架。你让 AI'用 React 做个落地页',它就是在框架的规矩里给你填代码。选错框架后面很难换。
- 常见坑
- 新手分不清框架和库:库是你叫它,框架是它叫你(它定流程,你填空)。另一个坑是框架学习曲线陡,且一旦选定很难中途换,所以技术选型时要慎重。
包/依赖
Package / Dependency
包就是别人打包好的一块功能(其实就是库的另一种叫法)。依赖是说'你的项目要正常跑,离不开这些包',就像做蛋糕依赖面粉和鸡蛋,缺一个就做不成。
- 价值
- 你的项目几乎不可能全是自己写的,都站在一堆别人的包上面。把这些'依赖'清单记下来,换台电脑或上线时一键就能把同样的包全装回来,保证到哪都能跑。
- 何时用到
- AI 生成的项目里通常有个叫 package.json(JS)或 requirements.txt(Python)的文件,列着所有依赖。报错'找不到某个模块',基本就是某个依赖没装上。
- 常见坑
- 最经典的坑:在自己电脑能跑,换台机器就崩,因为依赖没装全或版本对不上。别手动一个个装,照清单文件批量装。还有依赖套依赖,一个包能牵出几百个,体积爆炸很正常。
就像手机的应用商店:你说要装哪个 App,它帮你下载、装好、以后还能一键更新和卸载。包管理器就是代码世界的应用商店,帮你管所有要用的包。
- 价值
- 手动下载、解压、放对位置、处理版本冲突会累死人。包管理器一条命令搞定全部:装包、升级、按清单一键还原整个项目的依赖。没它现代开发寸步难行。
- 何时用到
- JavaScript 用 npm(或 pnpm、yarn),Python 用 pip(或 uv)。AI 让你在终端敲 'npm install' 或 'pip install',就是在用包管理器装项目要的东西。这是几乎每个项目第一步。
- 常见坑
- 不同语言用不同的包管理器,别拿 npm 去装 Python 的包。还有网络问题导致装不上很常见(尤其国内),经常要配镜像源。命令敲错地方(不在项目文件夹里)也会失败。
就像开一家餐厅要凑齐一套设备:灶台、冰箱、收银机、外卖平台。做一个软件也要凑齐一套技术——用什么语言、什么框架、什么数据库、放在哪上线。这一整套搭配就叫技术栈。
- 价值
- 一个完整产品从不靠单一技术,而是好几样配合。把这套搭配理清楚,你才知道项目由哪些部分组成、出问题该往哪查、招人或问 AI 时该怎么描述。
- 何时用到
- 你跟人(或 AI)说'我这项目是 React + Node + Postgres',对方立刻就懂你的架子长什么样。看一个开源项目、评估一个外包方案,第一件事就是看它的技术栈。
- 常见坑
- 新手容易追最新最酷的技术堆栈,结果生态不成熟、出问题没人答。对 vibecoder,选主流、AI 熟悉、社区资料多的技术栈,远比选'先进'的重要。
技术选型
Tech Stack Selection
就像装修前定主材:地板选实木还是瓷砖、墙刷漆还是贴砖。一旦定下大动起来很费劲。技术选型就是在动手前决定用哪门语言、哪个框架、哪个数据库——后面整个项目都建在这之上。
- 价值
- 选对了,后面顺风顺水;选错了,做到一半发现这条路走不通,推倒重来代价极大。选型本质是权衡:好不好上手、社区大不大、贵不贵、AI 熟不熟、能不能撑住未来的量。
- 何时用到
- 开一个新项目的第一步。让 AI'帮我做个能收款的小程序',它会先建议一套技术方案——这就是在帮你做技术选型。你需要判断它的建议是否主流、好维护。
- 常见坑
- vibecoder 最容易掉进'选最新最潮'和'选我听过名字的'两个坑。正解是问 AI'哪个方案资料最多、最不容易踩坑',选成熟主流的。冷门技术 AI 也答不好,等于自断外援。
就像一道公开的菜谱:任何人都能免费看、照着做、还能改成自己的口味再分享出去。开源软件就是把代码完全公开,谁都能免费用、能看里面怎么写的、能拿来改。
- 价值
- 你做项目用到的绝大多数框架、库、工具几乎都是开源且免费的,省下天价授权费。代码公开还意味着全世界的人帮着挑 bug、补漏洞,通常比闭门造的更靠谱。
- 何时用到
- 你在 GitHub 上找到一个现成功能直接拿来用、AI 给你引入某个免费库、或想看某个工具到底怎么实现的——都在受益于开源。vibecoder 几乎全程站在开源之上。
- 常见坑
- 免费不等于随便用:每个开源项目有许可证(License),有的允许商用、有的要求你也得开源、有的禁止商用。拿别人代码做收费产品前,务必看清许可证,否则可能侵权。
代码编辑器 / IDE
Code Editor / IDE
写代码就像写文章,得有个趁手的写字软件。普通记事本能写但很难用;代码编辑器像专业版 Word,会自动给代码上色、提示拼写、还能直接运行——IDE 则是更全能的版本,连调试、装插件都包了。
- 价值
- 好的编辑器让你写代码不痛苦:语法高亮看得清、自动补全少打字、报错当场标红。现在很多编辑器还内置 AI,你用大白话说需求它直接帮你改代码,这正是 vibecoder 的主战场。
- 何时用到
- 你打开项目文件夹改东西、跟 AI 一起写代码,都在编辑器里进行。常见的有 VS Code(最主流免费)、Cursor(主打 AI 编程)。你看到的代码界面基本就是它。
- 常见坑
- 新手纠结选哪个编辑器纠结半天。其实对 vibecoder 直接上 Cursor 或带 AI 的 VS Code 就行,先用起来。另一个坑是装一堆插件拖慢速度,够用就好。
平时你用鼠标点图标办事,终端是反过来——用打字给电脑下命令。就像在微信里发指令而不是点按钮。一个黑框框,你敲一行字回车,电脑就执行,没有花哨界面。
- 价值
- 很多开发操作没有按钮可点,只能在终端敲命令:装依赖、启动项目、上传代码到 GitHub 都靠它。看着原始,但比点来点去快,也是 AI 让你执行操作时最常用的地方。
- 何时用到
- AI 让你'在终端运行 npm install''敲 git push',你就得打开那个黑框框照着粘贴执行。装环境、跑项目、部署上线几乎都绕不开它。
- 常见坑
- 新手怕黑框框,其实大多时候就是复制 AI 给的命令粘进去回车。真正的坑是:命令要在对的文件夹里敲(不然找不到项目),以及复制命令前看一眼别盲粘危险操作(比如删除)。
就像游戏的存档功能:每改一段就存个档,后悔了能随时读回任意一个存档点。版本控制帮你给代码不停存档,记录每一次改了什么,改崩了一键回到上一个好的版本。
- 价值
- 没它,改崩了只能干瞪眼或手动撤销到吐血。有它,任何时候都能回退、能看清每次改动、能多人同时改同一个项目不打架。这是专业开发的命根子,vibecoder 也强烈需要。
- 何时用到
- 让 AI 一通改之后发现搞砸了,如果之前存了档(提交过),一条命令就能退回去。多人协作、想试个大胆改动又怕翻车时,版本控制就是你的后悔药。
- 常见坑
- 新手要么完全不用(改崩无法挽回),要么用了但从不'存档提交',等于白装。养成改完一段就提交一次的习惯,存档点越密,后悔成本越低。
Git 就是目前最流行的那台'存档机器'。版本控制是概念(给代码存档这件事),Git 是实现它的具体工具,就像'记账'是概念、'记账 App'是工具。几乎所有人都用 Git 来管代码版本。
- 价值
- Git 帮你把每次改动存成档、记录谁在何时改了什么、随时回退、还能把不同人的改动合并到一起。它是版本控制事实上的标准,学开发绕不过去。
- 何时用到
- 你看到的 git commit、git push、git pull 这些命令都是 Git。把代码同步到 GitHub、和别人协作、给项目存档全靠它。vibecoder 至少要会提交和推送两个基本动作。
- 常见坑
- Git 命令多且容易绕晕,新手常把自己搞到一团乱(尤其'合并冲突')。对 vibecoder,先掌握 add/commit/push 三件套就够,遇到复杂情况直接问 AI 怎么解,别硬扛。
GitHub / 代码仓库
GitHub / Repository
如果 Git 是你电脑里的存档机,GitHub 就是放在云端的'网盘+协作平台',把你的代码存档传上去。仓库(Repository)就是云端里专门放某个项目的一个文件夹,装着这个项目的全部代码和历史。
- 价值
- 代码传到 GitHub 上,换电脑能拉下来、电脑坏了不丢、能邀请别人一起改、还能展示给全世界看。它也是全球最大的开源代码集散地,你用的无数免费工具都托管在这。
- 何时用到
- 想把项目备份上云、和人协作、或把代码交给部署平台自动上线,第一步都是建个 GitHub 仓库。找现成开源项目、看 AI 工具的源码,也都是去 GitHub。
- 常见坑
- 最危险的坑:把密钥、密码不小心提交到公开仓库,等于贴到全世界面前,被人盗刷。一定要把含密钥的文件加进忽略清单(.gitignore)。另外公开和私有仓库要分清,商业代码别设公开。
提交(commit)是按下'存档'键,把这次改动在本地存成一个档点,还附上一句话说明改了啥。推送(push)是把本地这些档点'上传'到 GitHub 云端。先存档,再上传,两步。
- 价值
- 提交让你的改动有了一个可回退的记录点,推送让它同步到云端被备份和共享。这俩是 Git 日常用得最多的动作,vibecoder 必会的最小操作集。
- 何时用到
- 改完一段满意了就提交一次(存档),想备份上云或让别人看到就推送。AI 帮你写完功能后,常会提示你'提交并推送',你照做代码就上 GitHub 了。
- 常见坑
- 新手常忘记提交,辛苦的改动没存档,一崩全没。还有人提交了忘推送,以为上云了其实还在本地,换电脑发现啥都没有。提交要写清说明,别一律写'update',以后自己都看不懂。
就像写小说时复制一份草稿去试不同的结局,改坏了不影响正式稿,满意了再合并回去。分支就是从主线代码岔出一条独立线,在上面随便折腾,不碰正在用的稳定版本。
- 价值
- 想加新功能或做大胆改动又怕弄坏现有的东西?开个分支单独搞,试成了合并回主线,试砸了直接扔掉,主线毫发无伤。这让多人能各干各的互不干扰,也让你敢于试验。
- 何时用到
- 你要给上线的网站加个新功能,但不想改坏正在跑的版本,就新建一个分支开发,验证没问题再合并。团队协作里每人一个分支是标配。
- 常见坑
- vibecoder 一个人做小项目时,常常用不到分支,在主线上改也行,别被吓住。真用到时最大的坑是'合并冲突'——两条线改了同一行,合并时要手动取舍,遇到直接问 AI 怎么处理。
就像一条自动化流水线:你把改好的代码往 GitHub 一推,流水线自动接手——检查代码有没有错、跑一遍测试、没问题就直接帮你发布上线。省得你每次手动重复一堆动作。
- 价值
- 手动上线要敲一长串命令、容易漏步骤、还可能把出错的代码发上去。CI/CD 把这些自动化:推一下代码,几分钟后新版本自己就上线了,既快又少出错。这是现代项目能频繁更新的关键。
- 何时用到
- 用 Vercel、Netlify 这类平台时,你把代码连上 GitHub,以后每次推送它就自动重新部署,网站自动更新到最新——这背后就是 CI/CD。vibecoder 用这些平台基本无感享受它。
- 常见坑
- 新手会被 CI/CD 这名字吓到以为很高深。其实用 Vercel 这类平台,你啥都不用配就自动有了。真要踩坑是:推了有 bug 的代码,流水线会忠实地把 bug 也发上线,所以推之前最好先验一下。
就是程序里的毛病、不按预期来的地方:点了按钮没反应、显示的数字算错了、页面突然白屏。就像菜里吃出根头发——本不该有却出现了。Bug 这词来历就是早年电脑里真卡进了一只虫子。
- 价值
- 认识到 bug 是常态而非失败,心态就稳了。再厉害的程序员写的代码也有 bug,做软件本质就是不停发现和修 bug 的过程。能清楚描述一个 bug,是让 AI 帮你修好它的前提。
- 何时用到
- 你做的功能没按预期工作时,就是遇到 bug 了。这时要做的是:看清错在哪、复现它(怎么操作能让它再出现一次)、然后把现象原原本本告诉 AI 让它帮你找原因。
- 常见坑
- 新手描述 bug 太含糊('它坏了''不行了'),AI 没法帮你。要说清:我做了什么、期望什么结果、实际出现了什么(最好带上报错原文)。报错信息别直接关掉,那是最值钱的线索。
就像家里灯不亮了,你一步步排查:是灯泡坏了?开关坏了?还是跳闸了?调试就是程序出毛病后,顺着线索一点点找出到底哪里错了的过程,而不是瞎改一通。
- 价值
- 光知道有 bug 没用,得找到病根才能修。调试就是定位问题的手艺:在哪一步出的错、为什么出错。这是写代码最花时间的部分,也是最能体现功力的地方。
- 何时用到
- 功能不对劲时,你打开报错信息、看看程序运行到哪卡住了、把出问题的代码和报错一起喂给 AI 让它分析——整个过程就是调试。vibecoder 调试的主力方式就是和 AI 一来一回排查。
- 常见坑
- 新手最大的坑是不看报错就让 AI'随便改改试试',改了一堆还是错。正解是先复制完整报错给 AI。另一个坑是一次改太多处,出错了都不知道是哪处导致的,要一次只改一个地方。
就像菜做好了先自己尝一口咸淡再端给客人。测试就是写一些'自动尝味道'的代码,提前检查你的功能对不对,而不是等用户用出问题才发现。
- 价值
- 人工每次都把所有功能点一遍很累且容易漏。自动化测试帮你在每次改动后一键检查'原来好的有没有被改坏了',让你敢放心地改代码、上线前心里有底。
- 何时用到
- 项目大了、改动频繁时,测试能帮你守住底线:改了 A 功能,跑一遍测试确认没把 B 功能带崩。配合 CI/CD,每次推代码自动跑测试,有问题当场拦下。
- 常见坑
- vibecoder 早期小项目可以不写正式测试,手动点一遍核心流程也够,别为测试而测试。但'完全不验证就上线'是大坑——至少自己把主要功能走一遍。让 AI 帮写测试时也要核对它测得对不对。
SDK
SDK (Software Development Kit)
就像买宜家家具送的一整套工具包:螺丝、扳手、说明书全配齐,让你能顺利把家具装起来。SDK 是某个服务方给你的一整套现成工具+说明,让你能轻松把他们的功能接进你的项目。
- 价值
- 想接入微信支付、调用某个 AI 模型、用某个云服务?对方通常提供 SDK,把复杂的对接细节都打包好,你照着几行代码就能用上他们的能力,不用自己啃一堆底层文档。
- 何时用到
- 接支付('装微信支付 SDK')、接 AI('用 OpenAI 的 SDK 调模型')、接地图定位等等,第一步往往是装对方的 SDK。AI 帮你集成第三方服务时,基本都在用人家的 SDK。
- 常见坑
- 新手常分不清 SDK、库、API:SDK 是一整套工具包(里面可能就含库),API 是对方开放的接口(SDK 是帮你方便调用 API 的工具)。另一个坑是 SDK 版本更新后用法会变,照着过时教程会对不上。
就像填一张标准表格:姓名填什么、年龄填什么,一栏一栏清清楚楚。JSON 是一种程序之间传数据的通用格式,用'名称:值'成对地写,人能看懂、机器也好处理,是数据界的普通话。
- 价值
- 两个程序要交换数据,得用双方都认的格式,JSON 就是最通用的那个。你调任何 API、看配置文件、存数据,几乎都会碰到 JSON。看懂它,你就能读懂程序间传的到底是什么。
- 何时用到
- 调用任何接口拿数据回来,返回的基本都是 JSON。项目里的 package.json 配置文件也是 JSON。AI 给你看接口返回结果时,那一坨带大括号、引号的东西就是 JSON。
- 常见坑
- JSON 格式很较真:少个逗号、多个逗号、引号用错、括号没配对,整个就报错。新手手写 JSON 最常死在标点上。复制粘贴时也容易带进多余字符。让 AI 检查格式是最省事的办法。
就像餐厅点菜:你(你的程序)按菜单给服务员(API)下单'我要一份天气数据',后厨(对方服务器)做好用标准方式端回给你。REST 就是这套点菜规矩的一种通用约定,大家都按它来,谁都能对接谁。
- 价值
- 想用别人的能力(查天气、查物流、调 AI)却又不能进人家系统,REST API 就是对方开的一个'点菜窗口',你按规矩发请求,它返回数据。这是程序之间互相调用功能的最主流方式。
- 何时用到
- 接入任何第三方数据或服务,十有八九是调它的 REST API。你让 AI'帮我接个查快递的功能',它就是在帮你按 REST 规矩去请求快递公司的 API。
- 常见坑
- 调 API 通常要密钥(身份凭证)且常常按调用次数收费,新手容易忘看收费规则,被刷爆账单。密钥也绝不能写死在前端或传到公开仓库,会被人盗用。还要做好对方返回错误时的处理。
普通 API 是你主动打电话去问'到货了吗';Webhook 反过来,是货到了对方主动打电话通知你。你提前给对方留个电话号(一个网址),事情一发生,对方就主动推消息过来,你不用一直追问。
- 价值
- 有些事你不知道啥时候发生(用户付款成功了没、订单状态变了没),一直去问既费劲又慢。Webhook 让对方在事情发生的那一刻主动通知你,实时又省力。支付、消息系统全靠它。
- 何时用到
- 接支付时,用户付完款,支付平台通过 Webhook 通知你'这笔到账了',你才好发货/开通服务。接收消息、自动化流程(如某事件触发后干啥)也大量用 Webhook。
- 常见坑
- Webhook 是对方往你这发请求,所以你得有个能公开访问的网址接收(本地电脑收不到,要部署上线或用内网穿透工具)。还有安全坑:得验证消息真是对方发的,否则有人伪造'付款成功'骗你发货。
普通 API 像发短信:问一句答一句,每次都要重新拨号。WebSocket 像打电话一直不挂:连接一旦建立就保持着,双方随时能说话。所以聊天、实时弹幕、在线协作才能即时收到对方的消息。
- 价值
- 需要实时双向交流的场景(聊天室、直播弹幕、多人协作、AI 一个字一个字往外蹦答案),用普通 API 反复请求又慢又费。WebSocket 保持长连接,消息一有就立刻送达,实时性拉满。
- 何时用到
- 做聊天功能、实时通知、协作白板,或想让 AI 回答像打字机一样逐字显示(流式输出),底层常用 WebSocket。vibecoder 用现成的实时服务时多半也是它在背后撑着。
- 常见坑
- WebSocket 比普通 API 复杂:连接会断要会自动重连、用户多了服务器扛连接压力大、调试也更难。新手别一上来就自己�framework,能用现成的实时服务(如某些云服务)就别自己造。
数据库存数据用的是它自己的一套'方言'(SQL 查询语句)。ORM 像个翻译官:你用熟悉的编程语言说'给我这个用户的订单',它自动翻译成数据库的方言去取,再把结果翻译回来,你不用学那套方言。
- 价值
- 直接写数据库查询语句既要学新语法、又容易写出有安全漏洞的代码。ORM 让你用平时写代码的方式操作数据,省心又相对安全,是后端开发常用的省力工具。
- 何时用到
- 项目要存用户、订单、文章这类数据到数据库时,AI 通常会用一个 ORM(如 Prisma、SQLAlchemy)来读写,而不是手写一堆原始 SQL。你看到代码里用对象方法增删改查数据,多半是 ORM。
- 常见坑
- ORM 方便但会'藏'掉底层效率问题:一个看似简单的操作可能偷偷查了数据库几百次,数据量大了就卡。还有复杂查询 ORM 写起来反而别扭。新手知道有这回事即可,卡顿时记得往这方面查。