盤(pán)點(diǎn)程序員必備的專業(yè)術(shù)語(yǔ),值得看一看
英文縮寫(xiě)
API
應(yīng)用程序接口(英語(yǔ):Application Programming Interface,簡(jiǎn)稱:API),又稱為應(yīng)用編程接口,就是軟件系統(tǒng)不同組成部分銜接的約定。由于近年來(lái)軟件的規(guī)模日益龐大,常常需要把復(fù)雜的系統(tǒng)劃分成小的組成部分,編程接口的設(shè)計(jì)十分重要。
程序設(shè)計(jì)的實(shí)踐中,編程接口的設(shè)計(jì)首先要使軟件系統(tǒng)的職責(zé)得到合理劃分。良好的接口設(shè)計(jì)可以降低系統(tǒng)各部分的相互依賴,提高組成單元的內(nèi)聚性,降低組成單元間的耦合程度,從而提高系統(tǒng)的維護(hù)性和擴(kuò)展性。
ACID
ACID,是指數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)在寫(xiě)入或更新資料的過(guò)程中,為保證事務(wù)(transaction)是正確可靠的,所必須具備的四個(gè)特性:原子性(atomicity,或稱不可分割性)、一致性(consistency)、隔離性(isolation,又稱獨(dú)立性)、持久性(durability)。
AJAX
AJAX即“Asynchronous JavaScript and XML”(異步的 JavaScript 與 XML 技術(shù)),指的是一套綜合了多項(xiàng)技術(shù)的瀏覽器端網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。
CAS
比較并交換(compare and swap, CAS),是原子操作的一種,可用于在多線程編程中實(shí)現(xiàn)不被打斷的數(shù)據(jù)交換操作,從而避免多線程同時(shí)改寫(xiě)某一數(shù)據(jù)時(shí)由于執(zhí)行順序不確定性以及中斷的不可預(yù)知性產(chǎn)生的數(shù)據(jù)不一致問(wèn)題。該操作通過(guò)將內(nèi)存中的值與指定數(shù)據(jù)進(jìn)行比較,當(dāng)數(shù)值一樣時(shí)將內(nèi)存中的數(shù)據(jù)替換為新的值。
集中式認(rèn)證服務(wù)(英語(yǔ):Central Authentication Service,縮寫(xiě)CAS)是一種針對(duì)萬(wàn)維網(wǎng)的單點(diǎn)登錄協(xié)議。它的目的是允許一個(gè)用戶訪問(wèn)多個(gè)應(yīng)用程序,而只需提供一次憑證(如用戶名和密碼)。它還允許web應(yīng)用程序在沒(méi)有獲得用戶的安全憑據(jù)(如密碼)的情況下對(duì)用戶進(jìn)行身份驗(yàn)證。“CAS”也指實(shí)現(xiàn)了該協(xié)議的軟件包。
JPA
JPA 是 Java Persistence API 的簡(jiǎn)稱,中文名 Java 持久層 API,是 JDK 5.0 注解或 XML 描述對(duì)象-關(guān)系表的映射關(guān)系,并將運(yùn)行期的實(shí)體對(duì)象持久化到數(shù)據(jù)庫(kù)中。
JSON
JSON(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換語(yǔ)言,以文字為基礎(chǔ),且易于讓人閱讀。盡管 JSON 是 Javascript 的一個(gè)子集,但JSON是獨(dú)立于語(yǔ)言的文本格式,并且采用了類似于 C語(yǔ)言 家族的一些習(xí)慣。
POJO
POJO(Plain Ordinary Java Object)簡(jiǎn)單的 Java 對(duì)象,實(shí)際就是普通 Java Beans。使用 POJO 名稱是為了避免和 EJB 混淆起來(lái),而且簡(jiǎn)稱比較直接。其中有一些屬性及其 getter setter 方法的類,沒(méi)有業(yè)務(wù)邏輯,有時(shí)可以作為VO(Value Object) 或 DTO(Data Transform Object) 來(lái)使用。
當(dāng)然,如果你有一個(gè)簡(jiǎn)單的運(yùn)算屬性也是可以的,但不允許有業(yè)務(wù)方法,也不能攜帶有 connection 之類的方法。
DSL
領(lǐng)域?qū)S谜Z(yǔ)言(Domain Specific Language/DSL),其基本思想是「求專不求全」,不像通用目的語(yǔ)言那樣目標(biāo)范圍涵蓋一切軟件問(wèn)題,而是專門(mén)針對(duì)某一特定問(wèn)題的計(jì)算機(jī)語(yǔ)言。
GC
在計(jì)算機(jī)科學(xué)中,垃圾回收(英語(yǔ):Garbage Collection,縮寫(xiě)為GC)是一種自動(dòng)的內(nèi)存管理機(jī)制。當(dāng)一個(gè)電腦上的動(dòng)態(tài)內(nèi)存不再需要時(shí),就應(yīng)該予以釋放,以讓出內(nèi)存,這種內(nèi)存資源管理,稱為垃圾回收。
垃圾回收器可以讓程序員減輕許多負(fù)擔(dān),也減少程序員犯錯(cuò)的機(jī)會(huì)。垃圾回收最早起源于LISP語(yǔ)言。目前許多語(yǔ)言如 Smalltalk、Java、C# 和 D 語(yǔ)言都支持垃圾回收器。
DML
數(shù)據(jù)操縱語(yǔ)言(Data Manipulation Language, DML)是 SQL 語(yǔ)言中,負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)對(duì)象運(yùn)行數(shù)據(jù)訪問(wèn)工作的指令集,以 INSERT、UPDATE、DELETE 三種指令為核心,分別代表插入、更新與刪除,是開(kāi)發(fā)以數(shù)據(jù)為中心的應(yīng)用程序必定會(huì)使用到的指令,因此有很多開(kāi)發(fā)人員都把加上SQL的SELECT語(yǔ)句的四大指令以“CRUD”來(lái)稱呼。
DDL
數(shù)據(jù)定義語(yǔ)言(Data Definition Language,DDL)是 SQL 語(yǔ)言集中負(fù)責(zé)數(shù)據(jù)結(jié)構(gòu)定義與數(shù)據(jù)庫(kù)對(duì)象定義的語(yǔ)言,由 CREATE、ALTER 與 DROP 三個(gè)語(yǔ)法所組成,最早是由Codasyl(Conference on Data Systems Languages)數(shù)據(jù)模型開(kāi)始,現(xiàn)在被納入 SQL 指令中作為其中一個(gè)子集。
DI
Dependency Injection,依賴注入。在軟件工程中,依賴注入是種實(shí)現(xiàn)控制反轉(zhuǎn)用于解決依賴性設(shè)計(jì)模式。一個(gè)依賴關(guān)系指的是可被利用的一種對(duì)象(即服務(wù)提供端) 。
依賴注入是將所依賴的傳遞給將使用的從屬對(duì)象(即客戶端)。該服務(wù)是將會(huì)變成客戶端的狀態(tài)的一部分。傳遞服務(wù)給客戶端,而非允許客戶端來(lái)建立或?qū)ふ曳?wù),是本設(shè)計(jì)模式的基本要求。
DNS
域名系統(tǒng)(英文:Domain Name System)是互聯(lián)網(wǎng)的一項(xiàng)服務(wù)。它作為將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使人更方便地訪問(wèn)互聯(lián)網(wǎng)。DNS使用TCP和UDP端口53。當(dāng)前,對(duì)于每一級(jí)域名長(zhǎng)度的限制是63個(gè)字符,域名總長(zhǎng)度則不能超過(guò)253個(gè)字符。
GUI
圖形用戶界面(Graphical User Interface)是指采用圖形方式顯示的計(jì)算機(jī)操作用戶界面。與早期計(jì)算機(jī)使用的命令行界面相比,圖形界面對(duì)于用戶來(lái)說(shuō)在視覺(jué)上更易于接受。
HTTP
超文本傳輸協(xié)議(英文:HyperText Transfer ProtocolP)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。HTTP是萬(wàn)維網(wǎng)的數(shù)據(jù)通信的基礎(chǔ)。
IOC
控制反轉(zhuǎn)(Inversion of Control,縮寫(xiě)為IoC),是面向?qū)ο缶幊讨械囊环N設(shè)計(jì)原則,可以用來(lái)減低計(jì)算機(jī)代碼之間的耦合度。其中最常見(jiàn)的方式叫做依賴注入(Dependency Injection,簡(jiǎn)稱DI),還有一種方式叫“依賴查找”(Dependency Lookup)。
通過(guò)控制反轉(zhuǎn),對(duì)象在被創(chuàng)建的時(shí)候,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對(duì)象的外界實(shí)體,將其所依賴的對(duì)象的引用傳遞給它。也可以說(shuō),依賴被注入到對(duì)象中。
JWT
JSON Web Token(JWT)是一個(gè)非常輕巧的規(guī)范。這個(gè)規(guī)范允許我們使用JWT在用戶和服務(wù)器之間傳遞安全可靠的信息,特別適用于分布式站點(diǎn)的單點(diǎn)登錄(SSO)場(chǎng)景。
LDAP
輕型目錄存取協(xié)定(英文:Lightweight Directory Access Protocol)是一個(gè)開(kāi)放的,中立的,工業(yè)標(biāo)準(zhǔn)的應(yīng)用協(xié)議,通過(guò)IP協(xié)議提供訪問(wèn)控制和維護(hù)分布式信息的目錄信息。
MVC
MVC模式(Model–view–controller)是軟件工程中的一種軟件架構(gòu)模式,把軟件系統(tǒng)分為三個(gè)基本部分:模型(Model)、視圖(View)和控制器(Controller)。
MVC 模式的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),使后續(xù)對(duì)程序的修改和擴(kuò)展簡(jiǎn)化,并且使程序某一部分的重復(fù)利用成為可能。除此之外,此模式通過(guò)對(duì)復(fù)雜度的簡(jiǎn)化,使程序結(jié)構(gòu)更加直觀。
MVP
Model-view-presenter,簡(jiǎn)稱MVP,是電腦軟件設(shè)計(jì)工程中一種對(duì)針對(duì)MVC模式,再審議后所延伸提出的一種軟件設(shè)計(jì)模式。被廣范用于便捷自動(dòng)化單元測(cè)試和在呈現(xiàn)邏輯中改良分離關(guān)注點(diǎn)(separation of concerns)。
MVVM
MVVM(Model–view–viewmodel)是一種軟件架構(gòu)模式,有助于將圖形用戶界面的開(kāi)發(fā)與業(yè)務(wù)邏輯或后端邏輯(數(shù)據(jù)模型)的開(kāi)發(fā)分離開(kāi)來(lái),這是通過(guò)置標(biāo)語(yǔ)言或 GUI 代碼實(shí)現(xiàn)的。
OLAP
聯(lián)機(jī)分析處理(英語(yǔ):On-Line Analytical Processing),是一套以多維度方式分析數(shù)據(jù),而能彈性地提供積存(英語(yǔ):Roll-up)、下鉆(英語(yǔ):Drill-down)、和透視分析(英語(yǔ):pivot)等操作,呈現(xiàn)集成性決策信息的方法,多用于決策支持系統(tǒng)、商務(wù)智能或數(shù)據(jù)倉(cāng)庫(kù)。其主要的功能,在于方便大規(guī)模數(shù)據(jù)分析及統(tǒng)計(jì)計(jì)算,對(duì)決策提供參考和支持。與之相區(qū)別的是聯(lián)機(jī)交易處理(OLTP)。
SQL
SQL(結(jié)構(gòu)化查詢語(yǔ)言)是一種特定目的程序語(yǔ)言,用于管理關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),或在關(guān)系流數(shù)據(jù)管理系統(tǒng)(RDSMS)中進(jìn)行流處理。
SPA
單頁(yè) Web 應(yīng)用(single page web application),就是只有一張 Web 頁(yè)面的應(yīng)用,是加載單個(gè) HTML 頁(yè)面并在用戶與應(yīng)用程序交互時(shí)動(dòng)態(tài)更新該頁(yè)面的 Web 應(yīng)用程序。
SOA
面向服務(wù)的體系結(jié)構(gòu)(英語(yǔ):service-oriented architecture)并不特指一種技術(shù),而是一種分散式運(yùn)算的軟件設(shè)計(jì)方法。軟件的部分組件(呼叫者),可以透過(guò)網(wǎng)絡(luò)上的通用協(xié)定呼叫另一個(gè)應(yīng)用軟件元件執(zhí)行、運(yùn)作,讓呼叫者獲得服務(wù)。
SOA原則上采用開(kāi)放標(biāo)準(zhǔn)、與軟件資源進(jìn)行交互并采用表示的標(biāo)準(zhǔn)方式。因此應(yīng)能跨越廠商、產(chǎn)品與技術(shù)。一項(xiàng)服務(wù)應(yīng)視為一個(gè)獨(dú)立的功能單元,可以遠(yuǎn)端存取并獨(dú)立執(zhí)行與更新,例如在線上線查詢信用卡賬單。
SOAP
SOAP(原為Simple Object Access Protocol的首字母縮寫(xiě),即簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)是交換數(shù)據(jù)的一種協(xié)議規(guī)范,使用在計(jì)算機(jī)網(wǎng)絡(luò)Web服務(wù)(web service)中,交換帶結(jié)構(gòu)信息。
SOAP為了簡(jiǎn)化網(wǎng)頁(yè)服務(wù)器(Web Server)從XML數(shù)據(jù)庫(kù)中提取數(shù)據(jù)時(shí),節(jié)省去格式化頁(yè)面時(shí)間,以及不同應(yīng)用程序之間按照HTTP通信協(xié)議,遵從XML格式執(zhí)行資料互換,使其抽象于語(yǔ)言實(shí)現(xiàn)、平臺(tái)和硬件。
NoSQL
NoSQL 是對(duì)不同于傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)的統(tǒng)稱。
XML
可擴(kuò)展標(biāo)記語(yǔ)言(英語(yǔ):eXtensible Markup Language,簡(jiǎn)稱:XML),是一種標(biāo)記語(yǔ)言。標(biāo)記指計(jì)算機(jī)所能理解的信息符號(hào),通過(guò)此種標(biāo)記,計(jì)算機(jī)之間可以處理包含各種信息的文章等。
如何定義這些標(biāo)記,既可以選擇國(guó)際通用的標(biāo)記語(yǔ)言,比如HTML,也可以使用像XML這樣由相關(guān)人士自由決定的標(biāo)記語(yǔ)言,這就是語(yǔ)言的可擴(kuò)展性。
XML是從標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(SGML)中簡(jiǎn)化修改出來(lái)的。它主要用到的有可擴(kuò)展標(biāo)記語(yǔ)言、可擴(kuò)展樣式語(yǔ)言(XSL)、XBRL和XPath等。