PC客户端技术方案分析

不同PC客户端技术方案的比较

Qt

官网:https://www.qt.io/

Qt具有跨平台的特性,可选择QWidget、QQuick。整个包比较大。虽然可以根据实际情况去掉一部分动态库和文件,还是比较大。

CEF(Chromium Embedded Framework)

官网:https://bitbucket.org/chromiumembedded/cef/src/master/

是一个基于Google Chromium 的开源项目。Google Chromium项目主要是为Google Chrome应用开发的,而CEF的目标则是为第三方应用提供可嵌入浏览器支持。CEF隔离底层Chromium和Blink的复杂代码,并提供一套产品级稳定的API,发布跟踪具体Chromium版本的分支,以及二进制包。
通过封装接口, 然后由chromium回调到自己的程序, 驱动整个程序运行。

个人认为选择CEF的主要原因有以下几点:

Read More

Connection reset by peer) while reading response header from upstream

问题:Connection reset by peer) while reading response header from upstream

描述:

某些请求一直返回502 Bad Gateway的错误,查看服务端的error日志,显示Connection reset by peer。当时的场景是一个每隔一分钟的定时脚本
每次运行时,获取需要处理的数据,同步请求某个服务端接口进行文件上传。猜测是这个接口请求响应很慢,一分钟后又再次请求同样的接口而出现问题。

处理:

修改接口对应的逻辑,让这个接口能快速响应;此问题消失。查阅资料,Nginx的响应有几个参数设置:

  • keepalive_timeout:设置客户端的长连接超时时间,如果超过这个时间客户端没有发起请求,则Nginx服务器会主动关闭长连接。
  • keepalive_requests:设置与客户端的建立的一个长连接可以处理的最大请求次数,如果超过这个值,则Nginx会主动关闭该长连接。
Read More

Linux常用命令

grep常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 查找进程中所有跟nginx匹配的
ps -ef | grep nginx

# 查看进程数
ps -ef | grep nginx -c


# 搜索某个文件夹下,哪些文件包含关键字
grep -r "关键字" 文件夹

# 根据字符串搜索
grep “被查找的字符串” 文件名

# 根据正则搜索
grep –e “正则表达式” 文件名

# 搜索不区分大小写
grep –i “被查找的字符串” 文件名

# 显示搜索出来的信息所在的行数
grep -c “被查找的字符串” 文件名



find常用命令

1
2
3
4
5
6
7
8
9
10
11
# 查看当前目录下所有php文件
find . "*.php"
find . -name "*.php"

# 查找当前目录下,最近120分钟修改过的文件
find . -mmin -120

# 查看当前目录下,是否有名字叫“通讯录”的文件夹,-type:表示设定类型,d表示文件夹类型,可以替换为f(普通文件)、l(链接文件)
find . -type d -name 通讯录