Python异步RabbitMQ库aio_pika无法连接的问题解析 前言在RabbitMQ创建了一个名为’/test’的Virtual Host. 在使用pika库进行连接的时候可以正常连接上,但当使用aio_pika库的时候,总是连不上。 代码12345678910credentials = pika.PlainCredentials('user', 'password')connection = pika.Bl 2022-06-10
Sanic的类视图函数应该如何写装饰器? 前言 为了更好的创建一个 web API,在编码时遵循“一次且仅一次”的原则很有必要的,而使用装饰器则是遵循这些原则的最好方式之一,您可以将特定的逻辑进行封装,灵活的在各种响应函数上复用。在Sanic的官方文档中,只提到了在普通视图函数上使用装饰器的方法。但在更多情况下,后端都是类视图函数的结构。本文将会介绍如何在类视图函数中使用装饰器。 开始12345678class AccessLog: 2022-05-21
在M1实现Python调用GO动态链接库 前言众所周知,Python作为一门解释性语言,在面对CPU密集型任务时的运行效率一直收到诟病。而Go语言在同样任务的情况下,效率甚至可以达到Python的几十倍。但Python的开发效率是比Go高的,那么有没有一种方法可以结合Python的开发效率和Go的运行效率呢?有,那就是用Python调用Go的动态链接库。 开始首先我们先编写Go的代码以斐波那契数列为例 123456789101112131 2022-05-19
Python异步Asyncio的使用及websocket的实现 Asyncio是什么?asyncio是Python的一个标准库,通过该模块,可以在Python实现异步编程和协程。 为什么要用协程?程序执行过程中,线程的切换需要频繁的保存、加载上下文,产生消耗。而协程的切换是由程序主动切换的,相对的消耗较小。 如何使用协程?12345678import asyncioasync def main(): print('Hello ...' 2022-05-16
yarn安装vue/cli后无法在命令行通过vue执行命令的解决方法 前言根据vue官方文档,可以通过以下命令安装vue脚手架 1yarn global add @vue/cli 但是在安装好后,不能通过vue执行命令 解决检查安装时的用户是否为root1.删除此前安装的vue 1yarn global remove @vue/cli 2.用超级用户重新安装 1sudo yarn global add @vue/cli 3.执行命令启动 1vue Ref1.Com 2022-03-12
Ubuntu上基Docker的Adguard Home自建DNS系统搭建 前言随着DNS污染、速度慢,广告多等情况日益严重,自建DNS服务成了越来越多人的选择。本项目利用Docker搭建,主要是考虑到搭建便利,更新成本低。在搭建完成后,可以针对广告、成人内容等进行屏蔽,提升上网冲浪体验。 安装 Adguard Home12345docker run --name adguardhome\ --restart unless-stopped\ -p 53:53/tcp -p 2021-12-12
Nginx转发nextcloud请求 导致nextcloud客户端无法正常访问 前言nextcloud是一款较为流行的私有云解决方案,近期在搭建nextcloud的时候发现 网页可以正常访问,但是客户端无法访问。 经过研究,发现了问题的所在并找到了解决方法 开始为了提高安全性,nextcloud的配置中有一项内容”信任域名”(trusted_domains). 在config/config.php中可以看到。只有通过信任域名配置中的域名访问nextcloud,请求才 2021-08-01
Frp使用教程 frp是什么?frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 由于ipv4地址有限,并不是所有家庭用户都能分配到一个公网的ipv4地址,即使有一个公网地址,仍然无法使用像80\443这类的端口。这时我们就可以考虑使用frp。 frp由两部分组成,frps(服务端) 2021-08-01
Python 多线程以及四种常见的锁 基本使用介绍 前言由于GIL的限制,python的多线程实际上只用到了cpu的单核。在计算密集型的程序中,python的多线程对提升效率的影响并不大。但在I/O密集型的程序中,python的多线程便能极大的提高运行效率 一个简单的多线程程序12345678910111213141516import threadingdef output(value): for i in range(5): 2021-05-30
从零开始搭一个树莓派 介绍新入了一个树莓派4b,开始了漫长的配置过程。记录一下,以便以后可以参考。配置是树莓派4b, 西部数据的2t移动硬盘。硬盘直接通过usb口连接树莓派,可以用fdisk格式化硬盘。 系统选择在操作系统上,我选择的是 Ubuntu的20.04(LTS), 原因是因为ubuntu对树莓派的支持比较好,而且更习惯用ubuntu. 更换apt源ubuntu默认的源可以会出现下载缓慢的情况,我们可以更换ub 2021-04-17