理解技术
前后端、API、数据库、登录、部署、安全,最小的一份技术底子。
前后端、API、数据库、登录、部署、安全,最小的一份技术底子。你不需要会写代码,但需要知道一件事发生在哪一层。分不清层,提的需求就会落空,看到的报错也读不懂。
读完你能回答:
- 「这个改前端就行」和「要动后端」的区别在哪
- 为什么登录状态会莫名其妙掉,token 是个什么东西
- AI 写的代码里,哪几个地方是安全隐患的高发区
前端和后端
一句话分界:能在用户浏览器里改的是前端,必须在你服务器上算的是后端。凡是牵扯钱、权限、别人的数据,一定在后端。所以「这个改前端就行」通常指的是样式和交互,「要动后端」指的是逻辑和规则——听到这两句话,你要能判断改动的大小:改前端当天能上,动后端要评估数据、权限和兼容性。一个更实用的判断:前端是「看起来对不对」,后端是「算起来对不对」,而真正的对错永远在后端。
接口:前后端的约定
前端和后端不直接说话,它们通过接口(API)对话。接口是一份约定:你传给我什么参数,我返回什么数据。产品经理不需要写接口,但需要知道三件事:第一,接口是按你定的「数据形状」工作的,所以你在需求里写「这里要显示用户等级和最近登录时间」,工程师就知道要去加或改一个接口;第二,一次页面加载可能调用好几个接口,哪个慢页面就慢,这就是「性能问题要定位到接口」的含义;第三,接口是权限的关卡,验证「你有没有资格」的判断在这里做,前端按钮藏起来不算数。
登录是怎么回事
登录不是「验证一次就完了」,而是「验证一次,之后每次请求都带着一张凭证」。那个凭证就是 token:一张带签名的通行证,服务器每次收到请求先查证,再决定给不给数据。你莫名其妙掉登录,多半是凭证过期了、被清了,或者换设备了。理解 token 的另一个用处:凡是需要「知道你是谁」的功能,都绕不开这套验证——做个需要登录才能用的产品,你至少要和工程师对齐「凭证存哪、多久过期、忘了怎么办」。
数据库长什么样
就是一张张表。每张表存一类东西:用户表存用户,订单表存订单,表之间靠 id 关联——订单表里有一列是 user_id,指向用户表里的那一行。你画数据模型的时候,画的就是这个:用户、订单、商品,谁和谁什么关系。设计产品时早点和工程师对齐这张图,能省掉后面大量返工——比如「一个用户可以下多个订单」和「一个订单可以包含多个商品」,是两张完全不同的表结构,改起来代价很大。
部署与环境
同一份代码会跑在三个地方:开发环境(你本地)、测试环境(大家试)、生产环境(用户在用)。出问题时先问清楚是哪一个:功能在生产环境是好的、只有测试环境坏了,和在生产环境直接挂了,是两件完全不同的事。上线前还要想灰度:先给一小部分用户,没问题再全量;出了问题能立刻回滚到上一个版本。产品经理要参与的是「上线计划」:什么时候发、发给谁、观察什么指标、挂了怎么办。
六个安全常识
AI 写的代码在这六个地方翻车最多,每次生成完扫一眼。密钥不能写在代码里:API key、数据库密码要放在环境变量,尤其不能出现在前端代码里——那等于公开。权限要在后端判断:前端把按钮藏起来不叫权限控制,接口本身必须校验这个人有没有资格。用户输入一律不可信:拼接 SQL、直接渲染 HTML,都是注入的入口。只返回该给的字段:一个用户接口把手机号、身份证一起返回,是最常见的数据泄露。金额和库存在后端算:凡是前端算完再传给后端的数字,都可以被改。删除要能恢复:先做软删除,真正物理删除单独走一道流程。owasp-top10
