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

轻量级Web画板Paint Board如何本地部署与随时随地在线绘画分享

文章目录

    • 前言
    • 1.关于Paint Board
    • 2.本地部署paint-board
    • 3.使用Paint Board
    • 4.cpolar内网穿透工具安装
    • 5.创建远程连接公网地址
    • 6.固定Paint Board公网地址

前言

今天我要给大家介绍一款超级轻便、好玩到飞起的Web画板Paint Board!这可是创意人手中的秘密武器。无论是刚刚踏上艺术之旅的新手小白,还是已经身经百战的老司机,都能在这简洁至极、操作流畅得让人上瘾的小工具里找到属于自己的创作乐趣。想象一下,无论你在哪里,只需轻轻一点,就能瞬间进入一个充满无限可能的艺术世界,描绘出瞬间迸发的创意,这感觉是不是超棒?而且,Paint Board 还有更多惊喜等你挖掘呢!

【视频教程】

分享一款超好用的开源画板paint board

1.关于Paint Board

Paint Board是简洁易用的web端创意画板。它集成了多种创意画笔和绘画功能,支持形状绘制、橡皮擦、自定义画板等操作,并可以将作品保存为图片。

image-20241125143051492

Github地址:GitHub - LHRUN/paint-board:🎨一个强大的多端绘图板,汇集了许多创意画笔,可以体验一系列全新的绘图效果!

以下是Paint Board的功能特性:

1.自由绘画:

提供了 12 种不同风格的画笔,包括基本画笔,彩虹画笔,多形状画笔,多素材画笔,像素画笔,多色画笔,文字画笔,多线连接画笔,网状画笔,多点连接画笔,波浪曲线画笔,荆棘画笔。以满足多样化的绘画需求。

所有画笔均支持颜色和画笔宽度的配置,另外多形状、多素材、多色等画笔支持定制化配置。

2.形状绘制:

提供了多种常见形状的绘制,并支持多端点线段以及箭头,并且这些形状均支持边框和填充的样式配置。

3.橡皮擦模式:

橡皮擦模式可线性擦除所有内容,并支持线性宽度配置。

4.选择模式:

在选择模式下,可以通过点击绘画内容进行框选。点击手柄支持拖拽、缩放和旋转操作,提供灵活的编辑方式。

选择图片支持多种滤镜配置。

选择文字时,支持字体和样式设置。

所有绘制内容均支持图层设置,包括向上移动层级、向下移动层级、移动至顶层和移动至底层。

所有绘制内容支持透明度配置。

5.画板配置:

画板支持配置背景配置, 包括颜色, 背景图, 透明度。

画板支持自定义宽高配置。

支持绘画缓存,在存在大量绘制内容的情况下,启用缓存将提高绘制性能,而禁用缓存则会提升画布清晰度。

新增辅助线绘制功能。

6.多功能菜单:

左下角按钮实时显示当前缩放比例,点击即可重置缩放比例。

中间按钮列表按从左到右的功能分别为:撤销、反撤销、复制当前选择内容、删除当前选择内容、绘制文字、上传图片、清除绘制内容、保存为图片、打开文件列表。

上传图片支持去除背景(浏览器需支持WebGPU)

保存为图片支持自定义配置. 旋转, 缩放, 裁切

7.电脑端:

按住 Space 键并点击鼠标左键可移动画布,滚动鼠标滚轮实现画布缩放。

按住 Backspace 键可删除已选内容。

同时按住 Ctrl 键 + V 键可粘贴剪贴板图片。

8.移动端:

支持双指按压后拖拽和缩放画布。

9.多文件配置:

支持多个画布切换,每个画布可自定义标题、增加、删除,并提供上传和下载功能。

10.国际化:

目前支持中文,英文两种语言展示。

11.支持 PWA, 可离线访问

2.本地部署paint-board

本例使用Docker进行部署,如果没有安装Docker,可以查看这篇教程进行安装:《Docker安装教程——Linux、Windows、MacOS》

首先打开终端输入这行命令先下载代码

git clone https://github.com/LHRUN/paint-board.git

image-20241125152729890

进入到目录后

cd paint-board

再来构建镜像

sudo docker build -t wbsu2003/paint-board:v1 .

image-20241125153144989

最后运行容器即可:

