用R進行文件系統(tǒng)管理(轉(zhuǎn))

前言

R語言作為腳本語言愧膀,有一套文件系統(tǒng)管理的功能函數(shù)檩淋,也可以實現(xiàn)如Python一樣的系統(tǒng)管理功能萄金。

本文將詳細(xì)介紹,R語言的文件系統(tǒng)管理日戈。試試有什么不樣吧孙乖?

目錄

文件系統(tǒng)介紹

目錄操作

文件操作

幾個特殊的目錄

1. 文件系統(tǒng)介紹

計算機的文件系統(tǒng)是一種存儲和組織計算機數(shù)據(jù)的方法,它使得對其訪問和查找變得容易鼓拧,文件系統(tǒng)使用文件和樹形目錄的抽象邏輯概念代替了硬盤和光盤等物理設(shè)備使用數(shù)據(jù)塊的概念越妈,用戶使用文件系統(tǒng)來保存數(shù)據(jù)不必關(guān)心數(shù)據(jù)實際保存在硬盤(或者光盤)的地址為多少的數(shù)據(jù)塊上,只需要記住這個文件的所屬目錄和文件名酌住。在寫入新數(shù)據(jù)之前酪我,用戶不必關(guān)心硬盤上的那個塊地址沒有被使用且叁,硬盤上的存儲空間管理(分配和釋放)功能由文件系統(tǒng)自動完成,用戶只需要記住數(shù)據(jù)被寫入到了哪個文件中逞带。

R語言和其他編程語言一樣展氓,都有對文件系統(tǒng)的操作,包括文件操作和目錄操作未妹,函數(shù)API都定義在base包中。

2. 目錄操作

系統(tǒng)環(huán)境:

Linux: Ubuntu Server 12.04.2 LTS 64bit

R: 3.0.1 x86_64-pc-linux-gnu

2.1 查看目錄

查看當(dāng)前目錄下的子目錄络它。

# 啟動R程序

~ R

# 當(dāng)前的目錄

> getwd()

[1] "/home/conan/R/fs"

# 查看當(dāng)前目錄的子目錄

> list.dirs()

[1] "."? ? "./tmp"

查看當(dāng)前目錄的子目錄和文件。

> dir()

[1] "readme.txt" "tmp"

# 查看指定目錄的子目錄和文件导梆。

> dir(path="/home/conan/R")

[1] "A.txt"? ? ? ? ? ? ? ? ? ? ? ? ? ? "caTools"

[3] "chinaWeather"? ? ? ? ? ? ? ? ? ? ? "DemoRJava"

[5] "env"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "FastRWeb"

[7] "font"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "fs"

[9] "github"? ? ? ? ? ? ? ? ? ? ? ? ? ? "lineprof"

[11] "pryr"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "readme.txt"

[13] "RMySQL"? ? ? ? ? ? ? ? ? ? ? ? ? ? "RServe"

[15] "rstudio-server-0.97.551-amd64.deb" "websockets"

[17] "x86_64-pc-linux-gnu-library"

# 只列出以字母R開頭的子目錄或文件

> dir(path="/home/conan/R",pattern='^R')

[1] "RMySQL" "RServe"

# 列出目錄下所有的目錄和文件看尼,包括隱藏文件藏斩,如 .A.txt

> dir(path="/home/conan/R",all.files=TRUE)

[1] "."? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ".."

[3] ".A.txt"? ? ? ? ? ? ? ? ? ? ? ? ? ? "A.txt"

[5] "caTools"? ? ? ? ? ? ? ? ? ? ? ? ? "chinaWeather"

[7] "DemoRJava"? ? ? ? ? ? ? ? ? ? ? ? "env"

[9] "FastRWeb"? ? ? ? ? ? ? ? ? ? ? ? ? "font"

[11] "fs"? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? "github"

[13] "lineprof"? ? ? ? ? ? ? ? ? ? ? ? ? "pryr"

[15] "readme.txt"? ? ? ? ? ? ? ? ? ? ? ? "RMySQL"

[17] "RServe"? ? ? ? ? ? ? ? ? ? ? ? ? ? "rstudio-server-0.97.551-amd64.deb"

[19] "websockets"? ? ? ? ? ? ? ? ? ? ? ? "x86_64-pc-linux-gnu-library"

查看當(dāng)前目錄的子目錄和文件却盘,同dir()函數(shù)。

> list.files()

