自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇帶你了解GPL前世今生

系統(tǒng) Linux
從事Linux開發(fā)的朋友一定都聽過GPL,那么到底什么是GPL呢?他有什么作用呢?本文給大家做詳細(xì)講解。

[[440575]]

從事Linux開發(fā)的朋友一定都聽過GPL,那么到底什么是GPL呢?他有什么作用呢?本文給大家做詳細(xì)講解。

一、GNU/GPL

在講解GPL之前,我們必須先了解什么是GNU?

1. 什么是GNU

GNU:GNU's not unix。也叫革奴計(jì)劃。

GNU的創(chuàng)始人,理查德·馬修·斯托曼。

GNU是一個(gè)自由的操作系統(tǒng),其內(nèi)容軟件完全以GPL方式發(fā)布。

這個(gè)操作系統(tǒng)是GNU計(jì)劃的主要目標(biāo),名稱來自**GNU's Not Unix!**的縮寫 【這種遞歸式命名方法也只有程序猿大神才能想起來】

可以說GNU也是一個(gè)軟件集合,如:Emas,gcc,bash,gawk等。

由于沒有內(nèi)核(可以理解成還在實(shí)驗(yàn)室里就GNU系統(tǒng)就被淘汰了)。

因?yàn)镚NU的設(shè)計(jì)類似Unix,但它不包含具著作權(quán)的Unix代碼。

2. GNU歷史

在二戰(zhàn)(1939-1945)結(jié)束后,計(jì)算機(jī)產(chǎn)業(yè)剛剛興起的時(shí)候,閉源軟件的概念還未出生。那是個(gè)一切代碼都免費(fèi)共享,可以隨意修改、再發(fā)行的時(shí)代。

后來,開始有人只發(fā)行閉源的程序,這通常是一種原始代碼幾乎不可能被單純地破譯的二進(jìn)制文件。1983年,IBM成為大型企業(yè)中第一個(gè)發(fā)行閉源軟件的公司;AT&T公司緊隨其后,原本免費(fèi)的Unix在更新后要價(jià)數(shù)萬美元…

平日使用的Unix突然開始收費(fèi),還如此昂貴,這讓很多人難以接受。

其中,有一個(gè)叫Richard Stallman(人稱 RMS)的人站出來了。他推出了 GNU計(jì)劃 ,希望有朝一日,從操作系統(tǒng)到各式應(yīng)用軟件,都能免費(fèi)開源得讓大家使用。

[[440576]]

而具體的辦法,就是在發(fā)布軟件的同時(shí)包括我們今天提到的 GPL 許可證。

3. 什么是GPL

GPL許可協(xié)議(GNU General Public License):只要軟件中包含有其他GPL協(xié)議的產(chǎn)品或代碼,那么該軟件就必須也采用GPL許可協(xié)議且開源及免費(fèi)。

具有以下特點(diǎn):

  • 復(fù)制自由:允許將軟件復(fù)制到任何人的電腦中,并且不限制復(fù)制的數(shù)量。
  • 傳播自由:允許以各種形式進(jìn)行傳播。
  • 收費(fèi)傳播:允許在各種媒介上出售該軟件,但必需提前讓買家知道這個(gè)軟件是可以免費(fèi)獲得的,并解釋收費(fèi)的理由(一般來講都是能夠?yàn)橛脩籼峁┠撤N服務(wù),以技術(shù)服務(wù)的形式來收費(fèi))。
  • 修改自由:允許開發(fā)人員增加或刪除軟件的功能,但必須依然基于GPL許可協(xié)議授權(quán)。

4. 通俗的講下GPL到底有什么作用?

總結(jié)成一句話,修改后必須以GPL授權(quán)開源發(fā)布。

只要在代碼中加入這個(gè)名叫GPL的許可證,你就能保證軟件的用戶能夠自由地運(yùn)行、研究、分享和修改你的代碼了。

而且,從你的軟件衍生出的一切修改版本,都必須遵守這個(gè)許可協(xié)議。

一個(gè)有意思的地方是,擁有代碼的人有權(quán)利用代碼開發(fā)軟件并盈利。

但是,在有人花錢買走軟件之后,這個(gè)人可以隨意把買到的軟件分享給其他人,而不必?fù)?dān)心侵權(quán),甚至是被告上法庭——因?yàn)閷?duì)于遵守開源協(xié)議的軟件來說,壓根不存在“盜版”的概念。

