【学习总结】非计算机专业产品需了解的技术思维

产品经理的技术思维≠技术能力。技术思维指的是理解基本技术原理的基础上,判断并解决产品问题,能够做到理解技术基本原理、判断技术实现成本,遇到问题建立技术排查思路

那么,非计算机专业产品如何培养技术思维?简单来说,就是将技术概念转化为具象理解输出,形成思维解析中间件,用自己可以理解的概念代替枯燥的技术概念。比如,『URL』统一资源定位符,就像每一个的指纹一样,具有唯一性;『Token』令牌,访问操作的许可授权,就像家里的钥匙;『XML/JSON』可扩展的结构化数据传输格式,就像写信用不同格式的信纸。

接下来将分为几部分,介绍技术常用概念。

1.程序与功能

2.前端

3.后端

4.数据库


正文:

1.程序与功能

工程师说的写代码,写的是什么?代码是通过一定的程序规则和逻辑结构,让计算机执行的命令。通过包括给代码中的特定标识起名(变量命名)、写出功能逻辑、告诉系统要使用的基础库(组件)、给代码加注释。

1.1写代码其实就是写程序,程序=数据结构+算法。

其中,数据结构定义了数据的类型,如整数int、浮点型float、字符串string等,单一数据项按一定规则形成结构;算法通常包括判断逻辑、选择逻辑和循环逻辑等,通过不同的逻辑结构组合,完整的表达一个具体事务,如登录判断)if else、while等

常见的数据结构如

1)队列:先进先出,顺序执行。常见应用如:消息推送、排队叫车

2)树状结构:唯一根节点,多个末端节点。场景应用如:商品类目、角色权限设计

3)数组:数据按顺序成组,每个数据项都有下标,数据项位置可交换。常见应用如:订单列表、通讯录、商品排序等

4)一键值对:每一个键(key)对应一个值(value),key不能重复。常见应用如:实体对象结构(商品、订单、消息)、参数记录

上述数据结构可嵌套使用,为业务逻辑提供结构化数据管理。

1.2程序是如何组装成功的

方法:程序中的最小执行单元,执行简单的业务逻辑

程序块:多个方法和逻辑处理的集合——程序块,执行相对复杂的业务逻辑

产品功能:多个程序块的组合拼装

1.3技术架构

好的技术架构是稳定、可扩展、易于开发,MVC框架是目前最常用的软件架构方式。具体关系如下图:

Model:模型结构层(数据)

View:视图层(界面元素)

Controller:控制器(逻辑处理)

MVC框架

产品经理通过了解技术架构,在技术上实现组件化架构,避免重复开发(如基础服务组件化)

思维切换

2.前端(客户端)

常用技术包括:

APP(小程序):Android、ios、windows phone;

网页:html5、wap;

桌面软件:windows、Mac os、linux

2.1web技术

Web技术是用来开发网页的前端技术,包括html、JavaScript语言、css样式及一些前端框架。html页面是骨架,css是装饰的衣服。以下是一些基本概念:

html:超文本标记语言,以标签的形式表示网页组成元素,通过浏览器解析成可视化页面。如:超链接<a href="">链接内容</a>;按钮<input id="brn_01";type="submit"value="百度一下"/>

常用html标签:层(div),用来区分网页结构和区分显示网页元素样式的最常用标签之一,可以理解为不同房价的隔断和风格区分。

css:层叠样式表,定义统一样式风格,给html页面元素进行样式渲染。

web技术上,修改网页内容不需要重新发布,重新部署网页代码即可,进行热更新

2.2http协议

http协议格式:http://www.xxx.com

互联网应用最广泛的网络协议,所有www文件都需遵守该标准。设计http的最初目的是提供一种发布和接受html页面的方法。

客户端与服务器之间的通讯,也是基于http进行数据传输

URL的构成:协议头(https://)、域名(www.baidu.com(对应实际的iP地址))、参数名+参数值

2.3http请求及get和post方法

基于http协议发起的网络请求——http请求,可以携带参数进行传递。两种方法:get方法和post方法。

1)get方法:向指定的资源获取数据,参数携带在url中(可见),参数的长度大小有限制,请求过程参数会被记录在浏览器中,安全性不高。应用场景如:查询、翻页等

2)post方法:参数携带在请求体中(json),参数长度大小无限制,请求过程中参数可加密,安全性较高。应用场景如:提交数据等

2.4cookie和session

1)cookie:存储于客户端本地的文本文件,用来记录个人信息和浏览历史。具备有效期且可以手动清除。应用场景:记住密码、浏览记录、广告推荐等

2)session:服务端生成的访问状态,存储于服务端,用来校验用户身份有效性。可以在服务端设置有效期,客户端无法控制。

2.5web静态页和动态页

1)静态页:静态内容的展示,无需调用接口,仅加载渲染一次

