Skip to main content

mac查看本机ip地址

· One min read

需求场景

身为程序员,很多时候需要知道本地的ip地址,比如本机web服务器同事想要访问,就需要知道ip地址。手机charles调试,电脑端作为代理需要知道ip地址以及端口。

解决方案

博主之前都会采用ifconfig命令查看地址,每次都需要仔细的找才能看到ip地址。现在才知道其实可以用grep命令辅助我们快速找到ip地址

ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'

优化

如果每次都要这样写就太麻烦了。建议加入alias中

alias ip="ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print \$2}'"

charles抓包ios的http/https请求

· 2 min read

步骤一 电脑端 charles 操作

首先打开 charles,在菜单栏 proxy>proxy settings 中找到 http 代理,设置代理端口默认为 8888

步骤二 手机端 ios 操作

在 wifi 设置中,配置 http 代理,代理方式为手动 服务器为电脑端本机 ip,端口 8888

这个时候 charles 已经能拦截 ios 端 http 请求,但是 https 请求还不行。这需要手机端安装 charles 证书,并且在 charles 添加 https 域名代理,具体操作如下。

步骤三 电脑端 charles 操作

在在菜单栏 help>ssl proxying 中找到 install charles certificate on a Mobile Device or Remote Browser,这时会弹出如下弹框

步骤四 手机端 ios 操作

在手机 Safari 浏览器访问地址 chls.pro/ssl,会出现证书安装页面,点击安装,安装好证书,需要在 设置 → 通用 → 关于本机 → 证书信任设置 里面启用完全信任 Charles 证书
这个时候按理说应该可以拦截 https 了,毕竟安装了证书了嘛,实际试验后还是会很失望的,这里还需要最后一步,添加访问的域名

步骤五 电脑端 charles 操作

假如我们想调试微博的域名https://weibo.com/,在菜单栏 proxy>ssl proxyings settings 中添加微博的域名,以及 443 端口,完成这步操作后就可以调试 https 啦。

ubuntu常用命令

· 2 min read

用户权限

#修改文件用户组
sudo chown -R pi:pi downloads/
sudo chown -R $(whoami) downloads/
#将用户添加到docker用户组,使用docker命令免输sudo
sudo usermod -aG docker $USER

端口

#查看开放端口
netstat -ltp
sudo lsof -i | grep -i listen
# 查看v2ray端口占用
sudo lsof -i | grep v2ray
# 查看80端口占用
sudo lsof -i:80

文件查找

# 递归查找并删除文件
find . -name "*.less" | xargs rm -rf

systemctl

#刷新配置
systemctl daemon-reload
#查看定时任务
systemctl list-timers
#查看开机启动项
systemctl list-unit-files --type=service | grep enabled
# 设置开机启动
systemctl enable v2ray
# 运行v2ray
systemctl start v2ray
# 重启v2ray
systemctl restart v2ray

解压缩

#解压tar包
tar -xvf file.tar
#解压tar.gz包
tar -zxvf file.tar.gz
#压缩tar.gz包
tar -zcvf file.tar.gz dir/
#解压tar.xz包
tar -xvJf node-v8.11.1-linux-x64.tar.xz

其他

#查看service启动日志
journalctl -u nginx.service -f
#查看应用日志文件
tail -f /var/log/nginx/error.log
#查看磁盘容量
df -h
#查看目录大小
du -sh *
#生成ssh公钥
ssh-keygen -t rsa
#设置别名
alias rm='rm -f'
#复制到剪切板
cat file.txt | pbcopy
# 查看防火墙当前状态
sudo ufw status
#查看系统时间
date -R
#设置时区
dpkg-reconfigure tzdata

git版本回退

· One min read

需求场景

在使用git过程中,往往需要回到某个commit,并且抛弃之后的修改。
这个时候往往会采用以下错误方式回退。

git reset --hard commitid
git push -f

-f这个参数是非常不友好的,会导致其他小伙伴无法push

解决方案

假设我们需要从D回到B状态
A --- B --- C --- D(HEAD)

git reset --hard B
git reset --soft D
git push

最终的结果
A --- B --- C --- D --- B'(HEAD)

ios中safari浏览器100vh带有滚动条?

· One min read

问题场景

在移动端safari或者chrome浏览器中,使用100vh,会出现滚动条。

根本原因

在safari和chrome浏览器中,100vh是指去掉地址栏的高度,所以会出现滚动条。

解决方案

移动端一般不考虑chrome浏览器,用户基数小,如果只考虑微信公众号开发也不用考虑这个问题。如果需要考虑safari浏览器的用户体验,建议使用100%替代100vh,或者使用js,而不是100vh

关于 Safari 100vh 的问题与解决方案 - 掘金 (juejin.cn)

mac清理右键菜单重复项

· One min read

需求场景

在mac的右键菜单中,可选程序列表里可能有重复项,名字一样。

解决方案

打开终端输入以下命令回车即可

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

npm下载太慢,镜像源管理工具nrm

· 2 min read

需求场景

由于墙的原因,使用npm安装包时,速度会非常慢。所以一般会采用替换镜像源的方式。

常规方案

  • 方案一:替换npm镜像源
    修改npm配置npm config set registry https://registry.npm.taobao.org

此方案有个缺点当想要发布自己的npm包时会无效。因为淘宝镜像源不支持登录发布功能

  • 方案二:使用cnpm
    npm install -g cnpm --registry=https://registry.npm.taobao.org

使用淘宝的工具cnpm替代npm安装,安装时用cnpm,想要发布使用npm。

终极解决方案nrm

nrm是npm的镜像源管理工具,使用这个就可以快速地在npm源间切换
npm install -g nrm --registry=https://registry.npm.taobao.org
nrm ls列出所有镜像源
nrm use taobao使用淘宝镜像源
nrm use cnpm使用cnpm镜像源
nrm use npm使用官方镜像源

homebrew更新慢,更换为国内镜像源

· One min read

需求场景

由于墙的原因,brew update速度可能会比较慢,所以可以更换国内镜像源加快更新速度。

解决方案

cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-cask"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

替换成中科大镜像源之后,记得brew update -v一下

iconfont图标颜色无法修改

· One min read

需求场景

当使用svg方式使用iconfont而不是classname形式时,有些图标的颜色无法通过color属性修改

解决方案

通过查看svg代码,其实可以看到图标的颜色已经在svg中写死,所以css覆盖无效,所以只需要在iconfont中将不能修改颜色的图标进行去色处理即可。在iconfont网站中找到批量去色将图标去色就可以了。

在终端terminal中打开vscode

· One min read

需求场景

linuxmac系统中,往往需要在终端中编辑文件,虽然有自带的vim编辑器,但是不是vi大神的话,往往会非常难用。如果能用vscode编辑文件会简单很多。

解决方案

打开vscode编辑器,按住ctrl+shift+p打开命令面板,输入shell command,在弹出的选项中将code加入到系统环境变量中。之后就可以用code .code test.txt编辑文件夹或文件了。