由此可見,開源協(xié)議大大地提高了軟件使用者的權(quán)利。

理解了GNU的精神,也就能理解GPL在說些什么,其實(shí)就是開源。

在現(xiàn)實(shí)生活中,我們受益于 GPL的地方,其實(shí)很多,幾乎所有的操作系統(tǒng),除了windows,其他的幾乎都是基于linux開源代碼改寫的。

5. 舉例

以下是Linux內(nèi)核中網(wǎng)卡DM9000的驅(qū)動(dòng)程序版權(quán)聲明:

DM9000是Davicom公司生產(chǎn)的一款非常流行的網(wǎng)卡芯片。

第一個(gè)紅框聲明了代碼的版權(quán)屬于作者 Sten Wang 。第二個(gè)紅框則是說使用者需要遵守 GPL協(xié)議(GNU General Public License)。

二、GPL與Linux

Linus Torvalds 認(rèn)為 GPL 是 Linux 成功的重要部分

雖然不是每個(gè)開源軟件都喜歡 GPL,但是如果沒有 GPL ,或許不會(huì)有如今的 Linux 和整個(gè)開源世界。

以下節(jié)選自Linus Torvalds自傳《知識(shí)為了好玩》

  1. 當(dāng)時(shí)的演講者是理查德·斯多曼(Richard Stallman) 。 此人是自由軟件的鼓吹者。 
  2. 1983年, 他開始研究UNIX的一個(gè)替代物, 將其稱作GNU系統(tǒng), 其含義是“GUN不是 
  3. UNIX”(GNU是“GNU is Not UNIX”的字首縮略語(yǔ)--譯注) 。 這 
  4.  
  5. 更重要的是, RMS(理查德·斯多曼希望別人這樣稱呼他) 還撰寫了《自由軟件宣 
  6. 言》 和自由軟件產(chǎn)權(quán)證書, 即GPL。 他首先提出的關(guān)于開放源代碼的概念完全是有意的, 
  7. 而并非出于偶然, 和UNIX最初的開放發(fā)展理念是相吻合的。 
  8.  
  9. 我后來為L(zhǎng)inux使用的就是GPL。 就這樣, 我再一次走在了自己的前面。 
  10. 事實(shí)是, 為了使Linux有用, 我曾依賴過很多在網(wǎng)上免費(fèi)下載的工具――我把自己 
  11. 放到了巨人的肩膀上。  
  12.  
  13. 這些免費(fèi)軟件中最重要的是GCC編譯器, 它是理查德·斯多曼的杰 
  14. 作, 并且已經(jīng)在公共執(zhí)照協(xié)會(huì)(GPL)上注冊(cè)了版權(quán)。 在GPL條款之下, 錢不是問題, 只要 
  15. 有人愿意買, 你可以賣一百萬美元。 但是, 你必須提供軟件來源。 而得到或買到你的來源 
  16. 的人, 將擁有和你一樣多的對(duì)于該程序的。  
  17.  
  18. 這實(shí)在是很高明的一招。 我認(rèn)可GPL的原則, 
  19. 但是和那些認(rèn)為所有的軟件創(chuàng)新都應(yīng)該在GPL下向全世界公開的頑固的GPL信仰者不同,我認(rèn)為發(fā)明者本人有決定如何處置自己的發(fā)明的權(quán)利。 
  20. 于是, 我拋棄了自己舊有的版權(quán)聲明, 采納了GPL的內(nèi)容, 一個(gè)斯多曼也曾經(jīng)和他的 
  21. 律師一道簽署過的文件(因?yàn)橛新蓭煹膮⑴c, 該文件被搞得洋洋灑灑有好幾頁(yè))。 
  22.  
  23.  我擔(dān)心, 在現(xiàn)實(shí)中, 如果有個(gè)美國(guó)人侵犯了我的版權(quán), 我無法對(duì)其提起訴訟。 現(xiàn)在 
  24. 這仍是我的擔(dān)心。 狀告某人侵權(quán)很容易, 而我的擔(dān)心是, 有的人會(huì)即使被起訴也繼續(xù)從事 
  25. 這種違法行為, 除非加諸某種強(qiáng)制執(zhí)行的法律行動(dòng)他們才會(huì)停止。 同時(shí)我也不斷地?fù)?dān)心, 
  26. 在像中國(guó)這樣的地方, 企業(yè)并不承認(rèn)GPL的效力, 從而也不會(huì)尊重我的版權(quán)。 
  27.  
  28. 事實(shí)上, 這些地方的法律體系對(duì)侵犯版權(quán)的制止在當(dāng)時(shí)并不得力(中國(guó)已經(jīng)簽署了一 
  29. 系列的國(guó)際公約, 林納斯在這里談的是1991年的情況――譯注), 而且, 為防止違法行為 
  30. 的投入在這些地方被認(rèn)為是不劃算的。 大軟件公司和唱片公司曾作過努力, 但是成效不 
  31. 大。 
  32.  
  33. 不過, 事實(shí)減輕了我的擔(dān)憂。 有的人確實(shí)會(huì)暫時(shí)侵犯我的版權(quán), 但是他們往往也是那 
  34. 些尊重版權(quán)、 反饋改進(jìn)意見、 使系統(tǒng)功能得以提高的人。 他們將是系統(tǒng)升級(jí)過程中的一分 
  35. 子。  
  36.  
  37. 總的來說, 我從兩個(gè)方面看版權(quán)。 比如一個(gè)每月掙五十美元的人, 他可能會(huì)為一個(gè)軟 
  38. 件花費(fèi)二百五十美元嗎? 如果花一點(diǎn)錢買非法拷貝軟件, 而把五個(gè)月的工資用于吃飽肚 
  39. 子, 我一點(diǎn)不覺得他不道德。 這種侵權(quán)是道義上可以接受的。 去追捕這種“侵權(quán)者”是不道 
  40. 德的, 更不要說簡(jiǎn)直就是愚蠢的。 就Linux而言, 誰在乎如果只將其用于個(gè)人目的時(shí), 一 
  41. 個(gè)人是否真正遵循了GPL呢? 那些想藉此賺大錢的人們, 才是真正不道德的, 不管他們是 
  42. 在美國(guó)還是非洲, 也不管程度如何。 
  43.  
  44. 貪欲從來就不是善的。 
  45.  
  46. 正如開放源代碼在1998年吸引了全世界的目光, 最大的爭(zhēng)議之一就在于其名字本身。 在此 
  47. 之前, 已有了諸如GPL所許可的“自由軟件”, 我們會(huì)提到軟件共享現(xiàn)象, 以及通常所談?wù)?nbsp;
  48. 的“自由軟件運(yùn)動(dòng)”。 這一用法源于“自由軟件基金會(huì)”(Free Software Foundation) , 該基 
  49. 金會(huì)由理查德·斯多曼于1985年為促進(jìn)自由軟件工程而創(chuàng)立, 比如GUN和由他發(fā)起的FreeUNIX。 
  50. 沒準(zhǔn), 像艾立克·雷蒙德這樣的新教徒會(huì)發(fā)現(xiàn)新聞?dòng)浾邆內(nèi)沐e(cuò)了。  
  51.  
  52. free”一詞真的意 
  53. 味著免收任何費(fèi)用嗎? “free”真的意味著沒有任何限制嗎? “free”真的意味著自由自在嗎? 
  54. 經(jīng)過幾周私人信函的往來, 我們最終達(dá)成了一致意見: 比起“free”來, 我們更愿意使 
  55. 用“open”(開放) 一詞。 從此, 自由軟件運(yùn)動(dòng)變成了開放軟件運(yùn)動(dòng)。 對(duì)于那些樂意將此一 
  56. 場(chǎng)運(yùn)動(dòng)的人來講, 我猜這的確是一場(chǎng)運(yùn)動(dòng)。 自由軟件基金會(huì)仍然被稱之為自由軟件基金 
  57. 會(huì), 而理查德·斯多曼也仍舊是幕后在心理上進(jìn)行策劃的人。 

