培训第三十四天(初步了解Docker与套接字的应用)

上午

回顾

1、主从复制(高可用)
2、传统的主从复制
3、gtids事务型的主从复制
4、注意

1)server_id唯一

2)8.X版本需要get_ssl_pub_key

3)5.X不需要

4)change master to

5)stop | start slave

5、非交互
 import pymysqlconn=pymysql.connect(host=xxx,user=xxx,password=xxx,port=xx,database=xxxx)cursor=conn.cursor()sql="insert | delete | update | select..."cursor.execute(sql)#查询不需要提交,直接使用fectch就可以得到结果#增删改需要提交conn.commit()mysql -h10.0.0.21 << EOFcreate datase if not exists test charset utf8mb4;use test;create tables...quitEOF
6、数据库的负载均衡 阿里巴巴的mycat
 vim /usr/local/mycat/conf/server.xml对外的账户  密码   数据库<user name="li"><property name="password">li</property><property name="database">test>/property></user>vim /usr/local/mycat/conf/schema.xml<mycat:schema><schema name="test" dataNode="abc"></schema><dataNode name="abc" dataHost="efg" database="test"/><dataHost name="efg"  ......><writeHost host="hs01" url="10.0.0.11:3306" user="li" password="li"><readHost host="hs02" url="10.0.0.12:3310" user="li" password="li"/><readHost host="hs02" url="10.0.0.13:3310" user="li" password="li"/></writeHost></dataHost></mycat:schmel>
7、如果出现启动异常,8066端口没有打开,可以检查两个日志文件

vim /usr/local/mycat/logs/wrapper.log

vim /usr/local/mycat/logs/mycat.log

8、后端服务器 java | python | php | asp

版本:正常市场jdk8,但是由于spring6.X框架必须要求17以上的版本,jdk版本比较多,找开发者要版本-jdk

 vim /etc/profileexport JAVA_HOME=/usr/local/jdkexport PATH=$PATH:$JAVA_HOME/binsouce /etc/profile

使用jar包启动服务

 #配置application.properties | yml#修改yml中的端口或者数据源url=jdbc:msyql://ip:port/databasenameusername=dbuserpassword=dbpassjava -jar eleme.xxxx.jar
9、负载均衡技术lvs
 dr模式1、挂载vip(对外) ens33:0ifconfig ens33:0 vipXXXX broadcast=vipxxxx netmast=255.255.255.255 uproute add vipxxxx dev ens33:0yum -y install ipvsadm#添加规则ipvsadm -A -t vipxxxx:port -s rripvsadm -a -t vipxxxx:port -r ripxxxx -gipvsadm -a -t vipxxxx:port .....rs主机ifconfig lo:0 vipxxxx broadcast=vipxxxx netmast=255.255.255.255 uproute add vipxxxx dev lo:0抑制接受请求echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/lo/arp_announceecho 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announce
