工程结构

父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 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.woodare.tsp</groupId><artifactId>tsp</artifactId><version>3.5.0</version><name>tsp cloud</name><url>https://www.stationdm.com</url><description>telematics service provider</description><properties><tsp.version>3.5.0</tsp.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-boot.version>2.6.7</spring-boot.version><spring-cloud.version>2021.0.1</spring-cloud.version><spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version><alibaba.nacos.version>2.0.4</alibaba.nacos.version><spring-boot-admin.version>2.6.7</spring-boot-admin.version><spring-boot.mybatis>2.2.2</spring-boot.mybatis><swagger.fox.version>3.0.0</swagger.fox.version><swagger.core.version>1.6.2</swagger.core.version><tobato.version>1.27.2</tobato.version><kaptcha.version>2.3.2</kaptcha.version><pagehelper.boot.version>1.4.1</pagehelper.boot.version><druid.version>1.2.8</druid.version><dynamic-ds.version>3.5.0</dynamic-ds.version><commons.io.version>2.11.0</commons.io.version><commons.fileupload.version>1.4</commons.fileupload.version><velocity.version>2.3</velocity.version><fastjson.version>1.2.83</fastjson.version><jjwt.version>0.9.1</jjwt.version><minio.version>8.2.2</minio.version><poi.version>4.1.2</poi.version><commons-collections.version>3.2.2</commons-collections.version><transmittable-thread-local.version>2.12.2</transmittable-thread-local.version><hutool.version>5.7.10</hutool.version><modelmapper.version>2.4.4</modelmapper.version><mybatis-plus.version>3.5.1</mybatis-plus.version><jackson.version>2.12.5</jackson.version><skywalking.version>8.6.0</skywalking.version><javacsv.version>2.0</javacsv.version><mybatis-enhance-actable.version>1.5.0.RELEASE</mybatis-enhance-actable.version><sonar.host.url>https://repo.stationdm.com/sonar</sonar.host.url><sonar.login>315cc139b3e632430158bf429eb744619fbf9b4a</sonar.login><sonar.projectKey>com.stationdm:tsp</sonar.projectKey><sonar.moduleKey>${project.artifactId}</sonar.moduleKey><sonar.sourceEncoding>UTF-8</sonar.sourceEncoding><sonar.version>3.9.1.2184</sonar.version></properties><!-- 依赖声明 --><dependencyManagement><dependencies><!-- SpringCloud 微服务 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- SpringCloud Alibaba 微服务 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!-- Alibaba Nacos 配置 --><dependency><groupId>com.alibaba.nacos</groupId><artifactId>nacos-client</artifactId><version>${alibaba.nacos.version}</version></dependency><!-- SpringBoot 依赖配置 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><!--  SpringBoot 监控客户端 --><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>${spring-boot-admin.version}</version></dependency><!-- FastDFS 分布式文件系统 --><dependency><groupId>com.github.tobato</groupId><artifactId>fastdfs-client</artifactId><version>${tobato.version}</version></dependency><!-- Mybatis 依赖配置 --><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>${spring-boot.mybatis}</version></dependency><!-- Swagger 依赖配置 --><dependency><groupId>io.swagger</groupId><artifactId>swagger-models</artifactId><version>${swagger.core.version}</version></dependency><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>${swagger.core.version}</version></dependency><!-- 验证码 --><dependency><groupId>com.github.penggle</groupId><artifactId>kaptcha</artifactId><version>${kaptcha.version}</version></dependency><!-- pagehelper 分页插件 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>${pagehelper.boot.version}</version></dependency><!-- io常用工具类 --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>${commons.io.version}</version></dependency><!-- excel工具 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>${poi.version}</version></dependency><!-- 文件上传工具类 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${commons.fileupload.version}</version></dependency><!-- 代码生成使用模板 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>${velocity.version}</version></dependency><!-- Collection 增强Java集合框架 --><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>${commons-collections.version}</version></dependency><!-- JSON 解析器和生成器 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>${fastjson.version}</version></dependency><!-- JWT --><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>${jjwt.version}</version></dependency><!-- 线程传递值 --><dependency><groupId>com.alibaba</groupId><artifactId>transmittable-thread-local</artifactId><version>${transmittable-thread-local.version}</version></dependency><!-- 核心模块 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-common-core</artifactId><version>${tsp.version}</version></dependency><!-- 接口模块 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-common-swagger</artifactId><version>${tsp.version}</version></dependency><!-- RuoYi Api System --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-api-product</artifactId><version>${tsp.version}</version></dependency><!-- RuoYi Api System --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-api-device</artifactId><version>${tsp.version}</version></dependency><!-- 安全模块 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-common-security</artifactId><version>${tsp.version}</version></dependency><!-- 权限范围 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-common-datascope</artifactId><version>${tsp.version}</version></dependency><!-- 多数据源 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-common-datasource</artifactId><version>${tsp.version}</version></dependency><!-- 日志记录 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-common-log</artifactId><version>${tsp.version}</version></dependency><!-- 缓存服务 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-common-redis</artifactId><version>${tsp.version}</version></dependency><!-- 系统接口 --><dependency><groupId>com.woodare.tsp</groupId><artifactId>tsp-api-system</artifactId><version>${tsp.version}</version></dependency><!--add--><!-- HuTool --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>${hutool.version}</version></dependency><!-- ModelMapper --><dependency><groupId>org.modelmapper</groupId><artifactId>modelmapper</artifactId><version>${modelmapper.version}</version></dependency><!-- mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version></dependency><!-- Jackson --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!--创建表的插件--><dependency><groupId>com.gitee.sunchenbin.mybatis.actable</groupId><artifactId>mybatis-enhance-actable</artifactId><version>${mybatis-enhance-actable.version}</version><exclusions><exclusion><groupId>com.baomidou</groupId><artifactId>mybatis-plus-annotation</artifactId></exclusion></exclusions></dependency><!--skyWalking--><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-trace</artifactId><version>${skywalking.version}</version></dependency><dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-logback-1.x</artifactId><version>${skywalking.version}</version></dependency><!--javacsv--><dependency><groupId>net.sourceforge.javacsv</groupId><artifactId>javacsv</artifactId><version>${javacsv.version}</version></dependency></dependencies></dependencyManagement><modules><module>tsp-auth</module><module>tsp-gateway</module><module>tsp-visual</module><module>tsp-modules</module><module>tsp-api</module><module>tsp-common</module><module>tsp-app</module></modules><packaging>pom</packaging><dependencies><!-- bootstrap 启动器 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><!--add--><!-- HuTool --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId></dependency><!-- Lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></dependencies><profiles><profile><id>dev</id><properties><spring.profiles.active>dev</spring.profiles.active></properties><activation><activeByDefault>true</activeByDefault></activation></profile><profile><id>test</id><properties><spring.profiles.active>test</spring.profiles.active></properties></profile><profile><id>qa</id><properties><spring.profiles.active>qa</spring.profiles.active></properties></profile></profiles><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${java.version}</source><target>${java.version}</target><encoding>${project.build.sourceEncoding}</encoding></configuration></plugin><!-- Sonar --><plugin><groupId>org.sonarsource.scanner.maven</groupId><artifactId>sonar-maven-plugin</artifactId><version>${sonar.version}</version></plugin></plugins></build></project>

