Fannnhao's blog

用技术和代码创造价值

PyQt程序界面无响应状态问题总结

常见问题当点击GUI页面控件运行程序时,容易导致程序界面出现无响应状态,甚至卡死状态,当程序运行完成,界面才能够恢复正常响应。 原因分析当我们启动GUI界面程序时,代码通过运行一个死循环的线程实现程序GUI界面的呈现(可称之为主GUI线程);当我们点击页面控件时,程序控件产生信号,发给槽函数执行,此时代码应该当生成子线程处理程序业务逻辑;当处理完成后,子线终止并销毁,主GUI线程仍保持不变(......

Python应用程序打包体积过大问题解决办法

主要原因python作为解释性语言,打包体积相较于编译型语言,打包程序体积大。如果需要追求程序体积小,程序运行速度快,只能用编译型语言解决。 问题引入实测在自己电脑python开发环境下打包,程序体积高达几百MB。为什么出现如此情况?12推测原因:python开发环境有很多其他第三模块包,不够干净,打包时同时将那些非必须第三包程序也打包进去。解决方案:使用python虚环境,只安装程序运行所......

PyQt编程工作子线程与GUI线程示例

基于PySide6下的Gui编程示例 工作子线程,接收信号后开始工作,run()写程序后台运行逻辑 GUI程序,死循环连接控件信号槽函数 12345678910111213141516171819202122232425262728293031323334353637383940import sysimport timefrom PySide6.QtWidgets import QMai......

异步IO(协程)应用

应用场景redis、Nginx、node.js、Tornado、Twisted这些使用IO多路复用技术的中间件或者框架:异步逻辑非常适合处理有Network IO且高并发的socket连接场景,因为这些场景往往需要等待IO。 应用举例利用Redis实现动态添加任务redis是一个具备极高性能的键值对非关系数据库。并发任务,通常是用生成消费模型,对队列的处理可以使用类似master-worke......

关于Python协程

问题引入CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件、发送网络数据时,就需要等待IO操作完成,才能继续进行下一步操作。这种情况称为同步IO。在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了。因为一个IO操作就阻塞了当前线程,导致其他代码无法执行,所以我们必须使用多线程或者多进程来并发执行代......

iptables表实际应用

问题引入问题1:Centos6.2计算机PC1,有两块网卡,eth2能够访问公网,ip为192.168.2.200,dns和网关192.168.2.254;eth1与路由器Wan口直连,eth1 IP为192.168.11.1/24。在eth1上启用DHCP或者PPPoE服务,路由器R1通过DHCP和PPPoE获取IP地址;如何在Centos下配置服务和iptables规则,使得连接R1路由......

iptables表规则

iptables表规则 链上规则的次序,即为检查的次序同类规则(访问同一应用),匹配范围小的放上面;不同类规则(访问不同应用),匹配到报文频率较大的放上面;将那些可由一条规则描述的多个规则合并为一个;设置的默认策略(policy); 规则规则由匹配条件和处理动作组成。匹配条件一般为协议、源地址、目的地址、源端口、目的端口;还有一些扩展条件,但需使用内核扩展模块。处理动作:一般有内置动作和自......

Centos7下部署Django Web项目

项目说明Python3开发的Django Web项目;部署方案采用nginx+uWSGI的方式进行部署; 部署方案(1)将项目tdplatform放置到/srv/ (2)uWSGI配置创建配置文件/srv/script/uwsgi.ini123456789101112131415161718192021222324252627[uwsgi]chdir = /srv/tdplatform/ws......

Samba服务配置文件详解

配置文件参数详解Samba的主配置文件为/etc/samba/smb.conf,主要由两部分构成 Global Settings (55-245行),该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。 Share Definitions (246-尾行),该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。 全局参数详解如下: 12345678......

Centos配置Samba服务

搭建Samba服务 安装服务组件1yum -y install samba samba-client samba-common 配置查看smb.conf配置文件帮助信息 1man smb.conf 编辑文件添加如下内容;配置数据存放路径 1234567[root@master ~]# vi /etc/samba/smb.conf[myshare] comment = files......