- 博客(14)
- 收藏
- 关注
原创 记一次服务间调用死锁
某个服务X调用了P/push,P接着调用S/push_from_p,S接着调用P/user_name,但是这次请求会一直pending,因为P唯一的线程被X调用P/push给占用,直到过了5秒,P调用S/push_from_p超时,然后P/push返回失败的结果,释放了线程,然后线程分配给了P/user_name请求,虽然客户端单方面报错接口超时,但是服务端仍然会继续请求执行,所以S把查到的user_name入库。S有接口 /push_from_p,输入id,请求P的/user_name后入库。
2024-07-06 09:00:00 392
原创 python 远程调试 pydevd pycharm
pdb调试远程服务器或者容器中的python程序非常的不方便,下面介绍一下怎么使用pycharm调试远程程序。
2024-06-20 14:18:24 634
原创 conda激活环境的原理
我简单总结下,shell里的conda命令主要作用是转发给python conda,因为activate|deactivate需要对当前shell回话进行导入导出变量,而python中只能修改调用的子shell的环境,所以不能代理activate|deactivate这两个命令。因为,这个命令会修改shell初始化过程,会powershell的autorun注册表,会修改.bathrc或者.zshrc,所以会让我感觉环境“不干净”了。最底层的激活方式是,先生成激活脚本,在执行激活脚本。
2024-05-09 13:55:35 621
原创 这一次完全记住二分查找的各种情况,永远不会忘
二分查找很简单,但是由于限定条件多种多样,不止是返回任一等于目标值的坐标,还有第一个等于最后一个等于第一个大于等于最后一个小于等于等等情况,导致二分查找很复杂,我们经常不知道应该返回左指针还是右指针返回当反条件时需要移动的指针,下面进行详细解释先写一个第一个大于等于代码最后一个相当于最后一个小于等于,反条件是大于,当时,需要移动right,所以结果就是right最后还要判断一下是否相等,不相等说明不存在等于的left = 0else:# 反条件时移动right。
2024-02-24 22:30:25 262
原创 python requests 发送多文件
发送多文件推荐使用的files格式举个例子二、fileobj就像上面例子里的一样,可以是open的fp,也可以是读取好的二进制bytes如果用fp.read的话最好,即使文本文件也二进制读如果服务器是flask,就会有如下结果参考文章python的requests发送/上传多个文件...
2022-07-02 23:01:14 1512
原创 Mac简单的上手指南
这周入职新公司,办公电脑是mac,之前一直没有用过,同事感到惊讶,说mac是生产力神器,但从大写锁定键切换中英文输入开始,给我的感觉就只有别扭。随着接触了一些mac独特的东西之后,逐渐对她爱不释手,强大的触控板,与Linux类似的终端,包管理器brew,这些都是在windows上没有的体验。我领到的是一个 Intel 的 MacBook Pro,使用已经有一周了,写一些我的使用经验,希望对你有帮助。下面贴两个教程,一个是B站UP主做的快速入门教程,看了有很多收获;另一个是官方的使用手册,比较全面。参考教程官
2022-06-19 23:02:36 1557
原创 重新认识Python装饰器
重新认识Python装饰器前言装饰器是什么重新认识装饰器应用语法与语义后记前言面试被问到解释一下装饰器的问题时, 我都会回答到, “装饰器就是一个输入函数返回函数的函数(可调用对象)”. 当然这也是大家经常看到的解释. 直到遇到一个面试官接着问了一句, “装饰器一定要返回函数吗?”, 本文也就是从这个问题开始的.装饰器是什么我们可以查阅官方文档装饰器 | 函数定义 | 类定义, 可以发现装饰器大概也就是我前言里的一句话, “装饰器就是一个输入函数返回函数的函数”, 类也可以用装饰器, 无非就是换个词
2022-03-09 16:11:47 216
原创 深入理解Python函数中的self
深入理解Python函数中的self理解一等公民: 函数模拟实例组装后记其实应该换个题目: 为什么类定义方法有self但实例调用方法没有self?理解一等公民: 函数在Python中一切皆对象, 类是对象, type是对象, 当然函数(方法)也是对象. 对象都有地址, 用id(对象)获得, 判断变量所指对象是不是同一个, 用表达式id(变量1)==id(变量2)判断.看网上博客经常说, “在实例调用方法时, Python解释器内部把self替换成实例本身了”. 我们试着用函数是一等公民的思想来理解这
2022-02-21 14:13:05 704
原创 一网打尽 命名空间 | 作用域 | 闭包 | global | nonlocal | globals | locals
一网打尽 命名空间 | 作用域 | 闭包 | global | nonlocal | globals | locals基础概念命名空间作用域闭包globalnonlocalglobalslocalsdir([object])深入理解为什么命名空间三个作用域却四个?闭包被返回时, 外层函数命名空间已经销毁, 为什么之后还可以使用?谁可以产生作用域?如何理解修改built-in域?后记基础概念命名空间名称到对象的映射,python中大多数用字典实现built-in,内建global,全局local
2022-02-17 20:59:05 492
原创 将flask应用注册为windows服务
将flask应用注册为windows服务将flask应用注册为windows服务前言步骤安装依赖使用pywin32编写服务一个简单的测试flask应用`flask gevent`服务模板添加环境变量安装和使用将flask应用注册为windows服务前言首先python应用注册为windows服务一般都要使用pywin32包,然后我在网上搜索了好多方法,试图将flask注册为服务,但是都以失败告终。最终在一篇文章中得知,flask内置的方法Flask.run不适合当服务器,flask的文档中也说了,F
2022-02-11 17:07:43 2352 1
原创 万一宇宙不走生命周期?
万一宇宙不走生命周期?在跟一个后辈解释python对象中的销毁函数__del__时说,它相当于一个对象被垃圾回收gc时的一个回调函数,于是我给了他一个例子class Foo: def __del__(self): print('del')f = Foo()f = 1 # 当执行这一句时,f会被gc,从而执行__del__,打印del但__del__并不能保证执行,例如当你程序启动后,直接在进程里kill了;或者你启动了python交互式shell,然后点了右上角的叉,直接
2022-02-09 02:56:26 113
原创 review以前代码时找到了一个有意思的叫chinese_programming_test.py
放出来让大家乐呵一下# chinese_programming_test.py绝对值 = abs布尔 = bool字符 = chr字典 = dict列举 = enumerate浮点数 = float格式化 = format哈希 = hash地址 = id输入 = input整数 = int长度 = len列表 = list映射 = map最大值 = max最小值 = min下一个 = next打开 = open幂 = pow打印 = print范围 = range
2022-02-03 09:57:24 844
原创 注册表添加用Typora右键打开文件夹失败的解决方法
注册表添加用Typora右键打开文件夹失败的解决方法介绍on folderin folder原因查找解决方法介绍用程序打开文件夹分两种,针对两种方式,网上都有注册表的添加方法on folder在文件夹上,先左键点击文件夹选中,再右键点击文件夹注册表中创建项HKEY_CLASSES_ROOT\Folder\shell\Typora,设置默认值用 Typora 打开,在项中添加字符串值,名为icon,值为程序路径,例如我的是"C:\Users\39585\AppData\Local\Programs
2022-01-31 11:06:03 2019
原创 解决Python中ZipFile解压文件名中文乱码的问题
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-01-30 15:23:50 17880 22
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人