2017年5月

Windows10 使用 Magic Trackpad2 踩坑记

经历一个晚上的千辛万苦终于能用了,不过还有很多不完美的地方,感觉真是超级坑。

首先是配对,一开始我没有用线去配对,结果非常麻烦,需要我原来的 air 上面先移除这个设备,然后 windows 笔记本才能通过蓝牙搜索到这个设备,光这一点就折腾了好久。后来试了一下先用线连一下,然后就可以很方便地用蓝牙搜索到并且配对了,配对成功应该就能通过 Magic Trackpad 控制光标了。

然后就是装驱动,搜索 Boot Camp,目前为止最新的版本是 6.1,据说 6.0 之前的版本对 win10 的支持不是特别完美。

然后装 Magic Trackpad2 Control Panel,这个软件试用期是 28 天,能够实现两指的手势和轻按点击,ExtraMagic 则是能实现三指和四指的一些手势,这个软件的试用期貌似更短,只有一周。这两个软件在安装的时候我还遇到一个坑就是和蓝牙适配器的驱动不兼容,明明我已经成功配对而且能够操作光标了,但是这两个软件竟然提示 not paired,这个问题我也折腾好久,结果我把蓝牙的驱动给卸载了,用 win10 自带的驱动,结果就可以了。。。

这几天试了一下,Magic Trackpad2 Control Panel 可以实现的功能,ExtraMagic 也基本都可以实现,除了查看电量之外,所以基本可以只装 ExtraMagic 即可,而且 ExtraMagic 试用结束后也可以免费使用。

Windows 上用苹果的外设真是神坑,不过我用 Magic Trackpad 的主要原因是怕得严重鼠标手,之前把普通鼠标换成垂直人体工学鼠标后,手腕的感觉好多了,但是手指因为经常要操作滚轮,所以还是损伤很大,换成 trackpad 之后手指的伸缩要少很多。

lnmp 环境下 502 问题原因及解决方案整理

参考资料:

一般来说 502 可能的原因及解决方案如下:

php-fpm 未启动或不在运行

首先如果服务器上有多个版本的 php 的话,首先需要确认自己使用的是哪个版本。一般来说通过查看 nginx 配置文件中 fastcgi_pass 可以查看到监听对应 socket 或 端口的 fpm 是那个版本的。

然后 service php-fpm status 查看运行状态,注意对应版本的 fpm 的 service 名是不是 php-fpm 。

nginx 无法与 php-fpm 交互

这个一般是由于 nginx 配置文件中 fastcgi_pass 配置有问题造成的,查看 php-fpm 配置中 listen 项具体的值是否与 nginx 配置文件中的 fastcgi_pass 对应。

nginx 超时

nginx 超时一般与下面三个配置项有关:

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

在对应配置文件中修改这几个值即可。

php-fpm 超时

这个可以修改 php.ini 中的最大执行时间 max_execution_time 参数,或者在代码中使用 set_time_limit() 函数来改变时间限制。

还有就是 php-fpm.conf 中的 request_terminate_timeout 参数如果配置了的话也需要修改。

php 部分扩展存在问题

比如在 ubuntu 服务器上,imagick 经常会因为一些软件的更新引发 core dump,重启服务器后才会恢复正常,此时如果 phpinfo() 都会抛出 502 的话,很可能就是该原因导致的。

使用fiddler抓包安卓模拟器网络请求

我用的是夜神模拟器,其他常见模拟器的抓包方式应该相同。

首先打开 fiddler,在 tools > fiddler options > connentions 选项卡中查看代理端口号(默认是 8888)以及是否勾选 Allow remote computers to connect (需勾选才行)。

然后回到模拟器,在模拟器的设置中选择 wlan,选择修改网络,将代理改为手动,ip 填写电脑的本地网络 ip,可以通过 ipconfig 命令查看,有可能会有几个内网 ip 地址,可以都试一下,端口为 fiddler 配置的端口号。

配置完成后安卓模拟器内访问网络应该就能看到请求了

关于MySQL存储时间字段的类型相关总结

一般我们用 MySQL 来存储时间时会考虑使用 datetime、timestamp、int 几种类型。

int

用 int 类型的字段时,我们一般是存储 10 位数字的时间戳,也可以用 bigint 存储精确到毫秒的时间戳。

优势:无关乎时区;占用存储空间小,查询效率稍高
劣势:可读性差

在一些数据量很大,对性能要求较高的场景可以考虑使用。

datetime

datetime 类型在 MySQL 的不同版本直接有一定差异,

  • MySQL 5.6.4 支持存储微秒,详见 MySQL 5.6.4 ChangeLog
  • MySQL 5.6 支持默认值为 CURRENT_TIMESTAMPNOW()

优势:不存在 2038 年问题;可读性高;时间精度高;不对时区处理,原样存储
劣势:性能稍差一些,不过随着 MySQL 性能越来越高,这点劣势也逐渐不重要起来

timestamp

劣势:存在 2038 年问题;时区存储存在转换

不太推荐使用

性能比较

MySQL 5.4 MyISAM

MySQL 5.4 InnoDB

MySQL Date Format: What Datatype Should You Use? We Compare Datetime, Timestamp and INT

参考文档:

MySQL存储时间用int、timestamp还是datetime?