当前位置: 首页 > news >正文

总被程序员坑?你需要了解API接口

编辑导读:程序员是公司里的技术岗,也是产品经理最密切的合作伙伴。但是,程序员能看懂产品经理的工作,产品经理却不一定能明白程序员的工作,因此也常常被无良程序员坑。本文就从API接口的维度,浅析API的概念以及为什么要了解它,避免PM们在实际工作对代码技术类知识一无所知。

产品经理在日常工作中,负责推进项目进度。当他们与程序员对接的时候,询问这个功能几天能做完,程序员给的答案是五天。虽然你预计的时间只有三天,但你无计可施,只能相信他,并如约给了他五天时间,最后却导致项目延期。

你并不知道这个功能的代码究竟有多少,程序员的工作量有多大,他利用你的一无所知有意拖延你的项目进度,最后背锅的还是你。

程序员,是公司里的极致技术类职位,他能看懂我们的工作,我们却很难理解他们。为了PM们在实际工作中不被无良程序员祸害,本文就从API接口的维度,浅析API的概念以及为什么要了解它,避免PM们在实际工作对代码技术类知识一无所知。

一、API的概念

API,官方定义为应用程序编程接口。就是把是一些预先定义的接口,用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。​​测试API接口​

二、为什么要懂API文档

既然API如此复杂,又不属于PM的工作范畴,我们为何需要大费周章的理解它呢,我们的目的是什么。

1. 明确需要的接口服务

API分为很多种,最基础也是产品最需要的诸如短信API,地图API,语音API等,如果我们的产品涉及到此方面的功能,那就必须了解这方面的API以便于在需求设计阶段考虑更全面

2. 掌握项目开发的工作量,合理安排计划

这里说白一点就是防止被程序员欺骗。你走过去,发现程序员正在勤勤恳恳,对不起,人家在做外包,就是欺负你代码看不懂,气不气?但是如果你知道接口的难度和工作量,规定他在多久之内给你,就不会出现拖延项目的情况,也更有利于项目流程的更进

3. 联调测试,识别项目风险点

一些关键接口、数据量大需要进行大数据压测的接口,必须经过联掉测试,测出它的最大访问量,并对其进行优化或者设置限制,防止系统崩溃。

4. 方便项目对接

PM懂一点技术,就不会闹出明明不能做,却还非要程序员做出来的笑话了。从这个角度看,也更有利于PM和程序员之间的团队沟通与和谐,避免矛盾,不至于弄翻友谊的小船。了解API可以使PM对技术理解更深刻,更好地衡量开发工作量和制定功能内容。

三、举例说明API的重要性

优点:

开发人员A开发了软件A,开发人员B正在开发软件B,A想用B的部分成果或功能辅助开发B软件,但不想完整输入A的软件,怎么办?于是A将软件打包成一个函数,放在B软件中,这个函数就是API。

如果没有API,B就必须把A软件的流程整个走一遍,耗费大量的时间精力,但如果是接口接入部分功能,轻松便捷,想用就用,想拔出就拔出。

有一杯密封果汁叫做数据库;果汁上面插着吸管,叫做API。如果你想喝到杯子里的果汁,由于它是密封的,你只能依靠吸管插入,否则你就喝不到果汁。

在这个故事中,你属于某系统,你想获得果汁,就必须通过吸管,也就是接口,API来实现,而且这个API是数据库的唯一API。这样说来,API是一种完善项目功能,提高产品价值的辅助工具。

缺点:

因为API是借助了第三方软件,接入方在使用其他软件包功能的同时相当于为自身插入了一个监控,会有数据泄露给第三方的危险。所以如果是公司的核心功能,最好是使用企业内部的API。

四、总结:万物相通

也许大家都是看了美国的科幻大片,把程序员想象成黑客一般的高智商人物。但现实是,在大多数情况下他们也只是负责修复BUG,真正的源代码不过是网上复制粘贴。所以PM们不要被他的表象所迷惑,了解他们的工作量,在团队中只要给出明确的指令管理项目进度,并且大致了解程序员的工作内容以便于你管理对接就行了。

最后我想说的是,在产品行业,万物都是相通的,PM不用质疑自己的工作或者感到自卑,如果说程序员是科学家,那么PM就相当于哲学家,只不过是负责改造自然环境和人类社会的区别罢了,其思维逻辑都是大同小异,程序员其实就是PM知识的技术流。

