版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八章:初識后臺與數(shù)據(jù)庫ontents目錄本地環(huán)境安裝與測試01后臺api開發(fā)C02課前討論
王恩東,男,漢族,1966年7月出生,山東濟南人,計算機專家、中國工程院院士、中國共產(chǎn)黨黨員?,F(xiàn)任浪潮集團副總經(jīng)理、首席科學(xué)家科學(xué)家王恩東:讓高端服務(wù)器有了“中國造”
30多年來,在王恩東及其團隊的努力下,浪潮在服務(wù)器領(lǐng)域?qū)崿F(xiàn)從無到有、從弱到強的發(fā)展,成長為中國第一、全球第二大服務(wù)器供應(yīng)商,為我國實現(xiàn)服務(wù)器領(lǐng)域關(guān)鍵技術(shù)突破作出了重大貢獻。
堅持不懈努力下,2012年,浪潮正式發(fā)布了高端容錯計算機系統(tǒng)“天梭K1”,這是中國第一臺高端服務(wù)器,我國成為世界上第三個掌握高端服務(wù)器技術(shù)的國家。該成果榮獲國家科學(xué)技術(shù)進步獎一等獎。
近年來,在攻克了高端容錯計算機難題后,王恩東又瞄上了前沿領(lǐng)域。他先后主持研發(fā)了中國第一代適合云計算時代的新型云服務(wù)器、人工智能服務(wù)器等產(chǎn)品,并不斷快速迭代產(chǎn)品,讓浪潮成為全球最大的云服務(wù)器供應(yīng)商,在全球人工智能服務(wù)器市場份額也保持第一。
國產(chǎn)服務(wù)器崛起
隨著信息化對經(jīng)濟、社會發(fā)展的不斷滲透,各個行業(yè)的系統(tǒng)的核心部分都對交易數(shù)據(jù)的處理,在大規(guī)模的在線交易數(shù)據(jù)處理中之前很難找到承載設(shè)備來替代國外主機。
國外廠商更是在國內(nèi)構(gòu)建了嚴密的技術(shù)封鎖體系,通過一切手段對中國進行技術(shù)封鎖,主機技術(shù)就主要禁運之一。由此,關(guān)鍵應(yīng)用主機不僅是高端服務(wù)器市場利潤的主要來源,也是整個軟硬件產(chǎn)業(yè)的核心。面對IT產(chǎn)業(yè)巨頭完善的關(guān)鍵應(yīng)用主機技術(shù),例如IBMPower,HPSuperdome形成封閉而成熟的技術(shù)體系,國產(chǎn)服務(wù)器崛起勢在必行。
掌握大服務(wù)器產(chǎn)業(yè),就掌握信息產(chǎn)業(yè)話語權(quán)。在這樣的策略下,中國主機領(lǐng)域從保持著“有市場、無技術(shù)、無產(chǎn)業(yè)”的狀態(tài),到如今體系結(jié)構(gòu)設(shè)計和核心技術(shù)的突破。中國設(shè)立自己的域名根服務(wù)器中國設(shè)立自己的域名根服務(wù)器,從零變成世界第二根服務(wù)器的存在主要用于DNS的解析,DNS可當(dāng)作郵政編碼,根域名服務(wù)器就是郵遞員會通過這個郵政編碼更快的投遞郵件,解析域名。通常情況下,根域名服務(wù)器解析DNS是非常準(zhǔn)確的。中國的互聯(lián)網(wǎng)信息中心一共設(shè)立了4臺域名根服務(wù)器,有F、L、K、L根鏡像服務(wù)器。此外還有工信部批復(fù)的香港域名服務(wù)器,因此還有JX0007L的域名根服務(wù)器。在IPv4時代,我國沒有互聯(lián)網(wǎng)的根域名服務(wù)器,全球只有13臺根域名服務(wù)器,其中唯一的主根服務(wù)器在美國,其他12臺輔助根域名服務(wù)器分布在美國、日本、歐洲,下圖顯示了一臺標(biāo)識為“K”的根域名服務(wù)器。我們訪問一個網(wǎng)站時,通常使用域名訪問,經(jīng)域名服務(wù)器翻譯成IP地址,才能夠訪問某個網(wǎng)站,因此域名服務(wù)器可以說是互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施。
美國控制了域名根服務(wù)器,也就控制了所有的域名,如果美國不想讓人訪問某些域名,就可以屏蔽掉這些域名,相當(dāng)于這些域名所指向的網(wǎng)站在互聯(lián)網(wǎng)上消失了,2004年4元,美國將".ly"的域名癱瘓,導(dǎo)致利比亞在互聯(lián)網(wǎng)上消失了3天。為何要設(shè)立中國自己的根服務(wù)器?世界各國對美國互聯(lián)網(wǎng)依賴性大,全部的IPv4根服務(wù)器都是在美國政府授權(quán)的互聯(lián)網(wǎng)域名和號碼分配機構(gòu)ICANN統(tǒng)一管理,一直負責(zé)全球互聯(lián)網(wǎng)域名IPv4根服務(wù)器、域名體系和IP地址等等管理。所以美國利于對根服務(wù)器的控制就可以完全控制互聯(lián)網(wǎng),這種情況對其他國家網(wǎng)絡(luò)安全造成潛在的重大威脅。
此外,在移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、工業(yè)4.0的發(fā)展下,迎來了更多的入網(wǎng)終端,這樣傳統(tǒng)PC、手機到loT終端,都需要通過IP地址接入互聯(lián)網(wǎng),因此未來將超過五百億的設(shè)備在線,地址需求數(shù)量會是IPv4地址總數(shù)超過十倍,但當(dāng)前的IPv4地址的分配完成,出現(xiàn)緊缺的現(xiàn)象。
隨著互聯(lián)網(wǎng)的發(fā)展,IPv6發(fā)展成一項非常成熟的技術(shù)。不難發(fā)現(xiàn)IPv6擁有更多地址數(shù)量、更小路由表、更安全等優(yōu)勢,有利于解決IPv4存在的問題。想更有效的解決地址不足,拓展獲得更多主動權(quán)、進一步實現(xiàn)多邊共治的情況,工信部早期通過了設(shè)立中國的根服務(wù)器管理機構(gòu),授權(quán)管理F、I、K、L根鏡像服務(wù)器。
從最初的全球十三臺根服務(wù)器,亞洲僅一臺根服務(wù)器部署在日本,而現(xiàn)在中國也有了根服務(wù)器,中國現(xiàn)存根服務(wù)器有4臺。本地環(huán)境安裝與測試01ranspageT8.1本地環(huán)境安裝與測試
★安裝Wampserver(1)在Wampserver官網(wǎng)下載一個Wampserver安裝包,要根據(jù)自己電腦的配置情況下載,以達到軟件安裝完后能以最佳狀態(tài)運行。
(2)雙擊解壓后的WampServer.exe文件,首先會彈出語言選擇,單擊“OK”按鈕,選擇默認的English即可。(3)選擇“Iaccepttheagreement”→Next;表示我同意接受條款,如不同意是不容許安裝的。8.1本地環(huán)境安裝與測試
(4)選擇安裝目錄E盤→Next,此處可根據(jù)自己喜好選擇,如果喜歡裝C盤也不是不可以,但為了避免因重裝系統(tǒng)而丟失文件,請選擇C盤以外的盤來安裝比較好。8.1本地環(huán)境安裝與測試
(5)下一個彈窗單擊“Install”,在安裝結(jié)束前,還會有是否選擇默認瀏覽器和是否選擇文本編輯器兩個彈窗,開發(fā)者可根據(jù)自身情況選擇默認瀏覽器與文本編輯器。(6)完成默認瀏覽器與文本編輯器選擇后,等待安裝進度結(jié)束,單擊“Next”按鈕,然后單擊“Finish”按鈕,即完Wampserver的安裝。8.1本地環(huán)境安裝與測試
(7)雙擊桌面Wampserver的快捷方式,查看Wampserver是否安裝成功,如果桌面右下角的圖標(biāo)變綠色,則說明Wampserver啟動成功,如果圖標(biāo)呈紅色或者橙色,則說明啟動失敗,Wampserver安裝還存在問題,遇到這種情況可以上網(wǎng)需求解答。8.1本地環(huán)境安裝與測試
★安裝SublimeSublime相關(guān)的安裝教程在網(wǎng)上有很多,安裝包也可以直接在網(wǎng)上找到并下載。配套資料中有Sublime安裝后的整個文件,開發(fā)者可以選擇直接將該文件夾放置于自己軟件安裝常用目錄下。打開文件夾,右擊“sublime_text.exe”,選擇“創(chuàng)建快捷方式”,并將該快捷方式拖至桌面。雙擊“sublime_text”圖標(biāo)打開sublime編輯器。8.1本地環(huán)境安裝與測試
★搭建本地環(huán)境(1)存放后臺代碼將提供的后臺代碼放在Wampserver安裝目錄下wamp64->www文件夾中,可以單擊右下角的綠色圖標(biāo),然后單擊“wwwdirectory”按鈕,進入www文件夾。在后臺代碼的文件夾中,有一個名稱為“1”的文件夾,只有將該文件夾拷貝至www文件目錄下,后臺代碼才能在本地服務(wù)器上跑起來8.1本地環(huán)境安裝與測試
(2)導(dǎo)入數(shù)據(jù)庫文件單擊右下角的綠色圖標(biāo),然后單擊“phpMyAdmin”按鈕選擇phpMyAdmin后,瀏覽器中彈出phpMyAdmin登錄界面,其中,用戶名為root,密碼為空,單擊“執(zhí)行”按鈕即可進入主頁。8.1本地環(huán)境安裝與測試
phpMyAdmin主頁單擊“新建”按鈕,新建數(shù)據(jù)庫的名字命名為pingshifen,排序規(guī)則選擇utf8_general_ci,單擊“創(chuàng)建”按鈕即可創(chuàng)建一個名為pingshifen的數(shù)據(jù)庫。8.1本地環(huán)境安裝與測試
新建完之后,選擇pingshifen數(shù)據(jù)庫,單擊“導(dǎo)入”按鈕,然后單擊“瀏覽”按鈕,選擇提供的pingshifen.sql文件,選擇完后,單擊頁面最下方的“執(zhí)行”按鈕,將pingshifen.sql導(dǎo)入到本地數(shù)據(jù)庫中。8.1本地環(huán)境安裝與測試
導(dǎo)入成功后,可以看到pingshifen中有很多數(shù)據(jù)表,每個數(shù)據(jù)表分別用于存儲不同數(shù)據(jù)信息,比如說題庫信息存放在pingshifen_question_bank中。8.1本地環(huán)境安裝與測試
(3)修改服務(wù)器地址打開微信開發(fā)者工具中的doudouyun項目,打開config.js文件,將apiUrl改為“/1/index.php/Api”?!啊睘楸镜胤?wù)器地址,訪問該服務(wù)器地址8.1本地環(huán)境安裝與測試
?后臺代碼對應(yīng)的文件夾“1”在“YourProjects”目錄下。?“/”與“/index/Api”之間的路徑對應(yīng)的是www文件目錄下的后臺代碼存放路徑。8.1本地環(huán)境安裝與測試
(4)重新注冊Api接口和申請課程注冊Api接口的鏈接變?yōu)椋?1/index.php/Page/Index/register,申請課程號的鏈接變?yōu)椋?1/index.php/Api/User/createCourse?appid=wx60dbecdccbea11f7&courseName=1028教學(xué)&questionSet=1012&creater=大佬申請完課程號后,還需要修改一下config.js中的courseId。編譯之后,會重新彈出提示注冊,在單擊“提交”按鈕時,會發(fā)現(xiàn)無法正常跳轉(zhuǎn)至首頁。這是由于在開發(fā)注冊頁面時,首頁并不是tabBar頁面,跳轉(zhuǎn)至首頁使用的是wx.redirectTo,但是現(xiàn)在首頁是tabBar頁面,使用wx.redirectTo無法實現(xiàn)跳轉(zhuǎn),需要改為wx.switchTab。后臺api開發(fā)02ranspageT8.2后臺api開發(fā)★api實現(xiàn)前后臺交互
以index.js中的current為例,請求對應(yīng)的url完整體為“/1/index.php/Api/User/current”。current請求“/1”為服務(wù)器地址“index.php”為入口文件“Api/User/current”為Api所在位置“Api/User/current”中,Api為后臺代碼中目錄名稱User為UserController控制器current為控制器中的方法8.2后臺api開發(fā)在后臺代碼中current方法的目錄在UserController.class.php的current方法后面寫一個新的test方法,簡單實現(xiàn)前后臺交互。前后臺的交互其實是單向的,服務(wù)器不會主動向前臺發(fā)送數(shù)據(jù)。也可以選擇別的控制器而非UserController,這個有興趣的自己修改8.2后臺api開發(fā)每次修改后臺代碼后都需要Crtl+s保存一下修改后的文件。◆test方法(1)在PHP中使用ajaxReturn方法返回數(shù)據(jù),test方法代碼如下:publicfunctiontest(){$this->ajaxReturn('測試通過');}(2)在myinfo.wxml文件中添加一個button,button名為測試,該button對應(yīng)的代碼如下:<button
class="weui-btn"
type="primary"
bindtap='bindtest'>測試</button>bindtest為事件觸發(fā)函數(shù)8.2后臺api開發(fā)(3)在myinfo.js文件中添加bindtest函數(shù),在bindtest函數(shù)中,使用wx.request({})訪問后臺代碼中的test方法,該函數(shù)代碼具體如下:bindtest:function(){wx.request({url:userUrl+'test',success:function(res){console.log('請求結(jié)果',res)}})},userUrl為從config.js中獲取到的變量,在index.js中已聲明該變量,如果該函數(shù)寫在其他頁面則需要聲明該變量。8.2后臺api開發(fā)代碼都寫完后,重新編譯小程序,單擊首頁中的“測試”按鈕,可以看到調(diào)試器的Console中打印出來的返回值,在data數(shù)組中有后臺返回的數(shù)據(jù)“測試通過”。8.2后臺api開發(fā)給bindtest函數(shù)中的wx.request({})添加data屬性,即在發(fā)起HTTPS請求時,帶參請求。修改后bindtest代碼具體如下:bindtest:function(){wx.request({url:userUrl+'test',data:{
'testA':'A',
'testB':'B'},success:function(res){console.log('請求結(jié)果',res)}})},在后臺代碼中,可以使用I()方法獲取到http請求中的數(shù)據(jù),可以加上參數(shù)比如:I(‘參數(shù)名’)。簡單修改test方法,修改后的代碼如下:publicfunctiontest(){$data=[];$data['I()']=I();$data["I('testA')"]=I('testA');$this->ajaxReturn($data);}8.2后臺api開發(fā)test方法中,首先定義了一個data數(shù)組,其中data數(shù)組中I()的值為I()方法獲取到的http請求中所有的參數(shù),而data數(shù)組中I(‘testA’)的值則為I()方法獲取到http請求中testA的值。單擊“測試”按鈕,可以看到調(diào)試器中打印出來的值。8.2后臺api開發(fā)★數(shù)據(jù)庫的增刪改查(1)在pingshifen中新建一個數(shù)據(jù)表,命名為“pingshifen_test”,該數(shù)據(jù)表主要有3個字段,其中id字段一般所有表都需要,類型選擇INT,并勾選A_I以使其自增。其他字段按需建立,因為測試用,字段名不需要有意義,類型與長度也應(yīng)該按需設(shè)置,這里加了field1和field2兩個字段,類型選擇TEXT,長度/值為256。下方的“Collation”代表該數(shù)據(jù)表的字符集,如果需要支持中文存儲,需選擇utf8_****或tf8mb4_*****,這里選擇了utf8_general_ci。最后單擊“執(zhí)行”按鈕,完成pingshifen_test的新建。8.2后臺api開發(fā)(2)先給數(shù)據(jù)表手動插入兩組數(shù)據(jù)8.2后臺api開發(fā)◆查(select、find)數(shù)據(jù)庫查詢語句有select和find兩種,區(qū)別在于select會返回所有滿足where條件的數(shù)據(jù),而find只返回滿足where條件的第一條數(shù)據(jù)。其中,where()接收一個數(shù)組作為查詢參數(shù),一個數(shù)組中可以有多個參數(shù)。在test方法中,使用select語句查詢pingshifen_test數(shù)據(jù)表中的所有數(shù)據(jù)以及id為1的數(shù)據(jù),存放在data數(shù)組中,返回給前端。test方法具體代碼publicfunctiontest(){$data=[];//實例化數(shù)據(jù)表以供操作,可用D(‘test’),括號中為數(shù)據(jù)表名$TEST=M('test');//無條件查詢,查詢所有記錄$data['select_result1']=$TEST->select()//查詢id字段為1的數(shù)據(jù)$data['select_result2']=$TEST->where(['id'=>1])->select();$this->ajaxReturn($data);}8.2后臺api開發(fā)單擊“測試”按鈕,即可看到調(diào)試器中打印的返回值8.2后臺api開發(fā)◆增(add)數(shù)據(jù)庫中使用add增加記錄,add接收一個數(shù)組作為參數(shù),數(shù)組內(nèi)容為將要插入到數(shù)據(jù)表的值。在test方法中,使用add為pingshifen_test數(shù)據(jù)表添加一條記錄,具體代碼如下:publicfunctiontest(){$data=[];$TEST=M('test');$add_data=['field1'=>'你好,世界','field2'=>'helloworld'];//執(zhí)行插入操作,如果成功,返回值為插入的數(shù)據(jù)對應(yīng)的主鍵$data['add_result']=$TEST->add($add_data);$this->ajaxReturn($data);}單擊“測試”按鈕,即可看到調(diào)試器中打印的返回值8.2后臺api開發(fā)打開數(shù)據(jù)庫,可以看到數(shù)據(jù)庫中也增加了一條id為3,field1為“你好,世界”,field2為“helloworld”的記錄8.2后臺ap
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年高級經(jīng)濟師考試預(yù)測模擬題及解析
- 2026年農(nóng)業(yè)機械清洗消毒方法試題
- 2026年編程達人Python語言編程試題庫
- 組工培訓(xùn)課件
- 2026年編程馬拉松競賽試題及答案解析
- 2026年基坑工程安全防護標(biāo)準(zhǔn)考試試題
- 新能源汽車起火現(xiàn)狀及一起典型火災(zāi)事故分析研究 - 網(wǎng)
- 施工組織設(shè)計與實施方案
- 城中村新居民服務(wù)方案
- 熱力分布網(wǎng)絡(luò)優(yōu)化方案
- (2025年)鐵路貨運考試題及答案
- 2026年榆能集團陜西精益化工有限公司招聘備考題庫及參考答案詳解一套
- 2026年及未來5年中國化妝品玻璃瓶行業(yè)市場深度分析及發(fā)展趨勢預(yù)測報告
- 2026年魯教版初三政治上冊月考真題試卷(含答案)
- 物業(yè)春節(jié)前安全生產(chǎn)培訓(xùn)課件
- 企業(yè)安全生產(chǎn)責(zé)任制培訓(xùn)教材(標(biāo)準(zhǔn)版)
- 徐州市2023-2024學(xué)年八年級上學(xué)期期末英語試卷(含答案解析)
- 孤獨癥兒童康復(fù)課件
- 2022通達經(jīng)營性物業(yè)貸調(diào)查報告
- 立式氣液分離器計算
- 財務(wù)每日工作匯報表格
評論
0/150
提交評論