day1--項目搭建and內容管理模塊

1. 項目搭建

1.1 創建父工程

1.1.1 創建xuecheng-plus-project工程

1.1.2 導入依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.5.3</version><relativePath/> <!-- lookup parent from repository --></parent><packaging>pom</packaging><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-parent</artifactId><version>0.0.1-SNAPSHOT</version><name>xuecheng-plus-parent</name><description>xuecheng-plus-parent</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.1</version></dependency><!-- JWT依賴 --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.12.3</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><!--    redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><!--    mysql--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency><!--    druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-3-starter</artifactId><version>1.2.23</version></dependency><!--    lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--    mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.7</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

1.1.3 創建Base工程

1.1.4 導入依賴

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-parent</artifactId><version>0.0.1-SNAPSHOT</version>
<!--        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;--><relativePath>../xuecheng-plus-parent</relativePath></parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-base</artifactId><version>0.0.1-SNAPSHOT</version><name>xuecheng-plus-base</name><description>xuecheng-plus-base</description><url/><licenses><license/></licenses><developers><developer/></developers><scm><connection/><developerConnection/><tag/><url/></scm><properties><java.version>17</java.version></properties>
<!--    <dependencies>-->
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter</artifactId>-->
<!--        </dependency>--><!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-test</artifactId>-->
<!--            <scope>test</scope>-->
<!--        </dependency>-->
<!--    </dependencies>--><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><!-- fastJson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.76</version></dependency><!-- servlet Api 依賴 -->
<!--        <dependency>-->
<!--            <groupId>javax.servlet</groupId>-->
<!--            <artifactId>javax.servlet-api</artifactId>-->
<!--            <scope>provided</scope>-->
<!--        </dependency>--><!-- 通用組件 --><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId></dependency><dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.11</version></dependency><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId></dependency>
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-validation</artifactId>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-log4j2</artifactId>-->
<!--        </dependency>-->
<!--        &lt;!&ndash;根據擴展名取mimetype&ndash;&gt;-->
<!--        <dependency>-->
<!--            <groupId>com.j256.simplemagic</groupId>-->
<!--            <artifactId>simplemagic</artifactId>-->
<!--            <version>1.17</version>-->
<!--        </dependency>--><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency>
<!--        <dependency>-->
<!--            <groupId>com.google.zxing</groupId>-->
<!--            <artifactId>core</artifactId>-->
<!--            <version>3.3.3</version>-->
<!--        </dependency>--><!--        <dependency>-->
<!--            <groupId>com.google.zxing</groupId>-->
<!--            <artifactId>javase</artifactId>-->
<!--            <version>3.3.3</version>-->
<!--        </dependency>--><dependency><groupId>com.fasterxml.jackson.module</groupId><artifactId>jackson-module-parameter-names</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.4</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-jdk8</artifactId></dependency><dependency><groupId>com.fasterxml.jackson.datatype</groupId><artifactId>jackson-datatype-jsr310</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-autoconfigure</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

1.1.5 創建連接數據庫

? ? ? ? 使用Navicat使用192.168.101.65連接數據庫,

2. 內容管理模塊

2.1 需求分析

2.1.1 介紹

????????內容管理系統(content management system,CMS),是一種位于WEB前端(Web 服務器)和后端辦公系統或流程(內容創作、編輯)之間的軟件系統。內容的創作人員、編輯人員、發布人員使用內容管理系統來提交、修改、審批、發布內容。這里指的“內容”可能包括文件、表格、圖片、數據庫中的數據甚至視頻等一切你想要發布到Internet、Intranet以及Extranet網站的信息。

????????本項目作為一個大型的在線教育平臺,其內容管理模塊主要對課程及相關內容進行管理,包括:課程的基本信息、課程圖片、課程師資信息、課程的授課計劃、課程視頻、課程文檔等內容的管理。

2.1.2 業務流程

課程查詢的業務流程如下:

1、教學機構人員點擊課程管理首先進入課程查詢界面,如下:

2.在課程進行列表查詢頁面輸入查詢條件查詢課程信息

當不輸入查詢條件時輸入全部課程信息。

輸入查詢條件查詢符合條件的課程信息。

約束:本教學機構查詢本機構的課程信息。

