亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

計(jì)算機(jī)學(xué)習(xí)網(wǎng)站開(kāi)發(fā)全流程:從需求分析到上線部署實(shí)戰(zhàn)

計(jì)算機(jī)學(xué)習(xí)網(wǎng)站開(kāi)發(fā)全流程:從需求分析到上線部署實(shí)戰(zhàn) 每年這時(shí)候都有不少朋友來(lái)問(wèn)畢設(shè)選題尤其是計(jì)算機(jī)科學(xué)與技術(shù)方向十個(gè)里有六七個(gè)想做學(xué)習(xí)類網(wǎng)站。這個(gè)方向確實(shí)討巧需求清晰、技術(shù)棧通用、演示效果直觀但正因?yàn)樽龅娜硕喾炊菀鬃龀梢欢压δ芏哑龅恼n程列表頁(yè)。我前段時(shí)間剛完成一個(gè)編號(hào)為m248的項(xiàng)目——計(jì)算機(jī)科學(xué)與技術(shù)學(xué)習(xí)網(wǎng)站的設(shè)計(jì)與開(kāi)發(fā)從需求分析到部署上線完整走了一遍有些經(jīng)驗(yàn)值得拿出來(lái)聊聊。這個(gè)網(wǎng)站的核心定位不是做一個(gè)放視頻的課件站而是把課程檢索、學(xué)習(xí)路線、在線練習(xí)、個(gè)人筆記幾個(gè)環(huán)節(jié)串起來(lái)讓一個(gè)剛接觸計(jì)算機(jī)的新手或者想系統(tǒng)補(bǔ)基礎(chǔ)的同學(xué)能沿著一條明確路徑往前走。整個(gè)開(kāi)發(fā)周期大約六周技術(shù)棧選了Spring Boot加Vue的前后端分離方案數(shù)據(jù)庫(kù)用的MySQL另外用Redis做緩存和會(huì)話管理。這篇文章會(huì)把設(shè)計(jì)思路、模塊實(shí)現(xiàn)、踩過(guò)的坑、以及上線后的運(yùn)營(yíng)細(xì)節(jié)都攤開(kāi)講適合正在做類似畢設(shè)、或者想自己搭一個(gè)學(xué)習(xí)站點(diǎn)的同學(xué)參考。1. 這個(gè)學(xué)習(xí)網(wǎng)站到底解決什么問(wèn)題從用戶痛點(diǎn)倒推需求動(dòng)手寫第一行代碼之前最該想清楚的是網(wǎng)站給誰(shuí)用、解決什么具體問(wèn)題。我見(jiàn)過(guò)太多同類項(xiàng)目一上來(lái)就堆課程分類、視頻播放、論壇討論最后界面長(zhǎng)得像低配版慕課網(wǎng)但用戶根本不知道從哪里開(kāi)始學(xué)。做學(xué)習(xí)網(wǎng)站最核心的價(jià)值不是提供資源而是提供路徑。1.1 目標(biāo)用戶畫像與核心痛點(diǎn)我做需求分析時(shí)把目標(biāo)用戶分成三類各自的痛點(diǎn)非常不一樣計(jì)算機(jī)專業(yè)低年級(jí)本科生大一、大二剛接觸編程學(xué)校課程按學(xué)期推進(jìn)但很多人在數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)這類核心課上跟不上需要課外補(bǔ)充學(xué)習(xí)資料。他們的痛點(diǎn)是資料太多、不知道按什么順序看。轉(zhuǎn)碼自學(xué)者非科班出身想通過(guò)自學(xué)進(jìn)入開(kāi)發(fā)行業(yè)。這類人往往不缺學(xué)習(xí)資源和教程缺的是系統(tǒng)性的路線圖和能檢驗(yàn)學(xué)習(xí)效果的練習(xí)題。課程設(shè)計(jì)/期末復(fù)習(xí)人群需要快速查找特定知識(shí)點(diǎn)比如二叉樹遍歷HTTP狀態(tài)碼希望有精準(zhǔn)的搜索結(jié)果和精簡(jiǎn)的總結(jié)。三類人群交集明顯都需要結(jié)構(gòu)化內(nèi)容 可驗(yàn)證的學(xué)習(xí)成果。所以我把網(wǎng)站定位為學(xué)習(xí)路徑 內(nèi)容檢索 在線練習(xí)三位一體的工具型站點(diǎn)而不是又一個(gè)視頻點(diǎn)播平臺(tái)。1.2 功能需求收斂砍掉哪些、留住哪些初期我列了十多個(gè)功能點(diǎn)包括視頻彈幕、論壇、積分商城、在線聊天后來(lái)全部砍掉。保留下來(lái)并且最終做出來(lái)的只有五個(gè)模塊模塊解決的問(wèn)題關(guān)鍵功能課程中心知識(shí)獲取課程分類、關(guān)鍵詞檢索、章節(jié)內(nèi)容瀏覽學(xué)習(xí)路線學(xué)習(xí)路徑按階段展示路線節(jié)點(diǎn)、節(jié)點(diǎn)進(jìn)度標(biāo)記在線評(píng)測(cè)學(xué)習(xí)效果驗(yàn)證精選練習(xí)題目、代碼提交、自動(dòng)判題學(xué)習(xí)筆記知識(shí)沉淀個(gè)人筆記寫、改、刪、按課程歸類后臺(tái)管理內(nèi)容維護(hù)課程/題目/路線圖的增刪改查、用戶管理砍功能的原則很簡(jiǎn)單每一項(xiàng)功能必須能回答用戶使用它的頻率有多高和沒(méi)有它會(huì)不會(huì)影響核心體驗(yàn)。視頻彈幕這種功能做出來(lái)熱鬧但和學(xué)習(xí)效率這個(gè)核心價(jià)值沒(méi)有強(qiáng)關(guān)聯(lián)反而是在線評(píng)測(cè)這種看起來(lái)不顯眼的功能對(duì)學(xué)習(xí)效果的提升是實(shí)打?qū)嵉摹J聦?shí)證明最后演示的時(shí)候評(píng)委最感興趣的也是自動(dòng)判題這個(gè)模塊。2. 技術(shù)選型的取舍邏輯一個(gè)人開(kāi)發(fā)也要考慮未來(lái)有人維護(hù)技術(shù)選型是這類項(xiàng)目最容易糾結(jié)的環(huán)節(jié)。選太熱門的怕?tīng)€大街選太冷門的怕出問(wèn)題沒(méi)人幫忙。我的結(jié)論是在成熟生態(tài)里挑一套自己最熟悉的組合比追求技術(shù)新穎更重要。2.1 前后端方案對(duì)比與最終選擇主選方案是Spring Boot 3 Vue 3 MySQL 8備選方案是Python Flask/Django Vue SQLite/MySQL。兩者的取舍我做了個(gè)簡(jiǎn)單對(duì)比對(duì)比維度Java Spring Boot方案Python方案上手成本中高需要理解Bean、依賴注入等概念低Flask幾十行能跑起服務(wù)生態(tài)成熟度高企業(yè)級(jí)應(yīng)用廣泛遇到問(wèn)題容易搜到答案高但偏腳本場(chǎng)景重型業(yè)務(wù)少代碼執(zhí)行/判題支持多語(yǔ)言編譯執(zhí)行方便javac/gcc等進(jìn)程管理成熟執(zhí)行子進(jìn)程也方便但并發(fā)和資源隔離要小心答辯友好度高評(píng)審普遍認(rèn)可Spring全家桶中視評(píng)審老師偏好而定部署成本稍高要裝JDK、打jar包低pip依賴裝完就能跑最終選了Spring Boot主要是因?yàn)楫呍O(shè)場(chǎng)景下可預(yù)測(cè)性優(yōu)先。Java的生態(tài)太龐大了遇到前端跨域、Redis連接、文件上傳這類問(wèn)題網(wǎng)上隨便一搜就是完整的解決方案不太會(huì)在環(huán)境層面卡住。另外在線評(píng)測(cè)模塊需要調(diào)用外部編譯器比如javac、gcc、pythonJava在管理子進(jìn)程、限制資源占用比如超時(shí)、內(nèi)存上限方面的做法更成熟這一點(diǎn)在后面的開(kāi)發(fā)中確實(shí)省了很多事。2.2 關(guān)鍵依賴組件清單除了主框架我還選了幾個(gè)配套組件這里列一下選型和理由Redis 6.x做登錄會(huì)話緩存、課程點(diǎn)擊量緩存。邏輯上Session原來(lái)可以放服務(wù)器內(nèi)存但考慮到將來(lái)可能部署到多實(shí)例用Redis屬于現(xiàn)在麻煩一點(diǎn)、以后少改架構(gòu)的決策。MySQL 8 Nginx數(shù)據(jù)持久化和靜態(tài)資源/CDN入口。MySQL的全文索引ngram parser在搜索功能里幫了大忙這個(gè)后面細(xì)說(shuō)。MyBatis-Plus數(shù)據(jù)訪問(wèn)層。比純MyBatis少寫很多CRUD樣板代碼尤其在后臺(tái)管理的增刪改查上效率提升明顯。前端用Vite構(gòu)建 Element Plus組件庫(kù)Element Plus的后臺(tái)表格、表單、樹形控件都是現(xiàn)成的能保住開(kāi)發(fā)進(jìn)度。提示選型階段一定要寫一個(gè)簡(jiǎn)單的技術(shù)選型說(shuō)明文檔把每個(gè)組件用來(lái)解決什么問(wèn)題寫清楚。答辯的時(shí)候老師幾乎必問(wèn)為什么用Redis為什么不用MongoDB提前準(zhǔn)備好理由比到時(shí)候現(xiàn)想強(qiáng)得多。3. 核心功能模塊設(shè)計(jì)與實(shí)現(xiàn)順序先做骨架再填血肉功能實(shí)現(xiàn)順序我建議按用戶主路徑來(lái)排先讓他能瀏覽課程內(nèi)容再給他路線圖和練習(xí)最后才是個(gè)人筆記和后臺(tái)管理。這樣每一步做完都能跑起來(lái)看到效果不會(huì)出現(xiàn)開(kāi)發(fā)兩個(gè)月、聯(lián)調(diào)才崩的窘境。3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)五張核心表一張路線表數(shù)據(jù)庫(kù)設(shè)計(jì)是這類項(xiàng)目的地基。我建的核心表如下字段設(shè)計(jì)考慮了擴(kuò)展性表名核心字段作用usersid, username, password_hash, role用戶認(rèn)證與權(quán)限區(qū)分categoriesid, name, parent_id, sort_order課程分類樹coursesid, category_id, title, summary, cover_url課程基本信息course_chaptersid, course_id, title, content_html, sort_order章節(jié)內(nèi)容problemsid, title, description, input_desc, output_desc, difficulty練習(xí)題目描述learning_path_nodesid, title, description, order_index, link_type, link_id學(xué)習(xí)路線節(jié)點(diǎn)judge_recordsid, user_id, problem_id, code, language, status, execute_time提交與判題記錄notesid, user_id, course_id, title, content_markdown個(gè)人學(xué)習(xí)筆記這里想特別說(shuō)一下learning_path_nodes這張表的設(shè)計(jì)。學(xué)習(xí)路線本質(zhì)上是一個(gè)有向無(wú)環(huán)圖節(jié)點(diǎn)之間有依賴關(guān)系比如學(xué)完數(shù)據(jù)結(jié)構(gòu)再學(xué)算法。我最初想用鄰接表存節(jié)點(diǎn)關(guān)系后來(lái)發(fā)現(xiàn)對(duì)學(xué)習(xí)路線來(lái)說(shuō)線性序列 階段分組就夠用了。每個(gè)節(jié)點(diǎn)存一個(gè)order_index前端按這個(gè)排序渲染時(shí)間線后臺(tái)調(diào)整順序只需要改這個(gè)字段。真要做復(fù)雜的課程依賴判斷比如必須先修完課程A才能解鎖課程B再用單獨(dú)的依賴表也不遲前期不做過(guò)度設(shè)計(jì)。3.2 課程中心搜索是門面分類樹是骨架課程中心是整個(gè)網(wǎng)站訪問(wèn)量最大的頁(yè)面實(shí)現(xiàn)上分兩部分分類瀏覽和關(guān)鍵詞搜索。分類瀏覽用兩級(jí)分類就夠了一級(jí)是編程語(yǔ)言數(shù)據(jù)結(jié)構(gòu)操作系統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)這樣的大類二級(jí)是具體課程或?qū)n}。前端渲染分類樹用遞歸組件數(shù)據(jù)一次從后端取完不搞懶加載減少請(qǐng)求次數(shù)。搜索是重點(diǎn)也是坑點(diǎn)。剛開(kāi)始我用的是 MySQL 的LIKE %關(guān)鍵詞%課程少的時(shí)候沒(méi)問(wèn)題但數(shù)據(jù)量上來(lái)之后有兩個(gè)問(wèn)題一是性能差不能走索引全表掃描二是匹配不聰明搜二分查找匹配不到標(biāo)題為Binary Search 算法詳解的課程。后來(lái)改成 MySQL 全文索引配合 ngram 解析器ALTER TABLE courses ADD FULLTEXT INDEX ft_course_title (title) WITH PARSER ngram;查詢時(shí)用MATCH(title) AGAINST(二分查找 IN NATURAL LANGUAGE MODE)中英文混合的內(nèi)容也能正確匹配。課程數(shù)量級(jí)在幾萬(wàn)條以內(nèi)MySQL全文索引完全夠用沒(méi)必要上Elasticsearch運(yùn)維成本高不少。課程詳情頁(yè)除了展示章節(jié)內(nèi)容我還加了一個(gè)相關(guān)課程推薦的邏輯按同一分類下點(diǎn)擊量排序取前五條。這個(gè)功能雖然簡(jiǎn)單但對(duì)用戶體驗(yàn)的提升很明顯讓用戶在看完一節(jié)課之后有地方可以去而不是關(guān)掉頁(yè)面。3.3 在線評(píng)測(cè)最費(fèi)心也是最有亮點(diǎn)的一塊在線評(píng)測(cè)模塊是整個(gè)網(wǎng)站技術(shù)含量最高的部分也是答辯時(shí)老師問(wèn)得最多的地方。核心流程是用戶提交代碼 → 后端調(diào)用相應(yīng)語(yǔ)言的編譯器/解釋器 → 在受控環(huán)境中運(yùn)行 → 比對(duì)輸出 → 返回結(jié)果。整個(gè)流程我簡(jiǎn)化成四個(gè)環(huán)節(jié)第一代碼執(zhí)行。后端接收入?yún)⒑蟀汛a寫入臨時(shí)文件調(diào)用javac、gcc、python等命令編譯執(zhí)行。判題用例放在受限目錄運(yùn)行時(shí)把用戶程序的輸出重定向到臨時(shí)文件然后和答案文件比對(duì)。第二資源限制。這是必須做的否則一個(gè)惡意死循環(huán)就能把服務(wù)器拖垮。我用了兩層防護(hù)外層在調(diào)用層設(shè)置超時(shí)一般單用例 3 秒內(nèi)層用操作系統(tǒng)的資源限制功能限制進(jìn)程 CPU 時(shí)間和內(nèi)存subprocess.run( [command, code_file, input_file], capture_outputTrue, timeout10, preexec_fnlimit_resources )Java端也有對(duì)應(yīng)的方案用ProcessBuilder起子進(jìn)程配合destroyForcibly()做超時(shí)兜底。第三安全隔離。說(shuō)實(shí)話讓用戶提交任意代碼在服務(wù)器上執(zhí)行還是有風(fēng)險(xiǎn)的。演示環(huán)境里我用 Docker 容器做隔離每個(gè)判題請(qǐng)求起一個(gè)臨時(shí)容器跑完直接銷毀。雖然資源開(kāi)銷大但安全性能保證。如果實(shí)在不想引入Docker至少要做到禁止用戶提交Shell腳本、限制可執(zhí)行文件路徑白名單、以低權(quán)限用戶運(yùn)行判題進(jìn)程。第四結(jié)果反饋。判題結(jié)果不只是通過(guò)/不通過(guò)我會(huì)給用戶展示編譯錯(cuò)誤信息、運(yùn)行超時(shí)提示、第一個(gè)不匹配的用例的期望輸出和實(shí)際輸出。這一步對(duì)學(xué)習(xí)體驗(yàn)很重要——用戶看到具體的失敗原因才知道怎么改代碼。3.4 學(xué)習(xí)路線圖用JSON配置而非硬編碼學(xué)習(xí)路線圖我最初想在前端寫死節(jié)點(diǎn)后來(lái)發(fā)現(xiàn)每次調(diào)整路線都要改前端代碼、重新打包發(fā)布太麻煩了。改成運(yùn)行時(shí)可配置的方案路線圖數(shù)據(jù)存數(shù)據(jù)庫(kù)前端從接口拉取按階段和時(shí)間線渲染。簡(jiǎn)化版的路線JSON結(jié)構(gòu)類似{ 階段1: [編程語(yǔ)言入門, 計(jì)算機(jī)基礎(chǔ)], 階段2: [數(shù)據(jù)結(jié)構(gòu), 算法設(shè)計(jì)], 階段3: [操作系統(tǒng), 計(jì)算機(jī)網(wǎng)絡(luò), 數(shù)據(jù)庫(kù)原理], 階段4: [實(shí)踐項(xiàng)目, 專項(xiàng)進(jìn)階] }前端對(duì)每個(gè)節(jié)點(diǎn)渲染卡片用戶點(diǎn)擊某個(gè)節(jié)點(diǎn)可以跳轉(zhuǎn)到對(duì)應(yīng)的課程或練習(xí)。學(xué)習(xí)進(jìn)度標(biāo)記就存user_id node_id is_finished邏輯簡(jiǎn)單但很實(shí)用。線路圖的數(shù)據(jù)內(nèi)容我花了不少心思。參考了幾所高校的教學(xué)計(jì)劃把CS核心課程按照依賴關(guān)系排了一遍高等數(shù)學(xué)、離散數(shù)學(xué)作為前置基礎(chǔ)然后才是數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理再往后是操作系統(tǒng)、編譯原理、計(jì)算機(jī)網(wǎng)絡(luò)。這個(gè)依賴關(guān)系雖然不是絕對(duì)正確但對(duì)新手來(lái)說(shuō)是一個(gè)非常友好的引導(dǎo)。4. 踩坑實(shí)錄開(kāi)發(fā)途中真正浪費(fèi)時(shí)間的五個(gè)問(wèn)題這個(gè)項(xiàng)目前后踩了不少坑挑五個(gè)最典型的寫出來(lái)每一個(gè)都是在搜索引擎上繞了很久才搞定的希望后來(lái)的同學(xué)少走彎路。4.1 富文本編輯器的XSS注入問(wèn)題學(xué)習(xí)筆記模塊一開(kāi)始我用的是富文本編輯器用戶可以輸入任意HTML。結(jié)果測(cè)試時(shí)發(fā)現(xiàn)一個(gè)大問(wèn)題用戶可以在筆記里插入script標(biāo)簽或者惡意事件屬性比如img srcx onerroralert(1)。如果不做處理別人瀏覽到這篇筆記時(shí)就會(huì)執(zhí)行這段腳本典型的存儲(chǔ)型XSS漏洞。解決思路是前端渲染前過(guò)濾 后端入庫(kù)前直接拒絕危險(xiǎn)內(nèi)容。后端用Jsoup框架做白名單過(guò)濾只允許正常的p、a、img、code、pre等標(biāo)簽所有on*屬性和script標(biāo)簽一律清除。筆記內(nèi)容從Markdown源文本保存渲染成HTML時(shí)才過(guò)濾雙保險(xiǎn)。4.2 課程搜索搜不到和搜不準(zhǔn)并存沒(méi)上全文索引之前搜索有兩個(gè)毛病。搜動(dòng)態(tài)規(guī)劃能出結(jié)果但搜dp就匹配不到任何內(nèi)容因?yàn)闃?biāo)題里寫的是中文全稱反過(guò)來(lái)搜Java會(huì)把JavaScript的課程也搜出來(lái)因?yàn)長(zhǎng)IKE %Java%子串匹配的粒度太粗了。后來(lái)用了ngram全文索引情況好了很多但還有一個(gè)細(xì)節(jié)要處理全文索引默認(rèn)按相關(guān)性排序相關(guān)性評(píng)分受詞頻影響課程標(biāo)題字段短、關(guān)鍵詞密度高評(píng)分反而合理。另外我在搜索接口上加了一個(gè)簡(jiǎn)單的中文分詞步驟把用戶輸入的查詢短語(yǔ)按常規(guī)分隔符空格、逗號(hào)拆開(kāi)再拼接成MATCH ... AGAINST的布爾模式SELECT * FROM courses WHERE MATCH(title) AGAINST(Java 并發(fā) IN BOOLEAN MODE)這樣Java 并發(fā)可以被精確匹配而不是被當(dāng)成一個(gè)完整長(zhǎng)詞匹配效果肉眼可見(jiàn)地變好。4.3 Vue Router History模式部署后刷新404前端用的History路由模式本地開(kāi)發(fā)一切正常打包部署到Nginx之后訪問(wèn)首頁(yè)沒(méi)問(wèn)題但在/courses/12這樣的詳情頁(yè)按F5刷新直接404。原因很簡(jiǎn)單Nginx默認(rèn)在找不到對(duì)應(yīng)文件時(shí)才走不到前端路由因?yàn)樯a(chǎn)環(huán)境沒(méi)有/courses/12這個(gè)真實(shí)路徑。解決辦法是在Nginx配置里加一個(gè)回退邏輯location / { try_files $uri $uri/ /index.html; }所有非靜態(tài)文件的請(qǐng)求都回退到index.html由前端路由接管。這個(gè)坑我記得特別清楚因?yàn)榕挪闀r(shí)一度懷疑是Vue Router版本問(wèn)題調(diào)了很久最后發(fā)現(xiàn)就是一行Nginx配置的事。4.4 在線評(píng)測(cè)的隱藏扣分項(xiàng)運(yùn)行時(shí)錯(cuò)誤信息不完整判題模塊在測(cè)試時(shí)發(fā)現(xiàn)用戶代碼如果出現(xiàn)數(shù)組越界、空指針、除以零這類異常只能看到一個(gè)籠統(tǒng)的運(yùn)行時(shí)錯(cuò)誤具體哪一行出錯(cuò)、錯(cuò)誤信息是什么完全看不到。對(duì)學(xué)習(xí)者來(lái)說(shuō)這種反饋基本等于沒(méi)有。后來(lái)改成了捕獲并記錄異常堆棧在Java判題場(chǎng)景里用戶代碼的異常信息會(huì)打印到標(biāo)準(zhǔn)錯(cuò)誤輸出流判題進(jìn)程把stderr的內(nèi)容捕獲下來(lái)如果判題結(jié)果是RERuntime Error就把堆棧的前幾行返回給前端展示。注意這里要做好信息截?cái)嘀伙@示異常類型和行號(hào)不暴露服務(wù)器內(nèi)部路徑和敏感信息。4.5 跨域問(wèn)題差點(diǎn)讓前端聯(lián)調(diào)崩掉前后端分離開(kāi)發(fā)時(shí)前端跑在localhost:5173后端跑在localhost:8080必然會(huì)遇到跨域問(wèn)題。一開(kāi)始我在后端加了CrossOrigin注解能解決一部分GET請(qǐng)求但帶自定義Header的POST請(qǐng)求依然報(bào)跨域錯(cuò)誤。正確的做法是在后端寫一個(gè)全局的CORS配置類允許指定的前端來(lái)源、請(qǐng)求方法、請(qǐng)求頭和攜帶憑證registry.addMapping(/**) .allowedOrigins(http://localhost:5173) .allowedMethods(GET, POST, PUT, DELETE, OPTIONS) .allowedHeaders(*) .allowCredentials(true);這里有一個(gè)小坑allowedOrigins(*)和allowCredentials(true)不能同時(shí)使用瀏覽器會(huì)直接拒絕必須寫明確的前端域名。聯(lián)調(diào)階段這個(gè)配置幫我省了一整天的排查時(shí)間。5. 數(shù)據(jù)從哪來(lái)種子內(nèi)容準(zhǔn)備與內(nèi)容安全底線網(wǎng)站功能寫完只是第一步更費(fèi)時(shí)間的是讓網(wǎng)站看起來(lái)有內(nèi)容。一個(gè)空蕩蕩的學(xué)習(xí)網(wǎng)站再好的功能也沒(méi)人愿意用。我給自己定了一個(gè)目標(biāo)上線時(shí)至少要有一套完整的課程內(nèi)容和100道可判題的練習(xí)。5.1 種子數(shù)據(jù)的來(lái)源與版權(quán)處理課程內(nèi)容這塊我的做法是引用公開(kāi)資料 整理原創(chuàng)講義而不是直接搬運(yùn)別人的課程視頻或文檔。具體來(lái)源包括公開(kāi)課程大綱參考國(guó)內(nèi)外知名高校公開(kāi)的課程頁(yè)面吸收他們的知識(shí)點(diǎn)組織方式自己重新編寫摘要和章節(jié)結(jié)構(gòu)。經(jīng)典教材目錄比如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)這類經(jīng)典教材的章節(jié)順序本身就是很好的知識(shí)組織框架據(jù)此設(shè)計(jì)課程分類。網(wǎng)絡(luò)公開(kāi)的OJ題目很多OJ平臺(tái)有開(kāi)放題目集自己重新改寫題目描述和測(cè)試用例標(biāo)注題目來(lái)源不能原樣復(fù)制。這里要特別提醒一句畢設(shè)源碼和內(nèi)容都要注意版權(quán)邊界。直接從慕課網(wǎng)、B站把別人的視頻嵌進(jìn)來(lái)雖然演示時(shí)方便但存在侵權(quán)風(fēng)險(xiǎn)。我的方案是以圖文講義和代碼示例為主視頻只是補(bǔ)充版權(quán)上穩(wěn)妥得多。5.2 在線題目的打磨測(cè)試用例比描述更重要練習(xí)題準(zhǔn)備中我最大的體會(huì)是一道題值的不是題目描述而是測(cè)試用例。一道判斷回文數(shù)的題目測(cè)試用例至少要包含正例1211221、負(fù)例12310、邊界值0負(fù)數(shù)、溢出情況。原本我以為寫完題目描述就完事了后來(lái)測(cè)試時(shí)發(fā)現(xiàn)用戶提交的代碼五花八門邊界用例不充分判題結(jié)果非常不穩(wěn)定。后面我每道題至少配8到10個(gè)用例3個(gè)公開(kāi)示例用例前端顯示 5個(gè)以上隱藏用例判題時(shí)使用。隱藏用例的意義在于用戶就算看到了示例也不能只針對(duì)示例寫死答案必須真正理解算法。5.3 內(nèi)容安全底線UGC內(nèi)容不能裸奔學(xué)習(xí)筆記和用戶昵稱是用戶生成內(nèi)容UGC這部分必須有審核機(jī)制。我的做法是三層過(guò)濾第一層前端輸入限制。昵稱長(zhǎng)度、筆記字?jǐn)?shù)、圖片上傳格式先在前端攔住。第二層后端內(nèi)容過(guò)濾。引入敏感詞庫(kù)做關(guān)鍵詞匹配命中直接拒絕提交或者把內(nèi)容標(biāo)記為待審核狀態(tài)。第三層運(yùn)營(yíng)后臺(tái)審核。后臺(tái)管理列表里加一個(gè)筆記審核頁(yè)簽管理員可以查最近一周產(chǎn)生的筆記一鍵下架違規(guī)內(nèi)容。這個(gè)設(shè)計(jì)在答辯時(shí)很加分因?yàn)槟荏w現(xiàn)安全意識(shí)和隱私保護(hù)意識(shí)而很多同類項(xiàng)目完全沒(méi)考慮這些問(wèn)題。6. 部署上線與運(yùn)營(yíng)細(xì)節(jié)從畢設(shè)到真正可使用的學(xué)習(xí)站點(diǎn)功能開(kāi)發(fā)完成后我部署在一臺(tái)輕量云服務(wù)器上2核4G配置系統(tǒng)用的Ubuntu 22.04環(huán)境是Nginx MySQL Redis Spring Boot jar包。整個(gè)部署過(guò)程比較標(biāo)準(zhǔn)說(shuō)幾個(gè)值得注意的細(xì)節(jié)。6.1 前后端分開(kāi)部署與Nginx配置前端打包后的靜態(tài)文件放在/var/www/html后端jar包用systemd管理服務(wù)設(shè)置開(kāi)機(jī)自啟和崩潰自動(dòng)重啟。Nginx這里配置一個(gè)反向代理把/api/前綴的請(qǐng)求轉(zhuǎn)發(fā)到后端服務(wù)server { listen 80; server_name your-domain.com; root /var/www/html; index index.html; location /api/ { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { try_files $uri $uri/ /index.html; } }如果服務(wù)器帶寬不高建議Nginx開(kāi)啟壓縮圖片資源做一下瘦身網(wǎng)頁(yè)首屏加載速度會(huì)有顯著提升。為了省流量我的封面圖統(tǒng)一用了WebP格式比JPG大概小30%左右。6.2 用HTTPS保護(hù)用戶會(huì)話登錄功能上線后HTTP明文傳輸用戶的賬號(hào)密碼肯定不行。我申請(qǐng)了免費(fèi)的HTTPS證書在Nginx里配置443端口和證書路徑同時(shí)把80端口請(qǐng)求301重定向到HTTPS。這一步看起來(lái)不起眼但它保證了登錄會(huì)話的安全性也避免部分瀏覽器對(duì)非HTTPS頁(yè)面的不安全警告勸退用戶。6.3 冷啟動(dòng)讓網(wǎng)站真正被用起來(lái)網(wǎng)站上線后最尷尬的是沒(méi)有用戶。冷啟動(dòng)階段我做了三件事拉身邊人試用找了十來(lái)位同學(xué)、朋友注冊(cè)體驗(yàn)收集了一輪真實(shí)反饋。印象最深的是有人反饋學(xué)習(xí)路線圖很清晰但點(diǎn)擊節(jié)點(diǎn)跳轉(zhuǎn)后不知道該怎么回來(lái)于是我在路線圖頁(yè)面加了面包屑導(dǎo)航。SEO基礎(chǔ)配置給每個(gè)課程頁(yè)面配置合理的title和meta description提交搜索引擎收錄。雖然學(xué)習(xí)網(wǎng)站不是靠搜索流量起家的但別讓搜索引擎完全抓不到。定期更新題目上線后每周更新5到10道新題保持在線評(píng)測(cè)模塊的活躍度。網(wǎng)站不怕小怕的是放著不管。6.4 備份最后的保命手段數(shù)據(jù)備份是最容易被忽略的環(huán)節(jié)。我配置了一個(gè)簡(jiǎn)單的定時(shí)任務(wù)每天凌晨用mysqldump備份數(shù)據(jù)庫(kù)保留最近七天的備份文件。另外用戶上傳的圖片和筆記附件單獨(dú)打包備份到對(duì)象存儲(chǔ)。畢設(shè)答辯結(jié)束、網(wǎng)站不維護(hù)了數(shù)據(jù)備份依然有價(jià)值——至少交出去的時(shí)候還能恢復(fù)給下一屆同學(xué)或者作為代碼倉(cāng)庫(kù)的一部分。最后說(shuō)點(diǎn)實(shí)在的做這個(gè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)習(xí)網(wǎng)站我最深的感受是寫代碼的時(shí)間只占三分之一剩下三分之二是需求梳理、數(shù)據(jù)準(zhǔn)備和排坑。尤其是學(xué)習(xí)路線和在線評(píng)測(cè)這兩個(gè)模塊前者要理解教學(xué)邏輯后者要保證判題安全都是純CRUD頁(yè)面體現(xiàn)不了的能力。如果讓我重做一次我會(huì)把在線評(píng)測(cè)的沙箱方案從Docker改成更輕量級(jí)的多進(jìn)程隔離減少每次判題的資源開(kāi)銷提高并發(fā)能力。另外后臺(tái)管理界面我會(huì)提前兩周開(kāi)始做別拖到最后通宵趕工——后臺(tái)的CRUD頁(yè)面雖然邏輯不復(fù)雜但表單字段多、列表篩選條件多工作量比想象中大不少。最后分享一個(gè)小技巧把學(xué)習(xí)路線圖的配置數(shù)據(jù)單獨(dú)抽成一個(gè)JSON文件放在前端資源目錄里開(kāi)發(fā)時(shí)先不用接數(shù)據(jù)庫(kù)直接讀JSON渲染頁(yè)面等UI確定了再切換到后端接口。這樣前端開(kāi)發(fā)和后端開(kāi)發(fā)在路線圖模塊上完全解耦是這次項(xiàng)目里節(jié)奏最順的一個(gè)模塊。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
美女露胸露屁股| 国产久久日韩网站导航| 一区二区三区国产精产| 欧美成人精品一区二区男人蜜臀| 青女偷拍网| 午夜福利在线合集| 中国黑人三级片网站上区| 亚洲欧美色图片| 国产欧美日韩精品中文| 亚州欧美综合| 无码高清操逼网址| 97久久精品亚洲| 97久久超碰日韩精品| 欧美精品一区二区少妇免费A片 | 欧美精品偷拍| 亚洲精品国产精品成人| 99re这里只有精品中心播放 | 五月天色图| 白丝av| 国产97色在线| 成人在线视频一区| 黄色激情电影在线观看| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲欧美色图片| 99热精品在线观看| 久久亚洲天堂| 天天爽夜夜欢视| 校园春色美腿丝袜 | 91网站18禁| 秋霞视频一区二区| 亚洲色图8| 成视频在线观看免费看| 久久久啊啊啊| 情色日播放AV| 亚洲国产欧美一区二区潘金莲| 亚洲色图图片| 青青草密桃在线播放| WWW美腿丝袜香蕉中文| 青椒国产97在线熟女| 经典丝袜一区| 精品国产91av一区二区三区| 亚码人妻| 长长久久88视频| 91亚洲人| 校园春色中文字幕AV| 污污汅18禁网站在线永久免费观看| 国产农村妇女精品1区二区| 射久久| 日本一天色道久久久精品视频| 久久这里只精品免费福利| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 精品一区二区国产日韩| 日韩电影中文字幕| 神马福利久草| 欧亚免费视频| 免费人成在线观看网站品爱网| 黑人粗大V S日韩女优视频| 欧洲无码一区二区| 久久一区二区高清免费| 91美女高潮| 综合色图亚洲欧美| 色综合天天| 久操av在线| 99爱在线视频| 亚洲视频1区| 亚洲好色人妻| 久久色一区| 黄色成人网久久久久久| 九九九九免费视频| 又黑又大又粗| 日韩婷婷| 黄片色区软件| 国产色图乱伦| 夜夜骑日日| 97网址www| 国产精品视频一区二区三区八戒| 天堂69亚洲精品中文字| 亚洲做性| 97免费视频网| 天天操夜夜操| 婷婷五月天激情网| 殴美牲| 午夜福利精品| 91久久九九精品国产综合| #NAME?| 97亚洲资源| 99超级碰免费视频| 国产1769在线| 欧美强奸乱能| 九月激情婷婷| 国产在线播放成人免费| 国产精品熟女一区二区三区| 激情久久日韩精品中文字幕麻豆| 97人亚洲综合字幕| 人妻激情偷乱视频一区二区三区| 成人看片网站| 日本高清_区二区三区| 秋霞怕怕片| AV中文字幕三四五| 激情婷婷丁香网| 亚洲自拍一区夜夜操| 男人兔费天堂| 白丝AV网站| 色婷五月天| 亚洲国产麻豆一区二区三区| 亚洲图片激情综合另类| 国产大学生口爆吞精合集| 3PAV乱伦视频| 91香蕉国产尤物视频| 亚洲女优有码无码高清| 乱色老一区二区三区的观看方式 | 婷婷五月av| 综合免费无码中文| 激情婷婷丁香| 青青草日韩无码| 欧美日本一区二区a人| 99视频这有这里有精品| 人人摸人人入| 亚洲性网| 亚洲AV无线| 日韩国产不卡在线视频| aa片毛片| 三级日韩一区二区三区| 无码操逼视频一下| 久操凹凸视频| 色久桃花影院在线观看| 日韩欧美大力操| 67194无码不卡| 91狠| 欧美内射少妇| 亚洲综合九| 97网址97| 亚洲成人ab| 国产女大学生AV| 国产第12页| 亚洲欧洲综合av在线| 69XX一中文字幕人妻91| 日韩av不卡在线观看| 性一交一乱一交A片久久四色| 日韩三级一区| 欧美日韩一干二干| 天天干人妻视频| 神马久久久久久久| 视频黄色国产一级| 天天看片天天爽| 97久久天天综合色天天综合色电影| 欧美日韩亚洲少妇寂寞影院正在播放| 欧美激情视频在线一区| 亚洲综合网电影91| 亚洲999综合| 丰满人妻一区二区三区四区| 日韩色| 欧美国产日韩清纯唯美| 色情亚洲日本成人| 欧成人精品一区二区三区| 91欧美亚洲| 日韩ab网 | 国产夜夜操| 宅男91视频在线播放| 日本不卡二三区| 欧美日韩精品青青| 91精品久久久| 东北女人被操| 亚洲性天堂| 把腿张开老子CAO烂你| 人妻少妇精品一区二区三区| 东京热熟女亚洲视频网站| 怡红院久久老司机| 美国一区二区三区视频| 久久大香蕉手机高清视频| 中文字幕第23区| 麻豆成人影音在线| 激情五月综合网| 欧美日韩大陆黑人少妇99| 天堂无码精品国产久| 玖玖爱视频网站| 中文字幕一区二区三区50路| 大香蕉乱级| 欧美精品丝袜久久久中文字幕| 中文字幕在线观看网页| 久久亚洲一区女同性恋中文字幕| 亚熟hd视频在线| 成人久久久| 欧美一级做a爰片免费视频| 91久久午夜无码鲁丝片久久人妻| 亚洲天堂2020| 夜夜爽爽爽| 一区二区三区男人的天堂| 久久受www免费人成| 激情开心五月天| 一本大道久| 色牛牛AV| 久久久亚洲| 亚洲高潮少妇| 欧美AB在线| 另类小说五月天| 欧美高清16| 激情综合五月丁香| 激情色图| 大香蕉伊人网WWWn0n| 超碰色综合| 91neishe| www.亚洲黄色| 97精品久久久久中文字幕| 麻豆国产精品午夜视频| 九九九九精品一区| 日韩欧美字幕亚洲一区二区| 97国产|免费| 91色色色| 校园春色综合网| 人妻少妇久久久| 中欧人妻丝袜中文字幕| 欧美三级不卡| 91色人妻| 91精品女厕偷拍视频| 91日日夜夜| 区二区亚洲婷| 国产大学生高潮在线播放| 中出20p| 熟女突然公开看18禁影片| 综合免费无码中文| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 青青草成人视频在线观看二区 | 97在线观看视频| 欧美成va视频网站| 男人综合网| 欧美色图片91| 熟女字幕| 97色香蕉| 欧美日韩青操| 色999五月色| 国产无码精品成人| 1024手机看片欧美日韩| 二色av| 精品久| 国产成自自拍在线观看| 日韩中文字幕二区| 精品人妻一二三| 九九拍拍精品视频在线播放| 国产视频一区二区免费| 久操免费在线| 综合一区二区影视| 亚洲。日韩。欧美| 亚洲蜜臀懂色| 丁香五月天堂网| 精品九九| 国产精品粉嫩福利在线| 操九九九九九九| 亚洲黄色a级片| 91久久久亚洲| 蜜桃臀一区二区三区久久| 操人妻少妇中文| 免费少妇一区二区| 欧亚日韩中文在线| 嗯嗯啊啊的视频| 极品色社| 欧美性爱系列| AV和黑人在线播放| 夫妻天天操岛国视频| 97免费视频在线观看视频| 中文字幕高清20页视频| 综合色色网| 99在线免费公开视频| 美欧色综合| 9999久久久久| 60秒免费小视频| 97 亚洲 日韩 欧美 在线| 国产精品久久久鸭无码的功能| 色y情视频免费看| 久久丝袜| 天天综合~91| 99只有精品| 日韩在线女优天天干| 久久久久久AⅤ无码免费肉站| 成人精品久久久午夜福利| 东北老熟女| 久湿久久 | 手机看片1024你懂的国产| 不卡av免费在线网址| 男人综合网| 久久精品国产97欧美精品亚洲 | 精品午夜福利| 不卡视频一区蜜桃视频| 一本一道久久综合久久| 久久久96精品| 操淫穴亚洲五月丁香 | 欧美成不卡网| 精品射1999| 天天日老熟妇| 日韩在线76| 女人高潮大叫一级毛片| 97在线精品| 亚洲色欲天天人妻无码系列专区| 色欲日韩欧美在线一区| 国产激情片在线观看| 日韩乱伦影音先锋| 在线国产福利网址导航| 夜夜影视四色| 天天色播亚洲综合网站| 91国产精品在线看| 少妇蜜汁| 少妇500双飞99| 国产成人主播| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 91成人亚洲色图| 色婷婷日韩精品一区二区三区| 色97综合中文字幕| 综合欧美亚洲| 午夜小电影在线插入淫高潮| 国产AAAAAABBBBB| 眼镜人妻101.com| 夜夜操美女| 免费自拍三级综合| 日人妻视频91| 成人精品在线| 超碰亚洲欧美日韩无| 日本天天人人狠狠在线日美女| 夜夜操老骚逼视频网站| 久9久精品视频| 99re在线视频国产| 99re这里只有| 亚洲国产成人7777| A片 AV一级在线播放观看免费| 亚洲欧美日韩精品久| 日本99热| 超碰人妻中文在线| 人妻丝袜一区二区三区在线| 日本羞羞的视频在线播放| 啪啪啪东京| 热99这里只有精品| 啊啊啊不要啊啊受不了了视频在线| 久干网| 97久操| 亚欧色图在线激情| 欧亚性爱视频免费看| 大香交伊人网| 久久久18禁| BBBBB97COM| a片在线播放| 亚洲无码久久久久久久| 尻女朋友一夜| 操逼无毒无码免费视频| 天天看天天干| 婷色五月| 国产视频第2页| 97超碰超| 天堂种子在线www网资源| 久久国产精品一级二级三级| 9999亚洲精品| 3PAV乱伦视频| 97色色色| 欧美日韩妖精91com| 91无码西班牙视频在线| 免费精品福利在线观看| 99啪啪| 特污精品女优骚货黄色视频在线免费观看| 一级aaaaa欧美中文字幕录像片| 亚洲色综合| 大香蕉男人的天堂| 国产91影院| 超碰99在线观看| 天天摸天天舔天天操| 女色综合| 综合久久99| 影音资源男人日韩| 精品少妇人妻av久久免费| 日本高清电影欧美色图| 亚洲色欧| 性爱av在线免费观看| 区二区亚洲婷| 国产一区自拍欧美日韩| 蜜伊人色综合97| 99re视频在线播放青草| 精品性爱无码在线播放| 色五月激情AV在线| 亚洲精品无码成人久久久99| 亚洲熟女综合| 国产午夜精品理论片一二三区区| 亚洲 综合 欧美| 天天天干977| 蜜桃av综合网发布| 狠狠操狠狠燥| 亚洲综合大片| 国产亲戚伦亲在线| rivers-china.com| 丁香色五月 97干| 蜜桃网熟妇| 粉嫩绯色AV一区二区在线| 操曰本熟女| 九色精品视频导航1| 色盈盈影院| 岛国免费视频在线| 女人的天堂大香蕉网| 国产福利一区二| 亚洲中文字幕妇伦久久| 91精品国产91久久福利| 精品网站99999| 欧美日韩亚洲一区二区在线观看| 欧洲一区二区三区免费| 成年人黄色小视频网站| 欧美激情亚洲情色| 日本中文字幕在线电影| 不卡二三区人妻少妇| 丁香五月激情综合| 国产精品国产精品国产| 91色爽欧美| 久久久久人妻二区精品叶可怜| 蜜臀久久久国产| 午夜爽爽爽在线观看永久入口姬片| 国产青青美女玩逼视频| 国产一区二区三区影片| 91 丝袜在线播放| 图色综合网| 精品久久久久久中文字幕三区| 久久久禁| 色婷婷导航| 精品人妻一区二区三区四区不卡在| 久久久久久亚洲精品中文字幕人妻| 亚洲婷婷丁香在线| 亚洲欧美一区二区不卡视频播放| 日本日皮视频逼| 农村妇女精品一二区| 日日干夜夜骑| 丁香九月婷婷| 操逼精品视频| 日本高清有码网址视频| 精品对白久久不卡| 色天堂综合| 日本污ww视频网站| 欧美日韩黄片精品在线| 夜夜嗨一区二区三区三州加勒比 | 国产精品一区在线播放| 麻豆天美传媒在线视频天堂| 免费A V在线播放| 91老司机视频| 超碰日韩美妻| 国产美脚女优尤物在线观看| 在线v中文字幕一区二区三区| 日韩性色| 成人片视频| 人妻熟女一区在| 成 人片 黄色大片| 搡老女人老91妇女老熟女| 大香蕉欧美国产日韩高潮| 九九99久久| 999精品国产高清一区二区| 天天天堂影视日韩亚洲91| 人人爽天天爽| 曰韩成人免费视频| 欧美一区二区三区四区综合| 啊v在线观看视频| 欧美夜色| 少妇被玩视频二三区| 欧美网站免费| 中国少妇XXXX做受| 天天影视色香欲综合网小说| 91操熟女视频| 暴力av在线| 超碰97首页| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 中文字幕78| 91色艳| 黄片不用下载在线观看| 小视频玖玖| 超清福利精品视频在线| 中文字幕一二三| 国际精品久久久| 婷婷久草| 97精品在线| 99亚洲人人| 精品国产自在在线99| www.色婷婷.com| 国产精品久久久久久久久AV大片| 性爱视频无打码在线观看| 国产女同在线观看视频| 天天色图| 人妻色偷色噜| 视频国产成人精品日本亚洲18| 人妻丝袜一区二区三区在线| 激情欧美97| 一区二区三区看视频| 凹凸 69堂 在线播放| 久久↗↗| 啊啊啊骚| 91高潮| 国产精品熟女一区二区三区| 中文久久久| 欧美亚洲91| 蜜臀久久99精品久久久久久-DVD原版全| 九九热精品视频六| 一区二区三区麻豆| 日韩大香蕉| 无码不卡亚洲成?人片| 秋霞网无码| yw尤物av无码点击进入麻豆| 亚洲啪啪视频免费| 欧美老妇曰批的视频| 亚洲欧美中文一区二区三| 一区二区三区四区免费视频| 亚欧高清v| 精品久热| 蜜桃精品一区二区三区ww | 色婷婷激情| 欧美亚洲日韩人妻在线观看| 另类综合另类| 大香蕉伊在线久草麻豆天堂故事| 亚洲精品一卡二卡三卡福利视频网站 | 国产亚洲综合欧美一区| 国产精品女同| 成人十八禁日韩欧美一二三| 91亚洲狠狠色| 婷婷五月天激情四射| 大香蕉宗合网在线| 粉嫩国产精品久久久| 色老牛| 玖色av| 亚洲天堂欧美| 手机在线中文字幕国产| 激情四射五月天| 久草精品热视| 97超碰中文字幕| 午夜操一操| 国产精品亚洲天堂网址| 操91| 成人黄页| 老熟女91| 大伊香蕉在线视频免费| 男人天堂.AB| 欧美大干日韩| 亚洲AV麻豆Aⅴ无码电影一| 成人5码视频| 亚洲色图在线视频| 热热色国产一二区AV| 啊啊啊好想要| 凸凹视频在线观看| 精品无吗久久| 99re久久| 亚洲av淫乱| 91老熟女逼| 日韩欧美蜜桃精品久久中文字幕久久 | 日韩人妻精品中文字幕| 91亚洲欧美激情| 国产精品毛片?v一区二区三区| 婷婷亚洲天堂| 小草av不卡亚洲二区| 91天天| 黄网色一区二区三区四区精品| 97人亚洲综合字幕| 色图综合| 婷婷91| 亚洲日韩XXX| yaouchengrenav| 99久在线精品99re8热| 欧美日本天堂| 国产中出内射一区二区| 婷婷久久久| 欧美青青草视频| 九九九九热| 成人婷婷丁香| 亚洲素人综合| 韩国午夜理伦三级好看| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 影音先锋日本乱伦| 熟妇亚洲一区二区三区| juliaann丝袜| 丁香五月天视频| 97欧美色| 久久曰曰| 欧美色亚洲色| 人成午夜免费大片| 熟女高潮精品一区二区| 秋霞免费AV| 骚女高跟AV在线| 国产乱伦亚洲| 丁香婷婷激情五月天无毒不卡| 欧美综合网| 日韩性色b| 综合久久9| 亚洲影视综合网| 大香蕉欧美| 啊啊啊啊一区| 91这里只有精品| 伊人综合色网| 欧美组图日韩亚洲中文字幕| 久久人妻熟女一区二区| 五月丁香啪啪网| 亚洲毛片久久| 亚洲色图超碰在线| 一区二区三区美女超清| 欧美一区二区在线资源| 欧美人人曰人人操人人射射| 色诱avtt| 亚洲美女自拍偷拍视频| 国产久9| 超碰在线看| 中文字幕人乱码中文字的预防方法 | 亚洲色天堂九9| 久久精品国产免费观看99| 丁香婷婷九月| 内射白嫩美女| 无码男人天堂| 欧美日韩久久精品爱爱| 欧美v亚洲v综合v国产v妖精| 国产精品久久久久无码A√| 日本肏逼视频在线观看| 69超碰综合| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 好爽视频在线观看视频 | 精品熟女一区=区三区| 日欧毛片久久| 蜜臀久久99精品久久久久久无删减 | 亚州高清色综合| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 亚洲欧美不卡线| 性爱乱伦网址| 日本啊啊啊啊啊视频| 精品人妻一区二区三区免费视频| 我要去看2个日本美女.com曹逼| 不卡中文字幕aⅴ在线| 97干在线| 欧美另类天堂| 3d成人精品一区二区| 91暧暧| 亚洲牲交| 久久精品人体| 一区二区三区不卡视频| 欧美精品自慰系列寂寞少妇 | 九九拍拍精品视频在线播放 | 五月丁香综合| 啊啊啊啊免费视频| 人人透人人操| 精品9999| 国产高清MV操逼视频| 欧美曰韩国产精品| 最近2018中文字幕在线高清第一页| 91丨九色丨熟女高潮| 美女黄色91| 成人在线日韩| 超碰在线一区| 91天天综合网,天天综合网| …中文字幕亚洲乱,97人妻无码费视… | jazzjazz国产精品麻豆| 久久久久无码| 国产精品久久久久久久AV大片 | 国产无马在线| 久噜噜| 日韩一级特黄av毛片| 日本性一区| 激情视频网址| 精品国产Av无码久久久亚洲| 日本三级人妻a人妻一在线| 国产精品不卡一区二区三区av| 97综合在线观看| 思思热免费在线视频| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲无992tv| 欧美韩国你懂得在线 | 91在线精品| 亚洲牲交| 久久久久人| 伊人色综合网电影| 久艹伊人精品综合在线| 人妻色偷色噜| 人妻激情视频| 好爽要喷了| 亚洲91网| 欧美综合亚洲综合| 日韩精品-原创伙伴| 天堂v无码免费视频| 亚州春色| 国产精品丝袜久久亚洲不卡| 日本色色色| 综合网亚洲| 日韩在线观看中文字幕视频| 天天噜| 日本熟妇一区二区三区| ,成人免费啪啪视频| 久久久久婷婷精品av电影| 99视频在线| 中文字幕人妻资源在线| 使劲用力艹少妇视频一区二区| 亚洲无码一区二区三区三州| 欧美片第一页| 蜜桃AV天堂| 中文字幕乱码人妻一区二区三区,99精品| 国产亚洲精品无码三区| 91人人操| 亚洲天堂电影网99999| 99热精品青草在线| www狠狠| 亚洲一欧洲中文字幕在线 | 午夜黄色免费在线观看| 日B操| 亚洲高清欧美总合| 老女人91| 日韩精品9999| 暖暖精品二区三区观看| 99爱精品| 91男女啊啊啊| 熟女在线视频| 91一区二区| 久热9| 豆1无夜无码| 91精品成人| 欧美黑人与女人91~| 内射白嫩美女| 天天肏美女| 超碰公开久久网| 久久久久久午夜男人的天堂| 开心五月天激情网| 九九热九九热| 蜜臀99999| 九九热在线精品视频| 青青草原综合久久大伊人精品| 国产原创自拍| 精品人妻1237| 天天干2019| 国产suv精品一区二区四| 91久久久久免| 欧美成人一区二区| 久区视频| 69XX一中文字幕人妻91| 超碰久久中文| 99热只有| 大吊色| KK色在线影院| 女人久久久| 日韩无码三级影院| 丁香九月激情| 久久亚洲人妻| 精品欧美乱码久| 精品无码久久久久久久杏吧| 欧美一区二区三区入口| 婷婷五月天成人| 91美女在线视频| 综合自拍| 国产精品无码av嫩草| 日本女人操逼| 性色国产东北露脸精品视频| 人妻少妇无码| 99精品视频在线观看免费| 午夜丁香| 99热国产精品| 国产女性无套 免费观看| 97免费在线视频在线观看| 蜜臀在线看片| 精品一区二区成人| 超碰久久性爱| 日本一二区不卡| 国产精品蜜乳AV| 久久久国产精品人妻丝袜| 超碰99re| 95精品在线| 91老司机视频| 香蕉综合网| 99re这里只有精品2| 在线观看AV片| 精品女同一区二区三区| 亚洲天堂中文字| 人妻精品综合中文字幕在线| 射综合网| 国产大片精久久久久久| 操逼操2| 欧美丝袜激情| 九九热久久99精品re| 久久精品视频在线观看| 精品国产91av一区二区三区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲精品天堂久久A∨51成人漫| 日本一区二区三区精品| 欧美gv在线观看| 人人操人人精品影片| 九九人人操| 五十路熟女人妻一区二区三区四区五| 天天综合91在线| 欧美色就是色| av中文字幕在线熟女| 男女性扦B| 国产超碰人人操| 亚洲欧美天堂| 欧美色图人妻| 人人操AV| 欧美日韩大黄片| 亚洲熟妇白浆无码AV| 91麻豆va国产精品| 国产多人在线观看视频| 91欧美少妇| 亚洲永久永久永久永久一级一级一级精品 | 欧美传媒| av影院十区| 人妻美腿丝袜制服诱惑综合天堂-| 老司机午夜精品视频| 91人妻久久久久久久久久久久久| 防屏蔽在线视频| 久久精品国产亚洲AV高清演员表| 人妻少妇精品无码专区二区密桃| 亚洲精品久| 婷婷视频网| 91成人精品在线播放| 老司机午夜精品视频| 亚洲精品黄码久久久久| 9999亚洲电影| 久久这里精品国产99丫e6| 一区在线国产播放| 很黄很色的视频在线观看| 成人国产视频在线观看| 久久久久女教师免费一区| 美女毛片999| 啊啊啊啊啊在线视频| 九九热免费国产视频婷婷伊人五月| 亚洲最大网站av| 日本Xx性爱| 国产午夜无码片在线观看影视| 欧美第五页| 国产九区| 男生女生啊啊啊啊| 中文久久一区| 久久精品一区| 亚洲日韩青青草色月| 高潮内射在线| 97 亚洲 日韩 欧美 在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 18禁免费视频| 国产一区自拍欧美日韩 | 久久一区,青青青青草视频在线播放| 丁香五月天婷婷姐| 亚洲熟妇无码一区二区三区| 久久久久久久久久黄色网| 日韩精品三级片长长久久| 久久人妻一区二区三区高清| 色97国产69香蕉| 9 1果冻精品视频| 熟妇熟女一区二区三区| 国产精品视频麻豆入口| 操逼www.| 国产超碰AV在线精品| 久久欲| 在线精品福利免费播放| 1024日韩| 最新精品久久蜜桃 | 色五月综合| 国产日韩精品一区二区三区| 屌妞视频久久久久久久| 色眯眯av| 在线观看不卡一区二区三区| 女人午夜视频777| 欧美色66| 日韩综合97p| 国产强奸91| 久久天堂婷婷网| 黄色小说亚洲| 友优传媒精品在线一区二区| 久久黄色性爱视频| 国产精品一区人妻精品阁在线| 欧美第二页午夜| 欧美日韩国产成人高清| 亚洲 日韩 欧美 国产综合体| 99抽插| 爱妃国产亚洲视频中文字幕| 手机看片1025| 97超碰免费生活| 国产亚洲深夜激情| 爱干爱射网啊啊啊| www.男人的天堂| 国产精品视频白浆免费| 亚洲精品天天影视综合网 | 97超碰总站| 中文精品一区二去| 久久久久78| 在线观看无码三级少妇| 香一区二区三区| 国产精品欧美日韩久久| 熟女丰满人妻一区| 78精品| 久久98| 色爱亚洲| 91N欧美| TS人妖另类精品视频系列| 中文字幕在线观看丝袜| 夜夜高潮夜夜爽夜夜爱爱一区 | 中文字幕精品一区二区精| 超碰97在线中文| 高清国产av无码| 亚洲色宗合| 亚洲大色堂| 国产精品久久久久中文字幕| 999熟女精品| 天天色综合图片| 91少妇人妻| 中国黑人三级片网站上区| 亚洲欧美日韩精品久久久一区二区| 亚洲熟妇AV日韩熟妇在线| 色婷婷五月天| 亚洲色图欧美色图日韩色图| 久久精品超碰| 美日韩在线不卡人妻| 久热超碰| 国产成人无码啪| 亚洲国产精品无码AV久久| 亚洲男人的天堂网| 精品区9| 国产女人与拘做受视频免费| 日韩射精| 日本最新免费韩国1区2区视频播放| 日韩精品黄片免费观看| 国产老太乱伦一区| 伊人96在线| 国产盗摄美女如厕大神作品在线观看| 无套内射性感少妇视频| 欧美人妻久久精品二区三区| 国产精品人妻免费精品| 青青草原成人| 久草精品视频| 欧美72网页| 男人天堂站| 亚洲AV免费在线观看| 五月丁香六月激情综合| 国产精品99久久久www| 国产无码高清操逼视频| 午夜性刺激视频免费观看| 国产97色在线 | 亚洲| 天天热精品| 亚洲色图综合网| 嗯嗯啊啊好大好爽| 精品无码久久久久| 久久m| 国产精品动态一区二区三区四四| 性爱AV天堂| 久久久96精品| 精品丰满熟妇人妻一区| 超碰97男女| 亚洲欧洲av影音| 成人精品久久久午夜福利| 日韩欧美大片免费高清啪啪| 成·人免费午夜在线观看| 国产白丝av| 蜜臀一区二区三区在线| 乱伦一二三区| 夂久色| 九九九九88| 精品九九九九九九九| 91欧美性| 97干97色| 色色色色日本| 3p国产欧美99热| 操我啊啊啊啊啊| 超碰97最新人妻| 四虎影视国产精品| 啪啪视频免费在线观看| 眼镜人妻101.com| 十八禁的黄污污免费网站| 日韩欧美字幕亚洲一区二区| 午夜男人一级A片7777| 色欧美天天| 91强在线播放| 久久久久国产精品久久久| 淫荡少妇免费| 国模一区二区三区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 九九这里只有精品| 老熟女91av| 伊人在线大香蕉视频久久| AVE乱伦| 日亚韩精品视频二区三| 亚洲老熟妇xxx| 欧美色图人妻| 亚洲无无码αⅴ每日更新| 五月婷婷激情| 在线洲亚线| 久久久久久久国产a∨| 激情亚洲天堂| 高清国产精品福利网站| 国产乱伦性爱AV| 爱丝福利| 欧美亚洲尤物久久| 色网在线| 丰满人妻无码一区二区三区| 国产夜夜艹| 青娱乐休闲视频在线观看| 夂久色| 亚洲综合首页| 久久久艹艹艹| 亚洲日韩天堂| 日日日啊啊啊| 蜜臀无码视频在线观看| 欧美亚洲激情小说| 久久AV无码AV| 人妻精品综合中文字幕在线 | 亚洲欧美情色| 蜜桃传媒一区二区亚洲| 亚洲成a人v欧美综合天堂下载| 成人五月香网在线| 久久精品国产AV一区二区三区| 四虎视频在线观看| 青娱乐国产精品| 狼人狠干| 精品美女在线视频| 天天日B夜夜干B时时操B| 青青操视频在线| 国产精品老师| 免费福利视频中文字幕| 人妻 制服 日韩 中文 在线| 国产AV激情无码久久无码| 加勒比AV天堂| 婷婷五月花| 久热影视| 人妻精品一区二区| 老女人碰碰在线碰碰视频| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 夜夜欧美 | 国产欧美日韩女同性恋ww喷水精品 | 在线视频五十市| 色婷婷小说| 一区二区三区视频国产免费| 亚洲人精品久久久| 欧美 亚洲 另类 综合| 亚洲五月婷婷| 亚洲av综合色区无码一| 亚洲中字幕日本一区二区三区| 后入福利| 国产成人天堂| 久久国产精品一级二级三级| 日韩AC| 无码精品久久久天天影视| 欧美色亚洲| 欧美黑人与女人91| 男女性扦B| 日日做夜狠狠爱欧美黑人| 日韩在线76| 996热| 色99视频| 99热精品在线| 综合色99| 三级三级三级日本99| 欧洲熟妇xxXx欧美老妇裸体 | 青青草伊人久久| 大香蕉在线86| 欧美日韩淫加| 中文字幕老熟妇黄色视频| 色99视频| 久久久人妻| 91精品电影18| 麻豆久久久久久久久丝袜| 91女人的网站| 超碰在线97国产| 9 1超碰九色| 欧美在线天堂| 国产在线强奸视频| 国产野战露脸在线播放| 欧美系列在线一区二区| 成人三级片无码| 国产精品亚洲天堂网址| 国产一区二区啪啪视频| 99色在线视频| 在线天堂999| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 国产乱码精品久久久久久| 欧美A√综合网| 91精品在线播放| 国产精品久久妻无码网站| 国产无马在线| 激情综合五月婷婷| 久久久久久久久久久久久久久乱码| 精品美女久久一二三| 94色色电影网| 亚洲人妻在线一区| 五月丁香激情综合| 2026国产精品视频| 国产9l 大屁股| 91成人久久| 热天堂一区二区| 亚洲黄色| 大香蕉免费乱伦视频| 波多野结衣AV无码一区| 日本一级性爱| 99热99re6国产在线播放| 美女诱惑一区| 99精品国产户外露出| A V少妇特黄三级| 日韩熟女视频二区| 激情网色| 屌妞视频久久久久久久| 国产农村妇女精品| 久热九九| 欧美中文综合| 国产网站在线播放| 天天插夜夜爽| 九七色图| 国内精品999| 69视频入口| 女同性恋一区二区三区精品视频| 久久超碰网| 96AV精品| AA级电影三区| 久久超碰大香蕉| 日韩一级成人毛片免费观看| 国产吹潮女在线观看| 综合自拍| 九九热九九| 99综合自拍| 国产精品欧美日韩久久| 999久久久久久久久| 立川理惠无码一区二区| 久草这里只有精品 | 中日韩久久久| 日韩中文字幕精品一二三事国产精品| 国产99久久99热这里只有精品15 | 日韩丰满熟妇| 免费视频观看60秒| 中文字幕加勒比海高清无码免费视频| 玖玖爱在线视频免费观看| 久久爱超碰网| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 中文字幕高清20页视频| 婷婷涩嫩草鲁丝久久午夜精品| 91欧美美女日韩国产婷婷| 一区二区三区精品视频| 久久9久| 日韩9999| 欧美天堂日韩三级国产传媒| 亚洲最大无码中文字幕网站| 欧美加勒比| 国产精品一区在线播放| 色天使大香蕉| 噜噜噜狠狠色综合| 亚洲一区二区久久久久| 人妻久久| 亚洲自拍小说| 97精品视频网站| 亚洲熟女乱色| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 亚洲欧美大| 精品中文字幕第一页| 成年人网站在线免费观看| 在线播放欧洲免费av| 98精品国产乱码久久久久久| 五月丁香综合| 99婷婷| 色婷婷视频| 午夜男女爽爽爽在线视频| 欧美国产精品| 国产三级多多影院2022国产AA一级毛片无码 | 99久久久久久亚洲精品不卡| 国产精品白领在线观看| 天天伊人| 秋霞怕怕片| 一本大道不卡一二三区| 澳门黄片一香蕉视频| 国产绿奴视频在线观看| 欧美日韩亚洲一区二区在线观看| 精品免费视频国产一区| 东京热男人的天堂| 无遮挡一级毛片视频免费的| 在线欧美69V免费观看视频| 老熟妇乱轮| 密乳AV免费观看| 精品v日韩欧美国产| 91动漫操逼视频| 激情久久av一区av二区av| 天天爱天天韩国日本牛牛牛牛|