相关文章:

总被程序员坑?你需要了解API接口

编辑导读:程序员是公司里的技术岗,也是产品经理最密切的合作伙伴。但是,程序员能看懂产品经理的工作,产品经理却不一定能明白程序员的工作,因此也常常被无良程序员坑。本文就从API接口的维度,浅析API的概念…...

信息系统基本知识(四)新技术

大纲 信息系统与信息化信息系统开发方法常规信息系统集成技术软件工程新一代信息技术信息系统安全技术信息化发展与应用信息系统服务管理信息系统服务规划企业首席信息管及其责任 1.5 新一代技术 1.5.1 物联网 概念:(The Internet of Things&#xf…...

jeesite多环境配置

jeesite多环境配置 参考网址: https://blog.csdn.net/shaoming314/article/details/129115912?spm1001.2014.3001.5501 开源项目地址: https://gitee.com/thinkgem/jeesite Spring Spring MVC mybatis Ehcache shiro mysql jsp (主要技术栈) 项目…...

项目中用到的知识点回顾---JWT(JSON Web Token)

1.JWT原理: JWT 的原理是,服务器认证以后,生成一个 JSON 对象,发回给用户,如下; {"姓名": "张三","角色": "管理员","到期时间": "2018年7月1日…...

string类常用函数

1(substr函数):字符串截取函数,用于获取字符串的子串: //str.substr(begin,length),用于截取str中以begin为下标长度为length的字串 string s“asd”; ss.substr(0,1);//结果为a。 2&#xff08…...

hexo静态网站部署到腾讯云cos

hexo支持很多部署方案,最直接的就是部署在GitHub Pages服务上,国内gitee、coding等代码托管平台也都支持静态网站服务,而且免费。 但是GitHub在国内访问不太稳定,国内的代码托管平台资源和服务也不太稳定,后来想了想&…...

Python高性能编程

一、进程池和线程池 1.串行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import time import requests url_lists [ http://www.baidu.com, http://fanyi.baidu.com, http://map.baidu.com, http://music.baidu.com/, http://tieba.baid…...

MVVM模式下如何正确【视图绑定+数据】

概述 我如何(不在后面的代码中使用代码)自动绑定到我想要的视图?据我了解,如果正确完成,这就是模式应该如何工作。我可以使用主窗口 xaml 中的代码实现这一切,我甚至正确创建了一个资源字典(因…...

外包测试3年,离职后成功入职华为,拿到offer的那天我泪目了....

一提及外包测试,大部分人的第一印象就是:工作强度大,技术含量低,没有归属感!外包工作三年总体感受就是这份工作缺乏归属感,心里总有一种落差,进步空间不大,接触不到核心技术&#xf…...

Qt Study

按钮->点击->窗口->关闭窗口 connect(信号的发送者,发送具体信号,信号的接收者,信号的处理); 信号处理函数称为槽 信号槽的优点,松散耦合,信号发送端和接收端本身是没有关联的,通过connect连接…...

JS混淆技术探究及解密方法分析

随着Web技术的快速发展,JavaScript被广泛应用于网页开发、移动应用开发等领域。然而,JavaScript代码很容易被反编译、解密,这给保护网站和应用程序的安全性带来了严重的挑战。为了解决这个问题,JS混淆技术应运而生。JS混淆就是将J…...

智慧制硅厂 Web SCADA 生产线

我国目前是全球最大的工业硅生产国、消费国和贸易国,且未来该产业的主要增量也将来源于我国。绿色低碳发展已成为全球大趋势和国际社会的共识,随着我国“双碳”目标的推进,光伏产业链快速发展,在光伏装机需求的带动下,…...

案例09-数据类型不一致导致equals判断为false

一:背景介绍 在判断课程id和班级id的时候如果一致就像课程信息进行更新,如果不一致就插入一条新的数据。其实两个变量的值是一致的但是类型是不一致的。这就导致数据库中已经有一条这样的数据了,在判断的时候结果为false,就有插入…...

springsecurity中的类

Authentication AuthenticationProvider 每一个AuthenticationProvider对应一个Authentication 很多个AuthenticationProvider 由一个 ProviderManager管理 ProviderManager implements AuthenticationManager 一个ProviderManager有很多个 AuthenticationProvider Usern…...

k8s配置管理

一、configmap 1.1 configmap概述 Configmap 是 k8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形式保存。 1.2 configmap作用 我们在部署服务的时候,每个服务都有自己的配置…...

技术官方文档中的代码是用什么展示的?代码高亮插件总结

****内容预警****菜鸟教程***大佬绕道我们经常看到各种技术官方文档,有很多代码展示的区域,用于我们复制粘贴代码,比如vue 的官网当我们需要自己实现这么一个网站的时候,我就开始手忙脚乱,这到底是咋实现的&#xff1f…...

2023年中职组网络安全竞赛——综合渗透测试解析

综合渗透测试 题目如下: PS:需求环境可私信博主,求个三连吧! 解析如下: 通过本地PC中的渗透测试平台KALI2020对服务器场景进行渗透攻击,获取到RSYNC服务所开放的端口,将RSYNC服务开放的端口数值进行MD5加密后作为FLAG提交(如MD5加密前:812);...

【全网最细PAT题解】【PAT乙】1044 火星数字(测试点2,测试点4详细解释)

题目链接 1044 火星数字 题目描述 火星人是以 13 进制计数的:地球人的 0 被火星人称为 tret。 地球人数字 1 到 12 的火星文分别为:jan, feb, mar, apr, may, jun, jly, aug, sep, oct, nov, dec。 火星人将进位以后的 12 个高位数字分别称为&#xff1a…...

rsync+xinetd+inotify+sersync

一、介绍 1.1、rsync 对比 scp 相同: 都有拷贝的功能不同: rsync:具有增量复制,每次复制的时候,会扫描对端是否在同路径下有我要发送的一样的文件或者目录,如果,如果存在,则不进行复制。边复制&…...

CSS - 扫盲

文章目录1. 前言2. CSS2.1 css 的引入方式2.2 选择器2.3 CSS 常用属性2.3.1 字体属性2.3.2 文本属性2.3.3 背景属性2.4 圆角矩形2.5 元素的显示模式2.6 盒子模型2.7 弹性布局1. 前言 上文我们简单 将 HTML 过了一遍 , 知道了 HTML 知识表示页面的结构和内容 &#x…...

ChatGPT能完全取代软件开发吗,看看它怎么回答?

最近网上一直疯传,ChatGPT 最可能取代的 10 种工作。具体包括①、技术类工作:程序员、软件工程师、数据分析师②、媒体类工作:广告、内容创作、技术写作、新闻③、法律类工作:法律或律师助理④、市场研究分析师⑤、教师⑥、金融类…...

Vue3学习笔记

一、Ref ref, isRef, shallowRef, triggerRef, customRef ref返回的是es6的一个class类&#xff0c;取值和修改都要加上.valueref 和 shallowRef不能一起写&#xff0c;会引起shallowRef的视图更新ref shallowRef triggerRef <template><div class"home&quo…...

【React】pro-mobile

1.项目介绍 实现react移动端项目 2.目标&#xff1a; 能够应用CRAReactMobxAntd-mobile开发C端项目掌握基于React的C端项目开发流程学会如何应用next优化项目 3.使用技术栈 脚手架&#xff1a;cra dva-cliumi 脚本&#xff1a;ts react版本&#xff1a;react v18 2022年更…...

Substrate 基础教程(Tutorials) -- 授权特定节点

五、授权特定节点 在添加可信节点中&#xff0c;您看到了如何使用一组已知的验证器节点构建一个简单的网络。该教程演示了一个简化版的许可网络&#xff08;permissioned network&#xff09;。在一个被许可的网络中&#xff0c;只有被授权的节点&#xff08;authorized nodes…...

使用qemu-img转换镜像格式

qemu功能强大&#xff0c;详细了解其功能请到官网查看 https://www.qemu.org/docs/master/system/images.html qemu-img能将RAW、qcow2、VMDK、VDI、VHD&#xff08;vpc&#xff09;、VHDX、qcow1或QED格式的镜像转换成VHD格式&#xff0c;也可以实现RAW和VHD格式的互相转换。 …...

Springboot怎么集成Thymeleaf模板引擎?

Thymeleaf介绍Thymeleaf&#xff0c;是一个XML/XHTML/HTML模板引擎&#xff0c;开源的java库&#xff0c;可以用于SpingMVC项目中&#xff0c;用于代替JSP、FreeMarker或者其他的模板引擎&#xff1b;页面与数据分离&#xff0c;提高了开发效率&#xff0c;让代码重用更容易。S…...

LiveGBS国标GB/T28181视频流媒体平台-功能视频集中录制存储云端录像H264|H265|HEVC视频存储

LiveGBS国标GB/T28181视频流媒体平台-视频集中录制存储云端录像H264|H265|HEVC视频存储1、云端录像存储2、手动配置录像2.1、按需录像2.2、一直录像3、录像计划3.1、录像计划入口3.2、新增录像计划3.3、编辑录像计划3.4、关联通道4、查看云端录像4.1、查看录像4.1.1、时间轴模式…...

IntelliJ IDEA如何整合Maven图文教程详解

Maven 1.Maven简述 Maven是一个构建工具,服务与构建.使用Maven配置好项目后,输入简单的命令,如:mvn clean install,Maven会帮我们处理那些繁琐的任务. Maven是跨平台的. Maven最大化的消除了构建的重复. Maven可以帮助我们标准化构建过程.所有的项目都是简单一致的,简化了学习…...

图数据库认证考试 NGCP 错题解析 vol.02:这 10 道题竟无一人全部答对

如果你读过「NebulaGraph 错题解析第一期」&#xff0c;大概知道在错题解析未出来之前&#xff0c;NebulaGraph 专业技能认证 NGCP&#xff08;全称 NebulaGraph Certified Professional&#xff09;的通过率仅有 16.7%。但是&#xff0c;经过上一轮 NebulaGraph 认证考试出题人…...

188888

81. 一个敏捷项目正在进行八次迭代中的第五次迭代。在最后一次迭代计划之后&#xff0c;团队得知市场上出现一个新的竞争对手&#xff0c;有必要更快地加快进程来确保不失去市场份额。 项目经理应该怎么做&#xff1f; A 将竞争对手的功能添加到产品积压待办清单中&#xff0c;…...

wordpress 安装要求/百度经验app下载

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼修改下拉文字的颜色教程(2种方法)补充修改背景透明第1种方法1.反编辑systemUI.apk2.打开res\layout下的tw_status_bar_expanded.xml3.找到android:textColor"color/notification_category_color"(以上这个编码有很多,全部…...

北京市保障性住建设投资中心网站首页/java培训学费多少钱

代码如下:import openpyxl #导入第三方库openpyxl&#xff0c;该库只支持xlsx格式的excel文件wbopenpyxl.load_workbook(r"D:甥敳獲AdministratorDesktop转厂_国内出货_进度报表_202006132151.xlsx") #加载桌面的文件&#xff0c;并赋值给wbprint("工作簿的所…...

wordpress 清理媒体库/网站制作方案

2019独角兽企业重金招聘Python工程师标准>>> Java 垃圾回收调优不同于任何其它性能优化活动。 首先你要确保自己足够了解整个应用的情况以及调优预期的结果&#xff0c;而不是单单满足于应用的某一部分调优。一般情况下&#xff0c;遵循以下过程比较容易&#xff1a…...

自己做的网站如何让别的网可以查看/温州seo优化

没怎么用过这个新特性。事实上也不算新啦&#xff0c;试试吧&#xff0c;如今静态类的继承非常方便了 <?php class A {protected static $def 123456;public static function test() {echo get_class(new static);}public static function test2() {echo static::$def;} }…...

泉州市服务好的网站设计/免费个人推广引流平台

1、NPN、PNP三极管用作开关的基本电路 2、负载位置 为什么不管是NPN还是PNP&#xff0c;电路对应的负载要放到集电极C&#xff0c;而没有放到发射极E呢&#xff1f; 因为三极管的输入回路是从基级B控制发射极E&#xff0c;负载如果放到发射极E&#xff0c;那就会对输入回路造…...

郑州网站建设开拓者/谷歌推广开户多少费用

HTML DOM 访问访问 HTML DOM - 查找 HTML 元素。访问 HTML 元素(节点)访问 HTML 元素等同于访问节点您能够以不同的方式来访问 HTML 元素&#xff1a;通过使用 getElementById() 方法通过使用 getElementsByTagName() 方法通过使用 getElementsByClassName() 方法getElementByI…...