青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Linux/UNIX、C++、Boost、ACE、Shell

Linux C++訓(xùn)練營

2014年3月20日 #

Linux C++高性能網(wǎng)絡(luò)編程

     摘要: 軒轅高端C++培訓(xùn):專注 Linux下C/C++、ACE、Boost、高性能服務(wù)器端應(yīng)用 開發(fā)技術(shù)培訓(xùn)
http://xuanyuan-soft.cn/  閱讀全文

posted @ 2014-03-20 16:09 athxy 閱讀(1208) | 評論 (0)編輯 收藏

2013年9月3日 #

Java02:使用Jdbc連接Oracle數(shù)據(jù)庫

Java02:使用Jdbc連接Oracle數(shù)據(jù)庫

一、編寫代碼

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcTest02 {

    public static void main(String[] args) {
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;
        try {
            String driver = "oracle.jdbc.driver.OracleDriver";
            String url = "jdbc:oracle:thin:@localhost:1521:xe";
            String user = "xuanyuan";
            String password = "xuanyuan";

            Class.forName(driver);
            con = DriverManager.getConnection(url, user, password);

            st = con.createStatement();
            rs = st.executeQuery("select sysdate from dual");

            while (rs.next())
                System.out.println(rs.getString(1));

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if (st != null) {
                try {
                    st.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }

            if (con != null) {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

二、編譯代碼

$ javac JdbcTest02.java

三、運行程序 JdbcTest02

$ java -cp /opt/javalib/orajdbc/ojdbc14.jar:. JdbcTest02
2009-10-31 14:34:50.0

說明:Oracle和MySQL的jdbc 驅(qū)動都在 /opt/javalib/目錄下
軒轅高端LinuxC/C++ACEBoost高性能服務(wù)器端應(yīng)用 開發(fā)技術(shù)培訓(xùn)

posted @ 2013-09-03 15:03 athxy 閱讀(407) | 評論 (0)編輯 收藏

2013年1月27日 #

Linux下C/C++、ACE、Boost、高性能服務(wù)器端應(yīng)用 開發(fā)技術(shù)

Linux C++培訓(xùn)(現(xiàn)場及遠程班)

中國唯一一家專注 LinuxC/C++ACEBoost高性能服務(wù)器端應(yīng)用 開發(fā)技術(shù)培訓(xùn)的機構(gòu)。

上課方式

現(xiàn)場班:全日制脫產(chǎn)學(xué)習(xí)、歷時4個月,每月開班。

遠程班:遠程視頻學(xué)習(xí),學(xué)習(xí)時間自定,隨時開課。

課程模塊

Linux C++全科班課程由以下模塊組成:

Module01 - Linux系統(tǒng)基礎(chǔ)

由于本系列課程基于Linux(或UNIX),熟悉Linux操作系統(tǒng)是必要的前提。 該模塊的課程包含以下方面的內(nèi)容:

  • 常用Unix/Linux命令
    熟悉文件管理、文本處理、進程管理、網(wǎng)絡(luò)、系統(tǒng)管理等各個方面大約100個常用的命令。

  • 深入了解bash
    了解Linux默認shell: bash 的語法、命令執(zhí)行、I/O重定向、任務(wù)控制等。

  • 正則表達式基礎(chǔ)
    由于UNIX/Linux中很多強大的文本處理命令如:grep、awk、sed,還有vi編輯器等工具配合正則表達式將產(chǎn)生強大的威力,所以熟悉正則表達式語法是十分必要的。

  • find、grep、sed、awk
    四個強大的UNIX工具,特別是sed、awk在文本處理方面的能力非常強大,在Linux下工作應(yīng)該掌握這幾個命令。

Module02 - Linux開發(fā)環(huán)境

不同系統(tǒng)平臺下的開發(fā)工具、開發(fā)環(huán)境各有不同。該模塊課程關(guān)注的是Linux C++/C開發(fā)所必需的一系列工具:

  • vi(vim)文本編輯器
    一個UNIX世界標準的文本編輯器,簡約而強大,不論作為開發(fā)人員還是系統(tǒng)管理員,熟練使用vi是一項基本的、且不可或缺的技能。

  • gcc/g++ C/C++編譯器
    通過具體的示例講解使用gcc/g++編譯單個、多個文件、共享庫、靜態(tài)庫等。

  • gdb 調(diào)試器
    通過具體的示例來熟悉通過gdb來調(diào)試C/C++應(yīng)用程序、修正應(yīng)用程序運行期的錯誤。

  • make和makefile
    學(xué)習(xí)編寫makefile,使用make來構(gòu)建一個完整的項目。

  • CVS - 版本控制
    運用CVS來進行代碼的版本控制。

  • Eclipse CDT
    一個非常強大的C/C++ IDE,強大的文本編輯器、與GCC工具鏈的無縫結(jié)合、方便的gdb前端、集成CVS/Subversion等版本控制等,提供眾多的便利,大大減輕開發(fā)者的負擔。

Module03 - C++編程語言

深入講解C++編程語言的各個方面,即完整的C++語法講解:

  • 語言基礎(chǔ)
    詳細介紹變量、表達式、語句、指針、數(shù)組、流程控制、函數(shù)、文件組織等。

  • 抽象機制 - 面向?qū)ο缶幊?/strong>
    深入講解C++的抽象機制,封裝(類)、繼承、多態(tài);操作符重載、函數(shù)對象、異常處理等。

  • 模板 - 泛型編程
    詳細介紹C++的模板機制,類模板、函數(shù)模板、模板特化等方面的內(nèi)容。

Module04 - C++標準庫

完整地講解STL各大組件:容器、算法、函數(shù)對象、容器適配器、迭代器、迭代器適配器等;另外還包括string、I/O stream;為了更好地了解STL容器的特性、排序算法,額外安排:數(shù)據(jù)結(jié)構(gòu)簡介和常用排序算法簡介2個部分的內(nèi)容。

  • 常用數(shù)據(jù)結(jié)構(gòu)簡介
    介紹動態(tài)數(shù)組、linked-list、binary search tree、rb-tree、hash table、stack、queue、heap等常用的數(shù)據(jù)結(jié)構(gòu)。

  • STL容器詳細介紹
    vector、list、deque、stack、queue、priority_queue、map、set等容器的特性和用法。

  • 常見排序算法介紹
    簡要介紹各種常見排序算法的原理,及其實現(xiàn)。

  • STL算法和預(yù)定義函數(shù)對象
    標準庫提供了多達60多個算法函數(shù),涉及排序、搜索、排列組合等多個方面,其中多數(shù)算法會使用如greater、less、binder2nd等函數(shù)對象,該單元的課程詳細介紹了上述算法的使用和相關(guān)函數(shù)對象的具體作用。

  • 迭代器
    STL容器和算法高度解耦,而算法之所以能方便的作用于STL容器,維系二者的就是迭代器。
    在這個單元的課程中講介紹C++迭代器的類別、各類迭代器適配器的用法。

  • string - 字符串
    相對于C風(fēng)格的字符串處理,C++提供了更安全和方便的字符串類型 string,給class提供類眾多的方法確保針對字符串處理的安全、便捷性。該單元的課程講完整地介紹string的使用。

  • I/O stream
    C++標準庫提供的一個強大的I/O流框架。本單元詳細介紹標準輸入/輸出、文件輸入/輸出、字符串輸入/輸出流的運用,利用操控符來控制輸入/輸出的格式。

  •  數(shù)值
    介紹C++數(shù)值運算的算法,如valarray、4組數(shù)值算法函數(shù)、隨機數(shù)等方面的內(nèi)容。

Module05 - C++ Boost

Boost是由C++標準委員會成員發(fā)起、眾多C++業(yè)界高人參與設(shè)計并實現(xiàn)的一個涉及面廣、質(zhì)量高且業(yè)已廣泛使用的C++標準后備庫,其中 TR1已經(jīng)被納入C++0x標準庫。不論從風(fēng)格和內(nèi)容組織上講,都可以認為Boost項目是C++標準庫的延伸。截止到boost 1.43版本,boost項目擁有大約100個用途廣泛的實用庫。這部分課程將介紹服務(wù)器端開發(fā)所需要的幾個組件:

  • 容器與數(shù)據(jù)結(jié)構(gòu)
    介紹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等智能指針的使用。

  • 函數(shù)對象相關(guān)
    詳細介紹boost.bind, boost.mem_fn, boost.function, boost.ref, boost.lambda等組件。

  • 序列化
    通過實例熟悉boost.serialization庫的用法。

  • 日期與時間
    boost.date_time庫的詳細介紹。

  • 多線程
    作為服務(wù)器端開發(fā)必不可少的內(nèi)容之一:多線程支持,boost提供了一個跨平臺的線程庫:boost.thread。
    本單元的課程詳細介紹boost.thread。

  • 網(wǎng)絡(luò)編程
    boost.asio庫,通過對各類操作系統(tǒng)原生的socket API以及事件多路分離、異步I/O API的封裝,構(gòu)成了一個性能優(yōu)秀、便于編程的網(wǎng)絡(luò)編程框架,使復(fù)雜的網(wǎng)絡(luò)編程任務(wù)變得簡單、安全、并且高效。
    本單元的課程通過一系列的示例來展示:通過asio來構(gòu)建TCP同步/異步服務(wù)器和客戶端、UDP同步/異步服務(wù)器和客戶端應(yīng)用,從而熟悉asio的接口和編程套路。

Module06 - C++ ACE

ACE是一個被廣泛使用、設(shè)計優(yōu)雅、高性能的C++通信框架(不僅僅是通信框架),其設(shè)計及實現(xiàn)被眾多開源框架所借鑒。是構(gòu)建穩(wěn)定、高性能、高吞吐量、跨平臺的服務(wù)器端程序的優(yōu)秀框架。本模塊的課程包含以下幾個方面: 

  • ACE基礎(chǔ)網(wǎng)絡(luò)I/O相關(guān)對象
    詳細介紹ACE_SOCK、ACE_SOCK_Acceptor、ACE_SOCK_Connector、ACE_INET_Addr等class的使用。

  • Reactor框架
    ACE Reactor框架簡化事件驅(qū)動程序的開發(fā),而事件驅(qū)動是很多網(wǎng)絡(luò)化應(yīng)用的基本特征,這些應(yīng)用常見的事件源包括I/O事件、Posix信號或 Windows句柄激發(fā)以及定時器到期等。
    本單元介紹ACE_Event_Handler、Timer、ACE_Reactor等類的使用,并使用該框架構(gòu)建一個簡易的多人聊天室應(yīng)用。

  • Task框架
    ACE Task框架提供了強大而可擴展的面向?qū)ο蟛l(fā)能力,如在基于對象的上下文(context)中派生線程,以及在執(zhí)行不同線程中的對象之間傳遞消息和對消息進行排隊。

  • Acceptor-Connector框架
    ACE Acceptor-Connector框架實現(xiàn)了Acceptor-Connector模式,這種模式通過解除:1,網(wǎng)絡(luò)化應(yīng)用中相互協(xié)作的對等服務(wù)的連 接和初始化所需的活動、2,以及它們一旦連接和初始化后所執(zhí)行的處理的耦合,增強了軟件復(fù)用和可擴展性。

  • Proactor框架
    Proactor框架引入異步I/O機制,既保留了Reactor框架的事件多路分離,避免多線程的開銷,同時還緩和了反應(yīng)式的同步I/O的瓶頸效應(yīng)。

Module07 - 數(shù)據(jù)庫開發(fā)

數(shù)據(jù)庫作為服務(wù)器端應(yīng)用數(shù)據(jù)持久化的最重要的部件,在服務(wù)器端應(yīng)用開發(fā)中占有非常重要的地位。本模塊主要針對Oracle 10g和MySQL 5.1兩種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。本模塊包含以下內(nèi)容:

  • SQL語言
    詳細介紹DML、DDL語句的語法和使用。

  • Oracle PL/SQL
    全面介紹Oracle PL/SQL語法,以及使用PL/SQL編寫存儲過程、函數(shù)、觸發(fā)器。

  • MySQL存儲過程
    編寫MySQL存儲過程、函數(shù)、觸發(fā)器。

  • C++ OTL
    OTL:Oracle、ODBC and DB2-CLI Template Library。通過OTL,可以方便、高效的與各類主流的關(guān)系型數(shù)據(jù)庫如DB2、Oracle、Infomix、Sybase、MySQL等通信。

Module08 - 項目實戰(zhàn)

項目實戰(zhàn)可選以下項目之一:

  • 項目1:X-Messenger Servers
    IM(即時通信)服務(wù)器群,類似于MSN、QQ等IM的服務(wù)器。可以基于Boost.asio或ACE實現(xiàn)。

  • 項目2:X-Messenger Client
    IM(即時通信)客戶端軟件,類似于MSN、QQ等IM的工具。實現(xiàn)Contacts管理、P2P文件傳輸、P2P一對一文本聊天、群聊等現(xiàn)代IM客戶端功能,可以基于Boost.asio或ACE實現(xiàn)。

  • 項目3:X-Crawler
    一個網(wǎng)絡(luò)爬蟲,即搜索引擎的前端,負責收集網(wǎng)絡(luò)上的數(shù)據(jù)(網(wǎng)頁內(nèi)容、解析URL)供搜索引擎使用。

  • 其他項目,可由學(xué)員自行定義。

課程資源

可獲取的課程資源見:教學(xué)資源

http://xuanyuan-soft.cn

posted @ 2013-01-27 14:41 athxy 閱讀(698) | 評論 (0)編輯 收藏

2012年11月6日 #

Linux高性能網(wǎng)絡(luò)編程

Linux高性能網(wǎng)絡(luò)編程

一、課程目標

昆山軒轅高端IT培訓(xùn)本次課程深入講解Linux下的socket編程,并以此為基礎(chǔ),著重討論如何提高網(wǎng)絡(luò)服務(wù)端應(yīng)用的性能,通過本次課程的學(xué)習(xí),學(xué)員將收獲以下方面的成果:

  • 熟練使用socket系列函數(shù)進行網(wǎng)絡(luò)編程;
  • 深刻理解服務(wù)端應(yīng)用的性能要求;
  • 利用Linux提供的各種機制,有效地解決服務(wù)端應(yīng)用的性能瓶頸。

二、參訓(xùn)要求

參加本次課程的學(xué)員須具備以下能力:

  • 了解TCP/IP協(xié)議,有網(wǎng)絡(luò)編程概念。
  • 本次課程使用 C語言 教學(xué),所以學(xué)員需擁有較好的C語言基礎(chǔ);
  • 能熟練使用常用的Linux命令;
  • 能熟練使用gcc、gdb、熟練撰寫makefile;
  • 最好熟練使用vi、emacs等文本編輯器其中的一種。

三、課程實踐環(huán)境

  • 操作系統(tǒng):GNU/Linux 2.6+(建議使用Redhat AS 5+或Ubuntu、Fedora)
  • 編譯器:GCC v4.1+、GDB v7.0+
  • 可選IDE:Eclipse CDT

四、課程大綱

本次課程由以下幾個部分構(gòu)成:

1、POSIX Thread - 多線程

  • 線程管理
    • 線程創(chuàng)建:pthread_create()
    • 線程終止:pthread_exit()
    • 線程連接和分離:join and detach
  • 線程同步機制
    • 互斥體:mutex
    • 讀寫鎖:read-write lock
    • 條件變量:condition variable
  • 線程屬性控制
  • mutex屬性控制

2、Socket 簡介

  • Socket地址數(shù)據(jù)結(jié)構(gòu):struct sockaddr,struct sockaddr_in
  • 字節(jié)序以及字節(jié)序操作:ntohl(), ntohs(), htonl(), htons()
  • Internet地址操作:inet_aton(), inet_addr(), and inet_ntoa(), inet_pton(), inet_ntop()

3、TCP Socket

  • socket():創(chuàng)建socket
  • bind():綁定地址
  • listen():開始偵聽
  • accept():接受來自客戶端的連接
  • connect():連接到服務(wù)器
  • getsockname()和getpeername():獲取本地和對端地址
  • I/O 操作:read(), write()
  • 更高效的I/O 操作:readv(), writev()
  • TCP Server編程步驟
  • TCP Server v1:迭代式Echo Server
  • TCP Server v2:多進程并發(fā)式Echo Server,使用fork()和exec*()
  • TCP Server v3:多線程并發(fā)式Echo Server,使用pthread
  • TCP Client編程步驟
  • TCP Client:Echo Client

4、UDP Socket

  • recvfrom()和sendto():收發(fā)UDP數(shù)據(jù)報
  • UDP Echo Server
  • UDP Echo Client
  • 組播(Multicast)和廣播(Broadcast)

5、Socket Options和 IP Options

  • 常用的Socket Options
  • 常用的IP Options
  • Socket選項和IP選項對網(wǎng)絡(luò)應(yīng)用的影響

6、I/O多路復(fù)用:構(gòu)建反應(yīng)式(Reactive)網(wǎng)絡(luò)應(yīng)用

  • UNIX I/O多路復(fù)用機制概要
  • 為什么I/O 多路復(fù)用對于網(wǎng)絡(luò)應(yīng)用很重要
  • I/O 多路復(fù)用與多線程(反應(yīng)式模型和并發(fā)模型)
  • select / poll
  • 在TCP Server和UDP Server中使用select和poll
  • Linux特有I/O 多路復(fù)用機制:Event poll (epoll)
  • 在TCP Server和UDP Server中使用epoll

7、異步I/O:構(gòu)建前攝式(Proactive)網(wǎng)絡(luò)應(yīng)用

  • 相關(guān)概念:同步I/O和異步I/O、Proactor模式
  • 異步I/O 是如何提高I/O 性能的
  • 異步I/O系列操作
  • 使用異步I/O的機制構(gòu)建TCP Server

8、高性能網(wǎng)絡(luò)編程討論

  • 考究高性能網(wǎng)絡(luò)編程中應(yīng)該遵循的原則,討論并發(fā)、同步、事件多路分離等機制的適用場合
  • 網(wǎng)絡(luò)應(yīng)用的瓶頸何在
  • 事件多路分離 vs 一連接一線程 (Event demultiplexing vs One thread per connection)
  • 同步I/O vs 異步I/O (Synchronous I/O vs Asynchronous I/O)
  • 如何適當?shù)厥褂枚嗑€程
  • 什么時候需要多個 事件多路分離線程

9、應(yīng)用層協(xié)議定義與實現(xiàn)

  • 為什么要自定義應(yīng)用層協(xié)議
  • 定義應(yīng)用層協(xié)議 (以XMMEP協(xié)議為例)
  • 用C++實現(xiàn)自定義的協(xié)議 (以XMMEP協(xié)議為例)

注:XMMEP為X-Messenger Message Exchanging Protocol

六、課程資源

      可獲取的課程資源見:教學(xué)資源

http://www.xuanyuan-soft.cn
Q          Q:570508473
電        話:0512-55253348
郵        箱:athzhang@gmail.com
昆山軒轅軟件技術(shù)有限公司
昆山葦城南路1666號清華科技園創(chuàng)新大廈230室

posted @ 2012-11-06 16:36 athxy 閱讀(804) | 評論 (0)編輯 收藏

2012年8月29日 #

ACE高性能網(wǎng)絡(luò)編程

     摘要: 昆山軒轅高端IT培訓(xùn)---ACE高性能網(wǎng)絡(luò)編程一、課程目標本次課程針對使用ACE工具包進行高性能網(wǎng)絡(luò)應(yīng)用開發(fā),通過本次課程的學(xué)習(xí),學(xué)員將具備以下能力:了解ACE的架構(gòu)和組件;理解現(xiàn)代操作系統(tǒng)線程模型、并發(fā)以及同步機制;熟練使用ACE線程管理和同步機制接口開發(fā)并發(fā)應(yīng)用;熟練使用ACE基本的IPC SAP接口,如SOCK_Stream、SOCK_Dgram等;深刻理解現(xiàn)代操作系統(tǒng)中事件多路分離和分派機...  閱讀全文

posted @ 2012-08-29 15:00 athxy 閱讀(2789) | 評論 (1)編輯 收藏

2012年8月24日 #

軒轅Linux C++開放實驗室

簡介

為方便廣大Linux軟件開發(fā)愛好者,軒轅高端IT培訓(xùn)中心于2009年10月設(shè)立了Linux開放實驗室,軒轅Linux開放實驗室提供了完整的 Linux軟件開發(fā)環(huán)境,包括:Ubuntu Linux 10.04 Server、C/C++(GCC、GDB)、make、Java、Python、Perl、C++ Boost、C++ ACE、C++ OTL、Oracle、DB2、MySQL、Tomcat...,囊括了網(wǎng)絡(luò)、多線程、數(shù)據(jù)庫等服務(wù)器端軟件開發(fā)的各個方面。

Linux開放實驗室典型用途

  • 熟悉Linux操作系統(tǒng),如系統(tǒng)命令、Shell編程、vi等編輯器;
  • C++語言的學(xué)習(xí)與軟件開發(fā),包括基于Boost和ACE的軟件開發(fā);
  • C++數(shù)據(jù)庫開發(fā),OTL;
  • Java語言的學(xué)習(xí)與軟件開發(fā);
  • Java數(shù)據(jù)庫開發(fā),jdbc;
  • Python、Perl等腳本語言的學(xué)習(xí)與軟件開發(fā);
  • 更多您能發(fā)掘到的用途...

開發(fā)環(huán)境

  • 操作系統(tǒng):Ubuntu Linux 10.04 Server;
  • 文本編輯器:vim、emacs、nano
  • C/C++:GCC工具鏈(g++/gcc 4.4.3、gdb 7.1)、GNU make 3.8.1、GNU autotools 2.59等;
  • C++第三方庫:Boost 1.43、ACE 5.6.3、OTL 4.0;
  • Java:Java se 6(Openjdk6);
  • Jdbc:Oracle ojdbc14、MySQL mysql-connector-java-5.0.8;
  • 數(shù)據(jù)庫:Oracle 10g XE、DB2 Express-C 9.7、MySQL 5.1.41;
  • Python 2.6.5、Perl 5.10.1;
  • 版本控制:CVS 1.12.13
  • ...

實驗室面向的人群

  • 所有能通過互聯(lián)網(wǎng)登錄到實驗室服務(wù)器的朋友。
http://www.xuanyuan-soft.cn/zh/lab/registration

posted @ 2012-08-24 14:21 athxy 閱讀(493) | 評論 (0)編輯 收藏

2012年1月27日 #

Boost高性能網(wǎng)絡(luò)編程

一、課程目標

本次課程圍繞高性能網(wǎng)絡(luò)編程這一主題,從眾多的Boost類庫中挑選出Boost.Asio、Boost.Thread以及其它配套的實用庫,作為主要學(xué)習(xí)的內(nèi)容,通過本次課程的學(xué)習(xí),學(xué)員將具備以下能力:

  • 掌握智能指針、高階函數(shù)對象、對象序列化/反序列化等類庫的使用;
  • 理解現(xiàn)代操作系統(tǒng)線程模型、并發(fā)以及同步機制;
  • 熟練使用Boost.Thread線程管理和同步機制接口開發(fā)并發(fā)應(yīng)用;
  • 深刻理解現(xiàn)代操作系統(tǒng)中事件多路分離和分派機制如select、epoll等、了解異步I/O以及完成事件的分派;
  • 熟練使用Boost.Asio構(gòu)建穩(wěn)定、高效和靈活的網(wǎng)絡(luò)應(yīng)用。

四、課程大綱

本次課程由以下幾個部分構(gòu)成:

1、Boost.Serialization - 序列化

  • 基本類型和自定義類型的序列化;
  • 數(shù)組、指針和智能指針的序列化;
  • STL容器、std::string的序列化;
  • 識別類的版本;
  • XML格式的archive;
  • 二進制格式的archive。

2、Boost.Smart_Ptr - 智能指針

  • 回顧std::auto_ptr<>;
  • 無Copyable 語義的scoped_ptr<>;
  • shared_ptr<>;
  • weak_ptr<>;
  • enable_shared_from_this<>;

3、Boost.Bind and Boost.Function- 函數(shù)對象相關(guān)

  • 什么是函數(shù)對象?
  • 回顧std::bind1st()、std::bind2nd()、std::mem_fun()、std::ptr_fun()等適配器;
  • Boost bind();
  • Boost Function;
  • Boost ref()。

4、Boost.Signals2 - 實現(xiàn)回調(diào)機制

  • Boost Signal2:線程安全的Signal-Slot機制 (Publishers → Signals/Subscribers → Slots),即Observer模式的實現(xiàn);
  • 簡單的回調(diào);
  • 多個Slot回調(diào);
  • 管理Connections;
  • 一些示例。

5、一些實用類庫

  • Boost.Property_Tree;
  • Boost.Format;

6、Boost.Thread - 多線程

  • 線程與進程之區(qū)別;
  • 用戶線程與內(nèi)核線程;
  • 不同操作系統(tǒng)中的線程模型;
  • 線程管理:線程創(chuàng)建、中斷、分離/連接等;
  • 同步機制:Mutex、Lock、Condition_variable、TSS等。

7、Boost.Asio - 網(wǎng)絡(luò)編程

Boost.Asio庫,通過對各類操作系統(tǒng)原生的socket API以及事件多路分離、異步I/O API的封裝,構(gòu)成了一個性能優(yōu)秀、可移植性高、便于編程的網(wǎng)絡(luò)編程框架,使復(fù)雜的網(wǎng)絡(luò)編程任務(wù)變得簡單、安全、并且高效。

  • Asio相關(guān)概念:同步I/O和異步I/O、Proactor模式、Asio和線程;
  • Linux 下 I/O事件多路分離機制:select、epoll;
  • TCP同步I/O Server/Client編程示例;
  • UDP同步I/O Server/Client編程示例;
  • TCP異步I/O Server/Client編程示例;
  • UDP異步I/O Server/Client編程示例;
  • Timer - 定時器;
  • Asio核心接口介紹。

8、高性能網(wǎng)絡(luò)編程討論

  • 考究高性能網(wǎng)絡(luò)編程中應(yīng)該遵循的原則,討論并發(fā)、同步、事件多路分離等機制的適用場合。
  • 網(wǎng)絡(luò)應(yīng)用的瓶頸在何處?
  • 事件多路分離 vs 一連接一線程 (Event demultiplexing vs One thread per connection);
  • 同步I/O vs 異步I/O (Synchronous I/O vs Asynchronous I/O);
  • 如何適當?shù)厥褂枚嗑€程?
  • 什么時候需要多個 事件多路分離線程?

9、應(yīng)用層協(xié)議定義與實現(xiàn)

  • 為什么要自定義應(yīng)用層協(xié)議?
  • 定義應(yīng)用層協(xié)議 (以XMMEP協(xié)議為例);
  • 用C++實現(xiàn)自定義的協(xié)議 (以XMMEP協(xié)議為例)。

注:XMMEP為X-Messenger Message Exchanging Protocol。

六、課程資源

      可獲取的課程資源見:教學(xué)資源

posted @ 2012-01-27 09:28 athxy 閱讀(803) | 評論 (1)編輯 收藏

2010年11月1日 #

C++ Boost

Boost培訓(xùn)(項目班)

昆山軒轅高端IT培訓(xùn),C++ Boost現(xiàn)場項目班課程,通過對Boost幾個實用組件的學(xué)習(xí),掌握高吞吐量、低延遲的服務(wù)器端應(yīng)用開發(fā)的有效知識,且通過最終項目的歷練,學(xué)員將對高性能服務(wù)器端應(yīng)用開發(fā)有一個清晰的認識,并能熟練使用Boost相關(guān)的類庫來開發(fā)服務(wù)器端應(yīng)用。

該課程的項目實戰(zhàn)部分時間,主要講解服務(wù)器端應(yīng)用的架構(gòu)、設(shè)計,以及項目實現(xiàn)技術(shù)的運用。

上課方式

現(xiàn)場班:全日制脫產(chǎn)學(xué)習(xí),歷時1個月,每月開班。

遠程班:遠程視頻學(xué)習(xí),學(xué)習(xí)時間自定,隨時開課。

課程大綱

C++ Boost強化班課程由以下模塊組成:

1 - C++ Boost

       Boost是由C++標準委員會成員發(fā)起、眾多C++業(yè)界高人參與設(shè)計并實現(xiàn)的一個涉及面廣、質(zhì)量高且業(yè)已廣泛使用的C++標準后備庫,其中 TR1已經(jīng)被納入C++0x標準庫。不論從風(fēng)格和內(nèi)容組織上講,都可以認為Boost項目是C++標準庫的延伸。截止到boost 1.43版本,boost項目擁有大約100個用途廣泛的實用庫。這部分課程將介紹服務(wù)器端開發(fā)所需要的幾個組件:

  • 容器與數(shù)據(jù)結(jié)構(gòu)
    介紹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等智能指針的使用。

  • 函數(shù)對象相關(guān)
    詳細介紹boost.bind, boost.mem_fn, boost.function, boost.ref, boost.lambda等組件。

  • Boost.Signals2 - 實現(xiàn)回調(diào)機制
    Boost Signal2:線程安全的Signal-Slot機制 (Publishers → Signals/Subscribers → Slots),即Observer模式的實現(xiàn);

  • 序列化
    通過實例熟悉boost.serialization庫的用法。

  • 日期與時間
    boost.date_time庫的詳細介紹。

  • 多線程
    作為服務(wù)器端開發(fā)必不可少的內(nèi)容之一:多線程支持,boost提供了一個跨平臺的線程庫:boost.thread。
    本單元的課程詳細介紹boost.thread。

  • 網(wǎng)絡(luò)編程
    boost.asio庫,通過對各類操作系統(tǒng)原生的socket API以及事件多路分離、異步I/O API的封裝,構(gòu)成了一個性能優(yōu)秀、便于編程的網(wǎng)絡(luò)編程框架,使復(fù)雜的網(wǎng)絡(luò)編程任務(wù)變得簡單、安全、并且高效。
    本單元的課程通過一系列的示例來展示:通過asio來構(gòu)建TCP同步/異步服務(wù)器和客戶端、UDP同步/異步服務(wù)器和客戶端應(yīng)用,從而熟悉asio的接口和編程套路。

2 - 項目實戰(zhàn)

       課程結(jié)束后,學(xué)員需基于C++、Boost實現(xiàn)以下項目:

  • 項目1X-Messenger Servers
    IM(即時通信)服務(wù)器群,類似于MSN、QQ等IM的服務(wù)器。可以基于Boost.asio或ACE實現(xiàn)。

課程資源

       可獲取的課程資源見:教學(xué)資源

http://xuanyuan-soft.cn

posted @ 2010-11-01 12:04 athxy 閱讀(673) | 評論 (0)編輯 收藏

2010年7月22日 #

C++ ACE項目班

C++ ACE 項目班

       昆山軒轅高端IT培訓(xùn),C++ ACE現(xiàn)場項目班課程,通過對ACE幾個主要的框架的學(xué)習(xí),掌握高吞吐量、低延遲的服務(wù)器端應(yīng)用開發(fā)的有效知識,且通過最終項目的歷練,學(xué)員將對高性能服務(wù)器端應(yīng)用開發(fā)有一個清晰的認識,并能熟練使用ACE相關(guān)的框架來開發(fā)服務(wù)器端應(yīng)用。

       該課程的項目實戰(zhàn)部分時間,主要講解服務(wù)器端應(yīng)用的架構(gòu)、設(shè)計,以及項目實現(xiàn)技術(shù)的運用。

上課方式

       現(xiàn)場班:全日制脫產(chǎn)學(xué)習(xí),歷時1個月。學(xué)費¥4,000元。

       遠程班:遠程視頻學(xué)習(xí),學(xué)費3000元

課程大綱

       C++ ACE現(xiàn)場項目班的課程由以下部分組成:

1 - C++ ACE

       ACE是一個被廣泛使用、設(shè)計優(yōu)雅、高性能的C++通信框架(不僅僅是通信框架),其設(shè)計及實現(xiàn)被眾多開源框架所借鑒。是構(gòu)建穩(wěn)定、高性能、高吞吐量、跨平臺的服務(wù)器端程序的優(yōu)秀框架。本模塊的課程包含以下幾個方面: 

  • ACE基礎(chǔ)網(wǎng)絡(luò)I/O相關(guān)對象
    詳細介紹ACE_SOCK、ACE_SOCK_Acceptor、ACE_SOCK_Connector、ACE_INET_Addr等class的使用。
  • Reactor框架
    ACE Reactor框架簡化事件驅(qū)動程序的開發(fā),而事件驅(qū)動是很多網(wǎng)絡(luò)化應(yīng)用的基本特征,這些應(yīng)用常見的事件源包括I/O事件、Posix信號或 Windows句柄激發(fā)以及定時器到期等。
    本單元介紹ACE_Event_Handler、Timer、ACE_Reactor等類的使用,并使用該框架構(gòu)建一個簡易的多人聊天室應(yīng)用。
  • Service Configuration框架
    Service Configuration框架允許應(yīng)用在運行期重新配置其服務(wù)(包括靜態(tài)服務(wù)和動態(tài)服務(wù)),而不必修改、重新編譯或重新連接程序自身,或是關(guān)閉和重啟應(yīng)用等。
  • Task框架
    ACE Task框架提供了強大而可擴展的面向?qū)ο蟛l(fā)能力,如在基于對象的上下文(context)中派生線程,以及在執(zhí)行不同線程中的對象之間傳遞消息和對消息進行排隊。
  • Acceptor-Connector框架
    ACE Acceptor-Connector框架實現(xiàn)了Acceptor-Connector模式,這種模式通過解除:1,網(wǎng)絡(luò)化應(yīng)用中相互協(xié)作的對等服務(wù)的連接和初始化所需的活動、2,以及它們一旦連接和初始化后所執(zhí)行的處理的耦合,增強了軟件復(fù)用和可擴展性。
  • Proactor框架
    Proactor框架引入異步I/O機制,既保留了Reactor框架的事件多路分離,避免多線程的開銷,同時還緩和了反應(yīng)式的同步I/O的瓶頸效應(yīng)。

