班級(jí)規(guī)模及環(huán)境--熱線(xiàn):4008699035 手機(jī):15921673576( 微信同號(hào)) |
每個(gè)班級(jí)的人數(shù)限3到5人,互動(dòng)授課, 保障效果,小班授課。 |
上間和地點(diǎn) |
上部份地點(diǎn):【上海】同濟(jì)大學(xué)(滬西)/新城金郡商務(wù)樓(11號(hào)線(xiàn)白銀路站)【深圳分部】:電影大廈(地鐵一號(hào)線(xiàn)大劇院站)/深圳大學(xué)成教院【北京分部】:北京中山學(xué)院/福鑫大樓【南京分部】:金港大廈(和燕路)【武漢分部】:佳源大廈(高新二路)【成都分部】:領(lǐng)館區(qū)1號(hào)(中和大道)【沈陽(yáng)分部】:沈陽(yáng)理工大學(xué)/六宅臻品【鄭州分部】:鄭州大學(xué)/錦華大廈【石家莊分部】:河北科技大學(xué)/瑞景大廈 最近開(kāi)間(周末班/連續(xù)班/晚班):2019年1月26日 |
實(shí)驗(yàn)設(shè)備 |
◆小班教學(xué),教學(xué)效果好 ☆注重質(zhì)量☆邊講邊練 ☆合格學(xué)員免費(fèi)推薦工作 ★實(shí)驗(yàn)設(shè)備請(qǐng)點(diǎn)擊這兒查看★ |
質(zhì)量保障 |
1、培訓(xùn)過(guò)程中,如有部分內(nèi)容理解不透或消化不好,可免費(fèi)在以后培訓(xùn)班中重聽(tīng); 2、培訓(xùn)結(jié)束后,授課老師留給學(xué)員聯(lián)系方式,保障培訓(xùn)效果,免費(fèi)提供課后技術(shù)支持。 3、培訓(xùn)合格學(xué)員可享受免費(fèi)推薦就業(yè)機(jī)會(huì)。☆合格學(xué)員免費(fèi)頒發(fā)相關(guān)工程師等資格證書(shū),提升職業(yè)資質(zhì)。專(zhuān)注高端技術(shù)培訓(xùn)15年,端海學(xué)員的能力得到大家的認(rèn)同,受到用人單位的廣泛贊譽(yù),端海的證書(shū)受到廣泛認(rèn)可。 |
部份程大綱 |
|
- 第1章 課程介紹
本課程將從基本語(yǔ)法講起,逐漸深入,幫助同學(xué)深度理解Go語(yǔ)言面向接口,函數(shù)式編程,錯(cuò)誤處理,測(cè)試,并行計(jì)算等元素,并帶領(lǐng)大家實(shí)現(xiàn)一個(gè)分布式爬蟲(chóng)的實(shí)戰(zhàn)項(xiàng)目。
- 1-1 課程導(dǎo)讀 試看
1-2 安裝與環(huán)境
第2章 基礎(chǔ)語(yǔ)法
量,常量,類(lèi)型,選擇,循環(huán),函數(shù),指針,本章節(jié)帶領(lǐng)大家學(xué)習(xí)一門(mén)新語(yǔ)言所需的必備語(yǔ)法知識(shí)。讓大家對(duì)Go語(yǔ)言有一個(gè)初步的認(rèn)識(shí)!
- 2-1 變量定義
2-2 內(nèi)建變量類(lèi)型
2-3 常量與枚舉
2-4 條件語(yǔ)句
2-5 循環(huán)
2-6 函數(shù)
2-7 指針
第3章 內(nèi)建容器
本章節(jié)我們來(lái)學(xué)習(xí)數(shù)組,切片,Map和字符串。在Go語(yǔ)言中,我們一般不直接使用數(shù)組,而是使用切片來(lái)管理線(xiàn)性表結(jié)構(gòu),它的語(yǔ)法類(lèi)似python的list,不過(guò)更強(qiáng)大哦。當(dāng)然,Map和字符串的學(xué)習(xí)也是必不可少。掌握至此,我們就可以寫(xiě)一些簡(jiǎn)單的算法了,刷刷leetcode不在話(huà)下,我們就來(lái)試一試。...
- 3-1 數(shù)組
3-2 切片的概念
3-3 切片的操作
3-4 Map
3-5 Map例題
3-6 字符和字符串處理
第4章 面向“對(duì)象”
Go語(yǔ)言沒(méi)有class,只有struct。我們來(lái)看看struct如何使用,Go語(yǔ)言給結(jié)構(gòu)體定義類(lèi)似方法或者成員函數(shù)的做法非常有特色。我們還將學(xué)習(xí)Go語(yǔ)言的包的概念,以及如何封裝,如何擴(kuò)展已有類(lèi)型等。我們還將學(xué)習(xí)GOPATH和Go語(yǔ)言項(xiàng)目的目錄結(jié)構(gòu),如何從網(wǎng)上下載依賴(lài)包等一系列項(xiàng)目相關(guān)的知識(shí)。我們將以“樹(shù)”的結(jié)構(gòu)和遍歷作為貫穿本章...
- 4-1 結(jié)構(gòu)體和方法
4-2 包和封裝
4-3 擴(kuò)展已有類(lèi)型
4-4 GOPATH以及目錄結(jié)構(gòu)
第5章 面向接口
這一章我們從duck typing的概念開(kāi)始學(xué)起,還將探討其他語(yǔ)言中對(duì)duck typing的支持,由此引出接口的概念。我們將深入理解Go語(yǔ)言接口的內(nèi)部實(shí)現(xiàn)以及使用接口實(shí)現(xiàn)組合的模式。
- 5-1 duck typing的概念
5-2 接口的定義和實(shí)現(xiàn)
5-3 接口的值類(lèi)型
5-4 接口的組合
5-5 常用系統(tǒng)接口
第6章 函數(shù)式編程
在其他通用語(yǔ)言中,函數(shù)式編程是“高級(jí)”概念,但對(duì)于Go語(yǔ)言卻非常基本。本章我們將講解函數(shù)式編程的概念并且比較其他語(yǔ)言函數(shù)式編程的實(shí)現(xiàn)方法。我們將重點(diǎn)理解閉包。這章中我們將采用多樣的例題來(lái)幫助大家更好的理解閉包,函數(shù)作為一等公民等及其常見(jiàn)概念和應(yīng)用方法。...
- 6-1 函數(shù)式編程 試看
6-2 函數(shù)式編程例一 試看
6-3 函數(shù)式編程例二
第7章 錯(cuò)誤處理和資源管理
這將是本課程最“無(wú)聊”的一章,但卻是區(qū)分出優(yōu)秀軟件工程師的關(guān)鍵能力。Go語(yǔ)言獨(dú)特的defer/panic/recover,以及錯(cuò)誤機(jī)制,在社區(qū)有著廣泛的爭(zhēng)論。我們來(lái)深入理解Go語(yǔ)言的錯(cuò)誤處理機(jī)制,看看Go語(yǔ)言如何區(qū)分錯(cuò)誤以及異常。最后,我們實(shí)現(xiàn)一個(gè)Web應(yīng)用微型項(xiàng)目,采用商業(yè)服務(wù)的錯(cuò)誤處理思路,結(jié)合函數(shù)式編程,來(lái)演示Go語(yǔ)言錯(cuò)誤...
- 7-1 defer調(diào)用
7-2 錯(cuò)誤處理概念
7-3 服務(wù)器統(tǒng)一出錯(cuò)處理
7-4 panic和recover
7-5 服務(wù)器統(tǒng)一出錯(cuò)處理2
第8章 測(cè)試與性能調(diào)優(yōu)
Go語(yǔ)言的測(cè)試不同于其他如junit,Go語(yǔ)言采用“表格驅(qū)動(dòng)測(cè)試”的理念。我們將學(xué)習(xí)和體會(huì)這樣的理念,并用Go語(yǔ)言的測(cè)試支持庫(kù)來(lái)實(shí)踐表格驅(qū)動(dòng)測(cè)試,并做代碼覆蓋和性能檢測(cè),通過(guò)內(nèi)建的性能調(diào)優(yōu)工具來(lái)優(yōu)化我們之前的算法。最后演示了對(duì)http服務(wù)器的多種粒度的測(cè)試。...
- 8-1 測(cè)試
8-2 代碼覆蓋率和性能測(cè)試
8-3 使用pprof進(jìn)行性能調(diào)優(yōu)
8-4 測(cè)試http服務(wù)器(上)
8-5 測(cè)試http服務(wù)器(下)
8-6 生成文檔和示例代碼
8-7 測(cè)試總結(jié)
第9章 Goroutine
這一章開(kāi)始我們進(jìn)入并發(fā)編程。我們講解Goroutine,協(xié)程的概念,以及背后的Go語(yǔ)言調(diào)度器。
- 9-1 goroutine
9-2 go語(yǔ)言的調(diào)度器
第10章 Channel
Channel是Goroutine之間通信的橋梁,它和函數(shù)一樣是一等公民。在介紹完Channel的語(yǔ)法及運(yùn)行方式后,我們將采用數(shù)個(gè)例題來(lái)演示Go語(yǔ)言并發(fā)編程中最常見(jiàn)的任務(wù)極其解決模式。
- 10-1 channel
10-2 使用Channel等待任務(wù)結(jié)束
10-3 使用Channel進(jìn)行樹(shù)的遍歷
10-4 用select進(jìn)行調(diào)度
10-5 傳統(tǒng)同步機(jī)制
第11章 http及其他標(biāo)準(zhǔn)庫(kù)
這里我們簡(jiǎn)要介紹一下Go語(yǔ)言中非常重要而且封裝良好的http標(biāo)準(zhǔn)庫(kù),回顧并實(shí)現(xiàn)http客戶(hù)端和服務(wù)器。我們還介紹了Go語(yǔ)言中其他的標(biāo)準(zhǔn)庫(kù)。
- 11-1 http標(biāo)準(zhǔn)庫(kù)
11-2 其它標(biāo)準(zhǔn)庫(kù)
第12章 迷宮的廣度優(yōu)先搜索
這章我們將綜合運(yùn)用學(xué)過(guò)的知識(shí)實(shí)現(xiàn)一個(gè)廣度優(yōu)先算法來(lái)解迷宮,為接下來(lái)的實(shí)戰(zhàn)項(xiàng)目做好技術(shù)和算法上的準(zhǔn)備。廣度優(yōu)先算法不僅是面試和工作中常用的技術(shù),而且實(shí)現(xiàn)上相比大部分其它算法更為復(fù)雜,是檢驗(yàn)是否熟練掌握一門(mén)語(yǔ)言的經(jīng)典例題。讓我們來(lái)試一試吧。...
- 12-1 迷宮_算法
12-2 迷宮代碼實(shí)現(xiàn)
第13章 開(kāi)始實(shí)戰(zhàn)項(xiàng)目
至此為止,恭喜同學(xué)完成了這門(mén)課Go語(yǔ)言部分的學(xué)習(xí)。接下來(lái)我們來(lái)進(jìn)入實(shí)戰(zhàn)項(xiàng)目。本章將介紹項(xiàng)目的具體內(nèi)容,課題的選擇,技術(shù)選型,總體架構(gòu),以及實(shí)現(xiàn)步驟。
- 13-1 爬蟲(chóng)項(xiàng)目介紹
13-2 總體算法
第14章 單任務(wù)版爬蟲(chóng)
在考慮性能之前我們首先應(yīng)該考慮正確性。單任務(wù)版爬蟲(chóng)確保我們能夠正確爬取我們所需的信息。我們應(yīng)用了之前練習(xí)的廣度優(yōu)先算法,抽象出Parser和Fetcher,學(xué)習(xí)正則表達(dá)式,成功實(shí)現(xiàn)并運(yùn)行單任務(wù)版爬蟲(chóng)。
- 14-1 獲得初始頁(yè)面內(nèi)容
14-2 正則表達(dá)式
14-3 提取城市和url
14-4 單任務(wù)版爬蟲(chóng)的架構(gòu)
14-5 Engine 與 Parser
14-6 測(cè)試CityListParser
14-7 城市解析器
14-8 用戶(hù)信息解析器(上)
14-9 用戶(hù)信息解析器(下)
14-10 單任務(wù)版爬蟲(chóng)性能
第15章 并發(fā)版爬蟲(chóng)
為了提升爬蟲(chóng)性能,我們抽象出Worker的概念,并添加調(diào)度器,實(shí)現(xiàn)并發(fā)版爬蟲(chóng)。我們應(yīng)用接口的概念,完成了由簡(jiǎn)至復(fù)雜的多個(gè)調(diào)度器的實(shí)現(xiàn)。同學(xué)可以在實(shí)戰(zhàn)項(xiàng)目中更真實(shí)的體會(huì)并學(xué)習(xí)Go語(yǔ)言并發(fā)編程的多種模式。
- 15-1 并發(fā)版爬蟲(chóng)架構(gòu)
15-2 簡(jiǎn)單調(diào)度器
15-3 并發(fā)調(diào)度器
15-4 隊(duì)列實(shí)現(xiàn)調(diào)度器
15-5 重構(gòu)和總結(jié)
15-6 更多城市
15-7 更多用戶(hù)與去重
第16章 數(shù)據(jù)存儲(chǔ)和展示
是時(shí)候檢驗(yàn)我們項(xiàng)目的成果了。我們將采用Docker+ElasticSearch來(lái)存儲(chǔ)我們爬取的信息。在簡(jiǎn)單了解Docker和ElasticSearch后,我們將使用ElasticSearch的Go語(yǔ)言客戶(hù)端將爬取數(shù)據(jù)寫(xiě)入。之后我們使用Go語(yǔ)言的模板引擎迅速實(shí)現(xiàn)前端網(wǎng)頁(yè)展示。至此,我們已經(jīng)可以嘗試自己喜歡的搜索條件去查看數(shù)據(jù)啦。...
- 16-1 ItemSaver的架構(gòu)
16-2 Docker和ElasticSearch介紹
16-3 Docker的安裝和使用
16-4 ElasticSearch入門(mén)
16-5 向ElasticSearch存儲(chǔ)數(shù)據(jù)
16-6 完整爬蟲(chóng)的運(yùn)行與數(shù)據(jù)存儲(chǔ)
16-7 添加URL與ID
16-8 重構(gòu)與運(yùn)行
16-9 標(biāo)準(zhǔn)模板庫(kù)介紹
16-10 實(shí)現(xiàn)前端展示頁(yè)面
16-11 完善前端展示
第17章 分布式爬蟲(chóng)
本章在簡(jiǎn)要介紹分布式概念后,將我們的并發(fā)爬蟲(chóng)改寫(xiě)成分布式。我們?cè)诤苌俑膭?dòng)的情況下,加入jsonrpc客戶(hù)/服務(wù)端,實(shí)現(xiàn)并部署分布式爬蟲(chóng)。最后探討實(shí)戰(zhàn)項(xiàng)目的更多改進(jìn)方案。
- 17-1 分布式系統(tǒng)簡(jiǎn)介
17-2 分布式爬蟲(chóng)架構(gòu)
17-3 jsonrpc的使用
17-4 ItemSaver服務(wù)
17-5 整合ItemSaver服務(wù)
17-6 解析器的序列化
17-7 實(shí)現(xiàn)爬蟲(chóng)服務(wù)
17-8 完整分布式爬蟲(chóng)的運(yùn)行
17-9 使用連接池鏈接爬蟲(chóng)集群
|