整個流程分為前端、接口層、業務層三部分。

所以模塊工程的結構如下圖所示

  • xuecheng-plus-content-api:接口工程,為前端提供接口。
  • xuecheng-plus-content-service: 業務工程,為接口工程提供業務支撐。在這個模塊進行業務開發
  • xuecheng-plus-content-model: 數據模型工程,存儲數據模型類、數據傳輸類型等

????????xuecheng-plus-content:內容管理模塊工程,負責聚合xuecheng-plus-content-api、xuecheng-plus-content-service、xuecheng-plus-content-model。

2.1.3 數據模型

下邊從查詢條件、查詢列表兩個方面分析數據模型

  • 查詢條件:

包括:課程名稱、課程審核狀態、課程發布狀態

課程名稱:可以模糊搜索

課程審核狀態:未提交、已提交、審核通過、審核未通過

課程發布狀態:未發布、已發布、已下線

因為是分頁查詢所以查詢條件中還要包括當前頁碼、每頁顯示記錄數。

  • 查詢結果:

查詢結果中包括:課程id、課程名稱、任務數、創建時間、是否付費、審核狀態、類型,操作

任務數:該課程所包含的課程計劃數,即課程章節數。

是否付費:課程包括免費、收費兩種。

????????類型:錄播、直播

因為是分頁查詢所以查詢結果中還要包括總記錄數、當前頁、每頁顯示記錄數。

2.2 代碼開發

2.2.1 創建工程

1)創建xuecheng-plus-content工程

? ? ? ? pom文件👇

? ? ? ? 需要掃描同級xuecheng-plus-parent工程模塊的依賴,所以需要<relativePath>../xuecheng-plus-parent</relativePath>

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-parent</artifactId><version>0.0.1-SNAPSHOT</version><relativePath>../xuecheng-plus-parent</relativePath><!--        <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;--></parent><!--    聚合管理子模塊     --><modules><module>xuecheng-plus-content-api</module><module>xuecheng-plus-content-service</module><module>xuecheng-plus-content-model</module></modules>
<!--    打包方式    --><packaging>pom</packaging><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content</artifactId><version>0.0.1-SNAPSHOT</version><name>xuecheng-plus-content</name><description>xuecheng-plus-content</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

2)在xuecheng-plus-content下創建xuecheng-plus-content-model數據模型工程

? ? ? ? pom文件👇

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion>
<!--  父工程為xuecheng-plus-content工程  --><parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content</artifactId><version>0.0.1-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content-model</artifactId><version>0.0.1-SNAPSHOT</version><name>xuecheng-plus-content-model</name><description>xuecheng-plus-content-model</description><properties><java.version>17</java.version></properties>
<!--  本工程依賴Base基礎工程  --><dependencies><dependency><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-base</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

3)在xuecheng-plus-content下創建xuecheng-plus-content-service接口實現工程

????????pom文件👇

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content</artifactId><version>0.0.1-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content-service</artifactId><version>0.0.1-SNAPSHOT</version><name>xuecheng-plus-content-service</name><description>xuecheng-plus-content-service</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content-model</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

4)在xuecheng-plus-content下創建xuecheng-plus-content-api接口工程。

????????xuecheng-plus-content-api接口工程的父工程是xuecheng-plus-content,它依賴了xuecheng-plus-base基礎工程

????????pom文件👇?

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content</artifactId><version>0.0.1-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content-api</artifactId><version>0.0.1-SNAPSHOT</version><name>xuecheng-plus-content-api</name><description>xuecheng-plus-content-api</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content-service</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

? ? ? ? 四個工程模塊如下:

2.2.2 生成po類實體類

2.2.3 接口設計

? ? ? ? 接口設計例子入下:

POST /content/course/list?pageNo=2&pageSize=1
Content-Type: application/json{"auditStatus": "202002","courseName": "","publishStatus":""
}
###成功響應結果
{"items": [{"id": 26,"companyId": 1232141425,"companyName": null,"name": "spring cloud實戰","users": "所有人","tags": null,"mt": "1-3","mtName": null,"st": "1-3-2","stName": null,"grade": "200003","teachmode": "201001","description": "本課程主要從四個章節進行講解: 1.微服務架構入門 2.spring cloud 基礎入門 3.實戰Spring Boot 4.注冊中心eureka。","pic": "https://cdn.educba.com/academy/wp-content/uploads/2018/08/Spring-BOOT-Interview-questions.jpg","createDate": "2019-09-04 09:56:19","changeDate": "2021-12-26 22:10:38","createPeople": null,"changePeople": null,"auditStatus": "202002","auditMind": null,"auditNums": 0,"auditDate": null,"auditPeople": null,"status": 1,"coursePubId": null,"coursePubDate": null}],"counts": 23,"page": 2,"pageSize": 1
}
  • ?定義分頁查詢封裝實體類

????????由于分頁查詢這一類的接口在項目較多,這里針對分頁查詢的參數(當前頁碼、每頁顯示記錄數)單獨在xuecheng-plus-base基礎工程中定義。

package com.xuecheng.base.model;import lombok.Data;/*** @author Mr.M* @version 1.0* @description 分頁參數* @date 2022/9/6 11:05*/
@Data
public class PageParams {//    當前頁private Long pageNo = 1L;//    每頁顯示的條數private Long pageSize = 30L;}
  • ?定義前端發送給后端的請求封裝實體類

package com.xuecheng.content.model.dto;import lombok.Data;/*** @author Mr.M* @version 1.0* @description 課程查詢參數* @date 2023/2/12 9:05*/
@Data
public class QueryCourseParamsDto {//審核狀態private String auditStatus;//課程名稱private String courseName;//發布狀態private String publishStatus;}

