嘉兴C++课程培训 - 嘉兴达内科技
- 小班授课
- 在线直播
- 重点重学
- 在线解答
- 上课方式: 直播 面授
- 上课时段:白天班 周末班 全日制 灵活安排
C/C++基础班课程大纲 | |||
所处阶段 | 主讲内容 | 技术要点 | 学习目标 |
第一阶段: C开发实战 |
1.C语言概述与数据类型 | 1.计算机基础;2.第一个C语言程序;3.C的代码的含义与编译;4.集成开发环境(vs)5.常量与变量;6.进制转换;7.数组与字符串 |
可掌握的核心能力: 1、通过C语培养编程思维和动手能力; 2、通过C语言的学习培养面向过程编程思想,为以后的深入学习就业课程打下坚实基础。 可解决的现实问题: 1、具备C/C++领域基础专业编程能力; 2、实现电子词典项目案例; 3、实现贪吃蛇项目案例。 市场价值: 具备学习编程思维,但尚不能达到任何企业用人标准。 |
2.条件判断与循环语句 | 1.运算符与优先级;2.强制类型转换运算符;3.if条件控制语句;4.if-else语句;5.三目运算符;6.switch语句;7.for/break/continue | ||
3.字符串与函数 | 1.函数的基本概念;2.字符串操作的常用函数;3.自定义函数 | ||
4.数组 | 1.一维数组的定义和使用;2.一维数组的基本操作;3.一维数组的案例(如:最值,排序);4.二维数组的定义和使用;5.二维数组的基本操作 | ||
5.指针 |
1.指针变量的定义;2.指针基本使用;3.const修饰的指针; 4.一级指针与数组名的关系;5.指针法操作数组元素; 6.指针作为函数的参数;7.数组作为函数的参数;8.指针做函数的返回值;9.指针处理字符串 |
||
6.内存管理 |
1.局部变量的作用域和生命周期;2.静态局部变量的作用域和生命周期;3.全局变量的作用域和生命周期;4.静态全局变量的作用域和生命周期;5.静态函数和非静态函数的区别; 6.内存分区;7.堆区内存的分配(malloc)和释放(free) |
||
7.复合类型 | 1.结构体的基本用法;2.结构体嵌套指针和数组;3.结构体作为函数参数;4.复合类型的声明与使用 |
C/C++就业班课程大纲 | |||
所处阶段 | 主讲内容 | 技术要点 | 学习目标 |
第二阶段: C高级编程 |
1.内存分区、函数调用模型 | 1.数据类型、变量的含义;2.内存四区特点;3.函数的调用模型;4.内存操作函数;5.宏定义与预处理 |
可掌握的核心能力: 1、掌握C语言中的字符串、一维数组、二维数组的用法; 2、掌握一级指针,二级指针,三级指针的高级用法,理解N级指针概念,指针数组和数组指针; 3、学会结构体、文件的使用; 4、C语言接口封装设计。 可解决的现实问题: 1、可以实现自己开发小程序,例如贪吃蛇一类的用C语言写的程序; 2、应用C语言接口封装设计的方法,进行企业项目开发。 市场价值: 可以掌握C语言深入技巧,灵活应用C语言接口封装设计的方法,但尚不能达到任何企业用人标准。 |
2.指针高级 | 1.指针基本使用;2.指针的步长的概念;3.指针简介赋值;4.指针以及多级指针做函数参数的特性与使用;5.通过指针操作字符串;6.const类型修饰符;7.位的逻辑运算符;8.移位运算符;9.数组指针与指针数组;10.多维数组做函数参数;11.结构体嵌套一级指针;12.浅拷贝深拷贝 | ||
3.函数指针与回调函数 | 1.封装和设计的思想;2.函数指针定义的三种方式;3.回调函数 | ||
4.数据结构与链表 | 1.链表的基本概念;2.单链表的相关操作 | ||
5.递归函数 | 1.递归函数的概念;2.递归的使用 | ||
6.接口的封装和设计 | 1.函数的封装设计;2.解耦合的设计理念;3.模块实现与业务分离的思想 | ||
7.数据结构与算法 | 1.大O表示法基本概念;2.线性表顺序存储和链式存储概念;3.线性表的顺序存储(数组);4.线性表的链式存储(链表);5.队列的顺序与链式存储;6.栈的顺序与链式存储;7.二叉树基本操作;8.常用排序算法 | ||
第三阶段: C++核心编程 与桌面应用开发 |
1.C++对C的扩展、引用 | 1.C++语言的命名空间的使用;2.C++对C的扩展;3.C、C++中const不同之处;4.定义和使用引用类型变量;5.C++11常用语法 |
可掌握的核心能力: 具备常用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.函数模板和函数重载的调用规则;3.编译器对模板的编译过程;4.类模板的概念和基本语法;5.继承中的类模板;6.类模板中普通友元函数、友元函数模板的处理 | ||
8.异常、I/O流 | 1.C++类型转换;2.C++标准异常库;3.异常的抛出与捕获;4.C++标准I/O流(cin、cout);5.C++的文件I/O类的使用 | ||
9.STL |
1.STL容器、迭代器的原理;2.序列式容器vector、string、deque;3.堆栈容器stack、quenue;4.双向链表容器list;5.关联式容器set、multiset; 6.对组pair;7.关联式容器map、multimap;8.STL算法详解 |
||
10.Qt常用的控件 | 1.Qt的基本概念;2.Qt应用程序框架;3.Qt信号和槽的应用;4.Qt窗口系统;5.常用对话框的使用;6.Qt界面设计;7.Qt事件处理 |
可掌握的核心能力: 具备常用QT界面开发的基本技巧和常用技能。 可解决的现实问题: 能够实现简单的前台界面开发。 市场价值: 熟练学习和掌握后,可满足企业开发的初级需求。 |
|
11.Qt绘图与文件操作 | 1.QPainter绘图;2.update函数;3.绘图设备(QPixmap、QBitmap、QImage、QPicture);4.文件操作 | ||
12.Qt综合案例实战 | Qt综合案例 | ||
第四阶段: 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四层模型结构;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; |
||
9.Linux并发服务器项目实战(WebServer) | 通过项目实战,使大家熟悉Linux知识的应用,已经如何开发服务器程序,从项目需求分析项目设计,到项目实现,对程序开发有个整体的认识。 | ||
第五阶段: Windows/Linux 跨平台企业项目实战 (项目1) |
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.socket4.线程池 | ||
4.windows经典应用程序开发 |
1.windows下图形化界面;2.设计模式的应用3.异步通信4.xml5.json6.html 7.共享内存,消息队列 |
||
5.Linux信息安全开发 | 1.共享内存,消息队列2.秘钥加密(对称、非对称)3.接口封装设计4.protobuf介绍与使用5.git代码管理6.程序操作数据库 | ||
6.跨平台兼容开发与调试 | 1.windows与linux跨平台通信2.windows与linux跨平台调试 | ||
7. 金融类安全传输平台 | 本项目类似于支付宝与银行的汇帐,二者相互识别与身份认证,是一款基础设施类项目,实现标准的信息安全服务; | ||
第六阶段: 分布式云存储开发 (项目2) |
1.分布式文件存储服务器和缓存服务器 | fastDFS分布式存储系统应用开发、redis缓存开发 |
可掌握的核心能力: 掌握高性能服务器解决方案(负载均衡); 掌握分布式存储解决方案(redis集群/mysql集群); 掌握项目压力测试和单元测试,掌握服务器逻辑开发。 可解决的现实问题: 解决大型互联网公司并发高吞吐问题; 解决分布式web应用服务器集群问题。 市场价值: 熟练学习和掌握后,可满足企业开发的初中级需求。 |
2.深入理解nginx | nginx的部署、nginx维护机制、nginx通信架构模型、nginx的高并发性能架构 | ||
3.负载均衡反向代理 | 基于nginx搭建反向代理、分布式web应用服务器搭建 | ||
4.分布式云存储系统 | 本项目是指通过集群应用、网络技术或分布式文件系统等功能,实现的云盘可实现高性能、分式式存储,可以为社区、电子商务网站、银行、政府、证券等提供公共后端云平台。 | ||
第七阶段: Go语言微服务项目 (项目3) |
1.Go语言语法 | 1.Go语言基础语法及常用数据结构2.Go语言面向对象语法使用,创建并发、channel 实现同步3.Go语言的网络并发实现4.串联使用Go语言知识点实现简单案例 |
可掌握的核心能力: 1.具备市场主流分布式技术; 2.具备go语言高并发后台开发能力; 3.具备docker虚拟化容器技术; 4.具备分布式微服务架构设计能力。 可解决的现实问题: 1.解决企业容器虚拟化技术; 2.解决企业从资源的利用率和可用性优化方案; 3.解决传统PaaS企业,采用Micro Service(微服务)的方式来实现他们的应用。 市场价值: 可满足市场对go中级程序员的需求,独立设计开发微服务项目。 |
2.掌握微服务开发 |
1.rpc使用2.protobuf使用3.grpc使用4.consul安装5.consul命令行使用 6.consul代码实现7.go-micro安装8.go-micro使用 |
||
3.IHome微服务应用开发 |
1.RESTful的设计2.MVC框架3.orm的作用及工作流程4.使用gorm对关系型数据库进行增删改查操作 5.使用gin框架进行web应用开发 1).session和cookie使用 2).验证码业务 3).注册业务 4).登陆业务 5).头像业务 6).轮播图业务 7).订单业务 |
||
4.docker操作 | 1.docker容器的进入、生成新的镜像2.docker私有仓库的使用配置3.docker数据卷的使用4.docker数据卷容器的使用5.docker端口映射的使用6.docekrfile的功能介绍7.dockerfile的使用 | ||
第八阶段: (赠送资料视频) |
1.Shell高级编程 | 1.高级指令引入;2.Shell函数;3.Shell特殊用法;4.Shell案例实战 |
课程设计理念: Shell编程作为Linux平台高级运维语言,掌握Shell可以在任意Linux/Unix操作系统做系统维护和问题定位。 可掌握的核心能力: Unix/Linux下Shell编程开发; 掌握Shell的函数语法和工具制作; 掌握Linux常用Shell指令和问题定位方法; 面试强化训练。 可解决的现实问题: 复习和巩固所学知识,进行专题面试强化。 |
2.面试强化 | 1.高级数据结构;2.数据库加强训练;3.面试强化训练 | ||
第九阶段: Lars-负载均衡远程服务 调度系统 (赠送资料视频) |
1.Reactor模式并发Service C++网络服务器框架开发 |
1.io_buffer缓冲处理2.event callback模型3.定时器队列管理4.定时器队列超时事件5.eventLoop初始化6.tcp/udp server API封装7.常见服务器处理机制 |
可掌握的核心能力: 具备市场并发服务器框架发开能力; 具备源码分析能力; 具备企业基础设施架构层编程能力; 可解决的现实问题: 解决大型企业服务器高并发问题; 解决门户网站内部服务器负载均衡问题; 解决电商类或其他互联网类服务器监控及负载均衡问题; 市场价值: 熟练学习和掌握后,课满足企业开发的初中级,甚至高级需求。 |
2.DNS与路由Service | 1.初始化one loop per thread模型 server2.route信息存储3.RouerVersion及时间戳存储4.ChangeLog存储5.Backend Thread后台守护线程 | ||
3.负载均衡代理Service | 1.节点获取服务2.节点调用结果上报服务3.负载节点调度模型4.健康检查5.LoadBalance负载均衡算法 | ||
4.信息上报Service | 1.Single Thread TCP Server模型2.消息封装内容3.一致性hash算法4.hash数据结构 | ||
5.开发者API设计 | 1.API缓冲层api调度方式2.cpp接口api封装3.python接口api封装4.java接口api封装 | ||
6.压力测试 | 1.qps压力测试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.异常通信行为分析 |
1.异常域名检测:通过分析域名请求、应答记录发现异常域名,留存域名访问记录元数据。 2.异常通信行为分析:发现网络异常通信行为,如内部主机和外部主机的间歇性连接、服务器主动外联、工作主机非工作时间主动外联等 |
||
5.加密流量还原 | 支持自由门、极速VPN、shadowsocks等隐匿通道的流量破解还原能力,支持Talkbox应用的破解还原。 | ||
大项目3: 网络隐匿私有应用入侵检测系统 | 网络私有应用监测系统主要由多核硬件平台、安全操作系统、监测引擎、存储管理、数据关联分析、协同分析、升级管理、维护管理、综合管理界面等功能模块组成。 |
备注:该课程大纲仅供参考,实际课程内容可能在授课过程中发生更新或变化,具体授课内容最终以各班级课表为准。