sudo docker run -d \--name paint-board \-p 8080:80 \wbsu2003/paint-board:v1

image-20241125153256546

现在就已经安装成功了,您可以通过打开Web浏览器输入localhost:8080,就可以访问到Paint Board的页面了。

3.使用Paint Board

可以看到画板页面非常简洁明了

image-20241125153544796

点击左上方的各种选项就可以开始作画了

image-20241125153648686

4.cpolar内网穿透工具安装

不过我们目前只能在本地局域网内访问刚刚部署的Paint Board,如果想不在家中时,也能在外部网络环境远程访问本地部署的Paint Board,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问本地服务的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

img

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

image-20240801133735424

5.创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: Paint,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:8080
  • 域名类型:随机域名
  • 地区:选择China Top

image-20241125153936169

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241125154037103

如下图所示,成功实现使用公网地址异地远程访问本地部署的Paint Board。

image-20241125154303699

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用Paint Board远程画画,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

6.固定Paint Board公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241125154637284

保留成功后复制保留的二级子域名地址:

image-20241125154658903

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20241125154723540

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名
  • 地区: China Top

点击更新

image-20241125154758554

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

image-20241125154832694

最后,我们使用固定的公网地址访问Paint Board可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image-20241125155041680

各位小伙伴们,看完这些是不是觉得 Paint Board 简直是创意人的宝藏神器?快来加入这场创作狂欢吧,让你的灵感像风中的风筝一样在天空中自由翱翔。如果你在使用过程中遇到了什么好玩的事儿或有趣的小技巧,别忘了在评论区和大家一起分享哦!我可是超级期待看到你们的奇思妙想和精彩作品呢,说不定下一个艺术界的超级明星就是你哦!

相关文章:

轻量级Web画板Paint Board如何本地部署与随时随地在线绘画分享

文章目录 前言1.关于Paint Board2.本地部署paint-board3.使用Paint Board4.cpolar内网穿透工具安装5.创建远程连接公网地址6.固定Paint Board公网地址 前言 今天我要给大家介绍一款超级轻便、好玩到飞起的Web画板Paint Board!这可是创意人手中的秘密武器。无论是刚…...

攻击溯源技术体系:从理论架构到工程化实践的深度剖析

一、攻击溯源的理论基石与模型构建 1.1 形式化理论框架 攻击溯源本质上是基于离散数学与图论的演绎推理过程。通过构建攻击事件有向图(AEDG, Attack Event Directed Graph),将网络空间中的每个事件抽象为节点,事件间的因果关系…...

fpga系列 HDL : Microchip FPGA开发软件 Libero Soc 安装 license申请

启动 注册账号:https://login.microchip.com/申请免费许可:https://www.microchipdirect.com/fpga-software-products C:\Windows\System32>vol驱动器 C 中的卷是 Windows卷的序列号是 ****-****为“D:\Microsemi\License.dat”创建环境变量“LM_LICE…...

海康立体相机3DMVS软件使用不同工作模式介绍

文章目录 1. Sensor Calibration(传感器标定模式)2. Depth(深度模式)3. RGB-D(彩色深度融合模式)4. Depalletizing(拆垛模式)5. Debug(调试模式)6. Point Clo…...

深度学习、机器学习及强化学习的联系与区别

联系 深度学习与机器学习 :深度学习是机器学习的一个分支。机器学习涵盖众多方法,如决策树、支持向量机等,而深度学习基于神经网络构建多层结构来学习数据特征。深度学习利用反向传播算法和梯度下降等优化方法来训练神经网络模型,…...

75.xilinx复数乘法器IP核调试

(83*j)*(57j) 935j 正确的是 1971j 分析出现的原因:(abj)* (cdj) (ac-bd)j(adbc) 其中a,b,c,d都是16bit的有符号数,乘积的结果为保证不溢出需要32bit存储,最终的复数乘法结果是两个32b…...

【笔记】CosyVoice 模型下载小记:简单易懂的两种方法对比

#工作记录 笔记标签:#CosyVoice 模型 #模型下载 #ModelScope #Git LFS #语音合成开发 一、强烈推荐:用 ModelScope SDK 下载(简单又靠谱) 1.1 好处多多 不容易出错:能自动把模型需要的所有东西都下载好&#xff0c…...

