亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Docker入門,看這篇就夠了

import. / 2423人閱讀

摘要:正因?yàn)槿绱宋覀兊臄?shù)據(jù)卷就出來了,用來解決這個(gè)問題,那么什么是數(shù)據(jù)卷呢我們用一句話來闡述就是數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄。

Docker是怎么出現(xiàn)的

關(guān)于Docker的發(fā)展史,本文就不做介紹,有興趣的小伙伴們可以查看這篇文章,挺有意思的。http://www.oschina.net/news/5...

什么是Docker?

??在Docker之前,我們肯定要先了解Docker是什么。官網(wǎng)的介紹是“Docker is the world’s leading software container platform.”官方給Docker的定位是一個(gè)應(yīng)用容器平臺(tái)。至于為什么要做這個(gè)Docker,官網(wǎng)上還有這么一句話"Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud."這句話用一句非常簡(jiǎn)單的話去概括就是"Build once,Run anyWhere".這一點(diǎn)跟Java很像。那么它這樣做是要解決現(xiàn)實(shí)中什么問題,我列舉幾個(gè)情況。
?? 1.合作開發(fā)的時(shí)候,在本機(jī)可以跑,別人的電腦跑不起來
?? 這里我們拿java Web應(yīng)用程序舉例,我們一個(gè)java Web應(yīng)用程序涉及很多東西,比如jdk、tomcat、spring等等。當(dāng)這些其中某一項(xiàng)版本不一致的時(shí)候,可能就會(huì)導(dǎo)致應(yīng)用程序跑不起來這種情況。Docker則將程序直接打包成鏡像,直接運(yùn)行在容器中即可。
?? 2.服務(wù)器自己的程序掛了,結(jié)果發(fā)現(xiàn)是別人程序出了問題把內(nèi)存吃完了,自己程序因?yàn)閮?nèi)存不夠就掛了
??這種也是一種比較常見的情況,如果你的程序重要性不是特別高的話,公司基本上不可能讓你的程序獨(dú)享一臺(tái)服務(wù)器的,這時(shí)候你的服務(wù)器就會(huì)跟公司其他人的程序共享一臺(tái)服務(wù)器,所以不可避免地就會(huì)受到其他程序的干擾,導(dǎo)致自己的程序出現(xiàn)問題。Docker就很好解決了環(huán)境隔離的問題,別人程序不會(huì)影響到自己的程序。
??3.公司要弄一個(gè)活動(dòng),可能會(huì)有大量的流量進(jìn)來,公司需要再多部署幾十臺(tái)服務(wù)器
??在沒有Docker的情況下,要在幾天內(nèi)部署幾十臺(tái)服務(wù)器,這對(duì)運(yùn)維來說是一件非常折磨人的事,而且每臺(tái)服務(wù)器的環(huán)境還不一定一樣,就會(huì)出現(xiàn)各種問題,最后部署地頭皮發(fā)麻。用Docker的話,我只需要將程序打包到鏡像,你要多少臺(tái)服務(wù),我就給力跑多少容器,極大地提高了部署效率。

Docker與虛擬機(jī)的區(qū)別

關(guān)于Docker與虛擬機(jī)的區(qū)別,我在網(wǎng)上找到的一張圖,非常直觀形象地展示出來,話不多說,直接上圖。

??比較上面兩張圖,我們發(fā)現(xiàn)虛擬機(jī)是攜帶操作系統(tǒng),本身很小的應(yīng)用程序卻因?yàn)閿y帶了操作系統(tǒng)而變得非常大,很笨重。Docker是不攜帶操作系統(tǒng)的,所以Docker的應(yīng)用就非常的輕巧。另外在調(diào)用宿主機(jī)的CPU、磁盤等等這些資源的時(shí)候,拿內(nèi)存舉例,虛擬機(jī)是利用Hypervisor去虛擬化內(nèi)存,整個(gè)調(diào)用過程是虛擬內(nèi)存->虛擬物理內(nèi)存->真正物理內(nèi)存,但是Docker是利用Docker Engine去調(diào)用宿主的的資源,這時(shí)候過程是虛擬內(nèi)存->真正物理內(nèi)存。

Docker安裝

