2022年1月

  • 返回正整数,如果数数值为负数,返回0.简洁处理
    return max($val, 0);//如果是负数,则会返回0.省去if($val < 0)笨重的方法来判断

有时候需要直接使用命令操作剪贴板比价方便,而用键盘ctrl+c+v不方便.具体的命令如下:
  • mac: pbcopy和pbpaste命令(如其名很好记,pb即是pasteboard的缩写)

    • pbcopy: 将内容复制到剪贴板上.例子
      cat ~/.bash_profile | pbcopy
      echo 'good' | pbcopy
    • pbpaste: 输出剪贴板内容
      pbpaste
  • linux: xclip命令
    如果没有该命令需要安装下.centos系统的使用如下命令可直接安装yum install xclip

场景:我们电脑上装了mongodb,同时电脑上还有个运行着php应用的docker容器.那么容器内的php应用怎么访问宿主机上的mongodb?
  • 第一步: 让宿主机的mongodb绑定ip:0.0.0.0
    mongodb默认是绑定127.0.0.1.修改mongo配置文件(mac通过brew安装的是在/usr/local/etc/mongod.conf下,其他平台执行查找),更改bingIp指令:
    bindIp: 0.0.0.0
    修改完后,记得重启使配置生效.
  • 第二步: docker内使用host.docker.internal域名访问宿主机
    docker提供了个域名host.docker.internal可以得到宿主机ip,省去自己查找麻烦(不过docker官方也说了这个域名也仅仅是用于开发环境中,不要在生产中使用).
    在代码中访问mongodb://用户名:密码@host.docker.internal:27017即可.(27017是默认端口,但具体是啥端口看你的配置)

在一些教程中,我们经常能看到一个shell命令前有一个$符号.如下:
企业微信截图_3f9c2dac-ec67-4f3c-a6bd-e2761a9b5b49.png
很多教程在命令前加$符号是为了**区分是输入的命令和还是程序运行的输出.**没有$开头即是程序运行的输出,这样就能容易分辨出来.