C++ Boost高级培训
课程概要
C++ Boost强化班课程,通过对Boost几个实用组件的学习,掌握高吞吐量、低延迟的服务器端应用开发的有效知识,且通过最终项目的历练,学员将对高性能服务器端应用开发有一个清晰的认识,并能熟练使用Boost相关的类库来开发服务器端应用。
入学条件
学习该课程的学员必须拥有扎实的C++语言基础、熟悉STL。
上课方式、课程费用
远程视频学习、建议经过2~3月的学习、费用:RMB 5,000.00元。
开课时间
任意时间。
课程模块
C++ Boost强化班课程由以下模块组成:
Module05 - C++ Boost
Boost是由C++标准委员会成员发起、众多C++业界高人参与设计并实现的一个涉及面广、质量高且业已广泛使用的C++标准后备库,其中
TR1已经被纳入C++0x标准库。不论从风格和内容组织上讲,都可以认为Boost项目是C++标准库的延伸。截止到boost
1.43版本,boost项目拥有大约100个用途广泛的实用库。这部分课程将介绍服务器端开发所需要的几个组件:
- 容器与数据结构
介绍boost.any, boost.tuple, boost.array, boost.unordered(基于hash table,即hash_map和hash_set)等组件。 - 字符串算法和文字处理
介绍boost.lexical_cast, boost.format, boost.string_algo等组件。 - 正则表达式
正则表达式语法(perl正则表达式语法)的讲解,boost.regex库的使用。 - 智能指针
详细介绍shared_ptr、scoped_ptr、weak_ptr等智能指针的使用。 - 函数对象相关
详细介绍boost.bind, boost.mem_fn, boost.function, boost.ref, boost.lambda等组件。 - 序列化
通过实例熟悉boost.serialization库的用法。 - 日期与时间
boost.date_time库的详细介绍。 - 多线程
作为服务器端开发必不可少的内容之一:多线程支持,boost提供了一个跨平台的线程库:boost.thread。
本单元的课程详细介绍boost.thread。 - 网络编程
boost.asio库,通过对各类操作系统原生的socket API以及事件多路分离、异步I/O API的封装,构成了一个性能优秀、便于编程的网络编程框架,使复杂的网络编程任务变得简单、安全、并且高效。
本单元的课程通过一系列的示例来展示:通过asio来构建TCP同步/异步服务器和客户端、UDP同步/异步服务器和客户端应用,从而熟悉asio的接口和编程套路。
Module09 - 项目实战
项目实战可选以下项目之一:
- 项目1:X-Messenger
一个IM(即时通信)服务器,类似于MSN、QQ等IM的服务器。可以基于Boost.asio或ACE实现。 - 项目2:XY-DB
一个小型的关系型数据库系统,包括服务器和客户端实现,建议基于Boost相关组件实现。 - 项目3:Crawler
一个网络爬虫,即搜索引擎的前端,负责收集网络上的数据(网页内容、解析URL)供搜索引擎使用。 - 其他项目,可由学员自行定义。
课程资源