[1] "readme.txt" "tmp"

> list.files(".",all.files=TRUE)

[1] "."? ? ? ? ? ".."? ? ? ? "readme.txt" "tmp"

查看完整的目錄信息兆览。

# 查看當(dāng)前目錄權(quán)限

> file.info(".")

size isdir mode? ? ? ? ? ? ? mtime? ? ? ? ? ? ? ctime? ? ? ? ? ? ? atime? uid? gid uname grname

. 4096? TRUE? 775 2013-11-14 08:40:46 2013-11-14 08:40:46 2013-11-14 08:41:57 1000 1000 conan? conan

# 查看指定目錄權(quán)限

> file.info("./tmp")

size isdir mode? ? ? ? ? ? ? mtime? ? ? ? ? ? ? ctime? ? ? ? ? ? ? atime? uid? gid uname grname

./tmp 4096? TRUE? 775 2013-11-14 14:35:56 2013-11-14 14:35:56 2013-11-14 14:35:56 1000 1000 conan? conan

2.2 創(chuàng)建目錄

# 在當(dāng)前目錄下塞关,新建一個目錄

> dir.create("create")

> list.dirs()

[1] "."? ? ? ? "./create" "./tmp"

創(chuàng)建一個3級子目錄./a1/b2/c3

# 直接創(chuàng)建帆赢,出錯

> dir.create(path="a1/b2/c3")

Warning message:

In dir.create(path = "a1/b2/c3") :

cannot create dir 'a1/b2/c3', reason 'No such file or directory'

# 遞歸創(chuàng)建,成功

> dir.create(path="a1/b2/c3",recursive = TRUE)

> list.dirs()

[1] "."? ? ? ? ? "./a1"? ? ? "./a1/b2"? ? "./a1/b2/c3" "./create"? "./tmp"

# 通過系統(tǒng)命令查看目錄結(jié)構(gòu)

> system("tree")

.

├── a1

│?? └── b2

│??? ? └── c3

├── create

├── readme.txt

└── tmp

2.3 檢查目錄是否存在

# 目錄存在

> file.exists(".")

[1] TRUE

> file.exists("./a1/b2")

[1] TRUE

# 目錄不存在

> file.exists("./aa")

[1] FALSE

2.4 檢查目錄的權(quán)限

檢查目錄的權(quán)限

> df<-dir(full.names = TRUE)

# 檢查文件或目錄是否存在怠益,mode=0

> file.access(df, 0) == 0

./a1? ? ./create ./readme.txt? ? ? ? ./tmp

TRUE? ? ? ? TRUE? ? ? ? TRUE? ? ? ? TRUE

# 檢查文件或目錄是否可執(zhí)行瘾婿,mode=1,目錄為可以執(zhí)行

> file.access(df, 1) == 0

./a1? ? ./create ./readme.txt? ? ? ? ./tmp

TRUE? ? ? ? TRUE? ? ? ? FALSE? ? ? ? TRUE

# 檢查文件或目錄是否可寫孩饼,mode=2

> file.access(df, 2) == 0

./a1? ? ./create ./readme.txt? ? ? ? ./tmp

TRUE? ? ? ? TRUE? ? ? ? TRUE? ? ? ? TRUE

# 檢查文件或目錄是否可讀竹挡,mode=4

> file.access(df, 4) == 0

./a1? ? ./create ./readme.txt? ? ? ? ./tmp

TRUE? ? ? ? TRUE? ? ? ? TRUE? ? ? ? TRUE

修改目錄權(quán)限立膛。

# 修改目錄權(quán)限,所有用戶只讀

> Sys.chmod("./create", mode = "0555", use_umask = TRUE)

# 查看目錄完整信息好啰,mode=555

>? file.info("./create")

size isdir mode? ? ? ? ? ? ? mtime? ? ? ? ? ? ? ctime? ? ? ? ? ? ? atime? uid? gid uname grname

./create 4096? TRUE? 555 2013-11-14 08:36:28 2013-11-14 09:07:05 2013-11-14 08:36:39 1000 1000 conan? conan

# create目錄不可以寫

> file.access(df, 2) == 0

./a1? ? ./create ./readme.txt? ? ? ? ./tmp

TRUE? ? ? ? FALSE? ? ? ? TRUE? ? ? ? TRUE

2.5 對目錄重名

# 對tmp目錄重命名

> file.rename("tmp", "tmp2")

[1] TRUE