tsp-gateway Dockfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp
VOLUME /var/log/tsp-server
ADD target/tsp-gateway.jar tsp-gateway.jar
EXPOSE 8080
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/tsp-gateway.jar"]

tsp-modules-device Dockfile

FROM openjdk:8-jdk-alpine
VOLUME /tmp
VOLUME /var/log/tsp-server
ADD target/tsp-modules-device.jar tsp-modules-device.jar
EXPOSE 9550
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/tsp-modules-device.jar"]

gitlab.ci 配置

variables:GIT_STRATEGY: fetchproject_name: "tsp-server"modules_parent_path: "tsp-modules"app_parent_path: "tsp-app"visual_parent_path: "tsp-visual"stages:- deploy############################## TEST ##############################test-tsp-auth:stage: deploytags:- testvariables:service_name: "tsp-auth"service_port: 9200script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-gateway:stage: deploytags:- testvariables:service_name: "tsp-gateway"service_port: 8080script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manual###### modulestest-tsp-consumer:stage: deploytags:- testvariables:service_name: "tsp-consumer"service_port: 9650script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-data-statistics:stage: deploytags:- testvariables:service_name: "tsp-data-statistics"service_port: 9600script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-device:stage: deploytags:- testvariables:service_name: "tsp-device"service_port: 9550script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-file:stage: deploytags:- testvariables:service_name: "tsp-file"service_port: 9500script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-gen:stage: deploytags:- testvariables:service_name: "tsp-gen"service_port: 9450script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-job:stage: deploytags:- testvariables:service_name: "tsp-job"service_port: 9400script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-log:stage: deploytags:- testvariables:service_name: "tsp-log"service_port: 9350script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-product:stage: deploytags:- testvariables:service_name: "tsp-product"service_port: 9300script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manualtest-tsp-system:stage: deploytags:- testvariables:service_name: "tsp-system"service_port: 9250script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $modules_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manual###### apptest-app-kawasaki:stage: deploytags:- testvariables:service_name: "app-kawasaki"service_port: 15000script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $app_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manual###### visualtest-tsp-monitor:stage: deploytags:- testvariables:service_name: "tsp-monitor"service_port: 9100script:- echo -e "\n[$CI_JOB_NAME] $(date) ($CI_BUILD_REF_NAME) ($CI_BUILD_STAGE)\n" | tee -a /tmp/test.txt- mvn clean package- sh scripts/clean-container.sh $service_name- sh scripts/clean-image.sh $service_name latest- cd $visual_parent_path- cd $service_name- docker build -f Dockerfile -t $service_name:latest .- docker create -m 1G --name $service_name -p $service_port:$service_port -e "SPRING_PROFILES_ACTIVE=test" -v /var/log/$project_name:/var/log/$project_name $service_name:latest- docker start $service_namewhen:manual############################## PROD ##############################