本地部署 私有云网盘 Nextcloud 并实现外部访问

Nextcloud 是一款开源免费的私有云盘系统,可以快速地搭建一套属于自己的云同步网盘,从而实现跨设备的文件同步、文件共享、以及团队协作等功能。Nextcloud 功能强大且完全开源,拥有庞大的开源社区支持。 本文将详细的介绍如何利用 Docker 在…...

黑马程序员C++2024版笔记 第0章 C++入门

1.C代码的基础结构 以hello_world代码为例&#xff1a; 预处理指令 #include<iostream> using namespace std; 代码前2行是预处理指令&#xff0c;即代码编译前的准备工作。&#xff08;编译是将源代码转化为可执行程序.exe文件的过程&#xff09; 主函数 主函数是…...

D3485:一款高性能RS-485收发器解析

D3485是一款5V供电、半双工RS-485收发器&#xff0c;广泛应用于智能电表、工业控制和安防监控等领域。它内部包含一路驱动器和一路接收器&#xff0c;采用限摆率驱动器设计&#xff0c;能有效减少电磁干扰&#xff08;EMI&#xff09;和反射&#xff0c;支持高达10Mbps的无差错…...

std::deque和std::vector对比

std::deque和std::vector都是 C标准库中非常重要的容器&#xff0c;但它们的设计目标和优化方向不同&#xff0c;因此各有适用场景。std::deque并没有取代std::vector&#xff0c;原因主要在于以下几个方面&#xff1a; 1.性能特点不同 1.1std::vector的优势 • 连续存储&am…...

【蓝桥杯省赛真题49】python偶数 第十五届蓝桥杯青少组Python编程省赛真题解析

python偶数 第十五届蓝桥杯青少组python比赛省赛真题详细解析 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解...

15分钟决胜项目管理:碎片时间的高效拆解术

作为项目经理&#xff0c;你是否经常觉得一天像打仗&#xff1f;会议连轴转、消息轰炸、计划赶不上变化……时间总是不够用。但真相是&#xff1a;高效的人并不是时间更多&#xff0c;而是更会“切分时间”。试试“15分钟法则”——每天用几段碎片时间&#xff0c;就能让工作从…...

计算机网络:什么是电磁波以及有什么危害?

电磁波详解 电磁波(Electromagnetic Wave)是由电场和磁场相互激发、在空间中传播的能量形式。它既是现代通信的基石(如手机、Wi-Fi、卫星信号),也是自然界中光、热辐射等现象的本质。以下从定义、产生、特性、分类及应用全面解析: 一、电磁波的本质 1. 核心定义 电场与…...

Docker部署单节点Elasticsearch

1.Docker部署单节点ES 1.前置条件 配置内核参数 echo "vm.max_map_count262144" >> /etc/sysctl.conf sysctl -w vm.max_map_count262144准备密码 本文所有涉及密码的配置&#xff0c;均使用通用密码 Zzwl2024。 生产环境&#xff0c;请用密码生成器生成20…...

Docker构建Nginx、PHP、MySQL及WordPress部署及解释

目录 一、构建Nginx 二、构建PHP 三、构建MySQL 四、启动容器 五、测试 六、部署网站 一、构建Nginx 创建目录并进入目录 bash 复制 mkdir /opt/nginx cd /opt/nginx mkdir /opt/nginx&#xff1a;在 /opt 目录下创建一个名为 nginx 的目录。 cd /opt/nginx&#x…...

计算机网络:蜂窝网络和WiFi网络使用的射频信号有什么区别?

— 频段设计,蜂窝网络,比如4G LTE或5G,使用的频段通常由各国政府机构分配,例如在Sub-6GHz范围内,还有一些高频的毫米波。而WiFi主要使用的是2.4GHz和5GHz的ISM(工业、科学、医疗)免许可频段。这说明两者的频段不同,可能带来不同的传播特性和干扰情况。 —调制方式,蜂窝…...

今日行情明日机会——20250515

上证指数缩量收阴线&#xff0c;个股跌多涨少&#xff0c;上涨波段4月9日以来已有24个交易日&#xff0c;时间周期上处于上涨末端&#xff0c;注意风险。 深证指数缩量收阴线&#xff0c;日线上涨结束的概率在增大&#xff0c;注意风险。 2025年5月15日涨停股主要行业方向分…...

