課程內(nèi)容安排:
?
高性能基金持倉分析服務(wù)器項(xiàng)目背景、業(yè)務(wù)知識、系統(tǒng)架構(gòu):
??????????????? 講述本項(xiàng)目的系統(tǒng)架構(gòu),基金持倉分析的相關(guān)業(yè)務(wù)知識,通過本講學(xué)習(xí),學(xué)員可以了解項(xiàng)目的背景和基礎(chǔ)知識,并熟悉系統(tǒng)的技術(shù)架構(gòu),為后續(xù)學(xué)習(xí)打下良好基礎(chǔ))
開發(fā)環(huán)境搭建(系統(tǒng)基礎(chǔ)開發(fā)環(huán)境由eclipse+xampp+jdk構(gòu)成):
?????????????? 本講講解如何用eclipse和xampp、jdk搭建系統(tǒng)的開發(fā)環(huán)境,并引入項(xiàng)目使用的第三方包,介紹SQLyogEnt及xampp的使用。通過本講學(xué)習(xí),學(xué)員應(yīng)能學(xué)會(huì)如何從無到有搭建系統(tǒng)的開發(fā)環(huán)境)
項(xiàng)目編譯系統(tǒng)構(gòu)建,ant腳本編寫(項(xiàng)目的編譯系統(tǒng)采用ant來實(shí)現(xiàn)):
?????????????? 本講講述如何采用ant來構(gòu)建項(xiàng)目編譯系統(tǒng),如何編寫ant腳本,如何劃分項(xiàng)目目錄;講解內(nèi)容具有通用性,可直接使用于其它項(xiàng)目。通過本講學(xué)習(xí),學(xué)員應(yīng)能學(xué)會(huì)ant的配置使用,ant腳本的基本語法,應(yīng)會(huì)獨(dú)立編寫一個(gè)項(xiàng)目的ant腳本,具有構(gòu)建一個(gè)項(xiàng)目的編譯系統(tǒng)的能力。
數(shù)據(jù)庫設(shè)計(jì)(mysql數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)):
????????????? 本講講解系統(tǒng)的數(shù)據(jù)庫總體設(shè)計(jì)思路,以及系統(tǒng)的表結(jié)構(gòu)詳細(xì)設(shè)計(jì),通過本講學(xué)習(xí),學(xué)員應(yīng)熟悉系統(tǒng)的數(shù)據(jù)庫表設(shè)計(jì)的思路,熟悉表之間的關(guān)聯(lián)關(guān)系,熟悉各張表的字段含義,并學(xué)會(huì)如何生成mysql數(shù)據(jù)表。
數(shù)據(jù)庫連接池封裝1(采用dbcp實(shí)現(xiàn),log4j記日志):
??????????????dbcp及l(fā)og4j都是java開發(fā)中使用非常廣泛的開源組件,本講講述如何基于dbcp編寫一個(gè)獨(dú)立的mysql數(shù)據(jù)庫連接池組件,通過數(shù)據(jù)庫連接池的使用提高數(shù)據(jù)庫訪問效率,提升系統(tǒng)的整體性能。該組件具有相對獨(dú)立性,可直接用于其它項(xiàng)目中。
數(shù)據(jù)庫連接池封裝2:
?????????????? 本講繼續(xù)講解如何編寫配置文件與代碼分離的數(shù)據(jù)庫連接池,同時(shí)介紹如何使用log4j記錄日志。學(xué)員應(yīng)跟隨老師一步步編寫代碼,應(yīng)學(xué)會(huì)開發(fā)數(shù)據(jù)庫連接池的技巧,學(xué)會(huì)采用log4j記錄系統(tǒng)日志的方法,學(xué)會(huì)log4j配置文件的配置方法
數(shù)據(jù)訪問層封裝1(DAO模式封裝):
????????????? 本講講述系統(tǒng)分層原理,代碼包依賴關(guān)系,并基于分層劃分講解DAO、MODEL、VO代碼編寫,DAO層與數(shù)據(jù)庫連接池的調(diào)用關(guān)系
數(shù)據(jù)訪問層封裝2:
??????????????本講繼續(xù)講解DAO層代碼編寫,通過本講學(xué)習(xí),學(xué)員應(yīng)能理解并熟悉DAO層的作用及代碼模式,應(yīng)能學(xué)會(huì)在以后的工作中熟練使用DAO進(jìn)行數(shù)據(jù)庫訪問的封裝。?
?
數(shù)據(jù)訪問層封裝3(批量增加和查詢) :
???????????? 本講介紹如何采用批處理方式提交數(shù)據(jù),以提高系統(tǒng)的數(shù)據(jù)處理效率;并演示在DAO層中數(shù)據(jù)查詢的代碼編寫模式。
基金持倉明細(xì)功能開發(fā)1(service層封裝及console主程序編寫)
??????????? :本講介紹業(yè)務(wù)邏輯層(service層)在系統(tǒng)中的位置,并講解如何封裝service層,講解如何開發(fā)管理console主程序。通過本講學(xué)習(xí),學(xué)員應(yīng)理解service層的作用及與DAO層的調(diào)用關(guān)系,應(yīng)學(xué)會(huì)service封裝業(yè)務(wù)邏輯的方法
基金持倉明細(xì)功能開發(fā)2(jdk集成及系統(tǒng)運(yùn)行腳本編寫):
???????????? 本講除繼續(xù)上一講管理console主程序開發(fā)外,重點(diǎn)講解如何在系統(tǒng)release版本中集成jdk,講解如何編寫系統(tǒng)管理主程序運(yùn)行的run.bat,講解run.bat中jvm參數(shù)的設(shè)置方法。通過本講學(xué)習(xí),學(xué)員可熟悉在實(shí)際項(xiàng)目中如何集成jdk及編寫?yīng)毩⒖蛇\(yùn)行的run.bat,并靈活運(yùn)用與實(shí)際的開發(fā)工作中。
基金持倉明細(xì)功能開發(fā)3(用pdfbox和poi解析季報(bào)):
??????????? pdfbox和poi組件是java開發(fā)中使用廣泛的開源組件,本講講解使用pdfbox解析基金季報(bào),使用poi解析基金季報(bào)。通過本講學(xué)習(xí),學(xué)員應(yīng)能學(xué)會(huì)使用Pdfbox和poi解析pdf和xls文檔的通用方法,在實(shí)際工作中靈活運(yùn)用。
基金持倉明細(xì)功能開發(fā)4(格式化季報(bào)數(shù)據(jù)入庫) :
??????????? 格式化季報(bào)從業(yè)務(wù)上講包含本項(xiàng)目復(fù)雜的業(yè)務(wù)邏輯,本講重點(diǎn)講解格式化季報(bào)的業(yè)務(wù)邏輯在service層的封裝方法,異常季報(bào)數(shù)據(jù)的處理邏輯。通過本講學(xué)習(xí),學(xué)員應(yīng)學(xué)會(huì)在service層中封裝復(fù)雜業(yè)務(wù)邏輯的方法,學(xué)會(huì)java通用的文件及目錄操作開發(fā)方法。
基金重倉股功能1:
??????????? 基金重倉股往往是投資中黑馬股的大本營,本講講述通過基金季報(bào)數(shù)據(jù)挖掘出基金重倉股的功能開發(fā)。
基金重倉股功能2:
???????????? 基金重倉股在系統(tǒng)中可導(dǎo)出成為xls文件,本講講述通過poi導(dǎo)出xls文件的方法,并講解在servce層中調(diào)用多個(gè)DAO的代碼編寫模式,在servcie層中進(jìn)行平級調(diào)用的方法
基金公司股票持倉總計(jì)功能1(統(tǒng)計(jì)基金公司持倉):
?????? ?????基金公司持倉情況統(tǒng)計(jì)對股票投資實(shí)戰(zhàn)具有重要指導(dǎo)意義,可看出基金公司的總體投資方向。本講講解該功能的需求、設(shè)計(jì)及開發(fā)方法
基金公司股票持倉總計(jì)功能2:
???????? ??本講繼續(xù)講解該功能的代碼實(shí)現(xiàn)
股票增減倉明細(xì)功能1:
??????????? 股票投資過程中,掌握基金對股票的增減倉情況,具有重要的投資指導(dǎo)意義,可以明確當(dāng)前熱門投資方向 ,回避投資風(fēng)險(xiǎn)。本講講解該功能的需求、設(shè)計(jì)及代碼開發(fā)實(shí)現(xiàn),介紹如何通過系統(tǒng)獲取準(zhǔn)確的股票增減倉數(shù)據(jù)。
股票增減倉明細(xì)功能2:
???????????? 本講繼續(xù)講解該功能的代碼實(shí)現(xiàn)
基金公司股票增減倉明細(xì)功能:
???????????? 股票投資中,掌握基金公司本季度對股票的增減倉情況,可以準(zhǔn)確識別基金公司的抱團(tuán)行為,分析基金公司投資方向變化。本講講解如何通過系統(tǒng)來挖掘這種重要數(shù)據(jù),講解該功能的需求、設(shè)計(jì)及代碼開發(fā)實(shí)現(xiàn)
股票持倉查詢功能開發(fā):
?????????????????查詢某只股票某一季度被基金持有多少,是常用的功能,本講介紹該功能的需求、設(shè)計(jì)及代碼實(shí)現(xiàn)
-數(shù)據(jù)清理功能開發(fā):
???????????????? 數(shù)據(jù)清理功能是系統(tǒng)提供的一個(gè)維護(hù)功能,本講講解該功能的需求、設(shè)計(jì)及代碼實(shí)現(xiàn)
java socket編程基礎(chǔ):
???????????????? 本講講解java socket編程所涉及的基礎(chǔ)知識,socket編程原理,常見編程方法等。通過本講學(xué)習(xí),學(xué)員應(yīng)了解java socket編程的基本概念及常見模式,為后續(xù)socket server/socket client的開發(fā)打下基礎(chǔ)
Java 多線程編程基礎(chǔ):
?????????????????本講講解java 多線程編程的發(fā)展歷程,編程原理,重點(diǎn)講解JUC的使用。通過本講學(xué)習(xí),學(xué)員應(yīng)了解java 多線程編程的常見方法,為后續(xù)項(xiàng)目多線程開發(fā)的打下基礎(chǔ)
基金持倉服務(wù)器socket消息封裝:
????????????????? 前端業(yè)務(wù)系統(tǒng)與本服務(wù)器間通過socket消息進(jìn)行通訊,基本模式為comand模式,本講講解業(yè)務(wù)系統(tǒng)與本服務(wù)器之間的socket消息封裝,介紹了常見的用java對象進(jìn)行socket消息封裝的模式
單線程基金持倉socket server開發(fā):
??????????????????本講講解直接使用java thread開發(fā)一個(gè)socket服務(wù)器的方法,講解socket server接收到前端業(yè)務(wù)系統(tǒng)socket消息后,如何通過命令模式調(diào)用service層獲取結(jié)果。
多線程基金持倉socket server開發(fā):
???????????????? 本講講解使用JUC通過線程池開發(fā)實(shí)現(xiàn)多線程socket服務(wù)器的方法,通過采用JUC,服務(wù)器可承受前端業(yè)務(wù)系統(tǒng)大并發(fā)請求調(diào)用。
socket客戶端模擬器開發(fā)1:
?????????????????本講講解前端業(yè)務(wù)系統(tǒng)請求調(diào)用模擬器的開發(fā)實(shí)現(xiàn),采用模擬器可直接與基金持倉服務(wù)器進(jìn)行系統(tǒng)聯(lián)調(diào)、壓力測試。講解模擬器設(shè)計(jì)思路,模擬器代理編寫
socket客戶端模擬器開發(fā)2:
????????????????? 講解通過線程池實(shí)現(xiàn)多線程客戶端模擬器的開發(fā),通過多線程模擬器可模擬多客戶端同時(shí)發(fā)起請求,調(diào)用多線程基金持倉服務(wù)器,可直接用于聯(lián)調(diào)及壓力測試
項(xiàng)目開發(fā)總結(jié):
???????????????? 一個(gè)系統(tǒng)不是孤立存在的,在系統(tǒng)使用過程中會(huì)不斷發(fā)展。本講總結(jié)項(xiàng)目開發(fā)過程中用到的相關(guān)技術(shù)、開發(fā)方法、系統(tǒng)優(yōu)點(diǎn)、缺點(diǎn),及可改進(jìn)處,并對系統(tǒng)后續(xù)發(fā)展進(jìn)行展望。