C/C++气象数据中心实战 手把手教你做工业级项目课程介绍:
通过技术的实际应用,掌握等同2年经验的技术能力,从象牙塔跃升职场!近几年,c/c++已经成为助力程序猿走出内卷的最佳选择之一。c/c++优势就在于只要能写出简单的应用,就可秒杀90%的CRUD工程师。这次我们邀请有20多年c/c++开发经验的大牛,通过一个工业级的数据中心项目实打实的提升你的项目经验!成为真正的程序员,开僻你的职业蓝海!
课程目录:
第1章 课程导学与准备工作 试看4 节 | 33分钟
本章节对课程的内容做介绍说明,以及本门课程能为学员带来那些收获。大家认真学习成为职业程序员。
- 视频:1-1 C++气象项目数据中心实战导学 (10:30)试看
- 视频:1-2 项目介绍 (13:12)试看
- 视频:1-3 开发环境 (01:44)试看
- 视频:1-4 项目源代码和开发框架 (07:09)
第2章 如何保证服务程序永不停机21 节 | 314分钟
服务程序运行在后台,无人守值,故障退出或挂起是不可接受的,后台服务程序除了实现功能,还必须具备稳定性、健壮性和故障恢复的能力。 这一章介绍了信号、多进程、共享内存、信号量的基础知识以及应用的经验,调度进程、守护进程和心跳机制协同工作,保证服务程序7×24小时不间断运行。…
- 视频:2-1 开篇语 (03:22)
- 视频:2-2 生成测试数据-搭建程序的框架 (26:34)
- 视频:2-3 生成测试数据-加载站点参数 (21:40)
- 视频:2-4 生成测试数据-模拟观测数据 (12:01)
- 视频:2-5 生成测试数据-生成csv文件 (19:45)
- 视频:2-6 生成测试数据-生成xml和json文件 (12:09)
- 视频:2-7 Linux信号 (17:08)
- 视频:2-8 Linux多进程 (23:51)
- 视频:2-9 服务程序的调度 (23:25)
- 视频:2-10 Linux共享内存 (12:42)
- 视频:2-11 -1 Linux信号量 (19:24)
- 视频:2-12 -2 Linux信号量 (06:10)
- 视频:2-13 -1 进程的心跳机制 (14:19)
- 视频:2-14 -2 进程的心跳机制 (20:04)
- 视频:2-15 -1 守护进程的实现 (14:43)
- 视频:2-16 -2 守护进程的实现 (12:32)
- 视频:2-17 完善生成测试数据程序 (13:32)
- 视频:2-18 压缩文件 (22:17)
- 视频:2-19 清理文件 (06:24)
- 视频:2-20 服务程序的运行策略 (06:51)
- 视频:2-21 本章总结 (04:36)
第3章 开发基于ftp协议的文件传输子系统10 节 | 159分钟
ftp是最古老的tcp应用层协议,从1971年诞生至今近半个世纪来,凭借其独特的优势一直是因特网中最重要、最广泛的服务之一。 这一章介绍了ftp协议的封装,隐藏了复杂的底层协议和报文格式,通过简单的函数调用实现ftp客户端全部的功能。基于封装后ftp框架,实现文件的上传和下载功能。 …
- 视频:3-1 开篇语 (03:06)
- 视频:3-2 课间预习 (00:59)
- 视频:3-3 ftp客户端的封装 (16:51)
- 视频:3-4 ftp下载文件-搭建程序的框架 (25:03)
- 视频:3-5 ftp下载文件-下载全部的文件 (26:59)
- 视频:3-6 ftp下载文件-清理和转存文件 (13:53)
- 视频:3-7 ftp下载文件-下载新增的文件 (23:00)
- 视频:3-8 ftp下载文件-下载修改的文件 (22:22)
- 视频:3-9 ftp上传文件 (21:31)
- 视频:3-10 本章总结 (04:59)
第4章 开发基于tcp协议的文件传输子系统16 节 | 261分钟
ftp协议虽然功能强大,应用广泛,但性能不足够。 这一章介绍了网络编程的基础知识,对socket的系列函数进行封装,自定义文件传输协议,实现文件的上传和下载功能,采用了异步通讯的机制,效率极高,充分利用了网络带宽。 …
- 视频:4-1 开篇语 (02:25)
- 视频:4-2 解决TCP粘包和分包的问题 (15:41)
- 视频:4-3 封装socket的常用函数 (20:58)
- 视频:4-4 搭建多进程网络服务程序框架 (22:39)
- 视频:4-5 多进程网络服务程序的退出 (11:28)
- 视频:4-6 网银APP软件业务示例 (25:03)
- 视频:4-7 TCP长连接心跳机制的实现 (14:59)
- 视频:4-8 -1 TCP文件传输系统-搭建上传程序的框架 (19:03)
- 视频:4-9 -2 TCP文件传输系统-搭建上传程序的框架 (09:38)
- 视频:4-10 TCP文件传输系统-上传文件的基本信息 (15:08)
- 视频:4-11 TCP文件传输系统-上传文件的内容 (27:10)
- 视频:4-12 TCP文件传输系统-删除和转存本地文件 (11:17)
- 视频:4-13 异步通讯的三种实现方法 (23:24)
- 视频:4-14 TCP文件传输系统-异步上传文件 (10:33)
- 视频:4-15 TCP文件传输系统-下载文件 (25:02)
- 视频:4-16 本章总结 (05:49)
第5章 轻松搞定MySQL数据库的开发15 节 | 187分钟
MySQL提供了C语言访问MySQL数据库的函数库,功能强大,但开发难度很高,接口函数的参数烦锁,代码冗长。 这一章把MySQL的函数库封装成connection和sqlstatement类,简单易用,为MySQL数据库开发奠定基础,神器在手,无往不利。
- 视频:5-1 开篇语 (03:04)
- 视频:5-2 创建超女信息表 (17:18)
- 视频:5-3 往超女信息表中插入数据 (18:30)
- 视频:5-4 修改超女信息表中的数据 (05:28)
- 视频:5-5 查询超女信息表中的数据 (12:25)
- 视频:5-6 删除超女信息表中的数据 (02:15)
- 视频:5-7 二进制大对象的存取 (13:43)
- 视频:5-8 数据库开发注意事项和技巧 (11:23)
- 视频:5-9 强大的PowerDesigner (16:35)
- 视频:5-10 把站点参数文件入库 (23:03)
- 视频:5-11 把站点数据文件入库 (24:21)
- 视频:5-12 -1 优化数据入库程序 (15:03)
- 视频:5-13 -2 优化数据入库程序 (12:46)
- 视频:5-14 执行SQL脚本文件 (06:56)
- 视频:5-15 本章总结 (03:28)
第6章 开发数据抽取子系统7 节 | 83分钟
数据的意义在于共享,真正的孤岛数据是很少的,数据中心则是各种数据的聚集地。 这一章开发数据抽取子系统,把分散的数据从源端数据库抽取到数据中心,支持按条件抽取和增量抽取两种方法。
- 视频:6-1 开篇语 (03:24)
- 视频:6-2 搭建程序的框架、解析参数 (21:05)
- 视频:6-3 全量抽取数据、生成xml (11:37)
- 视频:6-4 全量抽取数据、写入xml文件 (12:11)
- 视频:6-5 增量抽取数据 (13:10)
- 视频:6-6 数据抽取的优化 (15:29)
- 视频:6-7 本章总结 (05:21)
第7章 开发数据入库子系统13 节 | 155分钟
数据中心有几百种数据,如何把它们保存到数据中心的表中?如何摆脱烦锁的、没有技术含量的增删改查工作? 这一章开发数据入库子系统,巧妙的利用MySQL数据字典和xml可扩展标记的特点,用一个通用的程序解决了各种数据入库的问题,如果有新的数据需要入库,配置多一行参数而已。 …
- 视频:7-1 开篇语 (03:23)
- 视频:7-2 MySQL数据字典 (04:26)
- 视频:7-3 -1 数据入库-解析入库参数 (17:45)
- 视频:7-4 -2 数据入库-解析入库参数 (11:03)
- 视频:7-5 数据入库-查找数据字典 (22:09)
- 视频:7-6 -1 数据入库-拼接SQL语句 (15:18)
- 视频:7-7 -2 数据入库-拼接SQL语句 (10:39)
- 视频:7-8 数据入库-绑定SQL语句的参数 (11:47)
- 视频:7-9 -1 数据入库-执行插入和更新 (09:42)
- 视频:7-10 -2 数据入库-执行插入和更新 (15:04)
- 视频:7-11 数据入库-完善和优化 (24:30)
- 视频:7-12 大量数据的入库方案 (05:11)
- 视频:7-13 本章总结 (03:39)
第8章 数据标准化处理&数据统计分析3 节 | 23分钟
这一章提供了更多的测试用例数据,训练的代码能力,介绍数据计算的应用场景,丰富项目经验。
- 视频:8-1 开篇语 (02:16)
- 视频:8-2 数据处理的工作内容 (08:40)
- 视频:8-3 数据统计的工作内容 (11:09)
第9章 开发数据同步子系统8 节 | 120分钟
MySQL数据库如何集群? 主从复制?双主?DRDB?NDB CLUSTER?no,这世界上的事情没那么简单,尽人皆知的方法不是好方法。 这一章开发数据同步子系统,提供了更灵活的数据复制方案,在不同MySQL数据库的表之间进行数据同步,支持按条件同步和增量同步两种方式,源表和目的表的结构可以不同,数据量也可以不同,还可以支持…
- 视频:9-1 开篇语 (05:30)
- 视频:9-2 Federated存储引擎 (14:44)
- 视频:9-3 刷新同步-搭建程序的框架 (14:49)
- 视频:9-4 刷新同步-全表刷新 (10:46)
- 视频:9-5 刷新同步-分批刷新 (16:54)
- 视频:9-6 基于Federated引擎的增量同步 (25:07)
- 视频:9-7 不采用Federated引擎的增量同步 (22:06)
- 视频:9-8 本章总结 (09:52)
第10章 开发数据管理子系统3 节 | 33分钟
这一章开发的数据清理和数据备份功能是系统运维的两个常用功能,用蚂蚁搬家的方法,把海量数据大事化小,应用广泛。
- 视频:10-1 开篇语 (02:07)
- 视频:10-2 数据清理 (15:01)
- 视频:10-3 数据迁移 (15:17)
第11章 Oracle数据库开发12 节 | 179分钟
Oracle是关系型数据库的绝对霸主,性能卓越,无与伦比,作为优秀的程序员,必须拿得起重器。 这一章介绍了如何从MySQL进阶到Oracle的开发,各种数据库本质上没什么不同,对优秀程序员来说,只要做好了底层的封装,用什么数据库都一样。 …
- 视频:11-1 开篇语 (05:09)
- 视频:11-2 Oracle数据库的快速安装 (18:27)
- 视频:11-3 Oracle客户端环境 (19:10)
- 视频:11-4 Oracle和MySQL的区别 (07:58)
- 视频:11-5 Oracle数据库开发基础 (20:37)
- 视频:11-6 -1 Oracle版本的数据入库子系统 (18:42)
- 视频:11-7 -2 Oracle版本的数据入库子系统 (11:43)
- 视频:11-8 Oracle版本的数据清理子系统 (10:22)
- 视频:11-9 Oracle版本的数据抽取子系统 (10:38)
- 视频:11-10 Oracle版本的数据同步子系统 (26:20)
- 视频:11-11 Oracle数据库集群方案 (20:54)
- 视频:11-12 本章总结 (08:52)
第12章 Linux线程14 节 | 212分钟
在互联网时代,高并发的多核编程已成为程序员的必备技能。 这一章介绍了Linux线程和线程同步的基础知识以及应用经验,用生产消息费模型实现的高速缓存是多核编程的基本构件。
- 视频:12-1 开篇语 (05:33)
- 视频:12-2 线程的创建和终止 (26:19)
- 视频:12-3 -1 线程参数的传递 (16:42)
- 视频:12-4 -2 线程参数的传递 (14:26)
- 视频:12-5 线程资源的回收 (20:16)
- 视频:12-6 线程取消 (10:00)
- 视频:12-7 线程和信号 (08:40)
- 视频:12-8 线程安全 (11:54)
- 视频:12-9 线程同步 (26:47)
- 视频:12-10 生产消费者模型的实现-方法一 (23:22)
- 视频:12-11 生产消费者模型的实现-方法二 (08:01)
- 视频:12-12 -1 多线程的网络服务端 (15:42)
- 视频:12-13 -2 多线程的网络服务端 (16:31)
- 视频:12-14 本章总结 (06:56)
第13章 开发数据服务总线14 节 | 198分钟
一提到http协议和http服务,人们很容易想到用java来开发web服务,但是,别忘了java也是用C语言开发出来的,如果应用场景合适,用C/C++开发的web服务才是性能的王者。 这一章介绍了一种特殊的http服务应用场景:数据访问接口,以及用C/C++实现的具体方法。 …
- 视频:13-1 开篇语 (04:57)
- 视频:13-2 -1 HTTP协议的本质 (16:50)
- 视频:13-3 -2 HTTP协议的本质 (11:13)
- 视频:13-4 HTTP数据访问接口的实现 (16:48)
- 视频:13-5 业务需求和表的设计 (12:39)
- 视频:13-6 -1 功能的初步实现 (13:58)
- 视频:13-7 -2 功能的初步实现 (13:50)
- 视频:13-8 数据库连接池的实现 (20:32)
- 视频:13-9 -1 数据库连接池的优化 (19:57)
- 视频:13-10 -2 数据库连接池的优化 (19:45)
- 视频:13-11 线程池的实现 (21:08)
- 视频:13-12 线程池的监控 (15:59)
- 视频:13-13 数据安全策略 (06:20)
- 视频:13-14 学习总结 (03:37)
第14章 I/O复用技术13 节 | 211分钟
这一章介绍了I/O复用技术:select/poll/epoll,并开发一个通用的网络代理服务,为高性能的网络开发奠定基础。
- 视频:14-1 开篇语 (03:18)
- 视频:14-2 select模型(上) (23:56)
- 视频:14-3 select模型(下) (17:53)
- 视频:14-4 poll模型 (13:16)
- 视频:14-5 epoll模型 (21:43)
- 视频:14-6 阻塞&非阻塞的IO (10:11)
- 视频:14-7 水平触发&边缘触发 (27:44)
- 视频:14-8 开发正向代理模块(上) (39:47)
- 视频:14-9 开发正向代理模块(下) (14:27)
- 视频:14-10 -1开发反向代理模块(上) (16:49)
- 视频:14-11 -2开发反向代理模块(上) (11:09)
- 视频:14-12 开发反向代理模块(下) (06:25)
- 视频:14-13 学习总结 (03:55)
第15章 学习总结7 节 | 90分钟
这一章介绍了更多的项目经验和学习策略,丰富的项目经验有助于拿到offer,学习更强的技术可以拿到更好的offer。
- 视频:15-1 非结构化数据存储方案 (10:37)
- 视频:15-2 数据中心的辅助功能 (24:32)
- 视频:15-3 数据表的设计技巧 (10:21)
- 视频:15-4 触发器、函数和存储过程 (03:22)
- 视频:15-5 数据缓存的方案 (07:38)
- 视频:15-6 如何轻松的获得项目经验 (27:17)
- 视频:15-7 课程总结 (05:47)