# 查看目錄

> dir()

[1] "a1"? ? ? ? "create"? ? "readme.txt" "tmp2"

2.6 刪除目錄

# 刪除tmp2目錄

> unlink("tmp2", recursive = TRUE)

# 查看目錄

> dir()

[1] "a1"? ? ? ? "create"? ? "readme.txt"

2.7 其他功能函數(shù)

拼接目錄字符串

# 拼接目錄字符串

> file.path("p1","p2","p3")

[1] "p1/p2/p3"

> dir(file.path("a1","b2"))

[1] "c3"

獲取最底層的子目錄名

# 當(dāng)前目錄

> getwd()

[1] "/home/conan/R/fs"

# 最底層子目錄

> dirname("/home/conan/R/fs/readme.txt")

[1] "/home/conan/R/fs"

# 最底層子目錄或文件名

> basename(getwd())

[1] "fs"

>? basename("/home/conan/R/fs/readme.txt")

[1] "readme.txt"

轉(zhuǎn)換文件擴展路徑

# 轉(zhuǎn)換~為用戶目錄

> path.expand("~/foo")

[1] "/home/conan/foo"

標(biāo)準(zhǔn)化路徑框往,用來轉(zhuǎn)換win或linux的路徑分隔符

# linux

> normalizePath(c(R.home(), tempdir()))

[1] "/usr/lib/R"? ? ? "/tmp/RtmpqNyjPD"

# win

> normalizePath(c(R.home(), tempdir()))

[1] "C:\\Program Files\\R\\R-3.0.1"

[2] "C:\\Users\\Administrator\\AppData\\Local\\Temp\\RtmpMtSnci"

短路徑椰弊,縮減路徑的顯示長度,只在win中運行贤重。

# win

> shortPathName(c(R.home(), tempdir()))

[1] "C:\\PROGRA~1\\R\\R-30~1.1"

[2] "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\RTMPMT~1"

3. 文件操作

3.1 查看文件

> dir()

[1]? "create"? "readme.txt"

# 檢查文件是否存在

> file.exists("readme.txt")

[1] TRUE

# 文件不存在

> file.exists("readme.txt222")

[1] FALSE

# 查看文件完整信息

> file.info("readme.txt")

size isdir mode? ? ? ? ? ? ? mtime? ? ? ? ? ? ? ctime? ? ? ? ? ? ? atime? uid? gid uname grname

readme.txt? ? 7 FALSE? 664 2013-11-14 08:24:50 2013-11-14 08:24:50 2013-11-14 08:24:50 1000 1000 conan? conan

# 查看文件訪問權(quán)限清焕,存在

>? file.access("readme.txt",0)

readme.txt

0

# 不可執(zhí)行

>? file.access("readme.txt",1)

readme.txt

-1

# 可寫

>? file.access("readme.txt",2)

readme.txt

0

# 可讀

>? file.access("readme.txt",4)

readme.txt

0

# 查看一個不存在的文件訪問權(quán)限秸妥,不存在

> file.access("readme.txt222")

readme.txt222

-1

判斷是文件還是目錄。

# 判斷是否是目錄

> file_test("-d", "readme.txt")

[1] FALSE

> file_test("-d", "create")

[1] TRUE

# 判斷是否是文件

> file_test("-f", "readme.txt")

[1] TRUE

> file_test("-f", "create")

[1] FALSE

3.2 創(chuàng)建文件

# 創(chuàng)建一個空文件 A.txt

> file.create("A.txt")

[1] TRUE

# 創(chuàng)建一個有內(nèi)容的文件 B.txt

> cat("file B\n", file = "B.txt")

> dir()

[1] "A.txt"? ? ? "B.txt"? ? ? "create"? ? "readme.txt"

# 打印A.txt

> readLines("A.txt")

character(0)

# 打印B.txt

> readLines("B.txt")

[1] "file B"

把文件B.txt的內(nèi)容铐刘,合并到 A.txt镰吵。

# 合并文件

> file.append("A.txt", rep("B.txt", 10))

