课程方针: 高端Linux/UNIX C++软件工程师(Linux、C++、Boost、ACE、数据库、企业级的实战项目) [color=]课程简介: Linux C++全科班课程,专注Linux/UNIX办事器端软件开辟(背景开辟),培育企业所需的专业Linux/UNIX C++软件工程师。课程触及UNIX/Linux办事器端软件开辟的各个方面:Linux/UNIX、C++、Boost、ACE、Oracle /MySQL、企业级的实战项目等。 [color=]课程模块: Linux C++全科班课程由以下模块组成: Module01 - Linux系统根本 由于本系列课程基于Linux(或UNIX),熟悉Linux操纵系统是需要的条件。 该模块的课程包括以下方面的内容: 常用Unix/Linux号令 熟悉文件治理、文本处置、进程治理、收集、系统治理等各个方面大约100个常用的号令。 深入领会bash 领会Linux默许shell: bash 的语法、号令履行、I/O重定向、使命控制等。 正则表达式根本 由于UNIX/Linux中很多强大的文本处置号令如:grep、awk、sed,还有vi编辑器等工具配合正则表达式将发生强大的能力,所以熟悉正则表达式语法是非常需要的。 find、grep、sed、awk 四个强大的UNIX工具,出格是sed、awk在文本处置方面的才能很是强大,在Linux下工作应当把握这几个号令。 Module02 - Linux开辟情况 分歧系统平台下的开辟工具、开辟情况各有分歧。该模块课程关注的是Linux C++/C开辟所必须的一系列工具: vi(vim)文本编辑器 一个UNIX天下标准的文本编辑器,繁复而强大,非论作为开辟职员还是系统治理员,熟练利用vi是一项根基的、且不成或缺的技术。 gcc/g++ C/C++编译器 经过具体的示例讲授利用gcc/g++编译单个、多个文件、同享库、静态库等。 gdb 调试器 经过具体的示例来熟悉经过gdb来调试C/C++利用法式、批改利用法式运转期的毛病。 make和makefile 进修编写makefile,利用make来构建一个完整的项目。 CVS - 版本控制 应用CVS来停止代码的版本控制。 Eclipse CDT 一个很是强大的C/C++ IDE,强大的文本编辑器、与GCC工具链的无缝连系、方便的gdb前端、集成CVS/Subversion等版本控制等,供给众多的便当,大大减轻开辟者的负担。 Module03 - C++编程说话 深入讲授C++编程说话的各个方面,即完整的C++语法讲授: 说话根本 具体先容变量、表达式、语句、指针、数组、流程控制、函数、文件构造等。 笼统机制 - 面向工具编程 深入讲授C++的笼统机制,封装(类)、继续、多态;操纵符重载、函数工具、异常处置等。 模板 - 泛型编程 具体先容C++的模板机制,类模板、函数模板、模板特化等方面的内容。 Module04 - C++标准库 完整地讲授STL各大组件:容器、算法、函数工具、容器适配器、迭代器、迭代器适配器等;别的还包括string、I/O stream;为了更好地领会STL容器的特征、排序算法,额外放置:数据结构简介和常用排序算法简介2个部分的内容。 常用数据结构简介 先容静态数组、linked-list、binary search tree、rb-tree、hash table、stack、queue、heap等常用的数据结构。 STL容用具体先容 vector、list、deque、stack、queue、priority_queue、map、set等容器的特征和用法。 常见排序算法先容 简要先容各类常见排序算法的道理,及实在现。 STL算法和预界说函数工具 标准库供给了多达60多个算法函数,触及排序、搜索、排列组合等多个方面,其中大都算法会利用如greater、less、binder2nd等函数工具,该单元的课程具体先容了上述算法的利用和相关函数工具的具体感化。 迭代器 STL容器和算法高度解耦,而算法之所以能方便的感化于STL容器,维系两者的就是迭代器。 在这个单元的课程中讲先容C++迭代器的种别、各类迭代器适配器的用法。 string - 字符串 相对于C气概的字符串处置,C++供给了更平安和方便的字符串范例 string,给class供给类众多的方式确保针对字符串处置的平安、便利性。该单元的课程讲完整地先容string的利用。 I/O stream C++标准库供给的一个强大的I/O流框架。本单元具体先容标准输入/输出、文件输入/输出、字符串输入/输出流的应用,操纵操控符来控制输入/输出的格式。 数值 先容C++数值运算的算法,如valarray、4组数值算法函数、随机数等方面的内容。 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的接口和编程套路。 Module06 - C++ ACE ACE是一个被普遍利用、设想文雅、高性能的C++通讯框架(不但仅是通讯框架),其设想及实现被众多开源框架所鉴戒。是构建稳定、高性能、高吞吐量、跨平台的办事器端法式的优异框架。本模块的课程包括以下几个方面: ACE根本收集I/O相关工具 具体先容ACE_SOCK、ACE_SOCK_Acceptor、ACE_SOCK_Connector、ACE_INET_Addr等class的利用。 Reactor框架 ACE Reactor框架简化事务驱动法式的开辟,而事务驱动是很多收集化利用的根基特征,这些利用常见的事务源包括I/O事务、Posix信号或 Windows句柄激起以及按时器到期等。 本单元先容ACE_Event_Handler、Timer、ACE_Reactor等类的利用,并利用该框架构建一个简易的多人聊天室利用。 Task框架 ACE Task框架供给了强大而可扩大的面向工具并发才能,如在基于工具的高低文(context)中派生线程,以及在履行分歧线程中的工具之间传递消息和抵消息停止排队。 Acceptor-Connector框架 ACE Acceptor-Connector框架实现了Acceptor-Connector形式,这类形式经过消除:1,收集化利用中相互合作的对等办事的毗连和初始化所需的活动、2,以及它们一旦毗连和初始化后所履行的处置的耦合,增强了软件复用和可扩大性。 Proactor框架 Proactor框架引入异步I/O机制,既保存了Reactor框架的事务多路分手,避免多线程的开销,同时还缓和了反应式的同步I/O的瓶颈效应。 Module07 - 数据库开辟 数据库作为办事器端利用数据持久化的最重要的部件,在办事器端利用开辟中占有很是重要的职位。本模块首要针对Oracle 10g和MySQL 5.1两种关系型数据库治理系统。本模块包括以下内容: SQL说话 具体先容DML、DDL语句的语法和利用。 Oracle PL/SQL 周全先容Oracle PL/SQL语法,以及利用PL/SQL编写存储进程、函数、触发器。 MySQL存储进程 编写MySQL存储进程、函数、触发器。 C++ OTL OTL:Oracle、ODBC and DB2-CLI Template Library。经过OTL,可以方便、高效的与各类支流的关系型数据库如DB2、Oracle、Infomix、Sybase、MySQL等通讯。 Module08 - 项目实战 课程竣事后,学员需基于C++、Boost或ACE实现以下2个项目: 项目1:X-Messenger Servers IM(立即通讯)办事器群,类似于MSN、QQ等IM的办事器。可以基于Boost.asio或ACE实现。 项目2:X-Messenger Client IM(立即通讯)客户端软件,类似于MSN、QQ等IM的工具。实现Contacts治理、P2P文件传输、P2P一对一文本聊天、群聊等现代IM客户端功用,可以基于Boost.asio或ACE实现。 其他项目,可由学员自行界说。 [color=]下载地址: |
欢迎光临 IT视频教程资源网 (https://zhilexue.tech/) | Powered by Discuz! X3.2 |