自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 收藏
  • 关注

原创 multiprocessing,threading与subprocess区别

解决了Python中的全局解释器锁(GIL)问题,使得多进程可以真正并行执行。用途:用于在Python程序中启动和控制外部进程,可以与其他程序进行交互。适用于需要与外部进程进行通信的场景,如运行shell命令、调用外部脚本等。用途:用于创建并发执行的进程,从而利用多核处理器的能力来加速程序的执行。用途:用于在一个进程内创建多个线程,线程共享进程的内存空间。线程的创建和管理开销较小,但在多核CPU上性能提升有限。可以创建多个独立的进程,每个进程都有自己的内存空间。可以捕获和处理外部进程的输入输出。

2024-08-16 21:32:58 297

原创 os.system()、os.popen()和subprocess的区别

这意味着,如果你的子进程是一个长时间运行的进程,那么 communicate() 会导致你的 Python 脚本一直等待下去,直到子进程完成。从上面实例可知,os.popen执行打开QQScLauncher.exe这个工具,但从实际执行结果看,QQScLauncher.exe还没打开,就直接进入了下一条语句,打印了"test"该命令会先创建一个管道,然后fork一个子进程,关闭管道的一端,执行exec,最后返回一个标准的io文件指针。优势: 可以捕获命令的输出,适用于需要处理命令输出的情况。

2024-08-16 18:50:08 811

转载 数据库死锁

在数据库的上下文中,死锁是指两个或多个事务无法进行的情况,因为每个事务都在等待另一个事务释放资源。如果事务A和事务B同时执行,并且时间安排是这样的,即事务A锁定订单表和事务在事务A有机会提交之前,锁定了Customers表,那么就会发生死锁。

2024-08-16 15:52:17 37

原创 postgres 逻辑复制

移除订阅时,需要保留复制槽。通常这个远端的复制槽是自动管理的,在CREATE SUBSCRIPTION时自动创建,在DROP SUBSCRIPTION时自动删除。这种情况下,您必须在远端手工创建复制槽后,才能在本地启用该订阅。移除订阅时,远端不可达。这种情况下,需要在删除订阅之前使用ALTER SUBSCRIPTION解除复制槽与订阅的关联。创建订阅时,所需的复制槽已经存在。创建订阅时,远端不可达或状态不明朗,则可以通过connect =每个活跃的订阅都会通过复制槽 从远程发布者接受变更。

2024-07-20 17:40:57 703

原创 postgres 的WAL日志膨胀的几种原因

原因是如果没有这种机制,主库执行UPDATE并VACUUM了,由于主库上已经不存在使用被更新元组的事务,VACUUM 会将这些元组清理掉,当 备库回放到 VACUUM 对应的日志时,检测到当前 VACUUM 清理的元组仍然被这个长时间的查询使用,则会阻塞备库的WAL日志应用,导致备库有很大的延迟。如果逻辑复制或物理复制停掉了,但一时半会还启动不起来,而主库的空间又要慢了,这时可以强制把复制槽给删除掉,注意删除掉逻辑复制的复制槽后,逻辑复制的同步就废弃了,后续的恢复需要做全量的数据恢复。

2024-07-19 23:53:17 1196

原创 阿里云 https证书部署

查看状态,已签发是完成了申请证书。我在nginx服务器上部署。在浏览器输入域名查看。

2024-07-19 15:42:43 614

原创 postgres 的dblink使用,远程连接数据库

另外需要注意是否在public下,不在public下,在public下运行会错误。第二个参数是要执行的SQL查询语句。AS子句用于指定返回结果的列名和数据类型。其中,第一个参数是dblink名字,也可以是连接字符串。长期连接注意需要关闭连接,本身不会自动关闭连接。

2024-07-10 23:43:56 397

原创 python3 连接postgres 返回列表 或字典

【代码】python3 连接postgres 返回列表 或字典。

2024-07-10 00:11:58 185

转载 Navicat连接postgresql 15 时出现‘datlastsysoid does not exist‘报错的问题

4、在文件中搜索“SELECT DISTINCT datlastsysoid”,并将其替换为“SELECT DISTINCT dattablespace”,5、将文件保存在原始位置。如果遇到任何安全问题,请将其另存为“.txt”文件,然后还原备份文件。2、备份libcc.dll文件,将其复制并粘贴为“libcc.dll.bak”或任何其他名称。6、重启navicat,可以发现,无论老和新版本的pgsql,都可以正常访问了。3、在任何十六进制编辑器中打开此文件,如果需要,您可以使用在线工具,例如。

2024-07-08 11:53:40 283 1

原创 web有哪些方式可以实时更新数据

使用场景:WebSocket更通用,适用于任何需要实时双向通信的应用。GraphQL订阅专注于数据订阅模型,适用于当数据发生变化时需要通知客户端的场景。数据结构和格式:WebSocket不关心数据格式,而GraphQL订阅使用GraphQL查询语言来精确定义客户端期望接收的数据的形状和类型。实现细节:WebSocket是一种底层的通信协议,而GraphQL订阅是一种在WebSocket(或其他传输层协议)之上实现的高级抽象。

