程序开发 50 个 Java 编程技巧 一、语法类技巧 1.1. 使用三元表达式 普通: String title; if (isMember(phone)) { title = "会员"; } else { title = "游客"; } 精简: String title = isMember(phone) ? "会员" : "游客"; 1.2.利用 fo…
程序开发 Java 彻底理解两种动态代理 在 java 中,有两种常见的动态代理实现方式,即基于接口的动态代理(JDK 动态代理)和基于类的动态代理(CGLIB 动态代理),下面就对这两种代理进行解释和举例。 1. JDK动态代理 这种动态代理实现方式是基于接口的,使用 java.lang.reflect.Proxy 类和 java.lang.reflect.InvocationHandler 接口来创建代理对象。代理对象实现了目标接口,…
瞎折腾 Docker 自建超实用的导航网址 onenav 为什么选择onenav 在之前,阿蛮君也搭建过导航网址,不过当时使用的 wordpress 搭建,并使用的一为导航主题。 但是后来发现,这个导航网站的作用并不大,因为搭建以后我并没有去管理过它,毕竟因为添加那么多链接是一件很心累的事。 此外,wordpress 搭建静态导航网址,实在是大材小用,占用内存也比较高,还需要用到 mysql。 直到发现了 onenav 这款导航,配合 baisu 主题,…
瞎折腾 Docker 搭建中继服务器 derp – 纯 IP 实现 1. 纯IP搭建关键 接之前 Docker 搭建中继服务器 derp,上次的文章需要有域名,并且申请好 ssl 证书。 原因在于 derp 服务器,在 tailscale/cmd/derper/cert.go 文件中需要验证域名,如果将验证的代码去掉,那么 derp 将不会出现证书不匹配的错误,也就是说此时可以使用 IP或者域名都不会报错。 func (m *manualCertManager) …
瞎折腾 Docker 搭建中继服务器 derp – 需要域名并配置 ssl 了解Derp 在搭建 derp 之前,前提是你应该了解并搭建了 headscale 服务端,否则请先看文章 Docker 搭建 headscale 异地组网完整教程。 已经加入 headscale 的异地组网的客户端可以使用如下命令查看当前的 derp 服务器。 # docker 运行的客户端 docker exec -it tailscaled tailscale netcheck # 非 do…
其他分享 NAT 类型详解以及如何查看自己的 nat 类型 四种NAT类型 NAT 可以分为四种类型: 完全锥形NAT(Full Cone NAT) 完全锥形NAT最简单,也是最灵活的一种。它会为内部网络中的每个主机分配一个公共IP地址和端口号,并且允许从任何外部网络地址的任何端口与内部主机通信。一旦内部主机首次向外部主机发送数据,完全锥形NAT就会将源IP和端口映射到公共IP和端口,以便外部主机可以回复。 地址限制锥形NAT(Address Restri…
其他分享 使用 ocrmypdf 把 pdf 文件变成可搜索的工具 很多 pdf 是图片导出 pdf 文件,此时如果想要进行搜索和复制是没有办法的。接下要介绍的是 orrcmypdf 工具,这个工具能即将你的 pdf 变成可搜索可复制的工具。 开源项目地址:https://github.com/ocrmypdf/OCRmyPDF 如果你只是想简单试一下效果,将 test.pdf 修改为你的 pdf 文件名,并放在当前目录下。 # 如果文档是中文 docker ru…
wordpress Docker-compose 安装 wordpress 搭建个人博客非常详细教程 前言 有人问阿蛮君如何搭建一个这样的博客,今天就抽空写一下使用 docker-compose 搭建个人博客。这需要你有一定的 docker 或 docker-compose 基础,如果你还不了解 compose,那么可以看看这篇文章 容器编排 Docker-compose 详解。 直接使用 docker run 其实也是可以的,如果你实在不想用 compose,那么你可以让 chatgpt 帮你转…
瞎折腾 Docker 搭建开源文件同步工具 Syncthing 简介 Syncthing 是一个开源的文件同步工具,可以在不同设备之间同步文件和文件夹。它使用了点对点的方式进行同步,如果点对点连接成功则不需要通过云服务器中转,因此更加安全和私密。 Syncthing 就好比是 Onedrive,当你指定了同步哪些文件夹,它会定时检测文件夹下的文件是否有增加减少或者修改,如果有修改那么将会点对点同步到另外的客户端,当然这是你在一边配置了分享,另一边配置了同步的情…
瞎折腾 Docker 搭建开源的网盘管理工具 AList 前言 AList 是一个支持多种存储的文件列表程序,它本身的搭建非常简单,但是功能非常强大,能够支持展示各大网盘厂商的网盘内容,包括阿里云盘、百度网盘等等,同时还支持展示对象存储、webdav、ftp等等。 阿蛮君其实很久之前就知道 alist,但由于自己本身找文件的场景不是非常多,而且就算是展示网盘内容,速度也还是比较慢的,所以就没怎么用。 最近想着公司内部分享公开文件,但是直接公开 webda…
瞎折腾 Docker 搭建堡垒机 Next-terminal 简介 想必经常玩服务器的都了解过堡垒机,类似于跳板机,但与跳板机的侧重点不同。堡垒机的主要功能是控制和监控对内部网络的远程访问。它提供严格的访问控制、会话审计和监控等功能。而跳板机更侧重于提供一个安全的中转平台,用于跳转到内部网络的其他服务器或设备。 之前阿蛮君了解过开源堡垒机项目 Jump server,但组件过多搭建实在是比较复杂,于是了解到 Next-terminal 项目。相比较之下 Ne…
瞎折腾 Docker 搭建网页版局域网文件传输工具 snapdrop 一、前言 在不同设备间需要传输文件的时候,阿蛮君总是会面临一个艰难的选择,到底用不用微信文件助手传,如果文件很大怎么办,并且传到文件助手我应该怎么在文件管理中找到文件的位置。 这是真实发生的事情,之前使用 zerotier 异地组网,安卓端需要安装 zerotier fix 软件并更换 planet 文件,我当时搞了很久。 今天又面临需要传文件的问题,忍无可忍,于是想在网上找局域网传输工具,但是很…