产品经理必须懂得基础技术知识
作为非技术出身的工科女生,刚从大学毕业,入了产品坑,才发现不懂技术根本玩不转啊。
记得3月份刚实习的时候,参加评审会,开发小哥哥说的是什么完全听不懂啊。
比如当时不知道“前端”“后端”是做什么的(现在想想我老大怎么把我招进来的,一脸迷茫)还有“写死”,“接口”“H5”"客户端”“服务端”等等最基础的都是什么意思都不懂,然后不敢问我老大,怕他鄙视我,就只能百度啊,恶啃技术啊,平常也会讨好开发小哥哥(请吃饭),不懂的技术名词私下也会问些他们,就这样一步一步的过来,下面说下我对其他的技术名词的一些理解吧,第一次写文章,还请见谅。
1、cookie,session,token这3个分别是什么?有什么不同?
Cookie在客户端记录信息,Session在服务器端记录信息,就是之前所说的一种临时缓存一些数据,有时间限制的会超时失效,这一对主要针对早些年的网页和电脑软件来讲,现在移动端的话用的是token,客户端和服务端根据一定的规则加密产生一个字符串,双方在请求时候确认是否要返回数据、返回什么数据的一个依据
客户端所有的请求都会带上token过去,服务端会判断这个是否已过期,是否正常请求,安全性考虑的,防止了第三方或者恶意抓包直接用URL偷数据或攻击服务器数据
token一般是“(时间戳+设备标记+自定义规则)-->加密” 得到的一个字符串
附上我在pmcaff看到的一个大神写的这3个的不同啊,觉得很好: 一周产品杂记(9.18-9.22) - PMCAFF产品经理社区
2、缓存是什么?缓存分为几种?
缓存就是第一次请求数据放到存储器中,下次显示该页面先把上次保存的数据显示出来,同时去请求数据,请求完成刷新显示新数据,并将其再缓存起来
缓存分为后台缓存和前端缓存。
后台缓存是指数据库的数据,临时保存在一个位置上,再次同样的请求直接把这个数据返回去,而不需要再次去查询各种表取数据了,减少了查数据库的时间,提升效率。但是并不是所有的历史记录都缓存起来,要有策略,比如一个月之前的数据,并且一个月之前有请求过之后不再请求该数据的时候就会回收,就是把这条记录抹掉,叫作就近多次请求的才会保存,时间太长、使用率不高的优先清除,要不然缓存太多就是去缓存的本质和意义。
前端可以缓存各种信息,比如现在的用户信息,用户打开页面登录过一次,第二次进来就不用重复登录了,就是登录成功后缓存起来的数据。
客户端也大同小异,不过客户端可以缓存更复杂的数据结构,甚至可以做本地的数据库存储,服务端获取的数据先存到客户端本地,页面直接去显示本地数据库的内容,但是做起来复杂一些。客户端处理数据缓存的方式也有很多种,最强大的是本地数据库,可以完全根据业务需要创建各种数据库和表结构,简单的有文件存储什么的(本地存储就是手机的内存啊,相当于电脑的硬盘)
H5页面默认是自带缓存的,看业务需要,进来就请求接口刷新页面的话缓存就没用了
所以微信有时候会占用手机1个多G,越来越大,就是存的东西越来越多,这样打开之前打开过的图片或者视频就会快很多
3、异常情况之-断网
平常做产品设计的时候都需要考虑异常情况,其中一个最平常的异常情况就是断网。
完整的产品包括所有的异常,包括数据请求失败、联网失败等等情况
首先看下某个APP的断网情况写的首页图
如上图,断网情况下,只有上面4个按钮是显示的,这是因为这4个是客户端写死的,其他的都是调的接口或者后台配置。也就是说无网络的时候,页面能看见写死的内容,看不叫调接口的内容,因为没有网,没有办法请求服务器。
不好之处请轻拍,都是平常跟技术沟通,加上自己的理解写出来的,正在一点一点的啃代码中。
欢迎与各位大神勾搭交流,会继续产出。
作者:OGJYA2 / ningmeng053020