??Docker的安裝非常簡(jiǎn)單,官網(wǎng)上都給出了具體的安裝步驟,都是可視化的安裝,三步就搞定了。這里我就不細(xì)說了,附上Docker的官網(wǎng)安裝教程地址。
Mac:https://docs.docker.com/docke...
Windows:https://docs.docker.com/docke...
linux的話,官網(wǎng)有不同版本的安裝的教程,這里放上ubuntu的安裝教程,其他小伙們自行查看。
ubuntu:https://docs.docker.com/engin...

Docker三個(gè)基本概念

??下面這張圖非常的經(jīng)典,很形象地展示了,什么是容器,什么是鏡像,什么是倉庫,以及三者之間的聯(lián)系。

??接下來我們來解釋一下這張圖。現(xiàn)在我們要造一間廚房,在造之前我們首先要干的一件事,就是先列舉出我們?cè)鞆N房需要的東西。我們可能需要一個(gè)通了水電煤的房子以及一些必需的廚房用具諸如鍋碗瓢勺、煤氣灶、冰箱、水槽等等這些東西。現(xiàn)在我們知道需要了什么東西之后,我們就去找這些東西。首先我們先去京東購買一些廚房用具,這些用具就好比我們的Docker鏡像,我們廚房的用具到了之后得找個(gè)地方把它們放在,不可能隨處丟吧,不然后面用的時(shí)候就找不到它了,那么我們Docker鏡像也是這樣,需要一個(gè)Docker倉庫去存儲(chǔ)這些鏡像?,F(xiàn)在我們有了這些廚房用具之后就可以做飯了嗎?答案當(dāng)然是不能,沒水沒電沒火??!這時(shí)候我們得把廚房用具給裝到一個(gè)通了水電煤的房子才行,那么Docker鏡像也是這樣,單純的Docker鏡像是不能用的,它得裝到Docker容器中通了水電煤才能使用。等我們裝好了廚房用具之后我們就可以開始做飯,那么我們的Docker鏡像裝到Docker容器之后,我們應(yīng)用就可以跑起來了。

我的第一個(gè)Docker鏡像

上面的文章中,我們了解了一下Docker,接下來我們學(xué)著做一個(gè)屬于自己的Docker鏡像。

第一步:從鏡像中心下載一個(gè)Node鏡像
    a).去http://hub.daocloud.io/上找到Node鏡像地址并執(zhí)行如下命令
      docker pull daocloud.io/library/node:標(biāo)簽
    b).查看本地庫的Docker鏡像,是否下載完成
      docker images

結(jié)果如下:

第二步:寫一個(gè)app.js

app.js的內(nèi)容如下,內(nèi)容很簡(jiǎn)單,作用也很簡(jiǎn)單,起一個(gè)80端口的服務(wù),頁面顯示“Hello Docker”。

var http = require("http");