2024-04-02 22:10:58 3244 1

原创 高频更新使用sse好还是WebSocket

如果你的应用只需要服务器向客户端推送数据,且更新频率不是极端高频(比如实时股票行情),那么SSE可能是一个更简单且有效的解决方案。如果需要双向通信,或者客户端也需要频繁向服务器发送数据(比如在线游戏、聊天应用),WebSocket将是更合适的选择。对于高频更新,两者都可以实现,但WebSocket可能在数据传输效率上更有优势,尤其是在需要双向通信的场景下。最终,选择哪种技术应基于你的具体需求、预期的用户体验以及开发和维护的复杂度。

2024-02-28 19:56:35 869 1

原创 html 菜单点击切换样式,菜单<a> 控制iframe

为了限制 iframe 的风险,HTML 提供了sandbox属性,允许设置嵌入的网页的权限,等同于提供了一个隔离层,即“沙箱”。allow-storage-access-by-user-activation:允许在用户激动的情况下,嵌入的网页通过 Storage Access API 访问父窗口的储存。importance:浏览器下载嵌入的网页的优先级,可以设置三个值。allow-downloads-without-user-activation:允许在没有用户激活的情况下,嵌入的网页启动下载。

2023-11-19 21:35:29 825 1

原创 windows pgsql 数据库 数据目录更改

修改完毕后,可以用psql命令“show data_directory”查看当前数据目录。将“-D”后的目录名修改为新的数据目录位置即可,如果目录路径中含有空格,需要用引号引起。将原来数据目录拷贝新的数据目录。

2023-11-19 20:12:50 689

原创 四.pyqt5 登录界面和功能

主界面为之前设计的界面 from123.py。点击登录后显示主界面。

2023-11-06 16:15:35 669

原创 qt creator QSplitter分割窗口

使用 QSplitter 分割窗口可以动态移动间隔。布局-》使用分裂器布局。

2023-11-06 15:49:00 157

原创 qt creator QLabel居中对齐

右下脚。

2023-11-06 15:36:24 240

原创 三.listview或tableviw显示

pyqt5

2023-09-08 20:53:21 616

原创 一.使用qt creator 设计显示GUI

一.安装qt creator。可以直接使用鼠标拖拽。

2023-09-08 20:26:37 544

原创 windows pgsql 数据库迁移

运行cmd,输入regedit打开注册表,修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-9.1。postgresql-x64-9.1 查看版本号。找到 postgres 服务停止。将数据库文件拷贝到要迁移的目录下。

2023-06-27 11:16:37 1035

原创 清华 chatglm 本地部署

requirements.txt 在安装的chatglm目录下。安装 pytorch。

2023-06-14 10:18:00 342

原创 cpython编译与运行

异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的。如这个笑话所说的,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix。同样的,dwarf 的性能要优于 sjlj ,可以它不支持 64位。操作:我只开发在 Windows 下运行的程序,所以选择了 win32。

2023-06-07 20:53:48 1094

原创 pyqt5 对话框

【代码】pyqt5 对话框。

2023-06-05 18:40:27 283

原创 二.实现右键触发菜单

【代码】pyqt5,使用qt creator 实现右键触发菜单。

2023-05-31 15:29:40 206

原创 transformers 的使用

repo_id含义为模型在huggingface的路径,allow_patterns为你想要下载的文件(因为repo_id目录下文件很多,你可以通过此参数下载自己想要的文件),local_dir含义为模型保存在本地的路径。在 抱抱脸 网址 上发布了很多已经训练好的模型,基本上大量的NLP模型都在,一开始是发布 transformers 的开源库,但后来连接了开发者和使用者。方法1:transformers.pipline。调用方法直接下载模型时,经常会下载很久甚至失败.Hugging Face官方教程。

2023-05-27 00:03:20 1952

原创 pip 安装 pytorch

最好先创建一个虚拟环境,因为如果在同一环境,升级某一个包可能会导致另一个包无法使用,比如 a的包是1.0,b的包是1.0依赖a的1.0,然后a升级为1.1,b可能无法使用。在不影响主机系统设置的情况下,在虚拟环境中安装软件包。首先需要配置 环境 需要安装 cuda。在虚拟环境下安装 pytorch。

2023-05-19 18:39:35 11229

原创 pgsql的主备数据库 standby数据库搭建

pg_basebackup 工具在 /home/postgres/bin目录下。

2023-05-16 19:27:50 696

原创 20230516我的创作纪念日

19年毕业,已经4年了,时间过得真快呀,还记得大学毕业刚开始做php,做web,那时候学习jq,bootstrap,做前端,那时候最得意的时大概是用js写了树状目录吧。java学得很多但做出来东西很少,所以后来就用python了,人生苦短选择python哈哈哈,本来中途也想学习安全,但想了想还是觉得创造更有意思哈哈哈。之后就换java工作了作为web后端,不过java我一直学不进去,大概因为太严格了吧,我个人以前使用php所以基础就不行,向上也不知道怎么向上。平时就敲敲代码,看看书,做一些有趣的项目。

