本文將介紹linux后臺服務器開發所需要用到的知識點, Linux后臺服務器開發是針對有Linux基礎的,本文將從八個點概括我們開發時所用到的知識點。(技術點目尾都提供免費視頻,關注+私信關鍵字:1 。取)

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