http.createServer(function (request, response) {

    // 發(fā)送 HTTP 頭部
    // HTTP 狀態(tài)值: 200 : OK
    // 內(nèi)容類型: text/plain
    response.writeHead(200, {"Content-Type": "text/plain"});

    // 發(fā)送響應(yīng)數(shù)據(jù) "Hello World"
    response.end("Hello Docker
");
}).listen(3000);

// 終端打印如下信息
console.log("Server running at http://127.0.0.1:3000/");
第三步:寫一個(gè)Dockerfile,用于構(gòu)建鏡像
#依賴的鏡像
FROM daocloud.io/library/node:latest
#鏡像創(chuàng)建者的信息
MAINTAINER wuming "wuming@maihaoche.com"
#執(zhí)行mkdir helloDocker創(chuàng)建一個(gè)helloDocker文件夾
RUN mkdir helloDocker
#將app.js添加到helloDocker文件夾中
ADD app.js  helloDocker
#容器運(yùn)行時(shí)啟動(dòng)的命令,下面命令等價(jià)于 CMD node /helloDocker/app.js
CMD ["node","/helloDocker/app.js"]
第四步:執(zhí)行命令,構(gòu)建對(duì)象
docker build -t hello-docker .
//-t 用于指定鏡像的name:tag,沒有指定tag則是latest。
//. 代表Dockerfile 所在的路徑,這里是當(dāng)前目錄

結(jié)果如下:

如果鏡像倉庫或者標(biāo)簽錯(cuò)了的話,可以使用如下命令進(jìn)行修改

    docker tag IMAGE ID name:tag
   例: docker tag 1786dad83d25 hello-docker:1.0.0

結(jié)果如下:

這里需要注意的是“docker tag”是新建一個(gè)標(biāo)簽用于目標(biāo)鏡像指向源鏡像,所以我們記得刪除原來的標(biāo)簽

docker rmi name:tag
例:docker rmi hello-docker:latest

溫馨提示:當(dāng)前目錄應(yīng)該有Dockerfile和app.js才可用上面命令構(gòu)建成功

我的第一個(gè)Docker容器
docker run  -d -p 8003:3000 IMAGE ID

注意事項(xiàng):
-p IP:host_port:container_port-p IP::port 來指定允許訪問容器的主機(jī)上的 IP、接口等,我這里只允許外部8080端口來訪問3000端口
-d 就是在后臺(tái)運(yùn)行容器,并返回容器ID。有興趣的小伙伴可以體驗(yàn)一下有-d和沒-d的區(qū)別

這時(shí)我們輸入http://localhost:8003/就可以訪問了我們剛剛啟的服務(wù)了。

另外我們可以通過docker ps 來查看當(dāng)前所有啟動(dòng)的容器。
接下來我們進(jìn)入容器中看看這個(gè)容器到底有什么東西!

docker exec -it  /bin/bash

進(jìn)入容器中我們就看到了剛剛我們之前在Dockerfile建的helloDocker文件夾,進(jìn)去之后發(fā)現(xiàn)了我們的app.js.執(zhí)行exit命令就可以退出容器。

Docker 數(shù)據(jù)卷的使用

??到這里我們已經(jīng)掌握了如何去制作一個(gè)鏡像以及如何啟動(dòng)一個(gè)鏡像了,接下來我們要說點(diǎn)難一點(diǎn)的東西Docker數(shù)據(jù)卷的使用。首先說一下什么是卷,為什么要引入卷這個(gè)東西。
??這邊我們拿前端開發(fā)來說,我們?cè)谇岸碎_發(fā)中,我們的js、css以及一些圖標(biāo)等等這些靜態(tài)資源,這些文件都是可以直接在url輸入地址直接訪問到的,本身這些東西不會(huì)影響項(xiàng)目的運(yùn)行,說點(diǎn)通俗點(diǎn)就是我們的這些資源怎么整不會(huì)讓服務(wù)器報(bào)500錯(cuò)誤.按照我們前面的方法去做的話,肯定之間把這些文件全部打到鏡像里面,但是這個(gè)方法有個(gè)很不好的地方的。就是我們每次修改他們都需要重新打一次鏡像,就感覺很繁瑣。于是我們就想,我們能不能把這次靜態(tài)資源從鏡像中抽離出來,我們讓容器指向這個(gè)目錄,然后我們的服務(wù)就可以訪問這些資源,每次改變完之后我們就不需要重新打鏡像了,這樣豈不是很好。正因?yàn)槿绱宋覀兊臄?shù)據(jù)卷就出來了,用來解決這個(gè)問題,那么什么是數(shù)據(jù)卷呢?我們用一句話來闡述就是“數(shù)據(jù)卷是一個(gè)可供一個(gè)或多個(gè)容器使用的特殊目錄?!苯酉聛砦覀儗?shí)際操作一把。

數(shù)據(jù)卷 第一步:我們建立一個(gè)myDocker文件,里面包含兩個(gè)文件app.js和package.json

app.js的內(nèi)容如下:

var express = require("express");
var app = express();
//設(shè)置public目錄為靜態(tài)目錄
app.use(express.static("public"));
//監(jiān)聽3000端口
app.listen(3000);

package.json內(nèi)容如下(主要目的是安裝express,自己可以npm init自己生成一下,不必抄我的):

{
  "name": "docker",
  "version": "1.0.0",
  "description": "docker test",
  "main": "app.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.15.3"
  }
}
第二步:在myDocker同級(jí)目錄下,新建一個(gè)public目錄,放張圖片進(jìn)去,這里我放了一張美女圖片(hhh)。