2023-05-16 18:55:36 406

原创 1.4 深度神经网络 与 卷积神经网络分别实现图像识别 (TensorFlow )

【代码】1.4 深度神经网络 与 卷积神经网络分别实现图像识别 (TensorFlow )

2023-05-05 00:00:00 96

原创 1.3 什么是卷积与池化,卷积神经网络 (TensorFlow )

在池化,压缩图片信息但不丢失特征,使得计算更加迅速。先通过 滤波器来使图片的特征更加明显。

2023-05-03 01:41:37 171

原创 1.2 简单的神经网络 视觉识别(TensorFlow )

使用下载的 fashion_mnist做个简单的视觉识别 网络。

2023-05-03 01:02:04 126

原创 1.1 机器学习是什么(TensorFlow )

比起传统的代码,我们不需要公式来计算结果,这对复杂的模型结构很有帮助。因为有时候人们也不知道具体的公式。但机器学习则是给大量的输入结果和输出结果,让机器自己得出大概率公式,然后我们输入参数x,计算出y。一般计算的话,都是敲代码敲公式来计算结果,比如 y = 2x-1,当给入参数x,计算出y。

2023-04-29 23:37:51 144

原创 Anaconda3 安装 Tensorflow-gpu

GPU版本,需要提前下载 cuda 和 cuDNN。安装 Tensorflow-gpu 的2.10.0版本。可以查看 Tensorflow-gpu有哪些版本。GPU 一般是 nvidia 的。查看环境,可以看到环境已创建**

2023-04-27 20:32:09 1774

原创 Window10搭建GPU环境(CUDA、cuDNN)

然后把里面的三个文件夹里的文件(注意,是文件)复制到CUDA安装文件夹(就是上面的 CUDA Development 的那个安装路径下)的对应文件夹内。1 登录网站,注册账号,注册完成后才可以下载cuDNN。因为我是11.7所以我下载11.7的CUDA。1.右键点击会出现nvidia 控制面板。下图的 CUDA 版本是11.7。方法二,点击 NVIDIA的图标。根据不同系统,不同需求来下载。下载完后安装,都默认就ok了。安装完后,查看是否安装成功。到官网下载根据不同的版本。

2023-04-27 18:10:43 2310

原创 【社区图书馆】Fluent Python

Fluent Python》从语言设计实现层面给你一些解释,这本书会对这些细节剖析的很到位,还会告诉你一些不踩不能理解的坑儿的成因和解决办法。其他大部分书都是在告诉你「应该这么写,这样用就对了,这样代码性能更高…」,但是没人告诉你为什么?这是一本从初级python到中级python的书籍,能很好得过度到高级python开发。

2023-04-23 22:26:36 475

原创 python 的 object 与type的关系

目前看到的类型对象是一个半成品,有一部分成员属性是在解释器启动之后再进行动态完善的。PyBaseObject_Type 位于 Object/object.c 中,

2023-04-23 00:00:51 824

原创 pip 安装 TensorFlow以及在vscode使用

最好先创建一个虚拟环境,因为如果在同一环境,升级某一个包可能会导致另一个包无法使用,比如 a的包是1.0,b的包是1.0依赖a的1.0,然后a升级为1.1,b可能无法使用。在不影响主机系统设置的情况下,在虚拟环境中安装软件包。2.输入“解释器”,选择"python:选择解释器"1.按下"ctrl+shift+p"调出命令面板。假如 pip 安装速度慢,可以使用镜像安装。虚拟环境下安装 TensorFlow。

2023-04-14 23:56:11 1924

原创 Astro 显示“Network: use --host to expose”,无法访问

2、在 astro.config.mjs 文件中增加server选项配置,server中配置host内容。1、将package.json中的启动项中的dev和serve增加–host参数。因为 Astro 也使用 Vite技术。所以跟vue解决方法 差不多。

2023-04-05 23:33:16 549 1

原创 升级node.js

安装最后版本(注意操作系统,版本太新,操作系统太旧node可能运行不了)查看当前版本node -v,下面表示已切换成功。安装指定版本(8.11.3)切换nodejs版本。

2023-04-05 21:35:08 181

原创 centos7 安装node.js

一.使用 ln -s 命令,原理跟windows 快捷键差不多。方法二:通过wget下载到本地目录(推荐)方法一:下载到本地后上传到服务器。wget 使用http下载。建立全局变量(两种方式)

2023-04-05 21:20:43 1925

转载 centos7 查找隐藏文件(图形界面)

centos怎么显示隐藏文件

2023-04-05 21:11:33 788

vnc服务端,连接linux

vnc服务端,连接linux

2023-04-02

winhex,查看文件二进制

winhex,查看文件二进制

2023-04-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除