2)动态页:通过数据加载展示数据,一般功能页面都属于

3.服务端

如何获取互联网资源:客户端作为接入载体,访问服务端的数据,服务端提供计算逻辑和内容服务,以数据流的方式进行数据传递。

同一台服务器的服务可能有多个,通过『端口』确定唯一的服务

代理服务器——客户端发起数据请求时,先发到代理服务器,然后由代理服务器发送请求给目标服务器。优点在于:逻辑解耦、提升安全性、便于协调资源

CDN服务:内容分发网络,通过大量服务器来为用户提供就近资源访问。特点:需要海量服务器支持,内容路由分发规则,访问就近CDN节点

3.1服务端基础架构

服务端开发技术包括java、PHP、python等,服务端运行在服务器中,服务器的部署有2种方式:自建服务器机房、云服务

3.2接口与api

客户端之间、客户端与服务端之间的通信都通过『接口』实现。

api:应用程序编程接口,是一个通讯协议,约定了数据传输格式和访问地址。

api=url地址+数据参数。url地址:确定所访问的服务器地址和对应的端口及服务;数据参数:以某一种格式来定义和携带数据。

3.3JSON和XML

两种数据存储格式,如下

JSON(常用):

"username":"Ryan",

"password":"123"

XML:

<username>Ryan</username>

<password>123</password>

3.4api和sdk

api:url地址+数据参数;

sdk:软件开发包,是一些列开发工具(api)的结合。不同的平台和技术对应不同的sdk版本,集成sdk时,应用程序通过调用不同的sdk接口来实现多样化的服务

api是一项单独能力,通常一个api对应一个能力接口,如定位API、登录api。sdk则将一系列的api集合封装,以软件包的形式对外提供服务。应用程序调用集成的sdk中的api接口

3.4服务端和客户端的数据交互:请求响应模型

每一次请求都由客户端发起(通过http请求访问对应的api(url)),并携带参数(json/xml),服务端接收并完成业务逻辑和数据处理,将结果返回客户端。

请求——响应模型

3.5生产与测试环境

服务端程序运行在服务器中,可分别配置生产和测试环境,通常通过访问服务器的ID地址不同来划分。

如生产环境:http://192.168.0.1/myserver

测试环境:http://127.0.0.1/myserver

在做新老版本的兼容性测试时,测试环境和生产环境都需要做

4.数据库

4.1数据库:数据库运行在服务器,属于后端的一部分。服务端程序处理业务逻辑,然后调用数据库进行数据操作。

数据库常见分类:关系型数据库(MySQL、sqlserver)、非关系型数据库(mongoDB)

数据库如何工作:被服务端调用(通过SQL语句),进行数据增删改查。数据库运行在服务器,数据存储在服务器硬盘上

数据库表由很多字段组成,字段是实体属性的映射。每一个字段都有对应的字段类型(如整数、日期等)。

数据库字段和字段类型是设计接口的基础,接口里的参数和值对应的就是数据库的字段

数据库各个表之间,通过『主键』相互关联,表结构的关联关系包括1:1、1:n、n:n

数据如何呈现到客户端界面:客户端调用接口发起请求,服务端处理查询数据库(使用SQL语句),数据库返回查询结果到服务端,服务端返回所需数据至客户端

SQL语句:结构化查询语言,嵌入在服务端程序中,对数据库进行操作,常用语句包括增删改查

4.2数据库表索引:基于数据库表某一列或几列建立的目录结构,极大提高检索效率,无需遍历整个表进行查询。但需要耗费一定的物理存储空间单独维护

例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。

5.与工程师的高效沟通

三个原则:

重事实:现状、问题和方案(可行性)

讲逻辑:分支覆盖、遍历完整、冲突性

确定性:工作量、周期、风险预估

瞄准问题,少讨论现象,多关注问题

举例:

现象:登录不上去;

问题:网络故障?后端服务故障?前端处理异常?;

方案:网络排查、前后端分别排查,解决


注意:给工程师提需求,需要材料备齐全(页面原型、功能交互流程图、接口URL及对应参数、视觉稿、素材、标注等),不要迷信文档模板,重在把背景、方案、素材说清楚

如何评估工程师工作量?工程师的工作可能包括以下内容:

pm无需精细化评估,按系统、模块和页面,结合过往经验去评估

尽可能在实现过程中,技术组件化,降低评估工作量难度。在考虑方案的实现过程中,主要涉及:

1.数据结构调整(数据库、接口)

2.页面调整

3.逻辑兼容(新老版本)


最后,技术思维提升途径主要如下:

1.需求评审时,记录rd的问题反复思考

2.阅读数据库设计文档及接口文档,建立认知

3.产品升级和设计调整时,了解其技术细节

                                                                               ——起点学院学习总结

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342