第三步:在myDocker同級(jí)目錄下新建一個(gè)Dockerfile,內(nèi)容如下:
#設(shè)置基礎(chǔ)鏡像
FROM daocloud.io/library/node:latest
#維護(hù)者信息
MAINTAINER wuming wuming@maihaoche.com
#在容器中新建一個(gè)myDocker文件中
RUN mkdir myDocker
#將Dockerfile所在目錄中myDocker文件夾的內(nèi)容加到目標(biāo)容器中的myDocker文件夾中
ADD myDocker  /myDocker
#設(shè)置工作目錄
WORKDIR /myDocker
#執(zhí)行安裝項(xiàng)目依賴包的命令
RUN npm install
#容器啟動(dòng)時(shí),執(zhí)行node app.js
CMD node app.js
第四步:構(gòu)建一個(gè)名為my-docker的鏡像

當(dāng)前目錄結(jié)構(gòu)為:
myDocker
??----Dockerfile
??----myDocker
????----app.js
????----package.json
??----public
構(gòu)建命令

docker build -t my-docker:latest .
第五步:以掛載方式啟動(dòng)容器
 docker run -d -p 8003:3000 -v /Users/wuming/dockerWorkpace/myDocker/public:/myDocker/public  my-docker:latest

這里我將本機(jī)的myDocker下的public掛載到容器中的/myDocker/public下,這里我們可以登入容器中看一下,會(huì)發(fā)現(xiàn)我們鏡像并沒有將我們的public目錄打包進(jìn)去,但是我們的容器中卻有這個(gè)public目錄。

第六步:訪問我們的圖片

在游覽器地址欄中輸入http://localhost:8003/test.jpg便可看見,如下效果:
大家可以往自己的本機(jī)的public丟圖片進(jìn)去,再去訪問它試試看,以及看看容器中的public沒有動(dòng)態(tài)改變,答案是可以的。

數(shù)據(jù)卷容器
上面我們已經(jīng)實(shí)現(xiàn)了數(shù)據(jù)卷,但是我們發(fā)現(xiàn)加入如果我要起多個(gè)容器服務(wù),時(shí)間短還能記得這個(gè)容器掛載目錄,要是時(shí)間多了豈不是都忘了,而且每次這樣去掛載也挺麻煩的,我們能不能把我們已經(jīng)配好數(shù)據(jù)卷的容器作為一個(gè)數(shù)據(jù)卷的提供者呢?答案是可以的,這就是我們要說的數(shù)據(jù)卷容器,接下來我們操作一下。
docker run -d -p 8005:3000 --volumes-from NAMES或者CONTAINER ID  my-docker:latest
上面的NAMES或者CONTAINER ID為我們配好的數(shù)據(jù)卷的容器。啟動(dòng)完容器之后,我們可以訪問試一下,并且往掛載目錄丟點(diǎn)其他圖片進(jìn)去,看看兩個(gè)容器服務(wù)是不是都可以訪問到。答案是可以的。
使用網(wǎng)絡(luò) 外部訪問容器
1.映射所有接口地址
-p <端口號(hào)(8003)>:<端口號(hào)(3000)>

任何ip地址的指定<端口號(hào)(8003)>都可以訪問到服務(wù)(前提是那ip地址對(duì)應(yīng)的主機(jī)要起了這個(gè)服務(wù))

2.映射到指定地址的指定端口
-p <端口號(hào)(8003)>:<端口號(hào)(3000)>

指定ip地址的<端口號(hào)(8003)>都可以訪問到服務(wù)(前提是那ip地址對(duì)應(yīng)的主機(jī)要起了這個(gè)服務(wù)),比如指定127.0.0.1,只有本機(jī)輸入127.0.0.1:8003或者localhost:8003可以訪問自己的服務(wù),但是其他同一個(gè)局域網(wǎng)的手機(jī)輸入本機(jī)的對(duì)應(yīng)局域網(wǎng)的ip地址:8003是訪問不到的,小伙們可以拿自己的手機(jī)試試。

Docker常用命令 1.殺死所有正在運(yùn)行的容器
docker kill $(docker ps -a -q)
2.刪除所有已經(jīng)停止的容器
docker rm $(docker ps -a -q)
3.刪除所有鏡像
docker rmi $(docker images -q)
4.關(guān)閉容器
docker stop CONTAINER ID或者NAMES
5.重新啟動(dòng)關(guān)閉的容器
docker start CONTAINER ID或者NAMES
6.移除本地容器
docker rm CONTAINER ID或者NAMES
7.查看本地容器
docker ps  //查看正在運(yùn)行的容器
docker ps -a //查看所有容器
8.查看本地鏡像
 docker images
