Marlbo's blog

路在脚下,心向远方

如何启动mac版docker自带的k8s

本文使用的docker-desktop版本为4.6.0 (75818),内置Kubernetes: v1.22.5。之前也尝试使用homebrew安装docker-desktop,但cask上的docker版本较低,在docker-dashboard里始终下载不了Kubernetes,遂放弃,到docker官网上下载安装后成功了。


Mac终端常用指令

查看文件 MD5

md5 /Users/README.md

查看字符串 MD5

md5 -s 源字符串

查看文件 SHA1

openssl dgst -sha1 /Users/README.md

查看文件 SHA256

openssl dgst -sha256 /Users/README.md

控制台使用 socks5 代理(仅当前会话有效,想长期有效,可以保存到.zshrc文件中)


关于GIT常用指令和配置随笔

一、git 常规配置项目

虽然 git 提供了git config指令用于修改配置项目,但我个人更喜欢直接编辑.gitconfig配置文件,这样当你有些功能需要关闭/开启时可以通过添加/取消注释来实现,否则如果使用unset删除配置项,下次要开启这个功能时就不方便了。


autossh+launchd 实现全自动 ssh隧道转发 Socks5代理

在 Windows 下有非常好用的 xshell 用于管理远程 Linux 服务器,并且可以非常方便的设置隧道转发以实现 socks5 代理的功能,而且 xshell 有断线重连的功能,简直不要太贴心。

但是在 mac 环境下试了很多 ssh 客户端,效果都不尽人意,试过最好的就是 FinalShell 了,也可以设置 ssh 隧道实现 socks5 代理,但就是没有断线自动重连的功能,用起来是有点憋屈的感觉。


AB压测提交POST数据的问题

一、安装ab

sudo yum install httpd-tools

二、编辑POST数据文件

这里是最可能出问题的,因为vi编辑器会自动在文件末尾添加换行符,导致提交的数据不正确,需要强制关闭这个功能。

vi postdata.txt
:set invlist # 显示所有字符
:set bin noeol # 设置为二进制格式,禁止末尾自动添加换行符
:wq
wc -l postdata.txt # 统计文件行数
wc -m postdata.txt # 统计文件字数

三、尝试提交压测指令

nc -l 8081 # 监听8081端口,可以观察ab提交的数据
ab -n 1 -c 1 -p postdata.txt -T application/x-www-form-urlencoded http://127.0.0.1:8081/test.php?sign=a24e13f28196d86a52df905f6e645d6c

四、ab参数详解

-n 即requests,用于指定压力测试总共的执行次数。 -c 即concurrency,用于指定压力测试的并发数。 -t 即timelimit,等待响应的最大时间(单位:秒)。 -b 即windowsize,TCP发送/接收的缓冲大小(单位:字节)。 -p 即postfile,发送POST请求时需要上传的文件,此外还必须设置-T参数。 -u 即putfile,发送PUT请求时需要上传的文件,此外还必须设置-T参数。 -T 即content-type,用于设置Content-Type请求头信息,例如:application/x-www-form-urlencoded,默认值为text/plain。 -v 即verbosity,指定打印帮助信息的冗余级别。 -w 以HTML表格形式打印结果。 -i 使用HEAD请求代替GET请求。 -x 插入字符串作为table标签的属性。 -y 插入字符串作为tr标签的属性。 -z 插入字符串作为td标签的属性。 -C 添加cookie信息,例如:“Apache=1234”(可以重复该参数选项以添加多个)。 -H 添加任意的请求头,例如:“Accept-Encoding: gzip”,请求头将会添加在现有的多个请求头之后(可以重复该参数选项以添加多个)。 -A 添加一个基本的网络认证信息,用户名和密码之间用英文冒号隔开。 -P 添加一个基本的代理认证信息,用户名和密码之间用英文冒号隔开。 -X 指定使用的代理服务器和端口号,例如:“126.10.10.3:88”。 -V 打印版本号并退出。 -k 使用HTTP的KeepAlive特性。 -d 不显示百分比。 -S 不显示预估和警告信息。 -g 输出结果信息到gnuplot格式的文件中。 -e 输出结果信息到CSV格式的文件中。 -r 指定接收到错误信息时不退出程序。 -h 显示用法信息,其实就是ab -help。


QQ群一键加群API

QQ 群官方网站提供了生成 web 端一键加群按钮的工具,可是实际使用时发现有些问题,最终无法成功拉起加群面板。

查阅了一些资料后,发现有另一种方法生成一键加群地址。


Windows端口占用查询

rem 通过端口号查询进程号
netstat -ano | findstr <端口号>

rem 通过进程号查找进程名称
tasklist | findstr <进程号>

Flutter开发环境遇到的一些问题

一、找不到安卓模拟器

有时候 IDE 不能自动连接模拟器,多半是安卓 SDK 的 adb 版本和模拟器的 adb 版本不一致,有两种解决办法:

  1. 使用安卓 SDK 目录下的 platform-tools/adb.exe 替换给模拟器(注意模拟器的 adb 文件名可能不是 adb.exe,比如夜神模拟器的 adb 是 nox_adb.exe)
  2. 使用模拟器的 adb 手动连接到 adb server(比如在夜神模拟器安装目录下执行nox_adb.exe connect 127.0.0.1:62001

二、Running Gradle task ‘assembleDebug’…

Flutter 编译时一直卡在这一步,这是因为 Gradle 构建时会从 google 下载依赖包,但是被墙了你懂的,所以需要给 Gradle 配置下 HTTP 代理。


使用HEXO管理博客并发布到GitHub Pages

作为一名程序猿,就算身患懒癌,偶尔也会抽风想写点什么,和众猿分享。

十年累积下来其实写过不少,但几次换博整理过后要么丢失了要么过时丢弃了。

搞博客其实挺麻烦的,最开始自己建站,后来用免费博客,后来又建站,又用免费……国内国外的来来回回折腾不休……


Dreamweaver更改代码视图和设计视图的排列方式

换了 Dreamweaver CS4 之后,发现默认的代码视图和设计视图呈左右排列,以前一直是用的上下排列的,所以非常不习惯。

找了半天才发现在菜单里还是可以改成上下排列的,就在[菜单 → 查看 → 垂直拆分/顶部的设计视图]这里改。