Mac 隐藏文件夹

打开终端,输入 chflags hidden,然后将要隐藏的目录拖拽到终端,回车,搞定!!

chflags hidden [DRAG FILE HERE]
chflags nohidden [DRAG FILE HERE]

在安装 Laravel homestead 虚拟机的时候,由于神秘的原因,直接添加 box 实在太慢,中途失败的几率又太大。所以,在国内,非常推荐大家都直接使用本地 box 的方式安装 Laravel homestead:

1.下载 homestead.box 文件

你可以使用迅雷或其他的方式下载下面的 box

https://vagrantcloud.com/laravel/boxes/homestead/versions/6.4.0/providers/parallels.box

注意: 这里的版本号 6.4.0, 如果你使用其他的版本,请相对更改;还有就是,上面的链接是 parallels 作为 provider 的。你也可以将 parallels 换成 vmware_desktop、virtualbox、hyperv 中的一个。

2.本地方式添加 box

在命令行中执行下面的命令:

vagrant box add laravel/homestead ~/Downloads/virtualbox.box

注意后面的路径 ~/Downloads/virtualbox.box ,注意修改相对应的路径!
如果你是 windows 用户,路径形式差不多是这样:file:///c:/users/username/downloads/virtualbox.box

添加成功之后,一定不要急着执行 vagrant up

3.修改版本号

mac 用户需要来到 /.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead 目录:
windows 用户对应的目录大概是 c:/users/username/.vagrant.d/boxes/laravel-VAGRANTSLASH-homestead

首先进入该目录添加一个名为 metadata_url 的文件,里面只写上:

https://vagrantcloud.com/laravel/homestead

然后把看到的 0 或 0.0 这个目录修改为你的 box 版本号,比如这里的就是第一步的 6.4.0

homestead.jpg

4.执行 vagrant up

 _                               _                 _ 
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|


0 packages can be updated.
0 updates are security updates.


[email protected]:~$ ls

axios({
  method: 'get',
  url: '/reports/interval-dates',
  responseType: 'arraybuffer',
  data: dates
}).then(function(response) {
  let blob = new Blob([response.data], { type: 'application/pdf' })
  let link = document.createElement('a')
  link.href = window.URL.createObjectURL(blob)
  link.download = 'Report.pdf'
  link.click()
})

Mac 自带 php-fpm,在终端执行 php-fpm,会报如下错误:

ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory (2)
ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
ERROR: FPM initialization failed

错误信息显示,不能打开配置文件,cd /private/etc,发现没有 php-fpm.conf 文件,但是有 php-fpm.conf.default 文件。这个文件是默认配置,我们可以复制一份,改名为 php-fpm.conf,然后再根据需要改动配置。

sudo cp /etc/php-fpm.d/www.conf.default /etc/php-fpm.d/www.conf
sudo cp /etc/php-fpm.conf.default /etc/php-fpm.conf
sudo cp /etc/php.ini.default /etc/php.ini

执行 php-fpm,再次报错:

ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
ERROR: failed to post process the configuration
ERROR: FPM initialization failed

错误信息显示,不能打开错误日志文件。cd /usr/var/log 发现根本没有这个目录,甚至连 var 目录都没有,加上为了避免权限问题,干脆配置到 /usr/local/var/log 目录。首先手动建立这些目录

mkdir /usr/local/var/log
mkdir /usr/local/var/run

然后修改 php-fpm.conf 以下内容:

error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid

执行 php-fpm,再次报错:

NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root

于是 sudo php-fpm,再次报错:

ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (48)
ERROR: FPM initialization failed

sudo killall php-fpm

然后通过运行 php-fpm 命令即可正常启动 php-fpm

最后为了方便启动管理,我们给 php-fpm 启动、关闭、重启建个别名,方便以后操作

vim ~/.bash_profile

alias php-start="sudo php-fpm"
alias php-stop="kill -INT `cat /usr/local/var/run/php-fpm.pid`"
alias php-restart="kill -USR2 `cat /usr/local/var/run/php-fpm.pid`"

POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。

POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。

POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC OpenVMS 支持 POSIX 标准,尤其是 IEEE Std. 1003.1-1990(1995 年修订)或 POSIX.1,POSIX.1 提供了源代码级别的 C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。

简单总结:

完成同一功能,不同内核提供的系统调用(也就是一个函数)是不同的,例如创建进程,linux下是fork函数,windows下是creatprocess函数。好,我现在在linux下写一个程序,用到fork函数,那么这个程序该怎么往windows上移植?我需要把源代码里的fork通通改成creatprocess,然后重新编译...

posix标准的出现就是为了解决这个问题。linux和windows都要实现基本的posix标准,linux把fork函数封装成posix_fork(随便说的),windows把creatprocess函数也封装成posix_fork,都声明在unistd.h里。这样,程序员编写普通应用时候,只用包含unistd.h,调用posix_fork函数,程序就在源代码级别可移植了

https://cloud.tencent.com/developer/ask/26856

CSS 垂直居中的最简单写法:容器元素设为 flex 布局,子元素只要写 margin: auto 即可。

<header>
    <h1>A secret weapon…</h1>
</header>
header {
  display: flex;
  height: 100px;
}

h1 {
  margin: auto;
}

在 Messenger 应用中打开网页后,如果用户点击分享,那么分享出的链接和内容如何控制呢?

可以通过 Open Graph 来实现:

carbon.png

查看demo:

在Messenger应用中打开此链接并分享:
https://cdn.ijustplay.cn/files/5bc3c1d52024c150581c7651627304b7.html

实际情况下我们注意到如果没有og信息,Messenger 应用依然会抓取用户网站信息。但是这些信息不一定是我们需要的,因此只需要在网站 meta 信息中加入 og 内容即可控制了。如果遇到问题可留言讨论。

messenger-share.jpg