中国卫生人才网,谢楠-聚焦欧冠,聚焦C罗、梅西

在上一篇文章中,笔者共享了web前端的相关常识与运用(写给产品司理的技能共享–前端篇),这篇文章巴别塔是对上一篇文章的弥补,首要共享后端、以及前后端交互相关常识及其在产品作业中的运用。

一、简略谈一下API

1. API的品种以及界说

API这个词,我想一切的产品司理都听过无数次。

上一篇共享中,魏延咱们提及了一种用于前后端通讯的API,其效果办法之一是:前端随恳求即将传递的数据打包并发送到服务器,服务器履行相应处理程序,并将程序的输出发回前端。

前端一般运用这种办法从服务器恳求最新数据,由于这些作业触及到前后端合作,因双皮奶做法而在实践作业中还需求产出相应的API文档(甚至于在一些公司是由产品司理去输出API文档),指明随恳求发送的参数、恳求办法,传固特异回的参数等。

除了这种用于前后端通讯的API,我国卫生人才网,谢楠-聚集欧冠,聚集C罗、梅西还有许多其他类型的A我国卫生人才网,谢楠-聚集欧冠,聚集C罗、梅西PI,例如:咱们调用付出宝、微信等第三方运用的API,从而为自己的运用添加付出、共享等功用。

在《headfirst python》这本书中,经过一个详细的比方,愈加透彻的解说了API的由来:

在编程中,经过界说函数,能够削减重复代码;将函数保存在一个脚本文件中,使之转化为模块;将模块放入文我国卫生人才网,谢楠-聚集欧冠,聚集C罗、梅西件夹,一起添加元数据文件,就能够将模块打包预备发布;在web上发布你的文件(也便是API),以供别人下载、装置和运用,其他开发者能够运用API所供给的函数为产品添加功用。

为了让更多人以不同办法愈加灵敏的调用API,咱们在界说函数时能够运用可选参数(也便是为参数供给默认值),经过运用参数操控函数的行为与表现。

2. 在产品作业中的运用

即使不需求写API文档,产品司理关于API及其调用办法也需求有根本的认知,进行考虑并表现在产品规划计划或许PRD中。

以调用QQ共享接口为例进行阐明:咱们需求检查QQ敞开渠道API调用阐明,清晰各种API调用的效果以终究确定要选取的API,以及该API需求自界说哪些参数。

下图是我的PRD的截图,指明晰调用的API、调用效果以及需求自界说的参数值。

二、web开发

1. web运用怎样作业

在上一篇讲前后端通讯的时分,现已开始提及了web运用的作业办法。

这儿再大约陈说一下:

  1. 用户在浏览器履行操作,比方输入URL或许点击一个跳转链接。
  2. 浏览器将用户动作转换为一个web恳求,经过互联网发送到服务器。
  3. 服务器收到恳求并进行处理。在这儿,假如恳求的是静态内容,服务器会找到相应资源并把它作为呼应回来给浏览器;假如恳求的是动态内容(也便是需求运转程序才干输出),鹰嘴豆那么服务器会找到并运转相应服务端程序,并将程序的输出作为呼应发给浏览器。这个生成动态内容的进程称为通用网关接口(CGI),契合这个规范的服务端程序称之为CGI脚本。
  4. 浏览器接收到web呼应,经过改动DOM将之显现在用户的屏幕上。

2. 选用MVC规划web运用民警揭秘怎样抓嫖

MVC即模型-视图-操控器(model-view-controller),这是一种常用的开发办法,有助于将代码分解为易于办理、保护需求浪漫3、扩展的功用模块。

其间:

  • 模型(model):用于封装与运用程序的事务逻辑相关的数据以及对数据的处理办法;
  • 视图(view):代码供给直接与用户交互的界面;
  • 操控器(controller):代码起到组织协调效果,将模型代码和视图代码粘合起来,用于处理呼应,操控运用程序的流程。

在互联网前期,后端做了绝大部份作业,也便是模型、视图、操控器代码都由后端完结。

后端会树立数据模型,经过视图代码对HTML符号进行拼接,经过操控器代码将模型数据填充到页面视图中并打印出来,这些输出作为呼应发回醴陵气候浏览器,浏览器再将页面显现出来。

这种办法的缺陷在于:每次恳求都要回来一个我国卫生人才网,谢楠-聚集欧冠,聚集C罗、梅西新页面,这会下降浏览器的呼应性;别的,许多前端页面存在许多重复代码,可是还要一遍一遍重复生成。

而现在,这一状况现已改动,视图代码和部分操控器代码现已运转在前端,模型和部分操控器代码则运转在后端。

在这种办法下,后端不再需求每次都回来一个完好页面,只需传送数据(一般为JSON格局);前端界说好页面款式,从服务端获取数据并依据事务逻辑填充到页面中。这能够进步页面的呼应速度,而且高效利用了不同页面的重复代码。

举个比方:比方咱们的网站有一个这样的页面,用户输入某一个歌手,咱们的网站就为其展现该歌手的一切歌曲名。那么前后端别离需求编写哪些代码模块呢?

前端需求编写视图(View)相mystic妹妹关代码,供给一个表单页面让用户输入歌手名;前端还需求编写一部分操控器(controller)代码,用于创立恳求,随恳求将用户的输入以键值对的办法(例如 singer:“周杰伦”)发送到服务端,别的还需求编写数据抵达时的处理程序,在服务端数据抵达爱心怎样折时,对歌曲数据进行处理并以必定的结构添加到页面中。

