MacOS终端命令查看文件MD5/SHA1/SHA256

MacOS系统中的终端可以通过命令查看文件或者字符串的MD5值等;

查看文件MD5:

查看字符串MD5:

查看文件SHA1:

查看文件SHA256:

Golang代码片段

自重写程序

UNIX/Go语言之父 Ken Thompson 在1983年的图灵奖演讲 Reflections on Trusting Trust 就给出了一个C语言的自重写程序。

最短的C语言自重写程序是 Vlad Taeerov 和 Rashit Fakhreyev 的版本:

在 golang-nuts 中还有很多版本:

三元表达式

禁止 main 函数退出的方法

基于管道的随机数生成器

随机数的一个特点是不好预测。如果一个随机数的输出是可以简单预测的,那么一般会称为伪随机数。

基于select语言特性构造的随机数生成器。

Assert测试断言

kubernetes dashboard 无法登录提示Not enough data to create auth info structure.

通过配置文件登录K8S控制台时报如下错误:

Not enough data to create auth info structure.

解决办法:

执行以下命令生成可用令牌:

将生成的token复制到kubeconfig 文件中,如下图所示:

使用新的配置文件即可登录成功。

Docker 容器镜像删除

1.停止所有的container,这样才能够删除其中的images:

如果想要删除所有container的话再加一个指令:

2.查看当前有些什么images

3.删除images,通过image的id来指定删除谁

想要删除untagged images,也就是那些id为的image的话可以用

要删除全部image的话

 

MYSQL5.7版本sql_mode=only_full_group_by问题

报错信息:

[Err] 1055 – Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

出现以上错误时进放MySQL命令行查看一下sql_mode值:

如结果如下:

则需要重新设置sql_mode, 在 MySQL命令行执行下面的命令:

出错原因:

mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模式后,原先的 group by 语句就出现该错误。

php-fpm 进程优化 pm.start_servers 设置多少最优

细心的朋友在查看php-php日志的时候会发现有时会出现下面的警告:

该信息是建议增加pm.start_servers数量,请注意下上面红色标注的[pool www], 不同配置可能这里会有差异,在具体修改的找到对应pool的配置文件即可;
首先找到所安装php-fpm的配置文件存放路径(注意:不同版本的php-fpm配置文件路径可能有细微的差别),我们可以通过phpinfo()打印查看。

上面是[pool www]配置文件中PM相关配置信息,下面简单说明下这几个参数的用途:

pm.max_children有两个作用:
  1. 指定在static模式下创建的子进程数;
  2. dynamic模式下同一时刻允许最大的php-fpm子进程数量;

一般php-fpm进程占用20~30m左右的内存就按30m算。如果单独跑php-fpm,动态方式起始值可设置物理内存Mem/30M,由于大家一般Nginx、MySQL都在一台机器上,于是预留一半给它们,即php-fpm进程数为$Mem/2/30。

更改后的[POOL WWW] PM配置信息:

保存后记得重启PHP-FPM让配置文件生效即可。