瞎折腾 Dokcer 安装 v2rayA linux 上想使用 v2ray 的客户端不容易,但是 v2rayA 是一个可以用 docker 安装的程序。 并且安装非常简单,运行如下脚本即可: docker run -d \ –name v2raya \ –network=host \ -e V2RAYA_ADDRESS=0.0.0.0:2017 \ -v /lib/modules:/lib/modules:ro \ -v /etc/r…
wordpress WordPress 修改文章发布时间为一段时间内的随机时间 针对 wordpress 发布的文章,如果一天内发布太多文章确实是不太好看的,但是可以通过 sql 进行修改。 比如,阿蛮君想将文章 id 为 1-100000 的文章时间修改为 2023 年初到今天的时间。下面的 200 就是1月1号到今天的天数计算出来。 UPDATE `wp_posts` SET `post_date` = ADDDATE( ADDDATE( ADDDATE( ADDDATE…
瞎折腾 Docker 临时运行 php 项目解决办法 逛 github 的时候,时常会遇到喜欢的 php 项目。想要尝试搭建一下,但如果没有现成的 php 环境,临时搭建一个又太麻烦。 之前有一种方案是搭建宝塔环境,比如阿蛮君的这篇文章 Docker 搭建宝塔面板快速搭建网站运行环境, 接下来这种方案对于临时测试的 php 其实更方便,不过如果想要长期运行,建议还是不要用这种方式。 1. nginx-php 这个容器不包含数据库,但是提供了 php …
瞎折腾 Docker 搭建 nas 导航 heimdall 如果玩 nas,肯定有一堆的 web 应用,那么就要记非常多的端口号,这是一件非常麻烦的事情。 今天介绍的 heimdall 是一款专为 nas 设计的导航程序,你只需要简单安装即可使用,并且非常美观,甚至应用的图标都是内置的,省去了非常多的麻烦。 搭建命令如下: docker run -d \ –name=heimdall \ -p 80:80 \ -p 443:443 \ -v /home/…
经验教程 Windows 下 git 配置代理 Github 实在太慢,如果不配置代理几乎无法克隆仓库,于是今天几种办法都尝试了一下。 这里说明一下,由于阿蛮君本地装了代理,所以这里用的代理地址都是本地代理。 1. 临时使用代理 这种方式仅适用于 https 方式。 git clone -c http.proxy=socks5://127.0.0.1:10808 https://github.com/username/repository.gi…
程序开发 Spring Security 详解以及认证过程 简介 Spring Security 是基于 Spring 实现的一个安全框架,其中包括非常多的过滤器,主要进行攻击防护、认证授权等功能。 过滤器链 Spring Security 常用的过滤器有15个,如下图所示: 在 FilterChainProxy 类中的 doFilterInternal 方法打断点可以看见。 1.org.springframework.security.web.conte…
程序开发 WebSecurityConfigurerAdapter 详解 简介 WebSecurityConfigurerAdapter 是 Spring Security 中的一个抽象类,实现了WebSecurityConfigurer接口,用于配置 Spring Security 的安全性设置。 类图如下: 通过继承WebSecurityConfigurerAdapter并覆盖其中的方法,可以自定义应用程序的安全性配置。 常用配置 下面贴一下WebSecurityC…
程序开发 Stream 流用法详解 简介 Stream 是 Java 8 引入的一个功能强大的流式处理 API。它允许我们以声明性的方式操作集合(数组、集合等)的元素。通过使用 Stream,我们可以将多个操作连接起来,形成一个流水线,从而简化代码并提高可读性。 Stream 类中包含的方法,可以进行数据筛选、转换、排序、去重、限制、跳过、归约、统计、匹配、查找和遍历等操作。 数据筛选和转换: filter(Predicate<…
程序开发 工具类 Optional 用法详解 Optional 类是 Java 8 中引入的一个用于避免空指针异常的工具类,请注意它是 java.util 包下的一个工具类。 它提供了一系列方法,用于对可能为 null 的对象进行操作,以便更加安全地访问对象的属性和方法。 Optional 里面几乎全部都围绕其中的一个成员变量 value 在运作。 下面是 Optional 类中常用的方法及其用法: of 方法 创建一个包含指定对象的 Opt…
经验教程 设计模式之三种工厂模式 前言 工厂模式是一种创建对象的设计模式,它提供了一个统一的接口来实例化对象,而不需要通过直接调用构造函数来创建。工厂模式可以根据不同的条件返回不同类的实例,从而实现对象的灵活创建。 常见的工厂模式包括:简单工厂模式、工厂方法模式和抽象工厂模式。 详解 1. 简单工厂模式 简单工厂模式,就像它的名字一样,非常简单。只需要创建一个工厂类,根据传入的参数或条件,工厂类决定实例化哪个具体类的对象并返回。 …
经验教程 设计模式之软件设计原则 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 6 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 1 开闭原则 对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。 想要达到这样的效果,我们需要使用接口和抽象类。 因为抽象灵活性好,适应…
经验教程 设计模式之UML类图 1. 类图概述 统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 UML 从目标系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。 类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部…