三、其他開源協(xié)議(BSD,Apache,LGPL,MIT)

其他開源協(xié)議比較

1. BSD開源協(xié)議(original BSD license、FreeBSD license、Original BSD license)

BSD開源協(xié)議是一個(gè)給于使用者很大自由的協(xié)議?;旧鲜褂谜呖梢?rdquo;為所欲為”,可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發(fā)布。

但”為所欲為”的前提當(dāng)你發(fā)布使用了BSD協(xié)議的代碼,或則以BSD協(xié)議代碼為基礎(chǔ)做二次開發(fā)自己的產(chǎn)品時(shí),

需要滿足三個(gè)條件:

  1. 如果再發(fā)布的產(chǎn)品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協(xié)議。
  2. 如果再發(fā)布的只是二進(jìn)制類庫(kù)/軟件,則需要在類庫(kù)/軟件的文檔和版權(quán)聲明中包含原來代碼中的BSD協(xié)議。
  3. 不可以用開源代碼的作者/機(jī)構(gòu)名字和原來產(chǎn)品的名字做市場(chǎng)推廣。

BSD代碼鼓勵(lì)代碼共享,但需要尊重代碼作者的著作權(quán)。BSD由于允許使用者修改和重新發(fā)布代碼,也允許使用或在BSD代碼上開發(fā)商業(yè)軟件發(fā)布和銷售,因此是對(duì)商業(yè)集成很友好的協(xié)議。而很多的公司企業(yè)在選用開源產(chǎn)品的時(shí)候都首選BSD協(xié)議,因?yàn)榭梢酝耆刂七@些第三方的代碼,在 必要的時(shí)候可以修改或者二次開發(fā)。

