用好这些隐藏「小开关」,让 Chrome 浏览器更好用

相比移动端的 Chrome 浏览器,功能性能更强更全面的桌面端 Chrome 可能是你我每天使用频次最多的桌面软件。多端数据同步、实用的扩展插件都让其成为电脑上的「超级应用」。近乎无限制的桌面平台也让其可以在第一时间运用起新的功能和技术,这也是限制重重的移动端 Chrome 所无法比拟的。

当然因为桌面端 Chrome 的广泛使用性,新功能的推出和运用反而会更为谨慎。如果想要尝鲜新功能一样是通过 Feature flags —— 当然比起移动端,桌面端的新功能主要针对的键鼠操作,和移动端有相当大的区别。

尝鲜新功能,善用 Chrome flags

Chrome 之所以被认为是「超级应用」,很大程度上在于起功能增添和更新上像极了操作系统,新功能会首先出现在 Dev 版、然后经过 Beta 测试后,最后推送到稳定通道中。而新开发的功能则被隐藏在 Chrome flags —— 作为新功能的试验田,通过开启特定的 flags 来在稳定版中尝鲜新功能,即可以尝鲜也避免了可能的不稳定风险,下面我们挑选了一些稳定性尚可且比较实用的 flags, 通过开启对应的开关来让 电脑版的 Chrome 变得更好用。

注:本文 Chrome 版本为稳定通道 v78,电脑系统为 Windows 10 v1909

开启并行下载功能

移动端 Chrome 考虑到带宽和设备性能问题,只允许单进程下载其实并无不妥,而桌面端至今依旧默认单进程下载似乎就有点说不过去了,所以相比移动端,在桌面端开启并行下载功能要更为迫切一些。

Read More

Linux swap分区及作用详解

我们在安装系统的时候已经建立了 swap 分区。swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。

也就是说,当内存不够用时,我们使用 swap 分区来临时顶替。这种“拆东墙,补西墙”的方式应用于几乎所有的操作系统中。

使用 swap 交换分区,显著的优点是,通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。由于硬盘空间的价格远比 RAM 要低,因此这种方式无疑是经济实惠的。当然,频繁地读写硬盘,会显著降低操作系统的运行速率,这也是使用 swap 交换分区最大的限制。

相比较而言,Windows 不会为 swap 单独划分一个分区,而是使用分页文件实现相同的功能,在概念上,Windows 称其为虚拟内存,从某种意义上将,这个叫法更容易理解。因此,初学者将 swap 交换分区理解为虚拟内存是没有任何问题的。

具体使用多大的 swap 分区,取决于物理内存大小和硬盘的容量。一般来讲,swap 分区容量应大于物理内存大小,建议是内存的两倍,但不超过 2GB。但是,有时服务器的访问量确实很大,有可能出现 swap 分区不够用的情况,所以我们需要学习 swap 分区的构建方法。

建立新的 swap 分区,只需要执行以下几个步骤。

  1. 分区:不管是 fdisk 命令还是 parted 命令,都需要先区。

  2. 格式化:格式化命令稍有不同,使用 mkswap 命令把分区格式化成 swap 分区。

  3. 使用 swap 分区。

Read More

VScdoe error:Could not create temporary directory Permission denied

Could not create temporary directory: Permission denied

This error looks familiar?

Problem

If you happen to not being able to update VScode anymore after upgrading to macOS is may be due to some permission issues.

Solution

If you are using normal VScode

sudo chown $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt

If you are using insiders version

sudo chown $USER ~/Library/Caches/com.microsoft.VSCodeInsiders.ShipIt

These commands will change the permissions of vscode folders to the current user.

Read More

Mac 时间机器 Time Machine 备份速度太慢的解决方法 (加速备份命令)

相信用过一段时间电脑的人,都知道经常备份的重要性了。特别最近很多人需要将 Mac 升级到最新版本的 macOS Catalina,为防意外发生,就更需要在动手前做好备份了。

macOS 时光机器

macOS 自带的「时间机器」(Time Machine)绝对就是 Mac 上最方便的备份工具了,一来完全免费,可以“无感”地替你默默在后台备份,而且因为它是苹果自家开发的,兼容性也最好,所以推荐大家都使用“时间机器”来备份 Mac 电脑。

