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