2. Apache(Apache License, Version 2.0、Apache License, Version1.1、Apache License, Version 1.0)

Apache Licence是著名的非盈利開源組織Apache采用的協(xié)議。

該協(xié)議和BSD類似,同樣鼓勵(lì)代碼共享和尊重原作者的著作權(quán),同樣允許代碼修改,再發(fā)布(作為開源或商業(yè)軟件)。

需要滿足的條件也和BSD類似:

  1. 需要給代碼的用戶一份Apache Licence,如果你修改了代碼,需要在被修改的文件中說明。
  2. 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協(xié)議,商標(biāo),專利聲明和其他原來作者規(guī)定需要包含的說明。
  3. 如果再發(fā)布的產(chǎn)品中包含一個(gè)Notice文件,則在Notice文件中需要帶有Apache Licence。

你可以在Notice中增加自己的許可,但不可以表現(xiàn)為對(duì)Apache Licence構(gòu)成更改。

Apache Licence也是對(duì)商業(yè)應(yīng)用友好的許可。使用者也可以在需要的時(shí)候修改代碼來滿足需 要并作為開源或商業(yè)產(chǎn)品發(fā)布/銷售。

3. LGPL(GNU Lesser General Public License)

LGPL是GPL的一個(gè)為主要為類庫(kù)使用設(shè)計(jì)的開源協(xié)議。

和GPL要求任何使用/修改/衍生之GPL類庫(kù)的的軟件必須采用GPL協(xié)議不同。

LGPL允許商業(yè)軟件通過類庫(kù)引用(link)方式使用LGPL類庫(kù)而不需要開源商業(yè)軟件的代碼。

這使得采用LGPL協(xié)議的開源代碼可以被商業(yè)軟件作為類庫(kù)引用并發(fā)布和銷售。

但是如果修改LGPL協(xié)議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用LGPL協(xié)議。

因此LGPL協(xié)議的開源代碼很適合作為第三方類庫(kù)被商業(yè)軟件引用,但不適合希望以LGPL協(xié)議代碼為基礎(chǔ),通過修改和衍生的方式做二次開發(fā)的商業(yè)軟件采用。

GPL/LGPL都保障原作者的知識(shí)產(chǎn)權(quán),避免有人利用開源代碼復(fù)制并開發(fā)類似的產(chǎn)品

4. MIT(MIT)

MIT是和BSD一樣寬范的許可協(xié)議,作者只想保留版權(quán),而無任何其他了限制。

也就是說,你必須在你的發(fā)行版里包含原許可協(xié)議的聲明,無論你是以二進(jìn)制發(fā)布的還是以源代碼發(fā)布的。

四、 大名鼎鼎Android內(nèi)核是Linux,那他是如何規(guī)避GPL的

下圖是一個(gè)完整的Android軟件系統(tǒng)所用到的所有協(xié)議分布。