解决时间机器备份速度太慢的问题

然而部分同学在尝试使用时间机器备份系统资料时,却发现它的首次备份速度非常慢,跟自己的网络和机器配置似乎并不匹配,甚至有时花费超过 48 小时都无法完成,即便接了网线、关掉所有 APP 后,备份速度都没有明显提升。

其实,时光机器备份太慢是由于 macOS 本身对其进行了限流的措施,对硬盘读写的频率和内存使用都做了一定的限制,主要是为了防止在备份期间影响了用户正常使用电脑工作。但如果你正在等它完成备份,再去进行系统升级或其他操作,就比较悲剧了。

macOS 时光机器备份加速命令

如果你真的打算让时光机器全力全速工作,那也是有办法的,就是通过命令行,用命令强制关闭系统对时光机器的限流,俗称“解除封印”。打开终端,输入以下命令:

sudo sysctl debug.lowpri_throttle_enabled=0

Read More

提高效率!24 个高手常用的 Sketch 技巧合集(附实用快捷键)

Sketch 是一款轻量、易用的矢量设计工具,它为数字设计而生,小巧但功能强大,今天我总结并整理了一些 Sketch 不为人知的快捷操作,希望你可以在实际工作中得以应用。

形状的描边和填充

形状的描边快捷键是 B,填充的快捷键是 F,其实就是 Borders 和 Fills 首字母。绘制形状在默认时是带填充和描边的,按一下 B 取消描边,再按一下添加描边,填充也是同理。

直接吸取颜色

直接吸色快捷键 Control+C,Sketch 吸管工具可以吸取屏幕上任何地方的色彩。

拷贝样式

Command + Alt + C 拷贝样式,Command + Alt + V 粘贴样式。当我们设计中使用相同的样式可以调整一处,其他可以用这个快捷键来操作。样式可以包含填充、描边、颜色、阴影、字体样式等。

数值框直接进行数学运算

Sketch 支持直接在输入框内进行加减乘除的数学运算。长宽、坐标和圆角的数值是可以计算的,透明度和色值等是不可以进行计算的。

Read More

Mac使用SSH登录Google Cloud Platform

启用root账户及密码自动验证

使用Google Cloud网页版ssh,切换到root

sudo -i

编辑ssh配置文件

vi /etc/ssh/sshd_config

修改以下的内容

PermitRootLogin yes
PasswordAuthentication yes

重启ssh

service sshd restart

修改当前账户和root账户的密码

设置当前账户新密码

sudo passwd ${whoami}

设置root账户新密码

sudo passwd root

使用Mac自带的SSH进行连接

打开终端,新建远程连接,填写ip地址以及账户名

使用刚才修改的密码进行登录

Read More

WordPress启用memcached动态缓存以及报错解决

Memcahced | Memcache

php有memcached和memcache两个类似组件,百度搜出来的文章,大部分是教你如何安装memcache(d),却步解释二者的区别。

memcache

是 pecl 扩展库版本,原生支持php,出现更早,是老前辈;

memcached

是 libmemcached 版本,出现较后,是新一代,因此也更加完善,推荐使用。

Ps:如果想更深入了解,可以搜索下 memcache vs memcached

其实,我们这种小网站的话,二选一即可,这点QPS还不至于纠结。不过一旦选择了,安装的时候就要注意区分,一对一配套安装,别搞的牛头不对马嘴,出现上面那位仁兄的困惑(后文有相关说明)。

这里,我果断选择了带d的,继续分享。

部署memcached

安装memcached

Ps:这里的memcached是指Mencached的服务端,用来处理缓存数据,名字也是容易混淆。

下面2种安装方式任选其一:

在线安装

# Centos直接使用yum安装即可,其他系统自行搜索安装命令,比如ubuntu
yum -y install memcached
# 启动memcached
service memcached start
# 开机启动
chkconfig memcached on

编译安装

相比在线安装,很多时候编译安装更加灵活,非常类似Windows平台的自定义安装或绿色安装,推荐熟悉 Linux 系统的朋友使用:

Read More

Nginx配置跨域请求 Access-Control-Allow-Origin *

问题描述