SpringCloud项目 CICD 部署相关推荐

  1. SpringCloud项目打包部署

    SpringCloud项目打包部署 1.父模块用maven 的 Lifecycle 2.打包 生成jar 3.至此SpringCloud打包完成 ,运行jar包 1.父模块用maven 的 Lifec ...

  2. 【解决方案】SpringCloud项目优雅发版、部署

    [解决方案]SpringCloud项目优雅发版.部署 参考文章: (1)[解决方案]SpringCloud项目优雅发版.部署 (2)https://www.cnblogs.com/fonxian/p/ ...

  3. 构建SpringCloud项目基础框架

    文章目录 父项目microcloud 本地模拟RPC调用 common-api子模块 创建dto类 创建服务接口 创建一个对象拷贝的工具类 provider-dept-8001 子模块 bootstr ...

  4. saltstack部署java应用失败无日志——CICD 部署

    大家好,我是烤鸭: ​   最近在搞公司的CICD,遇到各种问题.复盘总结一下. CICD 架构 这篇文章写得很详细,可以看一下 https://linux.cn/article-9926-1.htm ...

  5. idea搭建springcloud项目_Eureka搭建分布式SpringCloud项目

    @Author:By Runsen SpringCloud Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册 ...

  6. 手把手教你搭建SpringCloud项目(十六)集成Stream消息驱动

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  7. 手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  8. 手把手教你搭建SpringCloud项目(九)集成OpenFeign服务接口调用

    Spring Cloud全集文章目录: 零.什么是微服务?一看就会系列! 一.手把手教你搭建SpringCloud项目(一)图文详解,傻瓜式操作 二.手把手教你搭建SpringCloud项目(二)生产 ...

  9. 搭建Jenkins+springcloud一键自动部署

    用jenkins 实现项目自动部署笔记 1.目的 1.一键实现项目自动构建打包发布(用于生产环境) 2.实现代码提交到代码仓库立刻自动打包部署(用于测试环境) 3.本测试脚本代码在最后 2.操作环境 ...

  10. IntelliJ IDEA WEB项目的部署配置

    1.前言 虽说Intellij IDEA已经用了四个多月,里面大部分功能还是比较熟悉的,但是很多细节地方还是搞不清楚,这几天公司另一个小组也换成了Intellij IDEA,帮他们迁移项目的时候,因为 ...

最新文章

  1. 通过Zabbix全面监控NetScaler负载均衡设备
  2. HOG特征向量的代码
  3. JAVA基础知识要点
  4. 洛谷 - P6292 区间本质不同子串个数(SAM+LCT+线段树)
  5. 简述div标签和span标签的不同_div与span区别及用法
  6. Cppcheck 1 54 C/C++静态代码分析工具
  7. Python 第一章 基础知识
  8. vnc远程连接,5步实现vnc远程连接
  9. 使用PHP实现网易云音乐数据的获取
  10. 微信跳一跳 可以直接更改分数, POST 请求没有校验
  11. 信息安全技术——(五)信息隐藏技术
  12. 鸿蒙系统怎么安装网易云音乐,网易云音乐鸿蒙版 - 魔法系统之家下载
  13. 国内一些期刊的搞笑审稿
  14. AndroidWear官方文档总结05 - 手持设备与穿戴设备的通知同步
  15. 逻辑卷增加根目录空间
  16. cs5 dreamweaver ox_dreamweaver cs5软件下载-dreamweaver cs5最新版本v11.0 官方版 - 极光下载站...
  17. Unbuntu 下载地址
  18. 数据结构与算法基础(青岛大学——王卓) note
  19. 夺命雷公狗---Smarty NO:23 常用方法
  20. Koch雪花曲线的MATLAB实现

热门文章

  1. 卡特彼勒牵手CBA联赛助力中国篮球发展
  2. 什么是token以及token的原理
  3. Unity 编辑器开发实战【Scene View】- UI Selector
  4. 用Python实现《沉默的真相》3万+弹幕情感分析
  5. 哪里获取计算机新闻比较好,学新闻的用什么电脑比较好
  6. matlab maps 指北针和比例尺,R 地图绘制-比例尺与指北针
  7. 蓝牙Sig Mesh 概念入门③——分层结构Layered architecture
  8. 校园网下实验室的服务器如何实现远程登录
  9. 在计算机编程里pi是什么意思,编程中的术语“钩子”是什么意思?
  10. 收到谷歌实习邀请 “比被清华录取还激动”