與Android關(guān)系最為密切的主要包括兩個(gè)方面:驅(qū)動(dòng)和glibc

1. glibc

glibc是linux上的主流的c運(yùn)行時(shí)庫(kù),幾乎每個(gè)linux程序都會(huì)簡(jiǎn)介的依賴c運(yùn)行時(shí)庫(kù)。

由于glibc是gpl授權(quán)的,因此如果采用glibc作為crt,按照前述問題的第二條,這些程序必須開源。

因此安卓采用bionic作為c運(yùn)行時(shí)庫(kù)替代glibc來規(guī)避gpl

2. 驅(qū)動(dòng)

再說驅(qū)動(dòng),Android是基于Linux 內(nèi)核開發(fā)的,Linux內(nèi)核是GPL授權(quán)。

傳統(tǒng)的驅(qū)動(dòng)是要作為內(nèi)核模塊被加入到內(nèi)核中的。

而內(nèi)核模塊屬于Linux內(nèi)核的衍生產(chǎn)品,需要遵守GPL協(xié)議開源發(fā)布。

Android是由開放手機(jī)聯(lián)盟共同完成的,為了保護(hù)聯(lián)盟中手機(jī)生產(chǎn)商的利益,驅(qū)動(dòng)不能被完全開源。

因此安卓引入HAL,給linux內(nèi)核開了個(gè)后門,增加了一些系統(tǒng)調(diào)用。

HAL在內(nèi)核的部分按照GPL的要求開源。

驅(qū)動(dòng)開發(fā)者可以在用戶態(tài)使用這些新增的系統(tǒng)調(diào)用完成驅(qū)動(dòng)的開發(fā)。從而在驅(qū)動(dòng)方面規(guī)避了GPL。

進(jìn)一步了解:

Android的硬件抽象層,簡(jiǎn)單來說,就是對(duì)Linux內(nèi)核驅(qū)動(dòng)程序的封裝,向上提供接口,屏蔽低層的實(shí)現(xiàn)細(xì)節(jié)。也就是說,把對(duì)硬件的支持分成了兩層,一層放在用戶空間(User Space),一層放在內(nèi)核空間(Kernel Space), 其中,硬件抽象層運(yùn)行在用戶空間,而Linux內(nèi)核驅(qū)動(dòng)程序運(yùn)行在內(nèi)核空間。為什么要這樣安排呢?把硬件抽象層和內(nèi)核驅(qū)動(dòng)整合在一起放在內(nèi)核空間不可行嗎?

從技術(shù)實(shí)現(xiàn)的角度來看,是可以的,然而從商業(yè)的角度來看,把對(duì)硬件的支持邏輯都放在內(nèi)核空間,可能會(huì)損害廠家的利益。我們知道,Linux內(nèi)核源代碼版權(quán)遵循GNU License,而Android源代碼版權(quán)遵循Apache License,前者在發(fā)布產(chǎn)品時(shí),必須公布源代碼,而后者無須發(fā)布源代碼。如果把對(duì)硬件支持的所有代碼都放在Linux驅(qū)動(dòng)層,那就意味著發(fā)布時(shí)要公開驅(qū)動(dòng)程序的源代碼,而公開源代碼就意味著把硬件的相關(guān)參數(shù)和實(shí)現(xiàn)都公開了,在手機(jī)市場(chǎng)競(jìng)爭(zhēng)激烈的今天,這對(duì)廠家來說,損害是非常大的。

因此,Android才會(huì)想到把對(duì)硬件的支持分成硬件抽象層和內(nèi)核驅(qū)動(dòng)層,內(nèi)核驅(qū)動(dòng)層只提供簡(jiǎn)單的訪問硬件邏輯,例如讀寫硬件寄存器的通道,至于從硬件中讀到了什么值或者寫了什么值到硬件中的邏輯,都放在硬件抽象層中去了,這樣就可以把商業(yè)秘密隱藏起來了。

也正是由于這個(gè)分層的原因,Android被踢出了Linux內(nèi)核主線代碼樹中。大家想想,Android放在內(nèi)核空間的驅(qū)動(dòng)程序?qū)τ布闹С质遣煌暾?,把Linux內(nèi)核移植到別的機(jī)器上去時(shí),由于缺乏硬件抽象層的支持,硬件就完全不能用了,這也是為什么說Android是開放系統(tǒng)而不是開源系統(tǒng)的原因。