当出现403跨域错误的时候 No ‘Access-Control-Allow-Origin’ header is present on the requested resource,需要给Nginx服务器配置响应的header参数:

解决方案

只需要在Nginx的配置文件中配置以下参数:

location / {
    add_header Access-Control-Allow-Origin *;
    add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
    add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

    if ($request_method = 'OPTIONS') {
        return 204;
    }
}

上面配置代码即可解决问题了,不想深入研究的,看到这里就可以啦=-=

参数解释

Access-Control-Allow-Origin

服务器默认是不被允许跨域的。给Nginx服务器配置Access-Control-Allow-Origin *后,表示服务器可以接受所有的请求源(Origin),即接受所有跨域的请求。

Access-Control-Allow-Headers

是为了防止出现以下错误:

Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

这个错误表示当前请求Content-Type的值不被支持。其实是我们发起了”application/json”的类型请求导致的。这里涉及到一个概念:预检请求(preflight request),请看下面”预检请求”的介绍。

Access-Control-Allow-Methods

是为了防止出现以下错误:

Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

Read More

linux下测试磁盘的读写IO速度(IO物理测速)

hdparm命令

这是一个是用来获取ATA/IDE硬盘的参数的命令,是由早期Linux IDE驱动的开发和维护人员 Mark Lord开发编写的( hdparm has been written by Mark Lord mlord@pobox.com, the primary developer and maintainer of the (E)IDE driver for Linux, with suggestions from many netfolk).该命令应该也是仅用于Linux系统,对于UNIX系统,ATA/IDE硬盘用的可能比较少,一般大型的系统都是使用磁盘阵列的.

使用方法

# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads: 6676 MB in 2.00 seconds = 3340.18 MB/sec
Timing buffered disk reads: 218 MB in 3.11 seconds = 70.11 MB/sec

可以看到,2秒钟读取了6676MB的缓存,约合3340.18 MB/sec;
在3.11秒中读取了218MB磁盘(物理读),读取速度约合70.11 MB/sec

dd命令

这不是一个专业的测试工具,不过如果对于测试结果的要求不是很苛刻的话,平时可以使用来对磁盘的读写速度作一个简单的评估.
另外由于这是一个免费软件,基本上×NIX系统上都有安装,对于Oracle裸设备的复制迁移,dd工具一般都是首选.

首先了解两个特殊设备

/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO

测试方法

测试磁盘的IO写速度

time dd if=/dev/zero of=test.dbf bs=8k count=300000

如果要测试实际速度 还要在末尾加上 oflag=direct测到的才是真实的IO速度

测试磁盘的IO读速度

dd if=test.dbf bs=8k count=300000 of=/dev/null
#表示 每次写入/读取8k的数据,执行300000次

dd命令可以通用,但不够专业,也没有考虑到缓存和物理读的区分,测试的数据也是仅作参考,不能算是权威。

dd命令解释

dd if= of= bs= skip= seek= conv=

一定不要搞混 sourcetarget,不然数据会丢失。所以 dd 平时用着顺手就叫它 dd,但是不小心把数据弄没了就该哭着叫它 Data Destroyer 了。

Read More

Mac VSCode 禁用GPU加速

某些老型号mac或者黑苹果使用VSCode时非常卡顿,有可能是GPU加速造成的。
原理用新的脚本替换vscode执行程序

cd到VSCode执行程序所在目录

cd /Applications/Visual\ Studio\ Code.app/Contents/MacOS/

将Electron(VSCode可以行程序)重名了为Electron.real

mv Electron Electron.real

在该目录新建一个文件名为Electron文本文件(没有后缀),并将下面的内容粘贴到文件里

#!/bin/bash
cd "/Applications/Visual Studio Code.app/Contents/MacOS"
"/Applications/Visual Studio Code.app/Contents/MacOS/Electron.real" --disable-gpu

"$@"

为Electron添加执行权限

chmod -R a+x Electron

大功告成,现在直接打开vscode已经是禁用gpu了

//可已经将自己创建的Electron文件备份到其他目录
//vscode升级后只需要执行第二部将Electron(VSCode可以行程序)重名了为Electron.real
//然后在把备份的Electron复制到该目录即可

Read More