2 - 項目實戰(zhàn)

       課程結(jié)束后,學(xué)員需基于C++、ACE實現(xiàn)以下項目:

  • 項目1:X-Messenger Servers
    IM(即時通信)服務(wù)器群,類似于MSN、QQ等IM的服務(wù)器。基于ACE實現(xiàn)。

課程資源

       可獲取的課程資源見:教學(xué)資源


http://www.xuanyuan-soft.cn
QQ:570508473

posted @ 2010-07-22 17:04 athxy 閱讀(908) | 評論 (0)編輯 收藏

僅列出標題  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲激情中文1区| 久久久久久欧美| 久久一区二区三区四区五区| 欧美激情视频在线播放| 老司机aⅴ在线精品导航| 老鸭窝毛片一区二区三区 | 麻豆av一区二区三区| 久久躁狠狠躁夜夜爽| 欧美mv日韩mv国产网站app| 欧美片第一页| 欧美三日本三级少妇三2023| 国产精品一区二区你懂的| 欧美激情乱人伦| 欧美韩国一区| 亚洲一区二区精品视频| 午夜宅男欧美| 欧美精品在线一区| 国产日韩一区欧美| 亚洲精品国产拍免费91在线| 亚洲欧洲99久久| 欧美成va人片在线观看| 一区二区国产日产| 久久综合色综合88| 国产精品日韩久久久久| 亚洲第一天堂无码专区| 亚洲一区二区三区四区五区午夜| 久久综合亚洲社区| 欧美mv日韩mv国产网站| 99精品久久久| 毛片基地黄久久久久久天堂| 欧美激情亚洲精品| 国产精品对白刺激久久久| 国产日产亚洲精品| 亚洲精选一区| 久久婷婷久久一区二区三区| 亚洲免费高清视频| 久久一日本道色综合久久| 欧美午夜精品理论片a级大开眼界| 韩国精品一区二区三区| 午夜视频一区| 亚洲精品国产精品乱码不99按摩 | 欧美国产综合| 国产欧美一区二区三区久久人妖 | 久久久久久一区二区三区| 一本久久a久久免费精品不卡| 久久综合色8888| 狠狠色狠狠色综合日日tαg| 欧美一区二区三区的| 在线亚洲免费视频| 欧美日韩综合在线| 亚洲特级片在线| 亚洲免费成人av| 欧美激情1区| 日韩午夜av| 韩日欧美一区二区| 性做久久久久久久免费看| 99精品国产福利在线观看免费| 欧美韩日一区| 亚洲国产精品成人综合| 欧美成人激情在线| 欧美刺激午夜性久久久久久久| 91久久线看在观草草青青| 亚洲高清资源综合久久精品| 裸体素人女欧美日韩| 亚洲精品护士| 日韩视频―中文字幕| 欧美三级午夜理伦三级中文幕 | 久久久91精品国产一区二区精品| 西西裸体人体做爰大胆久久久| 国产视频久久久久久久| 久久国产主播| 久久久青草婷婷精品综合日韩| 亚洲风情亚aⅴ在线发布| 亚洲第一精品夜夜躁人人躁 | 国产一区二区三区直播精品电影 | 国产欧美精品一区二区三区介绍| 久久国产精品久久久久久久久久 | 久久久久久久久久久久久9999| 国产深夜精品| 免费久久99精品国产自在现线| 久久人人爽人人爽爽久久| 亚洲国产精品久久久久婷婷884 | 亚洲国产高清高潮精品美女| 欧美高清在线一区二区| 欧美另类99xxxxx| 午夜在线视频观看日韩17c| 欧美在线播放高清精品| 亚洲国产天堂久久综合网| 亚洲美女淫视频| 国产伦一区二区三区色一情| 久久久久久噜噜噜久久久精品 | 亚洲人成小说网站色在线| 亚洲第一中文字幕| 欧美日韩极品在线观看一区| 亚洲欧美日韩国产综合| 久久er99精品| 制服丝袜激情欧洲亚洲| 午夜日韩av| 99综合电影在线视频| 先锋影音久久| 一本一本a久久| 久久精品中文| 亚洲综合日韩| 欧美电影在线观看| 久久久噜噜噜| 国产精品国产三级国产a| 欧美电影专区| 国产一区二区成人| 亚洲精品视频二区| 在线精品亚洲一区二区| 亚洲婷婷在线| 亚洲毛片在线看| 欧美综合二区| 午夜精品久久久久久久99樱桃| 欧美国产日产韩国视频| 久久综合99re88久久爱| 国产精品中文在线| 一区二区三区日韩精品视频| 亚洲美女啪啪| 蜜臀久久久99精品久久久久久 | 一区二区精品在线| 麻豆91精品91久久久的内涵| 久久久久久久网| 国产日韩一区二区三区在线| 一区二区三区久久网| 日韩一级大片在线| 欧美成人综合网站| 欧美二区在线观看| 尤物九九久久国产精品的特点| 亚洲一区二区在线免费观看| 欧美大片免费观看| 亚洲国产你懂的| 激情成人亚洲| 久久国产精品99久久久久久老狼 | 狠狠色丁香婷婷综合| 亚洲伊人第一页| 欧美日韩国产精品成人| 9久草视频在线视频精品| 亚洲在线免费观看| 国产伦精品一区二区三区高清版 | 在线亚洲欧美专区二区| 久久久www免费人成黑人精品 | 亚洲国产精品久久人人爱蜜臀 | 国产精品美女久久久| 久久国产精品久久久久久| 91久久久一线二线三线品牌| 午夜精品福利视频| 亚洲精品综合精品自拍| 国产手机视频一区二区| 欧美日韩国产一区二区三区| 欧美在线视频免费观看| 在线视频免费在线观看一区二区| 免费在线播放第一区高清av| 午夜精彩视频在线观看不卡 | 欧美肥婆在线| 久久精品国产一区二区三| 一区二区三区www| 亚洲国产精品高清久久久| 国户精品久久久久久久久久久不卡 | 亚洲电影网站| 久久一区二区三区四区五区| 午夜精品久久久久久99热软件| 亚洲免费精彩视频| 亚洲高清视频在线| 国外成人在线视频| 国产一区二区成人久久免费影院| 国产精品高精视频免费| 欧美精品系列| 欧美精品久久99| 牛牛国产精品| 久久久在线视频| 久久成人久久爱| 欧美一区二区三区在线观看视频 | 91久久在线视频| 国产精品久久久久久影视| 欧美日韩午夜剧场| 欧美精品日日鲁夜夜添| 欧美午夜在线视频| 国内精品久久久久影院色| 国产精品自拍网站| 国产精品久久久久aaaa樱花| 欧美三级电影一区| 国产精品国产三级国产专区53| 欧美日本一区| 欧美三区在线| 国产精品老女人精品视频| 国产精品av一区二区| 欧美网站在线观看| 国产精品免费小视频| 国产日韩精品一区| 国产亚洲午夜| 91久久久久久久久| 一本色道久久88综合亚洲精品ⅰ| 夜夜嗨av一区二区三区网页| 亚洲午夜精品一区二区| 香蕉av777xxx色综合一区| 久久久久久有精品国产| 欧美黄色成人网| 一二三四社区欧美黄| 先锋资源久久|