  • 定義封裝后端響應給前端的數據的實體類

package com.xuecheng.base.model;import lombok.Data;import java.io.Serializable;
import java.util.List;/*** @description 翻頁查詢結果*/
@Data
public class PageResult<T> implements Serializable {// 數據列表private List<T> items;//總記錄數private long counts;//當前頁碼private long page;//每頁記錄數private long pageSize;
}
  • 在api工程添加依賴
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content</artifactId><version>0.0.1-SNAPSHOT</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content-api</artifactId><version>0.0.1-SNAPSHOT</version><name>xuecheng-plus-content-api</name><description>xuecheng-plus-content-api</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>com.xuecheng</groupId><artifactId>xuecheng-plus-content-service</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>io.swagger.core.v3</groupId><artifactId>swagger-annotations</artifactId><version>2.1.2</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j</artifactId>
<!--            <version>2.17.2</version>--></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

2.2.4 定義接口

1)在api工程中定義controller方法
package com.xuecheng.content.api;import com.xuecheng.base.model.PageParams;
import com.xuecheng.base.model.PageResult;
import com.xuecheng.content.model.dto.QueryCourseParamsDto;
import com.xuecheng.content.model.po.CourseBase;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 課程信息接口*/
@RestController
public class CourseBaseInfoController {/*** 課程查詢接口* @param pageParams 分頁參數* @param queryCourseParamsDto 查詢條件* @return 課程列表*/@RequestMapping("/course/list")public PageResult<CourseBase> list(PageParams pageParams, QueryCourseParamsDto queryCourseParamsDto){return null;}
}
2)在content工程下創建ContentApplication啟動類?
    package com.xuecheng.content;import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @author Mr.M* @version 1.0* @description 內容管理服務啟動類* @date 2023/2/12 8:09*/
    @SpringBootApplication
    public class ContentApplication {public static void main(String[] args) {SpringApplication.run(ContentApplication.class, args);}
    }
    
    3)添加配置文件
    # application.yml
    server:port: 63040servlet:context-path: /contentspring:application:name: content-apidatasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.101.65:3306/xcplus_content?serverTimezone=UTC&useUnicode=true&useSSL=falseusername: rootpassword: mysql
    

    問題:解決bootstrap.yml沒有小樹葉的問題

    解決:?

    ? ? ? ??DTO數據傳輸對象、PO持久化對象,DTO用于接口層前端向業務層后端之間傳輸數據,PO數據庫表的實體類對象用于業務層與持久層之間傳輸數據,有些項目還會設置VO對象,VO對象用在前端與接口層之間傳輸數據

    本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
    如若轉載,請注明出處:http://www.pswp.cn/news/913858.shtml
    繁體地址,請注明出處:http://hk.pswp.cn/news/913858.shtml
    英文地址,請注明出處:http://en.pswp.cn/news/913858.shtml

    如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

    相關文章

    騰訊云錄音文件快速識別實戰教程

    文章目錄前言接口簡介前置條件實戰添加 Maven 依賴核心代碼示例參數說明個人簡介前言 本文介紹如何基于騰訊云語音識別 快速識別接口&#xff0c;實現通過 HTTPS POST 方式上傳音頻并快速識別同步返回識別結果的實戰流程。 接口簡介 騰訊云語音識別 快速識別接口 支持上傳音…

    .NET Framework 安裝失敗及異常情況 常用處理方法

    在使用.NET Framework 的過程中&#xff0c;安裝失敗或出現異常是比較常見的問題。這些問題可能由系統環境、文件損壞、權限不足等多種原因引起。以下是一些常見的安裝失敗及異常情況&#xff0c;以及對應的處理方法&#xff1a; 首先&#xff0c;下載.net framework 3.5文件。…

    ?AI賦能的自動駕駛革命:從安全架構到世界模型的系統性突破

    ?在計算機視覺與機器人技術的交匯處&#xff0c;自動駕駛正經歷著從模塊化設計向端到端AI系統的范式轉移。NVIDIA作為這場變革的核心推動者&#xff0c;其DRIVE平臺展現出的技術整合深度令人驚嘆——從芯片級的能效優化到城市級數字孿生仿真&#xff0c;構建起覆蓋"AI訓練…

    ACL協議:核心概念與配置要點解析

    ACL協議 在H3C網絡設備&#xff08;交換機、路由器、防火墻等&#xff09;中&#xff0c;ACL&#xff08;Access Control List&#xff0c;訪問控制列表&#xff09; 是一個核心的流量過濾和控制機制。核心目的&#xff1a; 流量過濾&#xff1a;控制哪些流量可以通過接口&…

    文件追加模式:編寫一個程序,向一個已存在的文件末尾追加內容。

    知識點文件打開模式"r"&#xff1a;只讀&#xff1b;文件須存在。"w"&#xff1a;寫入&#xff1b;清空或新建。"a"&#xff1a;追加&#xff1b;文件末尾寫入。"a"&#xff1a;讀/寫追加。追加&#xff08;Append&#xff09;機制&qu…

    OneCode框架事件基礎模型架構深度剖析與代碼實現

    一、整體架構概覽 作為OneCode框架的事件核心模塊&#xff0c;構建了一套跨瀏覽器、多終端兼容的事件驅動架構。該架構采用分層設計思想&#xff0c;從底層事件捕獲到高層事件模擬&#xff0c;形成了完整的事件生命周期管理體系。整體架構可分為五個核心層次&#xff1a;事件捕…

    Spring for Apache Pulsar->Reactive Support->Message Production

    好消息&#xff1a;Spring for Apache Pulsar這兩天剛剛升到2.0.0版本1. ReactivePulsarTemplate在Pulsar生產者端&#xff0c;Spring Boot自動配置提供了一個ReactivePulsarTemplate用于發布記錄。該模板實現了一個名為ReactivePulse Operations的接口&#xff0c;并提供了通過…

    AtCoder Beginner Contest 413

    比賽鏈接如下&#xff1a;Denso Create Programming Contest 2025&#xff08;AtCoder Beginner Contest 413&#xff09; - AtCoder A - Content Too Large Problem Statement Takahashi has N items and one bag. The size of the i-th (1≤i≤N) item is Ai?, and the si…

    Java學習---JVM(1)

    JVM&#xff0c;即Java虛擬機&#xff0c;其是Java程序的運行環境&#xff0c;是Java技術的核心組成部分&#xff0c;本次就JVM的自動內存管理詳細展開&#xff1a;JVM的內存區域分為2大類&#xff0c;即線程私有的和線程共享的&#xff0c;前者分為3大塊&#xff0c;虛擬機棧、…

    Qt去噪面板搭建

    建立單選互斥性面板用于選擇噪聲屬性// 創建去噪面板 QWidget* noisePanel new QWidget(); QVBoxLayout* mainLayout new QVBoxLayout(noisePanel); mainLayout->setContentsMargins(10, 10, 10, 10); mainLayout->setSpacing(15);// 去噪方法選擇組QGroupBox* methodG…

    無需公網IP的文件交互:FileCodeBox容器化部署技術解析

    文章目錄 前言1.Docker部署2.簡單使用演示3. 安裝cpolar內網穿透4. 配置公網地址5. 配置固定公網地址 前言 在數字化辦公需求日益增長的今天&#xff0c;文件傳輸已成為職場協作的高頻剛需。傳統共享方式卻飽受詬病&#xff1a;"需要安裝哪些臃腫客戶端&#xff1f;免費版…

    1. http 有哪些版本,你是用的哪個版本,怎么查看

    http 有哪些版本&#xff0c;你是用的哪個版本&#xff0c;怎么查看 總結&#xff1a;http 版本有 0.9/1.0/1.1/2.0/3.0&#xff0c;我們常用的是 1.1 和 2.0&#xff0c;使用 window.chrome.loadTimes() 獲取 http 版本。 常見的 HTTP 版本 HTTP/0.9&#xff1a;最初的版本&am…

    C# IIncrementalGenerator干點啥

    生成器項目 得基于.Net Stander 2.0 重要&#xff1a;<IsRoslynComponent>true</IsRoslynComponent>、<IncludeBuildOutput>false</IncludeBuildOutput>、 <PackageReference Include"Microsoft.CodeAnalysis" Version"4.14.0&q…

    在徐州網絡中服務器租用與托管的優勢

    一、高性價比&#xff1a;徐州萬恒提供多種配置的服務器供租用&#xff0c;滿足不同企業和個人的業務需求&#xff0c;無論是初創企業追求低成本高效能&#xff0c;還是對性能有嚴苛要求的大型項目&#xff0c;都能找到合適的服務器型號&#xff0c;以極具競爭力的價格獲取強大…

    學習軟件測試的第十四天(移動端)

    一.常用的abd命令有哪些1.什么是 ADB&#xff1f;通俗解釋&#xff1a; ADB 就像一個橋梁&#xff0c;讓電腦能控制連接的手機&#xff0c;比如安裝APP、抓日志、重啟設備等。專業術語總結&#xff1a; ADB&#xff08;Android Debug Bridge&#xff09;是 Android SDK 提供的命…

    04-ES6

    let和const命令ES6中新增了let命令&#xff0c;用來聲明變量&#xff0c;用法類似與varlet和var的不同&#xff1a;1、不存在變量提升 console.log(a); //Cannot access a before initializationlet a 100;2、同一個作用域不能重復定義同一個名稱var c 20;let c 30;c…

    基于GeographicLib實現測站地平坐標系(東北天)轉地心固定坐標系XYZ

    一、概述主要內容&#xff1a;本文基于GeographicLib開源庫&#xff0c;實現了一個地理空間坐標轉換功能&#xff0c;主要用于根據觀測站的位置和目標的相對方位信息&#xff0c;計算目標在地球坐標系中的絕對位置。輸入&#xff1a;觀測站的經緯度坐標(緯度、經度、海拔高度)和…

    若依框架去掉Redis

    這篇文章全是按照我的實戰操作來的&#xff0c;本文一是記錄一下這個過程&#xff0c;二是幫助更多的人少走彎路。 接下來我們看實戰&#xff1a;第一步毋庸置疑&#xff0c;就是找到配置文件application.yml里面大redis配置部分&#xff0c;直接注釋掉 注意這里的data:這是否注…

    【會員專享數據】2013-2024年我國省市縣三級逐日SO?數值數據(Shp/Excel格式)

    之前我們分享過2013-2024年全國范圍逐日SO?柵格數據&#xff08;可查看之前的文章獲悉詳情&#xff09;!該數據來源于韋晶博士、李占清教授團隊發布在國家青藏高原科學數據中心網站上的中國高分辨率高質量近地表空氣污染物數據集。很多小伙伴拿到數據后反饋柵格數據不太方便使…

    TCP SYN、UDP、ICMP之DOS攻擊

    一、實驗背景 Dos攻擊是指故意的攻擊網絡協議實現的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源&#xff0c;目的是讓目標計算機或網絡無法提供正常的服務或資源訪問&#xff0c;使目標系統服務系統停止響應甚至崩潰。 二、實驗設備 1.一臺靶機Windows主機 2.增加一個網…