9.創(chuàng)建鏡像
 docker build -t name:tag Dockerfile路徑  
10.修改本地鏡像標(biāo)記
 docker tag  IMAGE ID  name:tag 
 docker rmi name:tag
11.刪除本地鏡像
docker rmi name:tag或者IMAGE ID
12.進(jìn)入容器
docker exec -it IMAGE ID或者NAMES /bin/bash
13.獲取鏡像中心的鏡像
docker pull name:tag
14.獲取容器的端口映射配置
docker port CONTAINER ID或者NAMES

持續(xù)更新更新....

Dockerfile命令速查表 FROM 命令
FROM :

用于設(shè)置基礎(chǔ)鏡像,一般是Dockerfile的第一句。
如果沒有指定 tag ,則默認(rèn)tag是latest。

MAINTAINER
MAINTAINER 

用來指定維護(hù)者的姓名和聯(lián)系方式。

RUN
RUN  或 RUN ["executable", "param1", "param2"]

每條 RUN 指令將在當(dāng)前鏡像基礎(chǔ)上執(zhí)行指定命令,并提交為新的鏡像。

ADD
ADD  

文件復(fù)制到 文件: 是相對(duì)被構(gòu)建的源目錄的相對(duì)路徑,可以是文件或目錄的路徑,也可以是一個(gè)遠(yuǎn)程的文件 url, 是容器中的絕對(duì)路徑。

COPY
COPY  

復(fù)制本地主機(jī)的 (為Dockerfile所在目錄的相對(duì)路徑)到容器中的 ,與ADD指令差不多

ENTRYPOINT
ENTRYPOINT ["executable", "param1", "param2"] :推薦使用的 exec 形式

ENTRYPOINT command param1 param2 :shell 形式

配置容器啟動(dòng)后執(zhí)行的命令,并且不可被 docker run 提供的參數(shù)覆蓋。
一個(gè) Dockerfile 中只能有一個(gè) ENTRYPOINT,如果有多個(gè),則最后一個(gè)生效。

CMD
CMD ["executable","param1","param2"] 使用 exec 執(zhí)行,推薦方式;
CMD command param1 param2 在 /bin/sh 中執(zhí)行,提供給需要交互的應(yīng)用;
CMD ["param1","param2"] 提供給 ENTRYPOINT 的默認(rèn)參數(shù);

指定啟動(dòng)容器時(shí)執(zhí)行的命令,每個(gè) Dockerfile 只能有一條 CMD 命令。如果指定了多條命令,只有最后一條會(huì)被執(zhí)行。

如果用戶啟動(dòng)容器時(shí)候指定了運(yùn)行的命令,則會(huì)覆蓋掉 CMD 指定的命令。

WORKDIR
WORKDIR /path/to/workdir

為后續(xù)的 RUN、CMD、ENTRYPOINT 指令配置工作目錄。

可以使用多個(gè) WORKDIR 指令,后續(xù)命令如果參數(shù)是相對(duì)路徑,則會(huì)基于之前命令指定的路徑。例如

WORKDIR /a
WORKDIR b
WORKDIR c
RUN pwd

則最終路徑為 /a/b/c 。

EXPOSE
EXPOSE  [...]

告訴 Docker 服務(wù)端容器暴露的端口號(hào),供互聯(lián)系統(tǒng)使用。
例如 EXPOSE 8080 3000,開放 8080 和 3000 端口。

ENV
ENV  

指定一個(gè)環(huán)境變量,會(huì)被后續(xù) RUN 指令使用,并在容器運(yùn)行時(shí)保持。

VOLUME
VOLUME ["/data"]

創(chuàng)建一個(gè)可以從本地主機(jī)或其他容器掛載的掛載點(diǎn),一般用來存放數(shù)據(jù)庫和需要保持的數(shù)據(jù)等。

USER
USER 

為容器內(nèi)指定 CMD RUN ENTRYPOINT 命令運(yùn)行時(shí)的用戶名或UID。

ONBUILD
ONBUILD [INSTRUCTION]

配置當(dāng)所創(chuàng)建的鏡像作為其它新創(chuàng)建鏡像的基礎(chǔ)鏡像時(shí),所執(zhí)行的操作指令。
例如,利用Dockerfile創(chuàng)建了一個(gè)鏡像A,其中Dockerfile中有這么幾個(gè)命令

