程序员需要知道的缩写和专业名词
使⽤
API
应⽤程序接⼝(英语:Application Programming Interface,简称:API),⼜称为应⽤编程接⼝,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模⽇益庞⼤,常常需要把复杂的系统划分成⼩的组成部分,编程接⼝的设计⼗分重要。程序设计的实践中,编程接⼝的设计⾸先要使软件系统的职责得到合理划分。良好的接⼝设计可以降低系统各部分的相互依赖,提⾼组成单元的内聚性,降低组成单元间的耦合程度,从⽽提⾼系统的维护性和扩展性。
ACID
ACID,是指数据库管理系统(DBMS)在写⼊或更新资料的过程中,为保证事务(transaction)是正确可靠的,所必须具备的四个特性:原⼦性(atomicity,或称不可分割性)、⼀致性(consistency)、隔离性(isolation,⼜称独⽴性)、持久性(durability)。
AJAX
AJAX即“Asynchronous JavaScript and XML”(异步的 JavaScript 与 XML 技术),指的是⼀套综合了多项技术的浏览器端⽹页开发技术。CAS
⽐较并交换(compare and swap, CAS),是原⼦操作的⼀种,可⽤于在多线程编程中实现不被打断的数据交换操作,从⽽避免多线程同时改写某⼀数据时由于执⾏顺序不确定性以及中断的不可预知性产⽣的数据不⼀致问题。该操作通过将内存中的值与指定数据进⾏⽐较,当数值⼀样时将内存中的数据替换为新的值。
集中式认证服务(英语:Central Authentication Service,缩写CAS)是⼀种针对万维⽹的单点登录协议。它的⽬的是允许⼀个⽤户访问多个应⽤程序,⽽只需提供⼀次凭证(如⽤户名和密码)。它还允许web应⽤程序在没有获得⽤户的安全凭据(如密码)的情况下对⽤户进⾏⾝份验证。“CAS”也指实现了该协议的软件包。
JPA
JPA 是 Java Persistence API 的简称,中⽂名 Java 持久层 API,是 JDK 5.0 注解或 XML 描述对象-关系表的映射关系,并将运⾏期的实体对象持久化到数据库中。
JSON
JSON(JavaScript Object Notation)是⼀种轻量级的数据交换语⾔,以⽂字为基础,且易于让⼈阅读。尽管 JSON 是 Javascript 的⼀个⼦集,但JSON是独⽴于语⾔的⽂本格式,并且采⽤了类似于 C语⾔家族的⼀些习惯。
POJO
POJO(Plain Ordinary Java Object)简单的 Java 对象,实际就是普通 Java Beans。使⽤ POJO 名称是为了避免和 EJB 混淆起来,⽽且简称⽐较直接。其中有⼀些属性及其 getter setter ⽅法的类,没有业务逻辑,有时可以作为VO(Value Object) 或 DTO(Data Transform Object)来使⽤。当然,如果你有⼀个简单的运算属性也是可以的,但不允许有业务⽅法,也不能携带有 connection 之类的⽅法。
DSL
领域专⽤语⾔(Domain Specific Language/DSL),其基本思想是「求专不求全」,不像通⽤⽬的语⾔那样⽬标范围涵盖⼀切软件问题,⽽是专门针对某⼀特定问题的计算机语⾔。
GC
在计算机科学中,垃圾回收(英语:Garbage Collection,缩写为GC)是⼀种⾃动的内存管理机制。当⼀个电脑上的动态内存不再需要时,就应该予以释放,以让出内存,这种内存资源管理,称为垃圾回收。
程序员和编程员的区别垃圾回收器可以让程序员减轻许多负担,也减少程序员犯错的机会。垃圾回收最早起源于LISP语⾔。⽬前许多语⾔如 Smalltalk、Java、C# 和 D 语⾔都⽀持垃圾回收器。
DML
数据操纵语⾔(Data Manipulation Language, DML)是 SQL 语⾔中,负责对数据库对象运⾏数据访问⼯作的指令集,以 INSERT、UPDATE、DELETE 三种指令为核⼼,分别代表插⼊、更新与删除,是开发以数据为中⼼的应⽤程序必定会使⽤到的指令,因此有很多开发⼈员都把加上SQL的SELECT语句的四⼤指令以“CRUD”来称呼。
DDL
数据定义语⾔(Data Definition Language,DDL)是 SQL 语⾔集中负责数据结构定义与数据库对象定义的语⾔,由 CREATE、ALTER 与DROP 三个语法所组成,最早是由Codasyl(Conference on Data Systems Languages)数据模型开始,现在被纳⼊ SQL 指令中作为其中
⼀个⼦集。
DI
Dependency Injection,依赖注⼊。在软件⼯程中,依赖注⼊是种实现控制反转⽤于解决依赖性设计模式。⼀个依赖关系指的是可被利⽤的⼀种对象(即服务提供端)。依赖注⼊是将所依赖的传递给将使⽤的从属对象(即客户端)。该服务是将会变成客户端的状态的⼀部分。传递服务给客户端,⽽⾮允许客户端来建⽴或寻服务,是本设计模式的基本要求。
DNS
域名系统(英⽂:Domain Name System)是互联⽹的⼀项服务。它作为将域名和IP地址相互映射的⼀个分布式数据库,能够使⼈更⽅便地访问互联⽹。DNS使⽤TCP和UDP端⼝53。当前,对于每⼀级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
GUI
图形⽤户界⾯(Graphical User Interface)是指采⽤图形⽅式显⽰的计算机操作⽤户界⾯。与早期计算机使⽤的命令⾏界⾯相⽐,图形界⾯对于⽤户来说在视觉上更易于接受。
HTTP
超⽂本传输协议(英⽂:HyperText Transfer ProtocolP)是⼀种⽤于分布式、协作式和超媒体信息系统的应⽤层协议。HTTP是万维⽹的数据通信的基础。
IOC
控制反转(Inversion of Control,缩写为IoC),是⾯向对象编程中的⼀种设计原则,可以⽤来减低计算机代码之间的耦合度。其中最常见的⽅式叫做依赖注⼊(Dependency Injection,简称DI),还有⼀种⽅式叫“依赖查”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由⼀个调控系统内所有对象的外界实体,将其所依赖的对象的引⽤传递给它。也可以说,依赖被注⼊到对象中。
JWT
JSON Web Token(JWT)是⼀个⾮常轻巧的规范。这个规范允许我们使⽤JWT在⽤户和服务器之间传递安全可靠的信息,特别适⽤于分布式站点的单点登录(SSO)场景。
LDAP
轻型⽬录存取协定(英⽂:Lightweight Directory Access Protocol)是⼀个开放的,中⽴的,⼯业标准的应⽤协议,通过IP协议提供访问控制和维护分布式信息的⽬录信息。
MVC
MVC模式(Model–view–controller)是软件⼯程中的⼀种软件架构模式,把软件系统分为三个基本部分:
模型(Model)、视图(View)和控制器(Controller)。MVC 模式的⽬的是实现⼀种动态的程序设计,使后续对程序的修改和扩展简化,并且使程序某⼀部分的重复利⽤成为可能。除此之外,此模式通过对复杂度的简化,使程序结构更加直观。
MVP
Model-view-presenter,简称MVP,是电脑软件设计⼯程中⼀种对针对MVC模式,再审议后所延伸提出的⼀种软件设计模式。被⼴范⽤于便捷⾃动化单元测试和在呈现逻辑中改良分离关注点(separation of concerns)。
MVVM
MVVM(Model–view–viewmodel)是⼀种软件架构模式,有助于将图形⽤户界⾯的开发与业务逻辑或后端逻辑(数据模型)的开发分离开来,这是通过置标语⾔或 GUI 代码实现的。
OLAP
联机分析处理(英语:On-Line Analytical Processing),是⼀套以多维度⽅式分析数据,⽽能弹性地提供积存(英语:Roll-up)、下钻(英语:Drill-down)、和透视分析(英语:pivot)等操作,呈现集成性决策信息的⽅法,多⽤于决策⽀持系统、商务智能或数据仓库。其主要的功能,在于⽅便⼤规模数据
分析及统计计算,对决策提供参考和⽀持。与之相区别的是联机交易处理(OLTP)。
SQL
SQL(结构化查询语⾔)是⼀种特定⽬的程序语⾔,⽤于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进⾏流处理。
SPA
单页 Web 应⽤(single page web application),就是只有⼀张 Web 页⾯的应⽤,是加载单个 HTML 页⾯并在⽤户与应⽤程序交互时动态
更新该页⾯的 Web 应⽤程序。
SOA
⾯向服务的体系结构(英语:service-oriented architecture)并不特指⼀种技术,⽽是⼀种分散式运算的软件设计⽅法。软件的部分组件(呼叫者),可以透过⽹络上的通⽤协定呼叫另⼀个应⽤软件元件执⾏、运作,让呼叫者获得服务。SOA原则上采⽤开放标准、与软件资源进⾏交互并采⽤表⽰的标准⽅式。因此应能跨越⼚商、产品与技术。⼀项服务应视为⼀个独⽴的功能单元,可以远端存取并独⽴执⾏与更新,例如在线上线查询信⽤卡账单。
SOAP
SOAP(原为Simple Object Access Protocol的⾸字母缩写,即简单对象访问协议)是交换数据的⼀种协议规范,使⽤在计算机⽹络Web服务(web service)中,交换带结构信息。SOAP为了简化⽹页服务器(Web Server)从XML数据库中提取数据时,节省去格式化页⾯时间,以及不同应⽤程序之间按照HTTP通信协议,遵从XML格式执⾏资料互换,使其抽象于语⾔实现、平台和硬件。
NoSQL
NoSQL 是对不同于传统的关系数据库的数据库管理系统的统称。
XML
可扩展标记语⾔(英语:eXtensible Markup Language,简称:XML),是⼀种标记语⾔。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的⽂章等。如何定义这些标记,既可以选择国际通⽤的标记语⾔,⽐如HTML,也可以使⽤像XML这样由相关⼈⼠⾃由决定的标记语⾔,这就是语⾔的可扩展性。XML是从标准通⽤标记语⾔(SGML)中简化修改出来的。它主要⽤到的有可扩展标记语⾔、可扩展样式语⾔(XSL)、XBRL和XPath等。
专业名词
前端后端
前端(英语:front-end)和后端(英语:back-end)是描述进程开始和结束的通⽤词汇。前端作⽤于采集输⼊信息,后端进⾏处理。计算机程序的界⾯样式,视觉呈现属于前端。
乐观锁
在关系数据库管理系统⾥,乐观并发控制(⼜名“乐观锁”,Optimistic Concurrency Control,缩写“OCC”)是⼀种并发控制的⽅法。它假设多⽤户并发的事务在处理时不会彼此互相影响,各事务能够在不产⽣锁的情况下处理各⾃影响的那部分数据。在提交数据更新之前,每个事务会先检查在该事务读取数据后,有没有其他事务⼜修改了该数据。如果其他事务有更新的话,正在提交的事务会进⾏回滚。
悲观锁
在关系数据库管理系统⾥,悲观并发控制(⼜名“悲观锁”,Pessimistic Concurrency Control,缩写“PCC”)是⼀种并发控制的⽅法。它可以阻⽌⼀个事务以影响其他⽤户的⽅式来修改数据。如果⼀个事务执⾏的操作读某⾏数据应⽤了锁,那只有当这个事务把锁释放,其他事务才能够执⾏与该锁冲突的操作。
⾃旋锁
⾃旋锁是计算机科学⽤于多线程同步的⼀种锁,线程反复检查锁变量是否可⽤。由于线程在这⼀过程中保持执⾏,因此是⼀种忙等待。⼀旦获取了⾃旋锁,线程会⼀直保持该锁,直⾄显式释放⾃旋锁。
递归
递归(英语:Recursion),⼜译为递回,在数学与计算机科学中,是指在函数的定义中使⽤函数⾃⾝的⽅法。递归⼀词还较常⽤于描述以⾃相似⽅法重复事物的过程。例如,当两⾯镜⼦相互之间近似平⾏时,镜中嵌套的图像是以⽆限递归的形式出现的。也可以理解为⾃我复制的过程。
主键
主键,⼜称主码(英语:primary key或unique key)。数据库表中对储存数据对象予以唯⼀和完整标识的数据列或属性的组合。⼀个数据列只能有⼀个主键,且主键的取值不能缺失,即不能为空值(Null)。
外键
外键(英语:foreign key,台湾译外来键,⼜称外部键)。其实在关系数据库中,每个数据表都是由关系来连系彼此的关系,⽗数据表(Parent Entity)的主键(primary key)会放在另⼀个数据表,当做属性以创建彼此的关系,⽽这个属性就是外键。
B/S结构
浏览器-服务器(Browser/Server)结构,与C/S结构不同,其客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web服务器与数据库进⾏交互,可以⽅便的在不同平台下⼯作;服务器端可采⽤⾼性能计算机,并安装Oracle、Sybase、Informix等⼤型数据库。B/S结构简化了客户端的⼯作,它是随着Internet技术兴起⽽产⽣的,对C/S技术的改进,但该结构下服务器端的⼯作较重,对服务器的性能要求更⾼。
C/S结构
主从式架构 (英语:Client–server model) 也称客户端-服务器(Client/Server)架构、C/S架构,是⼀种⽹络架构,它把客户端 (Client) (通常是⼀个采⽤图形⽤户界⾯的程序)与服务器 (Server) 区分开来。每⼀个客户端软件的实例都可以向⼀个服务器或应⽤程序服务器发出请求。有很多不同类型的服务器,例如⽂件服务器、游戏服务器等。
Web服务
根据W3C的定义,Web服务(Web service)应当是⼀个软件系统,⽤以⽀持⽹络间不同机器的互动操作。⽹络服务通常是许多应⽤程序接⼝(API)所组成的,它们透过⽹络,例如国际互联⽹(Internet)的远程服务器端,执⾏客户所提交服务的请求。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论