康复训练:VR 老年虚拟仿真,趣味助力恢复​

对于那些因身体机能衰退、疾病或者意外而急需康复训练的老人而言&#xff0c;传统的康复方式通常显得极为枯燥乏味。例如&#xff0c;只是在康复师的指导下机械地重复抬腿、伸手等简单动作&#xff0c;日复一日&#xff0c;毫无新意&#xff0c;这样的模式使得老人很难长期坚持…...

【美团】后端一面复盘|项目驱动 + 手撕 + JVM + 数据库全面覆盖

【美团】后端一面复盘&#xff5c;项目驱动 手撕 JVM 数据库全面覆盖 &#x1f4cd; 面试公司&#xff1a;美团 &#x1f3af; 面试岗位&#xff1a;后端开发工程师 &#x1f4de; 面试形式&#xff1a;电话面&#xff08;OC&#xff09; &#x1f552; 面试时长&#xff1…...

3DVR制作的工具或平台

3DVR&#xff08;三维虚拟现实&#xff09;是利用三维图像技术和虚拟现实技术&#xff0c;将真实场景进行三维扫描并转换成计算机可识别的三维模型&#xff0c;使用户能够在虚拟空间中自由漫游&#xff0c;体验身临其境的感觉。3DVR技术结合了全景拍摄和虚拟现实&#xff0c;提…...

websocket入门详解

入门websocket的基础应该掌握一下问题&#xff1a; 1、什么是握手&#xff1f; 2、什么是websocket&#xff1f; 3、websocket和http的区别&#xff0c;应用场景 4、html前端简单代码演示 5、springboot整合websocket使用 6、使用vueelementui打造简单聊天室 7、使用web…...

go-zero(十八)结合Elasticsearch实现高效数据检索

go-zero结合Elasticsearch实现高效数据检索 1. Elasticsearch简单介绍 Elasticsearch&#xff08;简称 ES&#xff09; 是一个基于 Lucene 库 构建的 分布式、开源、实时搜索与分析引擎&#xff0c;采用 Apache 2.0 协议。它支持水平扩展&#xff0c;能高效处理大规模数据的存…...

window 显示驱动开发-报告图形内存(四)

检索图形内存数字 创建图形应用程序的软件开发人员可以使用从 Windows Vista 开始的 Microsoft DirectX 版本 10 API 在运行 Windows 显示驱动程序模型 (WDDM) 显示驱动程序的计算机上检索准确的图形内存数集。 以下步骤演示如何检索图形内存编号&#xff1a; 由于新的图形内…...

精益数据分析(60/126):移情阶段的终极追问——如何用结构化访谈挖掘真实需求

精益数据分析&#xff08;60/126&#xff09;&#xff1a;移情阶段的终极追问——如何用结构化访谈挖掘真实需求 在创业的移情阶段&#xff0c;客户访谈的深度决定了需求洞察的准确度。今天&#xff0c;我们结合《精益数据分析》的方法论&#xff0c;探讨如何通过“追问技巧”…...

主流快递查询API横向对比:快递100快递鸟菜鸟物流接口差异解析

主流快递查询API横向对比&#xff1a;快递100/快递鸟/菜鸟物流接口差异解析 一、核心功能与适用范围 菜鸟API 核心功能&#xff1a;物流信息查询、电子面单打印、智能仓储管理、跨境物流服务&#xff0c;整合阿里生态资源&#xff08;如淘宝、天猫订单直接对接&#xff09;。…...

c++从入门到精通(四)--动态内存,模板与泛型编程

文章目录 动态内存直接管理内存Shared_ptr类Unique_ptrWeak_ptr动态数组allocator类文本查询程序 模板与泛型编程定义模板函数模板类模板模板参数成员模板控制实例化 模板实参推断重载与模板可变参数模板模板特例化 动态内存 c中动态内存的管理是通过new和delete运算符来实现的…...

反病毒反垃圾U-Mail邮件系统从容应对

在数字化时代&#xff0c;电子邮件依然是企业沟通的核心工具。然而&#xff0c;垃圾邮件、病毒邮件和钓鱼邮件等安全威胁&#xff0c;如同潜伏在暗处的幽灵&#xff0c;随时可能侵蚀企业的信息安全。因此&#xff0c;企业需要构建一套严密的邮件安全防御体系&#xff0c;才能有…...

