npm配置
npm install <package>安装并保存在package.json中。
npm install <package> -gnpm uninstall <package>卸载并从package.json中删除
npm registry镜像地址配置
Node 的官方模块仓库网速太慢,模块仓库需要切换到阿里的源。
1 | npm config set registry https://registry.npmmirror.com |
执行下面的命令,确认是否切换成功。
1 | npm config get registry |
使用官方镜像
1 | npm config set registry https://registry.npmjs.org/ |
淘宝npm源地址变化:https://registry.npm.taobao.org到https://registry.npmmirror.com
npm dependencies 中版本前面特殊符号代表的意义
~的意思是匹配小版本 比如~1.2.3将会匹配所有的1.2.x版本,但不匹配1.3.0。^的意思是匹配大版本 比如^1.2.3 将会匹配 所有1.x.x包括1.3.0但不包括2.0。
npm更新软件包
hexo升级运行npm outdated后修改package.json内的版本再升级npm update
电脑控制android设备
运行
scrcpy -Sw -b 20M
- -S 关闭手机屏幕
- -w 在程序运行时,保持屏幕常亮
- -b 码率20Mbps
快捷键
返回: 鼠标右键
全屏: alt+f
旋转设备: alt+r
旋转窗口: alt+left
控制台输出fps: alt+i
关闭屏幕:alt+o
打开屏幕:alt+shift+o
参考 scrcpy
adb设置android代理
1 | adb connect 127.0.0.1:58526 |
css利用border绘制三角形
原理
将元素高宽设置为0,然后设置三个方向的border,每个border不是正方形,而是三角形。查看这三个border的形状
.triangle {
width: 0;
height: 0;
border-width: 0 40px 40px;
border-style: solid;
border-color: black red green yellow;
}

所以不设置上方向的border,左右border设置为透明,下border设置为需要的颜色即可绘制方向朝上的三角形。要绘制其他方向的箭头同理。
绘制带边框的三角形
给上面这个三角形元素添加::after伪元素,按照上面的方法设置同样的三角形。但是伪元素位置是相对于父元素的contentbox的,所以要添加absolute定位调整伪元素的位置。
div{
width: 0;
height: 0;
/* top | left and right | bottom */
border-width: 0 100px 100px;
border-style: solid;
border-color: black transparent green transparent;
position: relative;
}
div::after{
content: '';
border-width: 0 100px 100px;
border-style: solid;
border-color: black transparent white transparent;
position: absolute;
top: 2px;
left: -100px;
}
左右方向带border的三角形就可以作为对话框上的箭头了
<div class="flex">
<div class="triangle"></div>
<section>hello</section>
</div>
<style>
.flex{
display: flex;
align-items: center;
}
.triangle{
width: 0;
height: 0;
border-width: 5px 5px 5px 0;
border-style: solid;
border-color: transparent green transparent black ;
position: relative;
}
.triangle::after{
content: '';
border-width: 5px 5px 5px 0;
border-style: solid;
border-color: transparent white transparent black ;
position: absolute;
top: -5px;
left: 2px;
}
section{
height: 20px;
width: 500px;
border: 1px green solid;
}
</style>

trojan教程
一键安装脚本 curl -O https://raw.githubusercontent.com/atrandys/trojan/master/trojan_mult.sh && chmod +x trojan_mult.sh && ./trojan_mult.sh
chrome 以socks5代理启动
1 | chrome.exe --show-app-list --proxy-server="SOCKS5://<address>:<port>" |
为Trojan生成自签名SSL证书
1 | mkdir /etc/trojan/ssl |
客户端中remote_addr为远程的ip地址。
FOOTER始终在页面底部显示
不论主要内容section高度有多高,底栏footer始终保持在最下方
<style>
header {
height:100px;
background-color: green;
}
section {
height: 500px; // 可以任意改变
background-color: red;
}
footer {
height: 100px;
position: -webkit-sticky;
position: sticky;
bottom: 0;
background-color: green;
}
</style>
<body>
<header>HEADER</header>
<section>MAIN</section >
<footer>FOOTER</footer>
</body>
最长公共子串
1 | #include <iostream> |
miui10内置应用卸载
1 | adb shell #进入shell模式 |
先关闭上滑手势和桌面搜索框再卸载,否则只能重装再卸载了:(
1 | $ pm uninstall --user 0 com.miui.hybrid #首页上滑信息流 |
卸载小米支付相关
1 | $ pm uninstall --user 0 com.unionpay.tsmservice.mi |
在设置中卸载多看阅读,游戏
重新安装用户卸载的应用
1 | $ cmd package install-existing com.vivo.browser |
查找应用
1 | $ pm list packages [options] <FILTER> |
卸载vivo内置应用
1 | $ pm uninstall --user 0 com.vivo.browser |
Android跳转应用商店
market://details?id=com.mipay.in.wallet
c指针声明和初始化
自适应网页布局
1.手机电脑显示一模一样的界面
使用媒体查询判断是横屏还是竖屏
竖屏页面宽度为全屏
横屏页面宽度收窄
2.两套效果
1 | @media screen and (orientation: landscape) { |
手机浏览器的宽度(window.innerWidth)不等于屏幕的分辨率
手机只有400px左右的宽度
可以使用@media screen and (min-width: 600px) 和@media screen and (max-width: 600px) 来设置不同样式