初来乍到,IT职场⼈,有些⿊话要先了解(IT⾏业常⽤术语缩写)
⽂章⽬录
⽇常⿊话
OKR:Objectives and Key Results,直译为⽬标和关键成果。OKR可以理解为是⼀种⾃下⽽上的管理⽅式,员⼯制定⽬标,然后去执⾏,员⼯的⽬标汇集⽽成就是公司的⽬标
KPI:关键绩效指标。KPI可以理解为是⼀种⾃上⽽下的管理⽅式,公司制定⽬标,由上⾄下为员⼯分配任务,员⼯去执⾏。OKR和KPI 都是⽤来衡量员⼯在公司的表现的⽅法,具体可以点击这个链接查看:
BG:Business Group,事业,包含BD
BD:Business Development, BD指事业部,包含BU
BU:Business Unit,BU指业务线,产品线,它们之间的关系,BG > BD > BU
Code review:代码评审,你在gitlab提交代码以后,并不是你写好代码觉得没问题就⾏,会有相应的负责⼈对你的code进⾏review(审评)
CR:看语境来理解。可以作为Code Review的缩写。也可以作为Change Request 的缩写,意为需求变更,新建⼀个CR就是新建⼀个变更
TL:Team Leader,团队领导
PM:Product Manager,项⽬经理
PD:可以译作Product Director(产品主管)或Project Director(项⽬主管)的意思
PRD:Product Requirement Document,产品需求说明书,⼀般是PD来写的
MRD:Market Requirement Document,市场需求⽂档
Kick Off:kick off 源⾃于⾜球,就是开球,发球的意思。在IT项⽬中,表⽰项⽬启动会议
Deadline:最后期限,完成任务的最终时间
owner:⽐如技术owner,⼩组内的技术leader,⼀个owner管的⼈⼀般不是很多,可能就⼀个组,⼗多⼆⼗⼈
QA:Quality Assurance,测试
PE:Production Engineer,运维⼯程师
DBA:Database Administrator,删库跑路的事件⼤家基本上都听过吧,数据库作为公司的重要数据资产,肯定不能随便让⼈接触,所以数据库⼀般都是有专门的DBA来进⾏管理,使⽤时需要向DBA同事申请权限
ERP:Enterprise Resource Planning Administration的缩写,意为企业资源计划。ERP系统可以看作将企业的各个业务整合到⼀个信息系统上⾯。⽐如很多银⾏之前的业务都是外包给各个软件公司做的,各个业务模块之间的数据并不互通,就需要进⾏集成,打造⼀个ERP系统。
CRM:Customer Relationship Management,客户关系管理,CRM系统主要⽤来管理客户信息,在此基础上才能对客户数据进⾏分析,然后提供个性化的服务。
各种O:CEO,CTO,COO,CIO,CFO。说实话我也不是很熟悉这些职位之间的区别,⾄需要记住的是缩写中的C是chief,⾸席的意思,反正就是你的各种⽼⼤就是了,放尊重点就对了。
⼯作⿊话
UV: Unique Visitor,访问你的⽹站的某个客户端为⼀个访客。0:00-24:00内相同的客户端只被计算⼀次
PV: Page View,具体是指⽹站的页⾯流量或者点击量,页⾯被刷新⼀次就计算⼀次。如果⽹站被刷新或者被点击了了1000次,那么流量统计⼯具显⽰的PV就是1000
GMV:Gross Merchandise Volum,成交总额,在电商中经常听到这个词,指拍下的订单⾦额,包含已付款和未付款的部分DAU:Daily Active User,每⽇活跃的⽤户,即⽇活,这是互联⽹领域通常听到的⼀个词,互联⽹公司关注的不仅仅是收⼊,利润,通常都还会刻意强调⽇活。AU,Active User,还有这个词也需要注意下,通常都是⼀些互联⽹公司才会关注这些点。同
理,MAU,Monthly Active User,⽉度活跃⽤户,即⽉活
DO:Data Object,Java对象,通常与数据库表字段⼀⼀对应
VO:View Object,通常是指返回给页⾯进⾏展⽰的对象
BO:Business Object,业务对象。⼀般⽤在Service层
POJO:Plain Ordinary Java Object,传统意义上的 java 对象,只有属性和⼀些getter/setter⽅法。
DAO:Data Access Object,数据访问对象,就是⼀般所说的DAO层,连接数据库与程序之间的桥梁。访问数据库时,将数据库表中的⼀⾏数据映射到⼀个对象上,返回给程序使⽤,插⼊数据时,将程序中
的⼀个对象解析为数据库中的⼀⾏记录插⼊到数据库中。类似于使⽤MyBatis中的mapper,通常在DAO/Mapper层实现对数据库的CRUD。
DTO:Data Transfer Object,数据传输对象,在不同的层级之间传递某个对象时,可能某个层级只需要该对象的部分属性,如果将该对象整个都进⾏传递,有点浪费,因此可以抽取该对象的部分属性组装成⼀个临时的Object,这就是DTO。
Domain:实体,通常也是⼀个Java类,类中的属性与数据表中的字段通常⼀⼀对应
各种类型的Object太多了,可以看看我总结的这张图,不⼀定⾮常准确,但⼤致应该是这样。现在⼤部分的Web 或者 App 项⽬都采⽤了MVC三层架构,⼤致可以分为如下三层,其中Repository 层负责数据访问,Service 层负责业务逻辑,Controller 层负责暴露接⼝
DDD:Domain Driver Design,领域驱动设计,⼀种设计思想,在微服务领域很⽕
ORM:Object Relational Mapping,对象关系映射,通常都是指⼀些ORM框架,⽐如Hibernate,Mybatis等⾃动或者半⾃动的
ORM:Object Relational Mapping,对象关系映射,通常都是指⼀些ORM框架,⽐如Hibernate,Mybatis等⾃动或者半⾃动的ORM框架
DB:database,数据库
AOP:Aspect Oriented Programming,⾯向切⾯编程
MVC:Model-View-Controller,⼀种架构设计,现在的Web开发基本上都是MVC三层架构
RPC:Remote Procedure Call,远程过程调⽤协议,⼯作中通常会接触很多RPC框架,包括gRPC ,Thrift,Dobbo等等
VPN:Virtual Private Network,⼀提到VPN很多boy就兴奋了,此VPN⾮彼VPN,虽然功能都差不多。绝⼤部分公司都有⾃⼰的VPN来访问公司的内⽹,公司的数据都是珍贵的资源,不能放在互联⽹上,都会放在⾃⼰的专有⽹络中
CRUD:CRUD是指在做计算处理时的增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)⼏个单词的⾸字母简写。CRUD boy 或者 CV boy,你属于哪⼀种呢?
MQ:Message Queue,消息队列,常⽤的消息队列,Active MQ,Rabbit MQ,Rocket MQ,Kafka
RESTful(REST):你的接⼝设计得够不够 RESTful?REST是⼀种软件架构设计风格,英⽂名全称太长,就不⽤关⼼了,需要知道的是REST是⼀种⾯向资源的设计的风格。⽐如,⼏乎每个系统都有登录和注销功能,如果你理解成登录对应于 login()、注销对应于logout() 这样两个独⽴服务,这是“符合⼈类思维”的。如果你理解成登录是 PUT Session,注销是 DELETE Session,这样你只需要设计⼀种 “Session 资源” 即可满⾜需求,甚⾄以后对 Session 的其他需求,如查询登录⽤户的信息,就是 GET Session ⽽已,其他操作如修改⽤户信息等等,都可以被这同⼀套设计囊括在内
CDN:Content Delivery Network,简单来讲,CDN就是⽤来加速访问的,类似于缓存,他能让⽤户就近访问数据,这样就能更快的获取到需要的数据。举个例⼦,现在服务器在北京,深圳的⽤户想要获取服务器上的数据就需要跨越⼀个很远的距离,这显然就⽐北京的⽤户访问北京的服务器速度要慢。但是现在我们在深圳建⽴⼀个cdn服务器,上⾯缓存住⼀些数据,深圳⽤户访问时先访问这个cdn 服务器,如果服务器上有⽤户请求的数据就可以直接返回,这样速度就⼤⼤的提升了
DNS:Domain Name System,简单来说就是通过域名查对应的服务器的IP地址进⾏访问,通常与C
DN结合在⼀起。⽐如要访问某个视频⽹站,为了使得⽤户的播放效果最佳,⼀定是访问⽤户附近的 CDN节点,⽽不是让⽤户去访问主节点,我们怎么知道⽤户的所在位置从⽽给他分配最佳的CDN节点呢,这就需要DNS服务来进⾏定位了
OSS:Object Storage Service,对象存储服务,可以理解为就是⼀个⽹盘,⽤来存储数据,通常将数据存储在OSS后都会得到⼀个URL,通过这个URL就能访问到实际存储的数据
IDE:Integrated Development Enviroment,集成开发环境,⽐如常⽤的开发平台,⽐如IDEA,Pycharm都是IDE
⼀⽅库,⼆⽅库,三⽅库:⼀⽅库,⼜称⼀⽅包 ,指本⼯程中的各模块的相互依赖,是本项⽬中的依赖。⼆⽅库,⼜称⼆⽅包,公司内部的依赖库,⼀般指公司内部的其他项⽬发布的jar包。三⽅库,⼜称三⽅包,公司之外其他组织的开源库,来⾃第三⽅的依赖⽐如apache、google等发布的jar包
QPS,TPS:QPS,Queries Per Second意思是“每秒查询率”,是⼀台服务器每秒能够相应的查询次数,是对⼀个特定的查询服务器在规定时间内所处理流量多少的衡量标准。TPS,Transactions Per Second的缩写,也就是事务数/秒。它是软件测试结果的测量单位。⼀个事务是指⼀个客户机向服务器发送请求然后服务器做出反应的过程。
吞吐率(吞吐量):吞吐率 = 真正的⼯作时间 / 总的⼯作时间,可以理解为吞吐率越⾼,⼯作效率就越⾼,通常是某种效率的衡量指标。⽐如虽然你⼀天24⼩时看起来都在⼯作,但实际上真正全⾝⼼投⼊⼯作的时间才2h,吞吐率就是2/24,另⼀个同学⼀天只⼯作⼋个⼩时,但是有6个⼩时都是在全⾝⼼⼯作,那么吞吐率就是6/8。吞吐量这个词在⽹络中通常会听到,⽐如带宽是100M,但是吞吐只有10M,说明⼤量的带宽被闲置着,造成资源的极⼤浪费。
load:负载,机器CPU load过⾼,你就要注意点了
A/B测试:测试的时候经常会听到这个词,A/B 测试的⽬的是为了进⾏数据分析,因此通常被当作⼤数据平台的⼀个部分。A/B 测试将每⼀次测试当作⼀个实验。通过 A/B 测试系统的配置,将⽤户随机分成两组或者多组,每组⽤户访问不同版本的页⾯或者执⾏不同的处理逻辑,即运⾏实验。通常将原来产品特性当作⼀组,即原始组;新开发的产品特性当作另⼀组,即测试组。Facebook 之前开发出新的⾸页布局版本后,并没有⽴即向所有⽤户发布,⽽是随机选择了向⼤约 1% 的⽤户发布,即这 1% 的⽤户看到的⾸页是新版⾸页,⽽其他⽤户看到的还是原来的⾸页。过⼀段时间后观察两部分⽤户的数据指标,看新版本的数据指标是否好于旧版本
灰度发布(灰度测试):经过 A/B 测试验证过的功能特性,就可以发布到正式的产品版本中,向所有⽤户开放。但发布的时候也不是⼀次就将新版本发布给全部⽤户,⽽是⼀批⼀批逐渐发布给⽤户。在这个
过程中,监控产品的各项数据指标,看是否符合预期,如果数据表现不理想,就停⽌灰度发布,甚⾄进⾏灰度回滚,让所有⽤户都恢复到以前的版本,进⼀步观察分析数据指标
回归测试:回归测试是指修改了旧代码后,重新进⾏测试以确认修改没有引⼊新的错误或导致其他代码产⽣错误
mvc的三层架构
IaaS、PaaS、Saa:IaaS:Infrastructure as a Service(基础设施即服务),PaaS:Platform as a Service(平台即服务),SaaS:Software as a Service(软件即服务)
API,接⼝:Application Programming Interface。接⼝说起来⼤有来头,在Java程序员或者是OOP程序员的眼中,接⼝是Java中的interface,将定义interface与实现implementation分离,这通常都被认为是优秀的程序设计的所应该具有的特性,接⼝可能也只是⼀个URL,现在都主张前后端分离,后端提供数据,前端显⽰数据,前端显⽰的数据来⾃于哪⾥,就是靠后端提供的接⼝,访
问/dashboard/collect,得到⽤户的收藏数据,访问/dashboard/purchase得到⽤户的购买数据

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。