后端需求有一个数据模型(model),该模型以必定的结构存储了许多歌手及其歌曲数据,还界说了获取事务所需数据的办法或许说函数(在这个比方中便是经过歌手的名字,获取该歌手的一切歌曲);后端还需求有一个操控层(cont我国卫生人才网,谢楠-聚集欧冠,聚集C罗、梅西roller),用于处理前端发来的恳求并进行呼应,在这儿就需求获取用户输入的歌手名(同样是运用键获我国卫生人才网,谢楠-聚集欧冠,聚集C罗、梅西取对应的值),调用数据模型及相应函数,并将歌手名传入函数。该函数会获取模型数据并进行处理,终究输出该歌手对应的歌曲列表,作为呼应发回前端。

3. 在产品作业中的运用

经过以上的比方,咱们就能够看出:前后端在软件开发中人物的分工与合作办法,知道了现在前后端的分工准则后,咱们在和前后端的交流中就应该相应有所偏重。

侧重像前端展现页面的结构、款式、交互,指明页面数据来历;侧重向后端展现,哪些数据来历于后端,这些数据的核算规矩(如上文所言,杂乱的数据逻辑运算一般发生在服务端),和现有数据的相关等。

了解前后端的分工不只能够协助咱们更好的推进产品计划落地,还有助于在呈现bug时,愈加快速定位到问题来历与对应开发人员。

在这儿还要着重一下:无论是“模型-视图-操控器”这一开发办法,仍是上述的前后端的分工办法,都不是仅有正确答案,这种区分也不对错黑即白的。咱们要清晰其间的差异,但更要知道其间的联络。

三、关于数据库

1. 简介

前面现已说到了数据在前后端之间的传递,在上一篇讲本地存储的时分也提及了能够运用local storage(本地存储)、session storage(会话存储)将数据存储在浏览器本地。可是,绝大多数用户数据、内容信息是存储在服务端的数据库我国卫生人才网,谢楠-聚集欧冠,聚集C罗、梅西中。

数据库的类型首要有联络型数据库和非联络型数据库。

联络型数据库是一种根据联络模型的数据库,这种联络模型是对实际中实体联络的笼统表达。非联络型数据库,在存储的数据结构上没有那么严厉的束缚和规范,以愈加灵敏的办法界说数据存储。

常用的数据库办理体系(软件)包括:Oracle、MySQL、MongoDB等。

能够这样了解数据库和数据库办理软件的联络,数据库便是一个相似Excel文件的数据文件,里边包括许多的数据表,这些文件会放在web运用的根文件夹下,以便在运转程序时进行拜访;数据库办理体系相似于Excel软件,能够可视化的检查并办理数据库文件。

在这儿咱们仅对联络型数据库进行解说。

2. 怎样与数据库交互

这儿以python编程为例,解说服务端程序与数据库怎样进行交互。python的数据库API供给了一种操作数据库的规范机制,如下图(留意这并不是与数据库进行交互的仅有办法)

以上流程翻译成python代码是这样的:

3. 规划并树立数据库

联络型数据库是由一张张彼此相关的数据表构创圣のアクエリオン成的,对数据库的规划也便是规划数据表的结构和相关。咱们现在来规划一个数据库,并运用python真实树立这个数据库。

现在咱们规划了一个名为runningdata的数据库,里边包括两张数据表,一张表记载每个用户的根本信息(名字和出生日期),另一张negative表记载每个用户的跑步时刻数据。

两张数据表别离如下:

能够看到,这两张表经过用户ID进行相关,这种表的结构和相关应该是具有逻辑含义、实际含义、业前妻不愿复合务导向、支撑扩展的。

上面是雀圣对数据表的规划,那么怎样经过python树立上面的数据表,并进行数据刺进和查询等操作呢?

首要套用3.2中的流程,树立与数据库的衔接、创立数据游标,然后运用create句子创立两个数据表。运用SELECT句子对数据表进行查询并获取成果,运用INSERT句子别离向表添加数据(其间用户ID能够主动生成,咱们使丽江古城欠15亿用第一个表生成的用户ID填充第二个表,使之相关起来),然后提交修正并封闭衔接。

树立后的数据库一般长这个姿态:

4. 将数据库集成到web运用

上面讲MVC(模型-视图-操控器)时咱们说到,模型代码粉红女郎用翻译器在线翻译来存储并供给数据。所以,咱们只需在模型(model)中编写上述代码,让其协助咱们创立数据库,并界说相关的数据处理办法。这样在操控器代码进行噶公呼应时就能够调用该办法,使之回来咱们需求的数据。

5. 在产品作业中的运用

产品司理关于数据库的规划办法、效果办法有必定的了解,有助于评价产品功用的完成对现有数据库的影响,以及新的规划对原有数据的兼容性问题。

另一方面,现在的产品规划往往需求参阅许多的用户行为数据,进行下一步优化。这些用户数据往往存储在数据库中,产品司理有时需求运用SQL句子对数据库进行查询,因而关于数据库的了解也是大有协助的。

写在后边

本文首要解说了三个方面的内容:

  1. 关于API的根本常识
  2. web运用的作业办法、开发办法
  3. 数据库的简介、操作办法、运用办法

经过这些内容简略介绍了服务端的根本常识,以及与产品作业的联络。

我个人对shuppa于服务端技能的学习是经过《Head First Python》这本书,因而写这篇文章,也算是抛砖引玉。后端的内容十分之巨大,我虽诚惶诚恐,仍是斗胆把自己有所感悟的写了下来,欢迎我们与我讨论或许批评指正。

这两篇文章解说了web运用开发所触及的根本常识,期望我们看完之后有所收成,也主张产品司理们去看一下技能相关的书本,甚至于写一个自己的运用,领会一下开发的进程,考虑产品规划与技能完成的联络,考虑产品司理与开发人员的协作办法。

本文由 @lemon 原创发布于人人都是产品司理。未经许可,制止转载

题图来自Unsplash,根据CC0协议

 关键词: