glReadPixels 报错:
glGetError() 返回 GL_INVALID_OPERATION(1282, 0x0502)
原因是 Multisample storage 的 framebuffer 无法被读取。所以,应该先 blit 到非 Multisample 的 fbo 之后再读取。
见:https://www.khronos.org/opengl/wiki/GL_EXT_framebuffer_multisample
glReadPixels 报错:
glGetError() 返回 GL_INVALID_OPERATION(1282, 0x0502)
原因是 Multisample storage 的 framebuffer 无法被读取。所以,应该先 blit 到非 Multisample 的 fbo 之后再读取。
见:https://www.khronos.org/opengl/wiki/GL_EXT_framebuffer_multisample
用此方法修改,不需要重启系统,重新登录 ssh 即可。
sudo vim /etc/sysconfig/network hostname NEWNAME
# sudo tmutil listlocalsnapshots /
com.apple.TimeMachine.2019-01-17-191904
com.apple.TimeMachine.2019-01-18-134752
com.apple.TimeMachine.2019-01-18-141455
com.apple.TimeMachine.2019-01-18-143636
# tmutil deletelocalsnapshots 2019-01-18-143636
用第二条命令把列表中的一个一个删除。
禁用 Mac TimeMachine 本地 snapshots:
# sudo tmutil disable local
做一下记录。
做了一个可靠传输层,优点是层次分明,缺点是当丢包时价格更新不及时。可以优化成只重传不排序,Aggregator 区分是否是最新包,不是最新包则不更新最新价。
对外提供推和拉接口,两种都有适用场景,不能只提供一种。Query Server 采用 HTTP 协议,Push Server 可以用 WebSocket 协议。
把图改成 stack 形式。
如果你理所当然地认为在 PHP 中获取周一,上周一,上个月,下个月这些时间能简单地用 strtotime() 函数来获取的话,那你就大错特错了!
$now = strtotime('2018-01-31'); echo date('Y-m-d', strtotime('+1 month', $now)) . "\n";
输出的结果是:
2018-03-03
并不是期望的返回2月份的某一天,而返回了错误的3月份。为什么呢?这和 strtotime() 的实现原理有关:
类似的,星期相关的代码也有问题。
$now = strtotime('2018-05-20'); // 这一天是周日 echo date('Y-m-d', strtotime('this monday', $now)) . "\n"; echo date('Y-m-d', strtotime('+0 monday', $now)) . "\n";
输出的结果是:
2018-05-21 2018-05-21
+0 monday 和 +1 monday 的结果是一样的,并不能将这种格式理解为本周一和下周一(见评论),特别容易出错的是,你可能会错误地认为 +1 monday 是下周一,但事实不是。要得到下周N,或者下下周N,需要先求出本周一。本周一的求法如下:
$now = strtotime('2018-05-20'); $time = $now - 86400 * (date('N', $now) - 1); echo date('Y-m-d', $time) . "\n"; // 2018-05-14
然后再用本周一加减N个7天,得出前后的周一,之后再根据周一求周N。还有,"+n monday" 和 "-n monday" 的结果和期望不同,其处理逻辑不一致。结合评论,+n xxx 是从当天(含)开始找,-n xxx 是从前一天开始找, +-0 按 +1 处理。
一句话总结:PHP strtotime() 求上周,下周,上个月,下个月等,不能简单处理,需要特殊处理,都需要先求出本周一或者本周一号,再手动处理,而且星期的处理应该在求出本周一之后用时间戳整数运算。
给Nginx设置默认主机,让所有没有明确设置的Host的访问,都落到特定的配置下。
1. 生成证书
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl.key -out /etc/nginx/ssl.crt
2. 配置Nginx
server { listen 80 default_server; listen 443 default_server; server_name _; ssl_certificate /etc/nginx/ssl.crt; ssl_certificate_key /etc/nginx/ssl.key; return 200; }