流程控制---条件语句

419 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
1、想学习C++开发的学生 2、想学习C++的职场人士 3、想学习C++的有为青年
你将会学到
你将对C++20新特性有全面的了解,掌握MySQL+Redis的混合使用,掌握HTTP服务开发
  • 掌握C++20的新特性,如模块化编程、协程、概念等,在实际项目中能够应用这些新特性,提高代码的可维护
  • 熟悉C++20的并发编程,能够使用多线程、原子操作、锁等技术解决多线程编程中的常见问题,提高程序的性
  • 熟悉MySQL的基本概念和SQL语句,能够在C++项目中使用MySQL存储数据,进行数据管理、事务控
  • 熟悉Redis的基本概念和命令,能够在C++项目中使用Redis存储数据,进行发布订阅、事务控制、集
  • 熟悉HTTP协议和相关技术,如路由处理、错误日志处理、认证授权、负载均衡等,在实际项目中能够搭建高效
课程简介

课程总共分三部分。

第一部分的大纲大概如下

    1、开发环境搭建,示范远程调试C++项目,如何使用xmake

    2、C++20的概述,涉及C++20的新特性,OOP的概念,编译原理

    3、C++20高级开发,涉及语法基础,OOP面向对象,模版,异常,IO,STL,常用工具,常用算法,视图,范围,线程,协程,测试,设计模式

第二部分的大纲大概如下

    1、MySQL高级,涉及MySQL安装配置,数据管理,SQL语句基础,事务控制,存储过程,触发器,数据备份恢复,监控优化

    2、MySQL客户端SDK,涉及三种方式:ODBC,JDBC,ORM下访问MySQL的差异,如何在C++项目中使用MySQL和Redis存储数据,并且结合实际场景进行演示

    3、Redis高级,涉及Redis安装配置,数据管理,发布订阅,事务集群,优化监控,SDK开发,二级缓存使用

第三部分的大纲大概如下

    1、Http服务,会讲解Http协议,错误日志处理,实践认证授权模块,登陆模块,业务模块

    2、容器化部署,涉及Docker知识,容器编排脚本,服务打包发布

第一部分课程目录:

编程环境搭建

    课时1:虚拟机安装

    课时2:Ubuntu22安装及配置

    课时3:   VSCode安装及配置

    课时4:第一个C++项目

    课时5:调试C++项目

基本概述

    课时1:C++20新特性概述

C++基础

    课时1:语法基础

        第一小节:编译与运行

        第二小节第一段:字面量

        第二小节第二段:基础数据类型

        第二小节第三段:原始指针

        第二小节第四段:类型别名

        第二小节第五段:类型推导

        第二小节第六段:结构体

        第二小节第七段:枚举

        第三小节第一段:条件语句

        第三小节第二段:运算符

        第三小节第三段:作用域

        第四小节第一段:函数使用

        第四小节第二段:函数属性

        第四小节第三段:引用参数

        第四小节第四段:const_cast

        第四小节第五段:函数指针

        第四小节第六段:函数对象

        第四小节第七段:lambda使用

        第五小节第一段:字符串拼接

        第五小节第二段:字符串查找

        第五小节第三段:字符串替换

        第五小节第四段:字符串裁剪

        第五小节第五段:字符串分割

        第五小节第六段:字符串编码

        第五小节第七段:字符串视图

        第五小节第八段:字符串格式化

        第五小节第九段:字符串容器化删除

        第五小节第十段:字符串范围操作

        第五小节第十一段:字符串正则表达式

        第五小节第十二段:字符串转换

        第六小节第一段:智能指针

        第六小节第二段:内存池管理

    课时2:C++20新特性

        第一小节第一段:协程使用

        第一小节第二段:协程组

        第一小节第三段:协程生成器

        第二小节第一段:模块使用

        第三小节第一段:多线程新特性

        第三小节第二段:原子变量新特性

        第三小节第三段:同步变量新特性

        第三小节第四段:信号量新特性

        第三小节第五段:新特性综合使用_消费者生产者

    课时3:面向对象编程

        第一小节第一段:SOLID原则

        第一小节第二段:类定义

        第一小节第三段:类之间关系

        第一小节第四段:友元类

        第一小节第五段:嵌套类

        第一小节第六段:运算符重载

        第一小节第七段:静态多态与动态多态

        第一小节第八段:类转换

    课时4:模版编程

        第一小节第一段:模板定义

        第一小节第二段:模板特化

        第一小节第三段:模板派生

        第一小节第四段:函数模板

        第一小节第五段:模板中使用概念

        第一小节第六段:模板参数

        第一小节第七段:模板元

    课时5:异常处理

        第一小节第一段:异常处理(异常抛出,自定义异常,异常传递)

    课时6:IO

        第一小节第一段:IO流控制(输入输出流,字符串流,文件流,文件系统库)

    课时7:标准库

        第一小节第一段:顺序容器

        第一小节第二段:集合容器

        第一小节第三段:容器适配器

        第一小节第四段:迭代器与适配器

        第一小节第五段:特殊容器

        第一小节第六段:容器相关算法

    课时8:常用工具

        第一小节第一段:本地化

        第一小节第二段:正则库

        第一小节第三段:日期时间

        第一小节第四段:随机数

    课时9:并发编程

        第一小节第一段:多线程的不同使用方式

        第一小节第二段:协程等待对象

        第一小节第三段:线程锁

        第一小节第四段:多线程日志类

        第一小节第五段:协程日志类

        第一小节第六段:协程与线程TCP服务端

    课时10:测试框架

        第一小节第一端:C++测试框架(GTest,Catch2,Boost.Test)

    课时11:设计模式

        第一小节第一段:构造器模式

        第一小节第二段:单例模式

        第一小节第三段:工厂模式

        第一小节第四段:抽象工厂模式

        第一小节第五段:适配器模式

        第一小节第六段:代理模式

        第一小节第七段:迭代器模式

        第一小节第八段:观察者模式

        第一小节第九段:装饰器模式

        第一小节第十段:责任链模式


