大整數(shù)的加減乘除:
????????數(shù)組存儲,加減按照手算來加減(加判斷進(jìn)位,減判斷是否借位);乘法本質(zhì)為加法(a[i]*b[j]=sum[i+j],下標(biāo)從零開始、可最后判斷是否進(jìn)位);除法的話本質(zhì)為減法,但逐個減太浪費(fèi)時間,可以先除以[n*除數(shù)],再[商*n],最后累加即可!
CGI
????????CGI(Common Gateway Interface) 是WWW技術(shù)中最重要的技術(shù)之一,有著不可替代的重要地位。CGI是外部應(yīng)用程序(CGI程序)與WEB服務(wù)器之間的接口標(biāo)準(zhǔn),是在CGI程序和Web服務(wù)器之間傳遞信息的過程。CGI規(guī)范允許Web服務(wù)器執(zhí)行外部程序,并將它們的輸出發(fā)送給Web瀏覽器,CGI將Web的一組簡單的靜態(tài)超媒體文檔變成一個完整的新的交互式媒體。
????????Common Gateway Interface,簡稱CGI。在物理上是一段程序,運(yùn)行在服務(wù)器上,提供同客戶端HTML頁面的接口。這樣說大概還不好理解。那么我們看一個實際例子:現(xiàn)在的個人主頁上大部分都有一個留言本。留言本的工作是這樣的:先由用戶在客戶端輸入一些信息,如評論之類的東西。接著用戶按一下“發(fā)布或提交”(到目前為止工作都在客戶端),瀏覽器把這些信息傳送到服務(wù)器的CGI目錄下特定的CGI程序中,于是CGI程序在服務(wù)器上按照預(yù)定的方法進(jìn)行處理。在本例中就是把用戶提交的信息存入指定的文件中。然后CGI程序?qū)?zhí)行結(jié)果返回給服務(wù)器(webServer),然后服務(wù)器將結(jié)果返回給客戶端,表示請求的任務(wù)已經(jīng)結(jié)束。此時用戶在瀏覽器里將看到“留言結(jié)束”的字樣。整個過程結(jié)束。
LISP:(計算機(jī)程序設(shè)計語言)
????????LISP是一種通用高級計算機(jī)程序語言,長期以來壟斷人工智能領(lǐng)域的應(yīng)用。LISP作為因應(yīng)人工智能而設(shè)計的語言,是第一個聲明式系內(nèi)函數(shù)式程序設(shè)計語言,有別于命令式系內(nèi)過程式的C、Fortran和面向?qū)ο蟮?a target="_blank" rel="nofollow">Java、C#等結(jié)構(gòu)化程序設(shè)計語言。
????????LISP名稱源自列表處理(LISt Processing)的英語縮寫,由來自麻省理工學(xué)院的人工智能研究先驅(qū)約翰·麥卡錫(John McCarthy)在1958年基于λ演算所創(chuàng)造,采用抽象數(shù)據(jù)列表與遞歸作符號演算來衍生人工智能?[1]?。
函數(shù)式程序設(shè)計
????????她是一種設(shè)計、編制和調(diào)試函數(shù)式程序的技術(shù),是由一些原始函數(shù)、定義函數(shù)和函數(shù)型組成的函數(shù)表達(dá)式。函數(shù)語言以λ-演算為其語義基礎(chǔ), 它的基本機(jī)制是函數(shù)對參數(shù)的作用, 函數(shù)是程序的基本項, 程序的編制便是函數(shù)的遞歸構(gòu)造過程。
????????傳統(tǒng)程序設(shè)計語言中的賦值等概念,在函數(shù)式程序設(shè)計語言中消失。函數(shù)式程序的一個最本質(zhì)的特性,就是函數(shù)值唯一地由其參數(shù)值所確定。只要使用相同的參數(shù)值,對此程序的不同的調(diào)用總是得到相同的結(jié)果。這種性質(zhì)稱為引用透明性,有助于程序的模塊化。函數(shù)式程序設(shè)計語言具有較強(qiáng)的組織數(shù)據(jù)結(jié)構(gòu)的能力,可以把某一數(shù)據(jù)結(jié)構(gòu)(如數(shù)組)作為單一值處理;可以把函數(shù)作為參數(shù),其結(jié)果也可為函數(shù),這種定義的函數(shù)稱為高階函數(shù)。這些由函數(shù)表達(dá)式所表示的程序簡明、緊湊和易于維護(hù)。
????????過去,這種程序設(shè)計稱為應(yīng)用性程序設(shè)計。1977年,J.巴克斯提出函數(shù)式程序設(shè)計的概念。一般認(rèn)為表處理語言(LISP)是最早的函數(shù)式程序設(shè)計語言。但是,LISP的重點(diǎn)是將函數(shù)應(yīng)用于對象,以產(chǎn)生新的對象,必要時再上升為函數(shù)。巴克斯所提出的函數(shù)式程序設(shè)計,則是引用函數(shù)型產(chǎn)生新函數(shù),程序設(shè)計時從一般的對象空間上升到函數(shù)空間,因而具有優(yōu)越的數(shù)學(xué)性質(zhì),有助于程序的理解、推理和驗證。
smalltalk:
????????Smalltalk被公認(rèn)為歷史上第二個面向?qū)ο蟮某绦蛟O(shè)計語言和第一個真正的集成開發(fā)環(huán)境?(IDE)。由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC開發(fā)。Smalltalk對其它眾多的程序設(shè)計語言的產(chǎn)生起到了極大的推動作用,主要有:Objective-C,Actor, Java 和Ruby等。90年代的許多軟件開發(fā)思想得利于Smalltalk,例如Design Patterns, Extreme Programming(XP)和Refactoring等。
????????20世紀(jì)70年代到80年代前期,美國施樂公司的帕洛阿爾托研究中心(PARC)開發(fā)了Smalltalk編程語言。從Smalltalk-72、Smalltalk-78到Smalltalk-80,他們開發(fā)完成了整個Smalltalk系列,Smalltalk編程語言對近代面向?qū)ο缶幊陶Z言影響很大,所以稱之為“面向?qū)ο缶幊讨浮薄?/p>
perl:
????????Perl,一種功能豐富的計算機(jī)程序語言,運(yùn)行在超過100種計算機(jī)平臺上,適用廣泛,從大型機(jī)到便攜設(shè)備,從快速原型創(chuàng)建到大規(guī)模可擴(kuò)展開發(fā)。?[1]
????????Perl最初的設(shè)計者為拉里·沃爾(Larry Wall),于1987年12月18日發(fā)表。現(xiàn)在的版本為Perl 6,于2015年12月25日更新。
Perl借取了C、sed、awk、shell 腳本語言以及很多其他程序語言的特性,其中最重要的特性是它內(nèi)部集成了正則表達(dá)式的功能,以及巨大的第三方代碼庫CPAN。簡而言之,Perl像C一樣強(qiáng)大,像awk、sed等腳本描述語言一樣方便,被Perl語言愛好者稱之為“一種擁有各種語言功能的夢幻腳本語言”、“Unix 中的王牌工具”。
Perl 一般被稱為“實用報表提取語言”(Practical Extraction and Report Language),你也可能看到“perl”,所有的字母都是小寫的。一般,“Perl”,有大寫的 P,是指語言本身,而“perl”,小寫的 p,是指程序運(yùn)行的解釋器。
????????1987年Larry Wall發(fā)布Perl1.0以來,用戶數(shù)一直急劇增加,同時越來越多的程序員與軟件開發(fā)者(商)參與Perl的開發(fā)。從最初被當(dāng)做一種跨平臺環(huán)境中書寫可移植工具的高級語言開始,Perl被廣泛地認(rèn)為是一種工業(yè)級的強(qiáng)大工具,可以在任何地方用來完成你的工作。perl的前身是Unix系統(tǒng)管理的一個工具,被用在無數(shù)的小任務(wù)里。后逐漸發(fā)展成為一種功能強(qiáng)大的程序設(shè)計語言,用作Web編程、數(shù)據(jù)庫處理、XML處理以及系統(tǒng)管理;在完成這些工作時,同時仍能處理日常細(xì)小工作,這是它的設(shè)計初衷。Perl特別適合系統(tǒng)管理和Web編程。實際上已經(jīng)被用在所有Unix(包括Linux)捆綁在一起作為標(biāo)準(zhǔn)部件發(fā)布,同時也用于Microsoft Windows和幾乎所有操作系統(tǒng)。Perl的應(yīng)用非常廣泛。
GNU:(GNU編譯器套件)
????????GNU編譯器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go語言的前端,也包括了這些語言的庫(如libstdc++、libgcj等等)。GCC的初衷是為GNU操作系統(tǒng)專門編寫的一款編譯器。GNU系統(tǒng)是徹底的自由軟件。此處,“自由”的含義是它尊重用戶的自由。
Lambda表達(dá)式
????????“Lambda 表達(dá)式”(lambda expression)是一個匿名函數(shù),Lambda表達(dá)式基于數(shù)學(xué)中的λ演算得名,直接對應(yīng)于其中的lambda抽象(lambda abstraction),是一個匿名函數(shù),即沒有函數(shù)名的函數(shù)。Lambda表達(dá)式可以表示閉包(注意和數(shù)學(xué)傳統(tǒng)意義上的不同)。
(參數(shù))——>表達(dá)式或語句塊
閉包
????????閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。例如在javascript中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,所以閉包可以理解成“定義在一個函數(shù)內(nèi)部的函數(shù)“。在本質(zhì)上,閉包是將函數(shù)內(nèi)部和函數(shù)外部連接起來的橋梁。
RPC(遠(yuǎn)程過程調(diào)用協(xié)議)
????????RPC(Remote Procedure Call)—遠(yuǎn)程過程調(diào)用,它是一種通過網(wǎng)絡(luò)從遠(yuǎn)程計算機(jī)程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議。RPC協(xié)議假定某些傳輸協(xié)議的存在,如TCP或UDP,為通信程序之間攜帶信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)通信模型中,RPC跨越了傳輸層和應(yīng)用層。RPC使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。
????????RPC采用客戶機(jī)/服務(wù)器模式。請求程序就是一個客戶機(jī),而服務(wù)提供程序就是一個服務(wù)器。首先,客戶機(jī)調(diào)用進(jìn)程發(fā)送一個有進(jìn)程參數(shù)的調(diào)用信息到服務(wù)進(jìn)程,然后等待應(yīng)答信息。在服務(wù)器端,進(jìn)程保持睡眠狀態(tài)直到調(diào)用信息到達(dá)為止。當(dāng)一個調(diào)用信息到達(dá),服務(wù)器獲得進(jìn)程參數(shù),計算結(jié)果,發(fā)送答復(fù)信息,然后等待下一個調(diào)用信息,最后,客戶端調(diào)用進(jìn)程接收答復(fù)信息,獲得進(jìn)程結(jié)果,然后調(diào)用執(zhí)行繼續(xù)進(jìn)行。
????????有多種 RPC模式和執(zhí)行。最初由 Sun 公司提出。IETF ONC 憲章重新修訂了 Sun 版本,使得 ONC RPC 協(xié)議成為 IETF 標(biāo)準(zhǔn)協(xié)議。現(xiàn)在使用最普遍的模式和執(zhí)行是開放式軟件基礎(chǔ)的分布式計算環(huán)境(DCE)。
shell(計算機(jī)殼層)
????????在計算機(jī)科學(xué)中,Shell俗稱殼(用來區(qū)別于核),是指“為使用者提供操作界面”的軟件(命令解析器)。它類似于DOS下的command.com和后來的cmd.exe。它接收用戶命令,然后調(diào)用相應(yīng)的應(yīng)用程序。
DMA(直接存儲器訪問)
????????DMA(Direct Memory Access,直接內(nèi)存存取) 是所有現(xiàn)代電腦的重要特色,它允許不同速度的硬件裝置來溝通,而不需要依賴于 CPU 的大量中斷負(fù)載。否則,CPU 需要從來源把每一片段的資料復(fù)制到暫存器,然后把它們再次寫回到新的地方。在這個時間中,CPU 對于其他的工作來說就無法使用。
CTO(首席技術(shù)官(Chief Technology Officer))
????????CTO(首席技術(shù)官)英文Chief Technology Officer,即企業(yè)內(nèi)負(fù)責(zé)技術(shù)的最高負(fù)責(zé)人。這個名稱在1980年代從美國開始時興起于做很多研究的大公司,如General Electric,AT&T,ALCOA,主要責(zé)任是將科學(xué)研究成果成為盈利產(chǎn)品。
? ??????CEO(Chief executive officer)首席執(zhí)行官 類似總經(jīng)理、總裁,是企業(yè)的法人代表。
? ??????COO(Chief operating officer)首席運(yùn)營官 類似常務(wù)總經(jīng)理
? ??????CFO(Chief financial officer)首席財務(wù)官 類似財務(wù)總經(jīng)理
? ??????CTO(Chief technology officer)首席技術(shù)官 類似總工程師
? ??????CIO(Chief information officer)首席信息官 主管企業(yè)信息的收集和發(fā)布
CLR
????????CLR常用簡寫詞語,CLR是公共語言運(yùn)行庫(Common Language Runtime)和Java虛擬機(jī)一樣也是一個運(yùn)行時環(huán)境,它負(fù)責(zé)資源管理(內(nèi)存分配和垃圾收集等),并保證應(yīng)用和底層操作系統(tǒng)之間必要的分離。CLR存在兩種不同的翻譯名稱:公共語言運(yùn)行庫和公共語言運(yùn)行時。
BASIC(初學(xué)者通用符號指令代碼)
????????BASIC(Beginners' All-purpose Symbolic Instruction Code,又譯培基),意思就是“初學(xué)者通用符號指令代碼”,是一種設(shè)計給初學(xué)者使用的程序設(shè)計語言。BASIC是一種直譯式的編程語言,在完成編寫后不須經(jīng)由編譯及連結(jié)等手續(xù)即可執(zhí)行,但如果需要單獨(dú)執(zhí)行時仍然需要將其建立成執(zhí)行檔。
????????BASIC是由達(dá)特茅斯學(xué)院院長、匈牙利人約翰·凱梅尼(John G. Kemeny)與數(shù)學(xué)系教師托馬斯·卡茨(Thomas E. Kurtz)共同研制出來的。1964年BASIC語言正式發(fā)布。第一個BASIC程序在1964年5月1日早上4時,由BASIC編譯程序進(jìn)行編譯后成功運(yùn)行?[1]?。1975年,比爾·蓋茨把它移植到PC上。
?API(應(yīng)用程序編程接口)
????????API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件得以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機(jī)制的細(xì)節(jié)。
回調(diào)函數(shù)
????????在JavaScript中,回調(diào)函數(shù)具體的定義為:函數(shù)A作為參數(shù)(函數(shù)引用)傳遞到另一個函數(shù)B中,并且這個函數(shù)B執(zhí)行函數(shù)A。我們就說函數(shù)A叫做回調(diào)函數(shù)。如果沒有名稱(函數(shù)表達(dá)式),就叫做匿名回調(diào)函數(shù)。