五、軟件其他幾個(gè)相關(guān)的版權(quán)概念

1. copyright

copyright就是俗稱的版權(quán),也叫著作權(quán)。

版權(quán)又稱著作權(quán),用來表述創(chuàng)作者因其文學(xué)和藝術(shù)作品而享有的權(quán)利。版權(quán)的取得有兩種方式:自動(dòng)取得和登記取得。在中國(guó),按照著作權(quán)法規(guī)定,作品完成就自動(dòng)有版權(quán)(百度百科)。

簡(jiǎn)單來說,版權(quán)(copyright)只是規(guī)定是誰對(duì)作品享有權(quán)利,而具體享有哪些權(quán)力,需要參照當(dāng)?shù)胤伞?/p>

比如一種定義是:

根據(jù)規(guī)定,作者享受下列權(quán)利:

  1. 以本名、化名或以不署名的方式發(fā)表作品;
  2. 保護(hù)作品的完整性;
  3. 修改已經(jīng)發(fā)表的作品;
  4. 因觀點(diǎn)改變或其他正當(dāng)理由聲明收回已經(jīng)發(fā)表的作品,但應(yīng)適當(dāng)賠償出版單位損失;
  5. 通過合法途徑,以出版、復(fù)制、播放、表演、展覽、攝制片、翻譯或改編等形式使用作品;
  6. 因他人使用作品而獲得經(jīng)濟(jì)報(bào)酬。上述權(quán)利受到侵犯,作者或其他版權(quán)所有者有權(quán)要求停止侵權(quán)行為和賠償損失。

2. license

在此基礎(chǔ)上,作者還可以制定授權(quán)協(xié)議(license),來具體地界定使用者的權(quán)利。

也就是說,

  • 作者的具體權(quán)利 = 當(dāng)?shù)胤梢?guī)定的版權(quán)(copyright) + 自己在作品中添加的授權(quán)協(xié)議(license)。

  • 權(quán)利 = 版權(quán)(copyright) + 授權(quán)協(xié)議(license)

比如,商業(yè)化的授權(quán)協(xié)議(license)可能會(huì)傾向于強(qiáng)調(diào),使用者的哪些行為是侵權(quán)行為,從而保護(hù)自己的商業(yè)利益。

3. copyleft

而與這一商業(yè)化的授權(quán)風(fēng)格相對(duì)的是,RMS等人引領(lǐng)的copyleft的思潮。這一思想在保護(hù)作者的基本版權(quán)之余, 可以讓作者通過在作品中添加開源協(xié)議(license),從而放大用戶的權(quán)力。

比如我們今天的主角,RMS在198為GNU項(xiàng)目擬定的 GLP 協(xié)議,允許用戶自由地運(yùn)行、研究、分享和修改源代碼。

本文轉(zhuǎn)載自微信公眾號(hào)「一口Linux」

 

責(zé)任編輯:姜華 來源: 一口Linux
相關(guān)推薦

2021-05-20 06:57:16

RabbitMQ開源消息

2010-05-07 09:33:28

GNU GPL開源許可協(xié)議

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺(tái)

2021-07-28 10:02:54

建造者模式代碼

2021-07-14 08:24:23

TCPIP 通信協(xié)議

2021-08-11 07:02:21

npm包管理器工具

2021-08-02 06:34:55

Redis刪除策略開源

2021-11-08 08:42:44

CentOS Supervisor運(yùn)維

2021-11-24 08:51:32

Node.js監(jiān)聽函數(shù)

2019-07-11 10:29:28

操作系統(tǒng)虛擬機(jī)Linux

2019-08-05 10:08:25

軟件操作系統(tǒng)程序員

2019-06-10 14:53:15

分布式架構(gòu)應(yīng)用服務(wù)

2020-11-10 10:48:10

JavaScript屬性對(duì)象

2021-01-29 18:41:16

JavaScript函數(shù)語(yǔ)法

2021-02-02 18:39:05

JavaScript

2021-06-04 09:56:01

JavaScript 前端switch

2022-11-10 16:55:41

ReactFiber

2021-08-14 10:01:43

Python條件語(yǔ)句Python基礎(chǔ)

2021-07-08 06:30:03

Linux CPULinux 系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)