第二部分课程目录

MySQL基础

    课时1:MySQL简介

    课时2:MySQL安装与配置

    课时3:MySQL数据库设计与管理

    课时4:MySQL基础

    课时5:MySQL高级查询与优化

    课时6:MySQL事务与并发控制

    课时7:MySQL存储过程与触发器

    课时8:MySQL数据备份与恢复

    课时9:MySQL性能优化与监控

MySQL客户端SDK

    课时1:MySQL客户端SDK介绍

    课时2:ODBC下C++20编写Demos

    课时3:JDBC下C++20编写Demos

    课时4:ORM下C++20编写Demos

Redis基础

    课时1:Redis简介

    课时2:Redis安装与配置

    课时3:Redis数据类型与操作

    课时5:发布与订阅

    课时6:事务与持久化

    课时7:集群部署

    课时8:性能优化与监控


第三部分课程目录

HTTP服务器项目实战

    课时1:HTTP协议基础

    课时2:技术选型

    课时3:编码实现

    课时4:压力测试与性能优化

服务容器化

    课时1:Docker概述

    课时2:Docker环境安装

    课时3:DockerFile基础

    课时3:Docker磁盘挂载

    课时3:Docker网络映射

    课时4:Docker-Compose容器编排

    课时5:项目测试及总结


本课程的目标:

        1、掌握C++20的新特性,如模块化编程、协程、概念等,在实际项目中能够应用这些新特性,提高代码的可维护性和可重用性。

        2、熟悉C++20的并发编程,能够使用多线程、协程等技术解决多线程编程中的常见问题,提高程序的性能和可靠性。

        3、熟悉MySQL的基本概念和SQL语句,能够在C++项目中使用MySQL存储数据,进行数据管理、事务控制、备份恢复等操作,为后续的数据分析提供基础数据。

        4、熟悉Redis的基本概念和命令,能够在C++项目中使用Redis存储数据,进行发布订阅、事务控制、集群管理等操作,提供高效的缓存服务。

        5、熟悉HTTP协议和相关技术,如路由处理、错误日志处理、认证授权、负载均衡等,在实际项目中能够搭建高效、稳定的HTTP服务。


对学生未来职业发展的重要性:

        1、C++20是一门现代化的高级编程语言,掌握C++20的新特性将使学生在未来的职业发展中更具竞争力,并能够应对复杂的项目需求。

        2、并发编程是现代软件开发中的关键技术之一,掌握并发编程技术将使学生在多核CPU、分布式系统等方面具备更强的竞争力。

        3、MySQL和Redis是目前业界最流行的关系型和非关系型数据库,熟练掌握这两种数据库将使学生在数据存储和数据分析方面更具优势。

        4、HTTP服务是现代互联网应用开发的基础,掌握HTTP服务开发技术将使学生在Web开发、云计算等领域具备更强的实战能力


展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
讨论区空空如也,你来讲两句~
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交