Boost培訓(項目班)
昆山軒轅高端IT培訓,C++ Boost現場項目班課程,通過對Boost幾個實用組件的學習,掌握高吞吐量、低延遲的服務器端應用開發的有效知識,且通過最終項目的歷練,學員將對高性能服務器端應用開發有一個清晰的認識,并能熟練使用Boost相關的類庫來開發服務器端應用。
該課程的項目實戰部分時間,主要講解服務器端應用的架構、設計,以及項目實現技術的運用。
上課方式
現場班:全日制脫產學習,歷時1個月,每月開班。
遠程班:遠程視頻學習,學習時間自定,隨時開課。
課程大綱
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實現以下項目:
課程資源
可獲取的課程資源見:教學資源。
http://xuanyuan-soft.cn