自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 收藏
  • 关注

原创 Windows部署WebDAV服务并映射到本地盘符实现公网访问本地存储文件

在Windows上如何搭建WebDav,并且结合cpolar的内网穿透工具实现在公网访问。WebDav是一种基于http的协议,允许用户在服务器上创建、修改、删除和移动文件,它的优点是可以方便的通过网络访问和管理文件,并且支持多用户协作,提供安全的加密机制。使用WebDav协议,用户可以将网盘挂载到本地电脑或手机上,可以直接操作网盘上的文件了。

2024-02-26 15:04:04 623 27

原创 JVM(1)

JVM是Java Virtual Machine的简称,意为Java虚拟机.在java中,它归属于jre(java运行时环境), 而jre归属于jdk(java开发工具包).虚拟机是指通过软件模拟的具有完整硬件功能的,运行在一个完全隔离的环境中的完整计算机系统.常见的虚拟机:JVM, VMwave, VirtualBox.JVM和其他两个虚拟机的区别:1.VMwave与VirtualBox通过软件模拟物理CPU的指令集,物理系统中会有很多的寄存器.

2024-02-24 18:27:44 929 11

原创 网络原理 - HTTP/HTTPS(5)

HTTPS也是一个应用层协议.在HTTP协议的基础上引入了一个加密层.

2024-02-24 07:29:58 1568 30

原创 网络原理 - HTTP/HTTPS(4)