ONBUILD RUN mkdir test
ONBUILD ADD app.js /test/app.js

那么鏡像B基于鏡像A去構(gòu)建的時(shí)候,默認(rèn)會(huì)在最后加上這兩行命令

 FROM 鏡像A
 RUN mkdir test
 ADD app.js /test/app.js

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/26929.html

相關(guān)文章

  • JS正則表達(dá)式入門,看這篇就夠了

    摘要:如果遇到非常的復(fù)雜的匹配,正則表達(dá)式的優(yōu)勢(shì)就更加明顯了。關(guān)于正則表達(dá)式書寫規(guī)則,可查看,上面說的很清楚了,我就不貼出來了。替換與正則表達(dá)式匹配的子串,并返回替換后的字符串。結(jié)語正則表達(dá)式并不難,懂了其中的套路之后,一切都變得簡(jiǎn)單了。 前言 在正文開始前,先說說正則表達(dá)式是什么,為什么要用正則表達(dá)式?正則表達(dá)式在我個(gè)人看來就是一個(gè)瀏覽器可以識(shí)別的規(guī)則,有了這個(gè)規(guī)則,瀏覽器就可以幫我們判斷...

    wenzi 評(píng)論0 收藏0
  • ES6入門,看這篇就夠了

    摘要:從入門到放棄是什么,黑歷史,不講,自己百度去。類你沒有看錯(cuò),這里面的就沒有問題的。之前我們用過,和有了,再也不用這兩個(gè)貨了。一個(gè)函數(shù),可以遍歷狀態(tài)感覺就是狀態(tài)機(jī),好吧不說了再說就懵逼了。 ES6從入門到放棄 1.ES6是什么,黑歷史,不講,自己百度去。 2.在瀏覽器中如何使用? 1.babel babeljs.io在線編譯 2.traceur-----Google出的編譯器,把E...

    lewinlee 評(píng)論0 收藏0
  • 監(jiān)聽器入門看這篇就夠了

    摘要:但監(jiān)聽器要在事件源上實(shí)現(xiàn)接口也就是說,直接用一個(gè)類實(shí)現(xiàn)和接口是監(jiān)聽不到內(nèi)對(duì)象的變化的。 什么是監(jiān)聽器 監(jiān)聽器就是一個(gè)實(shí)現(xiàn)特定接口的普通java程序,這個(gè)程序?qū)iT用于監(jiān)聽另一個(gè)java對(duì)象的方法調(diào)用或?qū)傩愿淖儯?dāng)被監(jiān)聽對(duì)象發(fā)生上述事件后,監(jiān)聽器某個(gè)方法將立即被執(zhí)行。。 為什么我們要使用監(jiān)聽器? 監(jiān)聽器可以用來檢測(cè)網(wǎng)站的在線人數(shù),統(tǒng)計(jì)網(wǎng)站的訪問量等等! 監(jiān)聽器組件 監(jiān)聽器涉及三個(gè)組件:事件...

    eechen 評(píng)論0 收藏0
  • Lombok 看這篇就夠了

    摘要:注解在類上為類提供一個(gè)全參的構(gòu)造方法,加了這個(gè)注解后,類中不提供默認(rèn)構(gòu)造方法了。這個(gè)注解用在類上,使用類中所有帶有注解的或者帶有修飾的成員變量生成對(duì)應(yīng)的構(gòu)造方法。 轉(zhuǎn)載請(qǐng)注明原創(chuàng)地址:http://www.54tianzhisheng.cn/2018/01/07/lombok/ showImg(http://ohfk1r827.bkt.clouddn.com/blog/180107/7...

    LeanCloud 評(píng)論0 收藏0
  • Python 3 入門,看這篇就夠了

    摘要:縮進(jìn)不一致,會(huì)導(dǎo)致運(yùn)行錯(cuò)誤。變量變量在使用前必須先定義即賦予變量一個(gè)值,否則會(huì)報(bào)錯(cuò)數(shù)據(jù)類型布爾只有和兩個(gè)值,表示真或假。 簡(jiǎn)介 Python 是一種高層次的結(jié)合了解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言。Python 由 Guido van Rossum 于 1989 年底在荷蘭國家數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究所發(fā)明,第一個(gè)公開發(fā)行版發(fā)行于 1991 年。 特點(diǎn) 易于學(xué)習(xí):Python ...

    Shimmer 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<