滑动窗口算法
介绍滑动窗口法,也叫尺取法,可以用来解决一些查找满足一定条件的连续区间的性质的问题。 思想就按照查找不含有重复字符的最长子串的长度来举例(abcabcbb) 现有两个变量用来当左边和右边的下标(这里以括号表示),满足要求的时候,右括号往右走,如下所示 (a) b c a b c b b —> (a b) c a b c b b —> (a b c) a b c b b —> (a b c a) b c b b 右括号一直走,直到其中包含重复字符也就是两个a,这是右括号停止走并记录此时的最大值也就是3(abc) 不满足的时候左括号开始走 (a b c a) b c b b —> a (b c a) b c b b 此时可以看到括号里面的内容是只有 bca 的,那么满足条件右括号开始走 a (b c a) b c b b —> a (b c a b) c b b 可以看到里面又有重复字符了,此时左括号开始走,并记录最大值,还是3(bca) a (b c a b) c b b —> a b (c a b) c b b 左 ...
日历小案例
成品 * { padding: 0; margin: 0; box-sizing: border-box; } #calendar { width: 300px; background-color: rgb(255, 251, 240); border-radius: 10px; margin: auto; } #yue { border-radius: 10px 10px 0 0; width: 100%; height: 140px; margin-bottom: 10px; background-image: url(https://img.zcool.cn/community/0112bb5d77c95ea ...
cloudflared内网穿透
Cloudflared Zero TrustZero Trust是Cloudflare公司推出的一项企业级虚拟网关服务,官方对其介绍如下: Cloudflare Zero Trust是一个安全框架,旨在通过验证和保护所有的网络访问(无论用户或地点)来保护组织免受网络威胁。该框架基于 “不信任任何人 “的原则,这意味着所有访问请求在被批准之前必须经过验证和授权。 Zero Trust “旨在提供一种全面的安全方法,涵盖一个组织的网络和基础设施的所有方面。这包括用户认证、设备安全、网络分段和应用安全。 Zero Trust的主要好处之一是它能够提供细化的访问控制,使企业能够根据用户角色和权限限制对敏感资源的访问。这可以通过最小化攻击面和限制任何潜在漏洞的影响来帮助防止数据泄露和其他安全事件。 Cloudflare Zero Trust是一项基于云的服务,可以很容易地与组织的现有安全基础设施集成。它的设计具有可扩展性和灵活性,允许企业定制框架,以满足其特定需求和要求。 (通过DeepL翻译) 本文仅使用其中的tunnel功能,对其余功能不做赘述 准备工作 一个域名(通过阿里云等购买然后解 ...
Java多线程
简介是指从软件或者硬件上实现多个线程并发执行的技术 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多个线程,提升性能 简单来说就比如你正在听歌,但是你想要在听歌的同时发布评论并且听歌不受影响,这就是多线程了,一共两个线程,一条线程供你听歌不干其他的事情就光顾着你听歌就行,而另一条线程则是供你发布评论,两条线程同时工作,但又互不影响 概念并发和并行 并行:在同一时刻,有多个指令在多个CPU上同时执行 一共三件事情,同时执行是为并行 并发:在同一时刻,有多个指令在单个CPU上交替执行 还是三个事情,在第一个事情上搞一会,然后在第二个事情上在在搞一会,然后跑到第三个事情上,来回在这三个事情上搞是为并发 进程和线程 进程:正在运行的软件 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位 动态性:进程的实质是程序的一次执行过程,进程是动态产生的,动态消亡的 并发性:任何进程都可以和其他的进程一起并发执行 线程:是进程中的单个顺序控制流,是一条执行的路径 单线程:一个进程如果只有一条执行的路径,则被称为单线程程序 多线程:一个进程如果有多个 ...
使用Java进行json的读取于写入
读123456789101112131415161718String readJson(String Cf) { String json = null; try { FileReader f = new FileReader(Cf); Reader reader = new InputStreamReader(new FileInputStream(Cf)); int ch = 0; StringBuffer sb = new StringBuffer(); while ((ch = reader.read()) != -1) { sb.append((char) ch); } f.close(); reader.close(); json = sb.toString(); } catch (IOException e) { System.out.p ...
FastJson
介绍FastJson是阿里巴巴开源的json解析库,它可以解析json格式的字符串 具有特点 速度快 使用广泛 测试完备 使用简单 功能完备 Maven FatsJson如果是使用的Maven做的项目那么只需要在里面的pom.xml文件里面添加如下代码 12345<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version></dependency> 在刷新一下Maven即可 如果添加代码dependency爆红的话只需要在外面加上一层dependencies标签 123456789<dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjso ...
maven安装与配置
Maven是什么Maven是一款服务于Java平台的自动化构建工具。Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发、打包、测试及部署等一系列行为 因为本来就是使用java写的所以电脑上一定要有jdk这个东西 不过我想都来下载Maven了应该不会还没有装java吧 Maven下载和安装去官网上下载 引用站外地址 Maven https://maven.apache.org/download.cgi 往下翻翻到图片中的位置,然后找到图片中红框中的位置点击下载(版本可能不一样) 下载完成之后找个位置解压文件并记下解压的位置 Maven配置右键此电脑点击属性找到高级系统设置在高级一栏的底下找到环境变量找到系统变量在里面新建 变量名填:MAVEN_HOME 变量值:填文件解压的位置到bin目录上层位置 意思就是bin目录在这个文件夹里面那么路径到这个文件夹就可以停止了 填完 ...
好玩的注释
地址:https://github.com/Blankj/awesome-comment 书1234567891011/*** * .-~~~~~~~~~-._ _.-~~~~~~~~~-. * __.' ~. .~ `.__ * .'// \./ \\`. * .'// | \\`. * .'// .-~"""""""~~~~-._ | _,-~~~~"""""""~-. \\`. * .'//.-" `-. | ...
通过Cloudflare加速GitHub个人仓库
首先,GitHub了解点计算机的都不陌生,全球最大的同性交友平台和众多良心软件的开源地 稍微钻研一下可以就可以发现GitHub的很多妙用,比如搭建图床、搭建博客……因为GitHub的服务器在国外,所以就导致很多时候GitHub打不开,创建的仓库访问也慢,用来建图床半天才把你的图片给加载出来或者半天才进你的博客站点,这显然不是我们想看到的结果,所以,就要说说今天的主角:Cloudflare Cloudflare是一个全球网络 ,旨在让您连接到 Internet 的一切安全、私密、快速和可靠。保护您的网站、API 和 Internet 应用程序。保护企业网络、员工和设备。编写和部署在网络边缘运行的代码——具体可以百度搜索一下,这里不过多赘述 通过这个Cloudflare部署之后又那些好处呢,最大的好处就是访问速度明显加快,不用在等待很长时间,毕竟等待时间最是枯燥乏味的 废话不多说,现在开始操作 准备工作 本文是通过GitHub来进行演示 首先你得有两个账号 一个是GitHub的一个是Cloudflare的,注册我就不多说了以下是官网 引用站外地址 ...
CPU流泪器
前言有一天,在我在虚拟机上玩病毒的时候突发奇想,我也要搞一个类似的玩意儿耍耍(当然,肯定不是搞那种破坏计算机的病毒) 我就想了想病毒运行时候在电脑上所做的操作,其他的不管,就说满屏的文件夹和数不尽的弹窗 诶嘿~ 没错,这次搞的就是满屏幕的文件夹和数不尽的弹窗,不会对计算机造成伤害也能让自己快乐起来 这个方法可能在Win11系统上不会出现文件夹,但是会出现一堆的错误提示,关一个马上跳出来另一个 方法这个是通过批处理(bat)文件来进行操作的,所以要有一个批处理的文件 创建文件:说来也简单,就是创建一个.txt文档,然后把后缀名改成 bat就行了 然后在文件内写入一端代码 123456@echo offfor /l %%a in (0,1,10) do ( md .\%%a start "" ".\%%a")exit 别看这代码少,所谓浓缩的都是精华,虽然少但是威力不小(足以让你的CPU哭哭啼啼) 这段代码的意思就是创建一个for循环从0开始循环1000次,然后每次循环都会干一件事情,就是在本目录创建从0开始到1000为止的文件夹,同时创建完 ...
Git配置远程SSH连接
关于SSHSSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。使用 SSH 协议可以连接远程服务器和服务并向它们验证。连接远程仓库时无需输入密码而且能实现对 github 的流畅访问 具体请看这里 引用站外地址 安全外壳协议 安全外壳协议(Secure Shell,简称SSH)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议 查看现有的SSHWindows打开Git Bash,Linux打开终端输入: 1ls -al ~/.ssh 看到这个证明已经有 ssh 密钥(以 .pub 结尾的文件) 12345678$ ls -al ~/.sshtotal 25drwxr-xr-x 1 Administrator 197121 0 Mar 10 11:53 ./drwxr-xr-x 1 Administrator 197121 0 Mar 10 15:39 ../-rw-r--r-- 1 Admin ...
Rewards刷积分脚本
快速获取 Rewards 积分Rewards 是微软为了宣传自家游览器退出的一项计划,里面可以用积分兑换很多东西,最中意的就是京东的50元的现金券,还有100元的,但是不是每天都有问题需要进行搜索,所以,通过脚本搜索来进行获取积分 脚本是通过C语言来进行编写 脚本是通过40次不重复搜索内容进行搜索来达到快速获取积分 当然,次数也可以自己增加,具体视情况而定 操作脚本的执行时间大约是5分钟 第三版 - 最新之前的代码进行搜索的时候不是很稳定,对手机端搜索时要打开游览器的仿真设备这点可以参照第二版进行设置,这次对搜索和代码都做了以下几点的优化 搜索手机上的搜索不在进行简单的ABC搜索的换成了洪荒的人物和法宝 代码对代码进行了瘦身不再是那么臃肿,这次的代码可以更好的进行知道了要搜索哪些东西 搜索方式也由原来的模仿键盘的按下弹起换成先把搜索词复制到剪切板里面然后进行ctrl+v进行搜索,比之前稳定了不少 这次直接把编译好的放在下面点我前往;本次编译好的一共四个版本 第一个版本:可以有控制台,输入数字从而确定刷取那个端的积分,也可以一起刷 第二个版本:跟第一版的一样,不过没有了控制台,直接进行 ...