程序员必备的专业术语值得一看。.由于近年来软件规模越来越大,往往需要将复杂的系统分解成小的组件,因此编程接口的设计就显得非常重要。在编程实践中,编程接口的设计首先要使软件系统的职责合理划分。良好的接口设计可以减少系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元之间的耦合度,从而提高系统的可维护性和可扩展性。ACIDACID是指数据库管理系统(DBMS)在写入或更新数据的过程中,为保证事务正确可靠所必须具备的四个特性:原子性(atomicity,或称不可分割性)、一致性(consistency)、隔离性(隔离,也称为独立),持久性(耐久性)。AJAXAJAX全称是“AsynchronousJavaScriptandXML”(异步JavaScript和XML技术),是指集合多种技术于一体的一套浏览器端网页开发技术。CAScompareandswap(CAS),是一种原子操作,可用于在多线程编程中实现不间断的数据交换操作,避免多个线程同时重写某个数据时执行顺序不同带来的问题同一时间。中断的确定性和不可预测性导致的数据不一致问题。该操作将内存中的值与指定数据进行比较,当值相同时,将内存中的数据替换为新值。中央认证服务(英文:CentralAuthenticationService,简称CAS)是万维网的单点登录协议。其目的是允许单个用户访问多个应用程序,同时仅提供一次凭据(例如用户名和密码)。它还允许Web应用程序在不获取用户安全凭证(例如密码)的情况下对用户进行身份验证。“CAS”也指实现协议的软件包。JPAJPA是JavaPersistenceAPI的缩写。中文名称是JavaPersistenceLayerAPI。它是JDK5.0注解或XML描述对象-关系表映射关系,将运行时实体对象持久化到数据库中。JSONJSON(JavaScriptObjectNotation)是一种基于文本且易于阅读的轻量级数据交换语言。尽管JSON是Javascript的一个子集,但JSON是一种独立于语言的文本格式,并采用了一些类似于C语言家族的习语。POJOPOJO(PlainOrdinaryJavaObject)是一个简单的Java对象,实际上是一个普通的JavaBeans。POJO这个名字是为了避免和EJB混淆,缩写更直白。有些类具有一些属性及其gettersetter方法,没有业务逻辑,有时可以用作VO(ValueObject)或DTO(DataTransformObject)。当然如果你有一个简单的操作属性也是可以的,但是业务方法是不允许的,connection之类的方法是不能带的。DSL领域特定语言(DomainSpecificLanguage/DSL),其基本思想是“求专而不求全”,不同于通用语言,其目标范围涵盖所有软件问题,而是一种针对特定问题的计算机语言。GC在计算机科学中,垃圾回收(英文:GarbageCollection,缩写为GC)是一种自动的内存管理机制。当不再需要计算机上的动态内存时,应释放它以为内存腾出空间。这种内存资源管理称为垃圾回收。垃圾收集器可以减轻程序员的很多负担,减少程序员犯错的机会。垃圾回收起源于LISP语言。目前Smalltalk、Java、C#、D等多种语言都支持垃圾收集器。DML数据操纵语言(DataManipulationLanguage,DML)是SQL语言中的一种指令集,负责对数据库对象进行数据访问。它以INSERT、UPDATE、DELETE为核心,分别代表插入、更新、删除。以数据为中心的应用肯定会用到指令,所以很多开发者把添加SQLSELECT语句的四大指令称为“CRUD”。DDL数据定义语言(DataDefinitionLanguage,DDL)是SQL语言中负责定义数据结构和数据库对象定义的语言。它由三个语法组成:CREATE、ALTER和DROP。模型开始,现在作为它们的子集包含在SQL指令中。DIDependencyInjection,依赖注入。在软件工程中,依赖注入是一种实现控制反转以解决依赖关系的设计模式。依赖关系是指可以被利用的对象(即服务提供者)。依赖注入是将依赖传递给将要使用的依赖对象(即客户端)。该服务是将成为客户端的状态的一部分。向客户提供服务,而不是让客户创建或查找服务,是这种设计模式的基本要求。DNS域名系统(英文:DomainNameSystem)是互联网的一项服务。作为一个将域名和IP地址相互映射的分布式数据库,可以让人们更方便地访问互联网。DNS使用TCP和UDP的53端口,目前每级域名的长度限制为63个字符,域名总长度不能超过253个字符。GUI图形用户界面(GraphicalUserInterface)是指以图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面在视觉上更容易为用户所接受。HTTP超文本传输??协议(英文:HyperTextTransferProtocolP)是一种用于分布式、协作和超媒体信息系统的应用层协议。HTTP是万维网数据通信的基础。IOC控制反转(InversionofControl,简称IoC)是面向对象程序设计中的一个设计原则,可以用来降低计算机代码之间的耦合度。最常见的一种方式叫做依赖注入(DependencyInjection,简称DI),还有一种方式叫做“DependencyLookup”。通过控制反转,当一个对象被创建时,它所依赖的对象的引用由一个外部实体传递给它,这个外部实体调节系统中的所有对象。也可以说依赖注入到对象中。JWTJSONWebToken(JWT)是一个非常轻量级的规范。该规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息,尤其适用于分布式站点上的单点登录(SSO)场景。LDAP轻型目录访问协议(英文:LightweightDirectoryAccessProtocol)是一种开放的、中立的、行业标准的应用协议,通过IP协议为分布式信息提供访问控制和维护目录信息。MVCMVC模式(Model-view-controller)是软件工程中的一种软件架构模式,它将软件系统分为模型(Model)、视图(View)和控制器(Controller)三个基本部分。MVC模式的目的是为了实现动态的程序设计,简化程序后续的修改和扩展,使程序的某一部分可以重用。此外,这种模式通过简化复杂性使程序结构更加直观。MVPModel-view-presenter,简称MVP,是计算机软件设计工程中对MVC模式进行再思考后扩展提出的一种软件设计模式。广泛用于促进自动化单元测试和改进表示逻辑中的关注点分离。MVVMMVVM(Model–view–viewmodel)是一种软件架构模式,有助于将图形用户界面的开发与业务逻辑或后端逻辑(数据模型)的开发分开,它是通过标记语言或GUI代码实现的.OLAP在线分析处理(英语:On-LineAnalyticalProcessing),是一套多维度的数据分析方式,可以灵活提供累加(英语:Roll-up)、向下钻取(英语:Drill-down)),以及透视分析(英语:pivot)等操作,一种呈现综合决策信息的方法,多用于决策支持系统、商业智能或数据仓库。其主要功能是便于进行大规模数据分析和统计计算,为决策提供参考和支持。不同之处在于联机事务处理(OLTP)。SQLSQL(结构化查询语言)是一种用于管理关系数据库管理系统(RDBMS)或关系流数据管理系统(RDSMS)中的流处理的专用编程语言。SPA单页网络应用程序(singlepagewebapplication)是只有一个网页的应用程序,它是一种加载单个HTML页面并在用户与应用程序交互时动态更新页面的网络应用程序。SOA面向服务的架构(英文:service-orientedarchitecture)并不是特指一种技术,而是一种针对分布式计算的软件设计方法。软件的某些组件(调用者)可以通过网络上的通用协议调用另一个应用软件组件执行和操作,从而使调用者获得服务。原则上,SOA采用开放标准,与软件资源交互,采用标准的表示方式。因此,它应该能够跨越供应商、产品和技术。一个服务应该被看作是一个独立的功能单元,可以被远程访问并独立执行和更新,比如在线查询信用卡账单。SOAPSOAP(以前是SimpleObjectAccessProtocol,简单对象访问协议的缩写)是一种用于交换数据的协议规范。它用于计算机网络网络服务(webservices)中交换结构化信息。为了简化网络服务器(WebServer)从XML数据库中提取数据,节省格式化页面的时间,按照HTTP通信协议和XML格式进行不同应用程序之间的数据交换,使其在语言上抽象化实施、平台和硬件。NoSQLNoSQL是区别于传统关系型数据库的数据库管理系统的总称。XML可扩展标记语言(英语:eXtensibleMarkupLanguage,简称:XML),是一种标记语言。标签是指计算机可以理解的信息符号。通过这种标签,计算机可以处理包含各种信息的文章。如何定义这些标签,可以选择国际通用的标记语言,如HTML,也可以使用XML等标记语言,由相关人员自由决定。这就是语言的可扩展性。XML是标准通用标记语言(SGML)的简化修改版。它主要使用可扩展标记语言、可扩展样式语言(XSL)、XBRL和XPath。