第一天的尝试

目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 可能我们会失败&#xff0c;但是人生容错率挺高的&#xff0c;你没必要活成万众瞩目的样子&#xff0c;我们也想要这样的生活&#xff0c;但是我们要付出努力和时间&#xff0c;所以当情绪来…...

GUI图形化演示

概述 Swing组件通常被称为“轻量级组件”,他完全由Java编写&#xff0c;不依赖操作系统语言&#xff0c;他的类继承关系如下&#xff1a; Java.lang.Object->Java.awt.Component->Java.awt.Container->Javax.swing.JCompoment JCompoent是swing组件存放的位置&…...

Day118 | 灵神 | 二叉树 | 删点成林

Day118 | 灵神 | 二叉树 | 删点成林 1110.删点成林 1110. 删点成林 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 最直接的思路就是看当前结点的值是不是在要删除的列表中&#xff0c;在的话删除当前结点并把左右孩子加入res中 很可惜这样是错的&#xff0c;…...

每周靶点:IL31、B7H3及文献分享

本期精选了《炎症中的“瘙痒”细胞因子IL31》《免疫检查点分子B7H3》《重组抗体&#xff1a;抗体测序和人工智能助力抗体设计》《文献分享&#xff1a;用于HER2特异性递送的单链Fab衍生药物偶联物》《文献分享&#xff1a;全长抗体、片段和双特异性格式的可开发性的比较研究》五…...

机器学习笔记——特征工程

大家好&#xff0c;这里是好评笔记&#xff0c;公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本笔记介绍机器学习中常见的特征工程方法、正则化方法和简要介绍强化学习。 文章目录 特征工程&#xff08;Fzeature Engineering&#xff09;1. 特征提取&#xff…...

麒麟v10 部署 MySQL 5.6.10 完整步骤

需要包的私信我 一、安装依赖&#xff08;Perl环境&#xff09; # 在线安装依赖 yum -y install perl perl-devel# 离线安装&#xff08;需提前下载好rpm包&#xff09; mkdir /data/ybn/soft/pre yum install --downloadonly --downloaddir/data/ybn/soft/pre perl perl-dev…...

digitalworld.local: DEVELOPMENT靶场

digitalworld.local: DEVELOPMENT 来自 <https://www.vulnhub.com/entry/digitalworldlocal-development,280/> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.18…...

高等数学基础(梯度下降法求函数的最小值)

梯度下降法, 一般是寻找函数极小值最常用的优化方法. 当目标函数时凸函数时, 梯度下降时全局解, 但是一般情况没办法保证是全局最优的. 通常在求最优解时, 首先会设定好步长大小进行调整, 按照上述方法对参数进行调整后就会逼近一个极小值 设函数 f ( x ) f(x) f(x)为一元连续函…...

【AI News | 20250515】每日AI进展

AI Repos 1、helix-db 专用于RAG以及AI应用的一款高性能图向量数据库&#xff1a;HelixDB&#xff0c;比Neo4j快1000倍&#xff0c;比TigerGraph快100倍&#xff0c;向量搜索性能和Qdrant相当。原生支持图形和矢量数据类型&#xff0c;比较适合RAG和AI应用&#xff0c;像知识图…...

大数据架构选型分析

选择依据 1.业务需求与技术要求 用户需要根据自己的业务需求来选择架构&#xff0c;如果业务对于Hadoop、Spark、Strom等关键技术有强制性依赖&#xff0c;选择Lambda架构可能较为合适&#xff1b;如果处理数据偏好于流式计算&#xff0c;又依赖Flink计算引擎&#xff0c;那么…...

C++中多重继承下的虚表结构

在 C 的多重继承 中&#xff0c;虚表&#xff08;vtable&#xff09;结构会变得更加复杂。 一、基础回顾&#xff1a;单继承下的虚表结构 类中含有虚函数 → 编译器生成虚表&#xff08;每类一张&#xff09;&#xff1b;每个对象有一个隐藏的虚表指针&#xff08;vptr&#x…...

安全巡检清单

安全巡检报告清单 引言 安全巡检是保障信息系统稳定运行和数据安全的关键环节。通过周期性的状态检查、安全扫描、日志分析和补丁管理&#xff0c;可以及时发现并修复潜在的安全隐患和漏洞&#xff0c;确保网络设备、服务器、操作系统及应用系统的高可用性和安全性。本清单旨…...

