本文將介紹linux后臺(tái)服務(wù)器開發(fā)所需要用到的知識(shí)點(diǎn), Linux后臺(tái)服務(wù)器開發(fā)是針對(duì)有Linux基礎(chǔ)的,本文將從八個(gè)點(diǎn)概括我們開發(fā)時(shí)所用到的知識(shí)點(diǎn)。(技術(shù)點(diǎn)目尾都提供免費(fèi)視頻,關(guān)注+私信關(guān)鍵字:1 。取)
第一 算法與設(shè)計(jì)專題
1.排序與查找
插入排序
快速排序
希爾排序
桶排序
基數(shù)排序
歸并排序
2.常用算法
布隆過(guò)濾器
字符串匹配 KMP算法
回溯算法
貪心算法
推薦算法
深度優(yōu)先,廣度優(yōu)先
3.常用的數(shù)據(jù)結(jié)構(gòu)
平衡二叉樹
紅黑樹
B-樹
KMP算法
棧/隊(duì)列
布隆過(guò)濾器
4.常用的設(shè)計(jì)模式
單例模式
責(zé)任鏈模式
過(guò)濾器模式
發(fā)布訂閱模式
代理模式
工廠模式
第二 后臺(tái)組件編程專題
1.持久化 MySQL
MySQL安裝配置與遠(yuǎn)程連接
項(xiàng)目:數(shù)據(jù)操作源于SQL語(yǔ)句
項(xiàng)目:存儲(chǔ)過(guò)程與事務(wù)處理
項(xiàng)目:SQL函數(shù),運(yùn)算,臨時(shí)表
項(xiàng)目:防數(shù)據(jù)丟失 備份與恢復(fù)
項(xiàng)目:MySQL建庫(kù)建表建索引
2.消息隊(duì)列 ZeroMQ
ZMQ編譯安裝與開發(fā)環(huán)境搭建
項(xiàng)目:publisher-subscriber模式實(shí)現(xiàn)
項(xiàng)目:request-response模式實(shí)現(xiàn)
項(xiàng)目:Router-Dealer模式實(shí)現(xiàn)
項(xiàng)目:史上最快的消息隊(duì)列—性能分析
3.緩存 redis
Redis編譯安裝配置
項(xiàng)目:客戶端全局唯一ID保存機(jī)制
項(xiàng)目:Redis消息隊(duì)列機(jī)制 發(fā)布訂閱
項(xiàng)目:Redis事務(wù)實(shí)戰(zhàn)
項(xiàng)目:Redis安全性能,數(shù)據(jù)備份與恢復(fù)
項(xiàng)目:Redis分布式鎖詳解
4.反向代理 Nginx
Nginx開發(fā)介紹
項(xiàng)目:反向代理負(fù)載均衡配置詳解
項(xiàng)目:自定義協(xié)議upstream開發(fā)
項(xiàng)目:子域名映射
項(xiàng)目:服務(wù)器后臺(tái)攻擊預(yù)防
項(xiàng)目:nginx雙虛擬主機(jī)
5.Restful Http
Http第三方接口實(shí)現(xiàn)
項(xiàng)目:異步Http請(qǐng)求
項(xiàng)目:ngrok與Restlet
項(xiàng)目:長(zhǎng)連接與短鏈接
6.協(xié)調(diào)服務(wù) ZooKeeper
ZK編譯安裝與C API開發(fā)環(huán)境
項(xiàng)目:集群管理與服務(wù)注冊(cè)
項(xiàng)目:節(jié)點(diǎn)創(chuàng)建與監(jiān)控
項(xiàng)目:分布式鎖的實(shí)現(xiàn)
項(xiàng)目:ZK偽集群部署與服務(wù)管理
7.NoSQL MongoDB
MongDB安裝與開發(fā)介紹
項(xiàng)目:MongoDB備份與恢復(fù)
項(xiàng)目:MongoDB文檔操作
項(xiàng)目:全文檢索與正則表達(dá)式
項(xiàng)目:MongoDB建庫(kù)建集合
第三 代碼工程化專題
1.架構(gòu)工程
工程參數(shù)配置與編譯 cmake
代碼規(guī)范與命名規(guī)則
文件命名與變量命名規(guī)則
腳本配置工具 autoconf
代碼工程組織架構(gòu) Makefile
2.管理代碼
分布式版本控制系統(tǒng) git
遠(yuǎn)程倉(cāng)庫(kù),標(biāo)簽管理
github與碼云
創(chuàng)建倉(cāng)庫(kù),導(dǎo)入,checkout
svn環(huán)境搭建與原理
分支管理 沖突解決
產(chǎn)品代碼版本管理 SVN
第四 網(wǎng)絡(luò)服務(wù)專題
1.源碼實(shí)現(xiàn)
服務(wù)器IO核心— epoll編程實(shí)戰(zhàn)
客戶端多網(wǎng)絡(luò)連接機(jī)制poll
文件IO管理select實(shí)戰(zhàn)
2.框架實(shí)戰(zhàn)
高性能的時(shí)間循環(huán) libev
跨平臺(tái)異步I/O libuv
跨平臺(tái)的C++庫(kù) Boost.Asio
事件通知庫(kù) libevent
3.理論詳解
阻塞型 BIO
異步IO AIO
非阻塞型IO NIO
第五 開源框架專題
1.TCP協(xié)議棧
基于DPDK的高性能用戶態(tài)協(xié)議棧 f-stack
基于Netmap單線程協(xié)議棧 NtyTcp
精簡(jiǎn)版tcp協(xié)議棧 LWIP
2.并發(fā)性
用OpenCL的C++ GPU計(jì)算庫(kù) Boost.Compute
Intel線程構(gòu)件塊 Intel TBB
并行編程的異構(gòu)系統(tǒng)的開放標(biāo)準(zhǔn) OpenCL
C++11的反應(yīng)性編程庫(kù) C++ React
3.數(shù)據(jù)庫(kù)
Redis數(shù)據(jù)庫(kù)的C客戶端庫(kù) hiredis
Facebook的嵌入鍵值的快速存儲(chǔ) RocksDB
用于Sqlite3的C++對(duì)象關(guān)系映射 hiberlite
4.國(guó)際化
Unicode 和全球化支持的C、C++ 和JAVA庫(kù) IBM ICU
不同字符編碼之間的編碼轉(zhuǎn)換庫(kù) libiconv
GNU gettext
5.壓縮
非常緊湊的數(shù)據(jù)流壓縮庫(kù) Zlib
快速壓縮和解壓縮 SnAppy
非常快速的壓縮算法 LZ4
單一的C源文件,緊縮/膨脹壓縮庫(kù) Miniz
6.日志
設(shè)計(jì)非常模塊化,并且具有擴(kuò)展性 Boost.Log
靈活添加日志到文件,系統(tǒng)日志 Log4cpp
添加日志到你的C++應(yīng)用程序 templog
C++日志庫(kù),只包含單一的頭文件 easyloggingpp
7.多媒體庫(kù)
開源音頻庫(kù)—跨平臺(tái)的音頻API OpenAL
網(wǎng)絡(luò)實(shí)時(shí)流媒體通信 WebRTC
音頻和音樂數(shù)字信號(hào)處理庫(kù) Maximilian
C++易用和高效的音頻合成 Tonic
8.序列化
快速數(shù)據(jù)交換格式和RPC系統(tǒng) Cap'n Proto
協(xié)議緩沖,谷歌的數(shù)據(jù)交換格式 ProtoBuf
高效的跨語(yǔ)言IPC/RPC Thrift
內(nèi)存高效的序列化庫(kù) FlatBuffers
9.XML庫(kù)
Gnome的xml C解析器和工具包 LibXml2
簡(jiǎn)單快速的C++CML解析器 TinyXML2
簡(jiǎn)單快速的XML解析器 PugiXML
C++的xml解析器 LibXml++
10.腳本
小型快速腳本引擎 Lua
谷歌的快速JavaScript引擎 V8
嵌入式腳本語(yǔ)言 ChaiScript
11.Json庫(kù)
進(jìn)行編解碼和處理Jason數(shù)據(jù)的C語(yǔ)言庫(kù) Jansson
C語(yǔ)言中的JSON解析和打印庫(kù) ibjson
輕量級(jí)的JSON庫(kù) libjson
C/C++的Jason解析生成器 Frozen
12.數(shù)學(xué)庫(kù)
高質(zhì)量的C++線性代數(shù)庫(kù) Armadillo
數(shù)學(xué)圖形模板庫(kù) GMTL
用于個(gè)高精度計(jì)算的C/C++庫(kù) GMP
高級(jí)C++模板頭文件庫(kù) Eigen
13.安全
SSL,TLS和DTLS協(xié)議的安全通信庫(kù) GnuTLS
功能齊全的,開源加密庫(kù) Openssl
有關(guān)加密方案的免費(fèi)的C++庫(kù) Cryto++
14.Web應(yīng)用框架
安全快速開源Web服務(wù)器 Lighttpd
基于Qt庫(kù)的web框架 QDjango
高性能的HTTP和反向代理web服務(wù)器 Nginx
15.網(wǎng)絡(luò)庫(kù)
C異步網(wǎng)絡(luò)開發(fā)庫(kù) Dyad.c
多協(xié)議文件傳輸庫(kù) Curl
高速模塊化的異步通信庫(kù) ZeroMQ
C++面向?qū)ο缶W(wǎng)絡(luò)工具包 ACE
16.異步事件
事件通知庫(kù) libevent
跨平臺(tái)異步I/O libuv
功能齊全,高性能的時(shí)間循環(huán) libev
網(wǎng)絡(luò)和底層I/O編程的跨平臺(tái)的C++庫(kù) Boost.Asio
17.協(xié)程
純c版的協(xié)程框架 ntyco
C++11實(shí)現(xiàn)協(xié)程庫(kù), golang風(fēng)格 libgo
微信支持8億用戶同時(shí)在線的底層IO庫(kù) libco
第六 性能測(cè)試專題
1.調(diào)試庫(kù)
Boost測(cè)試庫(kù) Boost.Test
內(nèi)存調(diào)試性能分析工具 Valgrind
谷歌C++測(cè)試框架 googleTest
內(nèi)存分配跟蹤庫(kù) MemTrack
2.測(cè)試庫(kù)
單元測(cè)試框架 minUnit
測(cè)試用例編寫 libtap
輕量級(jí)的C++單元測(cè)試框架 UnitTest++
自動(dòng)化測(cè)試用例 gtest和luatest
3.性能工具
高性能代碼構(gòu)建系統(tǒng) tundra
Http壓測(cè)工具 WRK
網(wǎng)站壓測(cè)工具 webbench
高性能構(gòu)建系統(tǒng) FASTBuild
第七 Linux系統(tǒng)專題
1.系統(tǒng)命令工具
進(jìn)程間通信設(shè)施狀態(tài) ipcs
Linux系統(tǒng)運(yùn)行時(shí)長(zhǎng) uptime
CPU平均負(fù)載和磁盤活動(dòng) IOStat
監(jiān)控,收集和匯報(bào)系統(tǒng)活動(dòng) sar
監(jiān)控多處理器使用情況 mpstat
監(jiān)控進(jìn)程的內(nèi)存使用情況 pmap
系統(tǒng)管理員調(diào)優(yōu)和基準(zhǔn)測(cè)量工具 nmon
密切關(guān)注Linux系統(tǒng) glances
查看系統(tǒng)調(diào)用 strace
2.基礎(chǔ)命令工具
系統(tǒng)進(jìn)程狀態(tài) ps
虛擬內(nèi)存統(tǒng)計(jì)工具 vmstat
控制臺(tái)的流量監(jiān)控工具 vnstat
進(jìn)程監(jiān)控工具 atop,htop
內(nèi)存使用狀態(tài) free
3.網(wǎng)絡(luò)參數(shù)工具
Linux網(wǎng)絡(luò)統(tǒng)計(jì)監(jiān)控工具 netstat
顯示和修改網(wǎng)絡(luò)接口控制器 ethtool
網(wǎng)絡(luò)數(shù)據(jù)包分析利刃 tcpdump
遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議 telnet
獲取實(shí)時(shí)網(wǎng)絡(luò)統(tǒng)計(jì)信息 iptraf
顯示主機(jī)上網(wǎng)絡(luò)接口帶寬使用情況 iftop
4.磁盤參數(shù)工具
磁盤卸載 umount
讀取、轉(zhuǎn)換并輸出數(shù)據(jù) dd
文件系統(tǒng)系統(tǒng) df
磁盤掛載 mount
5.日志監(jiān)控工具
實(shí)時(shí)網(wǎng)絡(luò)日志分析器 GoAccess
多窗口之下日志監(jiān)控 MultiTail
日志分析系統(tǒng) LogWatch/Swatch
6.參數(shù)監(jiān)控工具
監(jiān)控Apache網(wǎng)絡(luò)服務(wù)器整體性能 apachetop
ftp 服務(wù)器基本信息 ftptop
IO監(jiān)控 iotop
電量消耗和電源管理 powertop
監(jiān)控 mysql 的線程和性能 mytop
系統(tǒng)運(yùn)行參數(shù)分析 htop/top/atop
第八 物聯(lián)網(wǎng)云廣播實(shí)戰(zhàn)專題
1.項(xiàng)目需求
物聯(lián)網(wǎng)云廣播項(xiàng)目介紹
項(xiàng)目需求規(guī)格說(shuō)明
架構(gòu)設(shè)計(jì)和接口說(shuō)明
2.工程代碼
socket TCP服務(wù)器編程
UDP編程與廣播多播
TCP的長(zhǎng)連接還是短連接
MYSQL庫(kù)表設(shè)計(jì)
第三方登陸 微信OAuth2授權(quán)登陸
高德地圖顯示
進(jìn)程間通信方案
用戶注冊(cè)短信驗(yàn)證
賬戶充值微信支付
內(nèi)存池ringbuffer設(shè)計(jì)
3.功能測(cè)試
用戶連接測(cè)試用例
tcp與udp數(shù)據(jù)包測(cè)試用例
用戶注冊(cè)測(cè)試用例
內(nèi)存管理測(cè)試用例
數(shù)據(jù)庫(kù)吞吐量測(cè)試用例
4.產(chǎn)品發(fā)布
自動(dòng)啟動(dòng)之shell腳本
網(wǎng)絡(luò)組安全與防火墻
產(chǎn)品上云公網(wǎng)發(fā)布