10、nginx配置代理 负载均衡
 http {upstream javagroup{server ip:port weight=99;server ip:port weight=1;}server {location ~/ {pass_proxy http://javagroup:}}}

下午

⼀、了解Docker

1、Docker 是什么?

Docker 是⼀个开源的应⽤容器引擎,可以实现虚拟化,完全采⽤“沙 盒”机制,容器之间不会存在任何接⼝。

Docker 通过 Linux Container(容器)技术将任意类型的应⽤进⾏包 装,变成⼀种轻量级、标准化、可移植、⾃管理的组件。在包装应⽤的同时,可连带该应⽤的依赖和环境⼀并进⾏打包,所以可以将这种“包”移植到任意环境去运⾏,省去兼容性的问题。

2、Docker 和虚拟机的区别

Docker和虚拟机在以下⼋个⽅⾯存在差异:

1、启动速度:Docker 启动速度⾮常快,属于秒级别,⽽虚拟机通常需要⼏分钟去启动。

2、资源消耗:Docker 需要的资源更少,它直接运⾏在宿主机的内核上,以⼀系列进程的结合形式存在。⽽虚拟机则需要消耗更多的资源,因为它在操作系统级别进⾏虚拟化。

3、轻量级:Docker 更轻量,它的架构可以共⽤⼀个内核与共享应⽤程序库,所占内存极⼩。⽽虚拟机则相对较重,需要消耗更多的内存。

4、隔离性:虚拟机可以实现系统级别的隔离,⽽ Docker 则属于进程之间的隔离,隔离性相对较弱。

5、安全性:Docker 的安全性也更弱。

6、可管理性:Docker 的集中化管理⼯具还不算成熟。

7、兼容性:开发⼈员不需要关系具体是哪个 Linux 操作系统,基本市⾯上主流系统都可使⽤ Docker。

8、数据持久性:Docker ⽆法存储数据,当容器重启后,数据会消 失;⽽虚拟机可以存储各种数据,包括⽇志、数据库等。

3、Docker 解决的问题

(1)系统环境不⼀致问题 环境不同时可能会出现的环境问题:

使⽤ docker 容器时:

将简易的操作系统、编写好的代码、部署完成的应⽤服务配置等打包放到容器内,再转到鲸⻥上,由鲸⻥送到服务器,此时,⽆论是什么运⾏环境,docker 容器都可以运⾏。

(2)应⽤隔离问题

Linux 是⼀个⽀持多⽤户的操作系统,正因如此,可能会造成⽤户使 ⽤时,互相之间占⽤资源过多,以致于服务器资源空间不⾜,⽽ docker 具有隔离性,可以在启动时就限定好硬件的使⽤率,当某个容器到达或超过限定的阈值时,就会被 kill,此时需要运维⼈员对其 进⾏调试。

4、Docker 的优缺点

(1)优点

1、 体积⼩:减⼩系统的开销值,⼀台主机可以运⾏上千个容器。

2、启动迅捷:更快速的交付和部署,docker容器 ,⽐传统虚拟机要快很多,docker核⼼解决的问题就是利⽤容器实现VM类似的功能。

3、操作⽅便:通过配置 dockerfile 便⽀持灵活的⾃动化创建和部署。

4、更轻松的扩展:可以实现更简单的、更可靠的迁移,避免了兼容 性等问题。

5、更强的可扩展性和可移植性。

(2)缺点

1、安全问题:如果没有正确配置,⼀个容器中的恶意代码可能会影响到主机上的其他容器以及主机本身的安全。

2、存储问题:当使⽤⼤量容器时,存储和管理容器映像可以变得⾮常困难。这可能需要使⽤分布式存储或其他解决⽅案来管理⼤量容器的存储。

3、性能问题:在某些情况下,容器和虚拟机相⽐会导致性能损失。 这些性能问题越来越少,但是仍然需要考虑。

4、 ⽹络问题:Docker 可能会在⽹络配置上存在⼀些问题,这可能需要更多的时间来诊断和解决。

5、 复杂性:Docker 是⼀个⾮常灵活的系统,但这同时也让它更加复杂。⻓时间使⽤ Docker 会产⽣⼤量的脚本和配置⽂件,这些可能变得难以维护。

6、资源消耗:使⽤ Docker 必须占⽤⼀些资源,包括 CPU、内存、磁盘等等。如果运⾏容器的主机资源不⾜,可能会导致性能 问题。

7、学习曲线:Docker 是⼀个相对新的技术,相⽐传统环境需要⼀ 定的学习曲线。需要了解Docker 基本概念、命令和配置⽂件等。

8、需要花费时间配置和管理:使⽤ Docker 需要花时间配置和管理容器集群和应⽤程序。需要配置每个容器,管理 Jenkins、 Kubernetes 等运⾏ Docker 容器的⼯具。

9、映像构建复杂:构建Docker映像需要按照特定格式编写 Dockerfile 脚本,需要遵循⼀定的规范和流程,这可能需要更多的时间和精⼒。

5、Docker 架构

1、⽤ docker pull 命令从 hub.docker.com 官⽹上下载 images (镜 像)。

2、可以⽤ docker save 命令将镜像保存到本地 tar ⽂件,也可以⽤ docker load 命令将本地tar ⽂件导⼊镜像。

3、 可以⽤ docker build 构建 Dockerfile 镜像。

4、可以⽤ docker run 和 docker create 将镜像运⾏成 container (容器),容器内可以安装所需要的 APP。

5、 可以⽤ docker commit/export 将容器做成镜像反复的使⽤。

6、可以将⾃⼰制作的镜像发布到 hub.docker.com ⽹站,需要注册账号。

6、Docker 核⼼概念

1、镜像(images):⼀个⾯向 docker 容器引擎的只读模板,也是容器的基础,类似于 iso 镜像⽂件。

2、容器(container):基于镜像所创建的虚拟实例,相当于⼀个简易的 Linux 环境,可启停,且多个容器之间互相隔离。

3、仓库(Repository):集中存放 docker 镜像的位置,可使⽤ docker pull 或 push 命令下载或上传到私有或公有仓库。

4、仓库注册服务器(registry):存放仓库的地⽅,如果没有私有仓库,则使⽤公共仓库 docker hub。

7、Docker 特性

⽂件系统隔离:每个进程容器运⾏在⼀个完全独⽴的根⽂件系统⾥。

资源隔离:实现不同的容器的资源配额和调度,cgroup。

⽹络隔离:每个进程容器运⾏在⾃⼰的⽹络空间,拥有虚拟接⼝和 IP 地址。

⽇志记录:Docker将收集到和记录的每个进程容器的标准流 (stdout/stderr/stdin),⽤于实时检索或者批量检索。

变更管理:容器⽂件系统的变更可以提交到新的镜像中,并可重复使⽤以创建更多的容器。

交互式shell:Docker可以分配⼀个虚拟终端并且关联到任何容器的标准输出上,例如运⾏⼀个⼀次性交互shell。

⼆、安装 Docker

1、Docker 要求

2、安装 Docker

 [root@docker ~]# cat << EOF | tee /etc/modules-load.d/k8s.conf> overlay> br_netfilter> EOFoverlaybr_netfilter# 加载overlay内核模块[root@docker ~]# modprobe overlay # 加载br_netfilter内核模块[root@docker ~]# modprobe br_netfilter [root@docker ~]# cat /etc/modules-load.d/k8s.conf overlaybr_netfilter[root@docker ~]# cat << EOF | tee /etc/sysctl.d/k8s.conf> net.bridge.bridge-nf-call-iptables = 1> net.bridge.bridge-nf-call-ip6tables = 1> net.ipv4.ip_forward = 1> EOF[root@docker ~]# sysctl --system[root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2# 添加阿⾥云yum源[root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo[root@docker ~]# yum -y install  docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 启动docker守护进程[root@docker ~]# systemctl start docker# 查看本地镜像[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED       SIZE

overlay:是⼀种⽂件系统层叠技术,常⽤于容器化平台(⽐如 Docker)中。它允许将多个⽂件系统叠加在⼀起,从⽽创建⼀个统⼀可⻅的⽂件系统。通过加载 overlay 模块,可以在 Linux 系统中使⽤ overlay ⽂件系统,并且它将提供⼀些额外的功能,⽐ 如联合挂载、⽂件层叠等。

br_netfilter:Linux 内核中的⼀个模块,它提供了桥接设备 (bridge device) 和⽹络过滤器(netfilter) 之间的集成。它允许在桥接设备上使⽤⽹络过滤器功能,如防⽕墙规则、⽹络地址转换 (NAT) 等。通过加载 br_netfilter 模块,你可以在 Linux 系统中的桥接设备上应⽤⽹络过滤规则对⽹络流量进⾏管理和控制。

device-mapper-persistent-data:⼀个Linux内核模块,它为 Device Mapper设备提供持久存储功能。DMPD提供了⼀个⽤于存储映射关系的数据库,使得Device Mapper可以持久化存储映射数据,以便在系统重新启动后仍然可以恢复之前的映射关系。

lvm2:Linux系统下的逻辑卷管理⼯具,LVM 的升级版,它是对磁盘分区进⾏管理的⼀种机制,建⽴在硬盘和分区之上的⼀个逻辑层,⽤来提⾼磁盘管理的灵活性。

三、使用docker

1、启动服务获得镜像

 # 在仓库中查找centos的镜像[root@docker ~]# docker search centos# 配置docker镜像站[root@docker ~]# vim /etc/docker/daemon.json{"registry-mirrors" : ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]}# 重启docker[root@docker ~]# systemctl restart docker# 从仓库中拉取centos的镜像[root@docker ~]# docker pull centos# 查看本地镜像[root@docker ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED       SIZEcentos       latest    5d0da3dc9764   2 years ago   231MB

2、创建运行容器

 # 第一次创建容器[root@docker ~]# docker run -it --name=c0 centos:latest /bin/bash# 配置阿里云的yum仓库[root@41c9a7796fde /]# cd /etc/yum.repos.d/[root@41c9a7796fde yum.repos.d]# rm -rf *.repo[root@41c9a7796fde yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo[root@41c9a7796fde yum.repos.d]# yum clean all && yum makecache[root@41c9a7796fde yum.repos.d]# cd# 安装httpd[root@41c9a7796fde ~]# yum -y install net-tools[root@41c9a7796fde ~]# yum -y install httpd[root@41c9a7796fde ~]# yum -y install iproute[root@41c9a7796fde ~]# psPID TTY          TIME CMD1 pts/0    00:00:00 bash81 pts/0    00:00:00 ps[root@41c9a7796fde ~]# ifconfigeth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255# 显示系统的运行时间、当前登录的用户数量以及系统的平均负载情况[root@41c9a7796fde ~]# uptime06:37:00 up 33 min,  0 users,  load average: 0.00, 0.01, 0.02# 查看基于 Red Hat 的系统的发行版本信息[root@41c9a7796fde ~]# cat /etc/redhat-release CentOS Linux release 8.4.2105

3、在容器中配置httpd服务并在外部主机中访问

 # 修改httpd的配置文件[root@41c9a7796fde ~]# echo "docker_httpd_server" > /var/www/html/index.html# 表明当前的容器环境不是以systemd作为初始化系统启动的,所以无法使用systemctl启动服务[root@41c9a7796fde ~]# systemctl start httpdSystem has not been booted with systemd as init system (PID 1). Can't operate.Failed to connect to bus: Host is down# 在命令行中直接启动 Apache 服务[root@41c9a7796fde ~]# httpd -k start#  Apache HTTP 服务器在启动时无法可靠地确定服务器的完全限定域名,因此使用了IP地址 172.17.0.2AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message[root@41c9a7796fde ~]# curl localhostdocker_httpd_server[root@41c9a7796fde ~]# curl http://localhost:80docker_httpd_server[root@41c9a7796fde ~]# curl http://172.17.0.2:80docker_httpd_server新开一终端:[root@docker ~]# curl http://172.17.0.2:80docker_httpd_server# 一旦退出容器,将无法访问到容器的httpd服务,再次进入到容器中,服务已正常关闭,需要重启服务才能正常工作

4、非正常退出容器(容器继续运行,服务继续工作)

 # 在当前系统中查找与 “docker” 相关的进程信息[root@docker ~]# ps -aux | grep docker#  Docker 守护进程,进程ID为1350,由root用户启动。它正在监听文件描述符(-H fd://)并与 containerd 进行交互(--containerd=/run/containerd/containerd.sock)。root       1350  0.0  6.7 1635992 32612 ?       Ssl  14:15   0:01 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock# 执行“ps -aux | grep docker”命令自身产生的进程,进程ID为2445,也是由root用户在终端(pts/0)中启动,用于在输出结果中过滤出包含“docker” 的行。root       2445  0.0  0.2 112724   964 pts/0    S+   15:06   0:00 grep --color=auto docker# 启动名字为c0的容器[root@docker ~]# docker start c0# 在正在运行的名为 “c0” 的容器中启动一个交互式的 Bash shell[root@docker ~]# docker exec -it c0 /bin/bash# 将c0的终端挂载附加到当前的终端上[root@docker ~]# docker attach c0[root@41c9a7796fde /]# # 期望退出,服务继续运行curl+p+q[root@41c9a7796fde /]# read escape sequence# 列出当前正在运行的 Docker 容器的相关信息[root@docker ~]# docker psCONTAINER ID   IMAGE           COMMAND       CREATED             STATUS          PORTS     NAMES41c9a7796fde   centos:latest   "/bin/bash"   About an hour ago   Up 33 minutes             c0

5、关闭docker守护进程

 # 查看docker状态[root@docker ~]# systemctl status docker# 查看版本[root@docker ~]# docker version# 关闭docker守护进程[root@docker ~]# systemctl stop dockerWarning: Stopping docker.service, but it can still be activated by:docker.socket# docker守护进程已关闭,无法进入容器中[root@docker ~]# docker attach c0You cannot attach to a stopped container, start it first

6、套接字的应用

 # 套接字文件为/tmp/mysql.sock[root@mysql_c ~]# vim /usr/local/mysql/my.cnf [mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/datasocket=/tmp/mysql.sockport=3310log-error=/usr/local/mysql/data/db01-slave.errrelay-log=/usr/local/mysql/data/relaylogserver-id=11character_set_server=utf8mb4# mysql服务未开启[root@mysql_c ~]# netstat -lnput | grep mysql# 无sock文件[root@mysql_c ~]# ls -lh /tmp/总用量 0drwx------. 3 root root 17 8月  22 15:30 systemd-private-2aed4145d94f4730bb8da071dc67b409-chronyd.service-tcRXAEdrwx------. 2 root root  6 8月  21 15:35 vmware-root# 开启mysql服务[root@mysql_c ~]# service mysql57 startStarting MySQL.. SUCCESS! # 查看mysql文件是否开启成功[root@mysql_c ~]# netstat -lnput | grep mysqltcp6       0      0 :::3310                 :::*                    LISTEN      1477/mysqld # 出现sock⽂件[root@mysql_c ~]# ls -lh /tmp/总用量 4.0Ksrwxrwxrwx. 1 mysql mysql  0 8月  22 15:31 mysql.sock-rw-------. 1 mysql mysql  5 8月  22 15:31 mysql.sock.lockdrwx------. 3 root  root  17 8月  22 15:30 systemd-private-2aed4145d94f4730bb8da071dc67b409-chronyd.service-tcRXAEdrwx------. 2 root  root   6 8月  21 15:35 vmware-root

7、docker套接字的配置(设置允许远程管理)

 # docker的守护进程已经关闭,查看docker的套接字(时间不对)[root@docker ~]# ls -lh /var/run/srw-rw----.  1 root   docker    0 8月  22 14:15 docker.sock# 开启docker的守护进程,时间还是不对[root@docker ~]# systemctl start docker[root@docker ~]# ls -lh /var/run/srw-rw----.  1 root   docker    0 8月  22 14:15 docker.sock# 查看docker服务文件[root@docker ~]# vim /usr/lib/systemd/system/docker.service

 # 修改daemon.json文件[root@docker ~]# vim /etc/docker/daemon.json {"registry-mirrors" : ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"],# 指定 Docker 守护进程的监听地址"hosts" : [# 表示Docker守护进程将在所有网络接口上监听TCP连接,端口号为 2375"tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]}# 修改docker服务文件[root@docker ~]# vim /usr/lib/systemd/system/docker.service13 ExecStart=/usr/bin/dockerd # 开启docker守护进程,发现启动不了[root@docker ~]# systemctl start docker.service Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.# 加载daemo.json文件[root@docker ~]# systemctl daemon-reload# 启动docker守护进程,成功[root@docker ~]# systemctl start docker.service Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.# 查看docker服务是否启动(要允许远程连接,需要有一个服务,使用端口体现)[root@docker ~]# netstat -lntup | grep dockertcp6       0      0 :::2375                 :::*                    LISTEN      3198/dockerd   # 查看docker.sock文件是否更新成功(sock套接字),成功[root@docker ~]# ll /var/run/docker.sock srw-rw----. 1 root docker 0 8月  22 16:14 /var/run/docker.sock# 通过指定IP地址为“10.0.0.100”的Docker守护进程来查看镜像列表(远程管理)[root@docker ~]# docker -H 10.0.0.100 imagesREPOSITORY   TAG       IMAGE ID       CREATED       SIZEcentos       latest    5d0da3dc9764   2 years ago   231MB

8、查看dockers的帮助信息,选项的应用

 [root@docker ~]# docker --helpCommon Commands:run         Create and run a new container from an imageexec        Execute a command in a running containerps          List containersbuild       Build an image from a Dockerfilepull        Download an image from a registrypush        Upload an image to a registryimages      List imageslogin       Log in to a registrylogout      Log out from a registrysearch      Search Docker Hub for imagesversion     Show the Docker version informationinfo        Display system-wide informationManagement Commands:builder     Manage buildsbuildx*     Docker Buildxcompose*    Docker Composecontainer   Manage containerscontext     Manage contextsimage       Manage imagesmanifest    Manage Docker image manifests and manifest listsnetwork     Manage networksplugin      Manage pluginssystem      Manage Dockertrust       Manage trust on Docker imagesvolume      Manage volumes......# 查看启动的容器[root@docker ~]# docker psCONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES# 查看全部的容器[root@docker ~]# docker ps -aCONTAINER ID   IMAGE           COMMAND       CREATED       STATUS                         PORTS     NAMES41c9a7796fde   centos:latest   "/bin/bash"   2 hours ago   Exited (0) About an hour ago             c0# 启动名字为c0的容器[root@docker ~]# docker start c0c0# 进入c0容器中[root@docker ~]# docker attach c0# 开启httpd服务[root@41c9a7796fde /]# httpd -k startAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message# 访问当地httpd服务[root@41c9a7796fde /]# curl localhostdocker_httpd_server# 非正常退出容器,容器继续正常运行[root@41c9a7796fde /]# read escape sequence# 查看运行中的容器[root@docker ~]# docker ps CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS              PORTS     NAMES41c9a7796fde   centos:latest   "/bin/bash"   2 hours ago   Up About a minute             c0# 显示有关Docker安装和当前系统配置的详细信息[root@docker ~]# docker infoClient: Docker Engine - CommunityVersion:    26.1.4Context:    defaultDebug Mode: falsePlugins:buildx: Docker Buildx (Docker Inc.)Version:  v0.14.1Path:     /usr/libexec/docker/cli-plugins/docker-buildxcompose: Docker Compose (Docker Inc.)Version:  v2.27.1Path:     /usr/libexec/docker/cli-plugins/docker-compose

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

拍抖音在哪里去水印,三招教你快速掌握去水印技巧

在抖音上&#xff0c;我们经常会看到一些精彩的内容&#xff0c;想要保存下来&#xff0c;但往往视频上会有水印。本文将分享五个免费且高效的去除抖音视频水印的技巧&#xff0c;帮助你轻松保存无水印的视频。 技巧一&#xff1a;奈斯水印助手(小程序) 奈斯水印助手是一款专…

JavaScript(30)——解构

数组解构 数组解构是将数组的单元值快速批量赋值给一系列变量的简洁语法 基本语法&#xff1a; 赋值运算符左侧的[]用于批量声明变量&#xff0c;右侧数组的单元值将被赋值给左侧变量变量的顺序对应数组单元值的位置依次进行赋值操作 const arr [1, 2, 3, 4, 5]const [a, b…

云渲染的三个条件是指什么!哪三点最重要!

云渲染技术以其灵活性和效率&#xff0c;让创意人士和企业无论身处何地&#xff0c;都能通过网络接入强大的远程服务器&#xff0c;轻松完成复杂的图形渲染任务&#xff0c;但要发挥其魔力&#xff0c;我们得满足一些关键条件。 一、网络连接&#xff1a;云渲染的桥梁 首先&am…

协作新选择:即时白板在线白板软件分享

在团队合作中&#xff0c;产品经理扮演着至关重要的角色&#xff0c;他们不仅是产品与用户之间的纽带&#xff0c;更是产品性能和用户需求的桥梁。他们需要深入参与产品的研发过程&#xff0c;并与研发团队保持紧密的沟通。因此&#xff0c;产品经理需要一款高效的协作工具来提…

arthas源码刨析:arthas 命令粗谈(3)

文章目录 dashboardwatchretransform 前面介绍了 arthas 启动相关的代码并聊了聊怎么到一个 shellserver 的建立。 本篇我们来探讨一下几个使用频次非常高的命令是如何实现的。 dashboard 想看这个命令的主要原因是编程这些年来从来没有开发过 terminal 的这种比较花哨的界面&a…

SpringBoot集成kafka-获取生产者发送的消息(阻塞式和非阻塞式获取)

说明 CompletableFuture对象需要的SpringBoot版本为3.X.X以上&#xff0c;需要的kafka依赖版本为3.X.X以上&#xff0c;需要的jdk版本17以上。 1、阻塞式&#xff08;等待式&#xff09;获取生产者发送的消息 生产者&#xff1a; package com.power.producer;import org.ap…

【html+css 绚丽Loading】 000014 三元波动盘

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽Loading&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495…

JVM系列--初始JVM

根据《黑马程序员JVM虚拟机入门到实战全套视频教程》整理 1 什么是JVM JVM 全称是 Java Virtual Machine&#xff0c;中文译名 Java虚拟机。JVM 本质上是一个运行在计算机上的程序&#xff0c;他的职责是运行Java字节码文件。 Java源代码执行流程如下&#xff1a; 分为三个步…

书生大模型实战营第三期基础岛第二课——8G 显存玩转书生大模型 Demo

8G 显存玩转书生大模型 Demo 基础任务进阶作业一&#xff1a;进阶作业二&#xff1a; 基础任务 使用 Cli Demo 完成 InternLM2-Chat-1.8B 模型的部署&#xff0c;并生成 300 字小故事&#xff0c;记录复现过程并截图。 创建conda环境 # 创建环境 conda create -n demo pytho…

[Meachines] [Easy] Legacy nmap 漏洞扫描脚本深度发现+MS08-067

信息收集 IP AddressOpening Ports10.10.10.4TCP:135,139,445 $ nmap -p- 10.10.10.4 --min-rate 1000 -sC -sV -Pn PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows n…

Java二十三种设计模式-责任链模式(17/23)

责任链模式&#xff1a;实现请求处理的灵活流转 引言 在这篇博客中&#xff0c;我们深入探讨了责任链模式的精髓&#xff0c;从其定义和用途到实现方法&#xff0c;再到使用场景、优缺点、与其他模式的比较&#xff0c;以及最佳实践和替代方案&#xff0c;旨在指导开发者如何…

SAP BW:QUERY数据结果写入ADSO

作者 idan lian 如需转载备注出处 如果对你有帮助&#xff0c;请点赞收藏~~~ 需求背景 客户基于QUERY进行报表展示&#xff0c;现需迁移到永洪报表平台&#xff0c;query中的变量参数&#xff0c;公式等无法直接生成视图&#xff0c;query相对复杂&#xff0c;不想直接在视图…

笔记mybatisplus

MP入门 Mybatis-Plus&#xff08;简称MP&#xff09;是一个Mybatis的增强工具&#xff0c;在Mybatis的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 Mybatis-Plus已经封装好了大量增删改查的方法&#xff0c;程序员只需要继承BaseMapper就可以使用这些方法…

Linux阿里云服务器,利用docker安装EMQX

第一步&#xff0c;给云服务器docker进行加速 阿里云搜索“镜像加速器”&#xff0c;找到下面这个菜单&#xff0c;点进去 然后找到镜像工具下的镜像加速器 把这个加速器地址复制 然后在自己的云服务器中&#xff0c;找到docker的文件夹 点击json配置文件 把地址修改为刚刚…

如何将LaTeX数学公式嵌入到PowerPoint中

如何将LaTeX数学公式嵌入到PowerPoint中 简介 在学术演示或技术报告中&#xff0c;清晰且专业地展示数学公式是至关重要的。PowerPoint虽然提供了一些基本的公式编辑功能&#xff0c;但如果你需要更复杂或格式严格的公式&#xff0c;使用LaTeX生成公式并嵌入到PPT中是一个极佳…

Python酷库之旅-第三方库Pandas(092)

目录 一、用法精讲 391、pandas.Series.hist方法 391-1、语法 391-2、参数 391-3、功能 391-4、返回值 391-5、说明 391-6、用法 391-6-1、数据准备 391-6-2、代码示例 391-6-3、结果输出 392、pandas.Series.to_pickle方法 392-1、语法 392-2、参数 392-3、功能…

KT来袭,打造沉浸式体验的聚合性web3应用平台

随着步入 2024&#xff0c;漫长的区块链熊市即将接近尾声。纵观产业发展&#xff0c;逆流而上往往会是彰显品牌市场影响力和技术实力的最佳证明。在这次周期中&#xff0c;一个名为KT的web3.0聚合平台吸引了市场关注&#xff0c;无论在市场层面还是技术层面&#xff0c;都广泛赢…

听劝❗用AI做职场思维导图仅仅需要几秒钟啊

本文由 ChatMoney团队出品 嘿&#xff0c;各位职场朋友们 是不是常常对着密密麻麻的笔记感到焦虑呢&#xff1f; 想整理却无从下手&#xff1f; 别怕&#xff0c;ChatmoneyAI知识库来拯救你的整理困难症啦&#xff01; 咱们都知道&#xff0c;思维导图是职场中必备的神器 …

zoom 会议机器人web例子

一、需要创建zoom app&#xff0c;创建及配置参考&#xff1a;Zoom会议机器人转写例子-CSDN博客 这里直接使用zoom-recall的配置。 二、需要生成签名&#xff0c;参数为&#xff1a;zoom-recall中的Client ID和Client Secret 1、git clone https://github.com/zoom/meetings…

【PHP入门教程】PHPStudy环境搭建+composer创建项目

文章目录 PHP 的历史PHP 的用途PHP 的特点和优势PHP 环境搭建环境准备安装window 安装CentOS / Ubuntu / Debian 安装 第一个Hello World使用Apache服务运行命令行运行代码 Composer安装 Composer&#xff1a;安装途中报错解决&#xff1a;初始化项目创建文件最终文件目录Compo…