2024年4月26日 00:00 周五原则
#
- 搜索的时候,要简约,且尽量把关键词分散,不要有"的",“地”,或者其他动词什么的,尽量是名词。
- 关键词之间用空格隔开
比如想要看一部电影,那么关键词有"电影名",“bt”,“迅雷”,“阿里云盘”,“百度网盘”
解释一下,这里来源(迅雷|阿里云盘|百度网盘),资源类型(bt)也是关键词
所以搜索就是**“孤注一掷 bt”,“孤注一掷 阿里云盘”,“孤注一掷 百度网盘”,“孤注一掷 迅雷”,注意,中间都有空格**
例子
#
bt种子形式
#
![image-20240226132336128](img/ly-20241212141836193.png)
点进来之后,滑到最下面(一般链接都是以浅蓝色标识,点过一次后就变成暗红色)
![image-20240226132614759](img/ly-20241212141836507.png)
bt文件一般要用"迅雷"这个软件下载,上面随便点击一个,迅雷这个软件就会跳出来
![image-20240226132743460](img/ly-20241212141836693.png)
然后选择好目录点击确认就可以下载了
阿里云盘形式
#
![image-20240226133054195](img/ly-20241212141836869.png)
第一个链接有人提出质疑了,我们点下面那个,这是进入之后的画面:
![image-20240226133201891](img/ly-20241212141837046.png)
再点击"阿里xxxxxxxxxx"这个链接,进入阿里云盘:
![image-20240226133251855](img/ly-20241212141837227.png)
点进来看视频文件还在不在,在的话,保存就可以了
![image-20240226133340936](img/ly-20241212141837403.png)
之后到自己的阿里云盘下载就行了
百度云盘形式
#
百度云盘被限速了,不得已的情况下,不要用百度云盘,基本上前面两种形式的资源没找到的话,百度云盘大概率也不会有
2023年9月19日 17:59 周二函数退出
#
函数退出状态:0(成功),非零(非正常,失败)
引号
#
双引号中使用转义字符可以防止展开
这意味着单词分割(空格制表换行分割单词)、路径名展开(*星号)、波浪线展开和花括号展开都将失效,然而参数展开、
算术展开和命令替换仍然执行
echo "text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER" #禁止部分
text ~/*.txt {a,b} foo 4 me
echo 'text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER' #全部禁止
text ~/*.txt {a,b} $(echo foo) $((2+2)) $USER
各种操作符
#
[ expression ] / test | [[ expression ]] | $(( expression )) | $var | $( termi ) |
---|
文件表达式 -e file,字符串表达式 -n string,整数表达式 integer1 -eq integer2 | test增强,增加 [ str =~ regex ],增加 == [[ $FILE == foo.* ]] | 整数加减乘除取余 | 取变量 | 执行命令/函数 |
termi取变量$必加,里面被看作命令参数,< > ( ) 必须转义 否则 小于号 < 大于号>被认为重定向 | 与[ ] 一致 | 取变量$可加可不加 | | termi取变量$必加 |
| | | | |
![image-20230920195057911](img/ly-20241212141835875.png)
...
2023年8月19日 11:05 周六fcitx配合各种软件出现的问题
#
本文章中出现的引号都是英文状态下的引号,切记!
安装完毕后环境变量设置
#
/etc/profile 和/etc/enviroment 均可,profile针对用户,environment针对系统。一般都是放profile里面
不行的话
#
如果修改profile无效,则在/etc/enviroment添加修改
#/etc/enviroment 末尾添加
fcitx & #这行要添加
export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8
source后再重启一下哦
装了zsh后(从终端打开)idea等各种软件不出现fcitx输入法的问题
#
在/.zshrc
最后添加
export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8
export LC_MESSAGES=en_US.UTF-8 #让终端报错时,显示英文 而不是中文
也可以不在/.zshrc中追加这些,而是直接追加 source /etc/profile
或者/etc/enviroment
即可
如果还有问题,就要在idea的配置文件idea.vmoptions
添加
-Drecreate.x11.input.method=true
如果使用系统默认终端的情况下出的问题
#
可以在 ~/.bashrc最后添加这段话,重启试试
export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export LANG=zh_CN.UTF-8
各个文件的解释
#
/etc/profile //用户级,所有用户登陆时才会执行 对于fcitx没效果(firefox无效)
/etc/enviroment //系统级,一般不修改 这里有效果
~/.bashrc //系统默认终端打开时执行
~/.zshrc //zsh使用前执行
...
2023年8月17日 23:49 周四代理
#
Vmware里面的debian,连接外面物理机的v2ray。
对于浏览器
#
无论是firefox还是chromium,都可以直接通过v2ray允许局域网,然后使用ProxySwitchOmege代理访问
对于命令
#
可以使用proxychains,直接用apt-get 安装即可,注意事项
作用范围
#
对tcp生效,ping是不生效的,不要白费力气
需要修改两个地方
#
libproxychains.so.3 提示不存在 ly
whereis libproxychains.so.3
#libproxychains.so.3: /usr/lib/x86_64-linux-gnu/libproxychains.so.3
#修改/usr/bin/proxychains
#export LD_PRELOAD = libproxychains.so.3 修改为:
export LD_PRELOAD = /usr/lib/x86_64-linux-gnu/libproxychains.so.3
l’y配置修改
#修改文件/etc/proxychains.conf,在最后一行添加
socks5 192.168.1.201 1082
使用
proxychains git pull
#直接在命令最前面输入proxychains即可
直接网络(gui)配置代理
#
这个对于终端不生效
zsh安装
#
proxychains wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
proxychains sh install.sh
zsh主题安装
#
proxychains git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
#修改
vim ~/.zshrc
ZSH_THEME="powerlevel10k/powerlevel10k"
重新配置 p10k configure
...
2023年8月15日 09:05 周二清华源设置
#
vim /etc/apt/sources.list
#注释掉原来的,并添加
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware
deb https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
# deb-src https://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
中文环境
#
su
sudo apt-get install locales
#配置中文环境 1.选择zh开头的 2 后面选择en(cn也行,不影响输入法)
sudo dpkg-reconfigure locales
#设置上海时区
sudo timedatectl set-timezone Asia/Shanghai
中文输入法
#
#清除旧的环境
apt-get remove ibus #不兼容问题
apt-get remove fcitx5 fcitx5-chinese-addons
apt-get autoremove
ly # gnome-shell-extension-kimpanel
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 fcitx5-frontend-qt5
im-config #配置使用fcitx5
#环境变量添加
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
#退出root用户权限,使用普通用户权限再终端
fcitx5-configtool #配置中文输入法即可
#附加组件-经典用户界面--这里可以修改字体及大小
其他
#
应用程序-优化 修改默认字体大小
...
2023年8月3日 12:06 周四为什么是简记呢,因为这几天折腾这些太累了,等以后回过头来重新操作再详细记载
前言
#
初衷
#
一开始的初衷是为了在平板上使用idea,之前看了一篇docker使用idea的文章,心血来潮。所以想直接在平板的termux安装docker然后使用,结果一堆问题。后面妥协了,在手机上装,然后开远程吧
这年头机在人在,所以装手机还是平板,还真没有很大的问题。后面使用情况证明:手机不需要开热点的情况(开热点是为了保证网络联通,在同一局域网),其实不怎么发热也不怎么耗电的。
平板上
#
本来想在tab s8平板上通过termux安装linux(无root权限),但是总会遇到一堆问题–连系统都装不上。因为root会有两个问题,所以一开始没有考虑使用linuxDeploy(需要root)
手机上(root)
#
配置
#
后面尝试在root过的手机上安装linuxDeploy,照样有一堆问题,这里配上能使用的配置(能进系统):
![ly-20241212141834176](img/ly-20241212141834176.png)
我用的时候ssh端口改了一下,不过不影响,第一次用的22端口也是能连上的。初始用户写的root,这里也是设置的root。
最好挂载一下
![ly-20241212141834486](img/ly-20241212141834486.png)
问题
#
用其他桌面环境,可能会导致图标没有(应该是就没有那个应用,比如浏览器),不过我这个配置完也没有浏览器,不过好在图标也没,不用自己再去移除了。
装完之后vns有出错过一次,突然就蹦了,死活连不上。后面我直接重装系统了(linux deploy),没有再出现问题。装完之后需要在etc/rc.local
添加:
#删除vns临时文件,保证每次启动都是使用端口:5901
#(linux上显示:1,连接使用时要+5900,即使用5901端口)
rm -rf /tmp/.X[1-9]-lock
rm -rf /tmp/.X11-unix/X[1-9]
#保证系统每次启动后都自动启动vncserver
vncserver
电脑上随便找了个VNCServer 绿色免安装程序可以连上
![ly-20241212141834670](img/ly-20241212141834670.png)
平板上使用AVNC,电脑不方便截图,就不截了.. 类似长这样
![ly-20241212141834882](img/ly-20241212141834882.png)
#常用命令(也不常,这两天用的最多的)
vncserver -kill :1 #强制关闭端口1
vncserver #启动
安装idea,也不用安装,就是去官网下载解压即可。问题:需要jdk11以上才能打开(疑惑,貌似之前在windows安装的时候没这要求,反正后面我妥协了,装了11,之后就是配置环境变量什么的)
一开始linuxDeploy的Ubuntu,然后..发现openjdk11装完之后,java -version
显示的10,一脸蒙圈,搞得后面又重装了Debian(中途还试了centos)
装完没有中文输入法,系统装完就是要用的,如果随便打打命令倒是不需要中文输入法,但是如果打点代码写点注解,那蹩脚英语就…总不能句句good good study,day day up..真是one day day de…
问题处理
#
其实解决方案前面好像都说了,输入法单独开一块吧,比较恶心,主要是让我意识到了自己水平有多菜…
...
2023年5月26日 09:29 周五完全转载自https://juejin.cn/post/7011357346018361375 ,以防丢失故作备份 。
一、什么是代理模式
#
代理模式(Proxy Pattern)给某一个对象提供一个代理,并由代理对象控制原对象的引用。代理对象在客户端和目标对象之间起到中介作用。
代理模式是常用的结构型设计模式之一,当直接访问某些对象存在问题时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。代理模式属于结构型设计模式,属于GOF23种设计模式之一。
代理模式可以分为静态代理和动态代理两种类型,而动态代理中又分为JDK动态代理和CGLIB代理两种。
代理模式包含如下角色:
- Subject (抽象主题角色) 抽象主题角色声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题 的地方都可以使用代理主题。客户端需要针对抽象主题角色进行编程。
- Proxy (代理主题角色) 代理主题角色内部包含对真实主题的引用,从而可以在任何时候操作真实主题对象。 在代理主题角色中提供一个与真实主题角色相同的接口,以便在任何时候都可以替代真实 主体。代理主题角色还可以控制对真实主题的使用,负责在需要的时候创建和删除真实主 题对象,并对真实主题对象的使用加以约束。代理角色通常在客户端调用所引用的真实主 题操作之前或之后还需要执行其他操作,而不仅仅是单纯的调用真实主题对象中的操作。
- RealSubject (真实主题 角色) 真实主题角色定义了代理角色所代表的真实对象,在真实主题角色中实现了真实的业 务操作,客户端可以通过代理主题角色间接调用真实主题角色中定义的方法。
代理模式的优点
#
- 代理模式能将代理对象与真实被调用的目标对象分离。
- 一定程度上降低了系统的耦合度,扩展性好。
- 可以起到保护目标对象的作用。
- 可以对目标对象的功能增强。
代理模式的缺点
#
- 代理模式会造成系统设计中类的数量增加。
- 在客户端和目标对象增加一个代理对象,会造成请求处理速度变慢。
二、JDK动态代理
#
在java的动态代理机制中,有两个重要的类或接口,一个是 InvocationHandler
(Interface)、另一个则是 Proxy
(Class),这一个类和接口是实现我们动态代理所必须用到的。
InvocationHandler
#
每一个动态代理类都必须要实现InvocationHandler这个接口,并且每个代理类的实例都关联了一个handler,当我们通过代理对象调用一个方法的时候,这个方法的调用就会被转发为由InvocationHandler这个接口的 invoke 方法来进行调用。
InvocationHandler这个接口的唯一一个方法 invoke 方法:
java
复制代码Object invoke(Object proxy, Method method, Object[] args) throws Throwable
这个方法一共接受三个参数,那么这三个参数分别代表如下:
- proxy:指代JDK动态生成的最终代理对象
- method:指代的是我们所要调用真实对象的某个方法的Method对象
- args:指代的是调用真实对象某个方法时接受的参数
Proxy
#
Proxy这个类的作用就是用来动态创建一个代理对象的类,它提供了许多的方法,但是我们用的最多的就是newProxyInstance 这个方法:
...
2023年5月23日 14:29 周二完全转载自https://lin1997.github.io/2020/07/19/debug-openjdk-on-ubuntu.html ,以防丢失故作备份,目前还没看懂。
在Ubuntu中编译和调试OpenJDK
#
构建编译环境
#
安装GCC编译器:
sudo apt install build-essential
安装OpenJDK依赖库:
工具 | 库名称 | 安装命令 |
---|
FreeType | The FreeType Project | sudo apt install libfreetype6-dev |
CUPS | Common UNIX Printing System | sudo apt install libcups2-dev |
X11 | X Window System | sudo apt install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev |
ALSA | Advanced Linux Sound Architecture | sudo apt install libasound2-dev |
libffi | Portable Foreign Function Interface | sudo apt install libffi-dev |
Autoconf | Extensible Package of M4 Macros | sudo apt install autoconf |
zip/unzip | unzip | sudo apt install zip unzip |
fontconfig | fontconfig | sudo apt install libfontconfig1-dev |
假设要编译大版本号为N的JDK,我们还要安装一个大版本号至少为N-1的、已经编译好的JDK作为“Bootstrap JDK”:
...
2023年5月23日 12:06 周二zsh卸载后root无法登录
#
主要参考文档
https://blog.csdn.net/Scoful/article/details/119746150
- 重启,开机引导进入下面的那个,按e进入编辑模式
![ly-20241212141833490](img/ly-20241212141833490.png)
移动光标,找到ro crashkernel=auto
,修改为 rw init=sysroot/bin/sh
![ly-20241212141833799](img/ly-20241212141833799.png)
按ctrl+x进入单用户模式界面
![ly-20241212141833982](img/ly-20241212141833982.png)
- 输入chroot /sysroot 获取权限
- vim /etc/passwd
- 第一行 ,root ……zsh,中
/bin/zsh
,改为/bin/bash
- 用
touch /.autorelabel
更新SELinux信息 - 两次exit 推出chroot
- reboot 重启:需要一定时间,耐心等待
vm扩容centos7
#
这里是因为我在vm手动扩容后,进入centos7系统—用了 可视化界面中的disk软件直接扩容,发生错误(具体错误我没注意,一闪而过了),后面呢我再使用命令resize2fs /dev/sda3
的时候,发现总是提示 busy
解决办法
#
按照上面的办法,进入到第3步结束之后(按ctrl+x进入单用户模式界面 要做)
输入 umount /dev/sda3 进行卸载
然后输入下面进行修复(极为重要),然后出现问题是否修复一直按’y’即可
xfs_repair /dev/sda4
注:如果你当前文件系统是ext4,可以执行fsck.ext4 /dev/sda4
然后输入 mount /dev/sda3 / 进行挂载(这步可能不需要)
最后 reboot 重启
重启之后,再执行 resize2fs /dev/sda3
即可
2023年4月25日 09:31 周二场景
#
由于在看《mysql是如何运行的》,做md文件笔记时,发现好多都是按pdf一字不漏打出来。所以想着能不能直接本地编辑pdf,然后博客上支持在线查看。
事后觉得这个方式有待斟酌,电脑上/平板上查看没啥问题,手机上查看字有点小,但也还能接受。==>待斟酌
不过下面的方案是可行的。
准备
#
需要到官网下载 pdf.js
https://github.com/mozilla/pdf.js/releases ,这里选择 v3.4.120中的
pdfjs-3.4.120-dist.zip ,最新版本好像有问题
操作
#
pdfjs处理
#
在source/下创建myjs/pdfjs文件夹,并解压到这个文件夹下
![ly-20241212141830564](img/ly-20241212141830564.png)
修改pdfjs/web/viewer.js
if (fileOrigin !== viewerOrigin) {//1563行左右
throw new Error("file origin does not match viewer's");
}
//注释掉,为了处理跨域问题,注释掉后允许在线访问其他网站的pdf
// if (fileOrigin !== viewerOrigin) {
// throw new Error("file origin does not match viewer's");
//}
hexo配置修改
#
# 找到# Directory下的skip_render项,添加忽略渲染的文件夹
skip_render: ['myjs/pdfjs/**/*']
清理hexo中public及其他缓存文件
#
文件预览测试
#
本地文件
#
我们在hexo的source文件夹下,放置这样一个文件: source/pdf/my.pdf
![ly-20241212141830812](img/ly-20241212141830812.png)
...