无重复字符的最长子串
原题链接这是一道比较简单的滑动窗口应用题。之所以写出来是因为面试遇到了,当时还没做出来 😭。
题目分析以例题的 abcabcbb 为例。设置一个滑动窗口,当窗口为 abc 的时候满足题意,但是这个时候 a 入队这样就不满足了,于是需要把窗口左边移动到上一个 a 的位置,让窗口变成 bca,而如何知道上一个 a 的位置,我们就需要一个结构来存储每个字符的上个位置,这个结构很明显用 Map 就可以了。当然这里还有一个易错点就是这个 a 必须在当前窗口里面,否则是没必要移动的。
参考代码123456789101112131415161718192021class Solution { public int lengthOfLongestSubstring(String s) { int start = 0,end = 0; int len = s.length(); Map<Character,Integer> map = new HashMap<>(); int max = 0; ...
Docker客户端访问远程Docker Engine
1. 开启 2375 端口这里以ubuntu20.04为例编辑文件
1vim /usr/lib/systemd/system/docker.service
ExecStart 属性添加参数 -H tcp://0.0.0.0:2375加载 docker 守护进程重启 docker
12systemctl daemon-reloadsystemctl restart docker
注意 ⚠️ 防火墙无需开启 2375 端口放行
2. 配置 ssh这里没什么好说的,配置本地访问的 ssh 密钥,略
3. 创建 docker context本地创建 docker context
1docker context create <context name> --docker "host=ssh://<user>@<host>"
切换到刚才的 context
1docker context use <context name>
这样就可以在本地直接操作远程的 docker 了
切换到本地如果想切回本地
1 ...
解决无线网卡偶尔搜不到wifi的问题(信道不统一)
背景家里一台笔记本电脑,还有一个无线网卡偶尔搜不到 wifi,不是必现,但是 mac 电脑还有一些物联网设备,手机从来没有出现这个问题。
解决过程因为绝大部分设备都是没有这个问题的, 因此一开始怀疑是那台电脑的驱动问题,尝试升级了驱动但是并没有解决问题。
家里两个路由器,我就想用另外一个试验一下,发现可以稳定搜到。因为着急用网,就想着用平时不常用的那个路由器中继一下,电脑连上先用起来,发现中继之后就搜不到信号了。这个时候我开始怀疑是信号的问题。
网上找了一下关键字,说是可能两台设备的信道范围不同。
看了一下 Wi-Fi 的信道,设置是自动的范围是 5-13
在看了一下网卡的信道发现范围是 1-11所以 12,13 两个信道的信号可能就接受不到,这也和偶发的场景对上了,调整网卡的信道配置问题解决
基于code-server搭建自己的开发环境
背景平时用的设备不同,win、mac、linux 都用,想统一一下开发环境。而刚好看到 coder-server 这个开源的 WebIDE,这样把 code-server 部署到服务器上,每个环境只要又个浏览器就可以共享部署在服务器上的环境。
定制过程定制一个带有 code-server 的镜像,既包含 code-server 又包含自己想要的工具。下面列出主要过程,完整版可以直接看这个文件
1FROM codercom/code-server:latest
配置 git123456# git configRUN git config --global --add pull.rebase false \ && git config --global --add user.name furacas \ && git config --global --add user.email s.furacas@outlook.com \ && git config --global core.editor vim \ &am ...
备份服务器文件至百度网盘
安装bypy1pip3 install bypy
授权登陆执行
1bypy info
访问出现的链接登陆之后,获取到授权码,输入授权码之后授权成功
创建备份脚本创建目录1mkdir -p /backup/
创建**backup_to_baidu.sh **内容如下
1234backtar=`date '+%Y%m%d%H%M%S'` #名称为当前时间年月日时分秒zip -r /backup/${backtar}.zip /root/app/ #上传某个路径下的文件,以空格隔开,可以添加多个/usr/local/bin/bypy upload /backup/${backtar}.zip #上传的压缩文件find /backup -mtime +7 |grep .zip | xargs rm -f #删除7天前生成的压缩包
执行脚本测试备份是否成功
1sh backup_to_baidu.sh
添加定时任务1crontab -e
设置每天凌晨 2 点备份一次
10 2 * * * sh /backup/back ...
情侣风格的Hexo主题Brave
主题介绍该主题最初版是 typeecho 主题Brave移植过来的,感谢原作者 🙏。
演示地址 https://hexo-brave.furacas.com/
主题安装安装主题1npm i hexo-theme-brave
选择主题修改_config.yml
1theme: brave
安装祝福(评论)系统目前支持 Waline 集成,安装参考https://waline.js.org/guide/get-started.html
修改配置文件新建_config.brave.yml文件复制默认的配置文件的内容到到刚才新建的文件中修改这些配置为您的配置
配置项
说明
默认值
lovebegin
恋爱开始时间
2017-07-27 |
banner
页面大图的图片地址
/img/banner.jpg
leftname
左侧情侣头像的名称
boyname
leftavatar
左侧情侣头像的图片地址
/img/boyavatar.jpg
rightname
右侧情侣头像的名称
grilname
rightava ...
Kali 暴力破解wifi密码
特别声明本文仅用于学习研究,切勿用于非法用途
wifi 密码破解网上一大堆教程都是用aircrack-ng抓包,操作过程比较繁琐,明明 kali 都内置了自动化的wifite了。为了方便后面操作先切换到 root
1su root
启动wifite
1wifite
选择一个支持监听的网卡,如果不支持的话,淘宝 20 快可以搞到这样就开始自动扫描 wifi 信号了当扫描到你想要的 wifi 的时候按一下 Ctrl + C按一下就好了,可能反应有些慢然后选择你要破解 wifi 的编号,或者输入 all 代表全部。
这里 wifi 可能有几种情况可以看到有些的 WPS 是 yes,有些是 no。不同的脚本处理的方式是不同的。但基本都可以自动化。
选择 WPS 是 no 的选择了之后,脚本会进行自动化操作,脚本会尝试破解,当然一般情况下是破解不出来的。因为内置的字典表太弱了等他破解失败之后我们获取到刚才生成的文件hs/handshake_2412016_58-41-20-91-3F-3F_2022-07-27T08-58-37.cap开始尝试使用我们自己的字典表破解这里我们使用 kali ...
随身wifi使用体验
因为一些原因需要短租一段时间,新家没有网,正好淘宝推荐给我了一款随身 wifi,杂牌子也有,华为小米的也有,几乎清一色的好评,在淘宝上买了两次杂牌子不太满意,又在京东上选择了一个号称京东参与研发的JDRead使用了一天感觉没达到预期的效果也退了。
关于套餐价格这是我不能满意的很主要原因,性价比低,套餐是 79/月 1500G。正常情况下肯定用不到 1500G,可以简单认为无限流量。但是这个 79 元相对于他的乌龟一样的速度(速度会在关于网速详细)就很贵了。而且他可供选择的套餐很少,79 这个几乎是最便宜的了。而淘宝上某些产品有便宜的小流量套餐,但大多数每个月只能挑选一个,用完了就只能下个月换了,这点也很坑,需要在之前问清楚。
关于网速我只能说龟速,速度不如正常的 4G 流量,还卖那么贵,所以为什么不直接花钱买流量。而且部分产品到了一定流量还限速。网速还有一个坑点可能大家平时也不注意,在浏览器或者下载软件上面显示的网络是 MB/s 或者 KB/s,但是网速的计量一般都是 Mb/s 或者 Kb/s,这中间差了八倍。这点可能不是他故意坑你,但 ...
基于Antlr的计算器程序
定义语法Calc.g4
1234567891011121314151617181920212223grammar Calc;prog: stat+;stat: expr NEWLINE # printExpr | NEWLINE # blank ;expr: expr MUL expr # Mul | expr DIV expr # Div | expr ADD expr # Add | expr SUB expr # Sub | INT # int | '(' expr ')' # parens ;MUL : '*' ;DIV : '/' ;ADD : '+' ;SUB : '-' ;INT : [0-9]+ ;NEWLINE:'\r'? '\n' ;WS : [ ...
moviepy竖屏转横屏
本文已废弃,moviepy 效率真是太慢了,推荐使用 ffmpeg
解决思路解决思路的本质还是 resize,不是简单的调整大小。1 . 将视频放大,可以填满屏幕并做模糊处理;2 . 将视频缩小,居中位置展示;将 1.2 合并
效果如图
代码实现123456789101112131415161718192021222324from moviepy.editor import *from skimage.filters import _gaussiandef blur(image): return _gaussian.gaussian(image.astype(float), sigma=30)src = "test.mp4"# 读取待转换的视频clip1 = VideoFileClip(src)# 将视频放大并加蒙版遮罩tempClip2 = VideoFileClip(src, audio=False, has_mask="True").resize(4)clip2 = tempClip2.fl_image(blur)# 将小的视频叠在大 ...