<返回更多

你需要知道的Linux后台服务器开发知识点

2020-03-08    
加入收藏

本文将介绍linux后台服务器开发所需要用到的知识点, Linux后台服务器开发是针对有Linux基础的,本文将从八个点概括我们开发时所用到的知识点。(技术点目尾都提供免费视频,关注+私信关键字:1 。取)

 

疫情过后,你需要知道的Linux后台服务器开发知识点

 

 

第一 算法与设计专题

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脚本

网络组安全与防火墙

产品上云公网发布

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>