当前位置: 首页 > news >正文

开发门户网站需要注意什么/搜索引擎大全入口

开发门户网站需要注意什么,搜索引擎大全入口,网站系统商城,网站内页banner一般做多高文章目录 练习资料下载一、docker基础1. 基本概念2. docker常见命令3. 命令别名4. 数据卷 二、docker自定义镜像1. 了解镜像结构2. 了解Dockerfile3. 构建Dockerfile文件,完成自定义镜像 三、网络1. docker常见网络命令2. docker自带虚拟网络3. 自定义网络 四、dock…

文章目录

  • 练习资料下载
  • 一、docker基础
    • 1. 基本概念
    • 2. docker常见命令
    • 3. 命令别名
    • 4. 数据卷
  • 二、docker自定义镜像
    • 1. 了解镜像结构
    • 2. 了解Dockerfile
    • 3. 构建Dockerfile文件,完成自定义镜像
  • 三、网络
    • 1. docker常见网络命令
    • 2. docker自带虚拟网络
    • 3. 自定义网络
  • 四、docker快速部署项目
    • 1. 容器部署背景
    • 2. 部署项目(方案一:麻烦)
    • 3. 使用DockerCompose部署项目(方案二:推荐)
  • 五、docker-compose安装


提示:以下是本篇文章正文内容,下面案例整理于【黑马程序员】

练习资料下载

链接:https://pan.baidu.com/s/1l4Xqxo-eSc5WM8rk-OV1NQ
提取码:bqxq