【redis】redis常见数据结构及其底层,redis单线程读写效率高于多线程的理解,

redis常用数据结构及底层 string字符串、list链表、set无序集合、zset有序集合、hash哈希 1.string 底层结构是SDS简单动态字符串 struct sdshdr {int len; // 已用长度&#xff08;字符串实际长度&#xff09;int free; // 剩余可用空间char buf[]; // 数组&#…...

Redis6为什么引入了多线程?

大家好&#xff0c;我是锋哥。今天分享关于【Redis6为什么引入了多线程&#xff1f;】面试题。希望对大家有帮助&#xff1b; Redis6为什么引入了多线程&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 6 引入多线程的主要目的是提升性能&#xf…...

使用GmSSL v3.1.1实现SM2证书认证

1、首先使用gmssl命令生成根证书、客户端公私钥&#xff0c;然后使用根证书签发客户端证书&#xff1b; 2、然后编写代码完成认证功能&#xff0c;使用根证书验证客户端证书是否由自己签发&#xff0c;然后使用客户端证书验证客户端私钥对随机数的签名是否正确。 第一部分生成根…...

Spring MVC 接口的访问方法如何设置

RequestMapping 是 Spring 框架中用于映射 HTTP 请求到控制器方法的注解。它支持以下 HTTP 方法访问类型&#xff0c;通过 method 属性指定&#xff1a; GET&#xff1a;用于获取资源POST&#xff1a;用于提交数据PUT&#xff1a;用于更新资源DELETE&#xff1a;用于删除资源PA…...

虚拟网络编辑器

vmnet1 仅主机模式 hostonly 功能&#xff1a;虚拟机只能和宿主机通过vmnet1通信&#xff0c;不可连接其他网络&#xff08;包括互联网&#xff09; vmnet8 地址转换模式 NAT 功能&#xff1a;虚拟机可以和宿主通过vmnet8通信&#xff0c;并且可以连接其他网络&#xff0c;但是…...

【hadoop】Flume日志采集系统的安装部署

一、Flume安装与配置 步骤&#xff1a; 1、使用XFTP将Flume安装包apache-flume-1.9.0-bin.tar.gz发送到master机器的主目录。 2、解压安装包&#xff1a; tar -zxvf ~/apache-flume-1.9.0-bin.tar.gz 3、修改文件夹的名字&#xff0c;将其改为flume&#xff0c;或者创建软…...

Kafka快速安装与使用

引言 这篇文章是一篇Ubuntu(Linux)环境下的Kafka安装与使用教程&#xff0c;通过本文&#xff0c;你可以非常快速搭建一个kafka的小单元进行日常开发与调测。 安装步骤 下载与解压安装 首先我们需要下载一下Kafka&#xff0c;这里笔者采用wget指令&#xff1a; wget https:…...

C# 实现雪花算法(Snowflake Algorithm)详解与应用

在现代分布式系统中&#xff0c;生成全局唯一的标识符&#xff08;ID&#xff09;是一个非常重要的问题。随着微服务架构和分布式系统的普及&#xff0c;传统的单机数据库生成 ID 的方式已无法满足高并发和高可用的需求。为了解决这个问题&#xff0c;Twitter 提出了 雪花算法&…...

中间件-MQ常见问题

MQ常见问题 消息丢失消息会在哪些环节丢失应对机制 消息的顺序性消息幂等消息积压的处理 消息丢失 消息会在哪些环节丢失 网络传输环节&#xff1a;生产者发送消息到broker&#xff0c;broker中master同步消息给slave&#xff0c;consumer消费消息&#xff0c;这3个环节都是跨…...

Redis学习打卡-Day2-缓存更新策略、主动更新策略、缓存穿透、缓存雪崩、缓存击穿

缓存更新策略 对于低一致性需求&#xff1a;使用内存淘汰机制。例如店铺类型的查询缓存。对于高一致性需求&#xff1a;主动更新&#xff0c;并以超时剔除作为兜底方案。例如店铺详情查询的缓存。 主动更新策略&#xff08;缓存读写策略&#xff09; 1. Cache Aside Pattern&…...