Boost 远程项目班
2012-03-31 20:08
C++ Boost远程项目班课程,通过对Boost几个实用组件的学习,掌握高吞吐量、低延迟的服务器端应用开发的有效知识,且通过最终项目的历练,学员将对高性能服务器端应用开发有一个清晰的认识,并能熟练使用Boost相关的类库来开发服务器端应用。
上课方式
远程视频学习。学费¥3,000元。
课程模块
C++ Boost强化班课程由以下模块组成:
1 - 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.Signals2 - 实现回调机制
Boost Signal2:线程安全的Signal-Slot机制 (Publishers → Signals/Subscribers → Slots),即Observer模式的实现;
- 序列化
通过实例熟悉boost.serialization库的用法。
- 日期与时间
boost.date_time库的详细介绍。
- 多线程
作为服务器端开发必不可少的内容之一:多线程支持,boost提供了一个跨平台的线程库:boost.thread。
本单元的课程详细介绍boost.thread。
- 网络编程
boost.asio库,通过对各类操作系统原生的socket API以及事件多路分离、异步I/O API的封装,构成了一个性能优秀、便于编程的网络编程框架,使复杂的网络编程任务变得简单、安全、并且高效。
本单元的课程通过一系列的示例来展示:通过asio来构建TCP同步/异步服务器和客户端、UDP同步/异步服务器和客户端应用,从而熟悉asio的接口和编程套路。
2 - 项目实战
课程结束后,学员需基于C++、Boost实现以下项目:
- 项目1:X-Messenger Servers
IM(即时通信)服务器群,类似于MSN、QQ等IM的服务器。可以基于Boost.asio或ACE实现。
课程资源
可获取的课程资源见:教学资源。