• 5635阅读
  • 1回复

Linux C++培训 [复制链接]

上一主题 下一主题
离线athxy
 

只看楼主 正序阅读 楼主  发表于: 2010-12-30

昆山轩辕Linux C++训练营
Linux/UNIX C++全科班
    * 培养目标:Linux/UNIX C++高级软件工程师
      专注Linux/UNIX服务器端的软件开发(后台开发),培养企业所需的专业Linux/UNIX C++高级软件工程师。
      课程涉及服务器端软件开发的方方面面:Linux/UNIX、C++、Boost、ACE、Shell编程、Oracle/MySQL、数据库建模、UML建模、项目实践、开发模式等等。是中国唯一一家专注Linux下C++、Boost、ACE、数据库开发的培训机构。

http://www.xuanyuan-soft.cn

课程大纲
一、Linux操作系统

    * 系统环境:Ubuntu GNU/Linux、RedHat Linux AS5、FreeBSD
    * 课程要求:熟练使用常用的Linux/UNIX命令。
    * 时间:1周。

二、Linux C++开发环境搭建、开发工具的使用

    * 涉及内容:vi、GCC、GDB、Make、CVS、Subversion、Eclipse CDT
    * 课程要求:
          o 熟练使用vi文本编辑器;
          o 熟练使用GCC工具链进行编译、调试、构建可执行文件或共享库/静态库;
          o 熟练编写Makefile;
          o 熟练配置、使用CVS和Subversion两种版本控制工具;
          o 熟练配置、使用Eclipse CDT开发工具。
    * 时间:1周

三、C++语言

        C++是一门多范型编程语言,相对于C、Java、C#等C系语言,复杂度高,但一旦领悟C++的精髓,则能发挥C++语言的强大威力,为了让学员掌握C++语言编程技术,我们将这部分的课程分为五个部分:

    * 面向过程编程: Core C++
          o 涉及技术:C++基础:类型和声明、指针与数组、表达式与语句、函数、名字空间、异常、代码文件的组织
          o 课程要求:掌握扎实的C++基础知识。
          o 时间:1.5周。
    * 面向对象编程: 封装、继承与多态(encapsulation、inherit & Polymorphism)
          o 涉及技术:类设计、运算符重载、继承与多态。
          o 课程要求:正确理解面向对象的概念,用面向对象的思维和方法构建软件,正确地设计和使用类以及继承体系。
          o 时间:1.5周。
    * 泛型编程: C++模板(Template)
          o 涉及技术:类模板、函数模板、函数对象(Function object)。
          o 课程要求:C++模板是C++强大威力的技术支撑,是构建C++标准库、Boost类库、ACE框架等的基础,必须熟练掌握C++模板技术。
          o 时间:1.5周。
    * 数据结构与算法
          o 涉及内容:常用数据结构(顺序容器、链表、树)和算法(排序与搜索)的C++实现。
          o 课程要求:能实现常规的数据结构(容器如vector、list、statck、queue等),排序和搜索算法。
          o 时间:1.5周。
    * C++标准库应用
          o 涉及技术:标准容器(STL容器):vector、list、map、set等等;迭代器、算法库、IO流、C语言数学库等
          o 课程要求:对常用的部分如容器、迭代器、常用的算法、IO流,必须牢固掌握、熟练使用,对其它部分必须有认识,以免日后工作中频繁的编写标准库中存在的内容,重复制造轮子。
          o 时间:2周。

四、C++ Boost模板库

        Boost是由C++标准委员会成员发起、众多C++界高手参与设计并实现的一个涉及面广、质量高且业已广泛使用的C++标准后备库,其中TR1已经被纳入C++0x标准库。这部分的课程将涉及其中一些常用的类库。

    * 涉及技术:Aiso、Thread、Interprocess、System、File System、Date Time、Format、Array、Lambda、Signals、TR1中的部分(Regex、Tuple、Smart Point、Hash Map、Hash Set等)。
    * 课程要求:必须掌握的类库有:Aiso、Thread、Date Time以及TR1中部分内容。
    * 时间:2周。

五、ACE框架

        ACE是一个被广泛使用、设计优雅、高性能的C++通信框架(不仅仅是通信框架),其设计及实现被众多开源框架所借鉴。是构建稳定、高性能、高吞吐量、跨平台的服务器端程序的优秀框架。

    * 涉及技术:ACE Reactor框架、ACE Proactor框架、MultiThread支撑、Timer(Scheduler)、ACE Service Configurator。
    * 课程要求:以上列举的部分是服务器端编程必不可少的部分,均需熟练使用。
    * 时间:2周。

六、数据库开发

        专注Oracle 10g、MySQL5.0+。这部分的课程分为以下三大块:

    * SQL语言:
          o 涉及技术:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。
          o 课程要求:熟练使用SQL语言。
          o 时间:1周。
    * Oracle和MySQL存储过程、函数、触发器
          o 涉及技术:PL/SQL。
          o 课程要求:熟练编写Oracle和MySQL存储过程、函数、触发器。
          o 时间:1周。
    * C++数据库开发
          o 涉及技术:OTL或DTL(两个高性能、易用的C++模板类,针对各大主流数据库如:Oracle、DB2、SqlServer、MySQL等)。
          o 课程要求:熟练使用OTL和DTL进行数据库编程。
          o 时间:0.5周。

七、软件工程

        一个优秀的软件工程师不仅具备优秀的编码能力,更应该拥有优秀的软件设计思维和方法,以下课程也是轩辕学员必修的内容。

    * 涉及技术:数据库建模、软件建模、GOF设计模式、文档编写
    * 课程要求:掌握数据库建模、软件建模的思想和方法,熟练使用建模工具,尝试用设计模式来思考软件的架构。至少学会编写《详细设计说明书》、《概要设计说明书》、《数据库设计说明书》。
    * 时间:1.5周。

八、项目实战

        轩辕提供多个企业级实战项目供学员选择,如:电信级IM Server、电信级Billing Server等基于UNIX或Linux下的高负荷、大压力的C++ Server端项目,同时提供Client端程序以便联调及测试。

    * 涉及技术:本项目将涉及学习阶段所有内容。
    * 项目要求:学员按分组,分工、协作,共同完成项目,最终评估两个方面:软件架构设计、软件代码实现质量。
    * 时间:4周

昆山轩辕软件技术有限公司
Linux C++高级软件工程师训练营-----远程班;现场班!
http://www.xuanyuan-soft.cn
Gtalk:athzhang@gmail.com
MSN : athxy@live.cn
Q Q :570508473  
电 话:18912671348
昆山前进西路1088号虹桥大厦6楼
Q Q 570508473
www.xuanyuan-soft.cn
离线athxy

只看该作者 1楼 发表于: 2011-10-27
昆山轩辕Linux C++训练营
C++ Boost强化班
课程概要
     C++ Boost强化班课程,通过对Boost几个实用组件的学习,掌握高吞吐量、低延迟的服务器端应用开发的有效知识,且通过最终项目的历练,学员将对高性能服务器端应用开发有一个清晰的认识,并能熟练使用Boost相关的类库来开发服务器端应用。
http://www.xuanyuan-soft.cn
课程模块

      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)供搜索引擎使用。
    * 其他项目,可由学员自行定义。
Q Q 570508473
www.xuanyuan-soft.cn
快速回复
限100 字节
 
上一个 下一个