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
Nginx反向代理的转发规则是怎么处理的? 介绍Nginx是一个高性能的HTTP和反向代理web服务器.因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名 详细总所周知,Nginx可以通过修改配置文件以开启反向代理。但是具体的转发规则是怎么实现的呢?Nginx配置文件 1234567891011server { listen 80; server_name 127.0.0.1; 2020-12-26
Python的蓝图是什么? 介绍Flask是一个轻量级的python web框架,相对于django,flask只需要很简单的几行代码就可以跑起一个小型的web后台。但是当flask项目开始慢慢扩大的时候,就会出现代码过于混乱,不好管理等现象。此时就需要用到flask的蓝图功能 详细如果用过django就很容易理解蓝图功能可以把蓝图比喻成一个app,假如需要写一个论坛,论坛会包含很多的模块。比如:用户管理、文章管理等。 为了 2020-12-24
Python的装饰器详解 介绍Python的装饰器绝对算得上是一个十分有用的功能,可以极大的提高效率并减少代码量. 详细介绍要使用装饰器,首先需要了解python的函数。在python里,一切皆为函数。这里我们定义一个函数’start’ 123def start(): print('hi') return "I am return" 此时我们有三种方式调用这个函数 123 2020-12-21