<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      軟件工程快速入門(下)

      9年薪70萬的全棧需要什么技能?

      什么是全棧開發(fā)人員?

      全棧Web開發(fā)人員是一名技術(shù)專家,可以在任何應(yīng)用程序的前端和后端工作。這個人應(yīng)該熟悉3層模型的每一層。 3層由

      • 表示層(處理用戶界面的主前端部分),
      • 業(yè)務(wù)邏輯層(任何處理數(shù)據(jù)驗證的應(yīng)用程序的后端部分)
      • 數(shù)據(jù)庫層

      全棧開發(fā)人員不一定掌握所有技術(shù)。但是,專業(yè)人員應(yīng)該在客戶端和服務(wù)器端工作,并了解開發(fā)應(yīng)用程序時的情況。他或她應(yīng)該對所有軟件技術(shù)都有真正的興趣。

      Stackoverflow調(diào)查開發(fā)者檔案
      image

      為什么需要全棧開發(fā)人員?

      以下是您應(yīng)聘請全棧開發(fā)專業(yè)人員的一些重要原因:

      • 全棧開發(fā)人員可以幫助您保持系統(tǒng)的每個部分順利運行
      • 全棧開發(fā)人員可以為團(tuán)隊中的每個人提供幫助,并大大減少團(tuán)隊溝通的時間和技術(shù)成本
      • 如果一個人扮演不同的角色,它可以節(jié)省公司的人員,基礎(chǔ)設(shè)施和運營成本

      成為Full Stack Developer所需的技能組合

      image

      1)前端技術(shù)

      全棧開發(fā)人員應(yīng)該掌握HTML5,CSS3,JavaScript等基本前端技術(shù)。了解第三方庫,如jQuery,LESS,Angular和React Js是可取的

      2)開發(fā)語言

      完整堆棧引擎應(yīng)該知道至少一種服務(wù)器端編程語言,如Python、Java等

      3)數(shù)據(jù)庫和緩存

      了解各種DBMS技術(shù)是全棧開發(fā)人員的另一個重要需求。 MySQL,MongoDB,Oracle,SQLServer被廣泛用于此目的。了解緩存機(jī)制,如varnish,Memcached,Redis。

      4)基本設(shè)計能力

      為了成為一個成功的全棧開發(fā)人員,還建議了設(shè)計知識。此外,該人應(yīng)該了解基本原型設(shè)計和UI / UX設(shè)計的原則。

      5)服務(wù)器

      希望接觸處理Apache或nginx服務(wù)器。 Linux的良好背景有助于管理服務(wù)器。

      6)版本控制系統(tǒng)(VCS)

      版本控制系統(tǒng)允許完整堆棧開發(fā)人員跟蹤代碼庫中所做的所有更改。 Git的知識幫助全棧開發(fā)人員了解如何獲取最新代碼,更新代碼部分,在不破壞其他開發(fā)人員代碼的情況下對其進(jìn)行更改。

      7)使用API??(REST和SOAP):

      了解Web服務(wù)或API對于完整堆棧開發(fā)人員也很重要。需要了解REST和SOAP服務(wù)的創(chuàng)建和使用。

      8)其他:

      • 能夠編寫高質(zhì)量的單元測試
      • 了解構(gòu)建測試,記錄和大規(guī)模部署的自動化流程
      • 安全問題的意識很重要,因為每個層都有自己的漏洞
      • 對算法和數(shù)據(jù)結(jié)構(gòu)的了解也是專業(yè)全棧開發(fā)人員的基本需求
      • AI與大數(shù)據(jù)知識(Python、C/C++、Java)
      • 物聯(lián)網(wǎng)與硬件知識
      • 985統(tǒng)招工科背景輕松助推年薪過百萬

      什么是軟件棧?

      軟件堆棧是程序的集合,它們一起用于產(chǎn)生特定結(jié)果。它包括操作系統(tǒng)及其應(yīng)用程序。例如,智能手機(jī)軟件堆棧包括OS以及電話應(yīng)用程序,Web瀏覽器和默認(rèn)應(yīng)用程序。

      上面的完整堆棧工程師的技能組合列表可能令人生畏。您需要根據(jù)您的職業(yè)目標(biāo),項目和公司要求掌握軟件堆棧。以下是常用軟件堆棧的列表。

      無論您選擇哪種堆棧,您都會發(fā)現(xiàn)架構(gòu)和設(shè)計模式在不同堆棧中的相似之處

      LAMP棧

      LAMP是一種廣泛使用的Web服務(wù)棧模型。它的名字“LAMP”是四個開源組件的首字母縮寫。

      L = Linux:一個開源操作系統(tǒng)
      A = Apache:廣泛使用的Web服務(wù)器軟件,現(xiàn)在Nginx更流行。
      M = MySQL:流行的開源數(shù)據(jù)庫
      P = Python/PHP等:服務(wù)器端開源腳本語言,以Python為主流。
      

      這些上面討論的組件相互支持。許多流行的網(wǎng)站和Web應(yīng)用程序在LAMP堆棧上運行,例如:Facebook。
      MERN堆棧

      MERN是基于JavaScript的技術(shù)的集合:

      M = MongoDB:流行的NoSQL數(shù)據(jù)庫
      E = Express:輕便且可移植的Web程序框架
      R = React:用于構(gòu)建用戶界面的javascript庫
      N = Node.js:服務(wù)器端javascript。
      

      Full Stack Developer的職責(zé)

      作為完整堆棧開發(fā)人員,您可能參與以下活動:

      • 將用戶需求轉(zhuǎn)換為新系統(tǒng)的整體架構(gòu)和實現(xiàn)
      • 管理項目并與客戶協(xié)調(diào)
      • 用Python / Java等語言編寫后端代碼
      • 編寫優(yōu)化的前端代碼HTML和JavaScript
      • 理解,創(chuàng)建和調(diào)試與數(shù)據(jù)庫相關(guān)的查詢
      • 創(chuàng)建測試代碼以根據(jù)客戶要求驗證應(yīng)用程序。
      • 監(jiān)控Web應(yīng)用程序和基礎(chǔ)架構(gòu)的性能
      • 以快速對Web應(yīng)用程序進(jìn)行故障診斷

      全棧開發(fā)人員薪酬

      作為一個完整的堆棧開發(fā)者,您每年可能賺到112000美元。約年薪70萬人民幣

      在這個英國,薪水范圍是40,000英鎊--70,000英鎊

      全棧的神話

      神話:全棧開發(fā)人員自己編寫所有類型的代碼。
      事實:他或她可能知道不同的技術(shù),但不會編寫每個代碼。

      神話:寫下前端和后端代碼。
      一些完整的堆棧開發(fā)人員可能會編碼整個網(wǎng)站,如果他們是一名自由職業(yè)者。但這并不是他們強(qiáng)制性地編寫前端和后端代碼。

      作為一個完整的堆棧工程師,您可以360度查看不同的組件,從而使軟件產(chǎn)品成功。由于這種意識,與后端或前端工程師相比,F(xiàn)ull Stack Developer可以快速創(chuàng)建原型。他們對產(chǎn)品設(shè)計和架構(gòu)的看法非常有針對性和有用。

      誤區(qū):如果您在外包公司工作,您將無法成為全棧開發(fā)人員
      這是一種心態(tài),而不是一種立場。為了成為全棧開發(fā)人員,您需要正確的技術(shù)知識組合。

      小結(jié)

      • 全棧Web開發(fā)人員是一名技術(shù)專家,可以在任何應(yīng)用程序的前端和后端工作
      • 全棧開發(fā)人員可以幫助您保持系統(tǒng)的每個部分順利運行
      • 成為全棧開發(fā)人員所需的技能集包括前端技術(shù),開發(fā)語言,數(shù)據(jù)庫,基本設(shè)計能力,服務(wù)器,使用API??和版本控制系統(tǒng)
      • 軟件堆棧是程序的集合,它們一起用于產(chǎn)生特定結(jié)果
      • LAMP代表Linux,Apache,MYSQL和Python/PHP
      • MERN是MongoDB,Express,React,Node.js的完整形式
      • MEAN代表MongoDB,Express,Angular.js和Node.js
      • 全棧開發(fā)人員將用戶需求轉(zhuǎn)換為新系統(tǒng)的整體架構(gòu)和實現(xiàn)
      • FULL STACK DEVELOPER每年可賺取高達(dá)112,000美元
      • 關(guān)于Full stack開發(fā)人員的最大神話是他們自己編寫所有類型的代碼,這是不正確的

      10函數(shù)式編程

      什么是函數(shù)編程?

      函數(shù)式編程(也稱為FP Functional Programming)是一種通過創(chuàng)建純函數(shù)來思考軟件構(gòu)造的方法。它避免了在面向?qū)ο缶幊讨杏^察到的共享狀態(tài),可變數(shù)據(jù)的概念。

      功能語言依賴于表達(dá)式和聲明而不是執(zhí)行語句。因此,與依賴于本地或全局狀態(tài)的其他過程不同,F(xiàn)P中的值輸出僅取決于傳遞給函數(shù)的參數(shù)。

      函數(shù)式編程的特點

      • 函數(shù)式編程方法側(cè)重于結(jié)果,而不是過程
      • 重點是要計算的內(nèi)容
      • 數(shù)據(jù)是不可變的
      • 函數(shù)式編程將問題分解為'函數(shù)
      • 它建立在數(shù)學(xué)函數(shù)的概念之上,它使用條件表達(dá)式和遞歸來執(zhí)行計算
      • 它不支持迭代,如循環(huán)語句和條件語句,如If-Else

      函數(shù)式編程的歷史

      • 功能編程的基礎(chǔ)是Lambda Calculus。它是在20世紀(jì)30年代開發(fā)的,用于功能應(yīng)用,定義和遞歸
      • LISP是第一個函數(shù)式編程語言。麥卡錫于1960年設(shè)計了它
      • 在70年代后期,愛丁堡大學(xué)的研究人員定義了ML(元語言)
      • 在80年代早期,Hope語言為遞歸和等式推理添加了代數(shù)數(shù)據(jù)類型
      • 在2004年的功能語言創(chuàng)新'Scala'。

      函數(shù)式編程語言

      任何FP語言的目標(biāo)都是模仿數(shù)學(xué)函數(shù)。但是,函數(shù)編程的基本計算過程是不同的。

      這里是一些最著名的函數(shù)式編程語言:

      • Haskell
      • Python
      • SML
      • Clojure
      • Scala
      • Erlang
      • Clean
      • F#
      • ML/OCaml Lisp / Scheme
      • XSLT
      • SQL
      • Mathematica

      基本函數(shù)編程術(shù)語和概念

      image

      • 不可變數(shù)據(jù)
        不可變數(shù)據(jù)意味著您應(yīng)該能夠輕松地創(chuàng)建數(shù)據(jù)結(jié)構(gòu),而不是修改已存在的數(shù)據(jù)結(jié)構(gòu)。

      • 參考透明度
        功能程序應(yīng)該像第一次那樣執(zhí)行操作。因此,您將了解在程序執(zhí)行期間可能發(fā)生或可能不發(fā)生的事情及其副作用。在FP術(shù)語中,它被稱為參照透明度。

      • 模塊化
        模塊化設(shè)計提高了生產(chǎn)力。小模塊可以快速編碼并且具有更大的重復(fù)使用機(jī)會,這肯定會導(dǎo)致程序的更快開發(fā)。除此之外,模塊可以單獨測試,這有助于您減少單元測試和調(diào)試所花費的時間。

      • 可維護(hù)性
        可維護(hù)性是一個簡單的術(shù)語,這意味著FP編程更容易維護(hù),因為您不必?fù)?dān)心意外更改給定函數(shù)之外的任何內(nèi)容。

      First-class是一種定義,歸因于對其使用沒有限制的編程語言實體。因此,
      First-class可以出現(xiàn)在程序的任何地方。

      • 閉包
        閉包是一個內(nèi)部函數(shù),即使在父函數(shù)執(zhí)行后也可以訪問父函數(shù)的變量。

      • 高階函數(shù)
        高階函數(shù)要么將其他函數(shù)作為參數(shù),要么將它們作為結(jié)果返回。

      高階函數(shù)允許部分應(yīng)用或currying。此技術(shù)一次將一個函數(shù)應(yīng)用于其參數(shù),因為每個應(yīng)用程序返回一個接受下一個參數(shù)的新函數(shù)。

      • 純函數(shù)
        “純函數(shù)”是一個函數(shù),其輸入被聲明為輸入,并且不應(yīng)隱藏它們。
      Function Pure(a,b)
      {
      	return a+b;
      }
      
      • 非純函數(shù)
        純函數(shù)作用于它們的參數(shù)。如果不返回任何東西,它效率不高。而且,它為給定的參數(shù)提供相同的輸出
      int z;
      function notPure(){
      	z = z+10;
      }
      

      函數(shù)組合

      函數(shù)組合結(jié)合了兩個或更多功能來制作新功能。

      • 共享共享狀態(tài)
        共享狀態(tài)是OOP編程中的重要概念。它正在向?qū)ο筇砑訉傩浴@纾绻鸋ardDisk是對象,則可以將存儲容量和磁盤大小添加為屬性。

      副作用是在被調(diào)用函數(shù)之外發(fā)生的任何狀態(tài)變化。任何FP編程語言的最大目標(biāo)是通過將其與其他軟件代碼分離來最小化副作用。在FP編程中,從其他部分中消除副作用至關(guān)重要.

      參考資料

      函數(shù)式編程的好處

      • 允許您避免混淆代碼中的問題和錯誤
      • 更容易測試和執(zhí)行單元測試和調(diào)試FP代碼。
      • 并行處理和并發(fā)
      • 熱代碼部署和容錯
      • 使用更短的代碼提供更好的模塊化
      • 提高開發(fā)人員的生產(chǎn)力
      • 支持嵌套函數(shù)
      • 函數(shù)構(gòu)造,如懶惰地圖和列表等。
      • 允許有效使用Lambda Calculus

      函數(shù)編程的局限性

      • 函數(shù)式編程范式并不容易,因此初學(xué)者很難理解
      • 在編碼期間很難維護(hù)盡可能多的對象
      • 需要大量的嘲弄和廣泛的環(huán)境設(shè)置
      • 重用非常復(fù)雜,需要不斷重構(gòu)
      • 對象可能無法正確表示問題

      結(jié)論

      • 函數(shù)編程或FP是基于一些基本定義原則思考軟件構(gòu)建的一種方式
      • 功能編程概念側(cè)重于結(jié)果,而不是過程
      • 任何FP語言的目標(biāo)都是模仿數(shù)學(xué)函數(shù)
      • 一些最著名的函數(shù)式編程語言:1)Haskell 2)SM 3)Clojure 4)Scala 5)Erlang 6)Clean
      • “純函數(shù)”是一個函數(shù),其輸入被聲明為輸入,并且不應(yīng)隱藏它們。產(chǎn)出也被宣布為產(chǎn)出。
      • 不可變數(shù)據(jù)意味著您應(yīng)該能夠輕松地創(chuàng)建數(shù)據(jù)結(jié)構(gòu),而不是修改已存在的數(shù)據(jù)結(jié)構(gòu)
      • 允許您避免混淆代碼中的問題和錯誤
      • 還書代碼并不容易,因此初學(xué)者很難理解
      • FP使用不可變數(shù)據(jù),而OOP使用Mutable數(shù)據(jù)

      11MVC

      什么是MVC?

      MVC是一種架構(gòu)模式,它將應(yīng)用程序分為三個主要邏輯組件

      • 模型 Model
      • 視圖 View
      • 控制器 Controller

      MVC將業(yè)務(wù)邏輯層和表示層相互分離。它傳統(tǒng)上用于桌面圖形用戶界面(GUI)。如今,MVC架構(gòu)已經(jīng)成為設(shè)計Web應(yīng)用程序和移動應(yīng)用程序的流行。

      MVC的歷史

      • MVC架構(gòu)于1979年由Trygve Reenskaug首次討論
      • MVC模型于1987年首次在Smalltalk編程語言中引入。
      • 在1988年的一篇文章中,MVC首次被接受為一般概念
      • 最近,MVC模式被廣泛用于現(xiàn)代Web應(yīng)用程序中

      MVC的特點

      • 高度可測試,可擴(kuò)展和可插拔的框架
      • 提供對HTML和URL的完全控制
      • 利用Django、flask、ASP.NET,JSP,等提供的現(xiàn)有功能。
      • 清晰的邏輯分離:模型,視圖,控制器。分離任務(wù)即:業(yè)務(wù)邏輯,UI邏輯和輸入邏輯
      • SEO友好L的URL路由。強(qiáng)大的URL映射,用于可理解和可搜索的URL
      • 支持測試驅(qū)動開發(fā)(TDD)

      MVC架構(gòu)

      MVC架構(gòu)圖

      image

      三個重要的MVC組件是:

      • 模型:它包括所有數(shù)據(jù)及其相關(guān)邏輯

      • 視圖:向用戶顯示數(shù)據(jù)或處理用戶交互

      • Controller:Model和View組件之間的接口
        讓我們詳細(xì)看看這個組件:

      • 視圖
        View是表示數(shù)據(jù)表示的應(yīng)用程序的一部分。

      視圖由從模型數(shù)據(jù)收集的數(shù)據(jù)創(chuàng)建。視圖請求模型提供信息。

      該視圖還表示聊天,圖表和表格中的數(shù)據(jù)。例如,任何客戶視圖都將包含所有UI組件,如文本框,下拉列表等。

      • Controller
        Controller是處理用戶交互的應(yīng)用程序的一部分。控制器解釋來自用戶的鼠標(biāo)和鍵盤輸入,通知模型和視圖以適當(dāng)?shù)馗淖儭?/li>

      Controller向模型發(fā)送命令以更新其狀態(tài)(例如,保存特定文檔)。控制器還將命令發(fā)送到其關(guān)聯(lián)視圖以更改視圖的顯示(例如,滾動特定文檔)。

      • 模型
        模型組件存儲數(shù)據(jù)及其相關(guān)邏輯,表示在控制器組件或任何其他相關(guān)業(yè)務(wù)邏輯之間傳輸?shù)臄?shù)據(jù)。例如,Controller對象將從數(shù)據(jù)庫中檢索客戶信息。它操縱數(shù)據(jù)并發(fā)送回數(shù)據(jù)庫或使用它來呈現(xiàn)相同的數(shù)據(jù)。

      它響應(yīng)來自視圖的請求,并響應(yīng)來自控制器的指令以更新自身。它也是負(fù)責(zé)維護(hù)數(shù)據(jù)的模式的最低級別。

      MVC示例

      讓我們看看日常生活中的模型視圖控制器:

      例1:點餐
      • 假設(shè)你去一家餐館。你不會去廚房準(zhǔn)備你可以在家里做的食物。相反,你只是去那里等待服務(wù)員來。
      • 現(xiàn)在服務(wù)員來找你,你只需要點食物。服務(wù)員不知道你是誰,你想要什么,他只是寫下你的食物訂單的細(xì)節(jié)。
      • 服務(wù)員到廚房。但她不準(zhǔn)備你的食物。
      • 廚師準(zhǔn)備你的食物。服務(wù)員會將您的訂單連同您的餐桌號碼一起交給他。
      • 廚師然后為你準(zhǔn)備食物。他用成分來烹飪食物。我們假設(shè)您的訂單是蔬菜三明治。然后,他需要從冰箱中取出的面包,西紅柿,土豆,辣椒,洋蔥,小塊,奶酪等
      • 廚師最后把食物交給服務(wù)員。現(xiàn)在服務(wù)員的工作就是把這些食物搬到廚房外面。
      • 現(xiàn)在,服務(wù)員知道您訂購的食品以及如何送達(dá)。

      在這種情況下,

      試圖=你
      服務(wù)員=控制器
      庫克=模型
      冰箱=數(shù)據(jù)

      例2:汽車驅(qū)動

      汽車驅(qū)動機(jī)制是MVC模型的另一個例子。

      每輛車都包含三個主要部分。
      View =用戶界面:(變速桿,面板,方向盤,制動器等)
      控制器 - 機(jī)制(引擎)
      模型 - 儲存(汽油)
      汽車從發(fā)動機(jī)運行從存儲中獲取燃料,但它僅使用提到的用戶界面設(shè)備運行。

      流行的MVC Web框架

      這里是一些流行的MVC框架的列表。

      MVC的優(yōu)勢:主要優(yōu)勢

      這里是使用MVC架構(gòu)的主要好處。

      • 易于代碼維護(hù),易于擴(kuò)展和擴(kuò)展
      • MVC模型組件可以與用戶分開測試
      • 更容易支持新型客戶
      • 可以并行地執(zhí)行各種組件的開發(fā)。
      • 它通過將應(yīng)用程序劃分為三個單元來幫助您避免復(fù)雜性。型號,視圖和控制器
      • 它僅使用Front Controller模式,通過單個控制器處理Web應(yīng)用程序請求。
      • 為測試驅(qū)動開發(fā)提供最佳支持
      • 它適用于由大型Web設(shè)計人員和開發(fā)人員團(tuán)隊支持的Web應(yīng)用程序。
      • 提供干凈的關(guān)注點分離(SoC eparation of concerns)。
      • 搜索引擎優(yōu)化(SEO Search Engine Optimization)友好。
      • 所有分類和對象彼此獨立,以便您可以單獨測試它們。
      • MVC允許將控制器上的相關(guān)動作邏輯分組在一起。

      使用MVC的缺點

      • 難以閱讀,更改,單元測試和重用此模型
      • 框架導(dǎo)航可能有時間復(fù)雜,因為它引入了新的抽象層,這要求用戶適應(yīng)MVC的分解標(biāo)準(zhǔn)。
      • 沒有正式的驗證支持
      • 增加了數(shù)據(jù)的復(fù)雜性和低效率
        -與現(xiàn)代用戶界面結(jié)合有難度
        -需要多個程序員進(jìn)行并行編程。
        -需要了解多種技術(shù)。
        -在Controller中維護(hù)大量代碼

      參數(shù) |3層體系結(jié)構(gòu) |MVC體系結(jié)構(gòu)
      通信|這種類型的體系結(jié)構(gòu)模式永遠(yuǎn)不會直接與數(shù)據(jù)層通信。|所有層使用三角形拓?fù)渲苯油ㄐ拧?br> 用法 |3層:廣泛用于Web應(yīng)用程序,其中客戶端,數(shù)據(jù)層和中間件a在物理上獨立的平臺上運行。 |通常用于在單個圖形工作站上運行的應(yīng)用程序。

      小結(jié)

      • MVC是一種架構(gòu)模式,將應(yīng)用程序分為1)模型,2)視圖和3)控制器
      • 模型:它包括所有數(shù)據(jù)及其相關(guān)邏輯
      • 視圖:向用戶顯示數(shù)據(jù)或處理用戶交互
      • Controller:Model和View組件之間的接口
      • MVC架構(gòu)于1979年由Trygve Reenskaug首次討論
      • MVC是一個高度可測試,可擴(kuò)展和可插入的框架
        一些流行的MVC框架是Django、flask、tornada、Rails,Zend Framework,CodeIgniter,Laravel,F(xiàn)uel PHP等。
      posted @ 2023-05-19 11:51  磁石空杯  閱讀(124)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久精品国产亚洲av成人| 亚洲不卡一区三区三区四| 亚洲日韩性欧美中文字幕| 风流老熟女一区二区三区| 精品尤物国产尤物在线看| 久久精品国产99国产精品澳门| 99久久精品费精品国产一区二区| 国产在线一区二区不卡| 亚洲东京色一区二区三区| 成人影片一区免费观看| 中文字幕精品亚洲字幕成| 国产精品一区二区久久岳| 高中生粉嫩无套第一次| 熟女女同亚洲女同中文字幕| 制服 丝袜 亚洲 中文 综合| 成人免费ā片在线观看| 夜夜添狠狠添高潮出水| 免费无码午夜福利片| 成人午夜大片免费看爽爽爽| 国产一区二区三区内射高清| 99九九成人免费视频精品| 中国女人熟毛茸茸A毛片| 黄色亚洲一区二区三区四区| 国产一区二区三区怡红院| 国产成人精品久久性色av| 一 级做人爱全视频在线看| 日韩a∨精品日韩在线观看 | 日韩av中文字幕有码| 国产精品成人一区二区三区| 亚洲成人av在线系列| 国产AV福利第一精品| 米奇亚洲国产精品思久久| 久久不卡精品| 久久日韩精品一区二区五区| 国产午夜精品理论大片| 日韩中文字幕亚洲精品一| 国产免费一区二区不卡| 久久国产免费观看精品3| 夜夜夜高潮夜夜爽夜夜爰爰| 欧美日韩免费专区在线观看| 日韩大片高清播放器|