【Linux】线程实例 | 简单线程池
今天来写一个简单版本的线程池 1.啥是线程池池塘,顾名思义,线程池就是一个有很多线程的容器。 我们只需要把任务交到这个线程的池子里面,其就能帮我们多线程执行任务,计算出结果。 与阻塞队列不同的是,线程池中内有一个队列用于任务管理,并帮我们封装了线程创建的工作。我们不再需要在主执行流里面创建线程(创建线程也是有时间消耗的),而是只关注于任务的创建,交给线程池来运行并产生结果就OK了 前面已经学习过阻塞队列了,此时再来写线程池,就没有那么困难了! 本次线程池的设计还会采用单例模式,同一个模板类型的任务,只需要一个线程池即可 1.1 简单复习单例模式单例模式分为两种设计方式,一个是懒汉,一个是饿 ...
【Python】生成本项目的requeirments.txt
有的时候,我们需要对自己写的项目生成一个requeirments.txt,方便其他使用者快速安装依赖项 参考https://www.cnblogs.com/shun7man/p/14080921.html 1.使用pip如果你的项目本身就是在venv虚拟环境下跑的,那么可以直接用下面的语句生成一个依赖项文件 1pip freeze > requirements.txt 但如果你和我一样,没有使用虚拟环境,而是用全局的包的话,那就会出现上图的情况,生成的txt文件里面出现了太多本项目没有用到的包,那你让别人安装那么多没有用的包,岂不是坑人嘛! 所以可以用另外一个项目来解决这个问 ...
【Linux】tar命令打包 | 查看压缩文件 | 打包时忽略文件
tar命令打包 | 查看压缩文件 | 打包时忽略文件 等操作 1.起因今天下午写阿狸bot的代码的时候,写错了aiofiles的保存操作 12345678# 正确写法async def write_file_aio(path:str, value): async with aiofiles.open(path, 'w', encoding='utf-8') as f: await f.write(json.dumps(value, indent=2, sort_keys=True,ensure_ascii=False)) ...
【Python】request.session的cookie如何导入aiohttp._cookie_jar
request.session的cookie导入aiohttp._cookie_jar的教程 1.起因我的 kook-valorant-bot 使用了两个开源库,用于riot账户的登录并获取token 其中最主要用的是基于aiohttp的floxay/python-riot-auth,但这个仓库不支持2fa用户(开启了邮箱双重验证的用户)作者去年就说会写上,但是他比较忙没有排期; 于是我又去找了一个另外一个基于request的Prodzify/Riot-auth 支持2fa登录的,半月前已经给bot加上了这个缺失半年的功能。 可是 Prodzify/Rio ...
【Python】request库InsecureRequestWarning的原因
今天在测试我自己写的api的时候,发现了之前出现的一个warning的真正原因 1.起因先来看请求api的代码 1234567def ApiRq(account:str,passwd:str,background=''): url = "https://val.musnow.top/shop-url" params = { # 参数涉及到隐私,省略 } res = requests.get(url,params=params,verify=False) # 请求api return res. ...
【Python】如何多文件编写KOOK机器人
如何多文件编写KOOK机器人
【Artalk】在wiki js站点上使用Artalk评论系统
本篇博客将教您如何在wiki js站点上使用artalk评论系统 [TOC] 1.介绍1.1 wiki js https://github.com/requarks/wiki/ wiki js是一个开源的wiki站点,可以在线编辑页面。 页面以markdown编辑,同时支持富文本格式;因为其用git来管理提交历史,且在线编辑不需要用户知道如何操作git,所以非常适合多人协作撰写文档 如果你只是想要一个博客站点,没有多人协作需求,那么hexo会更合适您 共享文档(如金山文档)的提交历史大多数都不够详细,虽然有插入/删除历史,但是其没有标明上下文,你需要猜他是在文档的啥地方改了东西,非常 ...
【Python】如何给你的kook机器人添加上翻译功能
如何给你的kook机器人添加上翻译功能
【Linux】线程概念 | 同步
除了线程互斥,我们还有线程同步,来康康吧 [TOC] 1.为什么需要同步在部分条件下,互斥是正确的,但是不合理。比如食堂打饭的时候,食堂阿姨一次只能给一个人打饭,于是就选择通过竞争来获得打饭的权利。此时就会出现有些线程因为优先级过低或者CPU调度问题,一直打不到饭,于是就出现了饥饿问题。 这是因为我们对多线程访问同一个资源没有进行限制,全靠CPU调度来决定运行顺序;所以我们需要对线程进行一定的控制,这就是线程同步的概念 饥饿问题:某一个线程一直无法申请到某种资源(比如因为优先级过低) 同步:保证数据安全(临界资源访问)的前提下,让线程根据一定条件和顺序访问临界资源,从而避免饥饿问题 竞态 ...
【图床】博客表情包
这里是博客中可以用到的表情包列表,一并上传,避免多次上传占用阿里云空间; 大家觉得不错的可以保存下来😁但是不要恶意使用! 表情包