[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

# 查看文件內(nèi)容

> readLines("A.txt")

[1] "file B" "file B" "file B" "file B" "file B" "file B" "file B" "file B" "file B" "file B"

把文件A.txt復(fù)制到文件C.txt

# 復(fù)制文件

> file.copy("A.txt", "C.txt")

[1] TRUE

# 查看文件內(nèi)容

> readLines("C.txt")

[1] "file B" "file B" "file B" "file B" "file B" "file B" "file B" "file B" "file B" "file B"

3.3 修改文件權(quán)限

# 修改文件權(quán)限疤祭,創(chuàng)建者可讀可寫可執(zhí)行饵婆,其他人無權(quán)限

> Sys.chmod("A.txt", mode = "0700", use_umask = TRUE)

# 查看文件信息

> file.info("A.txt")

size isdir mode? ? ? ? ? ? ? mtime? ? ? ? ? ? ? ctime? ? ? ? ? ? ? atime? uid? gid uname grname

A.txt? 70 FALSE? 700 2013-11-14 12:55:18 2013-11-14 12:57:39 2013-11-14 12:55:26 1000 1000 conan? conan

3.4 文件重命名

# 給文件A.txt重命名為AA.txt

> file.rename("A.txt","AA.txt")

[1] TRUE

> dir()

[1] "AA.txt"? ? "B.txt"? ? ? "create"? ? "C.txt"? ? ? "readme.txt"

3.5 硬連接和軟連接

硬連接侨核,指通過索引節(jié)點來進行連接。在Linux的文件系統(tǒng)中搓译,保存在磁盤分區(qū)中的文件不管是什么類型都給它分配一個編號些己,稱為索引節(jié)點號(Inode Index)嘿般。在Linux中涯冠,多個文件名指向同一索引節(jié)點是存在的蛇更。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名派任,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能痹兜。其原因如上所述字旭,因為對應(yīng)該目錄的索引節(jié)點有一個以上的連接崖叫。只刪除一個連接并不影響索引節(jié)點本身和其它的連接,只有當(dāng)最后一個連接被刪除后屈暗,文件的數(shù)據(jù)塊及目錄的連接才會被釋放养叛。也就是說宰翅,文件真正刪除的條件是與之相關(guān)的所有硬連接文件均被刪除汁讼。

軟連接,也叫符號連接(Symbolic Link)瓶珊。軟鏈接文件有類似于Windows的快捷方式耸彪。它實際上是一個特殊的文件。在符號連接中丑瞧,文件實際上是一個文本文件蜀肘,其中包含的有另一文件的位置信息扮宠。

硬連接和軟連接,只在Linux系統(tǒng)中使用获雕。

# 硬連接

> file.link("readme.txt", "hard_link.txt")

[1] TRUE

# 軟連接

> file.symlink("readme.txt", "soft_link.txt")

[1] TRUE

# 查看文件目錄

> system("ls -l")

-rwx------ 1 conan conan? 70 Nov 14 12:55 AA.txt

-rw-rw-r-- 1 conan conan? ? 7 Nov 14 12:51 B.txt

dr-xr-xr-x 2 conan conan 4096 Nov 14 08:36 create

-rw-rw-r-- 1 conan conan? 70 Nov 14 12:56 C.txt

-rw-rw-r-- 2 conan conan? ? 7 Nov 14 08:24 hard_link.txt

-rw-rw-r-- 2 conan conan? ? 7 Nov 14 08:24 readme.txt

lrwxrwxrwx 1 conan conan? 10 Nov 14 13:11 soft_link.txt -> readme.txt

文件hard_link.txt是文件readme.txt硬連接文件届案,文件soft_link.txt是文件readme.txt軟連接文件楣颠,

3.5 刪除文件

有兩個函數(shù)可以使用file.remove和unlink咐蚯,其中unlink函數(shù)使用同刪除目錄操作是一樣的童漩。

# 刪除文件

> file.remove("A.txt", "B.txt", "C.txt")

[1] FALSE? TRUE? TRUE

# 刪除文件

> unlink("readme.txt")

# 查看目錄文件

> system("ls -l")

total 12

-rwx------ 1 conan conan? 70 Nov 14 12:55 AA.txt

dr-xr-xr-x 2 conan conan 4096 Nov 14 08:36 create

-rw-rw-r-- 1 conan conan? ? 7 Nov 14 08:24 hard_link.txt

lrwxrwxrwx 1 conan conan? 10 Nov 14 13:11 soft_link.txt -> readme.txt

# 打印硬連接文件

> readLines("hard_link.txt")

[1] "file A"

# 打印軟連接文件,soft_link.txt春锋,由于原文件被刪除矫膨,有錯誤

> readLines("soft_link.txt")

Error in file(con, "r") : cannot open the connection

In addition: Warning message:

In file(con, "r") :

cannot open file 'soft_link.txt': No such file or directory

4. 幾個特殊的目錄

R.home() 查看R軟件的相關(guān)目錄

.Library 查看R核心包的目錄

.Library.site 查看R核心包的目錄和root用戶安裝包目錄

.libPaths() 查看R所有包的存放目錄

system.file() 查看指定包所在的目錄

4.1 R.home() 查看R軟件的相關(guān)目錄

# 打印R軟件安裝目錄

> R.home()

[1] "/usr/lib/R"

# 打印R軟件bin的目錄

> R.home(component="bin")

[1] "/usr/lib/R/bin"

# 打印R軟件文件的目錄

>? R.home(component="doc")

[1] "/usr/share/R/doc"

通過系統(tǒng)命令,找到R文件的位置期奔。

# 檢查系統(tǒng)中R文件的位置

~ whereis R

R: /usr/bin/R /etc/R /usr/lib/R /usr/bin/X11/R /usr/local/lib/R /usr/share/R /usr/share/man/man1/R.1.gz

# 打印環(huán)境變量R_HOME

~ echo $R_HOME

/usr/lib/R

通過R.home()函數(shù)侧馅,我們可以很容易的定位R軟件的目錄。

4.2 R軟件的包目錄

# 打印核心包的目錄

> .Library

[1] "/usr/lib/R/library"

# 打印核心包的目錄和root用戶安裝包目錄

> .Library.site

[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"

[3] "/usr/lib/R/library"

# 打印所有包的存放目錄

> .libPaths()

[1] "/home/conan/R/x86_64-pc-linux-gnu-library/3.0"

[2] "/usr/local/lib/R/site-library"

[3] "/usr/lib/R/site-library"

[4] "/usr/lib/R/library"

4.3 查看指定包所在的目錄

# base包的存放目錄

> system.file()

[1] "/usr/lib/R/library/base"

# pryr包的存放目錄

>? system.file(package = "pryr")

[1] "/home/conan/R/x86_64-pc-linux-gnu-library/3.0/pryr"

其實呐萌,用R語言操作文件系統(tǒng)還是很方便的馁痴。但對于函數(shù)命名確實不太規(guī)范,需要我們花時間記憶搁胆。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末弥搞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子渠旁,更是在濱河造成了極大的恐慌攀例,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顾腊,死亡現(xiàn)場離奇詭異梆惯,居然都是意外死亡凹髓,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門赌躺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掠归,“玉大人痪署,你說我怎么就攤上這事∶跎” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長褥傍。 經(jīng)常有香客問我,道長凯楔,這世上最難降的妖魔是什么御滩? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上矫废,老公的妹妹穿的比我還像新娘。我一直安慰自己律杠,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著股耽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上击奶,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天痰驱,我揣著相機與錄音,去河邊找鬼蝇完。 笑死傻咖,一個胖子當(dāng)著我的面吹牛警检,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼莹菱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了票摇?” 一聲冷哼從身側(cè)響起灰蛙,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤障本,失蹤者是張志新(化名)和其女友劉穎买置,沒想到半個月后忿项,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡脱柱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了随闺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矩乐。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岳遥,我是刑警寧澤捻艳,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布此叠,位于F島的核電站杆烁,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏简卧。R本人自食惡果不足惜兔魂,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望举娩。 院中可真熱鬧析校,春花似錦构罗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吊奢,卻和暖如春盖彭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背页滚。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工召边, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人裹驰。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓隧熙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親幻林。 傳聞我的和親對象是個殘疾皇子贞盯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容

  • GIT分布式版本控制系統(tǒng)最佳實踐 這篇文章來自于老男孩教育高級架構(gòu)師班12期的徐亮偉同學(xué)。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,398評論 4 36
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理沪饺,服務(wù)發(fā)現(xiàn)躏敢,斷路器,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程随闽,因...
    小菜c閱讀 6,365評論 0 17
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法父丰,類相關(guān)的語法,內(nèi)部類的語法掘宪,繼承相關(guān)的語法,異常的語法攘烛,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • 深度學(xué)習(xí) 【20150628群沙龍完整版】斯坦福魏滚、谷歌、百度坟漱、阿里人工智能頂級專家鼠次,探討未來5年產(chǎn)業(yè)機會 網(wǎng)頁鏈接...
    hzyido閱讀 465評論 0 1