(是访问成功,还是失败,还是其它的一些情况...).(学习状态码 -> 为了调试问题. 写服务器时,按照状态码的含义正确使用.

2024-02-21 11:42:05 1503 20

原创 网络原理 - HTTP/HTTPS(3)

header的整体的格式也是"键值对"的结构.每个键值对占一行,键和值之间使用分号进行分割.报头的种类有很多,此处仅介绍几个常见的.

2024-02-20 11:35:54 2269 42

原创 网络原理 - HTTP/HTTPS(2)

平时我们俗称的"网址"其实就是说的URL(Uniform Resource Locator统一资源定位符). (还有一个唯一资源标识符,称为uri,严格来说,uri范围比url广).

2024-02-19 12:19:44 1300 8

原创 网络原理 - HTTP/HTTPS(1)

思考问题:为什么HTTP报文中要存在"空行"?因为HTTP协议中并没有规定报头部分的键值对有多少个.空行就是"报头结束的标记",或者是"报头和正文之间的分隔符".HTTP在传输层依赖TCP协议,TCP是面向字节流的.如果没有这个空行,就会出现"粘包问题".

2024-02-18 15:51:36 2226 42

原创 网络原理-TCP/IP(7)

路由表的Destination是网络地址,Genmask是子网掩码,Gateway是下一跳地址,Iface是是发送接口,Flags中U标志标识此条目有效(可以禁用某些条目),G标志标识此条目的下一跳地址是某个路由器的地址,没有G标志的条目表示目的网络地址是与本机接口直接相连的网络,不必经由路由器转发。就有大佬干脆搭建了一组服务器,来提供域名解析服务(hosts内容放到服务器里了),你某个主机想访问某个域名,就先查询一下域名解析服务器(DNS服务器),查到的结果,就是域名对应的IP,拿着IP进行访问即可.

2024-02-17 15:42:39 2622 18

原创 网络原理-TCP_IP(6)

13位分片偏移(framegament offset):是分片相对于原始IP报文开始处的偏移.其实就是表示当前分片在原报文中的哪个位置,实际偏移的字节数是这个值*8得到的.因此,除了最后一个报文之外,其它报文的长度必须是8的整数倍(否则报文就不连续了).(3位标志字段:第一位保留(保留的意思是现在不用,但是说不定以后要用到).第二位置为1表示禁止分片,这时候如果报文长度超过MTU,IP模块就会丢弃报文.第三位表示"更多分片",如果分片了话,最后一个分片置为1,其它是0,类似一个结束标记.

2024-02-16 14:31:15 1801 30

原创 HomeAssistant系统添加HACS插件商店与远程控制家中智能家居

本文将介绍如何安装HACS插件商店,将米家,果家设备接入 Home Assistant。​ 通过这两篇文章,我们实现了使用群晖Docker部署HomeAssistant并可以在户外访问控制米家等智能家居。​ 自动识别该账号绑定的全部米家设备,我绑定的是小米路由器,点提交后即可控制米家设备。刷新一下,左侧出现HACS选项,进入即可安装各种插件与设备链接。​ 到这我们就实现了使用固定的公网地址,异地控制家中小米设备。与安装HACS操作相同,添加后,登陆米家账号,即可使用。,然后根据引导操作即可。

2024-02-05 19:20:25 1686 34

原创 网络原理-TCP/IP(5)

如果接收数据的主机立刻返回ACK应答,这时候返回的窗口可能比较小.1.假设接收端缓冲区为1M.一次收到了500K的数据;如果立刻应答,返回的窗口就是500K;2.但实际上可能处理端处理的速度很快1,10ms之内就把500K数据从缓冲区消费掉了;3.在这种情况下,接收端处理还远没有到达自己的极限,即使窗口再放大一些,也能处理的过来;4.如果接收端稍微等一会再应答,比如等待200ms再应答,那么这个时候返回的窗口就是1M;

2024-02-04 10:41:31 3501 16

原创 网络原理-TCP/IP(4)

之前我们讲过了确认应答策略,对发送的每一个数据段,都要给一个ACK确认应答,收到ACK后再发送下一个数据段.3.收到第一个ACK时,滑动窗口向后移动,继续发送第五个段的数据;来记录当前还有哪些数据没有应答;只有确认过的数据,才能从缓冲区删掉;2.发送前四个段时,不需要等待任何ACK,直接发送;,因为确认应答机制导致了时间大量都花在ACK上.由上图,这就是滑动窗口方法传递数据的原理,就是。4.操作系统内核为了维护这个滑动窗口,需要开辟。5.窗口越大,则网络的吞吐量越高;既然这样一发一收的效率比较低,

2024-02-02 18:53:12 1566 14

原创 网络原理-TCP/IP(3) - 三次握手超详解析

TCP的连接是虚拟的,抽象的,目的是让通信双方保存对方信息.在正常情况下,TCP要经过三次握手建立连接,四次挥手断开连接.之前我们在网络编程中的 socket = new Socket(ip, port); 这个操作就是建立连接.而这个操作知识调用了socket的api,真正建立的过程,是在操作系统内核中完成.

2024-02-02 07:17:08 1299 4

原创 如何使用Cloudreve搭建私有云盘并发布公网访问无需购买域名服务器

自云存储概念兴起已经有段时间了,各互联网大厂也纷纷加入战局,一时间公有云盘遍地开花。但一段时间后,公有云盘潜在的安全问题也暴露出来,原有的共有云盘用户纷纷转为搭建私有云盘,也带动了群晖等一众私有云盘供应商的发展。可群晖硬件动辄数千,让个人消费者难以招架,是否能将个人电脑改造为私有云盘呢?答案自然是肯定的,今天我们就为大家介绍,如何使用Cpolar与Cloudreve,在个人Windows电脑上搭建一个强大的PHP云盘系统。

2024-02-01 20:14:48 1004 26

原创 网络原理-TCP_IP(2)

TCP全称为"传输控制协议(Transmission Control Protocol)".协议如其名,要对数据的传输进行一个详细的控制.注意:这个是确保可靠性的最核心的机制了.TCP将每个字节的数据都进行了编号,即为序列号(防止出现先发后至的问题). 每一个ACK都带有确认序列号,意思是告诉发送者,我们已经收到了哪些数据;下一次从哪里开始发.应答报文的确认序号是按照发送过去的最后一个字节的序号+1设定.是确认应答的补充. 这种情况是接收方本来就未收到数据,此时重传理所应当,没有任何问题.但是,主机A未收到

2024-01-31 17:43:51 1294 17

原创 网络原理-TCP/IP(1)

我们之前编写完了基本的java socket, 要知道,我们之前所写的所有代码都在应用层中,都是为了完成某项业务,如翻译等.关于应用层,后面会有专门的讲解,在此处先讲一下基础知识.应用层对应着应用程序,是程序员打交道最多的一层,调用系统提供的网络api写出的代码都是应用层的应用层这里虽然有很多协议,但程序员应该按照场景,自定义协议.().

2024-01-30 17:06:56 3592 19

原创 数据可视化工具JSON Crack结合内网穿透实现公网访问

上面在本地Docker中成功部署了 JSON Crack ,并局域网访问成功,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤。使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到 JSONCrack 界面,这样一个公网地址且可以远程访问就创建好了,使用了Cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!

2024-01-29 14:27:11 1063 40

原创 网络编程套接字(2)

DatagramSocket是UDP的Socket,用于发送和接收数据报.操作系统中有一类文件,就叫做socket文件(普通文件/目录文件:在硬盘上的)DatagramSocket就是对socket文件进行读写,也就是借助网卡发送数据.创建一个UDP数据报套接字的Socket,绑定到本机任意一个随机端口(一般用于客户端)创建一个UDP数据报套接字的Socket,绑定到本机指定的端口(一般用于服务端)从此套接字接收数据报(如果没有收到数据报,该方法会阻塞等待)

2024-01-28 18:13:32 982 15

原创 网络编程套接字(1)

网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)当然,我们只要满足进程不同就行;所以即使是同一个主机,只要是不同的进程,基于网络来传输数据,也属于网络编程特殊的,对于开发来说,在条件有限的情况下,一般也是在一个主机中运行多个进程来实现网络编程.但是我们一定要明确,我们的目的是提供网络上不同主机,基于网络来传输数据资源进程A:编程来获取网络资源.进程B:编程来提供网络资源.

2024-01-26 20:13:29 1489 17

原创 文件操作与IO(一些小项目)

扫描指定目录,并找到名称对应的所有文件(不包含目录).

2024-01-26 16:16:37 557 27

原创 网络原理-初识(2)

对于网络协议来说,往往分成几个层次进行定义.网络通信的过程中,需要涉及到的细节,其实非常多.如果要有一个协议来完成网络通信,就需要约定好方方面面的内容,导致非常复杂. 而如果拆分的话,就十分复杂,庞大,因此需要分层.什么是协议分层协议分层类似于打电话时,定义不同层次的协议:某一层的协议替换之后,对于其它层没有影响在这个例子中,我们的协议只有两层;但实际的网络通信会更加复杂,需要分更多的层次.

2024-01-25 18:03:06 1248 10

原创 WinSCP下载安装并实现远程SSH本地服务器上传文件

​Winscp是一个支持SSH(Secure SHell)的可视化SCP(Secure Copy)文件传输软件,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。​ 可视化操作就是直接把文件从本机拖入,打开文件直接双击即可。软件特性支持协议众多:SSH ,FTP、SFTP、FTPS、SCP。友好的图形操作界面,设置可以在选项界面中更改皮肤。与 Windows 完美集成(拖拽, URL, 快捷方式)内置文本编辑器。

2024-01-25 15:17:46 1224 19

原创 网络原理-初识(1)

网络通信传输的数据类型可能有很多种:图片,视频,文本等.同一个类型的数据,格式也可能不同,如发送一个文本字符串"你好"!网络互连的目的是进行网络通信,也即是网络数据传输,更具体一点,是网络主机中的不同进程间,基于网络传输数据.通常用"点分十进制"的方式来表示,即a,b,c,d的形式(a,b,c,d都是0~255之间的十进制整数).如果有北,中,南分公司,甚至海外分公司,这些分公司以专线方式连接起来,即称为"广域网".如果属于全球化的公共型广域网,则称为互联网(又称公网,外网),属于广域网的一个子集.

2024-01-24 21:54:41 1222 13

原创 文件操作与IO(3)

修饰符及返回值类型方法签名说明int(实际是byte)read()读取一个字节的数据,返回值代表读取到的字节值,返回-1代表已经完全读完了int最多读取b.length字节的数据到b中,返回实际读到的数量;-1代表已经读完了int其中off是offset(偏移量),最多读取len - off字节的数据到b中,放在从off开始,返回实际读到的数量,-1代表读完voidclose()关闭字节流注意:1.byte[] b表示一个缓冲区,往往是一个内存空间,

2024-01-22 19:30:44 1083 6

原创 如何在Linux部署JumpServer堡垒机并实现远程访问本地服务

JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpServer 帮助企业以更安全的方式管控和登录所有类型的资产,实现事前授权、事中监察、事后审计,满足等保合规要求。下面介绍如何简单设置即可使本地jump server 结合cpolar 内网穿透实现远程访问jump server 管理界面.

2024-01-22 15:48:24 859 25

原创 文件操作与IO(2)

我们先来看看File类中的常见属性,构造方法和方法.

2024-01-21 21:06:55 1302 5

原创 文件操作和IO(1)

.针对硬盘这种持久化的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,就类似办公桌上的一份份真实的文件一般.如上图就是磁盘,类似一个碟片机的东西.上面那个尖叫做磁头(很细的针头,能感知磁性的变化,磁头悬停在盘片不同位置可以进行读取),圆的是盘片,可以高速旋转以让磁头读取.固态硬盘:内部为集成电路,和磁性介质无关. -> 优势:读写速度快了很多.机械硬盘:磁性介质存储二进制数据.先来认识狭义上的文件(磁盘属于外存的一种.

2024-01-21 13:01:09 1149 13

原创 线程安全的集合类

原来的集合类,大部分都是线程不安全的.1.自己使用同步机制(Synchronized或者ReentrantLock),前面已经做过许多讨论了,这里不再展开.2.Collections.synchronizedList(new ArrayList); 3.使用CopyOnWriteArrayList.当我们往一个容器添加元素的时候,不直接往当前容器里添加,而是先将当前容器进行Copy,复制出一个新的容器,然后向新的容器里添加元素,添加完元素之后,再将原容器的引用指向新容器.一旦有线程修改值时,把顺序表复制一份

2024-01-19 12:48:42 1000 4

原创 如何使用Synology Drive作为文件同步服务器实现云同步Obsidian笔记

​上期教程介绍了如何免费多端同步Zotero科研文献管理软件,我在文章中分享了群晖Nas虚拟机安装包,使用群晖的WebDav功能实现多端云同步,本期将演示使用群晖Synology Drive实现同步笔记文件。​ 当我们使用Zotero阅读文献并画出重点后(输入),需要一款多功能的笔记软件来整理学到的东西,并做出一系列科研计划,Todolist,整理研究思路等等(输出),而且还支持Markdown语法。​ 这里我推荐一款强大的笔记软件Obsidian,它是一款纯离线。

2024-01-18 15:36:01 1669 21

原创 JUC(java.util.concurrent)的常见类(多线程编程常用类)

3.CAS(原子类)4.Semaphore (也可以用于实现生产者消费者模型定义两个信号量:一个用来表示队列中有多少个可以消费的元素sem1,另一个用于表示队列中有多少个可放置新元素的空间sem2.生产:sem1.V(),sem2.P()消费:sem1.P(),sem2.V()

2024-01-17 17:00:24 1102 14

原创 CAS的超~详细介绍

ABA的问题:假设存在两个线程t1,t2.有一个共享变量num,初始值为A.接下来,线程t1想使用CAS把num变成Z,那么就需要先读取num的值,记录到oldNum变量中使用CAS判定当前num的值是否为A,如果为A,就要修改成Z.但是,在t1执行这两个操作之间,t2线程可能把num的值从A改成了B,又从B改成了A.线程t1的CAS期望num不变就修改.但是num的值已经被t2给改了.只不过又改成A了.这个时候t1究竟是否要更改num的值为Z呢?

2024-01-15 22:06:48 1149 22

原创 如何使用LightPicture+cpolar搭建个人云图床随时随地公网访问

现在的手机越来越先进,功能也越来越多,而手机的摄像功能也愈发强大,所拍摄的照片越来越清晰,但也让数码照片的体积暴涨。对于像笔者这样经常拍照的人来说,手机容量经常告警,因此笔者将家里的电脑改造成能随时上传下载和访问的图片服务器。今天,笔者就为大家展示,如何使用Cpolar内网穿透与Lightpicture组合,将个人电脑改造成能随时上传、下载或访问,并能生成外链的图床服务器。图床作为现代网站必不可或缺的辅助网站,对于自建网站的意义不言而喻。

2024-01-15 15:19:00 1047 17

原创 泛型进阶: 泛型方法 & 通配符

方法限定符 返回值类型 方法名称(形参列表) {...}

2024-01-12 18:46:27 780 35

原创 Kali安装Xrdp结合内网穿透实现无公网ip远程访问系统桌面

Kali远程桌面的好处在于,它允许用户从远程位置访问Kali系统,而无需直接物理访问该系统。这使得用户可以在不同的位置使用Kali系统,而无需在每个位置都安装Kali系统。此外,远程桌面还可以提高Kali系统的安全性,因为用户可以在不直接接触Kali系统的情况下进行工作,从而减少了潜在的安全风险。下面介绍Kali 安装Xrdp 远程桌面工具,并结合Cpolar 内网穿透软件实现远程访问Kali桌面,跳出局域网限制.

2024-01-11 15:55:02 1390 18

原创 如何使用Docker部署开源CMF Drupal并结合cpolar内网穿透远程访问

Dupal是一个强大的CMS,适用于各种不同的网站项目,从小型个人博客到大型企业级门户网站。它的学习曲线可能相对较陡,但一旦熟悉了它的工作方式,用户就能够充分利用其功能和灵活性。在本文中,我们将介绍如何使用Docker快速部署Drupal,并且结合cpolar内网穿透工具实现公网远程访问首先,您需要在您的机器上安装Docker,并且启动,可以按照Docker官方文档中的说明进行安装。

2024-01-09 08:24:39 1862 22

原创 如何使用可视化管理工具DockerUI远程管理docker容器

DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基于容器安装方式,部署方便高效,浏览和维护docker单节点或集群节点worker和manager。DockerUI具有易于使用的界面。它不需要记住 docker 指令。只需下载镜像即可立即加入并完成部署。使用DockerUI并结合cpolar内网穿透可以更加轻松的管理docker和swarm,实现后台公网访问并管理,视觉性更加直观,后台开发更加便利。

2024-01-05 14:08:48 2989 30

原创 枚举的使用

1.枚举本身就是一个类,其构造方法默认是私有的,且都是继承于java.lang.Enum2.枚举可以避免反射和序列化问题3.枚举的优点(简单安全,有内置方法,代码更优雅)与缺点(无法拓展)面试问题1.写一个单例模式2.用枚举实现一个单例模式INSTANCE;System.out.println("两个实例是否相同: " + (singleton1 == singleton2));

2023-12-26 16:53:55 1145 31

原创 Lambda表达式超详解

lambda表达式的优点很明显,在代码层次上来说,使代码变得非常地简洁.缺点也不明显,代码不易读.优点:1.代码简洁,开发迅速2.方便函数式编程3.非常容易进行并行运算4.Java引入了Lambda,改善了集合操作缺点:1.代码可读性变差2.在非并行计算中,很多计算未有传统的for性能要高3.不容易进行调试。

2023-12-24 11:37:03 1504 23

原创 本地配置Java支付宝沙箱环境模拟支付并内网穿透远程调试

在沙箱环境调试支付SDK的时候,往往沙箱环境部署在本地,局限性大,在沙箱环境中有多种支付场景,往往是多人联合开发,本地环境可能无法满足异地联合,所以把本地环境变成公网环境下进行调试开发会更好。本次教程,我们将使用支付宝平台提供的沙箱环境,在本地配置测试模拟支付,并做内网穿透,通过cpolar穿透内网,实现在公网环境下的远程访问,无需公网IP,也无需配置路由器。

2023-12-21 13:58:34 2105 22

原创 如何在本地Docker中部署MinIO服务并实现远程访问管理界面

MinIO是一个开源的对象存储服务器,可以在各种环境中运行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以与现有的S3工具和库无缝集成。MinIO的设计目标是高性能、高可用性和可扩展性。它可以在分布式模式下运行,以满足不同规模的存储需求。MinIO是一个开源的软件,可以免费使用,还可以在普通硬件上运行,降低了存储成本,下面介绍在本地Docker中部署 MinIO 服务,并实现远程访问管理界面,节约云服务器运行成本.

2023-12-18 14:31:45 2630 26

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除