文章参考笔记:
链接:https://b11et3un53m.feishu.cn/wiki/MWQIw4Zvhil0I5ktPHwcoqZdnec?from=from_copylink
密码:j.N?-+4[

一、docker基础

1. 基本概念

  1. Docker是做什么的?
    Docker可以帮助我们下载应用镜像,创建并运行镜像的容器,从而快速部署应用。
  2. 什么是镜像?
    将应用所需的函数库、依赖、配置等与应用一起打包得到的就是镜像,我们也可以自定义镜像。
  3. 什么是容器?
    为每个镜像的应用进程创建的隔离运行环境就是容器,每个容器是互相隔离的,互不影响的。也可以简单的理解为每个容器就是一个简单的操作系统。
  4. 什么是镜像仓库?
    存储和管理镜像的服务就是镜像仓库。我们平时所下载的镜像,都是从镜像仓库里面拉取下来的。

2. docker常见命令

docker命令官方地址: https://docs.docker.com/engine/reference/commandline/
在这里插入图片描述

3. 命令别名

可以对常用的命令起别名,可以更加简洁,高效的使用命令

# 修改/root/.bashrc文件
vi /root/.bashrc
内容如下:
# .bashrc# User specific aliases and functions# 指定rm -i的别名为 rm,在使用rm的时候相当于执行 rm -i
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc
fi

执行命令使别名生效

source /root/.bashrc

4. 数据卷

数据卷命令官方地址: https://docs.docker.com/engine/reference/commandline/volume_create/

  1. 什么是数据卷
    数据卷是一个虚拟目录,它将宿主机目录映射到容器内目录(也叫挂载),方便我们操作容器内文件,或者方便迁移容器产生的数据。

例:如果我们要让Nginx代理我们的静态资源,最好是放到html目录;如果我们要修改Nginx的配置,最好是找到conf下的nginx.conf文件。
但遗憾的是,容器运行的Nginx所有的文件都在容器内部。所以我们必须利用数据卷将两个目录宿主机目录关联,方便我们操作

  1. 为什么不让容器目录直接指向宿主机目录呢
  • 因为直接指向宿主机目录就与宿主机强耦合了,如果切换了环境,宿主机目录就可能发生改变了。由于容器一旦创建,目录挂载就无法修改,这样容器就无法正常工作了。
  • 但是容器指向数据卷,一个逻辑名称,而数据卷再指向宿主机目录,就不存在强耦合。如果宿主机目录发生改变,只要改变数据卷与宿主机目录之间的映射关系即可。
  1. 数据卷常用命令
    容器与数据卷的挂载要在创建容器时配置,对于创建好的容器,是不能设置数据卷的。而且创建容器的过程中,数据卷会自动创建。
    在这里插入图片描述

二、docker自定义镜像

1. 了解镜像结构

思考: 如果我要部署一个Java项目,把它打包为一个镜像该怎么做呢?

  • 要想自己构建镜像,必须先了解镜像的结构。镜像之所以能让我们快速跨操作系统部署应用而忽略其运行环境、配置,就是因为镜像中包含了程序运行需要的系统函数库、环境、配置、依赖。
  • 因此,自定义镜像本质就是依次准备好程序运行的基础环境、依赖、应用本身、运行配置等文件,并且打包而成。

打包镜像步骤:

  • 准备一个linux服务(CentOS或者Ubuntu均可),java项目并不需要完整的操作系统,仅仅是基础运行环境即可;这一步保证了即使镜像所处操作系统不同,镜像还是能够使用;
  • 安装并配置JDK,配置java运行环境;
  • 拷贝jar包;
  • 配置启动脚本;也就是指定项目的入口函数;

但需要注意的是:

  1. 上述步骤中的每一次操作其实都是在生产一些文件(系统运行环境、函数库、配置最终都是磁盘文件),所以镜像就是一堆文件的集合
  2. 镜像文件不是随意堆放的,而是按照操作的步骤分层叠加而成,每一层形成的文件都会单独打包并标记一个唯一id,称为Layer(层)。这样,如果我们构建时用到的某些层其他人已经制作过,就可以直接拷贝使用这些层,而不用重复制作。
    在这里插入图片描述

2. 了解Dockerfile

Dockerfile命令官方地址: https://docs.docker.com/engine/reference/builder/

由于制作镜像的过程中,需要逐层处理和打包,比较复杂,所以Docker就提供了自动打包镜像的功能。我们只需要将打包的过程,每一层要做的事情用固定的语法写下来,交给Docker去执行即可。

  1. Dockerfile常见命令
    在这里插入图片描述
  2. Dockerfile详解
# 查看centos版本cat /etc/issue
# 或cat /etc/redhat-release
-----------------------------------------------------
# 查看内核linux版本cat /proc/version
# 或uname -a
# 或uname -r

完整的Dockerfile文件 (包含:操作系统、JDK、JAR、入口脚本)

# 指定基础镜像(可以理解为指定操作系统) 此处根据案例使用ubuntu
FROM ubuntu:16.04
# 配置环境变量,JDK的安装目录
ENV JAVA_DIR=/usr/local
#配置容器内时区
ENV TZ=Asia/Shanghai
# 拷贝jdk和java项目的包
COPY ./jdk8.tar.gz $JAVA_DIR/
# 拷贝jar包到容器的/tmp/app.jar
COPY ./docker-demo.jar /tmp/app.jar
# 设定时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 安装JDK
RUN cd $JAVA_DIR \&& tar -xf ./jdk8.tar.gz \&& mv ./jdk1.8.0_144 ./java8
# 配置环境变量
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin
# 指定项目监听的端口
EXPOSE 8080
# 入口,java项目的启动命令 其实执行的就是Java -jar app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

思考: 以后我们会有很多很多java项目需要打包为镜像,他们都需要Linux系统环境、JDK环境这两层,只有上面的3层不同(因为jar包不同)。如果每次制作java镜像都重复制作前两层镜像,是不是很麻烦。所以,就有人提供了基础的系统加JDK环境,我们在此基础上制作java镜像,就可以省去JDK的配置了

简化后的Dockerfile文件 (包含:基础镜像、JAR、入口脚本)

# 基础镜像
FROM openjdk:11.0-jre-buster
# 设定时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 拷贝jar包
COPY docker-demo.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

3. 构建Dockerfile文件,完成自定义镜像

  • openjdk:11.0-jre-buste是被人封装好的一个基础的系统,包含基础的操作系统和jdk的环境,所以我们可以只用关注项目jar包和入口脚本即可
  • openjdk:11.0-jre-buste 在练习资料里已提供,练习资料里面叫 jdk.tar
  • 因为我们使用基础的系统加JDK环境(openjdk:11.0-jre-buster),所以需要加载openjdk:11.0-jre-buster镜像, 可以去镜像仓库拉取,也可以上传镜像的tar包,进行加载,此处使用上传镜像tar包。(tar在练习资料里面)
  • 将编写好的Dockerfile文件和打包好的项目jar,以及openjdk:11.0-jre-buster上传到服务器
    在这里插入图片描述
  • 将openjdk:11.0-jre-buster tar包转为镜像,此时基本的操作系统和java环境就具备了
docker load -i jdk.tar 

在这里插入图片描述

  • 执行命令,构建镜像
# 进入镜像dockerTest
cd /root/dockerTest
# 开始构建 docker-demo:1.0 是我们自定义的镜像的名称和版本,版本不写默认last
docker build -t docker-demo:1.0 .#⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇# 直接指定Dockerfile目录,上面两条命令可以合并成一个
docker build -t docker-demo:1.0 /root/dockerTest

命令解析:

  • docker build : 就是构建一个docker镜像
  • -t docker-demo:1.0 :-t参数是指定镜像的名称(repository和tag)
  • . : 最后的点是指构建时Dockerfile所在路径,由于我们进入了dockerTest目录,所以指定的是 . 代表当前目录,也可以直接指定Dockerfile目录:

在这里插入图片描述

  • 查看镜像列表
docker images

在这里插入图片描述

  • 运行镜像
# 1. 创建并运行容器
docker run -d --name dockerTest -p 8080:8080 docker-demo:1.0  
# 2. 查看容器-->dps 是因为我使用了命名服务中的命名
dps
# 3. 访问
curl localhost:8080/hello/count

在这里插入图片描述
也可以通过浏览器来访问
在这里插入图片描述

三、网络

Docker网络命令官方地址: https://docs.docker.com/engine/reference/commandline/network/

1. docker常见网络命令

在这里插入图片描述

2. docker自带虚拟网络

  1. 查看网卡
ip addr

在这里插入图片描述
2. 测试容器间的网络是否互通

  • 查看运行中的容器
    在这里插入图片描述
  • 以minio和oracle11g两个容器进行测试,查看minio的容器内的ip
docker inspect minio

在这里插入图片描述

  • 查看oracle11g容器内的ip
docker inspect  oracle11g

在这里插入图片描述

  • 进入oracle11g容器中,ping minio容器看是否互通,结果是互通的
docker exec -it oracle11g bash

在这里插入图片描述

  1. 总结:
  • 通过上面可以看出,容器虽然是相互隔离且互不影响的,但是容器之间的网络是互通的。这是因为docker在启动的时候会构建一个虚拟网络,当有容器启动的时候,docker会为容器分配一个虚拟ID。
  • 容器的网络IP其实是一个虚拟的IP,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过Container-IP 访问到容器,其值并不固定与某一个容器绑定,如果我们在开发时写死某个IP,那么在docker重启的时候容器的IP会发生变化,连接会失败.
    为了解决上面的问题,所以需要自定义网络

3. 自定义网络

  1. 创建自定义网络
docker network create 网名名
  1. 查看网络
docker network ls
  1. 指定容器加入网络,在加入网络时可以通过–alias给容器起别名
docker network connect 网络名 容器名 --alias 容器别名
  1. 进入容器,使用别名也能ping通
    在这里插入图片描述

四、docker快速部署项目

1. 容器部署背景

  1. 首先通过Nginx代理静态资源,也就是我们的前端页面;
  2. 部署后端代码,使用自定义网络关联各容器;
  3. 部署所需镜像:Mysql,Nginx,jar包

2. 部署项目(方案一:麻烦)

本地目录或文件必须以 / 或 ./开头,如果直接以名字开头,会被识别为数据卷名而非本地目录名

-v mysql:/var/lib/mysql # 会被识别为一个数据卷叫mysql,运行时会自动创建这个数据卷
-v ./mysql:/var/lib/mysql # 会被识别为当前目录下的mysql目录,运行时如果不存在会创建目录

  1. 因为部署项目需要用到Mysql,Nginx,那么先去拉取镜像;
  2. 启动Nginx,并加入到自定义网络(也可以后期加入),记得创建宿主机的挂载目录
    docker run -d --name nginx -p 18080:18080 -p 18081:18081 -v /soft/nginx/nginx.conf:/etc/nginx/nginx.conf -v /soft/nginx/html:/usr/share/nginx/html --network hmall  a6bd71f48f68
  1. 上传前端页面到【/soft/nginx/html】下,通过映射也被加载到容器内
    在这里插入图片描述

  2. 修改nginx.conf 配置文件进行静态资源代理
    在这里插入图片描述

  3. 至此前端部署完成,通过浏览器进行验证

在这里插入图片描述
在这里插入图片描述

  1. 启动Mysql,并加入到自定义网络(也可以后期加入),记得创建宿主机的挂载目录
docker run -d --name mysql5.7 -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123456 -v /soft/mysql/data:/var/lib/mysql -v /soft/mysql/conf:/etc/mysql/conf.d --network hmall  c20987f18b13
  1. 上传项目jar包,以及Dockerfile文件
    在这里插入图片描述

  2. 对项目jar包进行编译

docker build -t hmall .

在这里插入图片描述
9. 运行镜像

# 1. 创建并运行容器,并加入自定义网络
docker run -d --name hmall --network hmall  -p 8080:8080 hmall   
# 2. 查看容器-->dps 是因为我使用了命名服务中的命名
dps
  1. 查看容器内的日志
docker logs -f hmall

在这里插入图片描述

  1. 访问,验证,因为数据没有导入,此处暂不予前端联动
    在这里插入图片描述

3. 使用DockerCompose部署项目(方案二:推荐)

DockerCompose命令官方地址: https://docs.docker.com/compose/reference/

  1. 常用语法
    在这里插入图片描述
  2. 编写DockerCompose,用于一键启动项目
# 指定DockerCompose版本
version: "3"services:mysql:image: mysqlcontainer_name: mysqlports:- "3306:3306"environment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: 123456volumes:- "./mysql/conf:/etc/mysql/conf.d"- "./mysql/data:/var/lib/mysql"# 使用自定义网络networks:- hm-net# 定义项目jarhmall:build: context: .# 指定Dockerfile文件位置dockerfile: Dockerfilecontainer_name: hmallports:- "8080:8080"#使用自定义网络networks:- hm-net# 依赖于mysql, 会先去加载mysql再来加载项目jardepends_on:- mysqlnginx:image: nginxcontainer_name: nginx# 对外映射两个端口,一个用户的前端页面,一个后端管理的页面ports:- "18080:18080"- "18081:18081"volumes:- "./nginx/nginx.conf:/etc/nginx/nginx.conf"- "./nginx/html:/usr/share/nginx/html"# 依赖于mysql, 会先去加载mysql再来加载项目jardepends_on:- hmall#使用自定义网络networks:- hm-net
#自定义网络
networks:hm-net:name: hmall
  1. 上传项目jar包,Dockerfile文件以及写好的DockerCompose文件,并创建挂载目录
    在这里插入图片描述

  2. 一键启动

 docker-compose up -d

在这里插入图片描述
5. 查看镜像
在这里插入图片描述
6. 访问,验证
前端:
在这里插入图片描述
在这里插入图片描述
后端:
在这里插入图片描述
7. 停止docker-compose

docker-compose down

在这里插入图片描述

五、docker-compose安装

docker-compose 2.23.3版本下载
链接:https://pan.baidu.com/s/115LwBXm4taXCiFK190Xykw
提取码:u9tc

  1. 从github上下载二进制文件
https://github.com/docker/compose/releases
  1. 放入/usr/local/bin/ 路径下并重新命名docker-compose
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
  1. 赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose
  1. 建立软连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  1. 查看docker版本
docker-compose --version

在这里插入图片描述

相关文章:

docker构建镜像及项目部署

文章目录 练习资料下载一、docker基础1. 基本概念2. docker常见命令3. 命令别名4. 数据卷 二、docker自定义镜像1. 了解镜像结构2. 了解Dockerfile3. 构建Dockerfile文件,完成自定义镜像 三、网络1. docker常见网络命令2. docker自带虚拟网络3. 自定义网络 四、dock…...

ARM串口通信编程实验

完成:从终端输入选项,完成点灯关灯,打开风扇关闭风扇等操作 #include "gpio.h" int main() {char a;//char buf[128];uart4_config();gpio_config();while(1){//接收一个字符数据a getchar();//发送接收的字符putchar(a);switch(…...

MyBatis的延迟加载(懒加载)

MyBatis 中的延迟加载是指在需要时才加载对象的某些属性或关联对象,而不是在初始查询时就加载所有数据。这对于性能优化和减少不必要的数据库查询非常有用。 1. 基于配置文件的延迟加载 在 MyBatis 的 XML 映射文件中,你可以使用 lazyLoadingEnabled 和…...

嵌入式-stm32-用PWM点亮LED实现呼吸灯

一:知识前置 1.1、LED灯怎么才能亮? 答:LED需要低电平才能亮,高电平是灯灭。 1.2、LED灯为什么可以越来越亮,越来越暗? 答:这是用到不同占空比来实现的,控制LED实现呼吸灯&…...

C语言初学7:循环

while 循环 一、while 循环语法: while(condition) {statement(s); } condition 为任意非零值时都为 true。当条件为 true 时执行循环。 当条件为 false 时,退出循环,程序流将继续执行紧接着循环的下一条语句。 二、while 循环举例 #inc…...

力扣69. x 的平方根

二分查找 思路: 设置 left 指针为 0,right 指针为 x;如果 mid (right - left) / 2 left 的平方小于或等于 x,此时移动 left mid 1,并缓存当前 mid 值,可能这个 mid 就是结果,或者 x 的平方…...

go语言学习计划。

第1周:Go语言概述与环境搭建 内容:了解Go语言的历史、特点和应用场景。安装Go环境,配置工作区。实践:编写第一个Go程序,了解Go的编译运行流程。 第2周:基本语法与数据类型 内容:学习基本数据…...

设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式,每一种模式的概念、使用场景和优缺点。

系列文章目录 设计模式之-6大设计原则简单易懂的理解以及它们的适用场景和代码示列 设计模式之-单列设计模式,5种单例设计模式使用场景以及它们的优缺点 设计模式之-3种常见的工厂模式简单工厂模式、工厂方法模式和抽象工厂模式,每一种模式的概念、使用…...

docker run --help帮助文档

文章目录 基础环境docker run --helpdocker run --help中文翻译 基础环境 环境:ubuntu20.04 x64 使用apt install docker.io安装docker docker版本: rootky:/userdata/testOnebuttonDeploy/shsany_ai/kyai_arm_ubuntu# docker -v Docker version 24.0…...

【Qt-Timer】

Qt编程指南 ■ QTimeEvent■ Qtimer■ QDateTimeEdit■ QDateTime■■ ■ QTimeEvent 1.启动定时器 定时器ID startTimer (时间间隔); int idt startTimer (250); 每隔指定的时间间隔,触发一次定时器事件。 2.定时器事件处理 virtual void timerEvent (QTimeEvent…...

Java多线程技术五——单例模式与多线程-备份

1 概述 本章的知识点非常重要。在单例模式与多线程技术相结合的过程中,我们能发现很多以前从未考虑过的问题。这些不良的程序设计如果应用在商业项目中将会带来非常大的麻烦。本章的案例也充分说明,线程与某些技术相结合中,我们要考虑的事情会…...

Seem环境安装

创建虚拟环境 conda create -n seem python3.8 conda activate seem 安装相关依赖:(不按照的话会报错) sudo apt-get install openmpi-bin libopenmpi-devconda install gcc_linux-64pip install mpi4py 导入环境 export PYTHONPATH$(pwd…...

java八股jvm

JVM虚拟机篇-01-JVM介绍、运行流程_哔哩哔哩_bilibili 1.PC程序计数器 2.堆 3.虚拟机栈 4.方法区/永久代/元空间 5.直接内存 JVM虚拟机篇-06-JVM组成-你听过直接内存吗_哔哩哔哩_bilibili 6.双亲委派 从下往上找,有同名类优先使用上级加载器的,不用自己…...

家校互通小程序实战开发02首页搭建

目录 1 创建应用2 搭建首页总结 我们上一篇介绍了家校互通小程序的需求,创建了对应的数据源。有了这个基础的分析之后,我们就可以进入到开发阶段了。开发小程序,先需要创建应用。 1 创建应用 登录控制台,点击创建应用&#xff0c…...

使用matlab制作声音采样率转换、播放以及显示的界面

利用matlab做一个声音采样率转换、播放以及显示的界面 大抵流程: 图形界面创建:使用figure函数创建名为“声音采样率转换”的图形界面,并设置了其位置和大小。 按钮和文本框:使用uicontrol函数创建了选择音频文件的按钮、显示当前…...

FPGA-AMBA协议、APB协议、AHB规范、AXI4协议规范概述及它们之间的关系

FPGA-AMBA协议、APB协议、AHB协议、AXI4协议规范概述 笔记记录,AMBA协议、APB协议、AHB规范、AXI4协议规范概述,只是概述描述,具体详细的协议地址传输、数据传输等内容将在下一章节详细说明。 文章目录 FPGA-AMBA协议…...

NI VeriStand中的硬件I / O延迟时间

NI VeriStand中的硬件I / O延迟时间 - NI 适用于 软件 VeriStand 问题详述 在我的VeriStand项目中,我要从DAQ或FPGA硬件中获取数据,在模型中处理输出,然后输出数据。在硬件输入和输出之间,我应该期望什么样的延迟?如…...

YoloV8的目标检测推理

YoloV8的目标检测推理 原始的YoloV8封装的层次太高,想要为我们所用可能需要阅读很多API,下面给出比较简单的使用方式 导入所需的库 os:用于操作文件系统。cv2 (OpenCV):用于图像处理。numpy:提供数学运算&#xff0…...

c语言中数据结构

一、结构体的由来 1. 数据类型的不足 C语言中,基本数据类型只有整型、字符型、浮点型等少数几种,无法满足复杂数据类型的需要。 2. 数组的限制 虽然数组可以存储多个同类型的数据,但是数组中的元素个数是固定的,无法动态地改变…...

【GitHub精选项目】抖音/ TikTok 视频下载:TikTokDownloader 操作指南

前言 本文为大家带来的是 JoeanAmier 开发的 TikTokDownloader 项目,这是一个高效的下载 抖音/ TikTok 视频的开源工具。特别适合用户们保存他们喜欢的视频或分享给其他人。 TikTokDownloader 是一个专门设计用于下载 TikTok 视频的工具,旨在为用户提供一…...

Java开发框架和中间件面试题(3)

14.Spring事务中的隔离级别有哪几种? 在TransactionDefinition接口中定义了五个表示隔离级别的常量: 1⃣️ISOLATION DEFAULT:使用后端数据库默认的隔离级别,Mysql默认采用的可重复读隔离级别;Oracle默认采用的读已提…...

React面试题

1. 什么是 React? React 是一个用于构建用户界面的 JavaScript 库。它由 Facebook 开发并开源,广泛应用于现代 Web 应用程序的开发中。 2. React 中的组件是什么? 组件是 React 中构建用户界面的基本单位。它们是可重用且自包含的代码块&a…...

机器学习-数学学习汇总

***I数学只是一个工具,会使用,能解决问题就可以了,精确例如到3.14够用就可以了*** 微积分作用:解决非线性问题 学习:27分。 高中数学: 1.高中数学所有知识点表格总结,高中知识点一个不漏&am…...

17个常用经典数据可视化图表与冷门图表

数据可视化是创建信息图形表示的过程。随着可视化技术的飞速发展,可以利用强大的可视化工具选择合适的数据可视化图表来展示数据。以下专业人士都应该知道的一些最重要的数据可视化图表。 常见数据可视化图表 饼图 饼图是最常见和最基本的数据可视化图表之一。饼图…...

(五)Python 垃圾回收机制

一、垃圾回收的工作原理 Python的垃圾回收机制是自动的,负责管理程序中的内存。它基于两种主要技术:引用计数和循环引用检测器。 引用计数 每当一个对象被引用时,Python会增加该对象的引用计数;每当一个对象不再被引用时&#…...

策略模式(组件协作)

策略模式(组件协作) 链接:策略模式实例代码 注解 目的 正常情况下,一个类/对象中会包含其所有可能会使用的内外方法,但是一般情况下,这些常使用的类都是由不同的父类继承、组合得来的,来实现…...

每日一题-----逆序字符串

大家好我是Beilef,在一个美好的下午我意外接触到编程并且产生了兴趣,哈哈我要努力成为一个跨界者,让我们一起加油吧O(∩_∩)O 文章目录 目录 文章目录 前言 大家好请上车 一、逆序字符串 题⽬描述: 输⼊⼀个字符串,写…...

js两个对象数组合并。并且去掉里边某个属性相同的对象

要合并两个JavaScript对象数组并去除其中某个属性相同的对象,您可以使用concat()方法将两个数组合并,然后使用reduce()方法进行筛选。 以下是一个示例代码,演示了如何合并两个对象数组并去除其中某个属性相同的对象 const array1 [{ id: 1…...

创建重试机制

要自己创建重试机制,可以使用循环结构来实现。以下是一个简单的重试机制的示例代码: java public class RetryExample { public static void main(String[] args) { int maxRetryTimes 3; // 最大重试次数 int retryInterval 1000; /…...

[c]统计数字

题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。 输入描述: 第1行是整数…...