所处部份 主讲内容 技术要点 学习目标
第二部份:
C高级编程 1.内存分区、函数调用模型 1.数据类型、变量的含义;2.内存四区特点;3.函数的调用模型;4.内存操作函数;5.宏定义与预处理 可掌握的核心能力:
1、掌握C语言中的字符串、一维数组、二维数组的用法;
2、掌握一级指针,二级指针,三级指针的高级用法,理解N级指针概念,指针数组和数组指针;
3、学会结构体、文件的使用;
4、C语言接口封装设计。
可解决的现实问题:
1、可以实现自己开发小程序,例如贪吃蛇一类的用C语言写的程序;
2、应用C语言接口封装设计的方法,进行企业项目开发。
2.指针高级 1.指针基本使用;2.指针的步长的概念;3.指针简介赋值;4.指针以及多级指针做函数参数的特性与使用;5.通过指针操作字符串;6.const类型修饰符;7.位的逻辑运算符;8.移位运算符;9.数组指针与指针数组;10.多维数组做函数参数;11.结构体嵌套一级指针;12.结构体嵌套二级指针;13.浅拷贝深拷贝
3.函数指针与回调函数 1.封装和设计的思想;2.函数指针定义的三种方式;3.回调函数
4.数据结构与链表 1.链表的基本概念;2.单链表的相关操作
5.递归函数 1.递归函数的概念;2.递归的使用
6.数据结构与算法 1.大O表示法基本概念;2.线性表顺序存储和链式存储概念;3.线性表的顺序存储(数组);4.线性表的链式存储(链表);5.队列的顺序与链式存储;6.栈的顺序与链式存储;7.二叉树基本操作;8.常用排序算法
7.接口的封装和设计 1.函数的封装设计;2.解耦合的设计理念;3.模块实现与业务分离的思想
第三部份:
C++核心编程
与桌面应用开发 1.C++对C的扩展、引用 1.C++语言的命名空间的使用;2.C++对C的扩展;3.C、C++中const不同之处;4.定义和使用引用类型变量 可掌握的核心能力:
具备常用C++方向基本知识和常用技能。
可解决的现实问题:
能够具备基本的开发能力,看懂简单代码,实现开发简单程序软件的功能。
2.函数重载 1.类的的默认参数;2.c++的函数重载;3.类和对象的基本概念;4.类的封装和访问控制权限;5.类和对象进行简单编程
3.类和对象 1.类的构造函数;2.类的析构函数;3.explicit关键字作用;4.类的拷贝构造函数的使用;5.深拷贝和浅拷贝问题;6.多个对象的构造和析构函(初始化列表)
4.对象的动态分配和释放 1.类和对象的动态分配和释放内存;2.静态成员变量和函数的使用;3.C++编译器对成员变量和成员方法的处理机制;4.this的使用;5.友元函数;6.友元类
5.运算符重载 1.运算符重载概念;2.常用运算符重载;3.自定义的智能指针类;4.实现一个自定义的String类
6.类的继承和派生、多态 1.继承中的访问控制;2.继承中的构造和析构;3.多继承;4.virtual继承的基本概念;5.多态的使用(多态成立条件、使用场景);6.区分成员函数的重写和重定义;7.虚函数表指针,分步初始化;8.虚函数;9.纯虚函数;10.抽象类的使用;11.虚析构函数和纯虚析构函数
7.面向抽象类编程与设计模式 1.设计模式原则;2.常用的设计模式
8.函数模板、类模板 1.函数模板基本语法;2.函数模板和函数重载的调用规则;3.编译器对模板的编译过程;4.类模板的概念和基本语法;5.继承中的类模板;6.类模板中普通友元函数、友元函数模板的处理
9.异常、I/O流 1.C++类型转换;2.C++标准异常库;3.异常的抛出与捕获;4.C++标准I/O流(cin、cout);5.C++的文件I/O类的使用
10.STL 1.STL容器、迭代器的原理;2.序列式容器vector、string、deque;3.堆栈容器stack、quenue;4.双向链表容器list;5.关联式容器set、multiset;6.对组pair;7.关联式容器map、multimap;8.STL算法详解
11.Qt常用的控件 1.Qt的基本概念;2.Qt应用程序框架;3.Qt信号和槽的应用;4.Qt窗口系统;5.常用对话框的使用;7.Qt界面设计;8.Qt事件处理 可掌握的核心能力:
具备常用QT和MFC界面开发的基本技巧和常用技能;
可解决的现实问题:
能够实现简单的前台界面开发。
市场价值:
熟练学习和掌握后,可满足企业开发的初级需求,根据市场反馈数据看,薪资普遍在9000-13000元 /月。
12.Qt绘图与文件操作 1.QPainter绘图;2.update函数;3.绘图设备(QPixmap、QBitmap、QImage、QPicture);4.文件操作
13.Qt界面编程实战案例 1.汽车销售管理系统ui设计;2.汽车销售管理系统车辆管理模块功能开发;3.汽车销售管理系统销售统计模块功能开发;4.汽车销售管理系统人员登陆模块功能开发;5.人员和车辆信息文件读写类的使用
14.MFC对话框与常用空间 1.Windows编程的基本概念;2.Windows编程模型;3.MFC应用程序框架;4.创建MFC应用程序;5.MFC函数Ex后缀和Afx前缀的作用;6.创建基于对话框的MFC应用程序;7.模态对话框和非模态对话框;8.常用控件
15.MFC界面编程案例 1.销售管理系统ui设计;2.销售管理系统销售管理模块功能开发;3.销售管理系统库存管理模块功能开发;4.销售管理系统个人信息模块功能开发;5.销售管理系统人员登陆模块功能开发;6.人员和商品信息文件读写类的使用
第四部份:
Linux高并发服务器开发 1.Linux命令 1.Linux下的目录结构;2.工作日程应用命令;3.Ubuntu下的软件安装和卸载; 可掌握的核心能力:
具备常用后台服务器开发方向基本知识和常用技能,并具备基本的开发能力。
可解决的现实问题:
能够实现包括服务器后台、前端界面、服务器数据库的开发。
2.Linux开发与调试工具 1.vim命令模式下操作;2.vim末行模式下操作;3.vim的配置4.gcc的工作流程和掌握常见参数;5.Linux下的静态库与共享库(windows动态库)的制作和使用;6.Makefile;7.gdb调试;8.pcb和文件描述符,虚拟地址空间;9.Linux系统IO函数;10.阻塞和非阻塞的概念
3.系统I/O操作 1.stat/lstat函数;2.文件属性相关函数;3.链接相关概念及函数;4.目录操作相关概念及函数;5.dup、dup2函数;6.fcntl函数
4.进程与IPC通信 1.进程相关的概念;2.进程操作相关函数;3.孤儿进程;4.僵尸进程;5.进程回收;6.进程间通信
5.线程与并发同步 1.互斥量;2.死锁以及解决方案;3.读写锁;4.条件变量;5.条件变量实现生产消费者模型;6.信号量实现生产消费者模型;7.线程同步解决哲学家就餐问题;
6.信号 1.信号中的基本概念;2.使用信号相关的函数;3.信号内核实现原理;4.信号捕捉函数signal、sigaction;5.使用信号完成子进程的回收;6.发送信号时如何进行参数传递;
7.网络协议与网络编程 1.OSI七层模型结构;2.TCP/IP 4层模型结构;3.B/S、C/S优缺点对比;4.常见网络协议格式;5.套接字;网络字节序;6.IP地址转换函数;7.编写TCP的C/S网络程序;8.UDP通信机制与模型;9.本地套接字;10.三次握手建立连接过程;11.四次握手断开连接过程;12.滑动窗口概念;13.错误处理函数封装;14.TCP状态转换;15.2MSL概念;16.端口复用方法;17.半关闭;
8.高并发服务器开发
(poll、select和epoll) 1.多路IO转接模型;2.select函数;3.fd_set相关操作函数;4.select多路IO转接模型poll操作函数;5.epoll多路IO模型;6.线程池模型的设计思想;7.多进程并发服务器;8.多线程并发服务器;9.libevent库;10.epoll反应堆模型;11.使用BufferEvent、evBuffer;12.git代码管理;
9.Linux并发服务器项目实战 通过项目实战,使大家熟悉Linux知识的应用,已经如何开发服务器程序,从项目需求分析项目设计,到项目实现,对程序开发有个整体的认识。
第五部份:
Windows/Linux
跨平台企业项目实战 1.oracle 1.简单查询;
2.oracle的常用函数;
3.多表查询;
4.集合操作;
5.DDL操作管理表;
6.DML管理数据;
7.其它数据库对象;
8.PL/SQL编程;
9.存储过程与存储函数
10.触发器;
11.工具查询;
12.解决Top-N问题; 可掌握的核心能力:
掌握常用数据库类型的操作技巧和简单开发。
可解决的现实问题:
熟练应用项目中使用的数据库知识,能做简单的数据库开发。
2.mysql 1.mysql表的约束;
2.mysql中出现的中文乱码问题;
3.mysql函数库连接数据库;
4.mysql API访问数据库;
5.使用基础类API实现mysql客户端工具;
6.预处理类API访问mysql数据库;
7.使用api修改mysql事务特性;
3.企业财富库的接口的封装和设计 1.外联接口
2.线程同步
3.socket
4.线程池
4.windows经典应用程序开发 1.windows下图形化界面;
2.设计模式的应用
3.异步通信
4.xml
5.json
6.html
7.共享内存,消息队列
5.Linux信息安全开发 1.共享内存,消息队列
2.秘钥加密
3.接口封装设计
4.ASN.1
5.html
6.程序操作数据库
6.跨平台兼容开发与调试 1.windows与linux跨平台通信
2.windows与linux跨平台调试
大项目1:
金融类安全传输平台
本项目类似于支付宝与银行的汇帐,二者相互识别与身份认证,是一款基础设施类项目,实现标准的信息安全服务;
第六部份:
分布式游戏服务器开发 1.Lua编程开发 1.Lua环境安装
2.Lua基本语法
3.Lua数据类型
4.Lua循环与流程控制
5.Lua函数与数组
6.Lua元表
7.Lua中的的协程
8.Lua模块与包
9.Lua面向对象 可掌握的核心能力:
掌握高性能服务器解决方案(负载均衡);
掌握分布式存储解决方案(redis集群/mysql集群/ mongodb集群);
掌握项目压力测试和单元测试,掌握服务器逻辑开发。
可解决的现实问题:
解决大型互联网公司并发高吞吐问题;
解决分布式web应用服务器集群问题。
2.游戏开发 1.游戏框架
2.物理检测引擎
3.设计模式
4.MVC架构
3.虚拟化Docker 1.Docker容器基础指令
2.Docker网络配置
3.DockerFile、DockerCompose
4.分布式文件存储服务器和缓存服务器 1.fastDFS分布式存储系统应用开发
2.redis缓存开发
5.深入理解nginx 1.nginx的部署
2.nginx维护机制
3.nginx通信架构模型
4.nginx的高并发性能架构
6.负载均衡反向代理 1.基于nginx搭建反向代理
2.分布式web应用服务器搭建
7.git 1.代码版本控制工具git的常用指令
2.git的团队开发组建
3.git代码仓库的创建与管理
大项目2:
分布式游戏服务器开发 本项目是指通过集群应用、网络技术或分布式文件系统等功能,实现的游戏业务处理、并发的服务器实现。
第七部份:
入侵检测与网络攻防 1.Kali Linux操作系统实战 1 Kali Linux介绍
2.Kali Liunx安装
3.Kali Linux系统更新
4.Kali Linux基本配置
5.Kali Linux 常用攻击工具 可掌握的核心能力:
具备市场主流网络安全攻防技术;
具备流量监测等核心安全研发能力。
可解决的现实问题:
解决国内外敌对势力通过隐匿通道(如VPN、即时通信软件)有限监控手段现状问题;
解决私有加密应用和网络异常通信行为,并能对加密流量进行还原和审计。
2.网络防御技术 1.网络攻防环境搭建
2.信息安全理论
3.Linux基本安全防护技术
1)访问权限
2)访问控制列表ACL
3)文件属性
4)PAM技术
5)特权机制
4.安全审计
5.网络嗅探及协议分析技术
1)Wireshark抓包工具
2)Tcpdump抓包工具
3)网络嗅探技巧
6.Linux防火墙技术
1)Iptables详解配置规则
2)TCP Warrpper
7.Linux 入侵检测分析技术
1)Debian 9 入侵分析
2)开机自启服务与安全防护机制
3.网络攻击技术 1.安全渗透
2.范围界定
3.信息收集与DNS记录分析
4.目标识别技术
1)识别目标主机
2)系统指纹信息识别
5.服务枚举
1)端口扫描
2)Nmap识别服务指纹信息
6. DDOS分布式拒绝服务攻击
1)TCP SYN Flood攻击
2)TCP Reset攻击
7. 口令暴力破解
8. 网络攻防艺术
9. 渗透测试实战
4.DPI(深度包检测) a) 不少于30大类的网络应用的识别。
b) 支持HTTP、SMTP、POP3、IMAP等几十种周知协议的解析与还原。
c) 加密应用识别:
VPN识别:应支持PPTP、L2TP、OpenVPN、SSTP、IPSec、Cisco VPN的识别和上下线检测;
即时通信识别:应支持微信、QQ、陌陌、WhatsAPP、Skype等识别。
翻墙软件识别:应支持Goagent、SSH、Shadowsocks、VPN Gate、赛风3、BTSync、Fqrouter2、OpenDoor、Puffin、无界、纽约时报、Onavo、曲径、Operamini等的识别和上下线检测。
通用加密应用识别:应支持HTTS、FTPS、POP3S、SMTPS、IMAPS、Gmail等的识别。
特种木马:应支持若干种特种木马的加密通道识别。
5.异常通信行为分析 对采集到的netflow原始流记录或录制的原始报文等组合应用多种网络通信行为分析技术,可发现未知攻击和未知木马。
异常域名检测:通过分析域名请求、应答记录发现异常域名,留存域名访问记录元数据。
异常通信行为分析:发现网络异常通信行为,如内部主机和外部主机的间歇性连接、服务器主动外联、工作主机非工作时间主动外联等。
6.加密流量还原 支持自由门、极速VPN、shadowsocks等隐匿通道的流量破解还原能力,支持Talkbox应用的破解还原。
大项目3: 网络隐匿私有
应用入侵检测系统 网络私有应用监测系统主要由多核硬件平台、安全操作系统、监测引擎、存储管理、数据关联分析、协同分析、升级管理、维护管理、综合管理界面等功能模块组成。
第八部份:
Shell脚本编程
与面试强化 1.Shell高级编程 1.高级指令引入2.Shell函数3.Shell特殊用法4.Shell案例实战 课程设计理念:
Shell编程作为Linux平台高级运维语言,掌握Shell可以在任意Linux/Unix操作系统做系统维护和问题定位。
可掌握的核心能力:
Unix/Linux下Shell编程开发;
掌握Shell的函数语法和工具制作;
掌握Linux常用Shell指令和问题定位方法;
面试强化训练。
可解决的现实问题:
复习和巩固所学知识,进行专题面试强化。
2.面试强化 1.高级数据结构2.数据库加强训练3.面试强化训练 |